From cfac478311afdaf9c7f0ef20fa637d2345d02d0c Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 29 Mar 2006 12:23:58 +0000 Subject: [PATCH] (calc_control_points): handle suicide case. Backportme. --- ChangeLog | 12 +++++++++++- lily/ttf.cc | 5 ++++- lily/tuplet-bracket.cc | 10 ++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a4e6dcd69f..d5083e89dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-03-29 Han-Wen Nienhuys + + * lily/tuplet-bracket.cc (calc_control_points): handle suicide + case. Backportme. + +2006-03-29 Han-Wen Nienhuys + + * lily/ttf.cc (make_index_to_charcode_map): restore old + cmap. Backportme. + 2006-03-28 Werner Lemberg * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names. @@ -14,7 +24,7 @@ 2006-03-28 Han-Wen Nienhuys * mf/feta-bolletjes.mf: match width of solfa notes with normal - note heads. + note heads. Backportme. * lily/ttf.cc (print_trailer): use it. diff --git a/lily/ttf.cc b/lily/ttf.cc index a3f8529767..8fc2c148bd 100644 --- a/lily/ttf.cc +++ b/lily/ttf.cc @@ -24,11 +24,14 @@ make_index_to_charcode_map (FT_Face face) Index_to_charcode_map m; FT_ULong charcode; FT_UInt gindex; - + + FT_CharMap current_cmap = face->charmap; FT_Select_Charmap(face, FT_ENCODING_UNICODE); for (charcode = FT_Get_First_Char (face, &gindex); gindex != 0; charcode = FT_Get_Next_Char (face, charcode, &gindex)) m[gindex] = charcode; + FT_Set_Charmap (face, current_cmap); + return m; } diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc index b812e622e3..4ca5032829 100644 --- a/lily/tuplet-bracket.cc +++ b/lily/tuplet-bracket.cc @@ -178,8 +178,15 @@ Tuplet_bracket::calc_control_points (SCM smob) extract_grob_set (me, "note-columns", columns); + SCM scm_positions = me->get_property ("positions"); + if (!me->is_live ()) + return SCM_EOL; + + if (!scm_is_pair (scm_positions)) + programming_error ("Positions should be number pair"); + Drul_array positions - = ly_scm2realdrul (me->get_property ("positions")); + = robust_scm2drul (scm_positions, Drul_array (0,0)); Grob *commonx = get_common_x (me); Direction dir = get_grob_direction (me); @@ -627,7 +634,6 @@ Tuplet_bracket::calc_positions (SCM smob) Spanner *me = unsmob_spanner (smob); extract_grob_set (me, "note-columns", columns); - /* Don't print if it doesn't span time. */ -- 2.39.2