シフトJISの「拡張文字」

Copyright ©1998-2003 Petronius All rights reserved.

2002/06/10 公表

JISコードの区点では、9~15区と85~94区を未定義とされてゐる。然し、シフトJISでは、13区と89~92区と115~119区の部分に対し独自に漢字などの文字の割当てを行つてゐる。

此処では、この件についてunicode(utf-8)と絡めて説明し、併せて正漢字の使用についての留意点を纏めておきたい。

本論

「拡張文字」の一覧表

13区(0x8740~0x879E)
①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ・㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡・・・・・・・・㍻〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪・・
89区(0xED40~0xED9E)
纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德
90区(0xED9F~0xEDFC)
忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱
91区(0xEE40~0xEE9E)
犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚
92区(0xEE9F~0xEEFC)
釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑・・ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"
115区(0xFA40~0xFA9E)
ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲
116区(0xFA9F~0xFAFC)
夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯
117区(0xFB40~0xFB9E)
涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰
118区(0xFB9F~0xFBFC)
蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙
119区(0xFC40~0xFC4B)
髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑

「拡張文字」の一覧表の概説

上記は、シフトJISの13区に指定された「特殊記号」と115区から119区に指定された「IBM拡張文字」と、89区から92区に指定された「NEC選定IBM拡張文字」の三つに分類される。本来、JISで規定された区点番号は、1区1点から94区94点までの範囲だが、シフトJISの場合は其の符号構成により95区1点以降の指定も存在する。其の中には、漢字やローマ数字なども指定されてゐるが、先づは漢字の部分について言及する。

「拡張文字」として指定された漢字は、「IBM拡張文字」と「NEC選定IBM拡張文字」と夫々に360種類ある。字体はほぼ所謂康煕字典体に準拠された形式を採つてゐるやうだが、進繞だけは一点物を採用してゐる。

JIS基本漢字で認められてゐる漢字は、第1水準漢字と第2水準漢字の二種類しか認められてゐない為、此れらの360種類の文字は世間で言ふ「機種依存文字」に該当する事になり、シフトJISでの使用は好ましくないとされてゐる。

「拡張文字」として選定された360種類の漢字の中には、JIS基本漢字から洩れてしまつた漢字や、JIS基本漢字では字体包摂に依り切捨てられた正字や異体字などが指定されてゐる。清朝の康煕帝の御名の玄燁の燁とか、支那の政治家の鄧小平の鄧とかの漢字は、JIS基本漢字には無く、「拡張文字」が利用可能でないと表示できない。

又、「拡張文字」は、必ずしもJIS基本漢字の包摂基準に則つて作成されてゐる訳ではないので、JIS基本漢字として同じ文字概念とされた文字を、別の文字として登録してしまつてゐるものが幾つかある。

文字コードの規定

簡単に文字コードの規定を纏めておく。

ASCII
7bitで英数字を規定した最も基本となる文字コード。
"JIS X 0201"
「JISローマ字カナ」とも云ふ。8bit(1byte)の文字コードで、制御符号の領域を考慮し、33~126[DEC]に規定された半角英数(ASCII)と、161~223[DEC]に規定された半角カナがある。"RFC 1468"では半角英数の使用は規定されてゐるが、半角カナの使用は除外されてゐる。
"JIS X 0208"
「JIS基本漢字」とも云ふ。33~126[DEC]の範囲の2byteを指定して日本語の漢字を表現する文字コード。1~94の区と点でコード位置を指定してゐる。
"iso-2022-jp"
ASCIIと「JIS基本漢字」を切替へ乍ら表現する文字コード。7bitで表現可能。主に電子メールで利用されてゐる。
unicode
16bitを最大限に利用して世界各地の文字を表現する文字コード。

文字の実装の関係で、シフトJISとかEUC-JPとかutf-8とか色々あるが、正式な文字コードは上記の5種類に分類される。

「拡張文字」とunicodeの関係

「拡張文字」は、全てunicodeに実装されてゐる。然し其の内部の区分けとして、「CJK統合漢字」と「CJK互換漢字」とに分類されてゐる。

unicodeの内部としては、「CJK統合漢字」は此れからも積極的に使つも良い文字で、「CJK互換漢字」は此れ迄の電子文書の互換性を維持する為に残した文字であると見る事ができる。

当然、JIS基本漢字の第1水準漢字や第2水準漢字は全て「CJK統合漢字」に実装されてゐるのだが、「拡張文字」の場合は下記に示す文字が「CJK互換漢字」として分類されてゐる。

「CJK互換漢字」
朗隆﨎﨏塚﨑晴﨓﨔凞猪益礼神祥福靖精羽﨟蘒﨡諸﨣﨤逸都﨧﨨﨩飯飼館鶴

日本の場合は、「CJK互換漢字」は34文字分だけ指定されてゐるが、韓国の"New Gulim"ではより多くの「CJK互換漢字」が指定してある。

unicodeの「CJK統合漢字」と「CJK互換漢字」

統合漢字に移し替へが可能な漢字
統合漢字に移し替へが難易な漢字
﨎﨏﨓﨟蘒﨡﨣﨤﨧﨨﨩

括弧内の文字が「CJK統合漢字」で、左隣に該当文字の「CJK互換漢字」を示した。

移し替へが可能な文字が23文字、移し替へが難易な文字が11文字ある。意味が同じ異体字まで範囲を拡げれば、【】などの文字も移し替へは出来るかも知れない。

移し替へが可能な文字の中で「CJK互換漢字」に指定された正字は下記の17文字である。

「CJK互換漢字」の中の正字
朗隆塚晴猪益神祥福靖精羽諸都飯飼館

正字と「拡張文字」

「拡張文字」の中の正字

括弧内の文字が、JIS基本漢字で規定されてゐる文字で、其の左に該当の「拡張文字」を示した。

上記の31文字が、「拡張文字」で利用可能な正字である。此れらの文字は、JIS基本漢字の字体包摂基準で同一と見做された文字である。

更にこの中から、unicodeとして二種類に分類されてゐる。

「拡張文字」且つ「CJK統合漢字」の正字
增寬敎橫淸瀨緖薰賴郞鄕閒靑黑
「拡張文字」且つ「CJK互換漢字」の正字
塚晴朗猪益神祥福靖精羽諸都隆飯飼館

結果として上記の31文字は、文書を作る上で注意して貰ひたいと言ひたい。

「拡張文字」且つ「CJK統合漢字」の正字は14文字で、残りの「拡張文字」且つ「CJK互換漢字」の正字が17文字ある。この17文字は先に説明した「CJK互換漢字」の中の正字と全く同一の文字である。

正字派に対する表記への注意

此処では、従来のシフトJISやEUCやJIS(iso-2022-jp)で文書を作る場合と、unicodeのutf-8で文書を作る場合とに分けて論じたいと思ふ。

従来の文字コードを使用した場合

この場合は、JIS基本漢字の第1水準漢字と第2水準漢字に規定された漢字のみ使用できる。従つて、幾ら正字が表現できるからと言つても、其の侭「拡張文字」を使用する事はお勧め出来ない。

然し、HTML文書作成で表現上必要になつた場合は、飽く迄も緊急退避の意味合でunicodeに依る実体参照で表現する事はできると思ふ。

其の場合、「CJK互換漢字」に属する漢字は、飽く迄も従来の文字コードの互換性を維持する為にあるものと理解して極力利用を避けなければならないだらう。

数値文字参照一覧(unicodeに依る実体参照)

飽く迄も参考として、正字に関する実体参照の一覧を示しておく。括弧内に具体的な記述方法を示し、其の左側に表示され得る文字を示した。

「拡張文字」且つ「CJK統合漢字」の正字
「拡張文字」且つ「CJK互換漢字」の正字

unicodeのutf-8を使用した場合

この場合は、シフトJISの「拡張漢字」に規定されてゐる漢字でも「CJK統合漢字」に規定されてゐる漢字であれば、何の疑問も無く使ふ事が出来る。

然し、「CJK互換漢字」に属する漢字は、飽く迄も従来の文字コードの互換性を維持する為にあるものと理解して極力利用を避けなければならないだらう。

記号と「拡張文字」

"JIS X 0208"では、句読点や括弧などの記号の領域を1区と2区とに設けてゐる。1978年に制定された当初、2区には1点から14点迄の記号しか規定されてゐなかつた。

このコードを基にシフトJISが作られたのであるが、其の際13区に「○附き数字」など2区では規定されてゐない記号が多数組込まれてゐる。

其の后、1983年にJIS基本漢字の見直しが掛つた際、2区の記号の領域にも追加の手が入れられた。其の結果、13区に組込まれた記号などと重複する部分が発生した。此処で一覧にしてみる。

重複する記号

此処では実際の記号を中央に配置し、左に2区の区点番号を、右には13区の区点番号を配置してみた。

以上の九つの記号は、JIS X 0208-1983で追加された記号の一部である。13区は、JIS基本漢字では依然として未定義とされてゐるので、同じ記号を使ふのなら2区の記号を使ふべきである。

然し乍ら、グリフの相違から2区と13区の区別を行ふ事は極めて難しいと思はれる。

unicodeの互換領域

続いて記号や全角英数や半角カナについて言及しておく。

unicodeの互換領域には、既存の文字コードで作成された電子文書との互換性を維持する為に、0xF900~0xFFFD(63744~65533[DEC])の領域を割当ててゐる。

此れらの領域の文字の使用は「するな」と迄は言はない迄も、極力使用を避けるべきだらう。以下に一覧を附す。

「CJK互換漢字」
朗隆﨎﨏塚﨑晴﨓﨔凞猪益礼神祥福靖精羽﨟蘒﨡諸﨣﨤逸都﨧﨨﨩飯飼館鶴
「半角形/全角形」

「CJK互換漢字」については前述したので此処での解説は割愛する。

此処で意外だつたのは、シフトJISの13区で指定された「○附き数字」などの記号がunicodeでは正式に規定されてゐると云ふ点である。必要なものだからunicodeでは正式に規定したと云ふ処だらうか。

然し、逆に"JIS X 0201"で規定された半角カナや、"JIS X 0208"で規定された全角英数が、此処では「互換領域」に回されてしまつてゐる。と云ふ事は、今后の電子文書では此れらの文字の使用は避けるべきであると言へる。

下記に移し替へが可能な文字を一覧にしてみる。

ASCIIに関するもの
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
カタカナに関するもの
。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜
記号に関するもの
¢£¬¯¦¥

此処で注意したい部分は2点ある。

先づ第一に、"\"の記号に関聯する事である。JIS X 0201ローマ字の場合バックスラッシュのコード位置に"¥"を置いてゐるので、バックスラッシュを表現できない。又、HTML文書で日本の通貨単位の円の記号を表現する場合は、"&yen;"とするべきである。

第二に、実体参照に関聯する事である。HTML文書を作成する場合、一部の文字は実体参照で表現する必要がある。下記に一覧を示しておく。

" (quotation mark = APL quote)
&quot; &#34;
& (ampersand)
&amp; &#38;
< (less-than sign)
&lt; &#60;
> (greater-than sign)
&gt; &#62;
¢ (cent sign)
&cent; &#162;
£ (pound sign)
&pound; &#163;
¬ (not sign)
&not; &#172;
¯ (macron = spacing macron = overline = APL overbar)
&macr; &#175;
¦ (broken bar = broken vertical bar)
&brvbar; &#166;
¥ (yen sign = yuan sign)
&yen; &#165;

以上は、unicodeで電子文書を作成する場合の注意として纏めておく。

其の他の注意

区点の未定義領域
9区01点~15区94点,85区01点~119区12点
シフトJISの外字領域
0xF040~F9FF
unicodeの私用領域
0xE000~0xF8FF(57344~63743[DEC])

JISコードなどの区点の「未定義領域」やシフトJISで云ふ「外字領域」や、unicodeで云ふ「私用領域」を示してみた。

「未定義領域」や「外字領域」に存在する文字を使用するのは避けるべきである。然し、「私用領域」の取扱ひをどのやうにすべきか疑問に思つてゐた。

結果的には、「未定義領域」も「外字領域」も「私用領域」も或る一定の文字を特定させる事が出来ない点で性質が同じであり、此れらの領域に存在する文字や記号の類は使用すべきではない。

この事はこの頁を読んだ方々には是非ともご理解頂きたい。

最後に一言

要は日本語の文章である限り、JIS基本漢字を守つてゐれば問題無いのである。

参考文献

関聯記事