如何使用从XML填充的文本在SWF中显示繁体中文文本

时间:2011-02-24 07:37:20

标签: xml flash localization cjk dynamic-text

我知道这与已经提出的问题相似,但我希望得到一些关于如何实现结果的更详细的帮助。

我有一个包含汽车系统SWF动画的网站。每个动画都有标注部件的标签,显示故障的动作按钮以及指向其他动画的链接。每个标签的文本都是动态的,标签是从XML文件中提取的。我们允许用户选择更改语言,目前已成功使用英语/法语/西班牙语(从左到右)和希伯来语(从右到左)。

我们正在尝试为台湾用户添加繁体中文,并且难以让人物显示。如果我们将字体文件嵌入到SWF中,我们可以使它工作,但文件大小增加到不实际的程度。我想使用“设备字体”选项,以便我们可以将中文文本输入到我们的XML文件中,然后SWF将使用最终用户计算机中的字体文件来显示字符,但是如果我更改了文本属性对于“设备字体”,无论我选择何种语言,它都会使框中的所有标签文本消失。如果我将该框设置为“Anti-alias”,则其他语言将正确显示。

XML文件包含中文标签: 这对于英语标签:

XML文件的编码是UTF-8。

我有什么遗忘吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

UTF-8编码只能与unicode字体一起使用。如果使用设备字体,则必须使用本地代码页和字符编码。我建议不要这样做,因为你永远不能确定它会对每个人都有效。 UTF-8是一个更好的选择。

因此,您应该使用UTF-8和嵌入字体,但请执行以下操作:

  1. 从外部文件加载所有字体,根据显示的语言决定加载哪些字体
  2. 创建一个特殊的中文版本,仅在从中国和台湾访问该程序时加载。 1.或2.将所有其他语言排除在等式之外,这将使事情变得复杂得多,即使您找不到解决所有问题的解决方案,也只会影响中文版本,而所有其他的仍然可以简化。
  3. 仅嵌入文本中实际使用的字符。繁体中文字体有大约20000个字符,您将从不使用。根据我的经验,对于更大的网站来说,大约200个字符就足够了。您可以通过将整个XML文件粘贴到Flash IDE中的舞台上的TextField并使用属性检查器来找出所需的文件。