2009-08-19 54 views
7

我試圖用FOP導出帶有UTF-8字符的PDF,最好不需要嵌入字體。
以下代碼:Apache FOP:在PDF中顯示UTF-8字符(不嵌入?)

<fo:block font="10pt Helvetica" text-align="justify" space-after="10pt" space-before="8pt" keep-with-previous="auto" keep-together.within-page="auto"> 
    <fo:block font-weight="bold" color="gray">Summary</fo:block> 
    <fo:block text-indent="1em" keep-with-previous="always"> 
    <fo:block text-indent="1em" space-before="4pt"> 
     <fo:block text-indent="1em" space-before="4pt">私はガラスを食べられます。それは私を傷つけません 
     </fo:block> 
    </fo:block> 
    </fo:block> 
</fo:block> 

產生####################在PDF中。我知道這個問題:http://xmlgraphics.apache.org/fop/faq.html#pdf-characters

當我在文檔屬性 - >字體下,Helvetica字體與'編碼:ANSI'列出。有沒有辦法改變這個?

如果我在嵌入,如果沒有訪問Helvetica.ttf,最好的方法是什麼?我已經嘗試過使用DejaVuSans,但是我最終用方塊代替#號。

請注意,這不是從命令行(這將是一個開始)的一次性使用,而是對現有應用程序的擴展。我試圖在不太複雜的情況下支持UTF-8字符。

回答

7

AFAICT,PDF specification中包含的字體只包含來自ISO-Latin-1的字符。如果你想要一個字符超出附件D中定義的字符:字符集和編碼,那麼你需要嵌入字體。