【问题标题】:Embedded fonts in external SWF conflict外部 SWF 冲突中的嵌入字体
【发布时间】:2013-02-08 14:55:41
【问题描述】:

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

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

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

谢谢

克里斯

【问题讨论】:

  • 您是否尝试将库中的字体与一个唯一的自定义名称相关联?在库中右键单击它,转到属性并启用到 ActionScript 的链接

标签: actionscript-3 flash actionscript flash-builder


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 2012-09-27
      • 2011-09-20
      • 2010-11-15
      • 1970-01-01
      • 2012-03-31
      • 2012-08-09
      相关资源
      最近更新 更多