JIS X 0208は、日本工業規格として定められた2 バイト文字セットで、日本語の文章、地名、人名などを記述するのに適した 6879 個の図形文字が含まれています。現在の標準の正式名称は、情報交換用の 7 ビットおよび 8 ビットの 2 バイト コード化漢字セット( 7 ビット及び 8 ビットの 2 バイト情報交換用記号化漢字セット、ナナビット オヨビ ハチビットの二バイト情報情報高官用富豪化漢字集語)です。 1978 年にJIS C 6226として制定され、1983 年、1990 年、1997 年に改訂されました。IBMではコード ページ 952とも呼ばれます。 1978 年バージョンは、IBM によってコード ページ 955とも呼ばれます。
JIS X 0208で規定される文字セットは、主にデータ処理システムとそれに接続された機器との間、またはデータ通信システム間での情報交換を目的としています。この文字セットは、データ処理およびテキスト処理に使用できます。
文字セットの部分的な実装は互換性がないとみなされます。最初の標準の起草委員会がレベル1とレベル2の文字を区別するように配慮し、その後2番目の標準で異体字(イタイジ)をレベル間で入れ替えたなど、少なくとも最初の標準と2番目の標準ではそのようなことが起こっているため、漢字を使わずレベル1のみを実装した日本語コンピュータシステムが開発対象として検討された時期があったと推測されます。しかし、そのような実装は互換性があると明記されたことはなく、初期のNEC PC-9801のような例が存在しただけです。[ 1 ]
JIS X 0208:1997規格には互換性に関する規定があるものの、現状では、この規格は互換性を証明するものではなく、自己互換性を宣言するような公式の製造規格でもないと一般的に考えられている。[ 2 ]その結果、事実上、JIS X 0208「互換」製品は存在しないとみなされている。JIS X 0208には「適合」や「サポート」といった用語が含まれているが、これらの用語の意味は人によって異なる。
最初のエンコードバイトは、行番号またはセル番号に0x20(10進数で32)を加えた値に対応します(下記参照)。したがって、0x21で始まるコードセットは行番号が1であり、セル1の継続バイトは0x21(または33)となります。以下同様です。
漢字以外の文字に使用されるリードバイトについては、そのリードバイトでエンコードされた文字を一覧にしたこのページの表へのリンクが提供されています。漢字に使用されるリードバイトについては、 Wiktionaryの漢字索引の該当セクションへのリンクが提供されています。
ベンダーによっては、このセットに対して以下のものとは若干異なる Unicode マッピングを使用している場合があります。たとえば、Microsoft はkuten 1-29 (JIS 0x213D) を U+2015 (横棒) にマッピングしていますが[ 3 ] 、 Apple はU+2014 (エムダッシュ) にマッピングしています[ 4 ] 。同様に、Microsoft は kuten 1-61 (JIS 0x215D) を U+FF0D [ 3 ] (U+002D ハイフンマイナスの全角形) にマッピングしていますが、Apple は U+2212 (マイナス記号) にマッピングしています[ 4 ] 。波ダッシュの Unicode マッピングもベンダーによって異なります。以下の脚注付きのセルを参照してください。
ASCII およびJISCII句読点 (ここでは黄色の背景で表示) は、Shift JIS、EUC-JP 、ISO 2022 -JPのように、 JIS X 0208 とASCIIまたはJIS X 0201を組み合わせたエンコーディングで使用される場合、半角および全角フォームブロックへの代替マッピングを使用する場合があります。
このセットの文字のほとんどは1983年に追加されたものですが、文字0x2221 ~ 0x222E(クテン2-1~2-14、または下の表の最初の行)は例外で、これらは1978年の標準規格のオリジナル版に含まれていました。
このセットには、 ISO 646不変セットのサブセット(したがって、 ASCIIとJIS X 0201ローマンセットの両方のサブセット) が含まれますが、句読点と記号は含まれません。これには、西アラビア数字と基本ラテンアルファベットのケースとケースが含まれます。このセットの文字は、EUC-JP、 Shift JIS、ISO 2022-JPなど、JIS X 0208 と ASCII または JIS X 0201 を組み合わせたエンコーディングで使用される場合、半角形および全角形ブロックへの代替 Unicodeマッピングを使用する場合があります。
KPS 9566 の 3 行目と比較してください。この行はKPS 9566 の 3 行目と完全に一致しています。KS X 1001とGB 2312 の3 行目を比較してください。これらの規格では、この行にISO 646の各国版がすべて含まれており、英数字のサブセットのみが含まれているわけではありません。
この行には日本語のひらがなが含まれています。
GB 2312 の 4 行目を比較してください。この行と一致しています。KPS 9566とKS X 1001の10 行目を比較してください。これらは同じレイアウトを使用していますが、行が異なります。
この行には日本語のカタカナが含まれています。
GB 2312 の 5 行目と比較してください。これはこの行と一致します。KPS 9566とKS X 1001の11 行目を比較してください。これらは同じレイアウトを使用していますが、行が異なります。JIS X 0201で使用されているかなり異なるカタカナのレイアウトと比較してください。
この行には、発音記号や末尾のシグマを除いた、現代ギリシャ語アルファベットの基本的なサポートが含まれています。
GB 2312とGB 12345の6行目とKPS 9566の6行目を比較してください。これらは同じレイアウトで同じギリシャ文字を使用していますが、GB 12345は縦書き形式を追加し、KPS 9566はローマ数字を追加しています。KS X 1001の5行目を比較対照してください。この行では、ギリシャ文字をずらしてローマ数字を先に配置しています。
この行には現代ロシア語のアルファベットが含まれており、キリル文字の他の形式を表すには必ずしも十分ではありません。
GB 2312 の 7 行目を比較してください。この行と一致しています。KS X 1001 の 12 行目とKPS 9566 の 5 行目を比較対照してください。これらは同じレイアウトを使用していますが、行が異なります。
このセットに含まれる文字はすべて1983年に追加されたもので、1978年の標準規格の初版には含まれていませんでした。
JIS X 0208規格の9行目から15行目までは空欄になっている。
しかし、 NECが最初に導入した13行目の以下のレイアウトは、一般的な拡張です。これは、Windows-932 [ 3 ] ( HTML5で使用されるWHATWGエンコーディング標準と一致します)、MacJapaneseのPostScriptバリアント (ただし、KanjiTalkバージョン7以降、通常のバリアントではありません) [ 5 ]、およびJIS X 0213 (JIS X 0208の後継) [ 5 ] [ 6 ] で使用されています (脚注で指摘されているように、若干のバリエーションがあります)。Windows - 932 / WHATWGとJIS X 0213によって作成された他の拡張とは異なり、この2つは衝突するのではなく一致しているため、この行のほとんどのデコードがJIS X 0213によって作成された他の拡張よりもよくサポートされています。
コードポイントを表すために、1バイトコードの場合は列番号/行番号が、 2バイトコードの場合はクテン番号が使用されます。コードに依存せずに文字を識別する方法として、文字名が使用されます。
JIS X 0208 の文字コードのほとんどは、それぞれ少なくとも 7 ビットの 2 バイトで表現されます。ただし、制御文字と通常のスペース(表意文字のスペース を除く)は、1 バイトのコードで表現されます。1バイトのコードのビット組み合わせ(ビット組み合わせ)を表現するために、列番号と行番号の 2 つの 10 進数が使用されます。列番号は、それぞれ 0 から 7 までまたは 0 から 15 まで数える 7 ビットのうち上位 3 ビットまたは 8 ビットのうち上位 4 ビットで構成されます。行番号は、0 から 15 まで数える下位 4 ビットで構成されます。各 10 進数は 1 つの16 進数に対応します。たとえば、文字「スペース」に対応するビット組み合わせは、7 ビット数では 010 0000、8 ビット数では 0010 0000 です。列/行表記では、これは 2/0 と表されます。同じ1バイトコードの他の表現方法としては、16進数で0x20、または10進数で32などがあります。
2 バイトのコードは 94 個の番号付きグループに分けられ、それぞれが行(区、ku ; 文字通り「セクション」)と呼ばれます。各行には 94 個の番号付きコードが含まれており、それぞれがセル(点、ten ; 文字通り「ポイント」)と呼ばれます。[ j ]これにより、合計 8836 (94 × 94) 個のコード ポイントが可能になります (ただし、すべてが割り当てられているわけではありません。下記を参照)。これらは、標準では 94 行、94 列のコード テーブルにまとめられています。
行番号とセル番号(標準JIS X 0208コードではそれぞれ1から94まで)は、2バイトのコードポイントを表すために用いられる区点(くてん)を構成します。コード番号または区点番号は、「行-セル」の形式で表され、行番号とセル番号はハイフンで区切られます。例えば、「亜」という文字は16行目1セルにコードポイントを持つため、そのコード番号は「16-01」と表されます。
7 ビット JIS X 0208 (JIS X 0202 / ISO-2022-JPで切り替えられる可能性がある) では、両方のバイトは0x 21 (行またはセル番号 1 に使用) から 0x7E (行またはセル番号 94 に使用) までの 94 バイトの範囲からでなければなりません。これは、スペースを除いた 7 ビット ASCII 印刷文字に使用される範囲と正確に一致します。したがって、エンコードされたバイトは、各数値に 0x20 (32) を追加することによって得られます。[ 7 ]例えば、上記の 16-01 ("亜") の例は、バイトで表されます0x30 0x21。8 ビットEUC-JPでは、代わりに 0xA1 から 0xFE までの範囲 (最上位ビットを 1 に設定) を使用しますが、Shift JISなどの他のエンコードでは、より複雑な変換を使用します。Shift JIS には、JIS X 0208 自体に必要なエンコード空間よりも多くのエンコード空間が含まれています。 JIS X 0208 に対する Shift JIS 固有の拡張機能の中には、94 行を超える行番号を使用するものがあります。[ 8 ]
この構造は、中国本土のGB 2312でも使用されており、現地では区位; qūwèiとして知られています。また、韓国の KS C 5601 (現在のKS X 1001 ) でも使用されており、kuとten はそれぞれhang [ 9 ] ( 행 ;行; haeng ) とyol [ 9 ] ( 열 ;列; yeol ) として知られています。後のJIS X 0213では、この構造を拡張して、行の平面(面、men ; 文字通り「面」)を複数持つようにしており、これはCNS 11643でも使用されている構造であり、 CCCIIで使用されている構造と関連しています。
2バイトコードのうち、9行目から15行目、および85行目から94行目は未割り当て領域(aki ryōiki)です。つまり、文字が割り当てられていないコードポイントです。また、他の行の一部のセルも、実質的には未割り当て領域です。
これらの空白領域には、基本的に使用すべきではないコードポイントが含まれています。関係者間で事前に合意がない限り、情報交換のための文字(外字)を未割り当てのコードポイントに割り当ててはなりません。
未割り当てのコードポイントに文字を割り当てる場合でも、規格で定義されているグラフィック文字を割り当ててはならず、同じ文字を複数の未割り当てのコードポイントに割り当ててはなりません。また、文字セット内で文字を重複させてはなりません。
さらに、未割り当てのコードポイントに文字を割り当てる際には、漢字のグリフに関して統一性に注意する必要があります。例えば、25行目66セルは「高い」または「高価」を意味する漢字に対応していますが、中央に「口」の字に似た要素を持つ形(高)と、同じ場所に梯子状の構造を持つあまり一般的ではない形(髙)の両方が同じコードポイントに含まれています。したがって、25-66番地を「口」の形に限定し、後者の「梯子」の形を未割り当てのコードポイントに割り当てると、技術的には規格に違反することになります。
しかし実際には、Windows-932やMacJapaneseなど、ベンダー固有のShift JISバリアントのいくつかは、JIS X 0208のエンコード空間の未割り当て行にベンダー拡張機能をエンコードしています。また、JIS X 0208で未割り当てのコードのほとんどは、より新しいJIS X 0213規格によって割り当てられています。
JIS X 0208の各文字には名前が付けられています。文字の名前を使用することで、文字コードに頼らずに文字を識別することが可能です。文字の名前は、他の文字セット規格、特にUnicode(Unicode)と整合しているため、Unicodeなどの文字セットへの文字マッピングのソースの一つとなります。例えば、ISO/IEC 646国際参照版(US-ASCII)の4列1行目の文字と、JIS X 0208の3行33セル目の文字は、どちらも「LATIN CAPITAL LETTER A」という名前です。したがって、ASCIIの4/1の文字とJIS X 0208の3-33の文字は、同じ文字とみなすことができます(ただし、実際には、ASCIIを別途提供するエンコーディングがあるため、JIS X 0208の文字には別のマッピングが使用されます)。逆に、ASCII文字2/2(引用符)、2/7(アポストロフィ)、2/13(ハイフンマイナス)、および7/14(チルダ)は、この規格には存在しない文字であると判断できます。
漢字以外の文字の名前には、大文字のローマ字、スペース、ハイフンが使用されます。漢字以外の文字には日本語の通用名(日本語通用名、Nihongo tsūyō meishō )が付けられますが、これらの名前に関する規定は存在しません。[ k ]一方、漢字の名前は、UCS/Unicode における対応する 16 進数表現に従って機械的に設定されます。漢字の名前は、Unicode コードポイントの前に「CJK UNIFIED IDEOGRAPH-」を付けることで得られます。たとえば、行 16 セル 1 (亜) は UCS の U+4E9C に対応するため、その名前は「CJK UNIFIED IDEOGRAPH-4E9C」となります。漢字には日本語の通用名は付けられません。
JIS X 0208では、1バイトあたり7ビットまたは8ビットの2バイトコードに対応する6879個のグラフィック文字のセットが規定されています。JIS X 0208では、これを漢字セット(漢字集合、kanji shūgō)と呼び、6355個の漢字と、ラテン文字、かななどの文字を含む524個の非漢字(hikanji)が含まれています。
漢字セットの特殊文字に関しては、ISO/IEC 646 :1991の国際参照版(IRV)(ASCIIに相当)のグラフィック文字セットに含まれる文字の一部がJIS X 0208には存在しない。それは前述の「引用符」、「アポストロフィ」、「ハイフンマイナス」、「チルダ」の4文字である。前者の3文字は漢字セットでは異なるコードポイントに分割されている(西村、1978年;JIS X 0221-1:2001規格、3.8.7項)。IRVの「チルダ」には漢字セットに対応する文字がない。
以下の表では、ISO/IEC 646:1991 IRV の該当文字を、JIS X 0208 の対応する文字と比較しています。ただし、IRV 文字「チルダ」は、JIS X 0208 の「波線」と比較しています。「記号」列のエントリは UCS/Unicode コードポイントを使用しているため、表示の詳細が異なる場合があります。
JIS X 0208 に正確な対応文字がない ASCII/IRV 文字は、後にJIS X 0213によってコード ポイントが割り当てられました。これらも以下にリストされています。また、Microsoft による 4 つの文字のマッピングも以下にリストされています。
これは、漢字セットが世界で最も広く普及している非上位互換性文字セットであることを意味し、この規格の弱点の1つとみなされている。
漢字セットとIRVセットには90の特殊文字、数字、ラテン文字が共通しているにもかかわらず、この規格はISO/IEC 646の配列に従っていません。これらの90文字は1行目(句読点)と3行目(文字と数字)に分かれていますが、3行目は62の文字と数字のみISO 646の配列に従っています(例:4/1ISO 646の「A」2/3 4/1はJIS X 0208では(つまり3-33)になります)。
漢字セットにおけるこれらの数字、ラテン文字などが「全角英数字」である理由、そしてIRVとは異なる解釈で当初の実装が行われた理由については、これらの不一致が原因と考えられています。
最初の標準以来、丸で囲まれた数字、測定単位名の合字、ローマ数字などの合成(合成、gōsei)を表現することは可能でしたが、[ 10 ]それらには独立した九点コードポイントは与えられませんでした。情報システムを製造する個々の企業は、顧客が要求する文字の組み合わせによってこれらの文字を表現する努力をすることができますが、標準に追加するように要求した企業はなく、代わりにそれらを外字として独自に提供することを選択しました。
第4規格(1997年)では、これらの文字はすべて、現在の位置の進行を伴う文字、つまりスペーシング文字として明確に定義されました。さらに、これらの文字は文字の組み合わせによって作成してはならないと規定されました。このため、ラテン文字に発音記号を付けて表記することは、おそらく2行目82セルのオングストローム記号(Å )を除いて、一切認められなくなりました。
JIS X 0208のひらがなとカタカナは、JIS X 0201とは異なり、濁点と半濁点を文字の一部として含んでいます。また、 JIS X 0201には含まれていないカタカナの「wi (ヰ)」と「we (ヱ)」(いずれも現代日本語では廃字)および小文字の「wa (ヮ)」も含まれています。
JIS X 0208 のかなの配列は、JIS X 0201 のカタカナの配列とは異なります。JIS X 0201 では、50音は「を」で始まり、五十音順にソートされた小仮名が続き、その後に全角仮名が同じく五十音順で配置されます(ヲァィゥェェォォャュォォォォォォォォォォ……ラリルレロワン)。一方、JIS X 0208では、仮名は五十音順、次に「小仮名、全角仮名、濁点仮名、半濁点仮名」の順に並び替えられており、同じ基本仮名とその派生仮名がグループ化されています(ぁあぃいぅうぇえお……っつづ……はばぱひびぴふぶぷへべぺほぼぽ……ゎわゐええをん)。この順序は、かなベースの辞書検索のソートをより簡単にするために選択された(安岡、2006)。[ l ]
前述のとおり、この規格では、JIS X 0201で規定されていたカタカナの順序がJIS X 0208では採用されていません。JIS X 0201のカタカナが「半角カナ」となっているのは、この規格のカタカナとの互換性の問題が原因と考えられます。この点も、この規格の弱点の一つです。
この基準に含まれる漢字がどのような資料から選ばれたのか、なぜレベル1とレベル2に分けられているのか、そしてどのように配置されているのかについては、第4基準(1997年)で詳しく説明されています。その説明によると、以下の4つの漢字リストに含まれる漢字は、第1基準(1978年)の6349文字に反映されています。
第2版と第3版では、それぞれレベル2に4字と2字が追加され、漢字の総数は6355字となった。また、第2版では文字の形が変更され、レベル間の転置も行われた。第3版でも文字の形が変更された。これらについては後述する。
レベル1の漢字2,965字は16行目から47行目に掲載されています。レベル2の漢字3,390字は48行目から84行目に掲載されています。
レベル 1 については、東洋漢字、東洋漢字修正案、人名用漢字を基に、複数の漢字表に共通する文字が選ばれました。また、JIS C 6260(「都同府県識別コード」、現行JIS X 0401)および JIS C 6261(「市町村識別コード」、現行JIS X 0402)が参照され、日本のほぼすべての都道府県、市、区、町、村などの漢字が意図的にレベル 1 に配置されました。[ m ]さらに、専門家による修正が加えられました。
レベル2は、前述の4つの主要なリストに登場したがレベル1には選ばれなかった漢字に特化していた。後述するように、レベル1の漢字は発音順に並べられていたため、発音の判断が難しい漢字の中には、そのことを理由にレベル1からレベル2に移されたものもあった(西村、1978)。
これらの決定により、大部分において、レベル 1 にはより頻繁に使用される漢字が、レベル 2 にはよりまれに使用される漢字が含まれるようになりましたが、もちろん、これらは当時の基準で判断されたものです。時間の経過とともに、レベル 2 の漢字の中には、「飛ぶ」(翔)や「輝く」(煌)のように、より頻繁に使用されるようになったものもあります。逆に、レベル 1 の漢字の中には、特に「センチメートル」(糎)や「ミリメートル」(粍)のように、まれになったものもあります。現在の常用漢字のうち、30 字がレベル 2 に分類され、[ n ] 3 字は全く含まれていません (塡󠄀、剝󠄀、頰󠄀)。[ o ]現在の人名用漢字のうち、192 字がレベル 2 に分類され、[ p ] 105 字は標準に含まれていません。[ q ]
レベル 1 の漢字は、それぞれの「代表的読み」(つまり、この規格の目的のためだけに選ばれた標準的な読み)の順に並べられています。この場合の漢字の読みは音読みまたは訓読みの場合があります。読みは五十音順に並べられています。[ r ]一般的に、音読み(中国語の音)が代表的読みとみなされます。漢字に複数の音読みがある場合は、使用頻度が最も高いと判断された読みが代表的読みとして使用されます(JIS C 6226-1978 規格、第 3.4 項)。音読みがない、または音読みがあまり知られておらず使用されていないごく少数の漢字については、訓読みが代表的読みとして使用されています。動詞の訓読みを代表的読みとして使用する必要がある場合は、連用形(秀式形ではなく)が使用されます。
例えば、16行目の1~41のセルは、読みが「あ」で始まる文字を41文字並べたものです。この中には、16-10(葵:読み「き」、訓読み「あおい」)や16-32(粟:読み「ぞく」と「しょく」、訓読み「あわ」)など、訓読みに基づいて選ばれた22文字があります。16-09(逢:読み「ほ」、訓読み「あ(い)」)や16-23(歩き:読み「そう」と「きゅう」、訓読み「あつか(い) 」)は、代表的な読みに用いられた連用形動詞の2例です。
異なる漢字間で代表的な読みが同じ場合、音読みの漢字は訓読みの漢字よりも前に配置されます。音読みまたは訓読みが同じ漢字が複数ある場合は、部首と画数の順に並べられます。
レベル1でもレベル2でも、板字は模範となる形に直接従って配置されています。例えば、レベル2では、49行目88セル(劍)の直後の文字は、一般的な規則(この場合は画数)から外れ、49-88の3つの異体字(劔、劒、剱)を含んでいます。[ s ]
レベル2の漢字は、部首と画数の順に並べられています。これらの2つの特性が同じ漢字については、読み方で並べ替えられています。
漢字セットの中には、包括的な完全版漢字辞典には載っていない漢字があり、その出典が不明であるという指摘がある。例えば、最初の標準が確立されてからわずか1年後、田島(1979)は、角川書店が出版した大型漢字辞典『新字源』にも『大漢字和辞典』にも載っていない漢字が63字あることを確認したと報告しており、それらは略字としても意味をなさないと指摘している。また、漢字辞典に載っていない漢字は、明確な出典から選定することが望ましいと述べている。これらの漢字は、「幽霊文字」や「幽霊漢字」などと呼ばれるようになった。
規格第4版の起草委員会も、出所不明の漢字が存在することを問題視し、第1版の起草委員会がどのような資料を参照したのかを調査した。その結果、初代起草委員会が漢字収集に「対応分析結果」を多用していたことが判明した。起草委員会が「対応分析結果」を調査したところ、漢字セットに含まれているものの網羅的な漢字辞典には掲載されていない漢字の多くが、「対応分析結果」に記載されている「人名登録漢字」や「国定行政区一覧漢字」といったリストから来ていることが明らかになった。
「対応分析結果」で参照されている「日本語人名登録漢字」の原文は存在しないことが確認された。「全国行政区一覧」については、第4版起草委員会の笹原博之氏が、第1版の策定中のページに掲載されている漢字を検討した。委員会はまた、多くの古文書やNTT電話帳データベースに掲載されている多くの人名例も参考にした。
この徹底的な調査の結果、委員会は、由来が確実に説明できない漢字の数を、隣の表に示す12字にまで絞り込むことができた。これらのうち、いくつかの字形は複写ミスによって生じたと推測されている。特に、「妛」は、印刷業者が「山」と「女」を切り貼りして「𡚴」を作ろうとした際に生じた可能性が高い。その過程で生じた影が線と誤認され、「妛」となったと考えられる(この図は常用漢字事典に掲載されている)。
第4規格(1997年)の仕様によれば、包摂(hōsetsu ; Unicodeの「包摂」とは異なる用語だが、概念はほぼ同じ)とは、文字の異なる形状に関係なく、同じコードポイントを文字に割り当てる行為である。第4規格では、使用可能なグリフが制限されており、特定の異体字グリフがどの程度まで単一の文字コードポイントに統合されるかが明確に定義されている。
さらに、規格の仕様によれば、グリフ(字体、jitai;文字通り「文字本体」)は、文字のグラフィック表現に関する抽象的な概念であり、文字形(字形、jikei;文字通り「文字の形状」;ある意味では「グリフ」でもあるが、標準化の目的で異なるレベルで区別されている)は、グリフが実際に取るグラフィック形状としての表現である(例えば、グリフが手書き、印刷、画面表示などされることによって生じる)。1つのグリフに対して、具体的かつ/または視覚的に異なる文字形は無限に存在する。1つのグリフの文字形間の差異は、「デザイン差」と呼ばれる。
グリフが1つのコードポイントにどの程度統合されているかは、そのコードポイントの「例示グリフ」(reiji jitai)と、その例示グリフに適用できる「統合基準」(hōsetsu kijun)によって決定されます。つまり、あるコードポイントの例示グリフはそのコードポイントに適用され、例示グリフを構成する部分が統合基準に従って置き換えられたグリフもそのコードポイントに適用されます。
例えば、33-46の例のグリフ(僧)は、部首9(亻)と、最終的にそかな(曽)を生み出した漢字で構成されています。また、統一基準101では、3つの漢字が表示されています。1つ目は日本語で最もよく見られる形(曽)で、2つ目はより伝統的な形(曾)で、最初の2画が部首12(数字の8を表す漢字:八)を形成しています。3つ目は2つ目と同様ですが、部首12が反転しています(曾)。したがって、3つの順列(僧、僧、僧)すべてが、33行目46セルのコードポイントに適用されます。
第4版には、初版の正誤表の1つを含めて、186の統一基準が記載されている。
コードポイントのサンプルグリフが複数の部分グリフで構成されている場合、各部分グリフに統合基準を適用できます。統合基準が1つの部分グリフに適用されると、その部分グリフにはそれ以上の統合基準を適用することはできません。また、結果として得られるグリフが他のコードポイントのグリフと完全に一致する場合、統合基準を適用することはできません。
例示グリフは、そのコードポイントの単なる例示に過ぎず、規格によって「承認」されたグリフではありません。また、統一基準は、一般的に使用される漢字に対して、この規格のコードポイントに要素を割り当てる目的でのみ使用する必要があります。規格では、例示グリフや統一基準に基づいて、一般的に使用されない漢字を作成しないよう求めています。
漢字セットの漢字は、統一基準に従って完全に一貫して選ばれているわけではありません。例えば、41-7は統一基準72によれば3画目と4画目が交差する形(彥)と交差しない形(彦)の両方に対応していますが、20-73は交差しない形(顔)にのみ対応し、80-90は交差する形(顏)にのみ対応しています。
第4版では、「統一」、「統一基準」、「例字」という用語が採用された。第1版から第3版にかけて、漢字と漢字間の関係は「独立」、「対応」、「同値」の3種類に分類され、同値と認められる漢字は「一点に集約される」と説明された。「同値」には、形が全く同じ漢字のほか、書体の違いによる違いのある漢字、字形の差が小さい漢字が含まれる。
最初の規格では、「この規格は文字の形態の詳細を定めるものではない」(第3.1節)と規定されており、「この規格の目的は、文字とその符号の一般的な概念を定めることであり、文字の形態などの設計は、この規格の範囲外である」とも規定されている。第2規格および第3規格においても、文字の形態の具体的な設計は、この規格の範囲外である旨の注記がある(項目1の注記)。第4規格では、「この規格は、図形文字とそのビットパターンを規定するものであり、個々の文字の使用方法、具体的な設計などは、この規格の範囲外である」(JIS X 0208:1997、項目1)と規定されている。
第 4 規格では、「過去の規格との互換性を維持するための包摂規準」 (過去の規格との互換性を維持するための統一基準)が定義されています。適用対象は、JIS C 6226-1983 以降の規格と JIS C 6226-1978 との間で字形が大きく異なる 29 コードポイントに限定されます。 29 コードポイントのうち、JIS C 6226-1983 以降の字形は「A」、JIS C 6226-1978 の字形は「B」で表示されます。それぞれに、「A」と「B」の両方のグリフを適用できます。ただし、標準との互換性を主張するには、各コード ポイントに「A」形式が使用されているか、「B」形式が使用されているかを明示的に示す必要があります。
JIS X 0208:1997では、第7条と付録1および2を合わせて、合計8つの符号化方式を定義している。
以下の説明では、「CL」(制御左)、「GL」(グラフィック左)、「CR」(制御右)、「GR」(グラフィック右)領域は、それぞれ列/行表記で、0/0~1/15、2/1~7/14、8/0~9/15、10/1~15/14です。各コードにおいて、2/0にはグラフィック文字「SPACE」、7/15には制御文字「DELETE」が割り当てられます。CL領域には、C0制御文字(JIS X 0211で定義され、 ISO/IEC 6429に準拠)が割り当てられます。
第4規格で規定されているエンコーディングのうち、IANAに登録されているのは「Shift」符号化文字セットのみです。[ 11 ]ただし、他のいくつかのエンコーディングは、他の場所で定義されているIANA登録エンコーディング(EUC-JPおよびISO-2022-JP)と密接に関連しています。
JIS X 0208は、 ISO 2022 / JIS X 0202(ISO-2022-JPはそのサブセット)内で使用できます。JIS X 0208を4つのISO 2022コードセットそれぞれに指定するためのエスケープシーケンスを以下に示します。ここで、「ESC」は制御文字「エスケープ」(0x1B、または1/11)を指します。
ESC 2/4 から始まるエスケープシーケンスは、マルチバイト文字セットを選択します。ESC 2/6 から始まるエスケープシーケンスは、次に選択する文字セットの改訂を指定します。JIS C 6226:1978 は、マルチバイト 94 セット識別子バイト 4/0 (ASCII に対応@) で識別されます。JIS C 6226:1983 / JIS X 0208:1983 は、マルチバイト 94 セット識別子バイト 4/2 ( B) で識別されます。JIS X 0208:1990 も 94 セット識別子バイト 4/2 で識別されますが、改訂識別子 4/0 ( ) で区別できます@。
この規格の漢字セットを、ISO/IEC 646:1991 IRVグラフィック文字セット(ASCII)またはJIS X 0201のラテン文字用グラフィック文字セット(JIS-Roman)のいずれかと併用する場合、両方のセットに共通する文字の扱いに問題が生じます。特別な対策を講じない限り、両方のセットに含まれる文字がすべて1対1で対応しているわけではなく、1つの文字に複数のコードポイントが割り当てられる可能性があり、つまり、重複したエンコードが発生する可能性があります。
JIS X 0208:1997では、文字が両方のセットに共通する場合に関して、基本的に漢字セット(2つのコードポイントのうちの1つ)のコードポイントの使用を禁止し、重複したエンコードを排除しています。同じ名前の文字は同一の文字であると判断されます。
例えば、ASCIIのビットパターン4/1に対応する文字名と、漢字セットの3行目33セルに対応する文字名はどちらも「ラテン大文字のA」です。国際参照版+の8ビット漢字コードでは、ビットパターン4/1でも、漢字セットの3行目33セルに対応するビットパターン(10/3 12/1)でも、文字「A」(つまり「ラテン大文字のA」)が表現されます。この規格では、重複したエンコードを排除するために、「10/3 12/1」ビットパターンの使用を禁止しています。
漢字セットのコードポイントの文字を「全角文字」として扱い、ASCIIやJIS-Romanの文字を別の文字として扱う実装が存在することを考慮し、漢字セットのコードポイントの使用は後方互換性のためにのみ許可されます。例えば、後方互換性のために、漢字の国際参照版+8ビットコードにおける10/3 12/1を全角「あ」に対応するものとみなすことが許可されます。
漢字セットをASCIIまたはJIS-Romanと併用する場合、規格を厳密に遵守しても、文字の一意なエンコードは保証されません。例えば、漢字の国際参照版+8ビットコードでは、 「HYPHEN-MINUS」という文字に対してビットパターン2/13でハイフンを表すことも、「HYPHEN」という文字に対して漢字セットの1行目30セル(ビットパターン10/1 11/14)でハイフンを表すことも有効です。さらに、規格ではどちらを何に使うべきかが定義されていないため、ハイフンには一意のエンコードが与えられません。同様の問題は、マイナス記号や引用符などにも当てはまります。
さらに、漢字セットを別個のコードとして使用した場合でも、文字の一意な符号化が実装される保証はありません。しかし多くの場合、1行目1セル目の全角「表意文字スペース」と半角スペース(2/0)が共存しています。この2つをどのように区別すべきかは自明ではなく、規格にも規定されていません。
日本工業規格が制定、再確認、または改訂されてから5年が経過するまでは、以前の規格は再確認、改訂、または廃止の手続きを経る。制定以来、この規格は3回改訂され、現在、第4版が有効である。
最初の規格は、1978年1月1日に通商産業大臣によって制定されたJIS C 6226-1978 「情報交換用漢字符号系」(Jōhō Kōkan'yō Kanji Fugōkei)である。略称は78JIS 。産業技術庁の委託を受け、JIPDEC漢字コード標準化研究委員会が草案を作成した。委員長は森口重一であった。
このコードには、漢字以外の文字453文字(ひらがな、カタカナ、ローマ字、ギリシャ文字、キリル文字、句読点を含む)と漢字6349文字(レベル1漢字2965文字、レベル2漢字3384文字)が含まれており、合計6802文字でした。[ 12 ]枠線文字はまだ含まれていませんでした。標準自体は、株式会社シェイクンの石井明朝書体で設定されました。
2番目の規格であるJIS C 6226-1983 「情報交換用漢字符号系」(Jōhō Kōkan'yō Kanji Fugōkei)は、 1983年9月1日に最初の規格を改訂したもので、83JISとも呼ばれる。AISTの委託を受け、JIPDECの漢字コード関連のJIS委員会が草案を作成した。委員長は元岡徹であった。
第2次規格の草案は、常用漢字の公布、人名用漢字の施行、郵政省による日本語テレテックスの標準化などの要素を考慮して作成されたものであり、また、次の改訂はJIS C 6234-1983(24画素マトリックスプリンタ文字形式、現在のJIS X 9052)に追随するために行われた。
約300字の漢字字形の変更点の中で、康熙字辞典の様式であった多くのレベル1字字が異体字、特に簡体字(略字や拡張新字体など)に変更されました。例えば、大幅な変更により批判の的となることが多いコードポイントとして、18行目10セル(78JIS:鷗、83JIS:鴎)と38行目34セル(78JIS:瀆、83JIS :)が挙げられます。
康熙書体からの変更点は数多くあり、例えば25行目84番(鵠)は画の一部が失われました。また、レベル1の漢字の中には康熙書体ではないものもあり、康熙書体に変更されたものもありました。例えば80行目49番(靠)は画の一部が追加されました(つまり、25~84番で失われた画の部分と同じ部分が追加されました)。
最初の規格の本来の意図を明確にするために、これらは最終的に第4規格の統一基準のパラメータに該当することになった。上記の例(「鵠」と「靠」)の形式の違いは、統一基準42(構成要素「告」に関するもの)のパラメータに該当する。 [ t ]
文字形態の変更の大部分は、レベル1漢字とレベル2漢字の違いによるものです。具体的には、レベル1漢字の方がレベル2漢字よりも簡略化が多く行われ、レベル1漢字に適用された簡略化(例:「潑」から「溌」、「醱」から「醗」)は、レベル2漢字には一般的に適用されませんでした(「撥」はそのままです)。前述の25-84(鵠)と80-49(靠)も同様に、前者がレベル1、後者がレベル2であるため、異なる扱いを受けました。それでも、レベルに関係なく変更された文字もいくつかあります。例えば、「戸」と「冬」の要素を含む文字は、レベル1漢字とレベル2漢字で区別なく変更されました。
しかし、29のコードポイント(前述の問題のある18-10や38-34など)については、第4規格が継承した形式が第1規格の本来の意図と矛盾しています。これらのコードポイントについては、以前の規格との互換性を維持するための特別な統一基準が設けられています。
日本工業規格(情報関連分野)に新しい「X」カテゴリが導入された際、2番目の規格は1987年3月1日にJIS X 0208-1983 [ 12 ]と改称された。
第三規格であるJIS X 0208-1990 「情報交換用漢字符号」は、 1990年9月1日に第二規格を改訂したもので、略称で90JISとも呼ばれる。産業技術総合研究所(AIST )の委託を受け、日本規格協会(JSA)のJIS X 0208改訂委員会が草案を作成した。委員長は田島和夫であった。
225の漢字が変更され、レベル2に2文字(84-05「凜」と84-06「熙」)が追加されました。これは、既に含まれていた2文字(49-59「凛」と63-70「煕」)の板字の分離でした。変更の一部と2つの追加は、1990年3月に追加された118の人名用漢字に対応しています。 [ 12 ]標準自体は平成明朝で設定されました。
4 番目の規格JIS X 0208:1997 「情報交換用の 7 ビットおよび 8 ビットの 2バイト コード化漢字セット」( 7 ビット及び 8 ビットの 2 バイト情報交換用記号化漢字セット、ナナビット オヨビ ハチ ビットの二バイト情報 コウカンヨウ フゴウカ 漢字習合)は、1997 年 1 月 20 日に 3 番目の規格を改訂しました。 短い。産業技術総合研究所の委託を受けて、JSAのコード化文字セット調査研究委員会が草案を作成した。委員長は芝野 幸司。
今回の改訂の基本方針は、文字セットに変更を加えないこと、曖昧な規定を明確にすること、そして規格を比較的使いやすくすることであった。追加、削除、コードポイントの再配置は行わず、例となるグリフも例外なく変更しなかった。しかし、規格の規定は完全に書き直され、あるいは補足された。第3版規格は説明を除いて65ページであったのに対し、第4版規格は説明を除いて374ページにも及んだ。
今回の改訂の主なポイントは以下のとおりです。
JIS X 0213(拡張漢字)は、「JIS X 0208が当初意図していた現代日本語を符号化するのに十分な文字セットを提供すること」を目的として設計されました。[ 16 ]これは、JIS X 0208の漢字セットを拡張した文字セットを定義しています。JIS X 0213の起草者は、JIS X 0208からJIS X 0213への移行を推奨しており、その利点の1つとして、JIS X 0213が兵庫漢字グリフリストや新しい人名用漢字と互換性があることが挙げられます。
起草者の予想に反し、JIS X 0213は2000年の制定以来、普及が決して速いとは言えない状況にある。JIS X 0213:2004の起草委員会は(2004年に)、「『大多数の情報システムが共通して利用できるのはJIS X 0208のみ』という現状が依然として続いている」と述べている(JIS X 0213:2000、付録1:2004、2.9.7項)。
パーソナルコンピュータ分野で最も普及しているオペレーティングシステム(ひいては最も普及しているデスクトップ環境)であるMicrosoft Windowsでは、 2006年11月にリリースされたWindows Vista以降、JIS X 0213規格が採用されています。Mac OS Xは、 2001年にリリースされたバージョン10.1以降、JIS X 0213に対応しています。Linuxなどの多くのUnix系OSも、必要に応じて(オプションで)JIS X 0213をサポートできます。したがって、パーソナルコンピュータにおけるJIS X 0213のサポートは、将来的にはその普及を妨げるものではないと考えられます。
JIS X 0213の起草者の中には、JIS X 0213が正式に採用される前に、JIS X 0208とJIS X 0213が混在する状態になると予想する者もいる(佐藤、2004)。しかし、JIS X 0208は現状でも引き続き使用されており、今後も規格として存続すると予測する者も多い。JIS X 0213が一般的に使用されるようになるには、いくつかの障壁を克服する必要がある。
JIS X 0208 / JIS C 6226は主に文字セットであり、厳密に定義された文字エンコーディングではないため、いくつかの企業が独自の文字セットのエンコーディングを実装しています。
これらのうちいくつかは、標準規格の未割り当て領域の代わりに、ベンダー固有の文字割り当てを組み込んでいる。これには、Windows-932、MacJapanese、およびNECのPC98文字エンコーディングが含まれる。IBM-932とIBM-942もベンダー割り当てを含んでいるが、それらはJIS X 0208で使用される領域外に配置されている。
上記のとおり、この漢字セットはISO/IEC 646:1991 IRV(ASCII)グラフィック文字セットとの上位互換性はありません。漢字セットとIRVグラフィック文字セットは、JIS X 0208(漢字にはIRV + 7ビットコード、漢字にはIRV + 8ビットコード)で規定されているように併用できます。EUC -JPでも併用可能です。
この漢字セットには、 JIS X 0201のラテン文字用文字セットに含まれる3文字(2/2(引用符)、2/7(アポストロフィ)、2/13(ハイフンマイナス))が欠けています。一方、この漢字セットには、JIS X 0201のカタカナ用文字セットに含まれるすべての文字が含まれています。
漢字セットとラテン文字用グラフィック文字セットは、JIS X 0208 に規定されているとおりに一緒に使用できます(ラテン文字+漢字用 7 ビットコード、およびラテン文字+漢字用 8 ビットコード)。漢字セット、ラテン文字用グラフィック文字セット、および JIS X 0201 のカタカナ用グラフィック文字セットは、JIS X 0208 に規定されているとおりに一緒に使用できます(シフトコード文字セット、すなわちShift JIS )。EUC -JPでは、漢字セットとカタカナ用グラフィック文字セットを一緒に使用できます。
JIS X 0212(補助漢字)は、JIS X 0208に含まれていない文字を必要とする情報処理のために、コードポイントを持つ追加の文字を定義します。JIS X 0208の主要漢字セット内に文字を割り当てるのではなく、補助文字を含む94×94の漢字セットを別途定義します。
EUC-JPでは、JIS X 0212とJIS X 0208を併用できます。また、JIS X 0208とJIS X 0212はどちらもUCS/Unicodeの漢字統一のソース規格であるため、両方のセットの漢字を1つのUnicode形式の文書に含めることができます。
JIS X 0208の第2版で変更されたコードポイントのうち、JIS X 0212の28のコードポイントは変更前の文字の形を反映している。[ 17 ]また、JIS X 0212は、JIS X 0208で非漢字(〆 、1行目26セル)として割り当てられていた「閉鎖記号」を漢字(乄、16行目17セル)として再割り当てしている。JIS X 0212は、これら以外にJIS X 0208と共通する文字はない。したがって、単独での一般的な使用には適していない。
しかし、JIS X 0208の第4版では、JIS X 0212との関連性は全く定義されていませんでした。これは、JIS X 0208の第4版の起草委員会がJIS X 0212の選択および識別方法に対して批判的な意見を持っていたためと考えられています。[ 18 ]文字の意味や選択の根拠が適切に文書化されていなかったため、目的の漢字がレパートリー内の漢字と一致するかどうかを特定することが困難でした。[ 19 ]第4版の規格本文では、JIS X 0212の文字選択の問題点を指摘するとともに、「文字選択が不可能であるだけでなく、併用も不可能であると考えられ、JIS X 0212との関連性は全く定義されていない」と述べています(3.3.1節)。

JIS X 0213(拡張漢字)は、JIS X 0208の漢字セットを拡張した漢字セットを定義しています。この規格によれば、「JIS X 0208が当初意図していた現代日本語をエンコードするのに十分な文字セットを提供することを目的として設計されている」とのことです。[ 16 ]
JIS X 0213 の漢字セットは、JIS X 0208 の漢字セットで表現できるすべての文字を包含し、多くの追加文字が含まれています。 JIS X 0213 は、合計で 1183 の非漢字と 10,050 の漢字 (合計 11,233 文字) を 2 つの 94 x 94面(面、men )内に定義しています。 最初の面 (非漢字とレベル 1 ~ 3 の漢字) は JIS X 0208 に基づいており、2 番目の面 (レベル 4 の漢字) は JIS X 0212 の未割り当て行に収まるように設計されており、EUC-JPで使用できます。[ 20 ] JIS X 0213 は、JIS X 0213 全体をエンコードできる Shift_JIS のバリアントであるShift_JISx0213も定義しています。
ほとんどの場合、JIS X 0213 平面 1 は JIS X 0208 の上位集合です。ただし、JIS X 0213 では、JIS X 0208 とは異なる統一基準が一部のコード ポイントに適用されています。そのため、JIS X 0208 では 1 つのコード ポイントで表されていた漢字のペアが、統一されたことにより、JIS X 0213 では別々のコード ポイントが割り当てられています。例えば、JIS X 0208 の 33 行目 46 セルにある漢字(前述の「僧」)は、右手部分があるため、いくつかの異形を統一しています。 JIS X 0213では、2つの形式(「丷」という要素を含むもの)が平面1行33セル46に統一されており、もう1つの形式(「八」という要素を含むもの)は平面1行14セル41に配置されています。そのため、JIS X 0208行33セル46をJIS X 0213平面1行33セル46にマッピングするか、平面1行14セル41にマッピングするかを自動的に決定することはできません。[ u ]これは、JIS X 0213起草委員会が認めているように、JIS X 0213がJIS X 0208と上位互換性があるとみなせる範囲を制限します。[ 21 ]
しかしながら、ほとんどの場合、 JIS X 0208のm行nセルはJIS X 0213の1面m行nセルに対応しているため、実際には大きな混乱は生じません。これは、ほとんどの書体がJIS X 0208に示されているグリフを使用するようになっており、ほとんどのユーザーが統一基準を意識的に認識していないためです。
JIS X 0208の漢字セットは、ISO/IEC 10646(UCS)およびUnicodeにおける漢字統一の原典となる標準規格の一つです。JIS X 0208の各漢字は、UCS/Unicodeの基本多言語面(BMP)においてそれぞれ固有のコードポイントに対応しています。
JIS X 0208 の漢字以外の文字も、BMP ではそれぞれ独自のコードポイントに対応しています。ただし、一部の特殊文字については、UCS/Unicode (JIS X 0208:1997 で指定された文字名に基づく) とは異なる対応関係を実装しているシステムもあります。
引用の目的上、これらの日本語名は、ローマ字表記されている場合は西洋の順序で、そうでない場合は東洋の順序で表記します。