JSFL - Flash CS4:用嵌入字体替换textfields的字体

时间:2010-12-01 11:36:19

标签: flash-cs4 cs4 embedded-fonts jsfl

我尝试了一堆JSFL脚本来更改文本字段的fla库字体。我使用这些脚本来更改文本域中存在的嵌入字体的字体。所有脚本都可以通过Flash CS3正常运行,但始终无法通过Flash CS4

让我们举个例子:用“myEmbeddedArial *”嵌入字体(符号)替换fla场景中所有文本字段使用的“Arial”字体。 jsfl字体替换指令如下:

textElement.setTextAttr("face", "myEmbeddedArial*");

我可以提供很多有关此问题的详细信息,但是有人已经观察过它并且可能知道它的根本原因吗?

由于

PS:注意只有当包含此文本字段的符号位于场景中时,文本字段不包含emtpy字符串,Flash CS4 IDE的查找/替换“字体”功能才能正常工作仅当您在“当前文档”中搜索(而不是在“当前场景”中)时才

2 个答案:

答案 0 :(得分:0)

我不确定它是否适合您,但可能: http://blog.samueltoth.com/?p=142

祝你好运, 罗布

答案 1 :(得分:0)

我想我找到了一个成功的解决方法。因此,在CS4 IDE中正确执行此操作的唯一方法是使用find / replace函数,但textfields的内容不能为空。

  1. 使用jsfl脚本使用标记字符串(如“####”)来填充符号库的所有空文本字段。

  2. 确保文本字段中使用的所有嵌入字体符号都在fla库中。因为查找/替换工具不会解析使用库中不存在的某些嵌入字体符号的文本字段。实际上,一些嵌入字体符号可能已被删除和/或映射到默认字体上(手动或在从CS3到CS4的文件转换期间)。特别注意嵌入字体符号名称的区分大小写。

  3. 在使用查找/替换功能之前,在文本字段上创建缺少的嵌入字体符号(使用区分大小写的名称)。

  4. 创建要用于替换旧嵌入字体符号的新嵌入字体符号。

  5. 现在,即使使用嵌入字体符号,您也应该可以正确使用CS4的查找/替换功能。打开查找/替换窗口。选择“搜索:当前文档”(不在“当前场景”中)。在主场景上创建一个新图层。在此图层中创建库中所有影片剪辑的实例(例如:选择所有符号库,然后将选区拖放到场景中)。

  6. 不要忘记使用jsfl脚本或IDE的查找/替换文本功能从所有文本字段中删除'####'字符串标记。最后删除为字体替换操作创建的图层以及其中的所有符号实例。