我现在面临的一个问题是显示复杂的文本(英语+波斯语/阿拉伯语)。同时包含英语和波斯语/阿拉伯语字母的文本无法正确显示。为了解决这个问题,我创建了一个位图字体库,可以正确地绘制这些复杂的文本。现在我想将所有程序小部件中的文本转换为它们的位图等效物。例如,如果我的程序中有一个TextView,我想获取它的文本,使用我的位图字体库将其转换为位图,最后替换到TextView中。问题是找到一种通用的解决方案,可以应用于任何可以显示文本的小部件,如ListView、EditText、Menus等。
您可以尝试查看TextView的源代码并对其进行修改以适应您的需求(例如,每当用户使用IME输入字符时,捕获事件并将正确的位图字符插入到您的自定义视图中...)
您看过Arabic Reshaper吗?据我了解,它可以用于正确显示同时包含RTL(阿拉伯语)和LTR符号的文本。