From: MORIOKA Tomohiko Date: Fri, 7 Jun 2002 05:35:23 +0000 (+0000) Subject: New file. X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0725af0d2c1de7783ba23abefc7c29ca5c6aa423;p=www%2Fchise.git New file. --- diff --git a/history.html.ja.iso-2022-jp b/history.html.ja.iso-2022-jp new file mode 100644 index 0000000..cd12456 --- /dev/null +++ b/history.html.ja.iso-2022-jp @@ -0,0 +1,484 @@ + + + +CHISE Project の歴史 + + + + +

CHISE Project の歴史

+ +Last modified: Fri Jun 7 14:19:52 JST 2002 + +
+ + +
1996 冬頃? + 守岡、akr さんと bitmap 計算を使ったり color pallet + のように文字符号を扱うような、汎用文字符号に依存しない + text 処理系に関して議論する +
1997 春頃? + 守岡、おそばやさんで + 中島秀之さんや錦見さんらにこの話をするが受けない + この頃、g新部さんが“My Symbolic System”の名を提案する +
1998 春頃? + 守岡、g新部さんや himi さんらと同様の議論をして盛り上がる + g新部さんが“UTF-2000”の名を提案する +
1998-04-13utf-2000 mailing list 開設 +
1998-04-16 + g新部さんによる UTF-2000 based on GNU Emacs 20.2.90 の release + (現在の XEmacs UTF-2000 とは直接のつながりはない) +
1999-03 + Olivier Galibert 氏、XEmacs + の内部表現として「可変固定長方式」(*1)を提案 + ((*1) この名称は守岡が付けたもの) + (ちなみに、その頃、守岡は JAIST から AIST + への引っ越し作業中 + (で + + m17n99: Symposium on Multilingual Information Processing '99 + + には行けなかった(;_;))) +
+ +
1999-05 頃 + 守岡、XEmacs の内部表現を UTF-8 化する作業に着手する +
1999-06 頃 + 守岡、XEmacs の内部表現の UTF-8 化に成功 +
1999-06-17 + XEmacs 21.2.16 UTF-2000 Version 0.2 (JR 難波) +
1999-06-18 + XEmacs 21.2.16 UTF-2000 Version 0.3 (今宮) + +
    +
  • --with-mule だけ付けると従来式 MULE 表現になる +
  • --with-mule と + --with-ucs4(新設)を指定すると文字表現のみ UCS-4 になる +
  • --with-mule と --with-utf-2000 を付けると、文字表現が + UCS-4, buffer / 文字列表現が UTF-8 になる +
+
1999-06〜07 頃 + XEmacs の内部表現の「可変固定長方式」化に着手するが挫折 +
1999-08-25 + XEmacs 21.2.19 UTF-2000 Version 0.4 (新今宮) + +
    +
  • 上野さんの Shift_JIS 対応 patch を当てただけ(^_^;;; +
  • もと版 XEmacs 21.2.19 に sync (coding: cookie が効きます) +
+
1999-09頃 + utf-2000 mailing list が m17n.org に移転する +
1999-09-09 + XEmacs 21.2.19 UTF-2000 Version 0.6 (東部市場前) + +
    +
  • character.h, mule-charset.h, buffer.h 等に散在していた文 + 字表現、文字列表現に関する部分を +
      +
    • 文字表現: character.h +
        +
      • char-1byte.h: unibyte 表現 (非 MULE + 用) +
      • char-lb.h: leading-byte 表現 (従来式 MULE 用) +
      • char-ucs.h: UCS-2000 表現 +
      + (従来の character.h の中身の大部分は char-ucs.h + に移動した) +
    • multibyte.h: 多byte文字列界面 +
        +
      • mb-1byte.h: unibyte 表現 (非 MULE 用) +
      • mb-lb.h: leading-byte 表現 (従来式 + MULE 用) +
      • mb-utf-8.h: UTF-2000 表現 +
      +
    + に整理した(けれど、mule-charset.h + はあんまりいじっていない)。 +
  • ucs-bmp も make-char できるようにしてみた(256 + 文字集合での問題を修正したつもり) +
  • latin-iso8859-2, -3, -4, -9, latin-jisx0201, + vietnamese-viscii-upper, -lower 用の変換表を作って、BMP + に写像するようにした。これにより(FULLWIDTH 系を除く) + Latin 文字に関する重複符号化は解消された +
  • 上記を実現するために、簡単な UCS 用の文字→byte + 表管理機構を作った(これにより、gmalloc の bug + に遭遇したが、とりあえず見なかったことにする(^_^;) +
  • coding-system の encoder の内部表現依存部を小さくすべく、 + coding-system encoder を再実装した (text-coding.c) +
+
1999-09-14 + XEmacs 21.2.19 UTF-2000 Version 0.7 (平野) + +
    +
  • charset に変換表関連の slot を設けた。また、 + latin-iso8859-2, -3, -4, -9, latin-jisx0201, + vietnamese-viscii-upper, -lower 用の変換表を charset + の属性として指定するようにした +
  • Latin Extended-A 用の決め打ち変換表を廃止した +
  • 変数 default-coded-charset-priority-list の追加: + 文字の属する符号化文字集合を選択する際の既定値として用いる +
  • 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 に書き換えた + (でも、順番を逆にすべきだろうな) +
+
1999-10-05 + XEmacs 21.2.19 UTF-2000 Version 0.8 (加美) + +
    +
  • coded-charset (Mule-charset) の変換表を文字符号 (Emchar) + の配列から Lisp_Object の vector (Lisp_Object) に変更し + た。vector の要素は文字 (Lisp_Object) か vector + (Lisp_Object) であり、 + これにより入れ子状の変換表を表現できるようになった +
  • 変換表を Lisp の世界で参照・定義するための関数 + charset-mapping-table, set-charset_mapping_table + を追加した +
  • 変換表の定義を lisp/utf-2000/ccs-*.el に移した +
  • hiragana-jisx0208, katakana-jisx0208 を追加した + (ものの、これを default-coded-charset-priority-list の + japanese-jisx0208 よりも前に入れると禁則処理等がおかしく + なるので、実際の利用は char-category(しいては + char-table, char-property 等)の再実装の実現まで断念) +
  • japanese-jisx0208 が JIS X 0208:1983 + であることを明確化した(EUC-JP や Shift_JIS 等の 1990 + 年版に基づく符号に対してはこれとは別に coded-charset + を追加する予定) +
  • coded-charset の文字符号の領域表現(CHARSET_UCS_MIN から + CHARSET_UCS_MAX + の範囲で定義域を表す)を用いる場合の変換に於いて、従来 + CHARSET_CODE_OFFSET と呼んでいたものを + CHARSET_BYTE_OFFSET と改名し、新たに CHARSET_CODE_OFFSET + を追加した。新定義では変換は次の通り: +
    +      	UCS = (byte_1 - CHARSET_BYTE_OFFSET)
    +	      * CHARSET_CHARS ^ (CHARSET_DIMENSION - 1)
    +	    + (byte_2 - CHARSET_BYTE_OFFSET)
    +	      * CHARSET_CHARS ^ (CHARSET_DIMENSION - 2)
    +	    :
    +	    + byte_(CHARSET_DIMENSION)
    +	    - CHARSET_CODE_OFFSET + CHARSET_UCS_MIN
    +	      
    + 但し、UCS は文字の内部表現(文字符号)、 + byte_1 ... byte_(CHARSET_DIMENSION) は外部表現での各 + byte を表す。 + また、UCS は CHARSET_UCS_MAX でなければならない。 +
  • text-coding.c の ISO 2022 系 encoder + に於いて、既に指示されている図形文字集合 (coded-charset) + に符号化する文字が含まれている場合、 + もしくは、 + 既に指示されている図形文字集合の指示シーケンスと + 符号化する文字が属する図形文字集合の指示シーケンスが + 同一である場合に指示シーケンスを出さないようにした。 + これにより、例えば、iso-8859-2 + で符号化できるテキストをちゃんと iso-8859-2 + で符号化できるようになった(ESC-sequence は入らない。ISO + 8859-1 に unify されている文字が ISO 8859-1 にならず、 + ISO 8859-2 になる) +
+
1999-10-12 + XEmacs 21.2.19 UTF-2000 Version 0.9 (久宝寺) + +
    +
  • code-charset の 文字 → 符号位置 変換表を実装しなおす +
  • なんとなく `vietnamese-viscii-*' を `latin-viscii-*' + に変える(どうして、`vietnamese-*' + なんだろう?クオッグーはもはや Latin script + とはいえないという立場なんだろうか?) +
  • とはいえ、define-charset-alias を付け、 + `vietnamese-viscii-*' を alias として残す +
  • 『本物』の VISCII 1.1 を表現する coded-charset + `latin-viscii' を定義する(`*-viscii-{upper|lower}' + は所詮 Mule との互換のためなんだから、 + `vietnamese-viscii-*' + でも良いのかも;ISO/IEC 2022 系で使う場合は、TCVN 5712 + を用いるべき) +
  • text-coding.c の ISO 2022 encoder において、ISO 2022 + の符号構造に適合しない coded-charset + を無視するようにした(この場合、 + default-coded-charset-priority-list + の順序に従い、探索を続ける) +
  • ucs-bmp に対し標準で font-registry + を付けた(とりあえず、 + "\\(ISO10646.*-1\\|UNICODE[23]?-0\\)" + としたが自信なし;本当は、ISO10646.1993-1 には match + しちゃいけないと思う。UNICODE3.0-0 + などと書きたい所だけど、年じゃないとまずいんだったっけ?) +
  • ISO 2022 の図形文字の構造に適合し、final byte を指定した + coded-charset を定義する時、Lisp から行う場合も + charset-id を final byte に offset + を足したものになるようにした +
  • そうでない場合の charset-id を 1 byte 系と 2 byte + 系で区別するのをやめた +
  • ついに charset-id に関する unsigned char + の呪いを全て解くことに成功した(^_^) +
  • で、なんとなく、 +
      +
    • 0 以上は ISO 2022 系 +
    • 負の場合は非 ISO 2022 系 +
    + という振り方をするようにした +
  • で、発覚した + + (format "%03d" -1) → "0-1" となる bug + + を dirty fix する +
+ +
1999-10-29 + XEmacs 21.2.19 UTF-2000 Version 0.10 (八尾) + +
    +
  • なんとなく + ISO/IEC 2022 の国際登記簿にある符号化文字集合の + charset-ID を ISO-IR 番号に変えた(ISO/IEC 2022 系の私的集合の + ID を特別扱いせず allocation を単純化した) +
    + [TODO] elisp で定義する時に ISO-IR 番号を渡せるようにする +
  • 文字オブジェクトの属性を表現する変数 Vcharacter_attribute_table + を設けた +
  • 文字オブジェクトの属性に関する以下の API を設けた +
    +	char-attribute-alist (CHARACTER)
    +
    +		CHARACTER の全ての属性を連想リストにして返す
    +
    +	get-char-attribute (CHARACTER ATTRIBUTE)
    +
    +		CHARACTER の ATTRIBUTE の値を返す
    +
    +	put-char-attribute (CHARACTER ATTRIBUTE VALUE)
    +
    +		CHARACTER の ATTRIBUTE の値を VALUE にする      
    +	      
    +
  • 文字を charset と code-point に分解する際、code-point + の長さ制限を撤廃できるようにするために、結果を list で返す + SPLIT_CHAR を設け、これを分解用 primitive + とした(でも、効率悪そう(^_^;;;) +
  • coded-charset の encoding_table + を廃止し、文字オブジェクトの属性を用いるようにした + (coded-charset に持つのが良いのか + 文字オブジェクトに持つのが良いのかは迷う所;でも API + 的には両方 OK にすれば良いのでどっちでも良いかも) +
+
1999-11-01 + + Fifth Tokyo GNU Technical Seminar + 守岡、三菱総研に GNU goods とともに置き去りにされる +
+ その後、g新部さんと守岡、RMS の note-PC の復旧作業をする羽目になる +
1999-11-02 + 守岡、 + GNOME BOF in Japan で UTF-2000 Project に関して話す。 + 前日の疲れと準備不足のために判りやすく話すことに失敗する +
1999-11-11 + XEmacs 21.2.19 UTF-2000 Version 0.11 (志紀) における変更点 +
    +
  • 文字属性として coded-charset の名前を用いた場合、常に coded-charset + に正規化するようにした +
    + [TODO] coded-charset は別空間に置く +
  • 関数 put-char-attribute で coded-charset + もしくはその名前に値を設定した時、その coded-charset + の変換表にも反映するようにした +
  • 関数 define-char を新設した +
  • define-char 形式の文字定義 file: utf-2000/u00000-C0.el, + utf-2000/u00020-Basic-Latin.el, utf-2000/u00080-C1.el, + utf-2000/u000A0-Latin-1-Supplement.el, + utf-2000/u00180-Latin-Extended-B.el, + utf-2000/u00100-Latin-Extended-A.el, + utf-2000/u00250-IPA-Extensions.el, + utf-2000/u002B0-Spacing-Modifier-Letters.el, + utf-2000/u00300-Combining-Diacritical-Marks.el, + utf-2000/u00370-Greek.el を追加した +
    + [邪悪系] ラテン・ギリシア文字系で fullwidth/halfwidth + を区別した設定にした(簡単な program で unify + することもできます)。これに伴い大量の『代替名称』を導入した + (^_^;;;。 + これらは私的領域の文字 ID を与えられる +
  • utf-2000/ccs-iso8859-2.el, utf-2000/ccs-iso8859-3.el, + utf-2000/ccs-iso8859-4.el, utf-2000/ccs-iso8859-9.el を削除した +
  • Mule-IPA に関してn高橋さんの定義を用いるようにした(UCS + に含まれない部分に関する文字定義 file はまだ作成していない) +
  • SPLIT_CHAR での cell の発生を抑制した(つもり) + (文字定義を持たない文字に関しては依然として cell + ができる + (文字定義を与えた方が効率が良くなれば文字定義を行うだろう + という教育的効果があるかも(^_^;;;)) +
1999-11-15 + XEmacs 21.2.19 UTF-2000 Version 0.12 (柏原) における変更点 +
    +
  • 文字定義が存在しない文字の encode に関する問題を修正した +
  • 文字結合に関する表 Vcharacter_composition_table を追加した + (文字属性 `->decomposition' の逆を記述する。文字属性 + `->decomposition' の値から作成する)。 +
    + また、これに伴い、関数 get-composite-char (LIST) を追加した。 + LIST に対応する結合文字が存在すればその文字を返す関数である。 + LIST の要素は、文字、UCS-4 の文字符号、``symbolic + character''(後述)の名前 (symbol) である +
  • これに伴い "symbolic character" を導入する。これは symbol + で表現され、通常の符号表現を持たない『文字のようなもの』で、 + 主に結合文字を表現するために用いる。例えば `circle' + を使って `(circle ?1)' で丸の中に1が入った文字を表現できる。 + 現在の実装では内部的には負の文字番号を持つ(UCS-4 + の範囲外の値になる) +
    + [TODO] 任意の "symbolic character" を定義・利用できるようにする + (SGML/XML の実体参照のように利用できると良いかも) +
  • 異体字に関する表 Vcharacter_variant_table + を追加した。またこれを参照するための関数 char-variants + (CHARACTER) を追加した。これは文字の異体字の list を返す +
  • coded-charset `ethiopic-ucs' を新設した。これにより、CCL + を使わずにエチオピア(ゲーズ)文字が表示できるようになった +
  • coded-charset `lao' を新設した。intlfonts-1.2 等にある Mule-Lao + font を入れていれば UCS + のラオ文字を表示できる + (しかし、文字結合ができる訳ではないので + ラオ語が扱えるようになった訳ではない) +
  • put-char-attribute/define-char で GR + 表現の符号化文字集合の符号位置を受理するようにした(内部的には + GL 表現に正規化される) +
  • M-x what-char-definition [CR] + で現在位置の文字定義を表示できるようにした。この他文字定義 file + の開発用 utility を含んだ utf-2000/char-db-util.el を追加した + (あんまりちゃんとしてませんが) +
    + [TODO] ucs-conv の what-character を置き換える +
  • 文字定義 file utf-2000/u00400-Cyrillic.el, + utf-2000/u00530-Armenian.el, utf-2000/u00590-Hebrew.el, + utf-2000/u00600-Arabic.el, utf-2000/u00700-Syriac.el, + utf-2000/u00780-Thaana.el, utf-2000/u00900-Devanagari.el, + utf-2000/u00980-Bengali.el, utf-2000/u00A00-Gurmukhi.el, + utf-2000/u00A80-Gujarati.el, utf-2000/u00B00-Oriya.el, + utf-2000/u00B80-Tamil.el, utf-2000/u00C00-Telugu.el, + utf-2000/u00C80-Kannada.el, utf-2000/u00D00-Malayalam.el, + utf-2000/u00D80-Sinhala.el, utf-2000/u00E00-Thai.el, + utf-2000/u00E80-Lao.el, utf-2000/u00F00-Tibetan.el, + utf-2000/u01000-Myanmar.el, utf-2000/u010A0-Georgian.el, + utf-2000/u01100-Hangul-Jamo.el, utf-2000/u01200-Ethiopic.el, + utf-2000/u013A0-Cherokee.el, utf-2000/u01400-Canadian.el, + utf-2000/u01680-Ogham.el, utf-2000/u016A0-Runic.el, + utf-2000/u01780-Khmer.el, utf-2000/u01800-Mongolian.el, + utf-2000/u01E00-Latin-Extended-Additional.el, + utf-2000/u01F00-Greek-Extended.el, + utf-2000/u02000-General-Punctuation.el, + utf-2000/u02070-Superscripts.el, utf-2000/u02080-Subscripts.el, + utf-2000/u020A0-Currency-Symbols.el, + utf-2000/u020D0-Combining-Diacritical-Marks-for-Symbols.el + utf-2000/u02100-Letterlike-Symbols.el, + utf-2000/u02150-Number-Forms.el, utf-2000/u02190-Arrows.el, + utf-2000/u02200-Mathematical-Operators.el, + utf-2000/u02300-Miscellaneous-Technical.el, + utf-2000/u02400-Control-Pictures.el, utf-2000/u02440-OCR.el, + utf-2000/u02460-Enclosed-Alphanumerics.el, + utf-2000/u02500-Box-Drawing.el, utf-2000/u02580-Block-Elements.el, + utf-2000/u025A0-Geometric-Shapes.el, + utf-2000/u02600-Miscellaneous-Symbols.el, + utf-2000/u02700-Dingbats.el, utf-2000/u02800-Braille-Patterns.el, + utf-2000/u02E00-CJK-Radical-Supplement.el, + utf-2000/u02F00-Kangxi-Radicals.el, + utf-2000/u02FF0-Ideographic-Description-Characters.el, + utf-2000/u03000-CJK-Symbols-and-Punctuation.el, + utf-2000/u03040-Hiragana.el, utf-2000/u030A0-Katakana.el, + utf-2000/u03100-Bopomofo.el, + utf-2000/u03130-Hangul-Compatibility-Jamo.el, + utf-2000/u03190-Kanbun.el, utf-2000/u031A0-Extended-Bopomofo.el, + utf-2000/u03200-Enclosed-CJK-Letters-and-Months.el, + utf-2000/u03300-CJK-Compatibility.el を追加した +
  • coded-charset `latin-viscii' の情報を + utf-2000/u00020-Basic-Latin.el, + utf-2000/u000A0-Latin-1-Supplement.el, + utf-2000/u00100-Latin-Extended-A.el, + utf-2000/u00180-Latin-Extended-B.el に merge した。これに伴い、 + utf-2000/ccs-viscii.el を廃止した +
  • bytecomp.el で file に非 Latin-1 文字が存在する時、comment + 中の非 Latin-1 文字を無視して coding-system を反対するようにした + (comment を削除するという大技を使っているので心配; + きっともっと良い方法があるに違いない(とマーチンも書いていた + (^_^;))。 +
    + また、raw-text で符号化する時、`byte-compile-dynamic' + と `byte-compile-dynamic-docstrings' + を利用できるようにした(つもり) +
    + ;; 本当にうまくいっているのか自信無し(^_^;;; + +
2000-01-20 + XEmacs 21.2.27 UTF-2000 Version 0.13 (高井田) +
    +
  • 諸橋大漢和辞典収録文字 (ideograph-daikanwa) を追加した +
  • e-漢字 大漢和 をとりあえず使えるようにした +
  • 自己言及問題を回避すべく、mule/mule-conf.el を新設した +
  • utf-2000/ccs-jisx0201-latin.el + を削除した(変換表形式の coded-charset 定義を完全撤廃した) +
  • 文字定義 file utf-2000/Ideograph-R001-One.el 〜 + utf-2000/Ideograph-R214-Flute.el および + utf-2000/u0A000-Yi-Syllables.el, + utf-2000/u0AC00-Hangul-Syllables.el, + utf-2000/u0FB00-Alphabetic-Presentation-Forms.el, + utf-2000/u0FB50-Arabic-Presentation-Forms-A.el, + utf-2000/u0FE20-Combining-Half-Marks.el, + utf-2000/u0FE30-CJK-Compatibility-Forms.el, + utf-2000/u0FE50-Small-Form-Variants.el, + utf-2000/u0FE70-Arabic-Presentation-Forms-B.el, + utf-2000/u0FF00-Halfwidth-and-Fullwidth-Forms.el, + utf-2000/u0FFF0-Specials.el を追加した +
  • string-to-number が 16 進数をちゃんと変換できない bug の修正 +
  • coded-charset `hiragana-jisx0208', `katakana-jisx0208' の廃止 +
  • coded-charset `japanese-jisx0208-1990' の新設 +
  • 今昔文字鏡フォント用 coded-charset + の新設(但し、実際に利用するための設定はまだ行っていない) +
  • coded-charset `katakana-jisx0201' の builtin-support の廃止 +
  • UCS-4 私用領域における XEmacs-UCS 互換領域の builtin-support + の廃止 +
  • japanese-jisx0213-1, japanese-jisx0213-2 + の新設(上述の漢字定義にはこれらの定義も入っているので + (フォントが利用可能な)他の coded-charset + に収録された文字は、新 JIS の font が無くても表示可能) +
  • XEmacs 21.2.27 に sync up した(つもり) +
+
2000-02-01 + XEmacs 21.2.27 UTF-2000 Version 0.14 (河内堅上) +
    +
  • 文字定義における coded-charset の code-point + の表現を変更し、記憶容量を少し節約した +
  • 今昔文字鏡用の font 用の定義を dump + した (これにより、上記の削減分を食い潰した(^_^;;;) +
  • やっぱり builtin-character などの解釈時に一時 cell + が発生しないようにした +
  • 内部的な coded-charset の code-point の上限を 4 byte + かつ表現可能な整数の上限に制限した +
  • 3, 4 byte の coded-charset を定義可能にした +
  • UCS-4 を表現する coded-charset `ucs' を追加した +
  • 組込み関数 decode-char を追加した +
  • what-char-definition 等での文字定義表示における code-point + の表示法を変更した +
+
2000-09-28 + XEmacs 21.2.33 UTF-2000 Version 0.17 (法隆寺) +
    +
  • XEmacs 21.2.35 への sync(by しおざき かずひこ さん) +
  • 文字定義の更新(文字定義数 68549) +
  • 最初の補完が遅いのをとりあえず解消した +
  • 文字属性の記憶機構を改良し、必要な記憶量を削減した。これにより、 + 32 bit architecture の場合、UTF-2000 0.16 よりも約 3.4 MB + 実行形式が小さくなる (strip 前: 約 21 MB, strip 後: 約 16 MB) + (ちなみに、文字定義数は 2507 字分増加している) +
  • とりあえず big5 を読めるようにした +
  • ISO 2022 encoder/decoder で 3/4 byte 集合を support した +
  • 94^3 集合 `mojikyo-2022-1' を新設した +
  • coded-charset と code-point の対を表現する Charc 構造体を新設し、 + display engine 中の従来型 Mule に依存した code をこれで書き換えた。 + これにより、文字 → coded-charset と code-point の対への分解処理が何 + 度も行われるのを避けた。 +
+ +
+ + +