[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mule-ja-2009:09576] Re: (string-width "×")



In article <b4m4ovvstiv.fsf@xxxxxxx>, Katsumi Yamaoka <yamaoka@xxxxxxx> writes:

> こんにちは。
> "×" (japanese-jisx0208 33 95) のような文字を、tty で (-nw で)
> 起動した Emacs 23 で表示するときの挙動について。以下はともに幅が
> 80桁の tty で実験した結果です。

端末での East Asian Ambiguous (A) 文字
(<http://www.unicode.org/reports/tr11/tr11-16.html>) の扱いは
悩ましいところです。 Emacs からは端末がどんなフォントを使って
いるのか分からないので。

> 1. Linux 上の Emacs 23 を同じ Linux の gnome-terminal から
> ----------------------------------------------------------
> (string-width "×")
> 2

これは日本語ロケールの場合ですね。

> (insert-char ?× 80)
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\
> xxnil

> 半角の幅の "x" が上記のように表示されます。

gnome-terminal ではまともな表示は期待できません。たとえ端末->文
字コード設定を EUC-JP にして、フォントを東風ゴシックなどに設
定しても `×' は他のフォントを使って表示しようとします。日本
語だけで良いのなら LANG=ja_JP.EUC-JP とかで kterm を使った方
が良いでしょう。

> 2. Linux 上の Emacs 23 を別の Windows マシンから TeraTerm Pro で
> ----------------------------------------------------------------
> (string-width "×")
> 1

これを実行した時の locale は ja_JP とは違うんじゃないでしょ
うか?

> (insert-char ?× 80)
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\
> X

> 全角の幅の "X" が上記のように表示されます。

---
半田@AIST