Aric Stewart : usp10: Use cached values in GPOS functions.
Module: wine Branch: master Commit: 7819ce61b51f53e0819ee2f335bfee5ff82a5562 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7819ce61b51f53e0819ee2f335... Author: Aric Stewart <aric(a)codeweavers.com> Date: Tue Jul 31 08:50:06 2012 -0500 usp10: Use cached values in GPOS functions. --- dlls/usp10/shape.c | 13 ++----------- 1 files changed, 2 insertions(+), 11 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index 1ef6039..3d6b303 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -3285,9 +3285,6 @@ void SHAPE_ApplyOpenTypePositions(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *ps const TEXTRANGE_PROPERTIES *rpRangeProperties; int i; INT dirL; - LPOUTLINETEXTMETRICW lpotm; - LOGFONTW lf; - HFONT hfont; rpRangeProperties = &ShapingData[psa->eScript].defaultGPOSTextRange; @@ -3296,15 +3293,9 @@ void SHAPE_ApplyOpenTypePositions(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *ps load_ot_tables(hdc, psc); - if (!psc->GPOS_Table) + if (!psc->GPOS_Table || !psc->otm) return; - i = GetOutlineTextMetricsW( hdc, 0, NULL); - lpotm = HeapAlloc(GetProcessHeap(),0,i); - GetOutlineTextMetricsW( hdc, i, lpotm); - hfont = GetCurrentObject(hdc, OBJ_FONT); - GetObjectW(hfont, sizeof(lf), &lf); - if (!psa->fLogicalOrder && psa->fRTL) dirL = -1; else @@ -3320,7 +3311,7 @@ void SHAPE_ApplyOpenTypePositions(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *ps if (!feature) continue; - GPOS_apply_feature(lpotm, &lf, piAdvance, psc->GPOS_Table, feature, pwGlyphs, dirL, cGlyphs, pGoffset); + GPOS_apply_feature(psc->otm, &psc->lf, piAdvance, psc->GPOS_Table, feature, pwGlyphs, dirL, cGlyphs, pGoffset); } } }
participants (1)
-
Alexandre Julliard