usp10: Return the logical offset in GPOS_apply_lookup().

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Henri Verbeet 2017-02-19 19:02:33 +01:00 committed by Alexandre Julliard
parent 8d1566735f
commit 6fec9b1325
2 changed files with 6 additions and 5 deletions

View File

@ -2349,7 +2349,7 @@ static INT GPOS_apply_lookup(ScriptCache *psc, LPOUTLINETEXTMETRICW lpotm, LPLOG
GPOS_convert_design_units_to_device(lpotm, lplogfont, advance[1].x, advance[1].y, &devX, &devY); GPOS_convert_design_units_to_device(lpotm, lplogfont, advance[1].x, advance[1].y, &devX, &devY);
piAdvance[glyph_index + write_dir] += round(devX); piAdvance[glyph_index + write_dir] += round(devX);
} }
return glyph_index + index_offset; return index_offset;
} }
case GPOS_LOOKUP_ATTACH_CURSIVE: case GPOS_LOOKUP_ATTACH_CURSIVE:
@ -2417,17 +2417,17 @@ static INT GPOS_apply_lookup(ScriptCache *psc, LPOUTLINETEXTMETRICW lpotm, LPLOG
} }
case GPOS_LOOKUP_POSITION_CONTEXT: case GPOS_LOOKUP_POSITION_CONTEXT:
return glyph_index + GPOS_apply_ContextPos(psc, lpotm, lplogfont, analysis, piAdvance, return GPOS_apply_ContextPos(psc, lpotm, lplogfont, analysis, piAdvance,
lookup, look, glyphs, glyph_index, glyph_count, ppem, pGoffset); lookup, look, glyphs, glyph_index, glyph_count, ppem, pGoffset);
case GPOS_LOOKUP_POSITION_CONTEXT_CHAINED: case GPOS_LOOKUP_POSITION_CONTEXT_CHAINED:
return glyph_index + GPOS_apply_ChainContextPos(psc, lpotm, lplogfont, analysis, piAdvance, return GPOS_apply_ChainContextPos(psc, lpotm, lplogfont, analysis, piAdvance,
lookup, look, glyphs, glyph_index, glyph_count, ppem, pGoffset); lookup, look, glyphs, glyph_index, glyph_count, ppem, pGoffset);
default: default:
FIXME("Unhandled GPOS lookup type %#x.\n", type); FIXME("Unhandled GPOS lookup type %#x.\n", type);
} }
return glyph_index+1; return 1;
} }
INT OpenType_apply_GPOS_lookup(ScriptCache *psc, LPOUTLINETEXTMETRICW lpotm, LPLOGFONTW lplogfont, const SCRIPT_ANALYSIS *analysis, INT* piAdvance, INT lookup_index, const WORD *glyphs, INT glyph_index, INT glyph_count, GOFFSET *pGoffset) INT OpenType_apply_GPOS_lookup(ScriptCache *psc, LPOUTLINETEXTMETRICW lpotm, LPLOGFONTW lplogfont, const SCRIPT_ANALYSIS *analysis, INT* piAdvance, INT lookup_index, const WORD *glyphs, INT glyph_index, INT glyph_count, GOFFSET *pGoffset)

View File

@ -889,7 +889,8 @@ static VOID GPOS_apply_feature(ScriptCache *psc, LPOUTLINETEXTMETRICW lpotm, LPL
{ {
int j; int j;
for (j = 0; j < glyph_count; ) for (j = 0; j < glyph_count; )
j = OpenType_apply_GPOS_lookup(psc, lpotm, lplogfont, analysis, piAdvance, feature->lookups[i], glyphs, j, glyph_count, pGoffset); j += OpenType_apply_GPOS_lookup(psc, lpotm, lplogfont, analysis, piAdvance,
feature->lookups[i], glyphs, j, glyph_count, pGoffset);
} }
} }