gdi32: Implement the fake_bold for one faced fonts.

Huw Davies huw at codeweavers.com
Thu Mar 29 08:45:29 CDT 2007


On Thu, Mar 29, 2007 at 10:00:12PM +0900, Byeong-Sik Jeon wrote:
> diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
> index f7b1220..427def4 100644
> --- a/dlls/gdi32/freetype.c
> +++ b/dlls/gdi32/freetype.c

> +    memcpy(&gmetrix, &ft_face->glyph->metrics, sizeof(FT_Glyph_Metrics));
> +    if ( font->fake_bold )
> +    {
> +        /* fitting values to MS-Windows */
> +        strength = pFT_MulFix( ft_face->units_per_EM, ft_face->size->metrics.y_scale ) / 42;
> +        if ( strength < 64)
> +        {
> +            gmetrix.width        += strength;
> +            gmetrix.height       += strength;
> +            gmetrix.horiBearingY += strength;
> +            gmetrix.horiAdvance  += strength;
> +        }
> +        else if ( strength < 77)
> +        {
> +            gmetrix.width        += 63;
> +            gmetrix.height       += 63;
> +            gmetrix.horiBearingY += 63;
> +            gmetrix.horiAdvance  += 63;
> +        }
> +        else
> +        {
> +            gmetrix.width        += strength;
> +            gmetrix.height       += strength;
> +            gmetrix.horiBearingY += strength;
> +        }

This needs more investigation.  I can't believe Windows uses this
algorithm...

Huw.
-- 
Huw Davies
huw at codeweavers.com



More information about the wine-devel mailing list