VineSeed ML アーカイブ



[VineSeed:18705] Re: [VineLinux:0529] gnome ターミナルで全角の'-'を使うと 表示が乱れる

  • From: Daisuke SUZUKI <daisuke@xxxxxxxxxxx>
  • Subject: [VineSeed:18705] Re: [VineLinux:0529] gnome ターミナルで全角の'-'を使うと 表示が乱れる
  • Date: Sun, 6 Sep 2009 01:28:34 +0900
鈴木です。
とりあえず、とてもややこしい問題なのでMLにだけ書きます。

On Sat, 5 Sep 2009 22:57:49 +0900
bts-vinelinux@xxxxxxxxxxxxx wrote:

> XXXXXXXX@XXXXXXXX wrote: 
> 
> > 複数ハード(複数機種、VirtualBox上も確認)で何度か起動したうち、UTF8で
> > echo "−−−−−"; echo "ーーーーー";
> > を実行した時に、表示の長さが一致しないのは全て再現しました。
> > (前者は全角マイナス(おかしくなる方)、後者は全角長音記号 です)
> 
> 念の為確認ですが、問題は「gnome-terminal 上で全角マイナスの文字幅がおか
> しい」
> ということですよね?

マイナスあるいは長音と似た文字にはかなり種類があります。
最近のVLGothicではなるべく過去の遺産にあわせた文字幅になる
ようにそれぞれを調整してあります。しかし、Unicode の文字幅
規定ではかなりの文字が文脈依存となっており、固定文字環境で
は非常に問題となっています。

> Vine 5.0 上で、上記の echo 〜 を実行してみると、
> ・xterm: 表示は半角、文字幅も半角
> ・gnome-terminal: 表示は全角、でも文字幅は半角
> ・gedit(参考): 表示は全角、文字幅も全角

表示はフォントに依存するのでなんともいえませんが、同じフォ
ントを使えば基本的にはみんな同じになると思います。ちなみに
UTF-8では「波線」は全角チルダ(U+FF5E)と波ダッシュ(U+301C)の
二種類があります。VLGothicではどちらも全角幅です。
# xterm もビットマップフォントじゃなくfontconfig的フォント
# を指定したら同じになるのではないかとおもいます。

一応現在のところ CJK Ambigious width は各アプリケーションあ
るいはライブラリで対処せよということになっているようなので、
それぞれの対応によって状況がことなるという状況になっています。

なお、この問題はCJK というか East Asian Ambigious width な
文字全てにあてはまります。

なお、VTE は現在 auto が標準になっていて、例えばCJK なUTF-8
では全角幅(wide)として扱うようになっているとおもいます。
ちなみに設定は昔とはVTE_CJK_WIDTH=1とかそんなのでしたが、今は
VTE_CJK_WIDTH={narrow,wide,auto} という感じです。
デフォルトは auto で日本語ロケールでは wide となります。
# 罫線は narrow だとちゃんとでます

-- 
Daisuke SUZUKI | daisuke@{linux.or.jp,dicey.org,vinecaves.com}
GnuPG Fingerprint = 7DE6 9AC6 5E5B 1AF8 B38E  0992 90BF 4C09 7432 2CB0
Founder & President, Project Vine.            http://vinelinux.org/
Founder & President, Vine Caves, Ltd.         http://vinecaves.com/
Founder & President, Japan Linux Association. http://jla.linux.or.jp/