是否可以在运行时嵌入字体以用于SWF中的现有动态文本字段实例?

问题描述

| 我正在尝试在运行时将字体嵌入到动作脚本中,这有些起作用。我可以通过使用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中嵌入字体。     

解决方法

我假设您已经将
textInstance
添加到了swf中,并且其中还有一个
TextFormat
,并且您稍后要加载该字体。 将字体加载到swf后,您应该再次使用
textInstance.text = textInstance.text
设置文本(如果
textInstance
带有
defaultTextFormat
)或将textFormat设置为
textInstance.setTextFormat(textFormat)
,因为文本字段在加载字体时不会自动更新。     ,我必须使用该字体创建一个新的TextFormat并将其设置为defaultTextFormat才能使其正常工作。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...