SWC中嵌入的静态字体未在SWF中使用

时间:2011-09-06 16:10:49

标签: actionscript flash-cs5 flashdevelop

flashdevelop项目(使用flexsdk 4.5.0进行编译)正在使用来自其他各种SWC的资产。 在主swf中,当在舞台上添加资源时,设置字体时不会显示任何文本。

我尝试了嵌入,而不是在各种SWC中嵌入字体,但似乎没有任何工作。

我应该使用什么嵌入策略?

注意:我正在使用经典文本字段,尝试嵌入并不在各种SWC中嵌入字体。

2 个答案:

答案 0 :(得分:8)

字体嵌入可能需要一些时间来解释,所以请在此处查看我的帖子:http://divillysausages.com/blog/as3_font_embedding_masterclass

简单的检查事项:

  • TextField上的embedFonts是否设为true?
  • 您的字体是否嵌入了embedAsCFF=false?在flex 4.5中,它是真的,但如果您使用Spark组件,则只需要它为true。
  • 您要使用的字形是否嵌入?在flashdevelop中,打开swc(+按钮),看看为你正在寻找的字体嵌入了多少个字形。
  • 在2个不同的swf中嵌入两次相同的字体(静态文本字段也是如此)。 Flash中似乎存在一个错误,它将采用嵌入字体的第一个实例并忽略其余部分。例如,如果您有SWC A,其中嵌入了Arial嵌入了“hello world”(静态文本字段),那么在SWC B中,即使它可能嵌入了整个字体,它也将使用来自SWC A的Arial(除非SWC B处于另一个“重量”,例如粗体)。

答案 1 :(得分:0)

也许这是一个太迟的答案,但我一直在寻找类似问题的答案,我希望这会有助于其他人。

我遇到了同样的问题:我的视觉内容是使用Flash CS6(发布为SWC)开发的,而我的“播放器”是使用Flash Builder 4.7开发的。在Mac上,一切都像魅力一样,但是当我切换到windows时,swc组件字体(Arial,没有任何花哨)略有不同,导致视觉错位。

经过几天试图弄清问题是什么,我发现当我在Flex中添加了一个spark TextInput组件时,swc组件对字体很不满意。我的解决方法是从播放器中移除所有火花文本组件(flex);现在它完美无缺。

无法真正理解为什么添加s:TextInput导致此类行为或如何阻止它。