我已经看到很多与 Flash 中的字体嵌入相关的问题,但我似乎无法找到我的问题的答案。
我从字体 swf 加载字体并在高级别注册它们,以便它们可以在子 swf 中使用。问题是子 swf 也可能嵌入这些字体,但没有明确地嵌入,这意味着它们只是嵌入,因为子 swf 中有使用字体的某些字符的字段。这意味着子项中的文本字段使用不完整的嵌入字体,而不是在父项或任何级别的祖父项中注册的嵌入完整集。这也意味着可能成为这个孩子的孩子的 swfs 不会获得完整的字体。
我的问题:有什么方法可以在编译时告诉 flash 在任何情况下都不要将字体嵌入到 swf 中?如果没有,是否有从编译的 swf 中删除嵌入字体的工具?
到目前为止,这是我考虑过/注意到的一些事情:
- 似乎每个 Font 类都与一个 ApplicationDomain 相关联。(确认这一点会有所帮助)
- 在文本字段上使用设备字体不会导致嵌入任何字体。(但对我来说不是一个选项,因为我需要这些字段在运行时从父 swf 嵌入字体。)
- 我找不到注销字体或简单地告诉加载的子 swf 使用父字体的方法,这对于应用到加载的子 swf 很有用。
- 可以将子项加载到不同的上下文中,这将允许字体的父定义覆盖子定义。(或者会有两个定义,如果有,哪个优先?)
- 从子库中加载资源并将它们添加到舞台将获得字体的父定义。(这是有道理的,因为资产是在子域之外创建的)
- 一个可能的解决方案可能是不向文本字段添加任何字符以编译 swf,但这也不是一个真正的选项,因为我需要使用任何字体的静态文本。
我已经开始对我脑海中可能不正确的问题进行定义,因此,如有必要,请退后几步,让我对问题有不同的看法。到目前为止,我上面提出的问题似乎是正确的问题,如果有解决方案,我所有的问题都会消失。
谢谢!