Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fumiyas/wcwidth-cjk
Run command with CJK-friendly wcwidth(3) to fix ambiguous width chars
https://github.com/fumiyas/wcwidth-cjk
locale-eaw preload-library terminal unicode wcwidth
Last synced: 3 months ago
JSON representation
Run command with CJK-friendly wcwidth(3) to fix ambiguous width chars
- Host: GitHub
- URL: https://github.com/fumiyas/wcwidth-cjk
- Owner: fumiyas
- Created: 2013-06-05T09:47:46.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2021-04-07T01:55:36.000Z (almost 4 years ago)
- Last Synced: 2024-08-04T09:01:06.270Z (7 months ago)
- Topics: locale-eaw, preload-library, terminal, unicode, wcwidth
- Language: C
- Size: 31.3 KB
- Stars: 56
- Watchers: 7
- Forks: 9
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
Run command with CJK-friendly wcwidth(3) to fix ambiguous width chars
======================================================================* Copyright (c) 2013-2019 SATOH Fumiyasu @ OSS Technology Corp., Japan
* License: BSD-like (2-clause, see wcwidth.c)
* URL:
* Twitter:What's this?
---------------------------------------------------------------------This is a `$LD_PRELOAD`-able library and a wrapper script to
run a command with CJK-friendly `wcwidth`(3) implementation for
fixing "East Asian Ambiguous Width Characters" problem.日本語 (In Japanese): 「East Asian Ambiguous Width chars 問題」を
解決するための `$LD_PRELOAD` 可能な共有ライブラリーとラッパー
スクリプトです。「α」などの「East Asian Ambiguous Width chars」の
表示や編集で問題が発生するコマンドをこの実装下で起動すると、
システム標準の `wcwidth`(3) が置き換えられ、問題を解消できます。How to build
---------------------------------------------------------------------Required packages: autoconf, automake, libtool, make, cc (gcc or misc)
$ sh autogen.sh
$ ./configure --prefix=/usr/local
$ make
$ sudo make installUsage
---------------------------------------------------------------------Run a command with `$LD_PRELOAD`-able library:
$ export LD_PRELOAD=/usr/local/lib/wcwidth-cjk.so
$ exec zsh -l
...or:
$ eval `/usr/local/bin/wcwidth-cjk --sh-init`
$ exec zsh -l
...Run a command via wrapper script:
$ /usr/local/bin/wcwidth Ab漢α¥
1 00 00 00 41 A
1 00 00 00 62 b
2 00 00 6F 22 漢
1 00 00 03 B1 α
1 00 00 00 A5 ¥
$ /usr/local/bin/wcwidth-cjk /usr/local/bin/wcwidth Ab漢α¥
1 00 00 00 41 A
1 00 00 00 62 b
2 00 00 6F 22 漢
2 00 00 03 B1 α
1 00 00 00 A5 ¥
$ exec /usr/local/bin/wcwidth-cjk zsh -l
...References
---------------------------------------------------------------------* East Asian Ambiguous Width chars problem
+ http://sourceware.org/bugzilla/show_bug.cgi?id=4335
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=471021
+ http://d.hatena.ne.jp/vmi/20090523/p1
+ http://d.hatena.ne.jp/vmi/20090524/p1
+ http://d.hatena.ne.jp/vmi/20090526/p1
+ http://d.hatena.ne.jp/vmi/20090604/p1
+ http://ta.ps.st/d/1331733974.html
+ http://vdr.jp/d/20070326.html
* CJK-friendly `wcwidth`(3) (`wcwidth_cjk()` in `wcwidth.c`):
+ http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
+ ftp://ftp.mutt.org/mutt/devel/
+ http://www.emaillab.org/mutt/download1521.html
+ https://twitter.com/ttkzw/status/341958235814768640
+ https://twitter.com/ttkzw/status/341954474333581313
+ https://twitter.com/ttkzw/status/341960339300159488
* hamano/locale-eaw: East Asian Ambiguous Width問題の修正ロケール
* https://github.com/hamano/locale-eaw
* Emoji - Wikipedia, the free encyclopedia
* https://en.wikipedia.org/wiki/Emoji
* uwabami/locale-eaw-emoji: UAX#11 Ambiguous と UTR #51 Emoiji を全角とする修正 locale
* https://github.com/uwabami/locale-eaw-emoji