2012-03-28 72 views
3

我在ActionScript 3.0创建动态的TextField。和许多人一样,我的文字时,我设置.embedFonts = true;ActionScript 3.0中嵌入字体 - 文本中不显示

ArialSlim嵌入和ActionScript导出消失。我已经成功地与trace(Font.enumerateFonts());

有趣的是,当我注释掉嵌入线(如下图所示)进行测试,字体正常工作。

另外,.setTextFormat();也工作正常,而不.embedFonts线。

所以我的问题是,为什么呢?在这种情况下,我会遇到任何问题吗?

var divArray = new Array(); 
var x_Lbl_Array:Array = new Array(); 

var entries:int = 10; 

var labelFormat:TextFormat = new TextFormat(); 
var arial:Font = new ArialSlim();  

labelFormat.font = arial.fontName; 
labelFormat.size = 10; 

var xVar:int = 0; 

for(var loop:int = 0; loop < entries; loop++){ 
    x_Lbl_Array[loop] = new TextField(); 

    //x_Lbl_Array[loop].embedFonts = true; 
    x_Lbl_Array[loop].antiAliasType = AntiAliasType.NORMAL; 
    x_Lbl_Array[loop].defaultTextFormat = labelFormat; 

    x_Lbl_Array[loop].x = xVar; 
    x_Lbl_Array[loop].y = 165; 
    x_Lbl_Array[loop].text = "test"; 

    mc.addChild(x_Lbl_Array[loop]); 
    xVar++; 
} 

编辑: 我只是跑从第1帧此代码.embedFonts = true;和它的工作...

也许我应该提到,我在里面的一个方法运行此代码的麻烦实例化的动作类。该类位于外部.as文件中。这有助于回答我的问题吗?

回答

1

事实证明,我在某些时候点击了我的嵌入字体轮廓格式选项“TLF(DF4)”。当我纠正这一点,并选择“经典(DF3)”时,它解决了我的问题。

我猜我觉得这是非常奇怪的是,字体被正确地显示了不.embedFonts被设置为true

谢谢,丹尼尔。我很感激帮助。

+0

恭喜修理!如果可以,请确保将您的答案(或丹尼尔的下方)标记为“已接受”,以便其他人会注意到您的问题已得到解决,并能够从您的解决方案中学习。干杯〜 – 2012-03-30 14:22:31

+0

是的,我打算标记我的答案,但它不会让我马上做。 – 2012-03-31 20:45:05

+0

你能解释一下吗?什么是“大纲格式选项”? – zakdances 2013-03-16 22:58:19

1

我想你的代码,并为我工作(与嵌入字体)

检查是否已包括了所有的字符。 您可以设置字符范围,也可以创建包含所有字符的文本字段。

+0

感谢您的回复。包含的字符不应该是一个问题......我包括大写,小写和特殊符号。我不需要那么多。 – 2012-03-28 17:39:11

+0

你能分享FLA吗? – Daniel 2012-03-28 18:17:26

+0

[这是一个链接到我的来源](http://www.peculiar-motion.com/FlashExamples/textExample.zip)...请参考编辑我上面的帖子 - 这个错误只发生在你实例化调用此代码的类。 – 2012-03-29 19:40:14

相关问题