9 : 09 BMP外のJIS第3・第4水準漢字

← 9‒08 p↑ もくじ i 9‒10 n →

CJK Extension B上のJIS第3~第4水準の漢字303コードポイント

2004年 6月26日
記事ID d40626

JIS第3水準・第4水準のうち、Unicode の CJK Extension B にあるのは、どんな漢字か。

もくじ

  1. もくじ
  2. まえがき
  3. 概要
  4. 303個のコードポイントの情報
  5. 画像による表示
  6. テキストによる表示: HTMLの文字参照

まえがき

ユニコード・ファンのみなさん、こんにちは。 今まで CJK Ext B は、かなり未知の霧に包まれてしたが、 Shift_JIS-2004 (JIS X 0213:2004) vs Unicode mapping table という資料を発見! JIS第3水準、第4水準のなかで、303文字が、Ext B の範囲になるらしいことが分かりました。 Unicode での番号も規格で、ちゃんと確定しているらしい。

具体的にこれこれのJIS漢字の表示に使う、と分かると、 Unicode の Plane 2 にグッと親近感が増すのでは、ないでしょうか。

この303文字の半分くらいは、 Office Proofing Tools などについてくる中国語フォント SURSONG.TTF を使って表示できますし、 Y.Oz Vox には全部入っています。 そして、Mozilla Firefox は、全部表示できました! BMP外のサポートが苦手なMSIE6は、今回は完敗、一文字も表示できません。

さらに! 眺めてみると、 U+25771 は、万億兆京垓ジョのジョでは、ありませんか!  使いたかったのに使えなかった文字がこんなところに。というか、歴史的には、これ、もともと誤字だったのが定着した幽霊文字らしいですが。

幽霊漢字といえば U+216B4 では逆に、知る人ぞ知る「やまいちおんな」の訂正版も入ってる。

「やまいちおんな」というのは上から「山、一、女」と書いた文字 U+599B 「妛」で、 JIS第二水準に入っていて、Shift_JISなどで普通に表示できる。メールでも安全に使える。 しかし、この文字は何に使うのか。 厳密には、この字形の文字は、世界のどこにも実在していない。 何かの手違いでJISコードの規格に入ってしまったらしい謎の文字だ。

「山、女」で「あけび」という字が、実際に地名で使われた形跡があるらしい。 その文字に間違って棒が一本入って「山、一、女」になったのではないか、とかいうことだ。 もしそうだったら、わざわざコードポイントを作らなくても「妛」のコードポイントの場所のグリフを訂正すればいい話なのだが、 一度決まった規格を訂正するとあらゆる方面に重大な影響が及ぶので、そうもいかないのだろう。

実際、この文字は、中国語フォント SURSONG.TTF にも収録されているのである。 「山」の縦棒が突き抜けていてグリフが微妙に違う。 この微妙に違うグリフの漢字「シ」(意味は、あなどる)は実在する。 実在するが、このコードポイントは、本来は「シ」のためにあるのではなく、 「あけび」が入る場所だった。

間違った字体に酷似した字体が実在したのは、 不幸中の幸いというべきだろう。 今では実在する「シ」がここに当てはめられ、 「あけび」は改めて U+216B4 に収録された。そう割り切れば、 U+599B は必ずしもコードポイントの無駄遣いではなくなる。

「万億兆京垓ジョのジョ」のことを思えば「幽霊文字」と決めつけるのは早計だ。 存在するすべての文字は現実で……、そして幻なんだ。

用語解説: CJK Extension B とは
CJK Extension B

CJK Extension B (漢字拡張B)というのは、 Unicode の CJK Unified Ideographs Extension B の略で、さらに略して CJK Ext B とか、単に Ext B と書くこともある。 CJK とは中国語・日本語・韓国語のこと、 Unified Ideographs とは、それらの言語で部分的には共通して用いられるイデオグラフ(表意文字)、 要するに「漢字」だ。

2004年現在、ユニコード上には「漢字」「漢字拡張A」「漢字拡張B」の三つの領域がある。 このうち「漢字」は、もともと Unicode 表にあったもので、 BMP上にある(U+4E00 - U+9FFF)。 BMPというのは、 Basic Multilingual Plane(基本多言語面)の略で、 Unicode の最初の面であり、 番号でいうと U+0000 から U+FFFFまで。なお、ユニコード表の番号(コードポイント)を言うときは、 U+「16進数」 のように書くことになっている。 コードポイントというのは(フォントによって異なるグリフ=具体的な「文字の形」ではなく) 抽象的な意味での「文字」を割り当てる場所のこと。 同じコードポイントの文字でもフォントの種類によってグリフがかなり違うことがあり、 逆に同じグリフの文字が(互換性などのために)2か所以上のコードポイントに登録されていることもある。

2004年現在、一般には Unicode を使うアプリケーション側が発展途上で、 フォントファイルも少なく、 BMP外の文字は、BMPほど自由に利用できないことが多い。 BMPの範囲に割り当ててもらう、ということは、 実用上非常に有利である。 さらに、 その文字・その言語が「世界中の多言語環境でサポートされるべき基本の文字」として国際的に認識される、 という政治的面がある。 BMPには、たかだか6万程度しか文字を割り当てる場所がなく、 一つ一つのコードポイントが貴重だ。 世界各国の(マイナーな)言語の文字もそれなりに収録しないとその地域で不満がつのり、 ひいては Unicode の国際的普及を阻害する。 BMPの文字割り当ては技術的なだけでなく、 領土の割り当て=国境線の決定のような、 高度に政治的な要素がある。 例えば、アイヌ語の表記に使う文字が BMP にあり、 Political correctness が重視されているのが分かる。 他方、CJK文字として、中国・日本・韓国の漢字を統合してしまったことについても、 各地域の文化とのかねあいもあって、さまざまな論議を呼んだ。

当初の「漢字」だけでは使える文字の制限が多すぎたので、 Unicode バージョン3.1 のとき、 「Extension A」(拡張A)と「Extension B」(拡張B)として、 何万もの漢字がユニコード表に追加された。 このうち、Ext A は、比較的少ない文字数であるが、 実用上重要度が高いと考えられる文字の追補で、BMP に割り当てられた(U+3400 - U+4DB5)。 この領域には、日本でも利用頻度の高い漢字が結構ある。 一方、Ext B の方は「珍しい」漢字であり、BMPではなく、Plane 2に入っている。 BMPという一等地には入れなかったかわり、Plane 2 は事実上、面全部が漢字用になっている。 4万字以上ある。逆に言えば、 一面はたかだか6万字程度なので、Ext B の文字は、どっちにしても BMP には入りきらない。 「拡張A」の漢字はフォントさえあれば割とすぐ使えるのに対して、 「拡張B」の漢字は、BMP外の文字を使える環境でないと使えない。

基本的に、Ext B 領域には、日本で日常的に多用される漢字はない(必要性が高いものは、 Ext A に入った)。 JISにあるのは第三~第四水準まで含めても、Ext B の4万字以上のうち、1%にも満たない。 それでも、一部はJISにも登録されている訳で、特殊な用語・地名・人名などで日本でも用いられる予定だ。 例えば、日本語の数詞で「万億兆京垓」の次は「ジョ」というのだが、 この「ジョ」という字は日本独特で Ext B に入っている。

概要

JIS X 0213:2000、 JIS X 0213:2004 まで含むJISの漢字を、Unicode で符号化する場合の対応表が、 下記にある。
Shift_JIS-2004 (JIS X 0213:2004) vs Unicode mapping table

これによると、BMP(Basic Multilingual Plane: 基本多言語面)外になるものが、303コードポイントあるらしい。その内訳は、 2000年に追加されたものが302文字、2004年の追加が1文字、 これらは、すべて Unicode 3.1 の時点で Unicode 側では定義された、と読み取れる。

規格の原文を調べたわけでないので、いまひとつハッキリしない面もあるが、 Unicode で Supplementary Ideographic Plane と呼ばれる Plane 2 に割り当てられている CJK Unified Ideographs Extension B の範囲の 42,711 種類の漢字のなかで、 「日本の漢字」としても使われることが予定されているのが少なくとも303はある、ということだ。

「日本の漢字としても」は「も」であって、日本の漢字専用というわけではなく、 その半分くらいは中国語のフォント SURSONG.TTF にも収録されていて、中国語圏でも用途があるらしい。 漢字はもともと中国の文字だから、何も不思議はない。 また、ここに挙げた以外はすべて中国語などの専用というわけではなく、 もちろん、JISの第三水準・第四水準までに入っていなくても、 CJK Ext B にある 42,711 の漢字は必要に応じて日本語の表記にも利用できる。

別記事「基本多言語面を越えて: 古代イタリア文字」「Mozilla は CJK Ext B を扱える」も参照。

以下には、上記の対応表からこの303コードポイントについての行を抜粋したもの、 それを実際に Mozilla Firefox で表示させた結果の画像、 そして、同様なテスト目的で使えるHTMLコードがある (このページをブラウザで読み込むことによって、あなたの環境で上記の文字が表示できるか、 テストに利用できる)。

注意

この記事は間違いを含んでいる可能性がある。

上記の資料は、公式のものではなく、有志の手によるものだ。 以下の303コードポイントは、そこから Perl スクリプトで抜き出したり、 HTMLコードを生成させたものだし、表示に使っているグリフ(文字の実際の形)も、 Microsoft が公開している Simsun (Founder Extended) にあるものは、そのグリフとも対照させてあるが、 全体としては、有志の手によるフリーウェアである。

こうした作業に思わぬミスが入りやすいのは、 天下のJIS規格そのものに「幽霊文字」が入っていることからも明らかだ。 見間違い、勘違い、誤解、ミスタイプなど、 コードポイントは数値が1ずれているだけで大変で、 後から公式の変換ライブラリができたとき非互換になったり、往復変換できなくなる。

したがって、この記事の説明や、対照表、コードポイントの番号などは、 あくまで参考にとどめ、ミッションクリティカルなプログラミングなどでは、 必ず規格の原文を確認してほしい。

追記(2006年10月30日)

現在では、Ext A/B を網羅した優れたフリーフォントが複数存在している。 「Unicode CJK Ext A/B 網羅・約5万字収録のフリーフォント」参照。

303個のコードポイントの情報

JIS X 0213:2004 までの(JIS第一水準~第四水準の)すべての文字・記号のうち、 Unicode で符号化したときに、Ext B を使うものは303のようである。 上記の対照表から、 /U\+[0-9A-F]{5}/ を含む行を機械的にスクリプトで抜き出したところ、 303あった。 この303コードポイントは日本語専用とは限らず、中国語などでも利用される可能性がある。 またこの303個以外の Ext B のコードポイントが、日本語の表記に使えない訳ではない (JISの規格には含まれていないというだけで、 日本でまったく使われない文字であるということではない)。 CJK Ext B の全体は、次のPDFファイルで見ることができる。
http://www.unicode.org/charts/PDF/U20000.pdf

0x87A0    U+2000B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F780
0x8861    U+2123D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F78A
0x886B    U+2131B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F78B
0x8880    U+2146E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F78E
0x889B    U+218BD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F78F
0x9873    U+20B9F    # <cjk>    [2004]    [Unicode3.1]
0x9883    U+216B4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F792
0x988E    U+21E34    # <cjk>    [2000]    [Unicode3.1]    Private: U+F793
0xEB59    U+231C4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F79A
0xEB92    U+235C4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F79D
0xEBA7    U+2373F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F79F
0xEBB0    U+23763    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7A0
0xEBDE    U+23CFE    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7A1
0xEC8C    U+247F1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7A6
0xECFC    U+2548E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7A8
0xED48    U+2550E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7AA
0xED66    U+25771    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7B3
0xED73    U+259C4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7B6
0xED8E    U+25DA1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7B8
0xEDDB    U+26AFF    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7BE
0xEE52    U+26E40    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7C0
0xEE68    U+270F4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7C1
0xEE8C    U+27684    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7C2
0xEEC7    U+28277    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7C9
0xEECF    U+283CD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7CA
0xEFE4    U+2A190    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D0
0xF040    U+20089    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D1
0xF04A    U+200A2    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D2
0xF04D    U+200A4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D3
0xF055    U+201A2    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D4
0xF065    U+20213    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D5
0xF090    U+2032B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D6
0xF097    U+20381    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D7
0xF099    U+20371    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D8
0xF141    U+203F9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7D9
0xF144    U+2044A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7DA
0xF146    U+20509    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7DB
0xF150    U+205D6    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7DC
0xF151    U+20628    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7DD
0xF157    U+2074F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7DE
0xF15E    U+20807    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7DF
0xF160    U+2083A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E0
0xF169    U+208B9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E1
0xF171    U+2097C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E2
0xF172    U+2099D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E3
0xF178    U+20AD3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E4
0xF17B    U+20B1D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E5
0xF197    U+20D45    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E6
0xF1A8    U+20DE1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E7
0xF1AF    U+20E95    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E8
0xF1B0    U+20E6D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7E9
0xF1B8    U+20E64    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7EA
0xF1BB    U+20F5F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7EB
0xF1D7    U+21201    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7EC
0xF1DA    U+21255    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7ED
0xF1DC    U+2127B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7EE
0xF1E1    U+21274    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7EF
0xF1E8    U+212E4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F0
0xF1E9    U+212D7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F1
0xF1F0    U+212FD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F2
0xF1F2    U+21336    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F3
0xF1F3    U+21344    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F4
0xF244    U+213C4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F5
0xF251    U+2146D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F6
0xF25D    U+215D7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F7
0xF263    U+26C29    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F8
0xF266    U+21647    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7F9
0xF274    U+21706    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7FA
0xF275    U+21742    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7FB
0xF29E    U+219C3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7FC
0xF0AE    U+21C56    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7FD
0xF0B5    U+21D2D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7FE
0xF0B6    U+21D45    # <cjk>    [2000]    [Unicode3.1]    Private: U+F7FF
0xF0B8    U+21D78    # <cjk>    [2000]    [Unicode3.1]    Private: U+F800
0xF0B9    U+21D62    # <cjk>    [2000]    [Unicode3.1]    Private: U+F801
0xF0BD    U+21DA1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F802
0xF0BE    U+21D9C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F803
0xF0C3    U+21D92    # <cjk>    [2000]    [Unicode3.1]    Private: U+F804
0xF0C6    U+21DB7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F805
0xF0C8    U+21DE0    # <cjk>    [2000]    [Unicode3.1]    Private: U+F806
0xF0C9    U+21E33    # <cjk>    [2000]    [Unicode3.1]    Private: U+F807
0xF0D9    U+21F1E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F808
0xF0E4    U+21F76    # <cjk>    [2000]    [Unicode3.1]    Private: U+F809
0xF0EA    U+21FFA    # <cjk>    [2000]    [Unicode3.1]    Private: U+F80A
0xF2A0    U+2217B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F80B
0xF2A9    U+2231E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F80C
0xF2AE    U+223AD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F80D
0xF2CE    U+226F3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F80E
0xF2E3    U+2285B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F80F
0xF2EB    U+228AB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F810
0xF2F0    U+2298F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F811
0xF343    U+22AB8    # <cjk>    [2000]    [Unicode3.1]    Private: U+F812
0xF348    U+22B4F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F813
0xF349    U+22B50    # <cjk>    [2000]    [Unicode3.1]    Private: U+F814
0xF351    U+22B46    # <cjk>    [2000]    [Unicode3.1]    Private: U+F815
0xF353    U+22C1D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F816
0xF354    U+22BA6    # <cjk>    [2000]    [Unicode3.1]    Private: U+F817
0xF358    U+22C24    # <cjk>    [2000]    [Unicode3.1]    Private: U+F818
0xF375    U+22DE1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F819
0xF39D    U+231C3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F81A
0xF3A1    U+231F5    # <cjk>    [2000]    [Unicode3.1]    Private: U+F81B
0xF3A2    U+231B6    # <cjk>    [2000]    [Unicode3.1]    Private: U+F81C
0xF3B8    U+23372    # <cjk>    [2000]    [Unicode3.1]    Private: U+F81D
0xF3BA    U+233D3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F81E
0xF3BB    U+233D2    # <cjk>    [2000]    [Unicode3.1]    Private: U+F81F
0xF3C0    U+233D0    # <cjk>    [2000]    [Unicode3.1]    Private: U+F820
0xF3C1    U+233E4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F821
0xF3C2    U+233D5    # <cjk>    [2000]    [Unicode3.1]    Private: U+F822
0xF3C5    U+233DA    # <cjk>    [2000]    [Unicode3.1]    Private: U+F823
0xF3C7    U+233DF    # <cjk>    [2000]    [Unicode3.1]    Private: U+F824
0xF3D3    U+2344A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F825
0xF3D4    U+23451    # <cjk>    [2000]    [Unicode3.1]    Private: U+F826
0xF3D5    U+2344B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F827
0xF3D9    U+23465    # <cjk>    [2000]    [Unicode3.1]    Private: U+F828
0xF3F5    U+234E4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F829
0xF3F6    U+2355A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F82A
0xF449    U+23594    # <cjk>    [2000]    [Unicode3.1]    Private: U+F82B
0xF45E    U+23639    # <cjk>    [2000]    [Unicode3.1]    Private: U+F82C
0xF45F    U+23647    # <cjk>    [2000]    [Unicode3.1]    Private: U+F82D
0xF461    U+23638    # <cjk>    [2000]    [Unicode3.1]    Private: U+F82E
0xF462    U+2363A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F82F
0xF46D    U+2371C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F830
0xF478    U+2370C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F831
0xF481    U+23764    # <cjk>    [2000]    [Unicode3.1]    Private: U+F832
0xF489    U+237FF    # <cjk>    [2000]    [Unicode3.1]    Private: U+F833
0xF48A    U+237E7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F834
0xF490    U+23824    # <cjk>    [2000]    [Unicode3.1]    Private: U+F835
0xF495    U+2383D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F836
0xF4A1    U+23A98    # <cjk>    [2000]    [Unicode3.1]    Private: U+F837
0xF4B2    U+23C7F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F838
0xF4C7    U+23D00    # <cjk>    [2000]    [Unicode3.1]    Private: U+F839
0xF4DA    U+23D40    # <cjk>    [2000]    [Unicode3.1]    Private: U+F83A
0xF4DC    U+23DFA    # <cjk>    [2000]    [Unicode3.1]    Private: U+F83B
0xF4DD    U+23DF9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F83C
0xF4DE    U+23DD3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F83D
0xF551    U+23F7E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F83E
0xF566    U+24096    # <cjk>    [2000]    [Unicode3.1]    Private: U+F83F
0xF56C    U+24103    # <cjk>    [2000]    [Unicode3.1]    Private: U+F840
0xF581    U+241C6    # <cjk>    [2000]    [Unicode3.1]    Private: U+F841
0xF584    U+241FE    # <cjk>    [2000]    [Unicode3.1]    Private: U+F842
0xF5A0    U+243BC    # <cjk>    [2000]    [Unicode3.1]    Private: U+F843
0xF5B1    U+24629    # <cjk>    [2000]    [Unicode3.1]    Private: U+F845
0xF5B7    U+246A5    # <cjk>    [2000]    [Unicode3.1]    Private: U+F846
0xF5D1    U+24896    # <cjk>    [2000]    [Unicode3.1]    Private: U+F847
0xF5F9    U+24A4D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F848
0xF64D    U+24B56    # <cjk>    [2000]    [Unicode3.1]    Private: U+F849
0xF64F    U+24B6F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F84A
0xF654    U+24C16    # <cjk>    [2000]    [Unicode3.1]    Private: U+F84B
0xF663    U+24D14    # <cjk>    [2000]    [Unicode3.1]    Private: U+F84C
0xF67C    U+24E0E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F84D
0xF681    U+24E37    # <cjk>    [2000]    [Unicode3.1]    Private: U+F84E
0xF686    U+24E6A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F84F
0xF689    U+24E8B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F850
0xF695    U+2504A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F851
0xF697    U+25055    # <cjk>    [2000]    [Unicode3.1]    Private: U+F852
0xF69A    U+25122    # <cjk>    [2000]    [Unicode3.1]    Private: U+F853
0xF69F    U+251A9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F854
0xF6A1    U+251E5    # <cjk>    [2000]    [Unicode3.1]    Private: U+F855
0xF6A2    U+251CD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F856
0xF6A6    U+2521E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F857
0xF6AA    U+2524C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F858
0xF6BB    U+2542E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F859
0xF6C6    U+254D9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F85A
0xF6D9    U+255A7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F85B
0xF6F3    U+257A9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F85C
0xF6F4    U+257B4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F85D
0xF751    U+259D4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F85E
0xF75C    U+25AE4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F85F
0xF75D    U+25AE3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F860
0xF75F    U+25AF1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F861
0xF771    U+25BB2    # <cjk>    [2000]    [Unicode3.1]    Private: U+F862
0xF77C    U+25C4B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F863
0xF77D    U+25C64    # <cjk>    [2000]    [Unicode3.1]    Private: U+F864
0xF793    U+25E2E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F865
0xF794    U+25E56    # <cjk>    [2000]    [Unicode3.1]    Private: U+F866
0xF795    U+25E65    # <cjk>    [2000]    [Unicode3.1]    Private: U+F867
0xF797    U+25E62    # <cjk>    [2000]    [Unicode3.1]    Private: U+F868
0xF79B    U+25ED8    # <cjk>    [2000]    [Unicode3.1]    Private: U+F869
0xF79D    U+25EC2    # <cjk>    [2000]    [Unicode3.1]    Private: U+F86A
0xF7A0    U+25EE8    # <cjk>    [2000]    [Unicode3.1]    Private: U+F86B
0xF7A2    U+25F23    # <cjk>    [2000]    [Unicode3.1]    Private: U+F86C
0xF7A5    U+25F5C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F86D
0xF7AC    U+25FE0    # <cjk>    [2000]    [Unicode3.1]    Private: U+F86E
0xF7AD    U+25FD4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F86F
0xF7B2    U+2600C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F870
0xF7B3    U+25FFB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F871
0xF7BB    U+26017    # <cjk>    [2000]    [Unicode3.1]    Private: U+F872
0xF7C0    U+26060    # <cjk>    [2000]    [Unicode3.1]    Private: U+F873
0xF7CD    U+260ED    # <cjk>    [2000]    [Unicode3.1]    Private: U+F874
0xF7E7    U+26270    # <cjk>    [2000]    [Unicode3.1]    Private: U+F876
0xF7E9    U+26286    # <cjk>    [2000]    [Unicode3.1]    Private: U+F877
0xF7F0    U+2634C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F878
0xF7F3    U+23D0E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F879
0xF7F7    U+26402    # <cjk>    [2000]    [Unicode3.1]    Private: U+F87A
0xF854    U+2667E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F87B
0xF859    U+266B0    # <cjk>    [2000]    [Unicode3.1]    Private: U+F87C
0xF865    U+2671D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F87D
0xF875    U+268DD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F87E
0xF877    U+268EA    # <cjk>    [2000]    [Unicode3.1]    Private: U+F87F
0xF879    U+26951    # <cjk>    [2000]    [Unicode3.1]    Private: U+F880
0xF87C    U+2696F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F881
0xF87E    U+269DD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F882
0xF883    U+26A1E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F883
0xF88A    U+26A58    # <cjk>    [2000]    [Unicode3.1]    Private: U+F884
0xF890    U+26A8C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F885
0xF893    U+26AB7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F886
0xF8C2    U+26C73    # <cjk>    [2000]    [Unicode3.1]    Private: U+F889
0xF8CC    U+26CDD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F88A
0xF8DB    U+26E65    # <cjk>    [2000]    [Unicode3.1]    Private: U+F88B
0xF8F3    U+26F94    # <cjk>    [2000]    [Unicode3.1]    Private: U+F88C
0xF8FC    U+26FF8    # <cjk>    [2000]    [Unicode3.1]    Private: U+F88D
0xF940    U+26FF6    # <cjk>    [2000]    [Unicode3.1]    Private: U+F88E
0xF941    U+26FF7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F88F
0xF952    U+2710D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F890
0xF955    U+27139    # <cjk>    [2000]    [Unicode3.1]    Private: U+F891
0xF984    U+273DB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F892
0xF985    U+273DA    # <cjk>    [2000]    [Unicode3.1]    Private: U+F893
0xF98B    U+273FE    # <cjk>    [2000]    [Unicode3.1]    Private: U+F894
0xF98E    U+27410    # <cjk>    [2000]    [Unicode3.1]    Private: U+F895
0xF993    U+27449    # <cjk>    [2000]    [Unicode3.1]    Private: U+F896
0xF9A7    U+27615    # <cjk>    [2000]    [Unicode3.1]    Private: U+F897
0xF9A8    U+27614    # <cjk>    [2000]    [Unicode3.1]    Private: U+F898
0xF9AA    U+27631    # <cjk>    [2000]    [Unicode3.1]    Private: U+F899
0xF9B2    U+27693    # <cjk>    [2000]    [Unicode3.1]    Private: U+F89A
0xF9BA    U+2770E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F89B
0xF9BC    U+27723    # <cjk>    [2000]    [Unicode3.1]    Private: U+F89C
0xF9C0    U+27752    # <cjk>    [2000]    [Unicode3.1]    Private: U+F89D
0xF9D4    U+27985    # <cjk>    [2000]    [Unicode3.1]    Private: U+F89E
0xF9E1    U+27A84    # <cjk>    [2000]    [Unicode3.1]    Private: U+F89F
0xF9F5    U+27BB3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A0
0xF9F7    U+27BBE    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A1
0xF9F8    U+27BC7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A2
0xFA44    U+27CB8    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A3
0xFA4E    U+27DA0    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A4
0xFA51    U+27E10    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A5
0xFA58    U+27FB7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A6
0xFA61    U+2808A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A7
0xFA67    U+280BB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A8
0xFA78    U+28282    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8A9
0xFA7D    U+282F3    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8AA
0xFA86    U+2840C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8AB
0xFA8B    U+28455    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8AD
0xFA9A    U+2856B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8AE
0xFA9E    U+285C8    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8AF
0xFA9F    U+285C9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B0
0xFAAA    U+286D7    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B1
0xFAAD    U+286FA    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B2
0xFACD    U+28949    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B3
0xFACE    U+28946    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B4
0xFAD5    U+2896B    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B5
0xFAE3    U+28987    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B6
0xFAE4    U+28988    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B7
0xFAEF    U+289BA    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B8
0xFAF0    U+289BB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8B9
0xFAFC    U+28A1E    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8BA
0xFB40    U+28A29    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8BB
0xFB4B    U+28A71    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8BC
0xFB4C    U+28A43    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8BD
0xFB55    U+28A99    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8BE
0xFB56    U+28ACD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8BF
0xFB5C    U+28AE4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C0
0xFB5D    U+28ADD    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C1
0xFB6D    U+28BC1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C2
0xFB6E    U+28BEF    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C3
0xFB76    U+28D10    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C4
0xFB79    U+28D71    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C5
0xFB7B    U+28DFB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C6
0xFB7C    U+28E1F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C7
0xFB81    U+28E36    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C8
0xFB85    U+28E89    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8C9
0xFB87    U+28EEB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8CA
0xFB89    U+28F32    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8CB
0xFB91    U+28FF8    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8CC
0xFBA0    U+292A0    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8CD
0xFBA1    U+292B1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8CE
0xFBB6    U+29490    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8CF
0xFBC0    U+295CF    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D0
0xFBCA    U+2967F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D1
0xFBD4    U+296F0    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D2
0xFBD7    U+29719    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D3
0xFBDB    U+29750    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D4
0xFBF4    U+298C6    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D5
0xFC4B    U+29A72    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D6
0xFC6A    U+29DDB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D7
0xFC6B    U+29E3D    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D8
0xFC78    U+29E15    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8D9
0xFC7A    U+29E8A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8DA
0xFC7C    U+29E49    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8DB
0xFC87    U+29EC4    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8DC
0xFC8D    U+29EE9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8DD
0xFC90    U+29EDB    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8DE
0xFCA3    U+29FCE    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8DF
0xFCA7    U+2A02F    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E0
0xFCA9    U+2A01A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E1
0xFCB0    U+2A0F9    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E2
0xFCB3    U+2A082    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E3
0xFCD1    U+22218    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E4
0xFCD6    U+2A38C    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E5
0xFCD8    U+2A437    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E6
0xFCEC    U+2A5F1    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E7
0xFCEE    U+2A602    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E8
0xFCF0    U+2A61A    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8E9
0xFCF4    U+2A6B2    # <cjk>    [2000]    [Unicode3.1]    Private: U+F8EA

画像による表示

JISの漢字で、Unicode の CJK Ext B と対応づけられているものは、どんな字で Unicode 番号は何番か、 以下に3枚のPNG画像に分けて、表示している。

3枚に分けているのは便宜上で、深い意味はない。 画像のファイルサイズは最初の2枚が60KB程度、最後の1枚が30KB程度。 フォントのスムージングをしているせいもあって、かなりサイズが大きいが、 我慢してほしい。参考までに、これをGIFで作れば90KBを超える。

画像の内容について。 Unicode のコードポイントの番号のあとに、1種類または2種類のグリフがある。 最初(左側)に表示されるものは、日本語フォント Y.OzFont4
ファイル名 YOzFont4.TTF
による表示である。このフォントは、 Y.Oz Vox から無料で入手でき、上記の303コードポイントを網羅している。 (フォント名は上記のように全角英数字である。半角英数字ではないので注意。)

その右に、異なるグリフが赤で表示されている場合、それは、 中国語フォント Simsun (Founder Extended)
ファイル名 SURSONG.TTF
による表示。このフォントは、Office Proofing Tools 2002 に付属していた。

右側に赤のグリフがない場所は、 中国語フォント Simsun (Founder Extended) ではサポートしていないコードポイント (日本独特の文字など)か、または、コードポイントは持っていても、 グリフのデータが空っぽの場合(いわばフォント内の「予約領域」)である。

二種類のグリフの間に多少の不一致がある場合(U+208B9, U+21706 など)、 慣用的な(一般に認められている)字形の揺れ、または、 日本と中国での字形の違い、または、 どちらかの間違い、といったいくつかの可能性がある。

画像1

画像2

画像3

テキストによる表示: HTMLの文字参照

以下には、次の例のようなHTMLコードがある。

<strong>U+2000B</strong> &#x2000B;

これは U+2000B の文字を、参照している。 もしシステムに、この文字を表示できるフォントがあって、 かつ、ブラウザにそのフォントを使う能力があれば(言い換えれば、BMP外の文字を参照できるなら)、 それは、対応する文字として表示されるはずだ。

U+2000B 𠀋U+2123D 𡈽U+2131B 𡌛U+2146E 𡑮U+218BD 𡢽U+20B9F 𠮟
U+216B4 𡚴U+21E34 𡸴U+231C4 𣇄U+235C4 𣗄U+2373F 𣜿U+23763 𣝣
U+23CFE 𣳾U+247F1 𤟱U+2548E 𥒎U+2550E 𥔎U+25771 𥝱U+259C4 𥧄
U+25DA1 𥶡U+26AFF 𦫿U+26E40 𦹀U+270F4 𧃴U+27684 𧚄U+28277 𨉷
U+283CD 𨏍U+2A190 𪆐U+20089 𠂉U+200A2 𠂢U+200A4 𠂤U+201A2 𠆢
U+20213 𠈓U+2032B 𠌫U+20381 𠎁U+20371 𠍱U+203F9 𠏹U+2044A 𠑊
U+20509 𠔉U+205D6 𠗖U+20628 𠘨U+2074F 𠝏U+20807 𠠇U+2083A 𠠺
U+208B9 𠢹U+2097C 𠥼U+2099D 𠦝U+20AD3 𠫓U+20B1D 𠬝U+20D45 𠵅
U+20DE1 𠷡U+20E95 𠺕U+20E6D 𠹭U+20E64 𠹤U+20F5F 𠽟U+21201 𡈁
U+21255 𡉕U+2127B 𡉻U+21274 𡉴U+212E4 𡋤U+212D7 𡋗U+212FD 𡋽
U+21336 𡌶U+21344 𡍄U+213C4 𡏄U+2146D 𡑭U+215D7 𡗗U+26C29 𦰩
U+21647 𡙇U+21706 𡜆U+21742 𡝂U+219C3 𡧃U+21C56 𡱖U+21D2D 𡴭
U+21D45 𡵅U+21D78 𡵸U+21D62 𡵢U+21DA1 𡶡U+21D9C 𡶜U+21D92 𡶒
U+21DB7 𡶷U+21DE0 𡷠U+21E33 𡸳U+21F1E 𡼞U+21F76 𡽶U+21FFA 𡿺
U+2217B 𢅻U+2231E 𢌞U+223AD 𢎭U+226F3 𢛳U+2285B 𢡛U+228AB 𢢫
U+2298F 𢦏U+22AB8 𢪸U+22B4F 𢭏U+22B50 𢭐U+22B46 𢭆U+22C1D 𢰝
U+22BA6 𢮦U+22C24 𢰤U+22DE1 𢷡U+231C3 𣇃U+231F5 𣇵U+231B6 𣆶
U+23372 𣍲U+233D3 𣏓U+233D2 𣏒U+233D0 𣏐U+233E4 𣏤U+233D5 𣏕
U+233DA 𣏚U+233DF 𣏟U+2344A 𣑊U+23451 𣑑U+2344B 𣑋U+23465 𣑥
U+234E4 𣓤U+2355A 𣕚U+23594 𣖔U+23639 𣘹U+23647 𣙇U+23638 𣘸
U+2363A 𣘺U+2371C 𣜜U+2370C 𣜌U+23764 𣝤U+237FF 𣟿U+237E7 𣟧
U+23824 𣠤U+2383D 𣠽U+23A98 𣪘U+23C7F 𣱿U+23D00 𣴀U+23D40 𣵀
U+23DFA 𣷺U+23DF9 𣷹U+23DD3 𣷓U+23F7E 𣽾U+24096 𤂖U+24103 𤄃
U+241C6 𤇆U+241FE 𤇾U+243BC 𤎼U+24629 𤘩U+246A5 𤚥U+24896 𤢖
U+24A4D 𤩍U+24B56 𤭖U+24B6F 𤭯U+24C16 𤰖U+24D14 𤴔U+24E0E 𤸎
U+24E37 𤸷U+24E6A 𤹪U+24E8B 𤺋U+2504A 𥁊U+25055 𥁕U+25122 𥄢
U+251A9 𥆩U+251E5 𥇥U+251CD 𥇍U+2521E 𥈞U+2524C 𥉌U+2542E 𥐮
U+254D9 𥓙U+255A7 𥖧U+257A9 𥞩U+257B4 𥞴U+259D4 𥧔U+25AE4 𥫤
U+25AE3 𥫣U+25AF1 𥫱U+25BB2 𥮲U+25C4B 𥱋U+25C64 𥱤U+25E2E 𥸮
U+25E56 𥹖U+25E65 𥹥U+25E62 𥹢U+25ED8 𥻘U+25EC2 𥻂U+25EE8 𥻨
U+25F23 𥼣U+25F5C 𥽜U+25FE0 𥿠U+25FD4 𥿔U+2600C 𦀌U+25FFB 𥿻
U+26017 𦀗U+26060 𦁠U+260ED 𦃭U+26270 𦉰U+26286 𦊆U+2634C 𦍌
U+23D0E 𣴎U+26402 𦐂U+2667E 𦙾U+266B0 𦚰U+2671D 𦜝U+268DD 𦣝
U+268EA 𦣪U+26951 𦥑U+2696F 𦥯U+269DD 𦧝U+26A1E 𦨞U+26A58 𦩘
U+26A8C 𦪌U+26AB7 𦪷U+26C73 𦱳U+26CDD 𦳝U+26E65 𦹥U+26F94 𦾔
U+26FF8 𦿸U+26FF6 𦿶U+26FF7 𦿷U+2710D 𧄍U+27139 𧄹U+273DB 𧏛
U+273DA 𧏚U+273FE 𧏾U+27410 𧐐U+27449 𧑉U+27615 𧘕U+27614 𧘔
U+27631 𧘱U+27693 𧚓U+2770E 𧜎U+27723 𧜣U+27752 𧝒U+27985 𧦅
U+27A84 𧪄U+27BB3 𧮳U+27BBE 𧮾U+27BC7 𧯇U+27CB8 𧲸U+27DA0 𧶠
U+27E10 𧸐U+27FB7 𧾷U+2808A 𨂊U+280BB 𨂻U+28282 𨊂U+282F3 𨋳
U+2840C 𨐌U+28455 𨑕U+2856B 𨕫U+285C8 𨗈U+285C9 𨗉U+286D7 𨛗
U+286FA 𨛺U+28949 𨥉U+28946 𨥆U+2896B 𨥫U+28987 𨦇U+28988 𨦈
U+289BA 𨦺U+289BB 𨦻U+28A1E 𨨞U+28A29 𨨩U+28A71 𨩱U+28A43 𨩃
U+28A99 𨪙U+28ACD 𨫍U+28AE4 𨫤U+28ADD 𨫝U+28BC1 𨯁U+28BEF 𨯯
U+28D10 𨴐U+28D71 𨵱U+28DFB 𨷻U+28E1F 𨸟U+28E36 𨸶U+28E89 𨺉
U+28EEB 𨻫U+28F32 𨼲U+28FF8 𨿸U+292A0 𩊠U+292B1 𩊱U+29490 𩒐
U+295CF 𩗏U+2967F 𩙿U+296F0 𩛰U+29719 𩜙U+29750 𩝐U+298C6 𩣆
U+29A72 𩩲U+29DDB 𩷛U+29E3D 𩸽U+29E15 𩸕U+29E8A 𩺊U+29E49 𩹉
U+29EC4 𩻄U+29EE9 𩻩U+29EDB 𩻛U+29FCE 𩿎U+2A02F 𪀯U+2A01A 𪀚
U+2A0F9 𪃹U+2A082 𪂂U+22218 𢈘U+2A38C 𪎌U+2A437 𪐷U+2A5F1 𪗱
U+2A602 𪘂U+2A61A 𪘚U+2A6B2 𪚲

この記事のURL


Unicode CJK Ext A/B 網羅・約5万字収録のフリーフォント

2006年10月28日
記事ID d61028

HAN NOM A/BSun-ExtA/B 。 このメモでは、 CJK Unified Ideographs Extension A/BExt A/B と略す。

概要

2003年「Mozilla は CJK Ext B を扱える」では、 「現在、CJK Ext B を含んでいる Windows フォントは、 SimSun (Founder Extended)(ファイル名 SURSONG.TTF)だけ」と紹介した。 2004年には Y.OzFont もあったが、これは Ext B でもJIS第3~第4水準にあるもののみ収録している (「CJK Extension B上のJIS第3~第4水準の漢字303」)。

しかし、2005年以降、Ext A/B を網羅するフリーのフォントが公開された。

HAN NOM A, HAN NOM B

http://sourceforge.net/projects/vietunicode/

この VietUnicode は本来ベトナム語サポートの向上を目指すプロジェクトだが、 そこにあるフォントが優れ物。

注意: このフォントは、winvnkeyでも配布されているが、 そちらではインストール書庫になっているから、 VietUnicode にある単純なZIPの方が良い(下記「フォントリンクについての注意」参照)。

フリーながら収録グリフはSimSun以上

HAN NOM A は、CJK(漢字)統合2万字と部首のグリフに加えて、 拡張Aからの6572字を含む。 HAN NOM B は、拡張B(U+20000台)からの42,702字を含む。 hannomH.zip と hannom.zip がありますが、Hがつくのが高解像度フォントで、 上記AとBの2ファイル(TTF)が含まれる。 サイズは解凍後、計52.5MB に及ぶ。 Windowsでは、サロゲートを有効にしたWin 2000以降では対応。

SimSun (Founder Extended) と違ってフリーソフトウェア。 しかも、SimSun (Founder Extended) は Ext B を含んでいるといっても一部のみ収録だが、 こっちは網羅。Unicodeの漢字系は、拡張AとBMP(基本多言語面)外の拡張Bも含めて、 (ほぼ*)全収録してる(* このフォントの説明書にある文字数は、 Unicode 5.0の該当範囲の文字数データより数文字少ないが、 差の原因は未詳)

グリフも結構良い。 例えば、BMPの漢字で Arial Unicode MS と比較したら、 Arial Unicode MSは肉太で、特に小さいサイズでは潰れやすいが…

Han Nom A/B はセリフ系で、ほっそり・すっきり。

SimSun (Founder Extended) にはないグリフも含めて Ext B を全収録。 例えば、U+25771 「のぎへん」に予定の予は、ジョと読んで日本特有の字 (万・億・兆・京・垓の上の数詞)のため中国語系の SimSun にないが、 Han Nom B には、しっかり収録されている。

HAN NOM AとBに共通なのは、ラテン文字や記号類。 漢字以外は充実していない。 AのみにあるのはBMPの漢字と、ひらがな・カタカナなど。

Sun-ExtA, Sun-ExtB

Sun-ExtASun-ExtB も Ext A/B を網羅する。 こちらは本来、 中国語サポート関連だが、GB18030完全対応なのでグリフは Unicode 全体に渡る。 Sun-ExtA は BMPのラテン文字系を完全サポートしているほか、 アラビア文字などBMP内の非ラテン各種文字も収録、 その意味では HAN NOM A/B より重宝で、 Arial Unicode MS のフリーの代替として良いかもしれない。

HAN NOM A/B と…

…Sun-ExtA/B は…

…SimSun と似たセリフ系グリフだが、 SimSun にないコードポイントを多数収録している。
Arial Unicode MS は、公開当時は最強フォントだったが、 Ext B にも対応しないしフォントとしてもあまり美しくない(肉太のため文字が潰れやすい)。おまけに途中から有償になった。

Sun-ExtA/Bは、 中国語のフリーウェアに同梱されている。
海峰五笔 http://www.okuc.net/SunWb/
…が、 ネットワーク的に接続が速くないうえ、 フォント単体を配布しているわけでなくアプリ同梱で、 しかも非Unicode中国語インストーラのため一般ユーザには分かりにくいので、 フォントだけ取り出してミラーしておく。 上記の本家からアプリをダウンロードして、インストールしても FONTS フォルダに同じものが出てくる (ただし下記「フォントリンクについての注意」参照)。 フリーウェア。

Sun-ExtA.ttf_Sun-ExtB.ttf.7z 13MB

フォントリンクについての注意

もしベトナム語や中国語のアプリ同梱の形でインストールすると、場合によって、システムのフォントが変わってしまう。 アプリによっては、 導入したフォントをシステムフォントとして使えるようにインストール時にフォントリンクを更新するため。 この問題が心配な場合は、レジストリの
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows NT\CurrentVersion\FontLink\SystemLink

をエクスポートしておき、いざというときには書き戻せば良い。 (バックアップしてなくても、レジストリエディタ等で、Tahoma にないグリフの第一候補を MSGOTHIC.TTF にすれば、 日本語版のデフォと同じになる。REG_MULTI_SZなので、Windows 2000ではregedt32の方を使うこと)

TTFファイルを単純にFontsフォルダに入れれば、こういうややこしい問題は発生しない。

この記事のURL

パブリックドメイン



<メールアドレス>