]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/pango-font.cc
Imported Upstream version 2.19.45
[lilypond.git] / lily / pango-font.cc
index e7b5489df53b7d7963ef519271ded85da2e50d8f..b805f34a8541eeb594f51f1aced0633f4c3dcf0e 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2004--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2004--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
 #include "file-name.hh"
 #include "international.hh"
 #include "lookup.hh"            // debugging
+#include "ly-module.hh"
 #include "main.hh"
 #include "string-convert.hh"
 #include "warn.hh"
 #include "all-font-metrics.hh"
 #include "program-option.hh"
+#include "open-type-font.hh"
 
 #if HAVE_PANGO_FT2
 #include "stencil.hh"
@@ -199,7 +201,7 @@ Pango_font::pango_item_string_stencil (PangoGlyphItem const *glyph_item) const
 
   b.scale (scale_);
 
-  char const *ps_name_str0 = FT_Get_Postscript_Name (ftface);
+  const string ps_name_str0 = get_postscript_name (ftface);
   FcPattern *fcpat = fcfont->font_pattern;
 
   FcChar8 *file_name_as_ptr = 0;
@@ -290,7 +292,7 @@ Pango_font::pango_item_string_stencil (PangoGlyphItem const *glyph_item) const
           char_id = scm_from_uint32 (pg);
         }
       else
-        char_id = scm_from_locale_string (glyph_name);
+        char_id = scm_from_utf8_string (glyph_name);
 
       PangoRectangle logical_sub_rect;
       PangoRectangle ink_sub_rect;
@@ -319,11 +321,11 @@ Pango_font::pango_item_string_stencil (PangoGlyphItem const *glyph_item) const
   Real size = pango_font_description_get_size (descr)
               / (Real (PANGO_SCALE));
 
-  if (!ps_name_str0)
+  if (ps_name_str0.empty ())
     warning (_f ("no PostScript font name for font `%s'", file_name));
 
   string ps_name;
-  if (!ps_name_str0
+  if (ps_name_str0.empty ()
       && file_name != ""
       && (file_name.find (".otf") != NPOS
           || file_name.find (".cff") != NPOS))
@@ -350,7 +352,7 @@ Pango_font::pango_item_string_stencil (PangoGlyphItem const *glyph_item) const
       name = String_convert::to_lower (name);
       ps_name = initial + name;
     }
-  else if (ps_name_str0)
+  else if (!ps_name_str0.empty ())
     ps_name = ps_name_str0;
 
   if (ps_name.length ())
@@ -440,8 +442,8 @@ Pango_font::text_stencil (Output_def * /* state */,
         variable that is bound to a *named* procedure, i.e. not a
         lambda expression.
       */
-      if (utf8_string != SCM_BOOL_F
-          && scm_procedure_name (SCM_VARIABLE_REF (utf8_string)) != SCM_BOOL_F)
+      if (scm_is_true (utf8_string)
+          && scm_is_true (scm_procedure_name (SCM_VARIABLE_REF (utf8_string))))
         has_utf8_string = true;
     }