ブルーノとブノワは正しくあなたがpdfCalligraph
モジュールを必要とする発音記号を積み重ねるような高度なタイポグラフィのもののために、あなたがあなた自身の責任で試すことができます回避策があることを指摘している間。基本グリフと発音区別記号の組み合わせが実際のものである場合、それらが実際のテキストでいくつかの言語やその他の既知のコンテキストで発生することを意味する場合、そのような組み合わせはおそらくUnicode
に存在し、たとえば、指定したテキストには、0xU1E17と0x1E53のUnicode文字があります。このようなグリフが含まれているフォントもあるので、グリフを組み合わせて表示すると、ベースグリフとスタッキングの区別記号を表示する2つ目のオプションがあります。たとえば、Windowsに同梱されているArialUni
には、上記のグリフが含まれています。
このアプローチをとることに、あなたは、単一のグリフに知られているUnicodeの基本グリフ+特殊記号の組み合わせを構成するために、次のコードが必要になります
String originalStr = "ḗ and ṓ are characters that display incorrectly";
String normalizedStr = java.text.Normalizer.normalize(originalStr, Normalizer.Form.NFC);
new Text(normalizedStr); // Use this normalized Text instance
私はArialUni
で得た結果: 
しかし、私が言及したように、Unicodeとフォントの両方で必要な組み合わせが存在する場合にのみ機能するため、あなた自身の責任で行ってください。正しいレンダリングのためには、まだpdfCalligraph
を使用してください。
あなたが書いている実際のUnicodeコードは何ですか? –
文字 "ḗ"は実際には、0x65(e)、0x304(̄、結合マクロン)、および0x301(組み合わせアクセントアクセント)の3つのUnicode文字です。 –
[pdfCalligraph](http://itextpdf.com/itext7/pdfcalligraph)アドオンを使用していますか?もしそうでなければ、それは動作するはずがありません。すべての高度なタイポグラフィは、アドオンによって行われます。 –