From 40ebe117275edf1a720dd518eb26df8dc8f5d731 Mon Sep 17 00:00:00 2001 From: hanwen Date: Thu, 30 Mar 2006 10:48:18 +0000 Subject: [PATCH] (print_trailer): only print existing glyphs. --- ChangeLog | 4 ++++ lily/ttf.cc | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index f00b59cb4e..8749767bb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-03-30 Han-Wen Nienhuys + + * lily/ttf.cc (print_trailer): only print existing glyphs. + 2006-03-30 Joe Neeman * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.) diff --git a/lily/ttf.cc b/lily/ttf.cc index bdd4eda88d..6d3b400e58 100644 --- a/lily/ttf.cc +++ b/lily/ttf.cc @@ -139,6 +139,7 @@ print_body (void *out, string name) fclose (fd); } + static void print_trailer (void *out, FT_Face face) @@ -153,6 +154,7 @@ print_trailer (void *out, Index_to_charcode_map ic_map (make_index_to_charcode_map (face)); + int output_count = 0; for (int i = 0; i < mp->numGlyphs; i++) { glyph_name[0] = 0; @@ -167,14 +169,19 @@ print_trailer (void *out, } } - if (!glyph_name[0]) + if (!glyph_name[0] && ic_map.find (i) != ic_map.end ()) { - get_unicode_name (glyph_name, ic_map[i]); + FT_ULong ucode = ic_map[i]; + get_unicode_name (glyph_name, ucode); } - - lily_cookie_fprintf (out, "/%s %d def ", glyph_name, i); - if (! (i % 5)) + if (glyph_name[0]) + { + lily_cookie_fprintf (out, "/%s %d def ", glyph_name, i); + output_count ++; + } + + if (! (output_count % 5)) lily_cookie_fprintf (out, "\n"); } -- 2.39.5