XEmacs 21.2.19 UTF-2000 Version 0.7 (平野) を
ftp://ftp.m17n.org/pub/utf-2000/
に置きました。
UTF-2000 に関する議論は utf-2000(a)m17n.org でお願いします。
[主な変更点]
・charset に変換表関連の slot を設けた。また、latin-iso8859-2, -3, -4,
-9, latin-jisx0201, vietnamese-viscii-upper, -lower 用の変換表を
charset の属性として指定するようにした
・Latin Extended-A 用の決め打ち変換表を廃止した
・変数 default-coded-charset-priority-list の追加:
文字の属する符号化文字集合を選択する際の既定値として用いる
;; 将来的には文字単位の設定と、coding-system 等の復号符号化文字集合
;; の既定値等が追加される予定。この時、この変数は全体の既定値となる
;; 予定。
;; これが nil の時には組込み charset 判定器が動いて、ascii 等のいく
;; つかの charset が見付かってしまう(弱気)
;;; [問題] 文字定義を elisp で行う場合に、その elist をどうやって
;;; load するかについて考えてみよう(^_^)
・text-coding.c において UCS-4, BIG-5, Shift_JIS 用の generic-encoder
用実装を追加した
・text-coding.c の Shift_JIS において、JIS-Latin 用変換表を用い、7bit
の領域をJIS-Latin として解釈するようにした
・text-coding.c の generic-encoder での UTF-8 の parse の switch を if
に書き換えた(でも、順番を逆にすべきだろうな)
[既知の問題点]
Latin 文字の重複符号化を廃止したが、文脈・状況に応じて文字の属すべき
符号化文字集合を判別する機構はまだ実装していないために、例えば、
Latin-2と Latin-1 の双方に属する文字は常に Latin-1 の文字として扱われ
る。このため、iso-8859-2 の文字だけで書かれた file であっても、それを
UTF-2000 0.6 で編集して iso-8859-2 として save すると一部が iso-8859-1
の文字と見倣され、指示シーケンスが入ることとなる。
まだ正規表現の問題が起こる可能性がある。
[今後]
charset における、変換表や code-range 等による符号化方法の指定を elisp
で行えるようにするつもり。
このため、charset における変換表の要素を現行の Emchar の配列から
Lisp_Object の vector に変更する予定。
この時、1 byte 目を key にして得た要素が vector の時に、2 byte 目を
key にして要素を得ることにより、多 byte 文字集合を表現できるようにする。
この表現により、Shift_JIS や BIG-5 といった可変 byte 符号や、VSCII-2
(TCVN 5712-1993; ISO-IR-180), X-TIS 等での文字結合を扱う予定。
--
=== ……つまり =======================================================
====== 隠されているかもしれない可能性にかけてみようということです ====
守岡 知彦 (MORIOKA Tomohiko)
Email: <tomo(a)etl.go.jp>