2013-07-30 49 views
5

我有以下xsl-fo代碼,試圖產生外來字符。XSL-FO外來字符(波蘭語)Unicode在APACHE FOP(V. 1.1)

<?xml version="1.0" encoding="UTF-8"?> 
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
... 
<fo:block font-size="11pt" font-family="calibri" language="pl">  
Odwrotna strona tego pisma zawiera wa&#x017C;ne informacje. je&#x017C;eli potrzebuje Pan/i pomocy, aby je zrozumie&#x0107;, prosz&#x0119; 
     zadzwoni&#x0107; pod numer X-XXX-XXX-XXXX po bezp&#x0142;atne us&#x0142;ugi j&#x0119;zykowe. 
</fo:block> 

我已經試過所有的字體類型,我能想到的訪問所需的Unicode字符,但至今沒有成功。

我的格式有問題嗎?或者我正在使用的unicode?或者也許我沒有正確地聲明我的XML?

這和我的韓國,中國和俄羅斯的unicode角色是目前唯一給我帶來麻煩的角色。而我的西班牙和克羅地亞的Unicode字符工作正常。

+0

什麼是您的輸出文件格式?您使用哪個程序查看結果輸出?這些字符到底發生了什麼(它們是否被遺漏,錯誤的字符,問號,框)?你在哪個操作系統上? – Eelke

+0

我的輸出是一個PDF文件,用Adobe Reader進行查看。有問題的字符變成#符號。我在Windows XP上。 – Zibbobz

回答

3

如果您在文件中顯示特殊字符時遇到問題,您可以嘗試在配置文件中定義它們。 這裏http://xmlgraphics.apache.org/fop/trunk/output.html#afp-configuration你可能會發現如何去做。 另外請確保您有正確指定您的字體目錄的路徑。在Windows中,它應該看起來像這樣:

<fonts> 
     <directory recursive="true">C:\Windows\Fonts</directory> 
     <auto-detect/> 
</fonts> 
+0

鑑於這些文件必須在服務器上處理,然後發送到打印室進行打印,那麼就服務器端支持而言,是否存在任何可預見的問題?我假設,爲了在我們的服務器上呈現它們,我必須將目錄引用作爲服務器目錄。但爲了閱讀和打印文件,是否需要在本地安裝字體? – Zibbobz

+1

字體文件只需要在服務器端存在。然後它們被包含在PDF本身內。 –

+0

在生成的pdf中包含字體文件是Apache fop設置中的默認設置嗎? –