Aric Stewart : usp10: When checking font for shaping the font needs at least 1 of the features but does not need all .

Alexandre Julliard julliard at winehq.org
Thu Oct 7 11:24:27 CDT 2010


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

Author: Aric Stewart <aric at codeweavers.com>
Date:   Thu Oct  7 06:46:09 2010 -0500

usp10: When checking font for shaping the font needs at least 1 of the features but does not need all.

---

 dlls/usp10/shape.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c
index a2cbd2a..f1864fa 100644
--- a/dlls/usp10/shape.c
+++ b/dlls/usp10/shape.c
@@ -1348,13 +1348,15 @@ HRESULT SHAPE_CheckFontForRequiredFeatures(HDC hdc, ScriptCache *psc, SCRIPT_ANA
     if (!psc->GSUB_Table)
         psc->GSUB_Table = load_gsub_table(hdc);
 
+    /* we need to have at least one of the required features */
     i = 0;
     while (ShapingData[psa->eScript].requiredFeatures[i])
     {
         feature = load_GSUB_feature(hdc, psa, psc, ShapingData[psa->eScript].requiredFeatures[i]);
-        if (!feature)
-            return USP_E_SCRIPT_NOT_IN_FONT;
+        if (feature)
+            return S_OK;
         i++;
     }
-    return S_OK;
+
+    return USP_E_SCRIPT_NOT_IN_FONT;
 }




More information about the wine-cvs mailing list