actionscript-3 – As3字体嵌入
我已经看到很多与flash中的字体嵌入相关的问题,我似乎无法找到问题的答案.
我从字体swf加载字体并在高级别注册它们,以便它们可以在子swfs中使用.问题是子swf也可能嵌入这些字体,但不是明确的,这意味着它们只是嵌入,因为子swf中有使用字体的某些字符的字段.这意味着子项中的文本字段使用不完整的嵌入字体,而不是在父项或任何级别的祖父项中注册的嵌入式完整集.这也意味着可能成为这个孩子的孩子的swfs将无法获得完整的字体. 我的问题: 到目前为止,我已经考虑过/注意到的一些事情: >好像每个Font类都绑定到ApplicationDomain. (确认这将有所帮助) 我已经开始形成一个关于问题在我脑海中可能不正确的定义,所以请在必要时退一步,给我一个关于问题的不同观点.到目前为止,我上面提到的问题似乎是正确的问题,如果有解决方案,我的所有问题都会消失. 谢谢! 解决方法
如果我理解正确,那么你想删除/取消注册那些不完整的字体作为已经加载但嵌入另一个swf的特定字体的版本?
嵌入的每个Font都会创建一个类,通过Loader类加载的每个swf默认都会加载到自己的应用程序域中,以防止命名空间冲突,但是您可以强制加载器使用?loader将所有内容加载到当前应用程序域中context?Loader的load()方法的参数.因此,您可以尝试强制相互重写同一名称空间中的类,但是您无法控制要丢弃的类,这意味着您无法检查哪个字体具有更多字形. (也许它只是抛出错误而不是覆盖而根本不运行,我对此并不确定). 另一方面,你应该质疑字体是如何嵌入到孩子的swf文件中的.我知道除了嵌入字体之外别无他法: 在* .fla文件中作为?库符号?, 或这个: @font-face { src: url("../assets/MyriadWebPro.ttf"); fontFamily: myFontFamily; advancedAntiAliasing: true; } 在mxml文件中.所以(我猜)生成的类的结果名称取决于开发人员给出的?font-family?属性(甚至更多设置),即使相同的字体被嵌入两次类 – 名称可能因设置而异. 还有没有Font.unregisterFont()方法,所以如何管理这个问题仍然是一个很好的问题,以防你可能会以某种方式找到相同的Font类(也许RegExp成为一个友好的帮助者). 我认为要正确解决这个问题,你需要在编译时进行控制,使用基于xml的* .xfl项目文件可能有所帮助,但是甚至比引用的Font-File可以有不同的名称. 一个不错的问题,祝你好运 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |