2011-09-20 60 views
0

我運行在這兩個簡單的類下面的代碼具有的主要功能,以及在Tomcat上的servlet/JSP。獲取tomcat的不同的系統字體比獨立的Java應用程序

Font fonts[] = ge.getAllFonts(); 
int j = fonts.length; 
for (int i = 0; i < j; i++) { 
    System.out.println(fonts[i].getFamily()); 
} 

返回的列表在兩種情況下都不相同。具體來說,tomcat中沒有列出.otf字體,但列出了獨立的字體。任何人都可以找到原因嗎?鉛?

詳細 - Ubuntu Linux操作系統的10.04 - - OpenJDK的1.6.0_20 - 的Tomcat 6.0.24 - 同樣的無頭服務器 上運行這兩種情況下我已經運行單機版使用相同的VM參數在Tomcat啓動

謝謝! 馬克

+0

在黑暗中只是一個鏡頭,但你確定你使用的是相同的GraphicsEnvironment中的實例嗎?此外,如果你用不同的權限運行的兩個片段(即tomcat的VS本地用戶),我猜你可能會發現,有些字體沒有正確的訪問。 – mlathe

+0

@mlathe說得很好。必須承認我剛剛在我的Windows PC上使用Eclipse和Pluto服務器(下面的Tomcat)嘗試過,並且他們報告了相同的字體。 –

+0

@mlathe你釘了它!字體文件的不同用戶權限。應該從那開始......發佈您的解決方案,然後我會將其標記出來。 – Marc

回答

1

只是瞎猜,但你確定你使用的是相同的GraphicsEnvironment中的實例嗎?另外我想如果你運行兩個不同權限的代碼片段(例如,tomcat vs本地用戶),你可能會發現某些字體沒有正確的訪問權限。

+0

的解決方案是tomcat的對本地用戶的權限不同 – Marc