在 Java 开发过程中支持双向字符集语言(BiDi)
2010-03-15 00:00:00 来源:WEB开发网BiDi 是什么
W3C 对双向字符集语言(即 BiDi)进行了如下的定义:
双向字符集语言通常是指文字可以从左到右(LTR)和从右到左(RTL)双向书写的文字。例如,阿拉伯和希伯来语言的文字书写通常是从右到左,但是其中的其它字符集(例如拉丁文字)依然保持从左到右的格式。当然其它的语言文字,例如英文,如果包含阿拉伯或者希伯来文字摘要的话,也可以是双向书写的。通常将主方向称为全局方向。
对于介绍一种的新的知识或者技术,笔者通常习惯于从“what、 why、who、how”几个方面来进行讲述。即 BiDi 是什么,这在本节中作了介绍。为什么需要支持 BiDi,这会在下一节中介绍。随后则偏重于介绍作为一名 Java 软件开发人员在支持 BiDi 的时候要考虑哪些问题,如何做才能实现 BiDi 支持,以及一些常见的问题和解决技巧。
为什么需要 BiDi 支持
对于使用双向字符集地区的人来说,对于本国文字和其它字符集文字,例如和英语混排的情况,在纸面上书写将是一件需要有规划技巧的事情。如下所示:
CIBARA english CIBARA
CIBARA 代表阿拉伯字符,english 代表英语字符。书写者需要从右到左书写字符“A”“R”“A”“B”“I”“C”,在纸面就变成 CIBARA。随后要书写英文字符 english,这段字符要从左到右显示,这就需要书写者要先规划合适的空白来书写文字,然后继续下面的阿拉伯字符的显示。否则要么空间不够,写不下那么多文字,要么留下一段空白影响文档的整体结构。
计算机的出现对双向字符集的录入应该是一大福音,上面所述的空白规划将不再是问题。当计算机切换到 BiDi 文字的录入方式后,对于一般的双向字符集字符,例如阿拉伯文字,显示将遵循全局方向从右到左(RTL)。当需要输入英文字符的时候,计算机将自动处理英文字符的显示,将先输入的字符自动向左边排,后输入的字符显示在前面字符的右侧,将先输入的文字顶到了左侧,而录入光标将一直停留在英文录入的最右侧,依次处理随后的文字录入,并显示。这样录入者就不用关心这段英文文字将占据多大空间,而且英文内容保持了从左到右(LTR)的方向。当用户需要输入阿拉伯文字的时候,阿拉伯字符将自动放置到英文内容的左侧,录入光标也跟随到了阿拉伯字符的左侧,开始正常的从右到左(RTL)的录入,并显示。
- ››JavaScript拖拽原理的实现
- ››javascript事件列表解说
- ››Javascript代码优化工具UglifyJS
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Java Bean属性值动态设置
- ››JavaScript Confirm 失效的解决办法
- ››JavaScript页面内拖拽原理分析
- ››javascript中select的常用操作
- ››javascript+css无刷新实现页面样式的更换
- ››Java Web Services:不使用客户端证书的WS-Securit...
- ››Java开发2.0: 使用Amazon SimpleDB实现云存储,第...
- ››Java异常处理及其应用
更多精彩
赞助商链接