UTF-8 は「ambiguous width characters problem」とよばれる問題を内在しており、どの端末を使ってもこれを解決することはできない。
Tilix では下記改善策により幾つかの問題が改善できるため、普段使う端末を Konsole から Tilix に乗り換えることにした。
Tilix では下記改善策により幾つかの問題が改善できるため、普段使う端末を Konsole から Tilix に乗り換えることにした。
Ambiguous width characters problem
事象
❍や※などの全角記号を含む文字列をUTF-8端末で表示させると、これらの文字幅は全角であるのに半角として認識してしまい、記号文字の後ろ半分が後続の文字で上書きされてしまうことがある。
改善前
原因
これは全角記号を含むUNICODE範囲が半角か全角か判別がつかないため、UTF-8端末では通常「半角」としてそれらを扱うようにできている。
改善策
Tilixの設定Optionにより、Ambiguous-width-characters を半角として扱うか全角として扱うかを指定し、表示がおかしくなる場合は設定を切り替えることで対処するようにした。
改善後
悪影響
この設定Optionにより、全角記号文字を全角として描画することとが可能となったが、逆にこの不具合を積極的に(?)利用しているmcなどの全角罫線を使うアプリでは桁ズレが発生するようになった。上段が正常表示、下段が桁ズレを起こしている。あちらを立てればこちらが立たず!
上段が正常表示、下段が桁ズレを起こしている。あちらを立てればこちらが立たず!
Tilix の設定
- プロファイルを二つ作り、一方の「Ambiguous-width characters」 を「Nalow」に、もう一方は「Wide」に設定する。
- 両プロファイルの使用FONTを異なるFONTにしておく。これにより、プロファイル切替時に画面の再描画が自動的に行われることもある。
- 両プロファイルをショートカットキー(F1/F2など)に登録する
設定変更後、F1/F2キーを押すだけで、全角記号の重なりの有無を切り替えることが可能となる
[TIP]
Tilix のプロファイル修正は、dconf エディターで
/com/gexperts/Tilix/profiles/{..UUID..}/
からも行える
--
0 件のコメント:
コメントを投稿