このメモはインターネット・コミュニティーのために情報を提供するものであり、いかなる種類のインターネット標準も定めない。 このメモの配布に制限はない。
ISO 10646 という ISO の文字集合規格は、ヨーロッパの文字についてはそれなりに定められているが、十分に国際化された環境においてはそれほど有用なものではない。
ISO 10646 の実用的な利用のためには、文字の制限や文字合成の制限、言語情報の追加など、外部に多くのプロファイルづけが必要となる。
このメモでは、そうしたプロファイルづけに関する情報を、プロファイルづけした各例に対する charset 名とともに示す。
10646 に基づいた charset としてできるだけ有用なものとすべく最大限努力したが、結果はあまりよいものとはなっていない。 そのため、このメモで定義する charset はもっぱら参照目的のためのものであり、実用目的での使用は決してお勧めしない。
このメモでは、ISO 10646 [10646] に基づく 2 つのテキスト符号化方式について説明する。
テキストをどのように視覚化するかについて ISO 10646 はほとんど何も定めていないため、ISO 10646 を実用的に利用するには、規格を必要最小限に制限したうえで若干のプロファイル情報を付加することが必要となる。
ISO 2022 [ISO2022] に基づく国家規格には各国の標準化団体によって十分なプロファイル情報が提供されているが、ISO 10646 の場合にはそのようなプロファイルづけがまだなされていない。
ISO 10646 のプロファイルづけは、どの文字ないし文字合成が適切に表示されるかということに大きな影響を与える。 そのため、ISO 10646 のプロファイルづけを変更することは、ISO 2022 に新たな文字集合を追加するのに匹敵するほどの大きな意味をもつ。
すなわち、ISO 10646 の全部をサポートすることは実用的ではないため (新たな制限やプロファイルはいつでも追加できる)、クライアントは、本文部分を表示するかどうかを決める前に、何らかの制限ないしプロファイルづけがなされているかどうかを知る必要がある。 それゆえ、ISO 10646 のそれぞれの変種のために charset 名を多数用意することが必要となる。
たとえば、日本では日本語 Windows NT が使用されるが、MS 漢字コード (JIS X 0208 [JISX0208] とほとんど同等) によってすでにサポートされている漢字のみが表示可能となっている。 それ以外のフォント・パターンはふつう提供されないからだ。
漢字にとって ISO 10646 のもうひとつの問題は、中国・日本・韓国における日常的なプレーン・テキストの処理に要求される品質で漢字を表示するには、中国語・日本語・韓国語のどのテキストが使われているかについてのプロファイル情報を付加する必要があることである。 注意すべきは、この機能によって中国語・日本語・韓国語の入り交じった ISO 10646 の多言語テキストが非実用的なものになってしまうことである。
また、[RFC1521] が ISO-8859-6 および ISO-8859-8 で双方向性をどのようにサポートすべきかという点で不明瞭であった——これは [RFC1556] で修正された——のと同様、ISO 10646 で双方向性がどのようにサポートできるかも不明瞭である。 双方向性のサポートの方法はあまりにも多い。 そのため、何らかの双方向性のメカニズムが広くサポートされるまでは、双方向性のサポートを要する言語の文字は最小限の変種からは除外する必要がある。 ISO 10646 は長時間にわたって状態を保持することのないよう意図されてはいるが、何らかのプロファイル情報を別にしても、ISO 10646 における双方向性の導入には長時間の状態保持が必須である。
合成文字 (combining characters) もまた問題を引き起こす。 [ISO2022] に基づく合成文字を用いる多くの国々では、合成文字をどのような順序で並べるかに関して制約がある [TIS]。 そうした制約がなければ、合成の結果はまったく意味をなさない。 そしてそれが ISO 10646 の現状である。 すなわち、ある実装では何らかの文字合成が可能となっている一方で、別の実装ではそれがサポートされていないような場合、それらの間での通信は、広くサポートされる文字合成の最小限の共通集合となるように ISO 10646 をプロファイルづけしない限り困難である。 そのため、それぞれの言語のための合成に関する制約が作成されるまでは、やはりそのような言語の文字は最小限の変種からは除外しておく必要がある。
結合文字 (conjoining characters) も、サポートされるかどうか分からないが、また別のプロファイルづけが必須である。
以上の考えに従い、このメモでは ISO 10646 の 2 つの変種を定義する。 すなわち、最小限の基本変種としての "ISO-10646" と、日本での実用に適した変種としての "ISO-10646-J-1" とである。
なお、このメモは、インターネット上での ISO 10646 の使用を奨励するものでは決してない。 同じ情報を符号化しうる他の charset が存在する場合には、ISO 10646 の使用は決してお勧めしない。 ISO 10646 に基づく一群の charset は、相互に非互換な符号化システムにしかならない点では ISO 2022 ベースの charset 群と同様だが、それらを一緒にして単一の世界的な charset にまとめることは、ISO 2022 ベースの charset [2022INT] とは異なり、できない。
"ISO-10646" は、ISO 10646 に基づく一群の符号化法の最も基本的な部分となるようにプロファイルづけしたものであり、以下の最小限の図形文字が含まれる。
コレクション番号および名称 | 符号位置 | 追加制限 | ||
---|---|---|---|---|
1 BASIC LATIN | 0020–007E | |||
2 LATIN-1 SUPPLEMENT | 00A0–00FF |
ISO 10646 の 16 節に定められているように、C0 制御文字および C1 制御文字も使用してよい。
"ISO-10646" によるテキストは、16 ビットのビッグ・エンディアン形式でテキストを符号化する。
合成文字は含まれていないため、"ISO-10646" は実装水準 1 のアプリケーションで利用することができる。
左から右への方向性を用いるべきである。
この符号化法は Windows NT によって実装されている。
通信の実用上からは、"ISO-10646" の使用はお勧めしない。 代わりに "ISO-8859-1" [RFC1345] を使用すべきである。
"ISO-10646-J-1" は、Windows NT の日本語版を使う日本の PC 利用者に役立つようにプロファイルづけしたものであり、以下の図形文字が含まれる。
コレクション番号および名称 | 符号位置 | 追加制限 | ||
---|---|---|---|---|
1 BASIC LATIN | 0020–007E | |||
2 LATIN-1 SUPPLEMENT | 00A0–00FF | |||
8 BASIC GREEK | 0370-03CF | |||
10 CYRILLIC | 0400–04FF | |||
32 GENERAL PUNCTUATION | 2000–206F | 下記「注 1」参照。 | ||
39 MATHEMATICAL OPERATORS | 2200–22FF | 下記「注 1」参照。 | ||
44 BOX DRAWING | 2500–257F | |||
49 CJK SYMBOLS AND PUNCTUATION | 3000–303F | 下記「注 1」参照。 | ||
50 HIRAGANA | 3040–309F | |||
51 KATAKANA | 30A0–30FF | |||
60 CJK UNIFIED IDEOGRAPHS | 4E00–9FFF | 下記「注 1」参照。 | ||
62 CJK COMPATIBILITY IDEOGRAPHS | F900–FAFF | 下記「注 1」参照。 | ||
66 CJK COMPATIBILITY FORMS | FE30–FE4F | |||
69 HALFWIDTH AND FULLWIDTH FORMS | FF00–FFEF |
注 1 —— ほとんどの文字が除外される。 すなわち、JIS X 0208 [JISX0208] の文字のみが含まれる。 その理由は、Windows NT の日本語版にはそのためのフォントしかなく、利用者のほとんどは他の文字を含むメッセージが読めないからである。
ISO 10646 の 16 節に定められているように、C0 制御文字および C1 制御文字も使用してよい。
"ISO-10646-J-1" によるテキストは、16 ビットのビッグ・エンディアン形式でテキストを符号化する。
漢字の形状は、日本の漢字、すなわち ISO 10646 の 26 節における "J" 欄のものとすべきである。
合成文字は含まれていないため、"ISO-10646-J-1" は実装水準 1 のアプリケーションで利用することができる。
"HALFWIDTH AND FULLWIDTH FORMS" (半角および全角字形) の文字は、標準幅の文字との比較に際して異なった文字とされる。
テキストを水平方向に表示する場合には、左から右への方向性を用いるべきである。
通信の実用上からは、"ISO-10646-J-1" の使用はお勧めしない。 代わりに "ISO-2022-JP" [2022JP] を使用すべきである。
このメモで解説した文字符号化方法の名称は、それぞれ "ISO-10646" および "ISO-10646-J-1" である。 この名称は MIME メッセージにおいて次のように用いることが意図されている。
Content-Type: text/plain; charset=iso-10646
ISO-10646 符号化法および ISO-10646-J-1 符号化法は 16 ビット形式であるため、しばしば Content-Transfer-Encoding ヘッダーを用いる必要がある。 Base64 が有用であろう。
ISO-10646 および ISO-10646-J-1 はまた、MIME 第 2 部のヘッダー [RFC1522] に用いてもよい。 その際は "B" 符号化法を用いるべきである。
[10646] | International Organization for Standardization (ISO), "Universal Multiple-Octet Coded Character Set (UCS)", International Standard, Ref. No. ISO/IEC 10646-1:1993 (E). |
[2022INT] | (インターネット・ドラフト "draft-ohta-text-encoding-*.txt" が入手できるかもしれない). |
[2022JP] | Murai, J., Crispin, M., and E. van der Poel, "Japanese Character Encoding for Internet Messages", RFC 1468, June 1993. |
[ISO2022] | International Organization for Standardization (ISO), "Information processing -- ISO 7-bit and 8-bit coded character sets -- Code extension techniques", International Standard, Ref. No. ISO 2022-1986 (E). |
[JISX0208] | Japanese Standards Association, "Code of the Japanese graphic character set for information interchange", JIS X 0208-1990. |
[RFC1345] | Simonsen, K., "Character Mnemonics & Character Sets", RFC 1345, Rationel Almen Planlaegning, June 1992. |
[RFC1521] | Borenstein, N., and Freed, N., "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies", RFC 1521, September 1993. |
[RFC1522] | Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text", RFC 1522, September 1993. |
[RFC1556] | Nussbacher, H., "Handling of Bi-directional Texts in MIME", RFC 1556, Israeli Inter-University Computer Center, December 1993. |
[TIS] | Thai Industrial Standard for Thai Character Code for Computer, TIS 620-2533:1990. |
セキュリティーの問題はこのメモでは議論しない。
Masataka Ohta (太田昌孝)
Tokyo Institute of Technology
2-12-1, O-okayama, Meguro-ku,
Tokyo 152, JAPAN
Phone: +81-3-5499-7084
Fax: +81-3-3729-1940
EMail: mohta@cc.titech.ac.jp