From: Eric M. <ma...@jt...> - 2002-05-30 20:21:07
|
At 09:26 PM 5/29/2002, Yongliang Luo wrote: > In ArabicShaping.c the array ArabicShaping::shapeTypes hold the shape > types of all Arabic letter. Where 0x649 should have type _r_, but in this > file it is _n_. > >Best Regards Here's the relevant line from ArabicShaping.cpp: _d_, _d_, _d_, _d_, _d_, _d_, _d_, _r_, _d_, _d_, _t_, _t_, _t_, _t_, _t_, _t_, // 0x641 - 0x650 The entry for 0x0641 is "_d_", which means that it joins on both sides. Here is the entry for that character in ArabicShaping.txt from the Unicode site (http://www.unicode.org/Public/UNIDATA/ArabicShaping.txt) 0649; ALEF MAKSURA; D; YEH Here is the meaning of the entries, also from ArabicShaping.txt: # Each line contains four fields, separated by a semicolon. # # The first field gives the code point, in 4-digit hexadecimal # form, of an Arabic or Syriac character. # The second field gives a short schematic name for that character, # abbreviated from the normative Unicode character name. # The third field defines the joining type: R right-joining, # D dual-joining, U non-joining # The fourth field defines the joining group. So, it looks like the entry for 0x0649 (ARABIC LETTER ALEF MAKSURA) is correct. Looking at the CVS history of this file, I see that I changed some of the shapeTypes in version 1.2 in ICU 1.8; before that the value was "_r_" I don't remember the details, but I think that in traditional calligraphy, such as in the Koran, this letter can join on both sides. Regards, Eric Mader IBM GCoC San Jose 5600 Cottle Rd. M/S 50-2/B11 San Jose, CA 95193 |