freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] FT_Outline_Embolden() is Blurry


From: Werner LEMBERG
Subject: Re: [ft-devel] FT_Outline_Embolden() is Blurry
Date: Wed, 04 Jan 2012 08:54:18 +0100 (CET)

> In ftoutln.c there is a function called FT_Outline_Embolden().  This
> is used to create artificial emboldening, and is used when
> fontconfig requests emboldening for fonts that don't have a bold
> face available.  Near the end of this function are these two lines,
> which actually perform the emboldening, in the x and y directions:
> 
> outline->points[n].x = v_cur.x + strength + in.x;
> outline->points[n].y = v_cur.y + strength + in.y;
> 
> Emboldening in the y direction can happen in fractions of a pixel,
> and this ends up being only in the "up" direction.  The result of
> this is a blurry fringe on the tops of letters.  While this may be
> technically correct, I'm wondering if *anyone* actually thinks this
> looks nice.

The code has been written in a quite generic way.  IMHO, you need both
horizontal and vertical emboldening for larger font sizes.  I fully
agree that it is suboptimal for small font sizes which are going to be
used in combination with other fonts.

> In my patches, I disable the y direction completely, and the
> aesthetic improvements are dramatic, in my opinion.  Is this
> something that can be done in Freetype instead?  Or perhaps can the
> function be split into two?

It can't be done currently.  Please suggest a new API.  And provide a
patch (with a ChangeLog entry) :-)


    Werner



reply via email to

[Prev in Thread] Current Thread [Next in Thread]