我在Flex中创建了一个“Poster Maker”。海报的文本部分写在基于TLF的RichEditableText组件中。用户可以使用ComboBox选择文本的字体,ComboBox列出计算机上的所有设备字体。
一切正常,直到中国用户尝试应用中文字体并且不起作用。
这是screencast of the problem(仅超过1分钟)。在其中您可以看到我可以在写字板中书写中文并将我在电脑上使用的两种不同的中文字体应用而没有任何问题。当我切换到Flex应用程序并尝试相同时它不起作用。
我不知道为什么这不起作用。
字体选择器ComboBox的更改事件如下所示:
var txtLayFmt:TextLayoutFormat = editor.getFormatOfRange(null,
editor.selectionAnchorPosition,
editor.selectionActivePosition
);
txtLayFmt.fontFamily = fontPicker.selectedItem.font;
editor.setFormatOfRange(txtLayFmt,
editor.selectionAnchorPosition,
editor.selectionActivePosition
);
其中selectedItem.font是字体的字体名称,是您在ComboBox中看到的标签。
非常感谢任何帮助。
杰克
答案 0 :(得分:0)
我认为你需要在中文字体中使用“ AFEFontManager ”
更改字体管理器使用编译器参数
-managers flash.fonts.AFEFontManager
编辑:
我同意您正在使用设备FONTS,但更改FONT-MANAGER首选项也可能会对运行时间产生影响
请尝试通过更改字体管理器订单编译APP,如链接
Troubleshooting fonts in Flex applications
希望有所帮助