« 2007年07月25日 | メイン | 2007年07月27日 »

2007年07月26日

PDFと長期署名(6) — PDF/A 仕様 4

PDF/A-1 の仕様について、続きです。次はフォントです。これもなかなか細かいです。

4.フォント
PDF/Aでは、PDFの中のテキスト情報を、長い将来に渡り、可視化した時に、グリフ単位で最初に作成したときのファイルの見かけに一致し、文字の意味特性を再現できることを意図しています。そのためにフォント関連の要求が規定されています。

* フォントはPDF Reference 5.5に規定するフォント仕様に準拠していること。なお、マルチプルマスター・フォントはType1フォントの特殊なケースと考えます。

コンポジットフォント
* コンポジットフォント(Type 0フォント)では、CIDSysteminfo辞書のRegistryとOrdering文字列は、CMap辞書のUserCMapキーの値がIdentity-HまたはIdentity-Vの時を除き、一致しなければなりません。
* Type 2 CIDFontは、CIDFont辞書にCIDからグリフインデックスへの変換表であるCIDtoGIDMapを含むか、Identityでなければなりません。

* CMap は、Identity-HとIdentity-Vを除いて、PDF Referenve 5.6.4に記述されているようにファイルに埋め込まれる必要があります。埋め込まれたCMapについて、CMap辞書のWModeエントリの整数値は、埋め込まれたCMapストリームのWMode値と同一であること。

フォントの埋め込み
* フォントがテキストレンダリング・モード3のみに使われる場合を除いて、PDFファイルの中で使用されているすべてのフォントが埋め込まれていなければなりません。Type1の標準14フォントも例外ではなく、埋め込み対象です。
* リーダは、環境にあるフォント、代替フォントあるいはシミュレートされたフォントではなく埋め込みフォントを使用します。
* Type 0 CIDFont、Type 1、TrueTypeフォントのサブセット埋め込みでは、ファイル中のすべてのグリフを定義しなければなりません。Type1フォントのサブセットは、フォント記述辞書に、フォントのサブセットの中で定義される文字の名前を一覧化したCharSet文字列を含まねばなりません。CIDFontのサブセットは、埋め込まれたCIDFontファイルの中に、どのCIDが存在するかを識別するCIDSetストリームを含まねばなりません。

フォントメトリックス
* 埋め込まれたフォントの、フォント辞書のWidthエントリに蓄積されたグリフの幅の情報と埋め込まれたフォントの中の情報は一致しなければなりません。

文字符号化対応表
* シンボリックでないTrueTypeフォントは、フォント辞書のEncodingエントリの値として、MacRomanEncodingか WinAnsiEncodingを指定しなければなりません。シンボリックなTrueTypeフォントは、フォント辞書にEncodingエントリを指定してはならず、フォントプログラムのcmapテーブルは一つの符号化のみを含まねばなりません。

* (PDF/A-1レベルAのみの要求)フォント辞書は、一部の例外を除いて、その値が文字コードをUnicode値にマップするCMapストリームオブジェクトであるToUnicodeエントリを含むこと。これによって、Unicodeを使って文字列の検索が可能になります。

5.透明
PDF/A-1に適合するファイルでは透明を使うことができません。具体的には、ExtGState, XObjectのSMaskキーの値はNoneでなければならず、フォームXObjectのGroupオブジェクトにはSキーにTransparency(透明)の値をもつことができない、などです。透明と同じ効果を他の方法で実現することは許されます。

投票をお願いいたします

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