
SDL_Pangoは、PangoのFreeTypeバックエンドの出力をSDLサーフェイスに転写するというコアとなる機能とそれを支える部分からできている。ドキュメント整備のために、GNOME
/ GTK+にならってDoxygenを利用し、各APIについてPangoと同等のドキュメントを用意した。SDL_Pangoに関しては、http://sourceforge.net/projects/sdlpango
にて開発成果が公開されている。

図.2.3.4.1
OpenGLテクスチャに出力した例
Pangoの拡張に関しては、本プロジェクトでは以下の3点を実装することになった。
● ルビ
・ 拡張属性(pango_attr_type_register()で登録される属性)および書式指定タグの拡張をおこなった。
● 約物スペーシング
・JIS X 4051-1995(日本語文書の行組版方法)に規定されている表を実装した
● 両端揃え
また、以下の機能に関してはそれぞれ以下の理由から実装するにいたらなかった。
● 縦書き
・ FreeType自体に縦書き対応機能が組み込まれてまだ間もなく、参考となる先行実装が見当たらないため、プロジェクトの残りの期間で完成させることに不安があった。また、Pango本家で近く実装が予定されており、重複する可能性があった。
● 割注
・調査の結果、Pangoの設計では非常に困難と判明した。割注は行の中に行が入る、入れ子的な構造をもつが、Pangoはそうした入れ子構造を想定していない。
図
2.3.4.2. JIS X 4051-1995規格票から抜粋
図
2.3.4.3.拡張前の出力例
図
2.3.4.4.拡張後の出力例
フォントサブセット化ツールは、オープンソースソフトウェアであるTTX/fonttoolsを利用しフォントをXMLに変換したものと、アプリケーションで利用するPangoの書式指定タグつきのテキストを表現したXMLから、サブセット化したXML表現のフォントを生成するツールとして開発した。市場に流通している商用フォントには、フォントをアプリケーションに埋め込む際に、再編集不可能なものにすることを求めるものが多い。そのため本ツールでは、文字コードとグリフの対応をシャッフルによって断ち切ることで、サブセット化されたフォントを再編集不可能なものにするようにしている。実行速度は不十分ながらも、製品に応用可能なフォントサブセット化ツールが開発できた。フォントサブセット化ツールは、リリースはされていないが
CVSリポジトリが http://sourceforge.jp/projects/fonthypo/
にて公開されている。
|