JIS X 0208について調査してみた(3)

前回までは、

  • 漢字用7ビット符号
  • 漢字用8ビット符号
  • 国際基準版・漢字用7ビット符号
  • 国際基準版・漢字用8ビット符号(EUC-JPの一部)

まで確認しまして、次に行きたい所なのですが、
EUC-JPが「JIS X 0208」をベースにしているので、そちらも同時に確認します。

EUC-JP

EUCーJP」は、Extended UNIX Code Packed Format for Japaneseの略で、
UNIX上で日本語を扱うために生み出された、8ビットの2バイト文字コード。(シングルシフトは制御文字なので計算に入れていない。)

国際基準版ISO/IEC 646を(ASCII)をGL領域で、「JIS X 0208」の漢字集合をGR領域で用いるので、
JIS X 0208」の「国際基準版・漢字用8ビット符号」と同様になる。

しかし、「EUC-JP」は、「JIS X 0201」の片仮名用図形文字集合と、「JIS X 0212」の補助漢字も使えるので
EUC-JP」が「JIS X 0208」を包含している(サブセットとしている)。

従って、「EUC-JP」のGR領域では、以下の文字集合を切り替える必要が出てくる。

JIS X 0208」の漢字集合は、予めGR領域に呼び出されている。(ロッキングシフトされてる?)
JIS X 0201」片仮名用図形文字集合をGR領域に呼び出すときは、シングルシフト(SS2)を用いる。
JIS X 0212」の補助漢字をGR領域に呼び出すときには、シングルシフト(SS3)を用いる。

いずれのシングルシフトも、次の1文字だけ文字集合を切り替える。
従って、見た目は3バイトに見えるが、シングルシフトは制御文字なので、文字自体は2バイトという事になる。

ここまでは、Wikipediaなどで確認できる情報なのだけど、
ここから先を「EUC-JP」の規格書などを参考して調査しようと思ったのですが・・・
どれがどれかワカラネエェェェ・・・・

色々調べたのですが、そもそもEUC自体に歴史があり、ここを調べてるだけでかなりの時間が経過しておりました。

そして、一番気になったのが、そもそも「EUC-JP」ってどういう規格なの?ってことでした。
これに関しては、EUCという規格があり、それの日本語ローカライズ版が日本語EUCと呼ばれていて、
さらにその中で「JIS X 0208」がベースになっているものが「EUC-JP」と呼ばれているものらしいです。

http://ja.wikipedia.org/wiki/Extended_Unix_Code

他にも色々と気になる部分があったのですが、「JIS X 0208」自体の調査から外れすぎるので後の記事にしたいと思います。
これは今回調査するべきじゃなかったなー、規模がデカすぎた・・・

資料だけをメモ

ラテン文字・漢字用7・8ビット符号

とりあえず、一旦、EUC(日本語EUCEUC-JPなどなど)は忘れて次の符号化方式を調べてみます。

こちらは、「JIS X 0201」のラテン文字用図形文字集合と「JIS X 0208」の漢字集合を用いる場合。
これも、当然のことながら重複する文字があるので、

JIS X 0201規定され図形文字と同じ図形文字は用いてはならない。
ただし、これまでの慣用的なり用と互換を目的としてだけ、附属書5表2に規定する文字をJIS X 0201規定される文字とはことなった図形文字として用いてもよい。


JIS X 0208」7.3 JIS X 0201ラテン文字と同時に用いる場合の符号より引用

となっており、国際基準版の時と似ている。

ちなみに、国際基準版(ISO/IEC 646)と「JIS X 0208」の違いは、

92番の文字にバックスラッシュ ('\') の替わりに円記号 ('¥') が、126番にチルダ ('~') の替わりにオーバーライン ('‾') が割り当てられている。


Wikipedia JIS X 0201 より引用 http://ja.wikipedia.org/wiki/JIS_X_0201

となっております。

ラテン文字・漢字用7ビット符号

7ビット符号なので、GR領域は存在しません。
なので、この場合は、両方の文字集合をGL領域に割当て、いつものようにシフトアウト(SO)、シフトイン(SI)によって文字集合を切り替えて運用します。

  • CL領域には、JIS X 0211のC0集合を割り当てる。
  • GL領域には、次の図形文字集合を割り当てる。
    • SIが先行し、次のSOが現れるまでは、ラテン文字用図形集合を割り当てる。
    • SOが先行し、次のSIが現れるまでは、漢字集合を割り上げる。

JIS X 0208」7.3.1 ラテン文字・漢字用7ビット符号より引用

こちらも、国際基準版の時とあまり違いがありません。

ラテン文字・漢字用8ビット符号

8ビット符号なので、2つの文字集合をそれぞれ、GL領域、GR領域に割り当てて運用します。

  • CL領域には、JIS X 0211のC0集合を割り当てる。
  • GL領域には、ラテン文字用図形文字集合を割り当てる。
  • CR領域には、JIS X 0211のC1集合を割り当てるか又は何も割り当てないかのいずれかとする。
  • GR領域には、漢字集合を割り当てる。
    • CR領域にJIS X 0211のC1集合を割り当てない場合、CR領域は空き領域とし、他の図形文字を割当ててはならない。

JIS X 0208」7.3.2 ラテン文字・漢字用8ビット符号より引用

さて、これで残りは、

となりましたが、両方とも内容が多くなりそうなので、個別に調査していく予定でございます。