2012-06-12 99 views
0

我已經測試了這個片段有3種不同的TTF字體,我仍然沒有在Flex中使用@font-face。我在這裏錯過了什麼嗎? 在url()上嘗試了絕對和相對路徑,沒有更改。如果我使用任何標準字體(Arial,Verdana,Tahoma ...),則會出現Hello World!文本,但是當我嘗試使用任何外部字體時,不顯示任何內容。Flex:Runtime字體加載

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%"> 
<mx:Style> 
    @font-face { 
     src: url(josefin-sans.ttf); 
     fontFamily: JosefinSans; 
    } 

    .custom { 
     fontFamily: JosefinSans; 
     fontSize: 36pt; 
    } 
</mx:Style> 
<mx:Text id="text" styleName="custom" text="Hello World!" /> 

編譯時:

mxmlc -static-link-runtime-shared-libraries=true flex.mxml 
+0

字體文件是否位於源文件夾的根目錄下? – RIAstar

+0

@RIAstar字體文件位於我的.mxml文件夾中。我解決了在'@ font-face'聲明中放置'embedAsCFF:false;'的問題。 :) –

回答

2

當你使用MX組件,您應該嵌入字體與embedAsCFF: false;標誌。

@font-face 
{ 
    src: url("josefin-sans.ttf"); 
    fontFamily: "JosefinSans"; 
    fontWeight: normal; 
    embedAsCFF: false; 
} 

如果它不工作,啓動在調試模式下的應用程序,看是否有錯誤。此外,如果需要,請確保您使用的字體可以以粗體和斜體顯示。

+1

呃,用'embedAsCFF:true;'嘗試過,並且它不起作用。所以我搜索了這個標誌並獲得了名爲「在應用程序中排除字體錯誤」的文檔頁面:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf6320a-7fec.html 最後它說要嘗試'embedAsCFF:false;'和voilà,它工作!不管怎樣,謝謝你! :) –

+1

好吧,「錯誤」顯然,我的錯:) –