From 225de02a292e273dbfbf4a586fa7d6f580ea55ed Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Fri, 2 Dec 2011 08:59:25 -0600 Subject: [PATCH] usp10: Handle Thai SARA AM differently than GDEF. --- dlls/usp10/shape.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index 8791bef0d9..04f0ff4db1 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -3131,6 +3131,8 @@ static void ShapeCharGlyphProp_Thai( HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS } } + GDEF_UpdateGlyphProps(hdc, psc, pwGlyphs, cGlyphs, pwLogClust, cChars, pGlyphProp); + for (i = 0; i < cGlyphs; i++) { int char_index[20]; @@ -3157,10 +3159,13 @@ static void ShapeCharGlyphProp_Thai( HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS pGlyphProp[i].sva.uJustification = SCRIPT_JUSTIFY_NONE; else pGlyphProp[i].sva.uJustification = SCRIPT_JUSTIFY_CHARACTER; + + /* handle Thai SARA AM (U+0E33) differently than GDEF */ + if (char_count == 1 && pwcChars[char_index[0]] == 0x0e33) + pGlyphProp[i].sva.fClusterStart = 0; } HeapFree(GetProcessHeap(),0,spaces); - GDEF_UpdateGlyphProps(hdc, psc, pwGlyphs, cGlyphs, pwLogClust, cChars, pGlyphProp); UpdateClustersFromGlyphProp(cGlyphs, cChars, pwLogClust, pGlyphProp); /* Do not allow justification between marks and their base */ -- 2.32.0.93.g670b81a890