每当我尝试突出显示阿拉伯语文本时,它就开始变得非常奇怪,并且在错误的部分突出显示。
自己试一试,看看我是什么意思:http://www.fastswf.com/iJ_P74c
试着高亮显示阿拉伯语文本,注意奇怪的事情是如何发生的,然后高亮显示英语句子,你会发现它是完全正常的。
有办法解决这个问题吗?
编辑:如果是重要的;字体为Times New Roman;设备字体;常规。
这是在同一文本字段中混合RTL和LTR语言的已知限制,Adobe将其称为"经典文本"而不是"FTL文本"。
使用TLFTextField代替UITextField和文本高亮显示混合RTL和LTR语言在同一文本块将被正确处理。
TLF文本提供了以下对经典文本的增强:
- 能够为阿拉伯语和希伯来语脚本创建从右到左的文本。
- 支持双向文本,从右到左的文本可以包含从左到右的文本元素。这对于在阿拉伯语/希伯来语文本中嵌入英语单词或阿拉伯数字非常重要,例如
- 打印品质排版。
- 额外的字符样式,包括前导,连接,突出显示颜色,下划线,划线,大小写,数字大小写等。
- 额外的段落样式,包括多列支持的gutter宽度,最后一行对齐选项,边距,缩进,段落间距和容器填充值。
- 控制其他亚洲文本属性,包括Tate Chu Yoko, Mojikumi, Kinsoku Shori Type和Leading model。
- 你可以应用属性,如3D旋转,颜色效果,和混合模式的TLF文本,而不把它放在一个电影剪辑符号。
- 文本可以在多个文本容器之间流动。这些容器被称为线程或链接文本容器。