【问题标题】:Is it possible to embed fonts at runtime to use for existing dynamic textfield instances in SWFs?是否可以在运行时嵌入字体以用于 SWF 中现有的动态文本字段实例?
【发布时间】:2011-09-01 21:57:30
【问题描述】:

我正在尝试在运行时将字体嵌入到 actionscript 中,它有点工作。我可以通过使用 embed 标记或通过加载具有链接名称的字体库资产并将其与新的 TextField 一起使用来嵌入字体。但是,影片剪辑上存在的文本字段已经没有嵌入的字体并且缺少字符。

一个简单的代码示例(textInstance 存在于影片剪辑中):

var embeddedFonts = Font.enumerateFonts(); //Shows embedded font

var textFormat:TextFormat = textInstance.getTextFormat();

textInstance.text = "Don't be lazy"; //missing characters 

var textField:TextField = new TextField();

textField.embedFonts = true;
textField.defaultTextFormat = textFormat;
textField.selectable = false;
textField.autoSize = TextFieldAutoSize.LEFT;
textField.multiline = true;

textField.text = "Don't be lazy"; //shows all characters
addChild(textField);

可以这样做吗?我想在运行时嵌入字体,我正在加载多个 SWF,我不想在每个 SWF 中嵌入字体。

【问题讨论】:

    标签: actionscript-3 fonts embed textfield


    【解决方案1】:

    我假设您已将 textInstance 添加到您的 swf 中,并且它有一个带有您稍后要加载的字体的 TextFormat

    将字体加载到 swf 后,您应该使用 textInstance.text = textInstance.text 再次设置文本(如果 textInstancedefaultTextFormat)或使用 textInstance.setTextFormat(textFormat) 设置 textFormat,因为文本字段不会自动更新加载字体。

    【讨论】:

    • 没有骰子。文本仍然缺少字符:(
    【解决方案2】:

    我必须使用该字体创建一个新的 TextFormat 并将其设置为 defaultTextFormat 才能使其正常工作。

    【讨论】:

      猜你喜欢
      • 2023-01-12
      • 1970-01-01
      • 2010-09-26
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      相关资源
      最近更新 更多