2017-08-02 24 views
2

私のアプリは、サポートされているいくつかの言語でユーザーガイドを含むPDFファイルを出力できるはずです。 (私はpdfkitを使用しています) タイ文字が正しくPDFにレンダリングされない

は、私がタイに適したフォントを見つけるいくつかのトラブルを持っていた:いくつかのいわゆるタイ(Googleからの能登タイを含む)の言語をサポートする出力正方形、疑問符またはさらに悪い読めないものでしょう。私たちのタイの男はcharachters

ต่ำ

は基本的に2つの要素と、下の写真のようにレンダリングされたことが注目されるまで

は、研究のビットの後、私は、合理的にうまく動作するように見えたものを見つけ最初の文字の上の方法により、それらのcharacteをレンダリングできると思われる、ことを私はNimbus Sans Thai Family downloaded from myfonts.comを使用している他の

enter image description here

をカバーするものと崩壊プレビュー入力でコピーを試してみていただければ幸いです。

ヒント?

答えて

1

あなたのフォントは特定の方法で不完全です。 Unicodeのプライベートユースエリア(PUA)に通常あるグリフがありません。
一部のアプリケーション(私はMicrosoft Wordを意識しています)はこの問題を手動で解決できますが、レンダリングアプリケーション(およびAdobe Acrobat Viewer)ではそうではありません。
これらのグリフが表示されているフォントを見つけたり、既存のグリフを手動で置き換えるアプリケーションを探したりする必要があります。


多くのフォント、彼らはタイの(そして彼らは、確かに、「通常の」タイのグリフが含まれている)をサポートする主張にもかかわらず、不完全になることができます。

カノニカルグリフ以外にも、整形式フォントには非正規形式のグリフを含む「Private Use エリア」(PUA)サブレンジが含まれている必要があります。それら グリフは、上部 母音(SARA_ISARA_UEなど)と組み合わせて使用​​するための上方位置に

  1. トーンマークを、
  2. PO_PLA,FO_FANなどと組み合わせて使用​​するための左上の位置にあるトーンマーク(そうでない場合は重なります)。
  3. under-vowelsと組み合わせて使用​​するためのYO_YINGおよびTHO_THANの特殊グリフ。
  4. さらにいくつか;

通常、レンダリングされたアプリケーションが上記のシンボルの組み合わせを検出すると、PUA領域の代替グリフが検索されます。見つからなければ、デフォルトのグリフに戻ります。これはあなたのケースで起こります。

ここには、Arial UnicodeとFreeSerifのPUA領域の2つのスクリーンショットがあります。これは自明のものです。FreeSerifにはPUAがありません。私は、同じ問題がNimbusフォントで発生すると思います。

A font with missing PUA

A font with filled PUA

0

問題はPDFKitは、複雑なスクリプトのレンダリングを実行しないということです。
アラビア語、タイ語などのいくつかのスクリプトは、文脈(文字列内の位置、隣接文字)に応じてグリフの置換と再配置を必要とし、PDFKitはそれをしないようです。
PDFビューアアプリケーションは、PDFファイルで定義されている内容を正確に表示します。 Nimbus Sansタイ語のフォントにはおそらくすべての必要なグリフが含まれていますが、答えで説明するバイトバスターは、ビューアアプリケーションではなくPDFKitで実行する必要があります。

関連する問題