外部SWF中的嵌入字体冲突

时间:2013-02-08 14:55:42

标签: actionscript-3 flash actionscript flash-builder

我有一个问题,当我加载到我的应用程序时,我加载到我的应用程序中的外部SWF(来自外部方)丢失其字体呈现(使用外部字体)。就我自己而言,当我测试将这个外部SWF加载到一个简单的测试项目中时,字体似乎很好地呈现。

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

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

由于

克里斯

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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