« 2006年05月08日 | メイン | 2006年05月10日 »

2006年05月09日

PDFとフォント (27) OpenTypeによるグリフのレイアウト

OpneTypeでは、OpenTypeレイアウトというコンセプトを持っています。

OpenTypeレイアウトは、フォントファイル中には特性テーブル(feature table)として用意されます。

これは、グリフを行にそって配置していく際に次のようなことを行うためのものです。
・複数のグリフのリガチャ、文字の位置によるグリフの変化など。
・文字の配置方法に依存するグリフの入れ替え
・2次元平面上でのグリフの配置、グリフの付加

例えば、日本語ですと縦書と横書での句読点、括弧類の形の入れ替えたり、アラビア文字では、単語の中での文字の位置により、グリフの形が変わります。アラビア文字については、
2006年01月19日 PDFと文字 (27) – アラビア文字の扱い

2006年01月22日 PDFと文字 (30) – アラビア文字Harakatの結合処理
あたりをご参照ください。

OpenTypeレイアウトには次のような幾つかの共通テーブルがあります。
・BASE ベースラインについてのデータ
・GDEF グリフの定義データ
・GPOS グリフの配置データ
・GSUB グリフの入れ替えデータ
・JSTF グルフの均等配置のためのデータ

文字・言語によってそれぞれのテーブルの中に用意されているデータを使って、グリフに対する操作・配置を行うことができます。

フォントファイルから取り出したグリフの操作や配置は、WindowsではUniscribeというグリフ・レイアウト・エンジンを使って行うことができます。もちろん、アプリケーションが自前のグリフ・レイアウト・エンジンを使用することも可能です。

ちなみに、アンテナハウスのXSL Formatterでは、アラビア文字、ヘブライ文字、タイ文字などについては、自前のグリフレイアウト・エンジンを使ってグリフの配置を行っています。

現在は、クメール文字やデバナガリ文字はWindowsのUniscribeに頼っています。しかし、Windowsに頼っていると、Unix、あるいはLinuxで同じ機能を実現できませんので、将来は、これらの文字も自前で処理したいものです。

このようにOpenTypeのレイアウト・テーブルを使うことで、組版ソフトなどのアプリケーションが高度なタイポグラフィを実現することができます。

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック