Removing overlaps works quite well in FontForge for contours that have all the same direction. However, FF behaves differently to PostScript if there exist also erasing contours.
- The FF way: Count for each area the number of overlapping contours (erasign contours will be counted as -1) and finally all areas with positive counting numbers will share the same contour, each area with counting number 0 will be erased, all areas with negative counting number will share the same erasing contour.
- The PostScript (and also Metafont) way: The time order of the contours is important. Remove overlaps only for the first and second contour (also with +1-1=0), than take this contour and now remove overlaps for this new contour and the third contour and so on... So this is a kind of piecewise overlap removement.
I have also attached an sfd-file with
A) raw contours
B) removeOverlaps the FF way
C) removeOverlaps the PostScript way
Is there a possibility to implement this for FontForge and Python FontForge (with a piecewise flag for removeOverlap() )? This would be great.