185. テキストを取り出せない(文字化けする)PDF
- 2018年03月12日
- その他
6~7年前に初版の語学書のPDFで、適切にテキストを取り出せない(文字コードを取得できない、文字化けする)というものに遭遇しました。後で試してみたら、文字列の検索もできませんでした。そのPDFは、フォントが埋め込まれ、原本印刷物のフォントで表示され、プリントできるもので、画面上では文字列の選択ができるにもかかわらず、コピー&ペーストやテキスト形式での保存で文字化けするというものです。ネイティブのDTPデータは残っていないとのことでした。
一般的なDTPで組版している案件では、InDesignから直接書き出すPDFか、少し昔ならInDesignやQuarkXPressから書き出したPSファイルをAcrobat DistillerでPDF化するものでは、そのような事例に遭遇したことはありませんでした。
伝聞によると、もともとは他所にてEDICOLORで組版されたとのこと。ただ、PDFの文書のプロパティ・概要は、このPDFを書き出す際に貼り込まれた(と推測される)QuarkXPress 4.1となっているので、元のバージョンは分かりません。また、PDFの文書のプロパティ-フォントで見えるフォント名は、通常のものではなく、「ATMFont-0-XXXXXXXX(埋め込みサブセット)」・「SystemG-XX-XXXXXXXX(埋め込みサブセット)」、種類:Type1、エンコーディング:カスタム、のような見慣れないものとなっています。
当初はEDICOLOR特有の仮想フォントが影響している?などと考えました。Webで色々検索してみて、直接の原因ははっきりしませんが、こんなことが起きているのかもしれないなーと、とりあえず腑に落ちる説明がありました(文末に参考リンク)。
◆フォント埋め込みされたPDFでは文字コードが取得できない、ものもある。
フォント埋め込みを指定すると、PDFの文字列の並びは「グリフID」番号で表現され、PDF内で使用される文字のフォントがサブセットとして埋め込まれることがあるそうです。画面表示や印刷は、これで問題なくできるのですが、グリフIDと文字コードとの対応表(ToUnicode CMapなど)がPDF内に含まれていないと、文字の検索やテキストのコピーができない、ということです。
PSファイルを書き出す際の印刷設定のオプションで、グリフIDと文字コードの対応表を含む/含まないを選択ができることが、あるのでしょうか。ちなみに、組版の現場で現役のAVANAS BookStudio 3.0(2005年頃の最終バージョン)では、印刷時の文字設定「フォントの送信方法」で、3つのオプション“アウトライン”、“Type 1(カスタム)”、“Type 1(CID)”のうち、“Type 1(CID)”のみが、文字列検索が可能なPDFを作成できるとのことです。
組版・DTPの現場で、「①フォントが埋め込まれている、②コピー&ペーストで文字化けする、③文字の検索もできない」というPDFしかない場合は、2018年現在で、とるべき道は1つです。早々に、必ずしも完璧には文字列化できないOCR(光学文字認識)のたぐいは使わないという決断をして、PDFをプリントしたものを原稿として、人間の手で文字入力を行うという道です。
参考
・PDFで文字が検索できないけど? 何が問題? どうしたら良い?(アンテナハウスPDF資料室)
※このコラムおよび、コラム中の文章、画像、動画の無断転載および複製等の行為はご遠慮ください。