« Office 2007 の新しい数式エディタについて まとめ | メイン | XSL-FOとCSSの未来 »

2006年09月25日

フォントを埋め込まないPDFの表示(4)

10日程前、「フォントを埋め込まないPDFの表示」というテーマで、一般のWindowsアプリケーションからMS明朝、MSゴシックが使える状態になっているにも関わらず、PDFの中のMS明朝、MSゴシックを指定した文字がAdobe Readerで表示できないのは、常識的に判断して不具合である、と言いましたが、どうも気になります。Adobe Readerのフォント選択について、もう少し、調べてみましょう。

まず、PDF Reference ではどのように書いているでしょうか?探してみました。
5.4 Introduction to Font Data Structuresでは、「A font is represented in PDF as a dictionary specifying the type of font, its PostScript name, its encoding, and information that can be used to provide a substitute when the font program is not available.」(PDFにおいて、フォントは、PostScript名、符号化方式、フォント・プログラムが利用できないとき代わりを供給するために使われる情報を指定した辞書として表現される)となっています。

次に、
5.7 Font Descriptorsでは、「A font descriptor specifies metrics and other attributes of a simple font or aCIDFont as a whole, as distinct from the metrics of individual glyphs. These font metrics provide information that enables a consumer application to synthesize a substitute font or select a similar font when the font program is unavailable. (...略 これらのフォント・メトリクス情報は、コンシューマ・アプリケーションが、フォント・プログラムを入手できないとき、代わりのフォントを合成したり、類似のフォントを選択するための情報を提供する)とあります。

この2箇所から、コンシューマ・アプリケーションは、システムにフォントが存在するときにはシステムのフォントを使い、存在しないときに、フォント・メトリクス情報を使って代わりのフォントを選択するものと考えることができるように思います。

Adobe Reader(英語版)は、MS明朝を指定した日本語文字については、Windowsシステムにフォントがあっても表示できないことは、既に確認しています。では、日本語以外はどうなるか、を少し調べてみました。

1.中国語
中国語簡体字にSimSunフォントを指定して、フォントを埋め込まずにPDFを作成してみました。右がWordのオリジナル画面、左が、フォントを埋め込まずに作成したPDFのAdobe Reader英語版で表示したもの。これを見ますと、中国語も同じように表示することができないことがわかります。
20060924-5.PNG

2.アラビア語
アラビア語(アラビア文字)の場合はどうなるでしょうか?試してみましたが、アラビア文字は、PDFを作成するときAcrobatにフォントを埋め込まないを指定してもフォントを強制的に埋め込んでしまいます。これは、アラビア文字は、フォントを埋め込まないPDFには意味がない(正確には、アラビア文字は、PDFのテキスト表示の仕様では、フォントを埋め込まない限り正しく表示できないため)と考えられますので、やむを得ないことだろうと思います。
20060924-3-emb.PNG

■フォント・プロパティ
20060924-4.PNG

3.ラテン文字
前の例では、フォントを埋め込まないと指定しても、アラビア文字が入っていると、ラテン文字についてもフォントが埋め込まれてしまっています。そこで、ラテン文字だけならどうなるかを調べてみました。
20060924-1.PNG

■フォント・プロパティ
20060924-2.PNG

ラテン文字だけだと、フォントが埋め込まれない。Arabic Type Settingを指定した部分がAdobe Sans MM フォントに置換されて表示されていることがわかります。

このような結果を見ますと、Adobe Readerのフォントの選択では、Windows環境にどのようなフォントがあるかをチェックして適切なフォントを選択することを行っていないようです。

また、フォントを埋め込まずにPDFを作成すると、Arabic Type Settingのような特殊なメトリックスをもつフォントが、まったく異なるメトリックスのフォントに置き換えられています。

Adobe Readerのフォント選択の実装はPDF Referenceの仕様の指定するところから少しずれていると言えそうです。

投稿者 koba : 2006年09月25日 08:00

トラックバック

このエントリーのトラックバックURL:
http://blog.antenna.co.jp/PDFTool/mt-tbng2.cgi/452

コメント

コメントしてください




保存しますか?