> > + /* The large shift value creates a cross point, which appears > > + as one of the artifacts. The shift value limitation inhibits > > + the occurrence of artifacts. */ > > + shift.x = FT_MAX( FT_MIN( shift.x, strength.x ), -strength.x ); > > + shift.y = FT_MAX( FT_MIN( shift.y, strength.y ), -strength.y ); > > + > > Maybe, it is threshold on the determinant. This inhibits the sarpen corner, > and > the cross point artifacts.
Hmm. This is not invariant with respect to rotation. It will work differently for along the axes and along 45 degree line. It is also extremely restrictive: the shift magnitude (Euclidean) is always larger than strength for any (even obtuse) angle. So even obtuse angles are subject to this restriction sometimes. I wonder if this is the reason you had to compensate with larger strengths in the second patch. Have you tried limiting the shift to double or triple the strength? _______________________________________________ Freetype-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/freetype-devel
