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