在我们的言语中,我们使用阿拉伯字符书写有一些差异, icu的ushape.c(阿拉伯语成形器)只适用于主要阿拉伯字符和dosn't形状我的语言特定字符(即0x6D5等)我已经改变了us形状。 c与我的语言一起工作,除了在字符方面运行良好,即0x649,阿拉伯语只有2个形状,在我的语言中我们有4个形状。icu4c - > ushape.c塑造中缺少字符?
心中已经改变线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
};
from ushape.c
现在它可以产生3个形状没有问题(开始,孤立和最终),但中间形状显示为正方形(缺少字符)。
我试着用其他数字代替“* 0x98”,但是这个最好的我可以得到。
我该怎么办?
是的,它是维吾尔族。 我不知道哪个字符是suqare,它只出现在webkit浏览器中。 顺便说一句,jave版本的阿拉伯语整形器(icu4j)没有这个问题,相反它有一个给中间形式0x649的问题,它应该给孤立的形式 感谢您的回复,我会尝试与icu的邮件列表 – avar 2010-10-05 09:39:36
欢迎:您应该直接调用该函数并测试其输入/输出。否则,我们不知道其他层是否在操纵它。如果你写ML和/或提交一个bug,你应该注意你期望和得到的是什么输入/输出。如果你能用Java和C编写一个测试,显示出更好的问题。 – 2010-10-05 18:58:33
好吧,我会尝试一个只有塑形的测试,看看那个suqare是什么角色。 – avar 2010-10-06 06:29:12