[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unassigned code points in ISO10646
ご教授有り難うございます。
現在の w3m-ucs.el による多文字セット化は、euc-japan では表現できない文
字について、Mule-UCS を利用して ISO10646 上の文字に変換し、それを数値
文字参照で記述することによって w3m に素通りさせる、という方法で実現さ
れています。
しかし、この方法では、文字セット間の変換が入るために unification の問
題が避けられません。
で、何か良い(楽な)方法はないかなあと考えている時に、
>> On Mon, 29 Oct 2001 21:34:20 +0900 (JST)
>> hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) said as follows:
>> ISO10646 の規格を説明している文書中で、「群0x60〜群0x7fは私用のために
>> 予約されている」という記述を見掛けた
わけです。それで、
>> (1) これは本当ですか?
>ISO 10646 なら本当のようですね。
> http://www.opengroup.or.jp/jvc/cde/ucs-conv.html
>> (2) 「私用のために予約されている」とは、「プログラム中で勝手に利用して
>> も良い」ということを意味しますか?
>絶対に外部に出さなければ良いのでは。
ということならば、群0x60〜群0x7f中の適当な群に対して、charset-id を面
として、実際のコードポイントを区点とするように割り付けると、Emacs 上で
扱えるあらゆる文字を一意に ISO10646 に従った形でコードを割り当てること
ができそうです。
;; つまり、Mule2 で採用されていた1文字あたり3バイトの表現に適当な
;; leading character を与えただけですね。
こうすると、文字セットの変換が避けられるので、
(a) unification の問題を回避でき、
(b) Mule-UCS が動かない Emacs でも動作する
という嬉しい実装が可能だと思います。
と思って、作業を始めたのですが、意外と難しいですね、これ。CCL でプログ
ラムを書くのって、何だかアセンブラを使っているような錯覚を覚えてきます。
いずれ成果がまとまったら commit しますが、とりあえず御礼まで。
--
土屋 雅稔 ( TSUCHIYA Masatoshi )