Stencil
-Pango_font::pango_item_string_stencil (PangoItem const *item, string str,
- bool tight_bbox) const
+Pango_font::pango_item_string_stencil (PangoItem const *item, string str) const
{
const int GLYPH_NAME_LEN = 256;
char glyph_name[GLYPH_NAME_LEN];
PangoFcFont);
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)));
+ Box b (Interval (PANGO_LBEARING (ink_rect),
+ PANGO_RBEARING (ink_rect)),
+ Interval (-PANGO_DESCENT (ink_rect),
+ PANGO_ASCENT (ink_rect)));
b.scale (scale_);
char const *ps_name_str0 = FT_Get_Postscript_Name (ftface);
FcPattern *fcpat = fcfont->font_pattern;
- FcChar8 *file_name_as_ptr = 0;
- FcPatternGetString (fcpat, FC_FILE, 0, &file_name_as_ptr);
+ char *file_name_as_ptr = 0;
+ FcPatternGetString (fcpat, FC_FILE, 0, (FcChar8 **) & file_name_as_ptr);
string file_name;
if (file_name_as_ptr)
{
/* Normalize file name. */
- file_name = File_name ((char const *)file_name_as_ptr).to_string ();
+ file_name = File_name (file_name_as_ptr).to_string ();
}
SCM glyph_exprs = SCM_EOL;
if (glyph_name[0] == '\0' && has_glyph_names)
{
- programming_error ("Glyph has no name, but font supports glyph naming. Skipping glyph: "
- + description_string ());
+ programming_error ("Glyph has no name, but font supports glyph naming. Skipping glyph.");
continue;
}
return physical_font_tab_;
}
-
-Stencil
-Pango_font::word_stencil (string str) const
-{
- return text_stencil (str, true);
-}
-
Stencil
Pango_font::text_stencil (string str) const
-{
- return text_stencil (str, false);
-}
-
-Stencil
-Pango_font::text_stencil (string str, bool tight) const
{
GList *items
= pango_itemize (context_,
{
PangoItem *item = (PangoItem *) ptr->data;
- Stencil item_stencil = pango_item_string_stencil (item, str, tight);
+ Stencil item_stencil = pango_item_string_stencil (item, str);
if (text_dir == RIGHT)
{
/*
For Pango based backends, we take a shortcut.
*/
+ char *descr_string = pango_font_description_to_string (pango_description_);
SCM exp
= scm_list_3 (ly_symbol2scm ("utf-8-string"),
- scm_makfrom0str (description_string ().c_str ()),
+ scm_makfrom0str (descr_string),
scm_makfrom0str (str.c_str ()));
+ g_free (descr_string);
+
Box b (Interval (0, 0), Interval (0, 0));
b.unite (dest.extent_box ());
return Stencil (b, exp);
return dest;
}
-string
-Pango_font::description_string () const
-{
- char *descr_string = pango_font_description_to_string (pango_description_);
- string s (descr_string);
- g_free (descr_string);
- return s;
-}
-
-
SCM
Pango_font::font_file_name () const
{