2011-03-22 65 views
3

我嘗試使用下面的代碼與GWT 2.2.0:在同一個目錄中UiBinder的XML@字體面在GWT

//in my UiBinderFile 
<ui:style field="myStyle" src="MyCssFile.css"/> 
. 
. 
<g:Label ui:field="aboutMainHeader" styleName="{myStyle.decorFont}"></g:Label> 

而且在MyCssFile.css,

//entire MyCssFile.css 
@font-face { 
    font-family: cool_font; 
    src: url('cool_font.ttf'); 
} 
.decorFont{ 
    font-family: cool_font; /* no .ttf */ 
} 

當我嘗試編譯這個,我在UiBinder解析器中得到了一些NPE,然後調用了字體解析的方法。我不知道什麼是錯的。有沒有人嘗試使用GWT的臉部字體,並且可以請你發佈工作示例?

謝謝...

+0

我已經創建了一個非常小的項目嵌入網絡字體到GWT模塊。也許你可以試試看。它允許你在'ClientBundle'內聲明一個'FontResource'並注入它作爲一個普通的CSS。它也將字體文件部署到模塊中,這非常方便。這是一個測試版,但希望你喜歡它。 http://code.google.com/p/gwt-webfonts/ – helios 2012-06-14 10:46:33

回答

5

http://code.google.com/p/google-web-toolkit/issues/detail?id=5247

你必須把你的@font-face聲明在外部(不可─CssResource)樣式表(可在您內聯例如HTML主頁)

+0

嗯,我的問題是不同的,因爲我甚至不使用CssResource(除非UiBinder在內部將樣式轉換爲它)。我通過在主樣式表中導入Google字體,然後在CSS中的font-family中使用它們來解決這個問題。 – Zec 2011-03-24 09:23:40

+1

在隱式ClientBundle中,UiBinder的ui:style確實轉換爲CssResource(和ui:映像到ImageResource中,而ui:data到DataResource中)。 – 2011-03-25 01:56:49

+0

謝謝托馬斯。並且認爲我正在尋找超過30分鐘的代碼中的錯誤......需要愛GWT中的隨機NPE。這個補丁已經創建,但截至上週還在等待進入GWT中繼。 – 2011-10-30 15:32:20