在我们的语言中,我们在书写中使用了阿拉伯字符,但存在一些差异,icu 的 ushape.c(阿拉伯语整形器)仅适用于主要的阿拉伯语字符,并不能塑造我的语言特定字符(即 0x6D5 等)我已将 ushape.c 更改为工作用我的语言,它运行良好,除了字符,即 0x649,在阿拉伯语中它们只有 2 种形状,在我的语言中,我们有 4 种形状。
我已经更改了第 183 行
1 + 256 * 0x7F,/*0x0649*/
至
1+2+8 + 256 * 0x98 /*0x649*/
并更改了第 121 行
static const UChar yehHamzaToYeh[] =
{
/* isolated*/ 0xFEEF,
/* final */ 0xFEF0
};
至
static const UChar yehHamzaToYeh[] =
{
/* isolated */0xFEEF,
0xFBE8, // my language specific
0xFBE9,// my language specific
/* final */ 0xFEF0
};
来自ushape.c
现在它可以毫无问题地生成 3 个形状(开始、孤立和最终),但中间形状显示为正方形(缺少字符)。
我尝试用其他数字替换“* 0x98”,但这是我能得到的最好的。
我应该怎么办 ?