tags:

views:

32

answers:

1

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 ?

A: 

Uighur? I discussed with a couple of people about Uighur rendering, not this particular issue but in general.

When you said you get a square, what Unicode character do you get?

What you really should do is to file a bug with ICU and discuss it there. This is a feature request, not a usage question.

My rusty recollection is that for Uighur it makes different use of shaping, and you will want to basically have a different mode on the shaper.

Steven R. Loomis
yes it is Uighur.i don't know which character is the suqare, it only appears within webkit browser.btw, jave version of arabic shaper ( icu4j) dosn't have this problem, rather it has a problem of giving middle form of 0x649 while it should give isolated formthanks for your resposnse, i'll try with icu's mailing list
avar
Welcome: You should call the function directly and test its input/output. Otherwise we don't know if some other layer is manipulating it. If you write the ML and or file a bug, you should note what input/output you are expecting and getting. If you can write a test in Java and C that shows the issue that's even better.
Steven R. Loomis
ok, i'll try a test with only shaping and see what character is that suqare .
avar