Module: wine Branch: master Commit: e8816357416a8d3c6bc3d539b869e2e5c29656b2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e8816357416a8d3c6bc3d539b8...
Author: Aric Stewart aric@codeweavers.com Date: Wed Sep 8 13:30:46 2010 -0500
usp10: Attempt to shape with non TMPF_TRUETYPE fonts.
Just do not do the parts that are known to require ttf tables.
---
dlls/usp10/usp10.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index 29ec1e8..ad3d728 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -1254,7 +1254,7 @@ HRESULT WINAPI ScriptShape(HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcChars, pwLogClust[i] = idx; }
- if ((get_cache_pitch_family(psc) & TMPF_TRUETYPE) && !psa->fNoGlyphIndex) + if (!psa->fNoGlyphIndex) { WCHAR *rChars = heap_alloc(sizeof(WCHAR) * cChars); if (!rChars) return E_OUTOFMEMORY; @@ -1276,8 +1276,12 @@ HRESULT WINAPI ScriptShape(HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcChars, } rChars[i] = chInput; } - SHAPE_ContextualShaping(hdc, (ScriptCache *)*psc, psa, rChars, cChars, pwOutGlyphs, pcGlyphs, cMaxGlyphs, pwLogClust); - SHAPE_ApplyDefaultOpentypeFeatures(hdc, (ScriptCache *)*psc, psa, pwOutGlyphs, pcGlyphs, cMaxGlyphs, cChars, pwLogClust); + + if (get_cache_pitch_family(psc) & TMPF_TRUETYPE) + { + SHAPE_ContextualShaping(hdc, (ScriptCache *)*psc, psa, rChars, cChars, pwOutGlyphs, pcGlyphs, cMaxGlyphs, pwLogClust); + SHAPE_ApplyDefaultOpentypeFeatures(hdc, (ScriptCache *)*psc, psa, pwOutGlyphs, pcGlyphs, cMaxGlyphs, cChars, pwLogClust); + } heap_free(rChars); } else