94^2文字集合の誕生

94^n文字集合(ISO/IEC 2022)

[2] ISO/IEC 2022 でもっともよく使われる複数バイト符号化図形文字集合の大きさが、 942 です。 (というか公式に ISO-IR に登録されている複数バイト符号は全て 942 集合です。) それを含めて、94符合位置×n バイトで1文字を表現する (ISO/IEC 2022 の) 図形文字集合のことを、 94n 集合などと呼びます。

[3] なぜ 94 符号位置なのかというと、 ASCII図形文字が (SP を除くと) 94文字だからです。制御文字の領域を避けた結果 94n という大きさになりました。

[4] なお、もう一回り大きな 96^n 文字集合もあります。こちらは私用文字集合としてしか (まだ) 使われていません。

ISO/IEC 2022 環境で使える 94n 文字集合

[5] 最新の情報は ISO-IR に載っているのを見ましょう。

終端バイト F文字集合
00/00〜02/15 (NUL〜/)(使用しない)
03/00〜03/15 (0〜?)94n (n ≧ 2) 私用図形文字集合
04/00 (@)JIS X 0208-1978
04/01 (A)GB 2312-80
04/02 (B)JIS X 0208-1983
04/03 (C)KS X 1001-1987
04/04 (D)JIS X 0212-1990
04/05 (E)ISO-IR-165:1992
04/06 (F)Blissymbol
04/07 (G)CNS 11643-1987 第1字面
04/08 (H)CNS 11643-1987 第2字面
04/09 (I)CNS 11643-1992 第3字面
04/10 (J)CNS 11643-1992 第4字面
04/11 (K)CNS 11643-1992 第5字面
04/12 (L)CNS 11643-1992 第6字面
04/13 (M)CNS 11643-1992 第7字面
04/14 (N)KPS 9577-97 (ISO-IR 202)
04/15 (O)JIS X 0213:2000 第1面
05/00 (P)JIS X 0213:2000 第2面
05/01 (Q)(JIS X 0213:2003 第1面)?
05/12〜05/15 (R〜_)(942 図形文字集合)
06/00〜06/15 (`〜o)(943 図形文字集合)
07/00〜07/13 (p〜})(94n (n ≧ 4) 図形文字集合)
07/14 (~)空集合
07/15〜15/15 (DEL〜y")(使用しない)

この他、中間バイトとあわせて 02/00 (SP) F (F = 03/00〜07/14) の 94n (n ≧ 2) DRCS, I F (I = 02/01〜02/03) の2周目〜4周目の公式/私用文字集合があります。

[1] 終端バイトの割り当てられていない942文字集合

[11] 943文字集合として CCCII がありました。

[12] 4バイト以上の符号化文字集合は知られていません。

94文字集合との文字の配置の互換性

[6] 2002-09-30 (Mon) 16:41:21 名無しさん : JISX0208:1997 の解説図3には、古い JISX0202 の解説図が引用されている。

94文字集合との字種の互換性

[7] 942文字集合は当然94集合よりずっと多くの文字が入る。 だから、 ISO/IEC646 で unify されてた文字, 例えば 02/02 (") = 左二重引用符 / 右二重引用符 / ウムラウトとか、 (-) = ハイフン / 負符号とかが JISX0208 とかでは分離された。

これは正しい判断だった。当時としては。だけど、今は違う。 内部符号としての Unicode が生まれて、それと同時に名前による同定という規則が ISO/IEC で確立されてから、そういう一対多対応あるいは多対多対応は受け入れられなくなってしまった。 (もっとも実際それ以前でも、変換の時は一般には機械で自動的に意味で分離するのは無理だから、どれか選んで (あるいは選ばないで) 一対一対応に無理矢理してたんだけど。) だからもはや <"> は「“」とも「”」とも「¨」とも違う文字だ。

このちょっとおかしな事態は、たとえば JISX0213 の登場で誰の目にも明らかになった。 (ぼろ雑巾とまで言われた UCS は、まあ気にしないでおこう。) JIS X 0213 には ISO/IEC 646 との互換のために、 <"> (QUOTATION MARK) が追加された。もう既に「“」も「”」もあるのにだよ!

[8] ここに来てまた、あの一言が頭をよぎる。 JIS X 0208-1978 は、 ISO/IEC 646 の符号位置を変えてはいけなかった!

[9] 78JIS が間違っていたのか、それとも JIS X 0213:2000 が間違っていたのか。たぶん、どちらも間違ってはいなかった。 けれども間違った結果になってしまった。 時代の先を見通すことは難しい。

[10] >>9 では JIS X 0208-1978 が仮に <"> を収録していて、 「“」や「”」がなかったら、どうなっていただろう。 MicrosoftWindowsCodePage 125x でこれらを追加しているから、きっと同じ様に JIS 外字として 932 に入っていただろう。

JIS X 0213:2000 に <"> が入ってなかったら・・・ 別になにも変わらなかったかもしれんがね。 (その辺は歴史の深さの違いだ。)

関連

[13] 94文字集合96n文字集合も参照。