[tibetan] Reorder marks to better match Uniscribe

Fixes https://github.com/behdad/harfbuzz/issues/237

Note that Uniscribe enforces a certain syllable order.  We don't.
But with this change, I get all of the tibetan contractions pass
with Microsoft Himalaya font.
This commit is contained in:
Behdad Esfahbod 2016-04-27 03:11:41 -07:00
parent f68390f196
commit 2f560ee44b
1 changed files with 6 additions and 2 deletions

View File

@ -115,6 +115,8 @@ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE
/* XXX This hack belongs to the Tibetan shaper:
* Reorder PADMA to ensure it comes after any vowel marks. */
if (unlikely (unicode == 0x0FC6u)) return 254;
/* Reorder TSA -PHRU to reorder before U+0F74 */
if (unlikely (unicode == 0x0F39u)) return 127;
return _hb_modified_combining_class[combining_class (unicode)];
}
@ -343,10 +345,12 @@ extern HB_INTERNAL const hb_unicode_funcs_t _hb_unicode_funcs_nil;
#define HB_MODIFIED_COMBINING_CLASS_CCC118 118 /* sign u / sign uu */
#define HB_MODIFIED_COMBINING_CLASS_CCC122 122 /* mai * */
/* Tibetan */
/* Tibetan
* Modify U+0F74 (ccc=132) to reorder before ccc=130 marks.
*/
#define HB_MODIFIED_COMBINING_CLASS_CCC129 129 /* sign aa */
#define HB_MODIFIED_COMBINING_CLASS_CCC130 130 /* sign i */
#define HB_MODIFIED_COMBINING_CLASS_CCC132 132 /* sign u */
#define HB_MODIFIED_COMBINING_CLASS_CCC132 128 /* sign u */
/* Misc */