Homebrew でインストールできる tmux は文字幅判定の方法をいくつか持っています。
その中に utf8proc というソフトウェアに任せる、という方法があります。
しかし、その utf8proc は East Asian Ambiguous の幅を固定で 1 にするよう実装していました。
なので、自分用に patch を当てた formula を作ったりして対応していました。
ですが、utf8proc 2.3 から East Asian Ambiguous を 2 と判定する用になりました。
とりあえず自分が使っている patched 2.8 な tmux では問題無さそうなので公式の utf8proc を使うようにします。
蛇足
本当は LC_CTYPE を見て動的に判定する、という実装が理想っぽいですが流石にそこまではしてもらえないようです。
2019/06/03
2019/01/23
EastAsianAmbiguous の幅を2に固定した utf8proc のバージョンを 2.2.0 に上げた
さて、今私が使っている tmux は
- panel 分割時の線を border にする
- East Asian Ambiguous の幅を2に(using utf8proc)
ようにしています。
border-ascii のパッチは tmux のバージョンアップに沿って定期的に当てています。
が、 utf8proc 側の更新は何気に初ですね。
How to version up
brew で tap 済みなら
- $ brew upgrade
で終わりです。丁寧に再インストールするのなら
- $ brew uninstall utf8proc
- $ brew install atton/customs/utf8proc
でしょうか。便利。
脱線: 楽をするための苦労の話
brew で install できるようにするまでで一番面倒だったのが環境構築。
なのですが、関連ファイルの生成は結構面倒。
www.unicode.org から Unicode の定義ファイルを落としてきてスクリプトで処理とかしているので。
www.unicode.org から Unicode の定義ファイルを落としてきてスクリプトで処理とかしているので。
スクリプトには ruby とか julia とか使われてるので微妙に mac の上に作るのはダルい。
今回は docker で fedora 28 の上に使い捨ての環境を作って解決。
今回は docker で fedora 28 の上に使い捨ての環境を作って解決。
fedora 29 だと julia が新しすぎてダメとか、CentOS7 にはデフォルトで julia が無かったりとか、寄り道はいろいろ。
最終的には fedora 28 の上に call-by-need で環境を作って patch を cherry-pick して make update をかけて終了。
brew の formula 回りは tmux で何度も触ってるので特筆すべきことは発生せず。
途中であった謎現象としては www.unicode.org 自体が落っこちていて make update が上手くくいかない事がありました。
何度も make してスパム判定されたとかなのかもしれない。
何度も make してスパム判定されたとかなのかもしれない。
登録:
投稿 (Atom)