字体嵌入在Flexbuilder中。 CS4

时间:2010-01-20 02:07:48

标签: flex flash actionscript-3 fonts

我有一个全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中并可供使用。但它是空白的。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在flash cs4中嵌入一个字体我会做以下几点。

  1. 在Flash环境中,在库面板中添加字体元件。确保单击“export for actionsctipt”按钮。请注意字体类的名称。这将是您将在as3代码中使用的字体类的名称。最后单击“确定”并忽略以下警告消息。

  2. 然后,您可以从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;

  3. 希望这会有所帮助

相关问题