在阿拉伯语中,每个字母都有基于周围字母的四种表示。更多信息:Arabic Script 、Arabic in Unicode和Unicode 6.2.0 Chapter 8
我正在寻找一种算法实现,或者给定阿拉伯代码点数组的 OS 库,可以计算用于呈现文本的表示形式(孤立的、中间的等)。
我不想渲染文本本身,所以像 java.awt.font 这样的低级库将无济于事。我也尝试使用 ICU4J,但我找不到如何提取信息。
在我开始实施自己的解决方案之前有什么想法吗?
在阿拉伯语中,每个字母都有基于周围字母的四种表示。更多信息:Arabic Script 、Arabic in Unicode和Unicode 6.2.0 Chapter 8
我正在寻找一种算法实现,或者给定阿拉伯代码点数组的 OS 库,可以计算用于呈现文本的表示形式(孤立的、中间的等)。
我不想渲染文本本身,所以像 java.awt.font 这样的低级库将无济于事。我也尝试使用 ICU4J,但我找不到如何提取信息。
在我开始实施自己的解决方案之前有什么想法吗?
找到了可行的解决方法。使用 ICU4J 和 ArabicShapping 类,您可以将代码点从 06XX 代码块转换为 FEXX 代码块。FEXX 代码块包含有关表单的信息。有点牵强,所以如果我们实现 Unicode 标准中定义的连接算法可能会更好。
通常,如果您正在渲染阿拉伯文本,您实际上并没有更改 Unicode 代码点,您只需将每个字符映射到所选字体的字形,然后应用 OpenType 替换功能将每个字形更改为所需的形式。相关的 OpenType 功能是“medi”、“init”、“fina”和“isol”。
但是平台字体渲染应该为您处理这个问题,那么您实际上想要做什么?