所以我打印这个阿拉伯语文本(“第一方第二方”): لطرفالأولالطرفالثانى
有时打印方式如下:لطرفالأولالطرفالثانى
转换为unicode的'原始'文本读取:
\ u0644 \ u0633 \ u0621 \ u0621 \ u0624 \ u0623 \ u0648 \ u0644 \ u0644 \ u0644 \ u0604 \ u0604 \ u0624 \ u0624 \ u0624 \ u0626 \ u0624 \ u0626 \ u0626 \ u0646 \ u0646 打印作业中的数据为:
\ ufedf \ u0633 \ u0641 \ u0627 \ ufef7 \ u0648 \ u0644 \ u0627 \ ufedf \ u0637 \ u0631 \ u0641 \ u0627 \ ufedf \ ufe9b \ ufe8e \ ufee7 \ ufef0 那为什么会这样呢?我可以搜索打印作业数据并对某些单词进行操作,但似乎无法理解为什么打印数据会因阿拉伯语言而发生变化。
答案 0 :(得分:1)
阿拉伯语的Typsetting与Roman脚本不同,特别是它处理连字和对齐的方式。要将其置于上下文中,请考虑英语,它具有一些用于排版组合的连字,例如ff,fi和ffi,它们通常在输出中呈现为单个字符。
下面是三个字符ffi,呈现为单个连字符(\ uFB03)。
这是一篇关于连字的文章。
https://en.wikipedia.org/wiki/Typographic_ligature
为了证明,罗马脚本通常插入空格或连字符(以及字距调整)。使用阿拉伯语时,使用“kashidas”来拉伸笔画的宽度会更令人愉悦,这些额外的字符会导致拉伸的出现。
通常,排版文本中使用的Unicode字符数可能多于或少于原始文本。
如果您有兴趣,请参阅以下几个阿拉伯语参考资料。