FontForge がサポートする BMP 外の Unicode ビットマップフォント

皮肉なことに、FontForge 自身がフォントを使うことにかけては暗黒時代の制約を受けています。Unicode の完全なサポートを得るためには libXft と gtk を使うようにする必要があるでしょう。

それはまだ実現されていません。FontForge は未だに、 X コンソーシアムが BMP を超えた拡張を行うことに興味を失った (libXft/gtk を使えばいいわけですし、古びたインターフェイスを作りなおすのは無意味ですから)、古い X のビットマップインターフェイスを使用しています。

しかし私は、少なくともフォントビューでは BMP 外の文字を表示したいのです。

この目的のために、FontForge が以下の非標準のエンコーディング名を認識できるようにしました: -*-*-*-*-*--*-*-*-*-*-*-UnicodePlane-{1,2,3,...16}

>     -fontforge-planeone-medium-r-normal--13-120-75-75-p-101-unicodeplane-1

というのは、第 1 面 (補助多言語面, SMP) ——線文字 B で始まります——のグリフを含んでいる物と解釈するようなフォントです。

概念の検証のために、私は線文字 B の音節をすべてと、その他の文字を少々含む BDF フォントを作成しました (CODE 200? フォントが BMP 外の文字のよいグリフを提供していることは承知していますが、それらはシェアウェアですので、それを単にラスタライズして再配布するというわけにはいきません)。

もし、このフォントに (または第 2 面から 14 面までの同様の物となるであろうフォントに) グリフを送付したい方がいらっしゃれば、私はその処理を試み、統合を行うつもりです。

- PlaneOne.sfd
- PlaneOne-13.bdf
- toplane.c

SFD ファイルは「フルセットの Unicode」エンコーディングで符号化されています。プログラム toplane.c は Unicode のある面を含む BDF ファイルを 1 個とり、それがどの面であるかを検出し、フォントを適切な UnicodePlane マッピングにエンコーディング変換します。