軽量ターミナルを求めているわけでもないけど、東アジアの曖昧な文字を全角文字幅で扱えるらしいrxvt-unicode
ことurxvt
を導入してみた。
インストール
$ sudo apt install rxvt-unicode-256color
でインストール。今思えばこの 256color となっている時点で気付くべきだった…
設定ファイル
urxvt こと rxvt-unicode を使うことのメモ | Jenemal Notes
ここに記載されている内容がよくまとまっていて、分かりやすいと思う。
参考サイトを見つつ
~/.Xresources
を編集していく。
!! ウィンドウサイズ
URxvt.geometry: 1914x1017
!! スクロールバー
URxvt.scrollBar: false
!! デザイン
URxvt.scrollBar_right: true
URxvt.scrollBar_floating: true
URxvt.scrollstyle: rxvt
!! カーソル形状と点滅
URxvt.cursorBlink: true
!! マウスポインター消去
URxvt.pointerBlank: false
!! ヴィジュアルベル
URxvt.visualBell: true
!! バッファ行数
URxvt.saveLines: 3000
!! アウトオブフォーカス時に画面を暗く
URxvt.fading: 40
!! フォント
URxvt.font: xft: HackGen Console-12
!! 文字間
URxvt.letterSpace: -1
!! 行間
URxvt.lineSpace: 2
!! カラースキーマ
URxvt.foreground: #c2c2b0
URxvt.background: #222222
URxvt.cursorColor: #c2c2b0
URxvt.color0: #111111
URxvt.color8: #181818
URxvt.color1: #aa4450
URxvt.color9: #ff6a6a
URxvt.color2: #719611
URxvt.color10: #b1d631
URxvt.color3: #ff9800
URxvt.color11: #87875f
URxvt.color4: #6688aa
URxvt.color12: #90b0d1
URxvt.color5: #8f6f8f
URxvt.color13: #8181a6
URxvt.color6: #528b8b
URxvt.color14: #87ceeb
URxvt.color7: #d3d3d3
URxvt.color15: #c1cdc1
URxvt.colorIT: #719611
URxvt.colorBD: #d3d3d3
URxvt.colorUL: #528b8b
!! Perl拡張抑止
URxvt.perl-ext:
URxvt.perl-ext-common:
ちょっと特殊なのが、書いただけでは駄目で。xrdb -load ~/.Xresources
しないと駄目なこと。
xrdb コマンドは -merge オプションで現在の設定に指定ファイルの内容をマージする。 -load (あるいはオプション無し)で全ての内容を置き換える。 -query オプションで現在定義中の内容を確認できる。
ただ、参考サイトどおりに
URxvt.color12: [90]#83a598 /* bright blue */
と設定していたら、urxvt: unable to parse color '!!83a598', using pink instead.
エラーを吐かれたのでカラースキーマのところは
sourcerer/sourcerer.Xresources at master · xero/sourcerer · GitHubを真似た。
導入後、東アジアの曖昧な文字などを試す
何もしないと駄目だったので、例のサイト East Asian Ambiguous Width問題と絵文字の横幅問題の修正ロケールにある libcのロケールの曖昧な文字幅を全角にする を試す。
$ wget https://raw.githubusercontent.com/hamano/locale-eaw/master/UTF-8-EAW-FULLWIDTH.gz
$ gunzip UTF-8-EAW-FULLWIDTH.gz
$ sudo mv UTF-8-EAW-FULLWIDTH /usr/share/i18n/charmaps/
$ sudo nvim /etc/locale.gen
/etc/locale.gen
#ja_JP.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8-EAW-FULLWIDTH
$ sudo locale-gen
これで、東アジアの曖昧な文字が全角文字幅で扱われていることを確認。
しかし、問題が…urxvt
はTrueColor(24 bit color)非対応だった。
TrueColor対応しているか確認すると、
curl -s https://gist.githubusercontent.com/lifepillar/09a44b8cf0f9397465614e622979107f/raw/24-bit-color.sh | bash
こんな結果に。
mlterm
問題なし。
urxvt
だと欠けてる…これはこれで変だが、とりあえず駄目と。
reddit でもどうしたら良いかとの質問がある。
set termguicolors
をしているのをやめるか、256色をサポートしているカラースキーマを使うしかない。
urxvt
のtrue color版もあるみたいだけど、完全ではないみたい…
AUR (en) - rxvt-unicode-truecolor
という微妙な結果だった。