6. JIS全角文字の各水準について
水準 | 区点 | JIS16進 | Shift_JIS | 字形 |
第1水準 | 01区〜47区 | 2121〜4F53 | 8140〜9872 | 、。,. |
第2水準 | 48区〜84区 | 5021〜7426 | 989F〜EAA4 | 弌丐丕个丱 |
NEC拡張 | 89区〜92区 | 7921〜7C7E | ED40〜EEFC | \]^_` |
外字 | 95区〜114区 | 7F21〜927E | F040〜F9FC | @ABCD |
IBM拡張 | 115区〜119区 | 9321〜972C | FA40〜FC4B | @ABCD |
補助漢字 | JIS区点第2面に配置 |
第3水準 | 第1、第2水準の未定義領域に配置 |
第4水準 | JIS区点第2面に配置 |
6−1 第1水準文字 (JIS X 0208:1997)
JIS第1水準文字は、次の順番に基づいて配列されています。
種 類 | コード | 字 形 |
記号 | 区点第1区〜2区 JIS =0x2121〜227E SJIS=0x8140〜81FC
SP、。,. … ‘’“”( …
+−±×÷ … §☆★○● …
〒→←↑↓ … ♪†‡¶◯
英数字 | 区点第3区 JIS =0x2330〜237A SJIS=0x824F〜829A
0123456789
ABCDE …… VWXYZ
abcde …… vwxyz
かな | 区点第4区〜5区 JIS =0x2421〜2576 SJIS=0x829F〜8396
ぁあぃいぅ …… わゐゑをん
ァアィイゥ …… ヲンヴヵヶ
ギリシャ文字 | 区点第6区 JIS =0x2621〜2658 SJIS=0x839F〜83D6
ΑΒΓΔΕ …… ΥΦΧΨΩ
αβγδε …… υφχψω
ロシア文字 | 区点第7区 JIS =0x2721〜2771 SJIS=0x8440〜8491
АБВГД …… ЫЬЭЮЯ
абвгд …… ыьэюя
罫線素片 | 区点第8区 JIS =0x2821〜2840 SJIS=0x849F〜84BE
─│┌┐┘└├┬┤┴┼
━┃┏┓┛┗┣┳┫┻╋
┠┯┨┷┿┝┰┥┸╂
拡張文字領域
(機種依存文字) | 区点第13区 JIS =0x2D21〜2D7D SJIS=0x8740〜879D
@ABCD … OPQRS
TUVWXYZ[\]
_`abcd … 凵諱ソ∪
漢字 (五十音順) | 区点第16区〜47区 JIS =0x3021〜4F53 SJIS=0x889F〜9872
亜唖娃阿哀愛 …… 藁蕨椀湾碗腕
| | | | | | | | | | | | | | | |
第1水準の漢字は、常用漢字表・人名用漢字別表をもとに、2965字採用されました。
音読み(一部は訓読み)五十音順に配置されています。
区点番号の第13区 ( JIS=0x2D21〜/Shift_JIS=0x8740〜 )に設定されている文字は、
「拡張文字(機種依存文字)」と呼ばれ、異なるシステムの間におけるデータの互換性に
関する問題を含みます。
6−2 第2水準文字 (JIS X 0208:1997)
JIS第2水準文字は、区点番号第48区、JIS 0x5021/Shift_JIS 0x989F から始まる 3390 字です。
部首・旧字体・人名用漢字といった、第1水準から漏れた字で構成されています。
第1水準と異なり、部首画数順に配列されています。この時、伝統的な漢和辞典に使い慣れていない人は、
部首の画数の数え方にとまどうかも知れません。
(↓表示に一部ユニコードを使っています)
忄(立心偏) →「心」4画と一緒
扌(手偏) →「手」4画と一緒
氵(さんずい) →「水」4画と一緒
犭(けもの偏) →「犬」4画と一緒
阝(おおざと) →「邑」7画と一緒
阝(こざと偏) →「阜」8画と一緒
礻(しめす偏) →「示」5画と一緒
++(草冠) →「艸」6画扱い
辶(しんにょう)→「辵」7画扱い
◇ 部首の画数 ◇
1画:一h丶丿乙亅
2画:二亠人儿入八冂冖冫几凵刀力勹匕十卜卩厂厶又
3画:匚匸口囗土士夂夕大女子宀寸小尢尸山川工己巾干幺广廴廾弋
弓彑彡彳
4画:心戈戸手支攵攴文斗斤方无日曰月木欠止歹殳毋比毛氏气水火
爪父爻爿片牙牛犬
5画:玄玉示网瓜瓦甘生用甬甫田疋病癶白皮皿目矛矢石禺禾穴立衣
6画:竹米糸缶羊羽老而耒耳聿肉自至臼舌舛舟艮色艸虍虫血行衣西
7画:臣見角言谷豆豕豸貝赤走足身車辛辰邑酉釆里麦
8画:金長門阜隶隹雨青非食斉
9画:面革韋韭音頁風飛首香
10画:馬骨高髟鬥鬯鬲鬼竜
11画:魚鳥鹵鹿麥麦麻黄黒亀
12画:黹歯 13画:黽鼎鼓鼠
14画:鼻齊 15画:齒
16画:龍 17画:龠
\|+0123456789ABCDEF
5020| 弌丐丕 …「一」の部
| 个丱 …「h」の部
| 丶丼 …「丶」の部
| 丿乂乖乘 …「丿」の部
| 亂 …「乙」の部
| 亅豫亊 …「亅」の部
5030| 舒弍于亞亟
| 亠亢亰亳亶 …「亠」の部
| 从仍仄仆仂仗 …「人」の部
5040| 仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻
|
6−3 拡張文字(機種依存文字)
JISコード規格には、拡張文字用の未定義領域があります。
9〜15区、85〜94区がその領域にあたります。
ではここは本当に空白かというとそうではありません。
すでに多くのメーカーごとに独自の文字を定義してしまっています。異なるメーカー同士では文字の互換性が保てない可能性があるため、
俗に「機種依存文字」と呼ばれています。
多くの動作環境が混在するようなインターネット上のメール送受信、Webページ作成、掲示板の書き込み等では、
こうした機種依存文字を使うべきではないともいわれています。
IMEによる日本語入力作業においても、選択する文字一覧に「機種依存文字」と添え書きされ、
注意喚起をしています。
以後の説明は、主に Windows ユーザー向けになります。
◆ 区点第13区 特殊記号( JIS=0x2D21/Shift_JIS=0x8740 〜 )◆
もともとはNECの PC-9801シリーズで定義していた特殊記号です。往年の98シリーズの圧倒的シェアは無視できず、
Windows 日本語版でそのまま引き継がれました。
@ABCDEFGHIJKLMNOPQRS
TUVWXYZ[\]・_`abcdefg
hijklmnopqrstu・・・・・・
・・~∞gョх援括窮欠合紫≒
∫島√⊥∠凵諱ソ∪・・
※ 「≒∫√⊥∠凵諱ソ∪」は、JISの
改訂時に第2区へ正式に採用され、現在
は重複して存在している。
| |
有名な話では、Windows系システムの○付き数字が、UNIX系由来のOSでは(日),(月)……などと表示される不具合があります。
◆ 区点第 115 〜 119 区 IBM拡張漢字 ◆
IBMがシフトJISを制定する際、JIS第1水準、第2水準から漏れた漢字のうち 360 字を独自に選定して拡張しました。
もともとは同社が大型コンピュータ(メインフレーム)で使用していた字の移植版です。
人名漢字が多く採用されています。
そもそもがシフトJISコードの拡張であるため、「区点→JIS→シフトJIS」という変換式を逆から計算
(シフトJIS→JIS→区点)して得られる区点番号は、JISが定めた領域(1区〜94区)を超えてしまいます。
そんなわけで、コードはシフトJISのみを記します。
記号(0xFA40〜) @ABCDEFGHITUVWXYZ[\]
¬UVW括gп
漢字(0xFA5C〜) 0xFA8E=, 0xFA9D=, 0xFAB1=ア,
0xFAD0=ミ, 0xFAE3=, 0xFAF0=,
0xFB4D=M, 0xFBB9=ケ, 0xFBE8=,
0xFBFC=, 0xFC4B=K などなど
| |
◆ 区点第 89 〜 94 区 NEC選定IBM拡張漢字 ◆
実際上は、上記のIBM拡張文字とほぼ同じ文字セットです。NECが PC-9801 シリーズ用に採用し、
区点番号あるいはJIS16進コードで入力できるよう、JIS本来の拡張文字領域に配置したものです。
(コードはシフトJISのみ記します。)
漢字(0xED40〜) 0xED71=, 0xED81=, 0xED95=ア,
0xEDB4=ミ, 0xEDC7=, 0xEDD4=,
0xEDEE=M, 0xEE9D=ケ, 0xEECC=,
0xEEE0=, 0xEEEC=K などなど
記号(0xEEEF〜) @ABCDEFGHI¬UVW
| |
つまり、まったく同じ文字が複数の場所に重複して設定されているわけです。
拡張文字まで使用したシフトJISコード体系の文書で文字列の検索・置換などを
行う場合、IBM拡張文字なのか、NEC選定IBM拡張文字なのかについて常に注意が必要です。
例えば「橋」(←はIBM拡張 0xFBFC の方です)という人名を検索する時、
もし「」(NEC選定IBM拡張 0xEEE0 )の方で検索をかけると、ヒットしません。
また、データの並べ替えでも問題が起きます。(コードはシフトJIS)
◆ 「桑」は同じなので、次の字のコードで順序が決定される ◆
桑原 〜 原…0x8CB4
桑田 〜 田…0x9363
桑本 〜 本…0x967B
◆ 1文字目のコードで順序が決定される ◆
桑本 〜 桑…0x8C4B(第1水準)
纉c 〜 縺c0xEDC7(NEC選定IBM拡張)
繻エ 〜 縺c0xFAE3(IBM拡張)
|
6−4 JIS補助漢字(JIS X 0212:1990)
私企業が独自に進めた文字拡張とは異なり、上記は第1水準、第2水準を補うため、
JISが正式に制定したものです。
文字通り JIS X 2080 を補うため、区点番号第02〜第77区の「第2面」を設定して、
第1第2水準になかった文字を割り当てたものです。
・第02区〜第11区 非漢字 266字
・第16区〜第77区 漢字 5,801字
もちろん、表面⇔裏面の切り替えには制御コードが必要です。
しかも、コード領域が一部重なる関係で、シフトJISコード体系ではうまく取り込むことができなかったので、
内部処理コードにシフトJISを採用したOSである Windows(98まで)、MacOS(9まで)では利用できませんでした。
Windows で使えなかったのは致命的で、結局普及しませんでした。
ただ、ユニコード(Unicode2.1)がJIS補助漢字で採用した字をすべて採り込んだ関係で、
内部処理にユニコードを採用した Windows2000以降 や MacOS X 以降では「結果として」、
アプリの対応次第で、「ユニコードを用いて」該当する字形の表示・印刷が可能となりました。
6−5 第3水準・第4水準文字 (JIS X 0213:2000, JIS X 0213:2004)
第1・第2水準とのスムーズな共存を目指して新たに策定されました。また、過半数の文字はJIS補助漢字と重なっています。
ユニコードには、JIS第3・第4水準のすべての漢字が収録されています。
今まで外字、拡張文字が実際当たっていた部分に文字が割り当てられていたりといった古い資産との互換性の問題、
区点番号の第2面(裏面)を使うため、第四水準を完全にカバーするためには2バイトコードでは収まらない点などが足かせとなっていましたが、
(内部処理にユニコードを採用した)Winodws VISTA 以降が JIS X 0213:2004 対応を正式に採用したため、
MS−IMEのIMEパッドがJIS第3・第4水準コードの検索ツールを提供するようになり、
苦労なく利用することが可能になってきました。
◆ 第3、第4水準文字の配置 ◆
第1面1〜12区 未定義部分に拡張非漢字を追加
第1面13区 NEC拡張文字を追認
第1面14〜94区 補助漢字未定義部分に第3水準漢字を追加
第2面 補助漢字未定義部分に第4水準漢字を追加
|
6−6 外字について
他のOSについては詳しくないのでほぼ Windows 限定の話になりますが、
シフトJIS 0xF040 〜 0xF9FC までの領域は「ユーザー定義文字領域」、
いわゆる外字のための区画として確保されています。
Windows に付属の外字エディタを使って、ユーザーが表示/印刷用のフォントを作成して利用することが可能です。
もちろん、外字を保存したマシン以外では期待した字形を表示/印刷することができません。
複数のマシンで同じ外字を利用したい場合は、Windows システムフォルダの中にある外字フォントをコピーしなければなりません。
◆ シフトJISのユーザー定義領域 ◆
\|+0123456789ABCDEF
|
F040| @ABCDEFGHIJKLMNO
F050| PQRSTUVWXYZ[\]^_
F060| `abcdefghijklmno
F070| pqrstuvwxyz{|}~
: |
※ 外字が作成されたマシンでは、その字が表示されるはずです。
|
|