Skip to main content
Participating Frequently
September 17, 2019
質問

Acrobat Reader DCでの埋め込みフォントについて

  • September 17, 2019
  • 返信数 4.
  • 10794 ビュー

Acrobat Reader DCでの埋め込みフォントの問題について、質問したい内容があります。

 

埋め込みフォント用に外部サイト(fonts.com)より小塚ゴシックPr6 Medium を購入して、

OpenFunXion for iText というツールを利用して埋め込みしてみました。

Acrobat Reader DCで埋め込みしたPDFを表示されると、プロパティのフォントには

「埋め込みサブセット」が表示されているのですが、文字が表示されません。

Chromeなどで開くと文字が表示されます。

Acrobat Reader DCで埋め込みフォントの文字を表示させたいです。

 

・IPAフォントを埋め込みしてみたが、埋め込み出来て文字が表示された。

・iTextのバージョンは、1.4.2 を使用している。

・Acrobat Reader DC のバージョンは、19.012.20040 です。

 

埋め込みしたPDFを添付します。

何か解決策がありましたら、ご教示お願い致します。

    このトピックへの返信は締め切られました。

    返信数 4

    Ten A
    Community Expert
    Community Expert
    October 22, 2019

    リポジトリはチェックしましたか?

    オープンソースなのだから全てソースが公開されています。リポジトリを読めば全て書いているのですから、ソースをしっかり読み込んで見れば自ずと問題ははっきりするはずです。

    しかしながら、フォントの埋め込みに関する事柄はフォントの構造から文字コード処理関連まで多岐にわたる複雑な技術的素養が要求されるものです。自身で処理を調整する場合、それらをしっかり学ぶ必要があるでしょう。

    それらをすっ飛ばして結果だけを求めるのなら、検索で見つかる成功例の範囲で処理するか、お金を出してサポートを受けるべきでしょう。

    Ten A
    Community Expert
    Community Expert
    October 18, 2019

    その件に件に関してはここではっきりとしたことは確認できません。iText

    Ten A
    Community Expert
    Community Expert
    October 18, 2019
    わたし自身はJAVAは門外漢なので詳細については語ることはできません。しかし、1.x系統はかなり古いものですね。最新のiText7の構成を確認するとAdobe Japan1-6までサポートしているようです。iText側の問題だということははっきりしていますので。iTextについて重点的に調査したほうが良いでしょう。
    空白15_2作成者
    Participating Frequently
    October 22, 2019

    「iTextは2.x系でもUCS-2ベースのコード体系までしかサポートしていません」、

    「Adobe Japan1-6までサポートしている」とおっしゃっていますが、

    どうして「サポートしてる・していない」と言い切れるのかが分かりません。

    iTextの何を確認すればよいですか?

     

    以下の確認方法についてご教示お願いします。

    iTextでUCS-2ベースのコード体系をサポートされているかの確認方法。

    ・iTextでAdobe Japan1-6までサポートされているかの確認方法。

    Ten A
    Community Expert
    Community Expert
    October 18, 2019

    ざっと確認しただけですが、iTextは2.x系でもUCS-2ベースのコード体系までしかサポートしていませんが、件のフォントは更に多くのグリフをサポートするUSC-4のcmapテーブルが利用されます。単純に文字コードとCIDのマッピングが正常に行われない利用不可能な組み合わせだと言うことではないかと思います。

    空白15_2作成者
    Participating Frequently
    October 18, 2019
    つまり、iTextAsian.jarのバージョンをあげてみて、USC-4をエンコードすればできますか?
    assause
    Community Expert
    Community Expert
    September 17, 2019

    正常にエンベッド処理されていない、構造的に問題のあるPDFではないでしょうか。

    当方の環境(Windows 10 1903+Acrobat DC 2019.012.20040)では下記が表示されました。

     

     

    外部のPDF生成ライブラリの場合、そちらで正常に処理ができるかどうかであったり、

    CFF型のOpenTypeで正常にエンベッド処理ができるものなのかを事前に確認・対応することが必要になります。

    (IPAフォントはglyf型のOpenTypeなのでアウトラインの構造が異なります)

     

    なおAcrobatフォーラムからAcrobat Readerフォーラムに移動しました。

    空白15_2作成者
    Participating Frequently
    September 25, 2019

    返信ありがとうございます。

     

    私が添付したファイルの情報としては、フォントの型までは分からないと思ったのですが、なぜ、CFF型やglyf型だと分かったのですか?

     

    また、フォントのプロパティで埋め込みサブセットと表示されているから、エンベッド処理できているのではないでしょうか?

     

    CFF型のOpenTypeではなく、glyf型のOpenTypeにするとエンベッド処理できるのですか?

     

     

    assause
    Community Expert
    Community Expert
    September 25, 2019

    CFF型なのかglyf型なのかは、フォント名と種類によってある程度の判断ができます。
    今回の場合、小塚ゴシックはAdobe-Japan1-6仕様になり、その使用の場合はどのメーカーの者でもCFF型OpenTypeです。
    一方、IPAフォントについてはいわゆるTrueType扱いになり、それ自体のアウトラインがglyf型であるOpenTypeになります。

    アウトラインとしてのフォント情報が異なる点から、処理としては異なったことを行う場合があり、実際の処理については最終的にはPDFツールに依存することになります。
    よってiText側で本当にglyf型アウトラインを含むOpenTypeが初期出来るのかを確認する、ということになります。
    (よって確認内容は逆になるといえます)

     

    そして今回の場合はAcrobat Readerで文字情報の抽出ができない結果であるため、正常なエンベッド処理がなされた、とはいえません。

     

    同時にですが、AcrobatやAcrobat ReaderはあらゆるPDFをサポートしているわけではありません。
    サポートされるのは「Adobe製PDFエンジンで生成されたPDF」になり、それ以外のAdobe以外のエンジンで生成されたものはそちらの生成システムがどこまで保証しているか、という話になります。