私はテキスト編集プログラムを持っています。作成したドキュメントを PDF にエクスポートします。
また、一連の文字列を PDFDictionary に保存し、作成したドキュメントを再度開くことができるようにします。
PDF と私のプログラムのフォントには、Win7 システムから .ttf を抽出して BookAntiqua を使用しています。ホースフォントも問題なく表示できます。
しかし、私には問題があります。ユーザーが使用する一般的な文字は、šđčćž と ŠĐČĆŽ です。
プログラムに最初にそれらを入力すると、正しく表示されます。PDFに保存してAdobe Readerで開くとちゃんと表示されます。ただし、その PDF をプログラムに再度読み込むと、⎕ として表示されるか、まったく表示されません。
問題は、PDFDictionary に入力する方法にあると思います。string.replace("Ž", "/u017D");
やのようなことをしようとしましstring.replace("Đ", "\u017D");
たが、役に立ちませんでした。Eclipse から PDF を開くと、「Ž」を「/u0017D」のように保存する代わりに、「Ž」のように保存され、他の問題のある文字の一部が欠落していることに気付きました (PDFDictionary 内、すべて)。
私が知りたいのは、たとえば文字 "Ž" を PDFDictionary に印刷して、プログラムで一度読み取った文字が JTextArea などに文字 "Ž" として表示されるようにする方法です。
編集: すべての PDF 処理は iText で行われます!
コード:
保存時:
PDFobject = new PdfString("šđčćž ŠĐČĆŽ");
PDFName index = new PdfName("1");
dictionary.put(index, object);
開くとき(ロードするとき):
PDFName index = new PdfName("1");
PDFObject line = dictionary.get(index);
String string = line.toString();
JTextArea abc= new JTextArea();
abc.setText(string);
行をこれに変更すると: PDFobject = new PdfString("šđčćž ŠĐČĆŽ", "UTF-8");
、まだ出力としてランダムな意味不明なものが得られます...