26.1.在程序中添加国际化字符

26.1.1. 问题
我想在程序中显示字为基础的语言文本,比如中文或韩文。
26.1.2. 解决办法
在Flash Player中嵌入合适的字体。
26.1.3. 讨论
Flex应用程序能显示非西方字符,包括Unicode编码文本,比如汉字或韩文字符,支持这些字符在Flash Player里显示。和西方字体一样,开发者也可以嵌入这些字体到程序中,但是你也要知道,这样做有个后果,就是数量众多的字符会使得你的SWF文件变得很庞大。要达到这种效果,你需要在SWF的大小和完美的文字渲染中做出平衡。

下面的例子,ChineseFonts.mxml,例举说明。

注意
当你打开光盘中的ChineseFonts.mxml文件时,只有在你的系统中包含这些字体时才能看到汉字。而嵌入字体可以在任何系统里正常显示。
+展开
-XML
<Application xmlns:mx="http://www.adobe.com/2006/mxmllayout="absolute">
<mx:Style>
@font-face
{
src: local("LiSong Pro");
fontFamily: EmbeddedChinese;
fontStyle: normal;
fontWeight: normal;
}

</mx:Style>
<mx:Form>
<mx:FormItem label="System Font">
<mx:Label text="快的棕色狐狸慢慢地跳過了懶惰灰色灰鼠" />
</mx:FormItem>
<mx:FormItem label="Embedded Font">
<mx:Label fontFamily="EmbeddedChinesetext="快的棕色狐狸慢慢地跳過了懶惰灰色灰鼠" />
</mx:FormItem>
</mx:Form>
</mx:Application>

虽然MXML源文件是以Unicode编码,但是载入的XML数据包含简体中文字符:
+展开
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxmllayout="absolute">
<mx:Style>
@font-face
{
src: local("LiSong Pro");
fontFamily: EmbeddedChinese;
fontStyle: normal;
fontWeight: normal;
}

</mx:Style>
<mx:XML source="books.xmlid="booksData" />
<mx:VBox fontFamily="EmbeddedChinese">
<mx:Repeater id="iteratordataProvider="{booksData.book}">
<mx:VBox backgroundColor="0xffffff">
<mx:Label text="{iterator.currentItem.@title}" />
<mx:Text width="200text="{iterator.currentItem.toString()}" />
<mx:HRule width="200" />
</mx:VBox>
</mx:Repeater>
</mx:VBox>
</mx:Application>

下面的就是例子中用到的文档:
+展开
-XML
<books>
<book title="阿波罗为Adobe 导电线开发商口袋指南">
现在您能建立和部署基于闪光的富有的互联网应用(RIAs) 对桌面使用Adobe 的导电线框架。
由阿波罗产品队的成员写, 这是正式指南对于Adobe 阿波罗, 新发怒平台桌面运行时间阿尔法发行从Adobe 实验室。众多的例子说明怎么阿波罗工作因此您可能立即开始大厦RIAs 为桌面。
</book>
<book title="编程的导电线2">
编程的导电线2 谈论导电线框架在上下文。作者介绍特点以告诉读者不仅怎样, 而且原因为什么使用一个特殊特点, 何时使用它, 和何时不是的实用和有用的例子。这本书被写为发展专家。
当书不假设观众早先工作了以一刹那技术, 读者最将受益于书如果他们早先建立了基于互联网, n tiered 应用。
</book>
<book title="ActionScript 3.0 设计样式">
如果您是老练的闪光或屈曲开发商准备好应付老练编程技术与ActionScript 3.0,这实践介绍逐步设计样式作为您通过过程。您得知各种各样的类型设计样式和修建小抽象例子在尝试您的手之前在大厦完全的运作的应用被概述在书。
</book>
</books>

加支付宝好友偷能量挖...


评论(0)网络
阅读(83)喜欢(0)flash/flex/fcs/AIR