lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issue 5806: Tweak mf files to avoid FontForge internal overlap error (is


From: torsten . haemmerle
Subject: Issue 5806: Tweak mf files to avoid FontForge internal overlap error (issue 571780043 by address@hidden)
Date: Sat, 29 Feb 2020 01:20:49 -0800

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]