2016-08-21 13 views
1

Apache FOP 2.1を使用して、Javaプログラム内で生成されたPDF文書にカスタムフォント(Vito-Regular.otf)を使用します。Apache FOP:カスタムフォントの読み込みと使用に失敗しました。

ウェブ上にあるほとんどのサンプルは、FOP 1.0と.ttfフォントを参照しています。これは私を助けるだろう。

マイFOPのユーザーの設定:テンプレートで使用

<?xml version="1.0"?> 
 
<fop version="1.0"> 
 
    <renderers> 
 
    <renderer mime="application/pdf"> 
 
     <fonts> 
 
     <font embed-url="file:C://Windows//Fonts//Vito-Regular.otf" kerning="yes" > 
 
      <font-triplet name="Vito" style="normal" weight="normal" /> 
 
     </font> 
 
     </fonts> 
 
    </renderer> 
 
    </renderers>

<fo:block-container font-size="9pt" font-family="Vito">

はデフォルトフォントを使用するようにつながります(任意の)が、(私の予想)ヴィートフォントではない:

WARNUNG: Font "Vito,normal,400" not found. Substituting with "any,normal,400". 

ので、ここでは、この問題に関する私の主な質問です:

  1. は、Apacheにロードされたフォントを読み込む/チェックする方法はありますFOP 2.1?
  2. 'Vito、normal、400'の組み合わせは、名前、スタイル、重量と同じですか?
  3. フォントの設定が正しく設定されていますか?私は何を監督していないのでしょうか?
  4. テンプレートで正しいフォントが参照されていますか?
  5. フォントがApache FOPと互換性があるかどうかを確認する方法はありますか?

これらの質問に対するお手伝いがあります。

+1

時には(絶対的なウィンドウ)ファイル:URLがちょっとした問題です。ファイルの間に1-4/'を追加しようとしましたか?とC:のように' file:// C:/ 'ですか? linuxでは、 '/ home'で始まる絶対パスに' file:/// home'を使用します。 –

+0

また、二重の '//'は一度エスケープされた\\と各パスの '/'ポジションは十分でなければならない。 –

+0

ではなく、いずれの組み合わせも問題を解決するものではありません。私はこれがまったく問題だとは思わない。何かが間違って設定されているかもしれませんが、私は何の手がかりも持っていません... – Erik

答えて

0

私fop.xmlこの

<renderers> 
<renderer mime="application/pdf"> 
    <fonts> 
    <font embed-url="MSMINCHO.TTF" kerning="yes" sub-font="MS Mincho"> 
    <font-triplet name="MS Mincho" style="normal" weight="normal"/> 
    <font-triplet name="MS Mincho" style="normal" weight="bold"/> 
    </font> 
    </fonts> 
</renderer> 

のようなもので、私のTTFファイルは私のxmlファイルと同じディレクトリにあります。

sub-fontタグが見つからないか、ファイルの場所やファイルの種類に問題があります。

+0

ええ、大丈夫、私はサブフォントタグを追加し、同じディレクトリにフォントを置く。これは悲しいことに違いはありません。フォントはオープンタイプのフォントなので、私はこれを変更することはできません... – Erik

関連する問題