2011年

12月

16日

Field Reports 1.4 の新機能 (3) ― グリフ直接指定 ―

フォントに収納されているすべての字形(グリフ)にUnicodeのコードポイントが割り当てられているとは限りません。
そのような場合には,CIDまたはグリフ名によりグリフを直接指定することができます。

CIDによるグリフ指定

使用するフォントがOpenTypeフォント(拡張子:*.otf)であれば,CIDをキーとしてグリフを指定することができます。
CIDとは,CIDフォントが内蔵するすべてのグリフを一意に識別するために,Adobe社が付与した番号です。
その番号体系は,日本語CIDフォントであればAdobe-Japan1文字コレクションにもとづいています。
    
CIDによるグリフ指定は,Field Reports独自の以下の実体参照形式により行います。
 “&@#dddd;” または “&@#xhhhhhh;” 

 

Unicodeに符号が与えられていない半濁音のか行(鼻濁音)を含む文字をCIDで指定
Unicodeに符号が与えられていない半濁音のか行(鼻濁音)を含む文字をCIDで指定

グリフ名によるグリフ指定

使用するフォントで「グリフ名」が定義されていれば,グリフ名によるグリフ指定を行うこともできます。
グリフ名が定義されているかどうかは,ttfdumpなどのツールで,TrueTypeフォントの「post」テーブルの内容をダンプすると確認することができます。

例えばIPAフォントでは,「aj<数値>」という形式のグリフ名が付けられています。
「aj」は「Adobe-Japnan」略で,<数値>はCIDに対応しているようです。

                 Glyf 123  -> PSGlyf Name # 123, 'aj147'
                 Glyf 124  -> PSGlyf Name # 124, 'aj148'
                 Glyf 125  -> PSGlyf Name # 125, 'aj149'
                 Glyf 126  -> PSGlyf Name # 126, 'aj150'
                 Glyf 127  -> PSGlyf Name # 127, 'aj151'
                 Glyf 128  -> PSGlyf Name # 128, 'aj152'
                 Glyf 129  -> PSGlyf Name # 129, 'aj154'
                 Glyf 130  -> PSGlyf Name # 130, 'aj157'
                 Glyf 131  -> PSGlyf Name # 131, 'aj158'
                 Glyf 132  -> PSGlyf Name # 132, 'aj160'
                 Glyf 133  -> PSGlyf Name # 133, 'aj161'
                 Glyf 134  -> PSGlyf Name # 134, 'aj162'

IPAmj明朝フォントでは,「mj<6桁数値>」という形式のグリフ名が付けられてます。

                 Glyf 2006  -> PSGlyf Name # 2006, 'mj000001'
                 Glyf 2007  -> PSGlyf Name # 2007, 'mj000002'
                 Glyf 2008  -> PSGlyf Name # 2008, 'mj000003'
                 Glyf 2009  -> PSGlyf Name # 2009, 'mj000004'
                 Glyf 2010  -> PSGlyf Name # 2010, 'mj000005'
                 Glyf 2011  -> PSGlyf Name # 2011, 'mj000006'
                 Glyf 2012  -> PSGlyf Name # 2012, 'mj000007'
                 Glyf 2013  -> PSGlyf Name # 2013, 'mj000008'
                 Glyf 2014  -> PSGlyf Name # 2014, 'mj000009'
                 Glyf 2015  -> PSGlyf Name # 2015, 'mj000010'
                 Glyf 2016  -> PSGlyf Name # 2016, 'mj000011'

これは,IPAmj明朝フォントの「MJ文字図形名」に対応しています。

 

「IPA 文字情報基盤 文字情報一覧表」より
「IPA 文字情報基盤 文字情報一覧表」より

このグリフ名を使って,以下のField Reports独自の実体参照形式によりグリフを指定することができます。

     “&@<グリフ名>;”
グリフ名によりUCS実装されていない文字を表示
グリフ名によりUCS実装されていない文字を表示

フォントを埋め込んだPDFを作成すれば,IPAフォントをインストールしていないコンピュータでも,当然文字化けなしで表示することができます。
Windows版Adobe Readerで表示
Windows版Adobe Readerで表示

現在のところ,グリフ名が定義されていることが確認できたフォントとしては,IPAフォントがあります。