lilypond-devel
[Top][All Lists]
Advanced

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

Re: Internal Error (overlap) for some fonts when running make


From: Werner LEMBERG
Subject: Re: Internal Error (overlap) for some fonts when running make
Date: Tue, 05 Nov 2019 22:27:45 +0100 (CET)

>> It's not a regression, right.
> 
> My first probably-not-very-correct thing to do next was check out
> stable/2.18 and make LP from there (on the same system am building
> latest master on) and search for the same errors.  [...]
>
> So is this a regression?

My answer is still no.  Our glyph shapes, also the recently added
ones, are ok, as far as I can see.  The problem is FontForge; to be
more precise, the routines in the program to remove glyph overlaps.
Right now, you get the best results with fontforge 20110222.

> [..] aaand .. making current stable gives me
> 
> The same errors

Thanks for testing.  We then should start reporting them.  This means
manually executing

  FONTFORGE=foo mftopt1 ...

to get a `.pfa' file containing overlapping contours, then executing
`gen-emmentaler-scripts.py' to get a proper `.pe' batch file (which is
treated as an immediate target by the make program and thus deleted
after execution), and finally executing fontforge using the batch file
to process the font.  Ideally, the `.pe' file should be reduced as
much as possible, still triggering the warning messages.

> Well before I figure out how to do that (i.e. how to be that random
> internet person posting issues and then getting asked technical
> questions I probably wouldn't know how to answer).

:-) I will eventually report the problems.  Fortunately, it's nothing
urgent – we live with those warnings since years...

> I've attached the list of 'monotonic' errors on their own (there are
> also slightly less 'Winding Number' errors that occur) as well as
> the full make output - it's ~ 150Kb in all. You can grep/search for
> Winding and Monotonic to give you some context.

Thanks; for the first report a single font is sufficient, I believe.

I think the main reasons for all those warnings are about the same:
IIRC, the fontforge people increased computation precision from 32bit
(floats) to 64bit (double) to eventually simplify the source code, and
some code wasn't correctly updated to handle this.  The original
author of FontForge (George Williams) was very skilled and quickly
fixed such rounding issues.  However, he had a very special coding
style with almost zero comments.  It took years until the current
maintainers were able to dig deeper into the code...


    Werner

reply via email to

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