2008-12-22 79 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?