From: Patrick McCarty Date: Mon, 22 Mar 2010 21:36:08 +0000 (-0700) Subject: Pango: API change to fix fetaText rendering. X-Git-Tag: release/2.13.17-1~23 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=990120f1bbfe25fa268c623ba705a01604a300d2;p=lilypond.git Pango: API change to fix fetaText rendering. The changes to the Font_metric API rendered obsolete the "tight-bbox" filtering in Pango_font. This commit modifies the API appropriately to fix the rendering of text with the fetaText encoding. --- diff --git a/lily/include/pango-font.hh b/lily/include/pango-font.hh index 31ce425485..8f6e5496f4 100644 --- a/lily/include/pango-font.hh +++ b/lily/include/pango-font.hh @@ -49,9 +49,8 @@ public: string description_string () const; SCM font_file_name () const; void register_font_file (string, string, int); - Stencil text_stencil (string, bool, bool) const; - Stencil pango_item_string_stencil (PangoGlyphItem const *, bool) const; + Stencil pango_item_string_stencil (PangoGlyphItem const *) const; virtual Stencil text_stencil (Output_def* output_state, string text, bool music) const; diff --git a/lily/pango-font.cc b/lily/pango-font.cc index 6d18820b97..0587badadb 100644 --- a/lily/pango-font.cc +++ b/lily/pango-font.cc @@ -111,8 +111,7 @@ get_unicode_name (char *s, } Stencil -Pango_font::pango_item_string_stencil (PangoGlyphItem const *glyph_item, - bool tight_bbox) const +Pango_font::pango_item_string_stencil (PangoGlyphItem const *glyph_item) const { const int GLYPH_NAME_LEN = 256; char glyph_name[GLYPH_NAME_LEN]; @@ -128,13 +127,11 @@ Pango_font::pango_item_string_stencil (PangoGlyphItem const *glyph_item, FT_Face ftface = pango_fc_font_lock_face (fcfont); - PangoRectangle const *which_rect = tight_bbox ? &ink_rect - : &logical_rect; - Box b (Interval (PANGO_LBEARING (logical_rect), PANGO_RBEARING (logical_rect)), - Interval (-PANGO_DESCENT (*which_rect), - PANGO_ASCENT (*which_rect))); + Interval (-PANGO_DESCENT (ink_rect), + PANGO_ASCENT (ink_rect))); + b.scale (scale_); char const *ps_name_str0 = FT_Get_Postscript_Name (ftface); @@ -300,19 +297,11 @@ Pango_font::physical_font_tab () const return physical_font_tab_; } -Stencil -Pango_font::text_stencil (Output_def* state, - string str, bool music_string) const -{ - return text_stencil (str, music_string, false); -} - extern bool music_strings_to_paths; Stencil -Pango_font::text_stencil (string str, - bool music_string, - bool tight) const +Pango_font::text_stencil (Output_def* state, + string str, bool music_string) const { /* The text assigned to a PangoLayout is automatically divided @@ -334,7 +323,7 @@ Pango_font::text_stencil (string str, for (GSList *p = layout_runs; p; p = p->next) { PangoGlyphItem *item = (PangoGlyphItem *) p->data; - Stencil item_stencil = pango_item_string_stencil (item, tight); + Stencil item_stencil = pango_item_string_stencil (item); item_stencil.translate_axis (last_x, X_AXIS); last_x = item_stencil.extent (X_AXIS)[RIGHT];