2006年12月25日
Unicode 5.0 で基本多言語面 (BMP) に定義済みの 60,564 個のコードポイントに全てグリフを配置した BDFフォントです。FontForge のグリフ一覧画面 (FontView) で、編集可能な各グリフの上に表示されるサンプルフォントとして使うことを意図しています。
このフォントはフォントエディタの一覧画面に表示される各セルにグリフを作成する場合、どのような代表字形がデザインされているべきかを表示するための目的で作られていますので、Surrogate Pair のような Abstract Character の存在しない符号位置にも (間違ってグリフを作成しないように) グリフを配置していますし、1 個の文字に複数の字形が存在する場合、代表的な 1 個だけをデザインしています (一般に、Unicode Consortium が提供しているコードチャートに合わせています)。制御文字や結合型ダイアクリティックマークも、そのチャートで用いられている視覚化を行っています。結合型マークであれば、基底文字との相対位置を表すために点線で書いた丸を表示していますが、実際にフォントを作成する時にはそのような丸を除いた形でデザインしなければなりません。
アジアの幾つかの文字についてはデザインが完了していません。未デザインの文字に対しては、下の表に示す図形で代替しています。
patch < GPL/yhunifont+wiki.diff
bdftopcf fontview12.bdf > /usr/local/share/fontforge/fontview12.pcf
cd /usr/local/share/fontforge; mkfontdir
xset fp+ /usr/local/share/fontforge
fontview12.bdf は MIT ライセンスです。
wqy-yhunifont からの文字追加パッチを当てると GPL が適用されます。
Glyph images 1/3 2/3 3/3 (converted by bdf2bmp).
Unicode の文字割り当て状況については、Ken Whisler 氏によってまとめられています (N3016.xls。ISO/IEC JTC1/SC2/WG2 から入手可能)。60,564 個のコードポイントのうち、Surrogate (2,048), Private Use Area (6,400), Noncharacters (34), Conntrols (65) を除いた Subtotal (traditional count) の 52,017 個が、一般にイメージする「文字」に近い物と言えるでしょう。
現在、42,797 文字 (カバー率 82.28%) が作成済で、残りは 9,220 文字です。未作成の文字は下の表に示した代替グリフで埋めてあります。(CJK Extension A の中には「作成済」となっている文字の中でも、機械的に他の文字を組み合わせて合成した著しく低品質のビットマップが若干あります)
yhunifont をマージすることで漢字の不足を補うことができ、CJK Unified Ideograph 及び Extension A の全文字が定義されます。同梱のパッチ GPL/yhunifont+wiki.diff を適用してください。パッチには現在 7,601 文字が含まれていますので、未定義文字を 1619 文字 (3.11 %) まで減らすことができます。
このパッチは fontview12.bdf に含まれていない文字のうち、yhunifont-1.2.2 に含まれている文字と、http://wenq.org/?CJKExtA_Index からダウンロードした 12pt/11pt の文字を集めたものです。前者のライセンスは GPLv2 です。後者はまだ BDF の形でリリースされていないようですが、http://wenq.org/index.cgi?CJK.ExtA.Missing によると、GPL のソフトウェアをベースとして開発されているので当然 GPL であると考えられます。
| スクリプト | 範囲 | 代替グリフ | 残り |
| Syriac | U+0700–074F | ![]() | 77 |
| Telugu | U+0C00–0C7F | ![]() | 80 |
| Kannada | U+0C80–0CFF | ![]() | 84 |
| Malayalam | U+0D00–0D7F | ![]() | 78 |
| Sinhala | U+0D80–0DFF | ![]() | 80 |
| Myammar | U+1000–109F | ![]() | 78 |
| Mongolian | U+1800–18AF | ![]() | 155 |
| Yi Sillables | U+A000–A48F | ![]() | 912 |
| Arabic Presentation Forms-A | U+FB50–FDFF | ![]() | 468 |
| 合計(非漢字) | 2012 | ||
| CJK URO (including extension) | U+4E00–9FBF | ![]() | 2615 |
| CJK Extension A | U+3400–4DBF | ![]() | 4593 |
| 合計(漢字) | 7208 | ||
| 総計 | 9220 |
あくまで「フォントエディタのグリフ表示画面に表示するため、コード表を書き写した物」でしかありません。ダイアクリティカルマークには、基底文字を表す点線表記の丸が表示されます。制御文字には点線で書かれた正方形に文字の書かれた図形が入っています。例えば和字間隔 (U+3000, いわゆる全角スペース) には「IDSP」と書かれています。(U+0020 だけは Unicode の文字表に従わず空白にしてあります)。そのことを理解したうえであなたのフォントデザインの助けにお使いください。
周知のとおり、1 個の文字に対して複数のグリフを作成しなければならない言語がたくさんあります。卑近な例としては、日本語の句読点や小書きの仮名・組文字は縦書き用のグリフを別に用意する必要があります。同じコードポイントに対応するグリフが複数ある場合、文字コード表に割り当て可能なグリフは代表的な 1 個の字形に限られます (フォント内部のデータ構造で言えば、cmap テーブルに割り当てられているグリフに相当します)。その他の非標準的なグリフ (縦書き用字形など) は、グリフ差し替えを指示する正誤表の形式で指定するのが一般的です (フォント内では GSUB テーブルがそれに相当します)。
また、このフォントは高さ 16 ドット (上下の境界線を含む) にできるだけ収まるようにオリジナルからグリフの位置を移動している物があり、テキスト表示に使うのは不向きですのでご注意ください。部品取りには大いに使えると思いますので、よろしければご利用ください。
私が以前に作った cu12+ をベースにしています。Mark Leisher さん作の ClearlyU BDF Font (Web Archive のキャッシュ) が 1 万字近くの大規模フォントでなければ、それを拡張しようとも思わなかったでしょう。
FontForge のサンプルグリフ表示エリアは 16 ドットしか無いので、上下の枠線に触れないように、漢字を 14 ドットの物に変更しています。橘浩志さんの作られた k14 を JIS X 0213 に拡張された今村俊幸さんの public domain フォントK14-{2000,2004}を最優先とし、efont-unicode-bdf 16 ドットを引続き使用しています。そこにさらに、私を含めた 6 人で作成した PD の JIS X 0212 フォント (安岡孝一さんが最終チェックを行い、一次配布しています) を追加しています。この補助漢字部分が一番文字の大きさの違いが目立つため、K14 ベースの修正を始めています (続けるかどうかは気分次第)。
CJK Compatibility に含まれる組文字のベースとして 7 ドット枠にデザインされた美咲明朝を使用しています (前後の関係に応じて結構いじっています)。
丸つきカタカナ・漢字のベースとして M+ bitmap (mplus_j10r) を、原型を止めぬほど改変して使用しています。
このフォントは、たくさんの方の作業を集めてできた物です。トータルで何人になるか見当もつきませんが、上に名前の挙げられなかった方も含め、それらのフォントを作成された皆様に感謝します。
漢字部品の組合せデータは CHISE Project による IDS データを使用させていただきました。ここにお礼を申し上げるとともに、作られた字形の誤字は全く私個人の不手際と手抜きによるものであることを明らかにしておきます。
KANOU Hiroki <kanou@khdd.net>
使用しているフォントの出所
謝辞
履歴
問題点
参考