bug-lilypond
[Top][All Lists]
Advanced

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

fontconfig dpi issue


From: Tim Schellenberg
Subject: fontconfig dpi issue
Date: Wed, 25 Jan 2017 17:43:22 -0500

Hi everyone,

I ran into an issue with font rendering in Lilypond where text characters
are far too large. This issue also affected several other users and is
described here <https://bbs.archlinux.org/viewtopic.php?id=211350>.

It turns out that if the dpi setting is manually set in the fontconfig
fonts.conf file, Lilypond will adopt that dpi setting (rather than the
standard setting used in Lilypond, which is 1200) and render all text too
large.

The desktop environment LXQT sets this to 96 dpi automatically, which is
what triggered the bug for me. This may not a good idea on their part, but
I imagine some users may want to or need to adjust this setting and it
doesn't seem right that this should affect rendering in Lilypond.

To reproduce this bug, edit the following file (or create the file, if it
doesn't exist):
$XDG_CONFIG_HOME/fontconfig/fonts.conf

Paste this as the contents of the file (or just add the <match> block with
the dpi setting):
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <edit name="dpi" mode="assign">
      <double>96</double>
    </edit>
  </match>
</fontconfig>

Next, compile any .ly file that includes text, for example:
\version "2.19.49"
\header {
  title = "Title"
}
\relative c''{
c
}

I also have a proposed patch that fixes the problem described, although I
don't know if this is the proper way to fix it:
--- lilypond-2.19.49.orig/lily/pango-font.cc 2016-10-16 07:16:18.000000000
-0400
+++ lilypond-2.19.49.new/lily/pango-font.cc 2016-10-29 22:39:02.921622080
-0400
@@ -317,7 +317,7 @@
   pango_fc_font_unlock_face (fcfont);
   pango_glyph_string_free (pgs);
   pgs = 0;
-  PangoFontDescription *descr = pango_font_describe (pa->font);
+  PangoFontDescription *descr = pango_context_get_font_description
(context_);
   Real size = pango_font_description_get_size (descr)
               / (Real (PANGO_SCALE));


I also created a minimal Pango example that reproduces the bug here
<http://stackoverflow.com/questions/40325159/why-is-the-font-map-resolution-reset-when-using-fontconfig-2-11-94>.
Thanks!

Tim Schellenberg


reply via email to

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