freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] [patch] emboldening rework v1


From: Alexei Podtelezhnikov
Subject: Re: [ft-devel] [patch] emboldening rework v1
Date: Fri, 20 Apr 2012 11:59:04 -0400

On Thu, Apr 19, 2012 at 2:12 PM, Behdad Esfahbod <address@hidden> wrote:
> On 04/18/2012 01:36 PM, Alexei Podtelezhnikov wrote:
>> When we talk about an outline as a collection of contours, things get
>> out of control very quickly, because to do a good job you have to
>> inspect the whole layout of contours. For example the orientations of
>> both contours is the same in "=" and different in "o". So we may rely
>
> Actually no.  Now I guess *you* got confused the same way that I got!  In '=',
> each contour can have whatever direction it wants.  Non-zero winding renders
> all four possibilities fine.

There is a difference between what the FreeType renderer can handle,
and what is strandard. The opposite orientation of two contours in "="
would be a font bug.

>> on EITHER the orientation of the contour with the largest area OR the
>> the sum of all contour areas.
>>
>> So here is my simple suggestion. Return NONE when the orientation
>> according to the the largest contour is not the same as the
>> orientation according to the sum of all.
>
> This will result in false positives, and that's bad.

What do you call false positives? I disagree if you refer to a buggy
font that FreeType can render.

>> Thoughts? Once again, the current implementation is broken so it is
>> not like we need to care about backwards compatibility.
>
> It isn't impossible to detect the direction of all outer contours, but is much
> more involved than your signed-area-based algorithm indeed.

I'm starting to see some need for the diagnostic function. Perhaps, so
many buggy fonts are out there because FreeType and others never
provided such API.

> Perhaps the question to be answered is, is anyone using that API right now?

Internally, only the emboldener and the stroker uses this function.
The renderers are immune.



reply via email to

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