Jason Green <jav...@gmail.com> writes:

> -    if (pABC) TRACE("Total for run: abcA=%d, abcB=%d, abcC=%d\n", 
> pABC->abcA, pABC->abcB, pABC->abcC);
> +    if (pABC)
> +    {
> +        ABC tmp;
> +
> +
> +        /* the compositie 'A' width is simply the padding from the first 
> glyph in the run */
> +        get_cache_glyph_widths(psc, pwGlyphs[0], &tmp);
> +        pABC->abcA = tmp.abcA;
> +
> +        /* the compositie 'C' width is simply the padding from the last 
> glyph in the run */
> +        get_cache_glyph_widths(psc, pwGlyphs[cGlyphs - 1], &tmp);
> +        pABC->abcC = tmp.abcC;
> +
> +        /* since the 'B' width now includes the 'A' and 'C' widths, we must 
> adjust it slightly */
> +        pABC->abcB -= pABC->abcA + pABC->abcC;
> +
> +        TRACE("Total for run: abcA=%d, abcB=%d, abcC=%d\n", pABC->abcA, 
> pABC->abcB, pABC->abcC);
> +    }

That's too complicated, there's no reason to retrieve the sizes twice,
just handle that in the main loop.

-- 
Alexandre Julliard
julli...@winehq.org


Reply via email to