UTF-8 encoded Translated into Japanese language by Yuuki OKANO. 日本語訳 陸野 優樹 Email: marimo@akanko.net 翻訳 2005年11月28日 translation November 28, 2005 修正 2008年12月17日 correction December 17, 2008 日本語に訳された文書に関する著作権は訳者に帰属します。 著作権についてはオリジナルに記載された著作権全文に従います。 配布についてはオリジナルと同様に無制限です。 内容は不定期に更新されます。 最新の内容は http://www.akanko.net/marimo/rfc/ にあります。 この文書は rfc1922 を訳者(marimo@akanko.net)が個人的な好奇心で適当に 翻訳したものです。したがって、翻訳の正確さなどは全く保証いたしません。 誤訳や根本的な勘違いなどが多く含まれていると思います。正確な情報が必要 な場合は英語原文も合わせてお読みください。誤字・誤訳など翻訳内容につい ての指摘は、いつでも歓迎します。 Network Working Group HF. Zhu Request for Comments: 1922 Tsinghua U Category: Informational DY. Hu Tsinghua U ZG. Wang CITS TC. Kao III WCH. Chang III M. Crispin U Washington March 1996 インターネットメッセージのための漢字符号化 このメモの位置づけ このメモは情報をインターネットコミュニティに提供する。それは、イン ターネット標準を指定しない。このメモの配布は無制限である。 要約 このメモは、漢字を、電子メール[RFC-822]、ネットニューズ[RFC-1036]、 Telnet[RFC-854]、ワールドワイドウェブ[RFC-1866]などのテクスト転送をす るインターネットサービスでの転送方法を説明する。 はじめに 世界を、更に多くのインターネットを使う支那人で覆うために、インター ネット上に漢字を含む文書を送る能力が求められた。この文書において説明 された方法は、既存の漢字表を転送するだけではなく、スペースを将来の拡 張方法として提供している。 この文書は、二つのエンコーディング、ISO-2022-CNとISO-2022-CN-EXTを 説明する。これらは意識の相互運用性によって設計され、現在の支那語交換 のためにこの文書について激励される; それらは、7ビットであり、共に単 純で、及び、GBと繁體字を使うCNS/Big5の両方をサポートし、そして特殊な 要求をASCII文字に全く課さない。 重要な関連した問題として、この文書は、二つのエンコーディングCN-GB とCN-Big5の詳細な記述と、ISO/IEC 10646 [ISO-10646]の短い説明をする。 CN-GBとCN-Big5は、現在支那語の文書のための内部のコードとして使われて いる。 ISO-10646は、ISOにより定義された一般的なマルチオクテット文字集合で ある; 我々は、将来においてそれが広く利用可能となれば、それが支那語の 文書や電子メールのために良い技術になるかもしれないと考えている。 仕様 1. 7ビット漢字エンコーディング: ISO-2022-CN と ISO-2022-CN-EXT 1.1. 説明 ISO-2022-CNは、ISO 2022 [ISO-2022] に基づく。これは、より以前の、 日本語や朝鮮語用のISO-2022-JP [RFC-1468]やISO-2022-KR [RFC-1557]と同 様である。それは7ビットであり、ASCII [ASCII] 文字だけでなく、簡体字 GB 2312-80 [GB-2312]や、繁體字CNS 11643 [CNS-11643]の最初の二面の利用 をサポートする。 ISO-2022-CN-EXTは、他の付加的なGB文字集合と、CNS 11643の面をサポー トする、ISO-2022-CNのスーパーセットである。 ISO-2022-CNとISO-2022-CN-EXTは7ビットエンコーディングであるため、 それらは8ビットSMTP拡張を必要としない。ISO-2022-CNは、Big5 [BIG5]に 現われる全ての漢字をサポートする。 1.2. ISO-2022-CN ISO-2022-CNの開始コードはASCIIである。ASCIIと漢字は、指示(ESCシー ケンス)とシフト機能に特徴付けられている。 指示により、テクストにおいて使われた漢字集合が定義される。三種類の 指示の方法がある: SO指示、SS2指示、およびSS3指示である。 SO指示は、書式 ESC $ ) にある。は、ISOにより文字集合に割り当 てられた「終端文字」である(詳細は、ISOレジストリ [ISOREG] を参照され たい)。SS2指示は書式 ESC $ * にあり、SS3指示は書式 ESC $ + にある。指示は、テクストにおいて次のバイトのあらゆる前の指定をオーバ ライドする。 4種類のシフトがある: SI、SO、SS2、そしてSS3である。シフト機能は、 どのように次のバイトを解釈するかを決定する。 シフトSI(16進値0Fを持つ1バイト)により、ASCIIとして次のバイトが解釈 されるのが宣言される。 シフトSO(16進値0Eを持つ1バイト)により、SO指示により定義された文字 集合として次のバイトが解釈されるのが宣言される。 シフトSS2(16進値1B 4Eを持つ2バイト)により、先行解釈(SIまたはSO)が 復元されたSS2指示により定義された文字集合として、次の2バイトが解釈さ れるのが宣言される。 シフトSS3(16進値1B 4Fを持つ2バイト)により、先行解釈(SIまたはSO)が 復元されたSS3指示により定義された文字集合として、次の2バイトが解釈さ れるのが宣言される。 ISO-2022-CNテクストにおいて使われるエスケープシーケンス、シフト機 能、および文字集合は次の通りである: 文字集合 シフト -------------------------------------------------------------------- ASCII SI GB 2312・CNS 11643-plane-1 SO CNS 11643-plane-2 SS2 ESC $ ) A 別のSO指示が出現するまで、SOの後に続くバイトが GB 2312-80 において定義された漢字であることを示 す。 ESC $ ) G 別のSO指示が出現するまで、SOの後に続くバイトが CNS 11643-plane-1において定義された漢字であるこ とを示す。 ESC $ * H 別のSS2指示が出現するまで、SS2の後に続く2バイト がCNS 11643-plane-2において定義された漢字である ことを示す。 もし行にどのようなGBまたはCNS文字があっても、対応した文字集合のため の指示は、個々の行がそれ自身の文字集合情報を持つように使われなければ ならず、ウィンドウのスクロールバック時にも、テクストは正しく表示でき る。また行の終了前には、シフトはASCII(SI)にあるに違いない(つまりCRLF の前)。すなわち、各行はASCIIから始めて、ASCIIに終わる。 例: 16進列 1b 24 29 41 0e 3d 3b 3b 3b 1b 24 29 47 47 28 5f 50 0f 「交換」(jiao huan)のための支那語を二回表わしている; 最初は簡体字を使うGB-2312(上の3d 3b 3b 3bシーケンス)、そして二つ 目は繁體字を使うCNS-11643(上の47 28 5f 50シーケンス)である。 シーケンス1b 24 29 41はGB-2312のためのSO指示であり、0eは、ASCIIか ら支那語に切り換えるSOであり、1b 24 29 47はCNS-11643の第一面のため のSO指示であり、最後の0fは、行末でASCIIに戻すSIである。 この文字エンコーディングに与えられた名前は「ISO-2022-CN」である。 この名前は、MIME [MIME-1, MIME-2] メッセージの「charset」パラメータ として使われることを想定している。 Content-Type: text/plain; charset=iso-2022-cn ISO-2022-CNエンコーディングは既に7ビット形式である。従って、 Content-Transfer-Encodingを使うことは必ずしも必要ではない。 他の制限は、「ISO-2022-CNの公式構文」において与えられる(この文書の セクション7.1)。 1.3. ISO-2022-CN-EXT ISO-2022-CN-EXTは、現存するGB、Big5、及び全CNS 11643文字集合の文字 をサポートする。 ISO-2022-CN-EXTテクストにおいて使われるエスケープシーケンス、シフト 機能、および文字集合は次の通りである: 文字集合 シフト -------------------------------------------------------------------- ASCII SI GB 2312・GB 12345・CNS 11643-plane-1・ISO-IR-165 SO GB 7589・GB 13131・CNS 11643-plane-2 SS2 GB 7590・GB 13132 および新GB、CNS 11643-plane-3以上の面 SS3 注意: 現在、ISO未登録の幾つかのGB集合がある。 これら および の終端文字(それらの集合のため、ISOによって割り当てられるだろう) であり、これらの終端文字がが割り当てられれば、これらのGBセットは 利用可能となる。 ESC $ ) A 別のSO指示が出現するまで、SOの後に続くバイトが GB 2312-80 において定義された漢字であることを示 す。 ESC $ * 別のSS2指示が出現するまで、SS2の後に続く2バイ トがGB 7589-87 [GB-7589] において定義された漢 字であることを示す。 ESC $ + 別のSS3指示が出現するまで、SS3の後に続く2バイ トがGB 7590-87 [GB-7590] において定義された漢 字であることを示す。 ESC $ ) 別のSO指示が出現するまで、SOの後に続くバイトが GB 12345-90 [GB-12345] において定義された漢字 であることを示す。 ESC $ * 別のSS2指示が出現するまで、SS2の後に続く2バイ トがGB 13131-91 [GB-13131] において定義された 漢字であることを示す。 ESC $ + 別のSS3指示が出現するまで、SS3の後に続く2バイ トがGB 13132-91 [GB-13132] において定義された 漢字であることを示す。 ESC $ ) E 別のSO指示が出現するまで、SOの後に続くバイトが ISO-IR-165(詳細は、セクション2.1を参照された い)であることを示す。 ESC $ ) G 別のSO指示が出現するまで、SOの後に続くバイトが CNS 11643-plane-1であることを示す。 ESC $ * H 別のSS2指示が出現するまで、SS2の後に続く2バイ トがCNS11643-plane-2において定義された漢字であ ることを示す。 ESC $ + I 別のSS3指示が出現するまで、SS3の後に続く2バイ トがCNS11643-plane-3において定義された漢字であ ることを示す。 ESC $ + J 別のSS3指示が出現するまで、SS3の後に続く2バイ トがCNS11643-plane-4において定義された漢字であ ることを示す。 ESC $ + K 別のSS3指示が出現するまで、SS3の後に続く2バイ トがCNS11643-plane-5において定義された漢字であ ることを示す。 ESC $ + L 別のSS3指示が出現するまで、SS3の後に続く2バイ トがCNS11643-plane-6において定義された漢字であ ることを示す。 ESC $ + M 別のSS3指示が出現するまで、SS3の後に続く2バイ トがCNS11643-plane-7において定義された漢字であ ることを示す。 ISO-2022-CNの中では、各行はASCIIから始まり、ASCIIに終わり、どのよう な漢字でも出現する前に、それ自身の明示情報を持っている。 この文字エンコーディングに与えられた名前は「ISO-2022-CN-EXT」であ る。この名前は、MIMEメッセージの「charset」パラメータとして使われる ことを想定している。 Content-Type: text/plain; charset=ISO-2022-CN-EXT ISO-2022-CN-EXTエンコーディングは既に7ビット形式である。従って、 Content-Transfer-Encodingを使うことは必ずしも必要ではない。 他の制限は、「ISO-2022-CN-EXTの公式構文」において与えられる(この文 書のセクション7.2)。 1.4. ISO-2022-CNとISO-2022-CN-EXTで、どのようにBig5や他の内部文字集合 をサポートするか 多くの異なる支那語内部コード化システム[CJKINF]があるため、EUC-GB、 Big5、CCCII(ライブラリシステムのための符号化として、主に台湾で使われ た)、GBK(大陸支那での新たな内部コードの標準、またマイクロソフト簡体字 支那語版Windows 95)などのためのコードページであり、7ビットであり、様 々な文字集合間での通信で、情報を失わないISO-2022-CNとISO-2022-CN-EXT は、インターネットの様々な支那語符号化システム間の交換を容易とする。 例えば、一般的なBig5集合をサポートするために、ISO-2022-CNと ISO-2022-CN-EXTが使用できる。なぜなら、CNS-11643の最初の二つの面は、 Big5の重複した2文字を除き「共通の部分」と同じ漢字を含んでいるからであ る。情報産業(III)の技術リポートC-26のための学会において定義されたよう に([Big5]も参照のこと)、「共通の部分」により、Big5実装に特有ではない 部分を意味する。Big5範囲0xA440-0xC67Eに、5,401のよく使う文字を配置す る。Big5範囲0xC940-0xF9D5に、7,652のさほど使われない文字が配置され る。そして、Big5範囲0xA140-0xA3E0に、441のその他記号が配置される。こ の文書の付録は、Big5の幾つかの一般的な実装における、具体的な拡張を含 むCNS-11643に変換するための変換表を示す。異なるコーディングシステム 間で相互運用性を高めるためや、他の拡張のため、Big5の実装者は、詳細な 変換表を作成することが【奨励】される。 Big5とCNS-11643の間の変換のためのパブリックドメイン・ソフトウェア (バイナリまたはCソースコード)は、多くのインターネットサイトで入手可 能である。この著した時点では、以下のFTPサイトとソフトウェアが紹介で きる: 1) 北京: ftp://ftp.net.tsinghua.edu.cn/pub/Chinese/convert/big5cns.zip (IP address: 166.111.1.6) 2) 西安: ftp://ftp.xanet.edu.cn /pub/chinese-soft/unix/convert/BeTTY-1.534.tar.gz (IP address: 202.112.11.131) 3) 台湾: ftp://ftp.seed.net.tw/Pub/Chinese/DOS/code-convert/chcode.zip (IP address: 140.92.1.65) 4) アメリカ: ftp://ftp.ifcss.org/pub/software/unix/convert/BeTTY-1.534.tar.gz (IP address: 128.123.1.55) 5) 日本: ftp://etlport.etl.go.jp/pub/iso-2022-cn/convert/big5cns.zip (IP address: 192.31.197.99) 2. 8ビット漢字エンコーディング: CN-GB と CN-Big5 CN-GBとCN-Big5のMIME charsetsは次のように定義される。 注意: もしネットワークがクリーンな8ビットではないなら、8ビット文 字集合の使用は「BASE64」や「QUOTED-PRINTABLE」などの8→7ビットの Content-Transfer-Encoding機構、または、8ビットクリーンなネット ワークで、8ビットに関する「8BIT」Content-Transfer-Encodingによる 8ビットSMTP拡張[SMTPEXT]の使用が必要である。さもなくば、7ビット メーラーの経路で8番目のビットが切り捨てられ、読む価値のないメッ セージを結果として生じるだろう。「まともな8ビットデータを送れ」 は、過去には共通の慣例であったが、それはインターネット標準では不 正であり、相互運用性問題を起こす。 2.1. CN-GB CN-GB文字を使う電子メールは、このように送られる: GB 2312-80文字は、GB 1988-89 [GB-1988] ではなく、ASCII文字によって 使われる。GB 2312-80は、ASCIIと矛盾しないよう、7ビットである。もし文 字がGB 2312-80なら、各バイトのMSB(最上位ビット)が1に設定され、従って 8ビット文字になる。さもなくば、バイトはASCIIと解釈される。これは、 「GB内部コード」と名付けられた文字セットを構成する。 この方法はまた、インターネットの.gbファイルにおいても採用される。 MIMEによってこの文字スキームを使うため、CN-GBはcharsetパラメータの ための値として使われる: Content-Type: text/plain; charset=cn-gb; charset-edition=1980 注意: "charset-edition" は、この文書の章「仕様」のセクション4.1 で述べられる新しいMIMEパラメータである。 GB 12345-90は、GB 2312の繁體字で、この集合に与えられたcharset名は、 charset-edition=1990であるCN-GB-12345である。 他のGB集合によって使われうるだけの文字集合もある。例えばGB 8565-88 [GB-8565] は、ISO-IR-165セットを成形するために、GB 2312およびいくつか の他の文字によって用いられる(これはGB 2312+GB 8565.2として知られる)。 ISO-IR-165は、GB 6345.1-86とGB 8565.2-88のため改訂されるようGB 2312-80 からすべての文字を含む。そのMIME charset名は、charset-edition=1992で、 CN-GB-ISOIR165である。 CN-GB-12345及びCN-GB-ISOIR165は、CN-GBと類似した方法でASCIIをサポー トする; 漢字のMSBは、ASCIIと区別するため、1に設定される。 注意: GBには、幾つかの補助文字集合がある。すなわちGB 7589-87、 GB 7590-87、GB 13131-91、およびGB 13132-91である。通常、それらは GB-2312やGB-12345を使うことなく独立しては使われない。従って、そ れらは、必ずしも記録されているとは限らない。これらの標準の文字は、 ISO-2022-CNとISO-2022-CN-EXTによってサポートできた。 もし将来、それらが "charset" 名によって使われる必要があるなら、 必要な文書を書きIANAによってcharsetを登録することは、興味を持っ たサードパーティー(規格化組織や他の誰か)の責任でもある。 charset名がCN-GB-12345のようにがGB標準番号であるCN-GB- の形式を取ることが推奨される。charset-editionも使うべき である。すべてのCN-GB-集合は、CN-GBと同様な方式の8ビット において符号化されるべきです。 相互運用性を保証するためには、CN-GB文字集合は、CN-GB-文字集 合の代わりに可能な時に、いつでも使われるべきである。 2.2. CN-Big5 Big5は、台湾や海外で広く使われる簡体字漢字の2バイト文字集合である。 CN-Big5の電子メールはこのように送られる: Big5はASCIIと共に使われる。ASCII文字のMSBは常に0である。Big5文字の 最初のバイトのMSBは常に1である; これによりASCII文字と区別する。2番目 のバイトは8ビット全部を使う。従って、CN-Big5は、15ビットのコード領域 を8ビットで符号化している。 MIMEによってこの文字計画を使うために、CN-Big5はcharsetパラメータの ための値として使われます: Content-Type: text/plain; charset=cn-big5; charset-edition=1984 注意: "charset-edition" は、この文書の章「仕様」のセクション4.1 で述べられる新しいMIMEパラメータである。 3. 国際符号化文字集合: ISO/IEC-10646/Unicode ISO/IEC 10646は、世界中の文字を符号化することを意図した32ビット文字 空間を定義する。現在は、ISO 10646の最下位16ビット面である基本多言語面 (BMP)だけが定義される。BMPは、Unicode [Unicode 1.1] と同一のコードに よってコードされる。それは、多くの漢字(それは現在、GB 2312-80、 GB 12345-90、GB 8565-89、CNS 11643の第一言語面と第二言語面といくつか の他の標準の部分の全文字を含む)を含み、従って、インターネットコミュニ ティので字を転送するために使用できる。これが他の場所で行なわれたので、 この文書は、これについて詳細を述べない。MIMEによってUnicodeを使うこと の詳細は、RFC 1641 [RFC-1641]、RFC 1642 [RFC-1642] を参照されたい。 10646集合のための割り当てられた名前のために、STD 2を参照する -- 「割 り当て番号」(現在はRFC 1700 [RFC-1700]である)。最新の割り当て番号を 参照されたい: ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets 4. 2つの新しいMIMEパラメータ ここで、我々は "charset" パラメータによって使われる二つの新しいMIME パラメータを定義する。 4.1. "charset-edition" このパラメータは、"charset" において示された文字セット標準の版を示 すために、4桁の西暦を用い、MIME "charset" パラメータの後で用いる。そ の使用は任意である。実装は、その特定の文字集合版の具体的なサポートを 持たない限り、実装はこのパラメータは無視するべきである。 このパラメータが定義される理由は、しばしば、文字集合標準の版の間で、 定義された文字に違いがあることによる。時に、その差異は無視できず、さ もなくば実装は、それを処理する際に問題を生じるだろう。現在のMIME構文 においてこの違いを示すため、二つだけ方法がある。 一つは、CN-GB-1988-80などのcharset名において版を示すことである (GB 1988の1980の版)。もう一つは、"charset-edition" などの新しいオプ ションのパラメータを定義することである。 後の方法の方が良い。なぜなら、古い版しか処理できない受信アプリケー ションでも文字集合を認識でき、そして古い版なりにテクストを表示するこ とが可能だからである。この表示は幾つか誤りを持つかもしれない。しかし、 それは、全くテクストを表示することを拒絶したり、もしくは、US-ASCIIや ISO-8859-1などの不適当な文字で表示されるよりは余程良いだろう。 4.2. "charset-extension" このパラメータはまた、MIME "charset" パラメータの後に使われる。それ はケースインセンシティブであり、任意で、IANAにおいてこのパラメータの どのような値でも登録されるべきである。未登録の値は、どのようなMIME拡 張トークンにおいても、"x-" として始まるべきである。実装は、特定の文字 集合拡張の具体的なサポートを持たない限り、実装はこのパラメータを無視 すべきである。 文字集合拡張は、文字集合、例えば標準の文字集合のベンダ依存の拡張に おいて割り当てられないコードポイントのためのグリフを表示した。このパ ラメータは、これらの拡張を使うオプションを提供します。文字集合拡張は 相互運用性問題を起こすかもしれないが、我々はそのような拡張の存在を認 めている。 例えば: Content-Type: text/plain; charset=CN-Big5; charset-edition=1984; charset-extension=ETen-2.00.03-DOS これはBig5のEten社の拡張を示すことができる: それを、 "ETen-2.00.03-DOS"であるとみなすDOSのためのETen 2.00.03は、IANAと共に 記録される。 4.3. 公式の構文: 以下の変更と追加分は、MIME構文にされる: charset-edition := "charset-edition" "=" 4DIGIT ; 4桁の年の版 charset-extension := "charset-extension" "=" extension-token 5. 予備知識 5.1. 支那語を話す民族と地域での、書き込みシステムとそれらの符号化 支那大陸は、日常生活において漢字を簡素化(簡体字)した。GBは標準の電 子文字集合である。それは、世界中で単純化された漢字を共有する人々の間 の通信の主要な方法である。 台湾は日常生活において伝統的な漢字(繁體字)を使う。CNS-11643は台湾で の情報交換のための公式なな文字集合である。; だがBig5、繁體字で広く使 われた文字集合は、台湾のデファクト内部コード標準である。 香港は日常生活において伝統的な漢字を使うが、電子形態ではGBとBig5を 用いる。なぜなら、香港人は頻繁に支那の州の人々と通信するからである。 シンガポールは漢字をほとんど使わず、漢字が使われる時には、簡素化さ れた書体を使う。電子形態では、Unicodeが最もポピュラーであるが、GBも また同様に用いられている。 5.2. 漢字集合についての雑多な情報 GB 1988-89文字セットは、通貨記号とチルダを除きISO 646 [ISO-646]と同 一である。通貨記号とチルダは、元記号とオーバーラインと交換される。こ の集合はISO 646のGBのバリエーションである。この文字セットとCNS 5205 [CNS-5205]は、インターネットで使うためには推奨されない。なぜなら、 ASCIIはGB 2312と結合したか、または、CNS 11643第一字面・第二字面は全て の文字をそれらに含んでいるからである。 GB 2312-80文字セットは、簡体字、数字、およびラテン、ギリシャ、およ びロシアアルファベット、およびいくつかの他の記号からなる; 全てで7445 文字である。個々の文字は2バイトで表現されている。 GB 13000-95 [GB-13000] はISO 10646のGBのバリエーションである。しか しながら、インターネットにおける相互運用性のため、ISO 10646のための割 り当てられた名前は、その代わりに推奨される。 現在、台湾海峡の両面は、ISO 10646のBMPの使用を促進し、ISOの下の他の 組織とともにその開発を続けるために密接に協力している。 5.3. 様々な実装情報 最大限の相互運用性のために、実装は、送受信ISO-2022-CNを少なくともサ ポート【するべき】である。ISO-2022-CN-EXTにおいて登録される全ての文字 集合をサポートすることは大いに推奨される。 現在の用法を満たすように、CN-GB(簡体字電子メールのための現状)、また はCN-Big5(繁體字電子メールのための現状)のサポートが必要と思われる。 しかしながら、これらの内部コードによって文書を直接送ることは信頼性 低いので、可能ならば、常にISO-2022-CNメッセージを用いることが推奨され る。 可能な限りの最大の程度まで、たとえそれらが一つのフォームのメッセー ジを送るだけでも、実装は、この文書において説明されたエンコーディング のうちの何のメッセージでも受け取る可能性があるはずである。 好ましくは、実装は、受け取ったテクストの符号化で意味されている印刷 上の伝統に則ったグリフで文字を表示するべきである。実装は、そのプラッ トフォームがサポートするエンコーディングに、これらのエンコーディング を同じく変換するかもしれない。 人間の利用者(実装者ではない)は、抜粋文の各行の最初に「>」の挿入を許 すために、80のディスプレイカラムのうち、75(くらい)のカラムの内の行を 保持しようとするべきである。各漢字は二つのカラムを取り上げ、シフト連 鎖はカラムを全く取り上げない。実装者は、その漢字が2バイトを必要とし、 そして、示すための行などを壊すために中間で裂けているべきでないことを 思い出す。 自由に入手可能な漢字フォント: 北京: ftp://ftp.net.tsinghua.edu.cn/pub/Chinese/fonts/ 西安: ftp://ftp.xanet.edu.cn/pub/chinese-soft/fonts/ 台湾: ftp://ftp.edu.tw/Chinese/ifcss/software/fonts/ ftp://ftp.ntu.edu.tw/Chinese/ifcss/software/fonts/ 香港: ftp://ftp.cuhk.hk/pub/chinese/ifcss/software/fonts/ シンガポール: ftp://ftp.technet.sg:/pub/chinese/fonts/ アメリカ: ftp://ftp.ifcss.org/pub/software/fonts/ http://ccic.ifcss.org/www/pub/software/fonts/ 6. X.400 配慮 X.400は、ISO/IEC-10021-7 [ISO-10021] で定義された本体 "GeneralText" を使い、種々の文字集合をメッセージで運ぶ能力を持っている。 GeneralText本体部のX.400 ASN.1定義は次のとおり: general-text-body-part EXTENDED-BODY-PART-TYPE PARAMETERS GeneralTextParameters IDENTIFIED BY id-ep-general-text DATA GeneralTextData ::= id-et-general-text GeneralTextParameters ::= SET OF CharacterSetRegistration CharacterSetRegistration ::= INTEGER (1..32767) GeneralTextData ::= GeneralString 従って、ISO-2022-CNを使い、"CharacterSetRegistration" 部分を {6 58 171 172} と取り決め、ISO-2022-CNテキストの各行の先頭にESC ( B (3バイト、16進値は1B 28 42である)のESCシーケンスを追加する。 同様に、登録されたものを示されたISO-2022-CN-EXTを使うため、 "CharacterSetRegistration" における多数の全文字集合は、各行の初めに ESC ( B を分けて、加える。登記番号は、ISOレジストリを参照のこと。 ISO-2022-CNによりサポートされた文字集合に加えて、現在、登録された登 記番号は次のとおり: ISO IR 165 (GB 2312+GB 8565.2): 165 CNS 11643-plane 3: 183 CNS 11643-plane 4: 184 CNS 11643-plane 5: 185 CNS 11643-plane 6: 186 CNS 11643-plane 7: 187 176は、実装水準3を持つISO/IEC 10646-1:1993 UCS-2のBASESETのための登 記番号であり、ESC % / E (4バイト、16進値1B 25 2F 45)のエスケープシー ケンスは、このコードセットの開始を示す。 X.400においてはまだ、CN-GBとCN-Big5文字集合のために利用出来る公式な 方法はない。 文字集合のX.400使用についての詳細のために、RFC 1502 [RFC-1502]を参 照されたい。 7. ISO-2022-CN と ISO-2022-CN-EXT の公式な構文 ここに使われる表記法的な規定は、RFC 822に使われるそれらと同じであ る。 7.1. ISO-2022-CNの公式な構文 body ::= * ( ascii_line / c_line ) ascii_line ::= *char CRLF c_line ::= *char 1*(1*designation 1*(*char 1*c_text *char)) CRLF designation ::= SOdesignation / SS2designation SOdesignation ::= ESC "$" ")" finalchar_for_SO SS2designation ::= ESC "$" "*" finalchar_for_SS2 finalchar_for_SO ::= "A" / "G" finalchar_for_SS2 ::= "H" c_text ::= 1* ( SO-SI-segment / SS2segment ) SO-SI-segment ::= SO 1*c_char *designation *c_segment SI c_segment ::= 1* ( c_char / SS2segment ) SS2segment ::= SS2 c_char c_char ::= one_of_94 one_of_94 ; ( Octal, Decimal.) ESC ::= ; ( 33, 27.) SI ::= ; ( 17, 15.) SO ::= ; ( 16, 14.) SS2 ::= ; ( 33 116, 27 78.) one_of_94 ::= ; ( 41-176, 33-126. ) char ::= ; ( 40-177, 30-127. ) 7.2. ISO-2022-CN-EXTの公式な構文 body ::= * ( ascii_line / c_line ) ascii_line ::= *char CRLF c_line ::= *char 1*(1*designation 1*(*char 1*c_text *char)) CRLF designation ::= SOdesignation / SS2designation / SS3designation SOdesignation ::= ESC "$" ")" finalchar_for_SO SS2designation ::= ESC "$" "*" finalchar_for_SS2 SS3designation ::= ESC "$" "+" finalchar_for_SS3 finalchar_for_SO ::= "A" / / "G" / "E" finalchar_for_SS2 ::= / / "H" finalchar_for_SS3 ::= / / "I" / "J" / "K" / "L" / "M" c_text ::= 1* ( SO-SI-segment / SS2segment / SS3segment ) SO-SI-segment ::= SO 1*c_char *designation *c_segment SI c_segment ::= 1* ( c_char / SS2segment / SS3segment ) SS2segment ::= SS2 c_char SS3segment ::= SS3 c_char c_char ::= one_of_94 one_of_94 ; ( Octal, Decimal.) ESC ::= ; ( 33, 27.) SI ::= ; ( 17, 15.) SO ::= ; ( 16, 14.) SS2 ::= ; ( 33 116, 27 78.) SS3 ::= ; ( 33 117, 27 79.) one_of_94 ::= ; ( 41-176, 33-126. ) char ::= ; ( 40-177, 30-127. ) 8. 新しい "charset" および新しいMIMEパラメータの登録 8.1. この文書は支那のテクストについての以下のMIME "charset" 名を定義 する: ISO-2022-CN, ISO-2022-CN-EXT CN-GB, CN-Big5 CN-GB-12345 CN-GB-ISOIR165 8.2. この文書は二つの新MIMEパラメータを定義する: charset-edition charset-extension 謝辞 この文書は、APNG-CC、APNG(アジア太平洋ネットワーキンググループ)、 コーディネータ Zhu Haifeng のI18N/L10N(国際 化とローカライズ)作業部会の漢字副作業部会での協力の結果である。APNG-CC のメンバーシップは、台湾海峡、香港の両面からの、およびシンガポールおよ び他国の個人から成る。我々は、APNG-CCのすべてのメンバーに感謝すること を望む。 Yao Shiquan教授 (CITSの副椅子 -- 中国情報科学規格化技術委員会)、 Lin Ningさん(CITSの事務総長)、 中国経済情報の両院協議会オフィスのGuo Chengzhongさん、 そして、Zhao Jingrong教授、 Wu Jianping教授、 Li Xing教授、 そして、You Yueさん(清華大学)、 そして、CERNETエクスパート委員会からの他のエクスパート、 Meng Qingyu教授(支那コンピュータソフトウェア・技術サービス)、 Cao Jinwen教授およびYu Junさん(IBM北京)は、多くの面において多数のサ ポートと助言をしてくれた。 Yang Tianxing教授(CITSの椅子)からのAPNG-CCへのサポートには特に感謝 する。 台湾Sinica学界のDing ZyKaan教授、 そして、C. J. Cherngさん、 そして、III(情報産業学会)のC. K. Fanさん、 台湾・新竹の清華大学のChang JingShinさん、 IBM台湾のC. C. Hsuさん、 そして、マイクロソフト台湾のTong-Lee Anita Linさんは、APNG-CCの作 業で多くのサポートと貢献をしてくれた。 特に、C. C. Hsuさんは、この文書の付録を完成させるために、多大の努力 をしてくれた。 我々は、この文書に多くの点で寄与していた次の人々に感謝することも望 んでいる。 Zhang Zhoucai Martin J. Duerst Zhang Ling Kenichi Handa Zhu Bin Lu Chin Sun Yufang Nelson Chin Chen Shuyi Mao Yonggang Masataka Ohta Ken Lunde Lua Kim Teng Victor Cheng Stephen G. Simpson Yuan Jiang Liu Huifang Harald T. Alvestrand Qian Hualin Jiang Lin Lu Ming Emily Hsu Wu Jian Zhu Shuang Zheng Long Zhang Hailin Yonggang Zhang Feng Hui Yao Jian セキュリティ対策 セキュリティ問題については、このメモでは論じていない。 奥付 Zhu Haifeng (HF. Zhu) 216 Central Main Building Tsinghua University Beijing, 100084 China Tel: +86-10-2561144 ext. 3492 Fax: +86-10-2564173 EMail: zhf@net.tsinghua.edu.cn, zhf@net.edu.cn Hu Daoyuan (DY. Hu) Tsinghua Networking Center Tsinghua University Beijing, 100084 China Tel: +86-10-2594016 Fax: +86-10-2564173 EMail: hdy@tsinghua.edu.cn Wang Zhiguan (ZG. Wang) Beijing 1101 MailBox SubCommitte 2 (SC2) China Information Technology Standardization Technical Committee (CITS) Beijing, 100007 China Tel: +86-10-4012392 Fax: +86-10-4010601 Kao Tien-cheu (TC. Kao) I.T. Promotion Division Institute for Information Industry (III) Taipei Taiwan Tel: +886-2-5631688 Fax: +886-2-563-4209 EMail: tckao@iiidns.iii.org.tw Chang Wen-chung (WCH. Chang) Institute for Information Industry (III) Taipei Taiwan Tel: +886-2-7327771 Fax: +886-2-7370188 EMail: chung@iiidns.iii.org.tw Mark R. Crispin Networks and Distributed Computing University of Washington 4545 15th Avenue NE Seattle, WA 98105-4527 USA Tel: +1 (206) 543-5762 Fax: +1 (206) 685-4045 EMail: MRC@CAC.Washington.EDU 付録 -- ISO-2022-CN(EXT)とBig5の変換表 これは、Eten、マイクロソフト、およびIBMから全てのベンダの、具体的な 文字を含むBig5の共通部分とISO-2022-CN/-EXTの漢字のための変換表である。 変換ソースとバイナリのため、Big5のためにプログラムを作り、IIIは、よい オンラインサービス(セクション1.4にリストされたftpサイト)を提供し、 [CJKINF]はよい参照でもある。 A.1. Big5 (ETen、IBM、そしてMicrosoftバージョン) CNS 11643 第一字面へ の記号セット一致: 0xA140-0xA1F5 <-> 0x2121-0x2256 0xA1F6 <-> 0x2258 0xA1F7 <-> 0x2257 0xA1F8-0xA2AE <-> 0x2259-0x234E 0xA2AF-0xA3BF <-> 0x2421-0x2570 0xA3C0-0xA3E0 <-> 0x4221-0x4241 (ETenとマイクロソフトでは、 予約領域として定義される) A.2. Big5 (ETen、IBM、そしてMicrosoftバージョン) 第一水準と一致する CNS 11643-1992 第一字面: 0xA440-0xACFD <-> 0x4421-0x5322 0xACFE <-> 0x5753 0xAD40-0xAFCF <-> 0x5323-0x5752 0xAFD0-0xBBC7 <-> 0x5754-0x6B4F 0xBBC8-0xBE51 <-> 0x6B51-0x6F5B 0xBE52 <-> 0x6B50 0xBE53-0xC1AA <-> 0x6F5C-0x7534 0xC1AB-0xC2CA <-> 0x7536-0x7736 0xC2CB <-> 0x7535 0xC2CC-0xC360 <-> 0x7737-0x782C 0xC361-0xC3B8 <-> 0x782E-0x7863 0xC3B9 <-> 0x7865 0xC3BA <-> 0x7864 0xC3BB-0xC455 <-> 0x7866-0x7961 0xC456 <-> 0x782D 0xC457-0xC67E <-> 0x7962-0x7D4B A.3. Big5 (ETen、IBM、そしてMicrosoftバージョン) 第二水準と一致する CNS 11643-1992 第二字面: 0xC940-0xC949 <-> 0x2121-0x212A 0xC94A <-> 0x4442 # 第一水準の0xA461と重複 0xC94B-0xC96B <-> 0x212B-0x214B 0xC96C-0xC9BD <-> 0x214D-0x217C 0xC9BE <-> 0x214C 0xC9BF-0xC9EC <-> 0x217D-0x224C 0xC9ED-0xCAF6 <-> 0x224E-0x2438 0xCAF7 <-> 0x224D 0xCAF8-0xD779 <-> 0x2439-0x387D 0xD77A <-> 0x3F6A 0xD77B-0xDBA6 <-> 0x387E-0x3F69 0xDBA7-0xDDFB <-> 0x3F6B-0x4423 0xDDFC <-> 0x4176 # 0xDCD1と重複 0xDDFD-0xE8A2 <-> 0x4424-0x554A 0xE8A3-0xE975 <-> 0x554C-0x5721 0xE976-0xEB5A <-> 0x5723-0x5A27 0xEB5B-0xEBF0 <-> 0x5A29-0x5B3E 0xEBF1 <-> 0x554B 0xEBF2-0xECDD <-> 0x5B3F-0x5C69 0xECDE <-> 0x5722 0xECDF-0xEDA9 <-> 0x5C6A-0x5D73 0xEDAA-0xEEEA <-> 0x5D75-0x6038 0xEEEB <-> 0x642F 0xEEEC-0xF055 <-> 0x6039-0x6242 0xF056 <-> 0x5D74 0xF057-0xF0CA <-> 0x6243-0x6336 0xF0CB <-> 0x5A28 0xF0CC-0xF162 <-> 0x6337-0x642E 0xF163-0xF16A <-> 0x6430-0x6437 0xF16B <-> 0x6761 0xF16C-0xF267 <-> 0x6438-0x6572 0xF268 <-> 0x6934 0xF269-0xF2C2 <-> 0x6573-0x664C 0xF2C3-0xF374 <-> 0x664E-0x6760 0xF375-0xF465 <-> 0x6762-0x6933 0xF466-0xF4B4 <-> 0x6935-0x6961 0xF4B5 <-> 0x664D 0xF4B6-0xF4FC <-> 0x6962-0x6A4A 0xF4FD-0xF662 <-> 0x6A4C-0x6C51 0xF663 <-> 0x6A4B 0xF664-0xF976 <-> 0x6C52-0x7165 0xF977-0xF9C3 <-> 0x7167-0x7233 0xF9C4 <-> 0x7166 0xF9C5 <-> 0x7234 0xF9C6 <-> 0x7240 0xF9C7-0xF9D1 <-> 0x7235-0x723F 0xF9D2-0xF9D5 <-> 0x7241-0x7244 A.4. Big5 (ETenとIBMバージョン)特有の数字記号と一致するCNS 11643第一 字面: (MicrosoftバージョンはこのエリアをUDC(外字)と定義した) 0xC6A1-0xC6BE <-> 0x2621 - 0x263E A.5. Big5 (ETenとIBMバージョン)特有の康煕部首と一致するCNS 11643第一 字面: (MicrosoftバージョンはこのエリアをUDC(外字)と定義した) 0xC6BF <-> 0x2723 0xC6C0 <-> 0x2724 0xC6C1 <-> 0x2726 0xC6C2 <-> 0x2728 0xC6C3 <-> 0x272D 0xC6C4 <-> 0x272E 0xC6C5 <-> 0x272F 0xC6C6 <-> 0x2734 0xC6C7 <-> 0x2737 0xC6C8 <-> 0x273A 0xC6C9 <-> 0x273C 0xC6CA <-> 0x2742 0xC6CB <-> 0x2747 0xC6CC <-> 0x274E 0xC6CD <-> 0x2753 0xC6CE <-> 0x2754 0xC6CF <-> 0x2755 0xC6D0 <-> 0x2759 0xC6D1 <-> 0x275A 0xC6D2 <-> 0x2761 0xC6D3 <-> 0x2766 0xC6D4 <-> 0x2829 0xC6D5 <-> 0x282A 0xC6D6 <-> 0x2863 0xC6D7 <-> 0x286C A.6. Big5 (ETenとMicrosoftバージョン)特有の漢字と一致するCNS 11643第 三字面: (IBMバージョンはUDC(外字)と定義した) 0xF9D6 <-> 0x4337 0xF9D7 <-> 0x4F50 0xF9D8 <-> 0x444E 0xF9D9 <-> 0x504A 0xF9DA <-> 0x2C5D 0xF9DB <-> 0x3D7E 0xF9DC <-> 0x4B5C A.7. Big5 (ETenバージョンのみ)特有の記号と一致するCNS 11643第四字面: 0xC879 <-> 0x2123 0xC87B <-> 0x2124 0xC87D <-> 0x212A 0xC8A2 <-> 0x2152 A.8. CNS 11643にマッピングできない他のBig5特有の記号 0xC6D8-0xC878 <-> none (ETenとIBM バージョン) 0xC87A <-> none (ETenバージョンのみ) 0xC87C <-> none (ETenバージョンのみ) 0xC87E-0xC8A1 <-> none (ETenバージョンのみ) 0xC8A3-0xC8CC <-> none (ETenバージョンのみ) 0xC8CD-0xC8D3 <-> none (ETenとIBM バージョン) 0xF9DD-0xF9FE <-> none (ETenとMicrosoftバージョン) 注意: しかし、それらの殆どはGB-2312にマッピングできる。例えば、 Big5(ETenとIBMバージョン)は、ひらがな、カタカナ、そしてキリル 文字がGB-2312と一致する: 0xC6E7-0xC77A <-> 0x2421-0x2473 # 日本語のひらがな 0xC77B-0xC7F2 <-> 0x2521-0x2576 # 日本語のカタカナ 0xC7F3-0xC854 <-> 0xA7A1-0xA7C1 # キリル大文字 0xC855-0xC875 <-> 0xA7D1-0xA7F1 # キリル小文字 GB-2312でサポートできた多くの記号がある点に注目されたい。また詳細に ついては、この文書の章「仕様」のセクション1.4のftpサイトを参照された い。 参考資料 [ASCII] American National Standards Institute, "Coded character set: 7-bit American National Standard Code for Information Interchange", ANSI X3.4-1986. [BIG5] Institute for Information Industry, "Chinese Coded Character Set in Computer ", March, 1984 [CJKINF] Ken Lunde, On-line documentation of Chinese/Japanese/Korean Information Processing, 1995, available at: ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/cjk.inf [CNS-5205] "Information processing: 7-Bit Coded Character Set For Information Interchange", CNS-5205. [CNS-11643] "Chinese Standard Interchange Code", CNS-11643 version 1992; "Standard Interchange Code for Generally-Used Chinese Characters", CNS 11643 version 1986. [GB-1988] "7-bit Coding Character Set for Information Interchange", GB 1988-89. [GB-2312] "Coding of Chinese Ideogram Set for Information Interchange Basic Set", GB 2312-80. [GB-7589] "Code of Chinese Ideograms Set for Information Interchange, the 2nd Supplementary Set", UDC 681.3.048, GB 7589-87. [GB-7590] "Code of Chinese Ideogram Set for Information Interchange, the 4th Supplementary Set", UDC 681.3.048, GB 7590-87. [GB-8565] "Information Processing Coded Character Sets for Text Communication", UDC 681.3, GB 8565-88. [GB-12345] "Code of Chinese Ideogram Set for Information Interchange Supplementary Set", GB/T 12345-90. [GB-13000] "Information Technology: Universal Multiple-Octet Coded Character Set(UCS) Part 1: Architecture and Basic Multilingual Plane", GB13000.1 [GB-13131] "Code of Chinese Ideogram Set for Information Interchange, the 3rd Supplementary Set", GB 13131-91. [GB-13132] "Code of Chinese Ideogram Set for Information Interchange, the 5th Supplementary Set", GB 13132-91. [ISO-646] International Organization for Standardization (ISO), "Information Technology: ISO 7-bit Coded Character Set for Information Interchange", International Standard, Ref. No. ISO/IEC 646:1991. [ISO-2022] 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). [ISO-10021] Information Technology: Text communication: Message-Oriented Text Interchange Systems (MOTIS), ISO 10021, October 1988. [ISO-10646] ISO/IEC 10646-1:1993(E) Information Technology: Universal Multiple-octet Coded Character Set (UCS) Part 1: Architecture and Basic Multilingual Plane" [ISOREG] International Organization for Standardization (ISO), "International Register of Coded Character Sets To Be Used With Escape Sequences". [MIME-1] 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, Bellcore, Innosoft, September 1993. [MIME-2] Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text", RFC 1522, University of Tennessee, September 1993. [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, University of Delaware, August 1982. [RFC-854] Postel, J., Reynolds J., Telnet Protocol Specification, RFC 854, ISI, May 1983. [RFC-1036] Horton, M., and Adams, R., "Standard for Interchange of USENET Messages", RFC 1036, AT&T Bell Laboratories, Center for Seismic Studies, December 1987. [RFC-1468] Murai J., Crispin, M., and van der Poel, E., Japanese Character Encoding for Internet Messages, June 1993. [RFC-1557] Choi U., Chon K., and Park H., Korean Character Encoding for Internet Messages, December 1993. [RFC-1641] Goldsmith D., and Davis M., "Using Unicode with MIME", RFC 1641, Taligent Inc., July 1994 [RFC-1642] Goldsmith D., and Davis M.," UTF-7, A Mail-Safe Transformation Format of Unicode", July 1994 [RFC-1700] Reynolds J., and Postel J., "Assigned Numbers",RFC 1700, STD 2, ISI, October 1994 [SMTP] Postel, J. B. "Simple Mail Transfer Protocol", STD 10, RFC 821, USC/Information Sciences Institute, August 1982. [SMTPEXT] Klensin J., Freed N., Rose M., Stefferud E., and Crocker D., "SMTP Service Extensions", RFC 1651, July 1994. [Unicode 1.1] "The Unicode Standard, Version 1.1", Addison-Wesley, Reading, MA (to be published; the contents of this standard is currently available by combining [Unicode92], [Unicode93], and [Unicode4]). [Unicode92] The Unicode Consortium, "The Unicode Standard: Worldwide Character Encoding: Version 1.0", Volume 1, Addison-Wesley, Reading, MA, 1992 (ISBN 0-201-56788-1). [Unicode93] The Unicode Consortium, "The Unicode Standard: Worldwide Character Encoding: Version 1.0", Volume 2, Addison-Wesley, Reading, MA, 1992 (ISBN 0-201-60845-6). [Unicode4] The Unicode Consortium, "The Unicode Standard: Version 1.1 (Prepublication Edition)", Unicode Technical Report #4 (avaliable from the Unicode Consortium).