加载在swf中的swf加载的swf中的字体!文字消失了

时间:2010-08-05 12:23:05

标签: flash actionscript-3

我一直在网上寻找对我​​的问题的回应而没有成功。

我在库中创建了一个包含字体的swf,我的字体的类名是“MVerdana”。

此swf加载到另一个显示文本字段的swf中。 swf由Loader加载。 在完整的活动中, 我正在使用

获取字体类
var loaderInfo:LoaderInfo = event.currentTarget as LoaderInfo;
 var app:ApplicationDomain = loaderInfo.applicationDomain;
 fontClass =  app.getDefinition("MVerdana") as Class;
 Font.registerFont(fontClass);

它运作良好

...但 当我加载这个swf(加载字体和显示文本字段的那个) 在上下文加载器中使用新的ApplicationDomain, 文本字段没有显示, 当我使用Font.enumerateFonts()

时,我可以看到字体已注册

如果我在currentDomain中加载swf,它会工作, 但这不是我想要的。

我真的不明白发生了什么! 有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您将遇到以下错误:

https://bugs.adobe.com/jira/browse/FP-2026?page=com.atlassian.streams.streams-jira-plugin:activity-stream-issue-tab

我知道这一点,因为我确实遇到了我们在回来时构建的应用程序的相同错误。我们有不同的SWF加载到主SWF中,每个SWF都包含一个字体副本。一切都很好。然后我们决定将字体移动到主容器中,然后一切都坏了。

这里要注意的主要问题是,如果子SWF在时间轴上有一个文本字段,其名称与主SWF中嵌入的字体相同,则会导致问题。之前我们没有遇到过这种情况,因为我们的大多数应用程序都不依赖于时间轴,而是动态创建文本字段。因此,如果您能够动态创建文本字段,那可能就是您的答案。如果你必须使用相同的字体,并且你在时间轴上有文本字段,那么在Flash修复它当然是一个很难破解的。