1

在阿拉伯语中,每个字母都有基于周围字母的四种表示。更多信息:Arabic Sc​​ript 、Arabic in UnicodeUnicode 6.2.0 Chapter 8

我正在寻找一种算法实现,或者给定阿拉伯代码点数组的 OS 库,可以计算用于呈现文本的表示形式(孤立的、中间的等)。

我不想渲染文本本身,所以像 java.awt.font 这样的低级库将无济于事。我也尝试使用 ICU4J,但我找不到如何提取信息。

在我开始实施自己的解决方案之前有什么想法吗?

4

2 回答 2

1

找到了可行的解决方法。使用 ICU4J 和 ArabicShapping 类,您可以将代码点从 06XX 代码块转换为 FEXX 代码块。FEXX 代码块包含有关表单的信息。有点牵强,所以如果我们实现 Unicode 标准中定义的连接算法可能会更好。

于 2013-02-06T21:33:36.570 回答
0

通常,如果您正在渲染阿拉伯文本,您实际上并没有更改 Unicode 代码点,您只需将每个字符映射到所选字体的字形,然后应用 OpenType 替换功能将每个字形更改为所需的形式。相关的 OpenType 功能是“medi”、“init”、“fina”和“isol”。

但是平台字体渲染应该为您处理这个问题,那么您实际上想要做什么?

于 2013-02-06T23:33:37.803 回答