bohoomil / fontconfig-ultimate

freetype2-infinality run-time settings => infinality compatible fontconfig => infinality-bundle
454 stars 38 forks source link

freetype2-infinality-ultimate for Arch breaks Lilypond #186

Open akobel opened 7 years ago

akobel commented 7 years ago

Hi,

thanks for your work on the infinality bundle. With the freetype2-infinality-ultimate Arch package from your repository, I found out that the Lilypond music engraving application suffers from strange bounding box / bounding shape estimations, resulting in deteriorated layout. Both the community/lilypond, the aur packages, or self-compiled variants are affected; the precompiled self-contained binary from lilypond.org isn't (probably because it comes with it's own version of freetype). Replacing the package with freetype2 remedies the problem.

I attach two images depicting the situation. The first one is the desired outcome of compilation of the following input (compiled with community/lilypond using the command lilypond testcase.ly):

\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!> } }

good As soon as freetyp2-infinality-ultimate is installed, the results becomes this: bad As you can see, the bounding volume computations go haywire: the magenta and cyan curves are Lilypond's picture of the "skyline" of the glyphs above and below the staff. The bounding areas for individual glyphs themselves also seem to be off, since e.g. in the collision resolution step for the two natural signs, a needlessly large gap is chosen.

Note that of course I installed not just freetype2 from your bundle, but the complete infinality-bundle-ultimate group. However, I narrowed down the issue by selectively replacing individual packages by their vanilla counterpart, and freetype2 seems to be the culprit. Could not hunt it down further, though. If I can help anything or should provide additional information, just let me know.

Cheers, Alexander