我正在为我的项目使用 Flash CS5(资产)和 FlashDevelop(代码)。我们有大约 20 个包含文本字段的 fla/swf。我们所有的文本字段都使用相同的字体,并且该字体是我们公司特有的,因此不会安装在任何人的计算机上,因此需要嵌入。
我的最终目标是嵌入一种所有文本字段都使用的单一字体,主要原因有两个:
- 每当我们向字体(其他语言)添加更多字符时,我们只需要添加一次而不是 20 次
- 文件大小不会急剧膨胀
我很难做到这一点。似乎我尝试的所有内容都丢失了字符(似乎只有在每个 fla 的文本字段的文本属性中输入的字符才被嵌入)。
我正在尝试的最新解决方案是使用运行时共享库,因为这似乎应该可以工作。我有一个名为 FNFont.fla 的 fla。它只包含库中的一个对象,即嵌入字体。字体导出到 AS3,在第 1 帧中导出并导出用于运行时共享。URL 是 FNFont.swf(所有 swf 都在同一个文件夹中)。
在所有其他 fla 中,我在字体嵌入中创建字体对象。我勾选 Import for Runtime Sharing 并为其命名与 FNFont.fla 中的类名相同。URL 是 FNFont.swf。fla(s) 包含许多使用此字体的文本字段。文本字段有自己的实例作为其他影片剪辑的子项。
当我运行程序并尝试加载包含这些文本字段之一的实例的影片剪辑时,我收到错误消息:
[Fault] exception, information=ReferenceError: Error #1065: Variable FontName is not defined.
FontName 是 FNFont.fla 和所有其他 fla 中 Font 对象的类名。它不是文本字段的实例名称(也不是类名称),所以我不明白它如何认为它是一个变量。任何人都可以对此有所了解吗?
谢谢