[indic] Support more extended Devanagari tone marks

Also adjust U+0953,0954 handling.
This commit is contained in:
Behdad Esfahbod 2014-05-22 18:41:49 -04:00
parent 26c836e53d
commit c11fc68339
1 changed files with 12 additions and 6 deletions

View File

@ -188,18 +188,24 @@ set_indic_properties (hb_glyph_info_t &info)
/* The spec says U+0952 is OT_A. However, testing shows that Uniscribe /* The spec says U+0952 is OT_A. However, testing shows that Uniscribe
* treats U+0951..U+0954 all behave similarly. * treats a whole bunch of characters similarly.
* TESTS: * TESTS: For example, for U+0951:
* U+092E,U+0947,U+0952 * U+092E,U+0947,U+0952
* U+092E,U+0952,U+0947 * U+092E,U+0952,U+0947
* U+092E,U+0947,U+0951 * U+092E,U+0947,U+0951
* U+092E,U+0951,U+0947 * U+092E,U+0951,U+0947
* U+092E,U+0951,U+0952
* U+092E,U+0952,U+0951
*/ */
if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x0951, 0x0954))) if (unlikely (hb_in_ranges<hb_codepoint_t> (u, 0x0951, 0x0952,
cat = OT_A; 0xA8E0, 0xA8F1) &&
/* Same for the following... */ hb_in_ranges<hb_codepoint_t> (u, 0x1CD0, 0x1CD2,
if (unlikely (hb_in_range<hb_codepoint_t> (u, 0xA8E0, 0xA8F1))) 0x1CD4, 0x1CE0,
0x1CF4, 0x1CF4)))
cat = OT_A; cat = OT_A;
/* The following act more like the Bindus. */
else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x0953, 0x0954)))
cat = OT_SM;
if (unlikely (u == 0x17D1)) if (unlikely (u == 0x17D1))
cat = OT_X; cat = OT_X;