使用位图字体显示和编辑文本

3
我现在面临的一个问题是显示复杂的文本(英语+波斯语/阿拉伯语)。同时包含英语和波斯语/阿拉伯语字母的文本无法正确显示。为了解决这个问题,我创建了一个位图字体库,可以正确地绘制这些复杂的文本。现在我想将所有程序小部件中的文本转换为它们的位图等效物。例如,如果我的程序中有一个TextView,我想获取它的文本,使用我的位图字体库将其转换为位图,最后替换到TextView中。问题是找到一种通用的解决方案,可以应用于任何可以显示文本的小部件,如ListView、EditText、Menus等。

也许你的意思是双向的? - Alex Bolotov
没错。我的意思是双向文本算法。 - Mbt925
3个回答

2

您可以尝试查看TextView的源代码并对其进行修改以适应您的需求(例如,每当用户使用IME输入字符时,捕获事件并将正确的位图字符插入到您的自定义视图中...)


我想对所有小部件都进行这样的操作,按照你的方式,这将需要很长时间。 - Mbt925

2

您看过Arabic Reshaper吗?据我了解,它可以用于正确显示同时包含RTL(阿拉伯语)和LTR符号的文本。


这个解决方案将修复单词的形状,而不是句子中单词的顺序。 - Mbt925

1
你可以在C++中使用字体库并渲染正确的字体,尽管可能有点冗长。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接