Aric Stewart : usp10: Use cached values in GPOS functions.
Alexandre Julliard
julliard at winehq.org
Mon Aug 13 13:21:18 CDT 2012
Module: wine
Branch: master
Commit: 7819ce61b51f53e0819ee2f335bfee5ff82a5562
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7819ce61b51f53e0819ee2f335bfee5ff82a5562
Author: Aric Stewart <aric at 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);
}
}
}
More information about the wine-cvs
mailing list