Adobe TLF 是否支持 RichEditableText 组件中的中文字体

发布于 2024-11-02 13:53:07 字数 761 浏览 1 评论 0原文

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

一切都运行良好,直到中国用户尝试应用中文字体但不起作用。

这是问题的截屏(长度仅超过 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 中看到的标签。

非常感谢任何帮助。

杰克

I've created a "Poster Maker" in Flex. The text part of the poster is written inside a TLF-based RichEditableText component. Users can choose the font for the text using a ComboBox which lists all the device fonts on the computer.

All works well, until Chinese users try to apply a Chinese font and it doesn't work.

Here's a screencast of the problem (just over 1 min long). In it you can see I can write Chinese in WordPad and apply the two different Chinese fonts I have on the PC without any problems. When I switch to the Flex app and try the same it doesn't work.

I'm at a loss as to why this won't work.

The change event of the font picker ComboBox looks like this:

var txtLayFmt:TextLayoutFormat = editor.getFormatOfRange(null,
 editor.selectionAnchorPosition,
 editor.selectionActivePosition
);

txtLayFmt.fontFamily = fontPicker.selectedItem.font;

editor.setFormatOfRange(txtLayFmt,
 editor.selectionAnchorPosition,
 editor.selectionActivePosition
);

Where selectedItem.font is the fontname of the font and is what you see as the label in the ComboBox.

Any help is much appreciated.

Jake

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我乃一代侩神 2024-11-09 13:53:08

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

关于字体管理器

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

-managers flash.fonts.AFEFontManager

编辑:

我同意您正在使用设备字体,但更改 FONT-MANAGER 首选项也可能会对运行时间产生影响,

请尝试通过以下方式编译应用程序更改字体管理器顺序,如链接

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

希望有帮助

I think you need to use "AFEFontManager" for Chinese Fonts

About the font managers

To change the font manager use compiler argument

-managers flash.fonts.AFEFontManager

EDITED:

I Agree you are using device FONTS but change FONT-MANAGER preferences may also put impact on run time

Please Try to compile APP by Change Font-Manager Order as in link

Troubleshooting fonts in Flex applications

Hopes that helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文