> (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

_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to