Torsten Hämmerle <torsten.haemme...@web.de> writes: > dak wrote >> David Kastrup < > >> dak@ > >> > writes: >> >> I think it's more likely that LilyPond messes up when reusing fonts with >> a particular size under different circumstances and your "correction" >> just keeps it from reusing a font, instead calculating a fresh one. > > By Belenos, right you are! > > The exact value of the additional homoeopathic "correctional" term doesn't > even matter. > 0.001 is too small, but changing it to 0.002 will suddenly change the > spacing from "catastrophic" to "correct". > Making it too big, however, will result in a noticeable change in glyph size > (and spacing). > > Be that as it may, obviously we need to re-trigger /something/...
I read in lily/modified-font-metric.cc the following: Stencil Modified_font_metric::text_stencil (Output_def *state, const string &text, bool feta, const string &features_str) const { Box b; if (Pango_font *pf = dynamic_cast<Pango_font *> (orig_)) { Stencil stc = pf->text_stencil (state, text, feta, features_str); Box b = stc.extent_box (); b.scale (magnification_); Stencil scaled (b, stc.expr ()); return scaled; } return Font_metric::text_stencil (state, text, feta, features_str); } This only adjusts stencil dimensions for magnification_ without adjusting the stencil. For a Pango font, that is. For a non-Pango font, it doesn't adjust anything. I have really no clue about how font inclusion works but this appears extraordinarily fishy. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user