2015/05/14

tmux 2.0 と Ricty と East Asian Ambiguous

先日 tmux 2.0 がリリースされましたね。

最近は Terminal.app + tmuxinator を使って作業とかしてるので、 tmux もアップデート。
そうすると U+22BD(▽) とかの East Asian Ambiguous 文字の幅が tmux 上だと single になってしまう問題が発生。
tmux の上で eskk.vim を使って変換すると文字の表示がズレてしまうのでちょっと不便。

East Asian Amniguous の幅を2にする patch が tmux 1.7 の時に作ってくれた方がいるみたいなので、それを借りて自分向けに formula を作ってみました。
homebrew-customs って名前でついでに tap も作成。

$ brew tap atton-/customs
$ brew install atton-/customs/tmux

で patch が当たった版の tmux が入ります。
一応これで eskk.vim を使う分には快適に。

環境

  • Mac OSX Yosemite
  • Terminal.app 2.5.3
  • Ricty 3.2.2 (no build option)
  • tmux 2.0

蛇足

eskk.vim を使うのには快適になりましたが、 Agda の一部の文字はやっぱりズレる。
例えば U+2248(≈)とか U+2080 - U+2089 (₀₁₂₃₄₅₆₇₈₉) とか。

U+2248(≈) はフォント上では single width なのだけれど、 Width が Ambiguous
Terminal 側で Ambiguous は2にする設定をしているので、幅が2つ取られてフォントは1つ分になって無駄な空白が入っちゃう。

U+2080 - U+2089 も同じようにフォントは single width。
でも何故か U+2081 - U+2084 だけが Ambiguous で、U+2085 とかは Neutral 。
これは Unicode 作った時に何を考えてたのか謎……。

そんな感じなので、East Asian Ambiguous の幅を 2 にすると空白が出てくる文字があって、1にすると重なってしまう文字が出てくるので消化不良……。
とりあえず空白入ってても良いや、という趣旨で基本的に幅を2にしてます。

ちなみに Ricty の生成スクリプトに -a というFull Width を切ってくれるオプションがあるのだけれど、U+22BD は Full Width になってしまってる。
fontforge とかで調べてみるとそもそも Inconsolata に U+22BD のフォントが無いので、 Migu 側が使われてちゃって Full と Half がいりまじることに。
うーん。 英語は Inconsolata, 日本語は Migu 1M, Ambiguous は全部 1 or 2 のフォントって無いかな。

0 件のコメント:

コメントを投稿