Unicode文字を挿入しようとしました。∇または▽ので、Apache FOPで生成されたPDFに表示されます。Apache fopを使用してUnicode文字を表示するにはどうすればよいですか? 「?」を表示文字の代わりに。
これは私がこれまでにやったことです:
まず、あなたは、UnicodeコードポイントはUnicodeで見つけることができることを、この基本的なヘルプApache XSL-FO Inputに応じて文字を表現するために正しいUnicodeのコードポイントを知っている必要があります。 orgを数学演算子のリストの中に入れます。コードは
∇
&#x2207です。 NABLA、▽
と#x25BDも使用できます。下向きの三角形。正しいコードを見つけたら、必要な絵文字とAdobe PostScriptとPDF仕様を含むフォントを選択する必要があります。Base-14 Font Character Mappingを指定すると、すべてのPostScriptインタプリタとPDFリーダーで利用できる必要があります。リストとフォントシンボルには∇
∇
、(何のフォントが含まれていません▽▽
は破棄)その後私はXSLに使うべきだと思う結果コードを検索:FOは次のとおりです。
<fo:block font-family="Symbol"> ∇ </fo:block>
問題がときでありますそれはPDFを生成し、結果は私が "&#x2207;"とは思っていなかったが、代わりに "?"を表示し、文字を表示できないときには "#"が表示されますが、 「?」が表示されています。
私はApache fop 0.95を使用していますが、問題の原因となっているバージョンと思われます.1.0に更新する必要がありますが、現時点ではプロダクションで使用されているバージョンです。それをアップグレードする瞬間。
だから、バージョン以外に何か問題がありますか?私は忘れた何かダミーかもしれない? Apache fopを使用してUnicode文字を表示するにはどうすればよいですか?
あなたの 'fo:block'コードをFOP 1.0とFOP .95の両方で試しました。両方のバージョンでうまくいきました。 stderrにアクセスできますか?フォントやグリフの問題がある場合は、警告が表示されます。 –
@DevNull実際には、FOP 1.0でまだテストしていません。FOP .95、これを学び始めています。フォントやグリフの問題であるかどうかをstderrにどのようにアクセスできますか? –
おそらくあなたはEclipseのようなIDEであなたの開発をしています。コードを実行するたびに、出力がコンソールに送られます。デフォルトでは(少なくともEclipseでは)そのコンソールにstderrが赤い線として表示されます。 – Wivani