程序代码中希伯来文(阿拉伯文、波斯文)字符串难以编辑的问题
希伯来语、阿拉伯语、波斯语,都是从左到右显示的,在许多IDE中这些语言的字符串均能正确的显示,显示顺序与实际保存的顺序正好相反,这些语言的字符串,混杂在从左到右的代码中,虽然目前大多数的代码编辑器,都可以正确的显示,但是对程序员而言,已经习惯了看见的字符串顺序与程序实际保存的字符串的顺序是一致的,并不想学习这些反序语言的编辑方法,只是想简单的在编程中,按照习惯的从左到右实际的字符顺序编辑一下。从左到右的程序代码中,混合着从右到左的希伯来语,实在是难以编辑。虽然 Visual Studio 等编IDE显示是正确的,但是对不懂这些语言的程序员,却成了障碍。
经过各种编辑器的测试,在Sublime Text 编辑器中,混合了希伯来语的代码,可以按照程序员的编辑程序的习惯,字符一律的从左到右的顺序显示,但是配置文件中可能需要添加一项:
"font_options": ["gdi"],
Sublime Text 编辑器,显示出来的代码字符顺序,与实际存储的代码字符顺序是完全一致的,是“真正的”程序员的编辑器。
代码显示比较示例
Visual Studio 2019中的代码显示结果:
希伯来语的正确显示,从右到左,但是不符合中国人程序员的习惯,显示的字符顺序与实际存储的字符顺序不一致,移动光标、编辑修改都费劲。
在Sublime Text 3.2.2 中的代码显示结果:
显示的字符顺序与实际保存的字符顺序一致,符合中国人程序员的习惯,可以直观的编辑、正常的移动光标,只要记得希伯来语的字符串,显示出来是颠倒的即可。
代码执行之后,程序的界面显示 ,(与Visual Stuido 中代码显示一样):
PS
希伯来语,阿拉伯语,波斯语。后两种除了反序书写之外,还有连写、变形规则,两个字符相邻时,可以变形成一个字符。混杂在这些语言文字中的数字、英文等等,还是要按照正序书写。在所谓的“能正确显示的”IDE中,编辑、修改这些混杂在一起的文字,很别扭。
嵌入式开发,因为没有系统的支持,能正确的显示 混合了正序和反序的字符的字符串,非常麻烦,幸好有开源的代码可用。参考:bidi