我们有一个大型的 Flash 网站,它被翻译成 11 种语言。我们有一个字体加载系统,其中以每种语言显示网站所需的所有字符都嵌入到外部 swfs 中(所以 11 个 swfs)。
该站点的最新更新要求我们将文本布局框架 (TLF) 用于文本显示的一个区域,这当然只支持嵌入新 CFF 格式的字体。我尝试使用标签嵌入字体的第二个实例,embedAsCFF="true"
在加载字体 SWF 后,我可以看到该字体已正确注册,因为它显示在由Font.enumerateFonts
.
我正在使用的 TextFlow 实例具有以下属性集:
textFlow.fontLookup = FontLookup.EMBEDDED_CFF;
textFlow.renderingMode = RenderingMode.CFF;
textFlow.fontFamily = "HeadingFontCFF";
但是,显示的文本没有找到嵌入的字体。它以 Times New Roman 设备字体显示。我很确定我的 TLF 设置正确,因为当我将[Embed]
标签放在与 TLF 代码相同的类中(即嵌入相同的 SWF)时,字体显示正确。所以它似乎只与加载在外部 SWF 中的字体有关。
我认为这个问题与此处列出的问题有关:使用在运行时加载的嵌入式字体的示例 Flex 4 运行时加载的模块,尽管这篇文章是指 Flex 4 构建,而我们的是纯 Flash 10 构建。