[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mule-ja-2009:09578] East Asian Ambiguous (Re: Re: (string-width "×"))
- To: mule-ja-2009@xxxxxxxx
- From: IWAMURO Motonori <vmi@xxxxxxxxxxxxxx>
- Subject: [mule-ja-2009:09578] East Asian Ambiguous (Re: Re: (string-width "×"))
- Date: Tue, 12 May 2009 15:52:36 +0900
- User-agent: User-Agent: Wanderlust/2.15.6 (Almost Unreal) Emacs/22.1 Mule/5.0 (SAKAKI)
岩室と申します。
At Mon, 11 May 2009 22:04:28 +0900,
Kenichi Handa wrote:
> 端末での East Asian Ambiguous (A) 文字
> (<http://www.unicode.org/reports/tr11/tr11-16.html>) の扱いは
> 悩ましいところです。 Emacs からは端末がどんなフォントを使って
> いるのか分からないので。
脱線する上に、このMLでやるのが適切とは言えないかもしれませんが、これ、
何とかしたいと強く思ってます。現状だと、アプリ側はEmacs, vim, w3m,
screen等、ターミナルエミュレータ側はxterm, mlterm, gnome-terminal,
putty, mintty等、ひたすら個別対応状態です……。
上記の資料には、推奨として、以下のような記載があります。(日本語は超訳。
間違ってたら突っ込んでください)
> 5 Recommendations
> 5 推奨
<略>
> When processing or displaying data
> データを処理したり表示したりするとき:
<略>
> Ambiguous characters behave like wide or narrow characters depending
> on the context (language tag, script identification, associated
> font, source of data, or explicit markup; all can provide the
> context). If the context cannot be established reliably, they should
> be treated as narrow characters by default.
> Ambiguous charactersの振舞いは、コンテキスト(言語タグ、スクリプト識別
> 子(?)、フォント依存、データ生成元、あるいは明示的なマークアップ、といっ
> たものは全てコンテキストを提供します)によって、wide文字とnarrow文字の
> どちらかが決まります。もしコンテキストを完全に決めることができないな
> らば、デフォルトではnarrow文字として扱わなければなりません。
個人的な案としては、以下のような方法がよいかな、と思うのですが、如何で
しょうか?
・アプリ側: 新規のlocaleカテゴリ(LC_CONTEXTとか)を定義し、それによって
文字幅の判断を切り換える。
・端末側: 以下のようなエスケープシーケンス(?)を規定する。
- 端末の能力を取得 (特定のコンテキストのみ使用可、ユーザによる明示的
な設定で変更可、エスケープシーケンスで変更可)
- 現在のコンテキストを取得
- コンテキストを指定
・コンテキストがCJKVのとき、文字幅は2、それ以外のときは1
こういうのが標準化されると一番良いのですが……。(どう動けばいいのか、
どこで議論すればいいのか、さっぱり)
--
IWAMURO Motonori <http://vmi.jp/>