eucJP-ms
TOG/JVC
(オープン・グループ / 日本ベンダ協議会) CDE/Motif 技術検討 WG が定めたコードセット名です。UI-OSF共通日本語EUC にユーザー定義文字とIBM拡張文字、NEC特殊文字を追加した 日本語EUC (eucJP-open) と Unicode (UCS) との間のコード変換規則に Microsoft Windows NT 3.51 の式の変換規則を用いる場合に、このコードセット名を用います。
Unicode 経由で Windows-31J で使用できる全文字 (コードポイント) の相互変換が可能となるように変換規則が定められています。
変換規則
eucJP-ms の変換規則の概要は次の通りです。
- EUC コードセット0 (ASCII)
- ASCII (ISO/IEC 646 IRV) とみなして Unicode に変換する。
- EUC コードセット1 (JIS X 0208 + NEC特殊文字 + ユーザー定義文字)
- 1区~84区は Microsoft Windows NT 3.51 での 1区~84区の変換と同様の変換をする。
- 85区~94区 (ユーザー定義文字領域) は、U+E000~U+E3AB (私用領域) に変換する。
- EUC コードセット2 (JIS X 0201 片仮名)
- U+FF61~U+FF9F (HALFWIDTH KATKANA) に変換する。
- EUC コードセット3 (JIS X 0212 + JIS X 0208/0212 に無いIBM拡張文字 + ユーザー定義文字)
- JIS X 0212 補助漢字は、それぞれ対応する Unicode のコードポイントに変換する。
- 83区~84区 (JIS X 0208/0212 に無いIBM拡張文字) は、それぞれ対応する Unicode のコードポイントに変換する。
- 85区~94区 (ユーザー定義文字領域)は、U+E3AC~U+E757 (私用領域) に変換する。
TOG/JVC CDE/Motif 技術検討 WG の資料では、NEC特殊文字についての記述がありませんが、同WG の資料「Unicode とユーザ定義文字・ベンダ定義文字に関する問題点と解決策」では eucJP-ms について「Windows の動作するコンピュータとの間のデータ交換 に使われることを想定している」とあるので、それに必要な変換規則を補ってあります。
eucJP-ms の変換表は、このページの最後に掲げる「参考文献・資料等」の「オープン・グループ」の Web ページから入手可能です。
各文字セットの eucJP-ms でのコード割り当て
eucJP-ms での NEC特殊文字、IBM拡張文字、ユーザー定義文字のコード割り当てを簡単に説明します。
- NEC特殊文字 (13区)
Windows-31J で 13区に定義されている NEC特殊文字は、EUC コードセット 1 (JIS X 0208) の 13区にそのまま割り当てられています。
次の文字コード表の水色のコードポイントに割り当てられている文字は、JIS X 0208:1997 の 2区にも定義されている文字で、Unicode 経由で文字コードの変換を行うと、これらのコードポイントは、JIS のコードポイントに変換されます。また、灰色のコードポイントは、IBM特殊文字でも定義されています。重複符号化されている文字の変換については後で説明します。
- IBM拡張文字 (Windows-31J:115区~119区)
Windows-31J では、一部の記号文字を除いて89区~92区と115区~119区の両方でで重複して割り当てがなされていますが、eucJP-ms では、大文字のローマ数字を含む後者の文字セットが EUC コードセット3 に割り当てられています。詳細は次の通りです。
IBM拡張文字のうち、JIS X 0208, JIS X 0212 に対応する文字があるものについては、JIS のコードポイントを用います。
それ以外の文字については、コードセット3 の 84区94点から逆方向に割り当てられています。次の文字コード表に、その割り当てを示しておきます。灰色のコードポイントについては、NEC特殊文字の方にもあります。重複符号化されている文字の変換については後で説明します。
- ユーザー定義文字 (95区~114区)
Windows-31J のユーザー定義文字領域 95区~114区は、次の2個所に分割して割り当てられています。
- Windows31-J の 95区~104区
- EUC コードセット0 の 85区~94区
- Windows31-J の 105区~114区
- EUC コードセット3 の 85区~94区
重複符号化されている文字
TOG/JVC CDE/Motif 技術検討 WG が配っている eucJP-ms の変換表では表1の文字が重複符号化されています。
ほとんどの文字は、Windows での Windows-31J と Unicode との変換の規則をそのまま適用可能ですが、次の文字に関しては JIS X 0212 補助漢字の文字と重複符号化されているため検討が必要です。
- U+2116 NUMERO SIGN
- U+FF5E FULLWIDTH TILDE
U+FF5E FULLWIDTH TILDE は、本来であれば、JIS X 0212 の2区23点 (EUCでは 0x8FA2B7) に対応させるべきですが、マイクソロソフトの Windows では、 JIS X 0208 の 1区33点 (WAVE DASH, EUC では 0xA1C1) を U+FF5E FULLWIDTH TILDE と対応付けている為、JIS X 0212 と組み合わせて使う場合に問題が生じます。
eucJP-ms は、Windows の動作するコンピュータとの間のデータ交換 に使われることを想定しているため、Windows-31J のコードポイントが正しく変換できるようにする必要があります。その事から、U+FF5E FULLWIDTH TILDE は、JIS X 0208 の1区33点 (0xA1C1) と対応付けるのが妥当と思われます。U+2116 NUMERO SIGN に関しても Windows-31J との文字コード変換を優先されるのが妥当と思われます。
以上のことを踏まえて、eucJP-ms で重複符号化されている文字は次のように変換するのが妥当と思われます。
- Unicode → eucJP-ms の変換は、Unicode → Windows-31J と同じ規則を適用し表1 の○印の付いているコードポイントに変換する。
- eucJP-ms → Unicode の変換は、多対1 の変換とする。
文字 | Unicode | JIS X 0208 | NEC特殊文字 | JIS X 0212 | IBM拡張文字 | 文字名称(Unicode) |
---|---|---|---|---|---|---|
№(No.) | U+2116 | 0xADE2 ○ | 0x8FA2F1 | 0x8FF4AC | NUMERO SIGN | |
℡(TEL) | U+2121 | 0xADE4 ○ | 0x8FF4AD | TELEPHONE SIGN | ||
Ⅰ( I ) | U+2160 | 0xADB5 ○ | 0x8FF3FD | ROMAN NUMERAL ONE | ||
Ⅱ( II ) | U+2161 | 0xADB6 ○ | 0x8FF3FE | ROMAN NUMERAL TWO | ||
Ⅲ( III ) | U+2162 | 0xADB7 ○ | 0x8FF4A1 | ROMAN NUMERAL THREE | ||
Ⅳ( IV ) | U+2163 | 0xADB8 ○ | 0x8FF4A2 | ROMAN NUMERAL FOUR | ||
Ⅴ( V ) | U+2164 | 0xADB9 ○ | 0x8FF4A3 | ROMAN NUMERAL FIVE | ||
Ⅵ( VI ) | U+2165 | 0xADBA ○ | 0x8FF4A4 | ROMAN NUMERAL SIX | ||
Ⅶ( VII ) | U+2166 | 0xADBB ○ | 0x8FF4A5 | ROMAN NUMERAL SEVEN | ||
Ⅷ( VIII ) | U+2167 | 0xADBC ○ | 0x8FF4A6 | ROMAN NUMERAL EIGHT | ||
Ⅸ( IX ) | U+2168 | 0xADBD ○ | 0x8FF4A7 | ROMAN NUMERAL NINE | ||
Ⅹ( X ) | U+2169 | 0xADBE ○ | 0x8FF4A8 | ROMAN NUMERAL TEN | ||
√ | U+221A | 0xA2E5 ○ | 0xADF5 | SQUARE ROOT | ||
∠ | U+2220 | 0xA2DC ○ | 0xADF7 | ANGLE | ||
∩ | U+2229 | 0xA2C1 ○ | 0xADFB | INTERSECTION | ||
∪ | U+222A | 0xA2C0 ○ | 0xADFC | UNION | ||
∫ | U+222B | 0xA2E9 ○ | 0xADF2 | INTEGRAL | ||
∵ | U+2235 | 0xA2E8 ○ | 0xADFA | BECAUSE | ||
≒ | U+2252 | 0xA2E2 ○ | 0xADF0 | APPROXIMATELY EQUAL TO OR THE IMAGE OF | ||
≡ | U+2261 | 0xA2E1 ○ | 0xADF1 | IDENTICAL TO | ||
⊥ | U+22A5 | 0xA2DD ○ | 0xADF6 | UP TACK | ||
㈱((株)) | U+3231 | 0xADEA ○ | 0x8FF4AB | PARENTHESIZED IDEOGRAPH STOCK | ||
~ | U+FF5E | 0xA1C1 ○ | 0x8FA2B7 | FULLWIDTH TILDE |
eucJP-ms を使用する上での注意点
以下のような問題があるため、eucJP-ms は、Windows-31J との相互変換のみに用い、なおかつ使用する文字は、Windows-31J と同等の文字に限定して使うのが望ましいと思われます。
Windows-31J と共通する注意点
次の文字が、Unicode への変換が Unicodeコンソーシアムの JIS0208.TXT や、JIS X 0208:1997 の文字名称を元にした変換と異なるので注意が必要です。
文字 EUC eucJP-ms JIS0208.TXT JIS X 0208:1997 Unicode Unicode Unicode ― 0xA1BD U+2015 U+2015 U+2014 EM DASH ~ 0xA1C1 U+FF5E U+301C U+301C WAVE DASH ∥ 0xA1C2 U+2225 U+2016 U+2016 DOUBLE VERTICAL LINE - 0xA1DD U+FF0D U+2212 U+2212 MINUS SIGN ¢ 0xA1F1 U+FFE0 U+00A2 U+00A2 CENT SIGN £ 0xA1F2 U+2225 U+00A3 U+00A3 POUND SIGN ¬ 0xA2CC U+FFE2 U+00AC U+00AC NOT SIGN
JIS X 0212 に関する注意点
Windows-31J に変換する時には、IBM拡張文字にある文字のみが変換可能です。
JIS X 0212 の次の区-点 位置の文字は、eucJP-ms → Unicode → eucJP-ms の変換で、次のように変換されます。
JIS X 0212 区-点 eucJP-ms → Unicode → eucJP-ms 2-23 (TILDE) 0x8FA2B7 → U+FF5E (FULLWIDTH TILDE) → 0xA1C1 (~) 2-81 (NUMERO SIGN) 0x8FA2F1 → U+2116 (NUMERO SIGN) → 0xADE2 (No.)
0 件のコメント:
コメントを投稿