Module: wine Branch: master Commit: 0c5d0f80bc739bfd14415f9d64570db06da0455b URL: http://source.winehq.org/git/wine.git/?a=commit;h=0c5d0f80bc739bfd14415f9d64...
Author: Aric Stewart aric@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; }