web-dev-qa-db-ja.com

PDFのテキストは、コピーすると意味不明になりますが、正常に表示されます

私たちはインドでのUnicodeの普及を促進している小さなグループです(ここではレガシーエンコーディングが深く定着しています)。しかし、インド語のユニコードテキストのドキュメントをPDF形式に変換すると、問題が発生します。テキストは意図したとおりに表示されますが、コピーして貼り付けると、コンテンツが部分的にぎこちなくなります。

Win7での植字にinDesignCCを使用しています。ePub形式に問題なくエクスポートできます。しかし、エクスポートされたPDFにはこの問題があります。また、Adobe PDFプリンターとPrimoPDFに印刷してみましたが、悪化しただけです。インターネットでPDFをチェックすると、この問題は、そのようなユニコードでエンコードされたすべてのIndic PDF(およびおそらくすべての東アジアの複雑なスクリプト)に存在することがわかります。それはPDF仕様の問題ですか?

PDF here http://www.rajbhasha.nic.in/pdf/dolebook-4.pdf をチェックしてください

テキストをコピーして元の文字と一致させると、文字が他の文字に置き換えられ、不要な空白が入り込んでいることがわかります。

現在、コピーの貼り付けや検索/インデックス作成が簡単になるという理由で、Unicodeを宣伝しています。この問題はそれを完全に破壊します。何か案は?

4
coldbreeze16

PDFを mutool clean で解凍して見てみました。問題は、 this stackoverflowの質問で説明されているように、フォントにUnicodeエンコーディングを使用するのが難しいことのようです。このため、PDFに含まれるフォントは異なるエンコーディングを使用します。ただし、フォントグリフからUnicode文字への複雑なマッピングを使用して、フォントごとに/ToUnicodeオブジェクトも含まれます。 。

現在、多くのPDF視聴者(Linuxのxpdfなど)は、この複雑なマッピングに注意を払っていないようです(または、少なくともこのような複雑なマッピングには注意を払っていないようですが、より多くの作業を行う可能性があります単純なマッピング)、これがコピーアンドペーストしようとするとゴミが出る理由ですが、他のPDFビューア( mupdf など)では機能します、私が確認したように。

したがって、問題はドキュメントではなくPDFビューアにあります。また、翻訳を行うために必要な複雑な手段からわかるように、PDFとUnicodeはうまく連携しません。 。

考えられる解決策:(1)PDFビューアの開発者に\ToUnicodeマッピングを完全にサポートするように圧力をかけます。オープンソースのもののために自分で修正するかもしれません。(2)特定の=の使用を促進するPDFマッピングで動作するビューア。(3)グリフエンコーディングがユニコードエンコーディングと一致するPDF内のフォントを使用してみてください。これは16-で可能と思われます。ビットユニコードコードポイント(そして私が知る限り、インドの文字は16ビットのようです)が、これがどれほどうまく機能するか、またはそのようなPDFを作成するためにどのアプリケーションを使用すべきかわかりません。

4
dirkt