hello, in our langauge we use arabic characters in writing with some differences, icu's ushape.c ( arabic shaper) only works with main arabic characters and dosn't shape my language specific characters ( i.e 0x6D5 etc) i'v changed ushape.c to work with my language and it worked well except for on character, that is 0x649, in arabic they have only 2 shapes, in my langauge we have 4 shapes for it.
i'v changed line 183
1 + 256 * 0x7F,/*0x0649*/
to
1+2+8 + 256 * 0x98 /*0x649*/
and changed line 121
static const UChar yehHamzaToYeh[] =
{
/* isolated*/ 0xFEEF,
/* final */ 0xFEF0
};
to
static const UChar yehHamzaToYeh[] =
{
/* isolated */0xFEEF,
0xFBE8, // my language specific
0xFBE9,// my language specific
/* final */ 0xFEF0
};
from ushape.c
now it can produce 3 shapes with no problem ( the beginning,isolated and final), but middle shape is displayed as a square ( missing character ) .
i tried replacing "* 0x98" with other numbers, but this best i can get.
what should i do ?