0

我知道这类似于已经提出的问题,但我很想获得有关如何实现结果的更详细的帮助。

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

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

XML 文件包含中文标签:和英文标签:

XML 文件的编码是 UTF-8。

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

4

1 回答 1

1

UTF-8 编码仅适用于 unicode 字体。如果您使用设备字体,则必须使用本地代码页和字符编码。我建议不要这样做,因为您永远无法确定它对所有人都有效。UTF-8 是一个更好的选择。

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

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