Aric Stewart : usp10: Handle Thai SARA AM differently than GDEF.

Alexandre Julliard julliard at winehq.org
Fri Dec 2 10:58:28 CST 2011


Module: wine
Branch: master
Commit: 225de02a292e273dbfbf4a586fa7d6f580ea55ed
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=225de02a292e273dbfbf4a586fa7d6f580ea55ed

Author: Aric Stewart <aric at codeweavers.com>
Date:   Fri Dec  2 08:59:25 2011 -0600

usp10: Handle Thai SARA AM differently than GDEF.

---

 dlls/usp10/shape.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c
index 8791bef..04f0ff4 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 */




More information about the wine-cvs mailing list