lilypond-user
[Top][All Lists]
Advanced

[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

Attachment: 2.18.2-arch.png
Description: PNG image

Attachment: 2.19.50-lilypond.org.png
Description: PNG image

Attachment: 2.19.53-arch.png
Description: PNG image


reply via email to

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