Comment #13 on issue 838 by hanwenn: Inconsistency in tests output size
http://code.google.com/p/lilypond/issues/detail?id=838

Thanks for this reproduction case. I have done some digging.

What happens is the following:  texts are typically set through

  Stencil Pango_font::pango_item_string_stencil()

this sends a text to pango, which breaks it in pieces that come from a single
physical font.

While processing this text, the following happens:

  if (ps_name.length ())
    {
      ((Pango_font *) this)->register_font_file (file_name,
                                                 ps_name,
                                                 face_index);

ie. the pango-font (which may be stored as 'Century Schoolbook L') gains another physical font. Since the pango font is (apparently) stored in the global font store (the All_font_metrics object), the extra physical font is persisted across files.

I am not quite sure of the best solution. Maybe some of the interface of the
Font_metric object could be changed, passing  an Output_def object into
text_stencil() so it can store any physical fonts loaded for this file.



--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to