Aric Stewart : usp10: Apply 'rkrf' to the Indic syllable.

Alexandre Julliard julliard at winehq.org
Wed Jun 15 13:43:02 CDT 2011


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

Author: Aric Stewart <aric at codeweavers.com>
Date:   Wed Jun 15 09:54:16 2011 -0500

usp10: Apply 'rkrf' to the Indic syllable.

---

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

diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c
index 154d45b..dd02c14 100644
--- a/dlls/usp10/shape.c
+++ b/dlls/usp10/shape.c
@@ -421,7 +421,6 @@ static OPENTYPE_FEATURE_RECORD devanagari_features[] =
 {
     /* Base forms */
     { MS_MAKE_TAG('r','p','h','f'), 1},
-    { MS_MAKE_TAG('r','k','r','f'), 1},
     { MS_MAKE_TAG('b','l','w','f'), 1},
     { MS_MAKE_TAG('h','a','l','f'), 1},
     { MS_MAKE_TAG('v','a','t','u'), 1},
@@ -643,15 +642,15 @@ static const ScriptShapeData ShapingData[] =
     {{ thai_features, 1}, NULL, "thai", "", NULL, ShapeCharGlyphProp_Thai},
     {{ thai_features, 1}, required_lao_features, "lao", "", NULL, ShapeCharGlyphProp_Thai},
     {{ thai_features, 1}, required_lao_features, "lao", "", NULL, ShapeCharGlyphProp_Thai},
-    {{ devanagari_features, 12}, required_devanagari_features, "deva", "dev2", ContextualShape_Devanagari, ShapeCharGlyphProp_Devanagari},
-    {{ devanagari_features, 12}, required_devanagari_features, "deva", "dev2", ContextualShape_Devanagari, ShapeCharGlyphProp_Devanagari},
+    {{ devanagari_features, 11}, required_devanagari_features, "deva", "dev2", ContextualShape_Devanagari, ShapeCharGlyphProp_Devanagari},
+    {{ devanagari_features, 11}, required_devanagari_features, "deva", "dev2", ContextualShape_Devanagari, ShapeCharGlyphProp_Devanagari},
     {{ bengali_features, 12}, required_bengali_features, "beng", "bng2", ContextualShape_Bengali, ShapeCharGlyphProp_Bengali},
     {{ bengali_features, 12}, required_bengali_features, "beng", "bng2", ContextualShape_Bengali, ShapeCharGlyphProp_Bengali},
     {{ gurmukhi_features, 12}, required_gurmukhi_features, "guru", "gur2", ContextualShape_Gurmukhi, ShapeCharGlyphProp_Gurmukhi},
     {{ gurmukhi_features, 12}, required_gurmukhi_features, "guru", "gur2", ContextualShape_Gurmukhi, ShapeCharGlyphProp_Gurmukhi},
-    {{ devanagari_features, 12}, required_devanagari_features, "gujr", "gjr2", ContextualShape_Gujarati, ShapeCharGlyphProp_Gujarati},
-    {{ devanagari_features, 12}, required_devanagari_features, "gujr", "gjr2", ContextualShape_Gujarati, ShapeCharGlyphProp_Gujarati},
-    {{ devanagari_features, 12}, required_devanagari_features, "gujr", "gjr2", ContextualShape_Gujarati, ShapeCharGlyphProp_Gujarati},
+    {{ devanagari_features, 11}, required_devanagari_features, "gujr", "gjr2", ContextualShape_Gujarati, ShapeCharGlyphProp_Gujarati},
+    {{ devanagari_features, 11}, required_devanagari_features, "gujr", "gjr2", ContextualShape_Gujarati, ShapeCharGlyphProp_Gujarati},
+    {{ devanagari_features, 11}, required_devanagari_features, "gujr", "gjr2", ContextualShape_Gujarati, ShapeCharGlyphProp_Gujarati},
     {{ oriya_features, 10}, required_oriya_features, "orya", "ory2", ContextualShape_Oriya, ShapeCharGlyphProp_Oriya},
     {{ oriya_features, 10}, required_oriya_features, "orya", "ory2", ContextualShape_Oriya, ShapeCharGlyphProp_Oriya},
     {{ tamil_features, 9}, required_tamil_features, "taml", "tam2", ContextualShape_Tamil, ShapeCharGlyphProp_Tamil},
@@ -2038,6 +2037,7 @@ static void ShapeIndicSyllables(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa,
     const GSUB_Feature *locl = load_GSUB_feature(hdc, psa, psc, "locl");
     const GSUB_Feature *nukt = load_GSUB_feature(hdc, psa, psc, "nukt");
     const GSUB_Feature *akhn = load_GSUB_feature(hdc, psa, psc, "akhn");
+    const GSUB_Feature *rkrf = load_GSUB_feature(hdc, psa, psc, "rkrf");
     IndicSyllable glyph_indexs;
 
     for (c = 0; c < syllable_count; c++)
@@ -2062,6 +2062,11 @@ static void ShapeIndicSyllables(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa,
             TRACE("applying feature akhn\n");
             Apply_Indic_BasicForm(hdc, psc, psa, pwChars, cChars, &syllables[c], pwOutGlyphs, pcGlyphs, pwLogClust, lexical, &glyph_indexs, akhn);
         }
+        if (rkrf)
+        {
+            TRACE("applying feature rkrf\n");
+            Apply_Indic_BasicForm(hdc, psc, psa, pwChars, cChars, &syllables[c], pwOutGlyphs, pcGlyphs, pwLogClust, lexical, &glyph_indexs, rkrf);
+        }
 
         overall_shift += glyph_indexs.end - old_end;
     }




More information about the wine-cvs mailing list