2008-12-22 88 views
0

我正在開發一種多語言Flex應用程序,該應用程序必須以27種以上語言運行,包括亞洲,希伯來語和阿拉伯語,以及所有歐洲語言。多語言Flex應用程序

我們使用嵌入字體(臨無數),並擁有充足的風格在CSS所有使用該嵌入字體的工作。我們已經使用Myriad的修改版本進行了測試,包括從Arial Unicode中取得的所有非西方Unicode Unicode字符,並且工作正常,但是swf的權重是不可接受的。

在需要的時候,我們有這樣兩條線在我們的CSS ..

@font-face 
{ 
    src: url("MyriadPro-Semibold.otf"); 
    fontFamily: "Default Font"; 
    fontWeight: bold; 
    advancedAntiAliasing: true; 
} 
@font-face 
{ 
    src: url("MyriadPro-Regular.otf"); 
    fontFamily: "Default Font"; 
    advancedAntiAliasing: true; 
} 

和stlyes其餘使用「默認字體」。

什麼是實現與運行時加載的字體多語言的應用程序,同時保持目前樣式的最佳解決方案?


是的,語言是從服務器,當用戶改變了語言,但不是字體下載。

我的問題是,如果我必須下載一個與Myriad不同的亞洲字體,怎麼能說閃光,嘿,我的「默認字體」現在是這個亞洲字體。我若顯示的語言名字,我怎麼能顯示亞洲的名字,在不改變列表樣式...

這並不容易。

回答

0

而不是讓字體和嵌入的.swf語言文件你不應該從服務器下載呢?

下載的字體文件時,瑞士法郎將開始啓動,當用戶選擇一個新的語言下載語言文件。

1

你可以包括在你的本地化屬性文件fontWeight=boldfontWeight=normal的屬性。然後,您可以使用setStyle()更改應用程序。從以前的鏈接的一個例子:

StyleManager.getStyleDeclaration("Button"). 
      setStyle("color","Blue"); 

這可能是:

 StyleManager.getStyleDeclaration("DefaultFont"). 
        setStyle("fontWeight", 
resourceManager.getString('locale_properties', 'fontWeight')); 

這是不完全正確的例子,但我希望這點你在正確的方向。

另一種方法是動態地加載新的樣式表: How do you dynamically load a CSS file into a Flex application?