Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pdf Unicode中某些阿拉伯字符缺少表示形式(字形)_Pdf_Unicode_Rendering_Arabic - Fatal编程技术网

Pdf Unicode中某些阿拉伯字符缺少表示形式(字形)

Pdf Unicode中某些阿拉伯字符缺少表示形式(字形),pdf,unicode,rendering,arabic,Pdf,Unicode,Rendering,Arabic,我正在编写一个生成包含阿拉伯语文本的PDF的代码。对于每个字符,我在表示形式中选择正确的标志符号以正确显示文本。这很好,但Unicode并不包含所有阿拉伯字符的表示形式。 例如\u067D上面有三个点的阿拉伯字母TEH向下ٽ。即使该字符具有中间形式,也没有该字符的表示形式,如该字符串所示:لٽط 这个角色和其他角色的表现形式缺失的原因是什么? 这个角色没有在实践中使用吗? 是否可以使用上面只有一个点且具有表示形式的简单阿拉伯文字母TEH? 或者是否有必要以某种方式构建此字符(例如,在字符上方使用

我正在编写一个生成包含阿拉伯语文本的PDF的代码。对于每个字符,我在表示形式中选择正确的标志符号以正确显示文本。这很好,但Unicode并不包含所有阿拉伯字符的表示形式。 例如\u067D上面有三个点的阿拉伯字母TEH向下ٽ。即使该字符具有中间形式,也没有该字符的表示形式,如该字符串所示:لٽط

这个角色和其他角色的表现形式缺失的原因是什么? 这个角色没有在实践中使用吗? 是否可以使用上面只有一个点且具有表示形式的简单阿拉伯文字母TEH?
或者是否有必要以某种方式构建此字符(例如,在字符上方使用\uFBB6三点)?

阿拉伯文表示形式不应用于书写文本。它们的存在只是因为很久以前就需要与旧标准兼容。因此,并非所有阿拉伯文字母都有Unicode格式的表示形式,只有用于此特定目的的表示形式。许多信件也是在陈述形式完全不再相关之后很久才添加的。有关更多信息,请参阅

阿拉伯文文本应始终使用常规字母输入和存储(来自阿拉伯文、阿拉伯文补遗和阿拉伯文扩展A)。然后,这些字母将根据它们在单词中的位置(首字母、中间字母或末字母)自动采用正确的形状,如您提供的示例字符串所示

使用字符U+FBB6﮶ 上面三个点的阿拉伯符号在此上下文中不合适,因为它不是一个组合符号。它不是用来塑造新角色,而是用来孤立地谈论符号本身。从代码表中:

这些是表示阿拉伯字母发音的间隔符号 孤立地考虑,例如在关于 阿拉伯文


如果您使用的软件不能正确处理阿拉伯字母连接,那么就没有Unicode定义的方法在您的文档中输入中间形式的ٽ。您必须完全切换到另一个框架,或者(作为最后手段)将所需的上下文形式编码为新字体,但我强烈建议您不要使用这种解决方案。

阿拉伯语表示形式不应用于编写文本。它们的存在只是因为很久以前就需要与旧标准兼容。因此,并非所有阿拉伯文字母都有Unicode格式的表示形式,只有用于此特定目的的表示形式。许多信件也是在陈述形式完全不再相关之后很久才添加的。有关更多信息,请参阅

阿拉伯文文本应始终使用常规字母输入和存储(来自阿拉伯文、阿拉伯文补遗和阿拉伯文扩展A)。然后,这些字母将根据它们在单词中的位置(首字母、中间字母或末字母)自动采用正确的形状,如您提供的示例字符串所示

使用字符U+FBB6﮶ 上面三个点的阿拉伯符号在此上下文中不合适,因为它不是一个组合符号。它不是用来塑造新角色,而是用来孤立地谈论符号本身。从代码表中:

这些是表示阿拉伯字母发音的间隔符号 孤立地考虑,例如在关于 阿拉伯文


如果您使用的软件不能正确处理阿拉伯字母连接,那么就没有Unicode定义的方法在您的文档中输入中间形式的ٽ。您必须完全切换到另一个框架,或者(作为最后手段)将所需的上下文形式编码为新字体,但我强烈建议您不要使用这种解决方案。

您应该解决以下问题:您无法使用普通阿拉伯字母获得正确的文本,而不是试图让次等的变通方法发挥作用。您应该解决无法使用普通阿拉伯字母获得正确文本的问题,而不是试图让次等变通方法发挥作用。