MacJapaneseからUnicodeへの変換に必要な私用領域の6文字

  • Mac OSで使われるShift-JISであるMacJapaneseは、Unicodeにない文字を含んでいる。このためMacJapaneseをUnicodeに変換する際には、PUA(私用領域)の6文字(U+F860、U+F861、U+F862、U+F87A、F87E、F87F)を、特殊な機能を持った文字として利用する。今回は、Unicodeのサイトにあるテーブル(http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/JAPANESE.TXT)に基づいて、この6文字の使われ方についてまとめてみようと思う。図に用いたフォントは(フォント名を明示していない場合は)Osaka。
  • Mac OSでは、U+F860は後続する2文字をまとめて1つの文字であるかのように扱うための特殊な文字である。また、U+F861は後続する3文字を、U+F862は後続する4文字をターゲットとする。下図は、MacJapaneseからUnicodeへの変換においてU+F860、U+F861、U+F862を使用するマッピングのすべて。以下の4つの図は符号の並びを視覚的に示したものだが、実際の文字の見た目は、対応しているアプリケーションを使用している限り、Unicodeに変換されても変化しない。


  • U+F87Aは、直前の文字の「反転」を表す。下図は、U+F87Aを使用するマッピングのすべて。


  • U+F87Eは、直前の文字の「縦書き用グリフ」を表す。下図は、U+F87Eを使用するマッピングのすべて。


  • U+F87Fは、直前の文字の「他の形状」を表す。ただしOsakaでは、MacJapaneseの0x8645(メートル記号)と0x864B(グラム記号)は、いずれも全角ラテン文字の「m」「g」と同じ字形である。下図は、U+F87Fを使用するマッピングのすべて。


  • ここまでに掲げたMacJapaneseに固有の文字のうち、右向きの黒矢印は、UnicodeにU+27A1 BLACK RIGHTWARDS ARROWが存在するにもかかわらず、特殊な文字(「反転」を表すU+F87A)を用いてMacJapaneseからUnicodeに変換される。また、FAX記号、右向き以外の黒矢印、縦書き用角括弧は、バージョン4.0以降のUnicodeに収録されている。これらの文字について、Osaka、ヒラギノPro、ヒラギノProNにおけるフォント内部のマッピングは、下図の通り(空欄はマッピングなし)。