Adobe CC Flash Pro:嵌入和使用字体的正确方法?

时间:2014-10-20 16:01:25

标签: actionscript-3 flash embedded-fonts flash-cc

我最近从Adobe CS6升级到Adobe CC,我的Flash专业项目中都没有显示任何文字。它包含很多动态文本和htmlText。我之前不太确定我是否正确地做了,因为我读了几本解释不同方法的指南,但至少它起作用了。

我在尝试修复所有内容方面取得了一些成功,但如果有人能告诉我使用Adobe CC的正确方法,我将不胜感激。以下是我现在尝试做的事情。

  1. 将字体添加到库中,选中" Export for Actionscript"框,并指定一个类名。
  2. 创建字体实例以及粗体和斜体版本:

    var myFont:Font = new MyFont();
    var myFontBold:Font = new MyFontBold();
    var myFontItalic:Font = new MyFontItalic();
    
  3. 设置textFormat:

    var myTextFormat:TextFormat = new TextFormat();
    myTextFormat.font = myFont.fontName;
    
  4. 设置textField并应用textFormat:

    var myTextField:TextField = new TextField();
    myTextField.defaultTextFormat = myTextFormat;
    
  5. 这将显示要显示的文本,但如果我尝试在htmlText中添加粗体或斜体标记,则它们都不起作用。

    myTextField.htmlText = "This is <b>bold</b>. This is <i>italic</i>.";
    

    另外,我还需要做Font.registerFont吗?我在之前的代码中有这个,但我不知道为什么需要它。

1 个答案:

答案 0 :(得分:1)

尝试创建并设置样式表,将字体的粗体和斜体版本分配给相应的标记:

var style:StyleSheet = new StyleSheet();
style.setStyle("i", {fontFamily: myFontItalic.fontName});
style.setStyle("b", {fontFamily: myFontBold.fontName});

myTextField.styleSheet = style;

myTextField.htmlText = "This is <b>bold</b>. This is <i>italic</i>.";