Reviewers: , Message: Please review.
Description: Issue 5806: Tweak mf files to avoid FontForge internal overlap error When compiling LilyPond, there were 352 error messages caused by FontForge trying to resolve overlapping path problems: >>> Internal Error (overlap) in [...] Fortunately, the resulting glyphs had been OK, though. FontForge should be able to cope with this, but, alas, it isn't. I've now tweaked all the mf files causing these problems so that the annoying error messages can be avoided without while keeping the original resulting glyph outlines. modified: mf/feta-arrowheads.mf - former def_set_arrow_paths (returning both open_path and close_path) has been replaced by def_set_arrow_path returning one path arrow_path depending on additional boolean parameter CLOSED - No need to draw two overlapping mirrored half-paths anymore. - Char definitions adapted accordingly FIXES arrowheads.open.01 arrowheads.open.0M1 arrowheads.open.11 arrowheads.open.1M1 modified: mf/feta-braces.mf - now draw one single cyclic path rather than overlaying two separate, mirrored half-paths - using intersection and subpaths to exaclty retain the original slopes. FIXES brace4 - brace507 modified: mf/feta-clefs.mf - draw_gclef: just one control point changed (hidden in overlapping area) FIXES clefs.G clefs.GG clefs.tenorG - draw_tab_B: lower arc of the B in "TAB", angle slighty changed by 1° FIXES clefs.tab modified: mf/feta-numbers.mf - original paths in char definition re-arranged, intersected, joined, in order to create one single outline (two glyphs concerned): - two char definitions affected: FIXES two FIXES seven modified: mf/feta-scripts.mf - draw_turn: "ploop" overlay completely removed, using joined sub- paths instead FIXES scripts.reverseturn scripts.turn scripts.slashturn - "Segno" char definition: similar to draw_turn change FIXES scripts.segno modified: mf/feta-timesignatures.mf - draw_C: .. instead of -- (hidden in overlapping area) FIXES timesig.C44 timesig.C22 modified: mf/parmesan-clefs.mf - draw_neomensural_c_clef: .. instead of -- (hidden in overlap area) FIXES clefs.neomensural.c clefs.neomensural.c_change - draw_petrucci_c_clef: .. instead of .. (hidden in overlap area) FIXES clefs.petrucci.c1 clefs.petrucci.c2 clefs.petrucci.c2_change clefs.petrucci.c3 clefs.petrucci.c3_change clefs.petrucci.c4 clefs.petrucci.c5 clefs.petrucci.c5_change modified: mf/parmesan-rests.mf - "2neomensural" char definition: one additional auxiliary point inserted in overlap area FIXES rests.2neomensural >>> RESULT: same glyphs, no FontForge errors anymore Please review this at https://codereview.appspot.com/571780043/ Affected files (+169, -177 lines): M mf/feta-arrowheads.mf M mf/feta-braces.mf M mf/feta-clefs.mf M mf/feta-numbers.mf M mf/feta-scripts.mf M mf/feta-timesignatures.mf M mf/parmesan-clefs.mf M mf/parmesan-rests.mf