環境
- macOS Sierra 10.12.4
- Homebrew 1.1.12-40-g02f018933
- Homebrew/homebrew-core (git revision 5559; last commit 2017-04-15)
- tmux 2.3 (正確には 2.3リリース以降の 640666fb36d7465b188f9d0bedc83ad60b83a1d7)
- utf8proc 2.1
- フォントは Ricty
状況
tmux を使っていると ─(U+2500) や▽(U+25bd) な文字の幅が半角扱いになってしまい、表示がおかしくなる時があります。
例えば、画面を縦2つに分割すると
のように線が何故か二本表示されたり、記号の表示が変になってしまいます。
これは分割に使用されている文字(─)の幅の扱いを tmux が勘違いしているために起こる問題です。
─ といった記号は EastAsianAmbiguous といった種類に区分され、言語圏によって文字幅が違います。
例えば英語圏では基本的に使う文字幅は1なので ─ の幅は1ですが、日本語圏では全角が基本なので文字幅は2となります。
解決法
これは Terminal の設定と locale の設定とフォントに依存するので解決方法はいくつかあります。
今回は
- Terminal は EastAsianAmbigous を Full-Width にしている
- フォントは日本語フォント( EastAsianAmbiguous は幅2)
- locale には依存しない (en_US.UTF-8 でも ja_JP.UTF-8 でもOK)
の時を想定しています。
あと、画面分割に使う文字を ascii にしています。
インストール方法
formula にしてあるので
でインストールできます。- $ brew tap atton-/customs
- $ brew install atton-/customs/utf8proc
- $ brew install --HEAD atton-/customs/tmux
縦に分割した時に
のようにきちんと線が1本になるはずです。
まとめ
強制的に EastAsianAmbiguous の幅を2にして日本語フォントとの相性を良くしました。
実はこれは対処療法的な解決案で、根本的な解決ではありません。
その辺りは結構長くなると思うので書くなら別の記事で書きます。
0 件のコメント:
コメントを投稿