0

我在 Flex 中创建了一个“海报制作器”。海报的文本部分写在基于 TLF 的 RichEditableText 组件中。用户可以使用列出计算机上所有设备字体的组合框来选择文本的字体。

一切正常,直到中国用户尝试应用中文字体并且它不起作用。

这是问题的截屏视频(仅超过 1 分钟)。在其中你可以看到我可以在写字板中写中文,并在 PC 上应用我拥有的两种不同的中文字体,没有任何问题。当我切换到 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 中看到的标签。

任何帮助深表感谢。

杰克

4

1 回答 1

0

我认为您需要对中文字体使用“ AFEFontManager ”

关于字体管理器

要更改字体管理器,请使用编译器参数

-managers flash.fonts.AFEFontManager

编辑:

我同意您正在使用设备字体,但更改字体管理器首选项也可能影响运行时间

请尝试通过更改字体管理器顺序来编译APP,如链接

Flex 应用程序中的字体故障排除

希望有帮助

于 2011-04-20T08:28:07.207 回答