以前、ファイルサーバー上のファイルを検索するために、検索エンジンを構築したときのこと。
クロールしたファイルが正しくインデックスされているか確認するためキーワード検索を実施しました。すると、MS-Word, PowerPoint, Excel, TEXTファイルは検索出来たのに、ある特定のPDFファイルが見つかりませんでした。
インデックスされていないのかと思い、PDFファイル名を指定して検索すると、ファイル名が検索結果に表示されました。しかし、検索結果のサマリーには、文字化けしたテキストが表示されました。
元のファイル自体が文字化けしているのかと思い、対象のPDFをAdobe Readerで開くと、正しく日本語で表示されました。変だなぁと思い、メッセージをコピーしてテキストエディタにペーストしたところ、文字化け・・。正しく表示されるのは、Adobe Readerの時だけのようです。
検索でこのPDFファイルが検索出来なかったのは、この文字化けが原因の様です。
Adobe ReaderでこのPDFファイルで使用しているフォントを確認したところ、"Type 3" となっていました。
Windows OS には、"Type 3"フォントは無い(google検索より)ので、文字化けしてしまったようです。
(今回、検索エンジンを動かしているOSと、Adobe Readerを使用したOSは共に Windows OSです)
そもそも、"Type 3"フォントを指定したPDFファイルが作られた経緯は分かりませんでしたが(当時そのPDFファイルを作った人と連絡がつかないため)、フォントを適切なものに変更することで、解消できました。
フォントの変更方法としては、
- Adobe DC などのPDF編集ツールを使用する。
- PDF作成時に、"Type 3"フォントを使用しないように、 PDF作成ツールの設定を見直す、あるいはツールの選定を見直す。
になります。
なお、"Type 3"に限らず、利用者側のOSにフォントがないと文字化けするので、それを避ける場合は、使用するフォントをPDFファイルに組み込む必要があるようです。