[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Emmentaler font issues on Arch Linux builds
From: |
Alexander Kobel |
Subject: |
Emmentaler font issues on Arch Linux builds |
Date: |
Fri, 9 Dec 2016 00:54:56 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 |
Dear all,
I just noticed an issue in the Arch Linux builds of Lilypond, compared
to the "official" builds. Here is my test case:
\version "2.18.2"
#(ly:set-option 'debug-skylines #t)
\paper {
paper-height = 4\cm
paper-width = 12\cm
ragged-last = ##f
}
{ \clef "treble_8" \repeat unfold 4 { c <c'! e!> } }
Attached you will find three different outputs:
- one with 2.19.50, downloaded a while ago from lilypond.org as a
unstable pre-compiled build,
- one with 2.18.2-3 from the official Arch Linux community repository, and
- one with 2.19.53 (current Git master), self-compiled on an up-to-date
Arch setup, 64bit. No clue about 32bit.
As you can see, the Arch builds differ from the lilypond.org ones in the
skylines of the music glyphs, here for the clef and the accidentals.
While I like the positioning of the octavation in the Arch builds (but
this is easy to tweak), everything else goes havoc. Results are usable,
but certainly less than optimal.
My only guess is that FontForge plays a role; Arch offers version
20161012-2, which AFAICS is an official bugfix release over the "latest
release" (see https://github.com/fontforge/fontforge/releases). I
strongly guess that the official lilypond-stable build 2.18.2 from the
repo is created using this FontForge version, too. And I don't know what
the lilypond.org build uses. Both claim to be "FontForge 2.0" according
to the OTF info string.
I vaguely remembered pitfalls there and had a look to Lily's precise
requirements.
http://lilypond.org/doc/v2.19/Documentation/contributor/requirements-for-compiling-lilypond
states explicitly that FontForge has to be compiled with
--enable-double, which turns out not to be done for the default Arch
builds. I thought that this was the culprit; but after a custom
compilation with the flag and recompiling Lilypond, the situation did
not change. Also, paying attention now, I noticed a whole bunch of
FontForge errors like the following on Lily's `make`:
(some charht values had to be adjusted by as much as 0.70157pt)
(some chardp values had to be adjusted by as much as 0.70157pt)
Internal Error (overlap) in clefs.petrucci.c1: Winding number did not
return to 0 when x=217.504
Internal Error (overlap) in clefs.petrucci.c1: monotonic is both needed
and unneeded (217.504,296.417)->(233.751,312.663). x=228.007 (prev=217.504)
Internal Error (overlap) in clefs.petrucci.c1: Winding number did not
return to 0 when x=217.504
Internal Error (overlap) in clefs.petrucci.c1: Humph. This monotonic
leads nowhere (217.504,296.417)->(217.504,296.417).
So, two-and-a-half questions:
What goes wrong, who has a clue or hint? And how can I double-check
whether the FontForge compilation flag was properly acknowledged? I
could not find a way to output the build flags from the finished binary.
If we can produce them, I suggest that we should abort a build of
Lilypond with an error message if --enable-double is not there. Even if
it is not the (sole) problem here, it could avoid broken fonts ending up
in official packages in upstream repos of major distributions...
Cheers,
Alexander
2.18.2-arch.png
Description: PNG image
2.19.50-lilypond.org.png
Description: PNG image
2.19.53-arch.png
Description: PNG image
- Emmentaler font issues on Arch Linux builds,
Alexander Kobel <=