Apache FOP和Arial字体

ken*_*nny 3 java apache xslt apache-fop

我的XSL样式使用Arial字体

<fo:block font-family="Arial" font-size="8pt" font-weight="normal"> 
Run Code Online (Sandbox Code Playgroud)

配置文件fonts.xml:

<?xml version="1.0"?>
<fop>
  <renderers>
    <renderer mime="application/pdf">
      <fonts>   
        <base>file:///C:/windows/fonts</base>
      </fonts>
    </renderer>
  </renderers>
</fop> 
Run Code Online (Sandbox Code Playgroud)

也试过用这个:

 <auto-detect/>
Run Code Online (Sandbox Code Playgroud)

 <directory>C:\windows\fonts</directory>
Run Code Online (Sandbox Code Playgroud)

我总是得到:

WARNING: Font "Arial,normal,400" not found. Substituting with "any,normal,400".
Run Code Online (Sandbox Code Playgroud)

我应该修复什么才能使用Arial字体?

ken*_*nny 7

这对我有用,需要在配置文件中明确指定Arial字体:

<?xml version="1.0"?>
    <fop>
      <renderers>
        <renderer mime="application/pdf">       
          <fonts>                           
                <font kerning="yes"  embed-url="file:///C:/windows/fonts/arial.ttf">
                      <font-triplet name="Arial" style="normal" weight="normal"/>
                    </font>                     
            </fonts>
        </renderer>
      </renderers>     
</fop> 
Run Code Online (Sandbox Code Playgroud)