MacJapanese

MacJapaneseまたはMac OS Japaneseは、AppleがShift_JISを独自に拡張した文字コードである。

主にClassic Mac OSのバージョン 7.1からバージョン 9.//x//までの間で利用された。

1. 対応する文字コード
------------

MacJapaneseはIANAによって登録されていない。そのためRFC 2045の[1]に従って、XML、MIMEなどでは "x-Mac-Japanese" という文字列がこの文字コードの名前として使われている。

また、MacJapaneseをUnicodeにマッピングした上で、Unicode用の文字符号化方式を使って符号化する方法もあり、macOSのファイル名などにはこの方法が使われている。ただし、MacJapanese固有の文字を私用領域  のU+F860、U+F861、U+F862、U+F87A、U+F87E、U+F87Fを使って表現するので、macOS以外の環境との互換性は無い。

2. 歴史
-----

3. 文字セット
--------

以下、「0x」を数字の先頭に付けた十六進法表記を用いて各文字のコードを表す。

3.1. 1バイト
---------

0x00から0x7Fまでと0xA1から0xDFまでの部分はJIS X 0201に準ずる。ただし0x7EにはASCIIに倣ってU+7Eのチルダが割り当てられている。

次の記号が追加されている。

0x80 …… U+5C reverse solidus 、半角バックスラッシュ「\}}」
0xA0 …… U+A0 no-break space、ノーブレークスペース 
0xFD …… U+A9 copyright sign、著作権記号「©}}」
0xFE …… U+2122 trade mark sign、商標記号「™}}」
0xFF …… halfwidth horizontal ellipsis、半角の欧文用三点リーダー

3.2. 2バイト
---------

2バイトで表される文字は、JIS X 0208-1990 を基にしている。さらに0x8540から0x886Dに「Apple標準システム外字」が、0xEB41から0xED96までに縦書き用の文字が追加されている。Apple標準システム外字のうちUnicodeに対応している文字には次のようなものがある。

3.2.1. Apple標準システム外字
--------------------



3.2.2. 縦書き用の文字
--------------

縦書き用文字には、括弧などの記号を回転させたものと、句読点と小書きの仮名を右上に寄せたものがある。「︰}}」、「︙}}」、「︵}}」「︶}}」、「︻}}」「︼}}」など。三点リーダは U+FE19 に収録されているが、MacJapaneseのコードポイントとは異なり、互換性はない。

これらは、DTPなどの縦書きに対応したアプリケーションで縦書き表示をする際に、本来の文字コードを変換してQuickDrawの描画APIに渡すために使われたものである。通常、情報交換に使われることはない。

4. 他の文字コードとの対応
--------------

全角文字に関しては、縦書き用文字を別にすると、次のように区分できる。

4.1. 区分1
--------

NEC特殊文字にある文字。73字。

シフト符号化表現で符号化すると、MacJapaneseと   Windows-31J、Shift_JIS-2004   とでは別のコードポイントが与えられているために、機種依存文字として文字化けの原因となる。例えば「⑫}}」は   Windows-31J   や   Shift_JIS-2004   では   0x874B   に割り当てられているが、MacJapanese においては   0x874B   に「㈹}}」が割り当てられているといった具合である。Unicode   においては同じコードポイントが与えられているため、文字化けは発生しない。

4.2. 区分2
--------

NEC特殊文字になく、JIS X 0213 にはある文字。53字。

区分1と同じく、Shift_JIS-2004 で表現するとMacJapaneseとは別のコードポイントが割り当てられているため、文字化けの原因となる。

4.3. 区分3
--------

NEC特殊文字にも JIS X 0213 にもなく、Unicodeにはある文字。109字。

Unicodeのエンコーディングを用い、対応する文字のグリフが存在するフォントを利用すれば、正常に情報交換することができる。仮にMacJapaneseを用いて情報交換し、Unicode   に変換しようとした場合には、「Unicode   と   MacJapanese   の変換テーブル」を使わないと変換することができない。

4.4. 区分4
--------

NEC特殊文字にも JIS X 0213 にもUnicodeにもないが、Unicodeでは文字合成で表せる文字。3字。

囲み文字であり、記号用ダイアクリティカルマークU+20DDを用いた文字合成で表現するか、CSSの OpenType feature tag で表現する。そのため、対応していないOS・フォントやアプリケーションで表示しようとしても、合成されるべきところが合成されずに表示される。文字一覧を下記に記す。文字のうち、左は文字合成、右はCSSの OpenType feature tag を使用したもの。



4.5. 区分5
--------

NEC特殊文字にも JIS X 0213 にもUnicodeにもないが、同型・同用途の文字がUnicodeにある文字。7字。

Unicodeのエンコーディングと対応するフォントを用いて情報交換することはできるが、コードポイントは別でありdate=2014年8月、MacJapanese   との互換性はない。なお、MacJapanese   で入力した場合に   Unicode   へ変換するならば区分7に準ずる。Unicode   のコードポイントにある同型の文字一覧を下記に記す。文字が2種類あるものは、左はUnicode、右はCSSの OpenType feature tag を使用したもの。



4.6. 区分6
--------

NEC特殊文字にも JIS X 0213 にもUnicodeにもないが、同型の別字が JIS X 0213 やUnicodeにある文字date=2014年8月。2字。

区分5と同様に、別のコードポイントに同型の文字があるもの。この同型の文字は、MacJapaneseおよびJIS X 0213やUnicodeに収録されている。共に全角ラテン文字と同型。なお、MacJapanese   で入力した場合に   Unicode   へ変換するならば区分7に準ずる。Unicode   のコードポイントにある同型の文字一覧を下記に記す。



4.7. 区分7
--------

NEC特殊文字にも JIS X 0213 にもUnicodeにもなく、同型・同用途の文字もUnicodeにない文字。9字。

文字合成を行なったり異体字タグを利用したりして表現することになる。そのためにUnicodeの私的領域であるU+F860、U+F861、U+F862、U+F87A、U+F87E、U+F87Fを使っている。したがって、MacJapaneseに対応していないフォントやアプリケーションで表示しようとしても、合成されるべきところが合成されずに表示されたり、異体字となったりする。記号一覧を下記に記す。記号が2種類あるものは、右はCSSの OpenType feature tag を使用したもの。



5. macOS での対応
-------------

macOSにおいては、MacJapaneseは「Shift_JIS 」あるいは「日本語 」と表現される。

また、macOS附属のフォントではOsakaのみがMacJapaneseに完全対応している。ヒラギノはUnicodeとAdobe-Japan1文字コレクションに対応しているため、Unicodeを扱えるアプリケーション上ではUnicodeに対応する文字が存在しない18字を除いてMacJapaneseの文字を表示できる。一方、CID を扱えるアプリケーション上でヒラギノを使う場合には、halfwidth horizontal ellipsis 以外の文字を全て表示できる。

6. iPod での対応
------------

7. 脚注
-----

8. 関連項目
-------

文字コード
JIS X 0208
Shift_JIS
Microsoftコードページ932
Unicode
囲み文字
ARIB外字

9. 外部リンク
--------

[2]
[3]