[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] Question about FT_Outline_Embolden
From: |
Alexei Podtelezhnikov |
Subject: |
Re: [ft-devel] Question about FT_Outline_Embolden |
Date: |
Wed, 31 Jul 2019 08:45:44 -0400 |
> (ftoutln.c)
> /* non-strict linequalities avoid divide-by-zero when q = l = 0 */
> If (FT_MulFix( xstrength, q ) > = FT_MulFix( l, d ) )
> shift.x = FT_MulDiv( shift.x, xstrength, d );
> Ese
> shift.x = FT_MulDiv( shift.x, l, q );
>
> FT_MulDiv (shift.x, xstrength, d ) is understandable.
> I don't know what FT_MulDiv (shift.x, l, q ) means.
There is a problem that segments might invert direction and the
contour becomes self-intersecting. This code limits a coner point
displacement so that is does not exceed the length of flanking
segments (roughly). This is not an ideal solution to the problem. The
correct solution would be to go ahead with displacements and then
remove all segments that flipped by collapsing them into points where
remaining segments intersect.
Alexei