最終更新 2006-12-30

JIS X 0213とUCS/Unicodeとの対応について

# JIS X 0213からUCS/Unicodeへの変換
# UCS/UnicodeからJIS X 0213への変換
  # (1) 半濁点付き仮名
  # (2) アクセント付きラテン文字及び声調記号
  # (3) 声調記号についての補足 [2006-12-30]

JIS X 0213からUCS/Unicodeへの変換

JIS X 0213:2004に規定されたもののうち、以下の25個の面区点位置はUCS/Unicodeにすでに収録済み(2文字からなる文字列で表すべきもの)であるため、UCS/Unicodeの一符号位置に対応づけることができません。このため、JIS X 0213:2004では、これらの面区点位置を2つの符号位置からなるUCS列に対応付けるよう規定しています(附属書4)。これは、UCS/Unicodeとの国際的な整合性の上に立てば、このとおり変換すべきと考えられます。

JIS X 0213  UCS/Unicode  # [informal name for USI (cf. JIS X 0213:2004, 5.3, note 1)]
  1-04-87   <304B, 309A> # [HIRAGANA LETTER BIDAKUON NGA]
  1-04-88   <304D, 309A> # [HIRAGANA LETTER BIDAKUON NGI]
  1-04-89   <304F, 309A> # [HIRAGANA LETTER BIDAKUON NGU]
  1-04-90   <3051, 309A> # [HIRAGANA LETTER BIDAKUON NGE]
  1-04-91   <3053, 309A> # [HIRAGANA LETTER BIDAKUON NGO]
  1-05-87   <30AB, 309A> # [KATAKANA LETTER BIDAKUON NGA]
  1-05-88   <30AD, 309A> # [KATAKANA LETTER BIDAKUON NGI]
  1-05-89   <30AF, 309A> # [KATAKANA LETTER BIDAKUON NGU]
  1-05-90   <30B1, 309A> # [KATAKANA LETTER BIDAKUON NGE]
  1-05-91   <30B3, 309A> # [KATAKANA LETTER BIDAKUON NGO]
  1-05-92   <30BB, 309A> # [KATAKANA LETTER AINU CE]
  1-05-93   <30C4, 309A> # [KATAKANA LETTER AINU TU]
  1-05-94   <30C8, 309A> # [KATAKANA LETTER AINU TO]
  1-06-88   <31F7, 309A> # [KATAKANA LETTER AINU P]
  1-11-36   <00E6, 0300> # [LATIN SMALL LETTER AE WITH GRAVE]
  1-11-40   <0254, 0300> # [LATIN SMALL LETTER OPEN O WITH GRAVE]
  1-11-41   <0254, 0301> # [LATIN SMALL LETTER OPEN O WITH ACUTE]
  1-11-42   <028C, 0300> # [LATIN SMALL LETTER TURNED V WITH GRAVE]
  1-11-43   <028C, 0301> # [LATIN SMALL LETTER TURNED V WITH ACUTE]
  1-11-44   <0259, 0300> # [LATIN SMALL LETTER SCHWA WITH GRAVE]
  1-11-45   <0259, 0301> # [LATIN SMALL LETTER SCHWA WITH ACUTE]
  1-11-46   <025A, 0300> # [LATIN SMALL LETTER HOOKED SCHWA WITH GRAVE]
  1-11-47   <025A, 0301> # [LATIN SMALL LETTER HOOKED SCHWA WITH ACUTE]
  1-11-69   <02E9, 02E5> # [RISING SYMBOL]
  1-11-70   <02E5, 02E9> # [FALLING SYMBOL]

なお、[ ] 付きの名前はJIS X 0213の規定ではなく、参考としてJIS X 0213:2004に記載されたものに過ぎません。Unicode 4.1.0 のUnicode名前付き文字列 (UAX #34)には、上記の25のUSIのなかでは以下の2つについて(ほかにもある)名前が規定されています。詳細は、http://www.unicode.org/Public/4.1.0/ucd/NamedSequences.txtを参照して下さい。

KATAKANA LETTER AINU P;31F7 309A
MODIFIER LETTER EXTRA-HIGH EXTRA-LOW CONTOUR TONE BAR;02E5 02E9

※Unicode文字列の名前としては、UAX #34に規定があればそれを用いることができますが、規定がないものについてUnicodeの規定をもじったような名前を使用することは好ましくありません(詳しくはUAX#34の適合性(3. Conformance)を参照して下さい)。

UCS/UnicodeからJIS X 0213への変換

JIS X 0213:2004ではJIS X 0213からUCS/Unicodeへの変換については規定があるのですが、その逆については規定も参考情報もありません。そこで、UCS/UnicodeからJIS X 0213へ変換するときにどのような配慮が必要かについて考察したいと思います。

(1) 半濁点付き仮名

合成可能な半濁点 309A はJIS X 0213に収録されていませんので、UCS/Unicode中に合成可能な半濁点 309A が現れたときには、その直前の仮名文字と合成した形としてJIS X 0213に変換することが望まれます。

JIS X 0213 → UCS/Unicode → JIS X 0213
-----------------------------------------
  1-04-87 → <304B, 309A> → 1-04-87
  1-04-88 → <304D, 309A> → 1-04-88
  1-04-89 → <304F, 309A> → 1-04-89
  1-04-90 → <3051, 309A> → 1-04-90
  1-04-91 → <3053, 309A> → 1-04-91
  1-05-87 → <30AB, 309A> → 1-05-87
  1-05-88 → <30AD, 309A> → 1-05-88
  1-05-89 → <30AF, 309A> → 1-05-89
  1-05-90 → <30B1, 309A> → 1-05-90
  1-05-91 → <30B3, 309A> → 1-05-91
  1-05-92 → <30BB, 309A> → 1-05-92
  1-05-93 → <30C4, 309A> → 1-05-93
  1-05-94 → <30C8, 309A> → 1-05-94
  1-06-88 → <31F7, 309A> → 1-06-88
-----------------------------------------

(2) アクセント付きラテン文字及び声調記号

以下の面区点位置は、対応するUCS列のそれぞれの文字がJIS X 0213に収録されています。つまり、例えばJIS X 0213の1-11-36はUCS/Unicodeの<00E6, 0300>に対応するのですが、UCS/Unicodeの00E6はJIS X 0213の1-09-60に、UCS/Unicodeの0300はJIS X 0213の1-11-60に対応させることができます。

JIS X 0213 → UCS/Unicode → JIS X 0213
------------------------------------------------------------
  1-11-36 → <00E6, 0300> → <1-09-60, 1-11-60> or 1-11-36
  1-11-40 → <0254, 0300> → <1-11-24, 1-11-60> or 1-11-40
  1-11-41 → <0254, 0301> → <1-11-24, 1-11-58> or 1-11-41
  1-11-42 → <028C, 0300> → <1-11-23, 1-11-60> or 1-11-42
  1-11-43 → <028C, 0301> → <1-11-23, 1-11-58> or 1-11-43
  1-11-44 → <0259, 0300> → <1-11-16, 1-11-60> or 1-11-44
  1-11-45 → <0259, 0301> → <1-11-16, 1-11-58> or 1-11-45
  1-11-46 → <025A, 0300> → <1-11-35, 1-11-60> or 1-11-46
  1-11-47 → <025A, 0301> → <1-11-35, 1-11-58> or 1-11-47
  1-11-69 → <02E9, 02E5> → <1-11-68, 1-11-64> or 1-11-69
  1-11-70 → <02E5, 02E9> → <1-11-64, 1-11-68> or 1-11-70
------------------------------------------------------------

正確には、こういう状況です。つまり、JIS X 0213とUCS/Unicodeとの対応が多対一になっていますので、UCS/Unicode二文字をJIS X 0213二文字に変換すべきか、それとも合成された面区点位置に変換すべきか分かりません。

           JIS X 0213           → UCS/Unicode  →          JIS X 0213
----------------------------------------------------------------------------------
  <1-09-60, 1-11-60> or 1-11-36 → <00E6, 0300> → <1-09-60, 1-11-60> or 1-11-36
  <1-11-24, 1-11-60> or 1-11-40 → <0254, 0300> → <1-11-24, 1-11-60> or 1-11-40
  <1-11-24, 1-11-58> or 1-11-41 → <0254, 0301> → <1-11-24, 1-11-58> or 1-11-41
  <1-11-23, 1-11-60> or 1-11-42 → <028C, 0300> → <1-11-23, 1-11-60> or 1-11-42
  <1-11-23, 1-11-58> or 1-11-43 → <028C, 0301> → <1-11-23, 1-11-58> or 1-11-43
  <1-11-16, 1-11-60> or 1-11-44 → <0259, 0300> → <1-11-16, 1-11-60> or 1-11-44
  <1-11-16, 1-11-58> or 1-11-45 → <0259, 0301> → <1-11-16, 1-11-58> or 1-11-45
  <1-11-35, 1-11-60> or 1-11-46 → <025A, 0300> → <1-11-35, 1-11-60> or 1-11-46
  <1-11-35, 1-11-58> or 1-11-47 → <025A, 0301> → <1-11-35, 1-11-58> or 1-11-47
  <1-11-68, 1-11-64> or 1-11-69 → <02E9, 02E5> → <1-11-68, 1-11-64> or 1-11-69
  <1-11-64, 1-11-68> or 1-11-70 → <02E5, 02E9> → <1-11-64, 1-11-68> or 1-11-70
----------------------------------------------------------------------------------

私見ですが、JIS X 0213の本体または附属書1〜3による符号化表現を重視するならば、文字合成が実装されていない可能性を考慮して、合成された面区点位置(例えば<00E6, 0300>1-11-36)に変換するのがよいと思います。しかしながら、UCS/Unicodeによる符号化表現を重視するならば、1-11-36などの合成された面区点位置は重複符号化に過ぎず、ある意味では、文字合成の実装が一般的になるまでの経過措置的なものと考えられるので、1文字ずつ変換する(例えば<00E6, 0300><1-09-60, 1-11-60>)ほうがよいと思います。

※もっとも、より安全な情報交換の目的では、JIS X 0213の文字レパートリに対しては、もっぱらUCS/Unicodeによる符号化表現 (UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE) を用いるのがよく、JIS X 0213(本体または附属書1〜3)に規定された符号化表現を利用しないほうがよいとも考えられます。

(3) 声調記号についての補足

Unicode標準によれば、02E5から02E9の声調記号 (tone letters) を複数組み合わせると、上下の声調変化 (contour tone) を示す記号に合成されることになっています。この用法に従うと、<02E5, 02E9, 02E5> tone515 は、 tone5 + tone1 + tone5 = tone51 + tone5 = tone5 + tone15に等しく、 <02E9, 02E5, 02E9> tone515は、 tone1 + tone5 + tone1 = tone15 + tone1 = tone1 + tone5に等しいことになります。

つまり、次の表の各列で、左右に並べて示すものは、互いに等価であると考えられます。

声調記号3つ
UCS/Unicode JIS X 0213
tone515
<02E5, 02E9, 02E5>
tone5 + tone1 + tone5
1-11-64, 1-11-68, 1-11-64
tone51 + tone5
1-11-70, 1-11-64
tone5 + tone15
1-11-64, 1-11-69
tone151
<02E9, 02E5, 02E9>
tone1 + tone5 + tone1
1-11-68, 1-11-64, 1-11-68
tone15 + tone1
1-11-69, 1-11-68
tone1 + tone51
1-11-68, 1-11-70
声調記号4つ
UCS/Unicode JIS X 0213
tone5151
<02E5, 02E9, 02E5, 02E9>
tone5 + tone1 + tone5 + tone1
1-11-64, 1-11-68, 1-11-64, 1-11-68
tone51 + tone5 + tone1
1-11-70, 1-11-64, 1-11-68
tone5 + tone15 + tone1
1-11-64, 1-11-69, 1-11-68
tone5 + tone1 + tone51
1-11-64, 1-11-68, 1-11-70
tone51 + tone51
1-11-70, 1-11-70
tone1515
<02E9, 02E5, 02E9, 02E5>
tone1 + tone5 + tone1 + tone5
1-11-68, 1-11-64, 1-11-68, 1-11-64
tone15 + tone1 + tone5
1-11-69, 1-11-68, 1-11-64
tone1 + tone51 + tone5
1-11-68, 1-11-70, 1-11-64
tone1 + tone5 + tone15
1-11-68, 1-11-64, 1-11-69
tone15 + tone15
1-11-69, 1-11-69

※JIS X 0213:2004 (5.3, 備考2) では、「この規格における文字の解釈は,JIS X 0221-1又はISO/IEC 10646-2のそれと必ずしも同一ではない。この規格は,図形文字の意味及び用途を定義もしないし,制限もしない。」としていますが、このような立場は、「JIS X 0213(本体または附属書1〜3)に規定された符号化表現」を用いたときに限られるべきでしょう(私見)。UCS/Unicodeによる符号化表現 (UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE) を用いたならば、JIS X 0213:2004 (5.3, 備考2) の記述をいいことにして「身勝手な解釈」をすることは許されるものではなく、UCS/Unicodeの規定や適合性に基づいて文字を解釈すべきことは言うまでもありません。


参考文献ほか

  1. JIS X 0213:2000/Amd1:2004
    7ビット及び8ビットの2バイト情報交換用符号化拡張漢字集合
  2. 日本工業標準調査会(JISC)
    http://www.jisc.go.jp/
  3. 財団法人日本規格協会(JSA)
    http://www.jsa.or.jp/
  4. ISO/IEC JTC1/SC2/WG2 N2307 - Response to Japanese Query re IPA tone letters
    http://anubis.dkuug.dk/JTC1/SC2/WG2/docs/n2307.htm
  5. ISO/IEC JTC1/SC2/WG2 N2334 - Mapping error JIS X 0213 to 10646-2
    http://anubis.dkuug.dk/JTC1/SC2/WG2/docs/n2334.pdf
  6. ISO/IEC JTC1/SC2/WG2 N2626 - Proposal on IPA Extensions & Combining Diacritical Marks for ISO/IEC 10646 in BMP
    http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2626.pdf
  7. ISO/IEC JTC1/SC2/WG2 N2646 - Comments on N2626, Proposal on IPA Extensions & Combining Diacritic Marks for ISO/IEC 10646 in BMP
    http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2646.pdf

戻る