First of all: Looking at clefs.tenorG, patch set 5 compared to patch set 4 has a side effect: It reduces the height of the glyph's top. Is this intentional? I guess it's not, so please fix this.
Compiling with mf2pt1 --rounding=0.0001 feta20.mf The script returns the following errors (from a self-compiled fontforge binary based on the git repository, identifying itself as 9-Dec-2013-ML-TtfDb-D): Internal Error (overlap) in clefs.tenorG: monotonic is both needed and unneeded (378,988,152,446)->(232,924,31,5377). x=371,416 (prev=287,662) Internal Error (overlap) in clefs.tenorG: monotonic is both needed and unneeded (378,988,152,446)->(232,924,31,5377). x=359,647 (prev=287,662) Internal Error (overlap) in clefs.tenorG: Humph. This monotonic leads nowhere (401,125,-82,4102)->(357,086,151,324). Internal Error (overlap) in clefs.tenorG: Closing contour with unneeded path Internal Error (overlap) in clefs.tenorG: couldn't find a needed exit from an intersection This is a bug in FontForge; I guess I've reported about 10 similar issues to the original author. However, such bugs are hard to find and to fix, I was told, and I doubt that the current development team has enough expertise to correct that at all, or within a short time frame (the original author has retired, unfortunately). My solution to previous problems with FontForge's outline overlap remover was to simplify the topology of the problematic Emmentaler glyph. Looking at the glyph without overlaps removed (created with a call to `FONTFORGE=foo ./mf2pt1 ...'), I see that the horizontal line starting in point 1''' almost exactly crosses two other outlines in a single point, and this near-intersection point of three outlines is only given implicitly so that mf2pt1 doesn't convert it to a real PostScript point. Due to rounding issues – even if FontForge is compiled with double precision – this might lead to the current FontForge problem. I see two solutions: 1. Make this intersection point of three outlines a real point, which should be then part of all three METAFONT paths. 2. Slightly shift up the horizontal lines starting at points 1''' and 8''' to avoid this triple intersection point completely. One of the two solutions should work, I expect. https://codereview.appspot.com/47840043/diff/80001/mf/feta-clefs.mf File mf/feta-clefs.mf (right): https://codereview.appspot.com/47840043/diff/80001/mf/feta-clefs.mf#newcode531 mf/feta-clefs.mf:531: -- z108 Whitespace... https://codereview.appspot.com/47840043/diff/80001/mf/feta-clefs.mf#newcode563 mf/feta-clefs.mf:563: forsuffixes e := l,,r: Wrong indentation. https://codereview.appspot.com/47840043/diff/80001/mf/feta-clefs.mf#newcode575 mf/feta-clefs.mf:575: .. z210e{down_} Wrong indentation (this is, missing vertical alignment to `z221e'). https://codereview.appspot.com/47840043/diff/80001/mf/feta-clefs.mf#newcode613 mf/feta-clefs.mf:613: pair ne_beam_dir,nw_dist; Wrong indentation. https://codereview.appspot.com/47840043/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel