当计算机通过 Internet 播放您发布的 SWF 文件时,不能保证您使用的字体在这些计算机上可用。要确保您的文本保持所需外观,可以嵌入全部字体或某种字体的特定字符子集。通过在发布的 SWF 文件中嵌入字符,可以使该字体在 SWF 文件中可用,而无需考虑播放该文件的计算机。嵌入字体后,即可在发布的 SWF 文件中的任何位置使用。
从 Flash Professional CS5 开始,对于包含文本的任何文本对象使用的所有字符,Flash 均会自动嵌入。如果您自己创建嵌入字体元件,就可以使文本对象使用其他字符,例如,在运行时接受用户输入时或使用 ActionScript 编辑文本时。对于“消除锯齿”属性设置为“使用设备字体”的文本对象,没有必要嵌入字体。指定要在 FLA 文件中嵌入的字体后,Flash 会在您发布 SWF 文件时嵌入指定的字体。
通常在下列四种情况中,需要通过在 SWF 文件中嵌入字体来确保正确的文本外观:
-
在要求文本外观一致的设计过程中需要在 FLA 文件中创建文本对象时。
-
在使用消除锯齿选项而非“使用设备字体”时,必须嵌入字体,否则文本可能会消失或者不能正确显示。请参阅使用消除文本锯齿功能。
-
在 FLA 文件中使用 ActionScript 动态生成文本时。
当使用 ActionScript 创建动态文本时,必须在 ActionScript 中指定要使用的字体。
-
当您的 SWF 文件包含文本对象,并且该文件可能由尚未嵌入所需字体的其他 SWF 文件加载时。
-
在一个位置管理所有嵌入的字体。
-
为每个嵌入的字体创建字体元件。
-
为字体选择自定义范围嵌入字符以及预定义范围嵌入字符。
-
在同一文件中使用 Text Layout Framework (TLF) 文本和传统文本,并在每个文本中使用嵌入字体。
-
继续使用 Flash Professional CS4 和包含用旧方法嵌入的字体的早期 FLA 文件,这种旧方法就是将嵌入字符与特定文本对象关联。当打开较早的 FLA 文件时,Flash Professional CS5 及更高版本允许您使用“字体嵌入”对话框编辑这些较早的嵌入字体。
注意:
如果将 Flash Professional CS5 FLA 文件保存为 CS4 格式,则字体元件将转换为 CS4 字体元件,转换后的字体元件将嵌入字体的全部字符,而不是选定的部分字符。所有 TLF 文本块将转换为传统文本字段。字体元件将以 DefineFont3 格式保存以确保与传统文本兼容。在每个 CS4 字体元件中,将包含其使用的每个字体的嵌入字体信息的整个副本。以 CS4 格式保存还会导致嵌入信息应用到任何引用的字体元件的文本对象,因为这是嵌入字体信息在 Flash Pro CS4 及更早版本中的存储方式。