]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/open-type-font.cc
Allow tests for error messages.
[lilypond.git] / lily / open-type-font.cc
index 8e50a1a576b4ee385af3bb43ccd9864d6407d8bc..2f2e5fdaad3d50b7eb2cc755ef0083243487d596 100644 (file)
@@ -30,11 +30,11 @@ load_table (char const *tag_str, FT_Face face, FT_ULong *length)
     {
       FT_Byte *buffer = (FT_Byte *) malloc (*length);
       if (buffer == NULL)
-       error (_f ("can't allocate %lu bytes", *length));
+       error (_f ("cannot allocate %lu bytes", *length));
 
       error_code = FT_Load_Sfnt_Table (face, tag, 0, buffer, length);
       if (error_code)
-       error (_f ("can't load font table: %s", tag_str));
+       error (_f ("cannot load font table: %s", tag_str));
 
       return buffer;
     }
@@ -68,18 +68,6 @@ load_scheme_table (char const *tag_str, FT_Face face)
   return tab;
 }
 
-Index_to_charcode_map
-make_index_to_charcode_map (FT_Face face)
-{
-  Index_to_charcode_map m;
-  FT_ULong charcode;
-  FT_UInt gindex;
-
-  for (charcode = FT_Get_First_Char (face, &gindex); gindex != 0;
-       charcode = FT_Get_Next_Char (face, charcode, &gindex))
-    m[gindex] = charcode;
-  return m;
-}
 
 Open_type_font::~Open_type_font ()
 {
@@ -94,8 +82,10 @@ get_otf_table (FT_Face face, string tag)
 {
   FT_ULong len;
   FT_Byte *tab = load_table (tag.c_str (), face, &len);
+  string ret ((char const*) tab, len);
+  free (tab);
 
-  return string ((char const*) tab, len);
+  return ret;
 }
 
 FT_Face
@@ -180,7 +170,7 @@ Open_type_font::get_indexed_char (size_t signed_idx) const
       char name[len];
       size_t code = FT_Get_Glyph_Name (face_, signed_idx, name, len);
       if (code)
-       warning (_f ("FT_Get_Glyph_Name() returned error: %d", code));
+       warning (_f ("FT_Get_Glyph_Name() returned error: %u", unsigned (code)));
 
       SCM sym = ly_symbol2scm (name);
       SCM alist = scm_hashq_ref (lily_character_table_, sym, SCM_BOOL_F);
@@ -304,7 +294,7 @@ Open_type_font::glyph_list () const
       char name[len];
       size_t code = FT_Get_Glyph_Name (face_, i, name, len);
       if (code)
-       warning (_f ("FT_Get_Glyph_Name() returned error: %d", code));
+       warning (_f ("FT_Get_Glyph_Name() returned error: %u", unsigned (code)));
 
       *tail = scm_cons (scm_makfrom0str (name), SCM_EOL);
       tail = SCM_CDRLOC (*tail);