]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/pango-font.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / pango-font.cc
index 65b8ed016f562b6fd7495a02ceca59f057b16d4a..73ea7426a65ea4a6bf498d1c9881a4bd138ae7ec 100644 (file)
@@ -126,14 +126,14 @@ Pango_font::pango_item_string_stencil (PangoItem const *item, string str) const
   b.scale (scale_);
   char const *ps_name_str0 = FT_Get_Postscript_Name (ftface);
   FcPattern *fcpat = fcfont->font_pattern;
-  FcChar8 *file_name_as_ptr = 0;
-  FcPatternGetString (fcpat, FC_FILE, 0, &file_name_as_ptr);
+  char *file_name_as_ptr = 0;
+  FcPatternGetString (fcpat, FC_FILE, 0, (FcChar8 **) & file_name_as_ptr);
 
   string file_name;
   if (file_name_as_ptr)
     {
       /* Normalize file name.  */
-      file_name = File_name ((char const *)file_name_as_ptr).to_string ();
+      file_name = File_name (file_name_as_ptr).to_string ();
     }
   
   SCM glyph_exprs = SCM_EOL;
@@ -174,8 +174,7 @@ Pango_font::pango_item_string_stencil (PangoItem const *item, string str) const
 
       if (glyph_name[0] ==  '\0' && has_glyph_names)
        {
-         programming_error ("Glyph has no name, but font supports glyph naming. Skipping glyph: "
-                            + description_string ());
+         programming_error ("Glyph has no name, but font supports glyph naming. Skipping glyph.");
          continue;
        }
          
@@ -324,11 +323,14 @@ Pango_font::text_stencil (string str) const
       /*
        For Pango based backends, we take a shortcut.
       */
+      char *descr_string = pango_font_description_to_string (pango_description_);
       SCM exp
        = scm_list_3 (ly_symbol2scm ("utf-8-string"),
-                     scm_makfrom0str (description_string ().c_str ()),
+                     scm_makfrom0str (descr_string),
                      scm_makfrom0str (str.c_str ()));
 
+      g_free (descr_string);
+
       Box b (Interval (0, 0), Interval (0, 0));
       b.unite (dest.extent_box ());
       return Stencil (b, exp);
@@ -338,16 +340,6 @@ Pango_font::text_stencil (string str) const
   return dest;
 }
 
-string
-Pango_font::description_string () const
-{
-  char *descr_string = pango_font_description_to_string (pango_description_);
-  string s (descr_string);
-  g_free (descr_string);
-  return s;
-}
-
-
 SCM
 Pango_font::font_file_name () const
 {