1

我有一个问题,我正在加载到我的应用程序中的外部 SWF(来自外部方)在我将其加载到我的应用程序时丢失了它的字体渲染(使用外部字体)。就其本身而言,字体似乎渲染得很好,当我测试将此外部 SWF 加载到一个简单的测试项目中时。

所以在我看来,我嵌入到我的应用程序中的字体可能存在冲突。但是,我已经删除了与此相关的所有功能,它并没有解决我的问题。关于为什么会发生冲突的任何想法?

编辑 ** 有趣的是,仅当 ApplicationDomain 设置为 null 时才会出现此问题。当子 SWF 共享父 SWF 域时,字体会正确呈现。

谢谢

克里斯

4

2 回答 2

1

您对字体冲突的建议是正确的。嵌入字体有几个规则可以帮助您解决这个问题:

  1. 尽量不要使用静态文本字段。静态文本字段中的所有符号都将由 Flash IDE 嵌入到您的 swf 中,因此如果您要加载另一个 swf,它的字体(具有相同名称的系列名称)将被您的字体替换,只有几个符号。
  2. 如果您仍然使用静态文本字段,请尝试将外部 swf 加载到自己的应用程序域 ( new ApplicationDomain(null)) 中,这将阻止字体替换,但来自主 swf 的类在加载的域中将不可用。
于 2013-02-08T18:59:20.417 回答
0

问题是,as3 不喜欢在不同的域上注册字体。所以我将父“ApplicationDomain”的一个实例传递给子 swf,子 swf 将字体注册到这个实例。

于 2013-02-21T09:06:02.950 回答