2011-11-02 20 views
12

Unicode文字を挿入しようとしました。∇または▽ので、Apache FOPで生成されたPDFに表示されます。Apache fopを使用してUnicode文字を表示するにはどうすればよいですか? 「?」を表示文字の代わりに。

これは私がこれまでにやったことです:

  1. まず、あなたは、UnicodeコードポイントはUnicodeで見つけることができることを、この基本的なヘルプApache XSL-FO Inputに応じて文字を表現するために正しいUnicodeのコードポイントを知っている必要があります。 orgを数学演算子のリストの中に入れます。コードは∇&#x2207です。 NABLA、▽と#x25BDも使用できます。下向きの三角形。

  2. 正しいコードを見つけたら、必要な絵文字とAdobe PostScriptとPDF仕様を含むフォントを選択する必要があります。Base-14 Font Character Mappingを指定すると、すべてのPostScriptインタプリタとPDFリーダーで利用できる必要があります。リストとフォントシンボルには∇ &#x2207、(何のフォントが含まれていません▽ ▽は破棄)

  3. その後私はXSLに使うべきだと思う結果コードを検索:FOは次のとおりです。

    <fo:block font-family="Symbol"> 
    &#x2207; 
    </fo:block> 
    
  4. 問題がときでありますそれはPDFを生成し、結果は私が "&#x2207;"とは思っていなかったが、代わりに "?"を表示し、文字を表示できないときには "#"が表示されますが、 「?」が表示されています。

  5. 私はApache fop 0.95を使用していますが、問題の原因となっているバージョンと思われます.1.0に更新する必要がありますが、現時点ではプロダクションで使用されているバージョンです。それをアップグレードする瞬間。

だから、バージョン以外に何か問題がありますか?私は忘れた何かダミーかもしれない? Apache fopを使用してUnicode文字を表示するにはどうすればよいですか?

+0

あなたの 'fo:block'コードをFOP 1.0とFOP .95の両方で試しました。両方のバージョンでうまくいきました。 stderrにアクセスできますか?フォントやグリフの問題がある場合は、警告が表示されます。 –

+0

@DevNull実際には、FOP 1.0でまだテストしていません。FOP .95、これを学び始めています。フォントやグリフの問題であるかどうかをstderrにどのようにアクセスできますか? –

+0

おそらくあなたはEclipseのようなIDEであなたの開発をしています。コードを実行するたびに、出力がコンソールに送られます。デフォルトでは(少なくともEclipseでは)そのコンソールにstderrが赤い線として表示されます。 – Wivani

答えて

1

シンボル(私はあなたがこのためにSymbolフォントファミリを必要としないと思います)の10進値を試してみてください:特殊記号の値を知っておく必要があります誰のために

&#8711;

、あなたは見つけることができますそれらはhere

関連する問題