我有一个全AS3 Flex项目,其中嵌入了字体。我正试图从CS4运行这个项目。但是,出于某种原因,文字根本没有出现。
Flex AS3中的代码如下所示:
[Embed(source='C:/WINDOWS/Fonts/ArialBD.TTF', fontWeight = 'bold', fontName='ArialBold', unicodeRange='U+0020-U+0020,U+0021-...')] //a bunch of other unicode
public static var _VerdanaFontBold:Class;
[Embed(source='C:/WINDOWS/Fonts/Arial.TTF', fontWeight = 'regular', fontName='Arial', unicodeRange='U+0020-U+0020...')] //a bunch of other unicode
public static var _VerdanaFont:Class;
在我的文本出现的扩展文本字段的构造函数中,我有:
Font.registerFont(_VerdanaFontBold);
Font.registerFont(_VerdanaFont);
我发现this article有关使用Flash嵌入元数据的方法,但我无法使用(我尝试过systemFont =“Arial”以及该文章底部的评论中提到的内容)。
所以我尝试评论上面的行并以另一种方式做。在CS4中,我理解我应该在FLA文件中以设计模式创建一个空白文本字段。然后,我可以选择要嵌入属性面板中的字体。我选择了verdana(大小写,标点符号,数字等)。但是当我在CS4中运行应用程序时,文本字段仍为空白。
我将字体嵌入空白文本字段中的事实,而不是我设置的文档类调用的字体,这对我来说无关紧要,对吧? - 字体应该只嵌入swf中并可供使用。但它是空白的。
有人有什么想法吗?
答案 0 :(得分:0)
在flash cs4中嵌入一个字体我会做以下几点。
在Flash环境中,在库面板中添加字体元件。确保单击“export for actionsctipt”按钮。请注意字体类的名称。这将是您将在as3代码中使用的字体类的名称。最后单击“确定”并忽略以下警告消息。
然后,您可以从as3文件中访问此字体类。例如
import flash.text.Font; ......
var titleField:TextField = new TextField();
var myFont:Font = new nameOfFontClass(); //见第1点
var format:TextFormat = new TextFormat(); format.font = myFont.fontName;
titleField.defaultTextFormat = format; titleField.embedFonts = true;
希望这会有所帮助