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

问题描述 投票:0回答:1

我正在编写一个生成包含阿拉伯语文本的 PDF 的代码。对于每个字符,我在演示文稿形式中选择正确的字形以正确显示文本。这工作正常,但 Unicode 不包含所有阿拉伯字符的表示形式。 例如 \u067D 阿拉伯文字母 TEH,上方有三个点 ٽ。即使该字符具有中间形式,也没有该字符的表示形式,如以下字符串所示: ٽٷ

这个角色和其他角色的表现形式缺失的原因是什么? 这个字符在实际中没有使用吗? 是否可以使用简单的阿拉伯字母 TEH(上面仅包含一个点并具有表示形式)来代替? 或者是否有必要以某种方式构建这个角色(例如通过使用 \uFBB6 角色上方三个点)?

pdf unicode rendering arabic
1个回答
3
投票

阿拉伯语演示形式不应该永远用于书写文本。它们的存在只是因为很久以前需要它们与旧标准兼容。因此,Unicode 中并不存在所有阿拉伯字母的表示形式,只有用于此特定目的所需的表示形式。在演示表格完全不再相关之后很久,还添加了许多字母。请参阅阿拉伯语常见问题解答了解更多信息。

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

使用字符 U+FBB6 ﮶ 阿拉伯符号上面三点在此上下文中不合适,因为它不是组合标记。它不是用来构建新角色,而是用来孤立地谈论符号本身。从阿拉伯语演示形式-A的代码表:

这些是代表阿拉伯字母变音符号的空格符号 孤立地考虑,例如在关于 阿拉伯文字。

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

© www.soinside.com 2019 - 2024. All rights reserved.