Aric Stewart : usp10: Correct Pre Base glyph index shifting.
Module: wine Branch: master Commit: df16d37b671298dad41e793963d3f4cdb96b68e4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=df16d37b671298dad41e793963... Author: Aric Stewart <aric(a)codeweavers.com> Date: Fri Jun 24 10:16:25 2011 -0500 usp10: Correct Pre Base glyph index shifting. --- dlls/usp10/shape.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index 8152e33..c4f7db5 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -2048,20 +2048,20 @@ static void Apply_Indic_PreBase(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, { INT index, nextIndex; INT count,g_offset; - INT prevCount = *pcGlyphs; count = syllable->base - syllable->start; g_offset = 0; index = find_consonant_halant(&pwChars[syllable->start], 0, count, lexical); - while (index >= 0 && index < (glyph_index->base - glyph_index->start)) + while (index >= 0 && index + g_offset < (glyph_index->base - glyph_index->start)) { + INT prevCount = *pcGlyphs; nextIndex = apply_GSUB_feature_to_glyph(hdc, psa, psc, pwOutGlyphs, index+glyph_index->start+g_offset, 1, pcGlyphs, feature); if (nextIndex > GSUB_E_NOGLYPH) { UpdateClusters(nextIndex, *pcGlyphs - prevCount, 1, cChars, pwLogClust); + shift_syllable_glyph_indexs(glyph_index, index + glyph_index->start + g_offset, (*pcGlyphs - prevCount)); g_offset += (*pcGlyphs - prevCount); - shift_syllable_glyph_indexs(glyph_index, index + glyph_index->start, g_offset); } index+=2;
participants (1)
-
Alexandre Julliard