diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2005-11-22 20:20:44 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2005-11-22 20:20:44 +0000 |
commit | 573bfb60f001ce233a6b35e36345d8941834ccba (patch) | |
tree | 957012b418de415f9dc86acd9aa53e54001089e5 | |
parent | 00a616b6fcc584e29024f287e308da747e591eca (diff) | |
download | pango-573bfb60f001ce233a6b35e36345d8941834ccba.tar.gz |
Load a font suitable for viewing English text when creating mini font for
2005-11-22 Behdad Esfahbod <behdad@gnome.org>
* pango/pangoxft-font.c (_pango_xft_font_get_mini_font): Load a font
suitable for viewing English text when creating mini font for hex
boxes. (#312477)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | pango/pangocairo-fcfont.c | 32 | ||||
-rw-r--r-- | pango/pangoxft-font.c | 11 |
3 files changed, 31 insertions, 18 deletions
@@ -1,3 +1,9 @@ +2005-11-22 Behdad Esfahbod <behdad@gnome.org> + + * pango/pangoxft-font.c (_pango_xft_font_get_mini_font): Load a font + suitable for viewing English text when creating mini font for hex + boxes. (#312477) + 2005-11-21 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-fontmap.c (get_scaled_size): Return double instead of diff --git a/pango/pangocairo-fcfont.c b/pango/pangocairo-fcfont.c index 99ee5b1c..6e0a7d07 100644 --- a/pango/pangocairo-fcfont.c +++ b/pango/pangocairo-fcfont.c @@ -227,22 +227,6 @@ pango_cairo_fc_font_get_glyph_info (PangoFont *font, return info; } -static void -pango_cairo_fc_font_get_glyph_extents (PangoFont *font, - PangoGlyph glyph, - PangoRectangle *ink_rect, - PangoRectangle *logical_rect) -{ - PangoCairoFcGlyphInfo *info; - - info = pango_cairo_fc_font_get_glyph_info (font, glyph); - - if (ink_rect) - *ink_rect = info->ink_rect; - if (logical_rect) - *logical_rect = info->logical_rect; -} - /* This function is cut-and-pasted from pangocairo-fcfont.c - it might be * better to add a virtual fcfont->create_context (font). */ @@ -320,6 +304,22 @@ pango_cairo_fc_font_real_get_unknown_glyph (PangoFcFont *font, } static void +pango_cairo_fc_font_get_glyph_extents (PangoFont *font, + PangoGlyph glyph, + PangoRectangle *ink_rect, + PangoRectangle *logical_rect) +{ + PangoCairoFcGlyphInfo *info; + + info = pango_cairo_fc_font_get_glyph_info (font, glyph); + + if (ink_rect) + *ink_rect = info->ink_rect; + if (logical_rect) + *logical_rect = info->logical_rect; +} + +static void pango_cairo_fc_font_shutdown (PangoFcFont *fcfont) { PangoCairoFcFont *cffont = PANGO_CAIRO_FC_FONT (fcfont); diff --git a/pango/pangoxft-font.c b/pango/pangoxft-font.c index 258b7a44..c8208713 100644 --- a/pango/pangoxft-font.c +++ b/pango/pangoxft-font.c @@ -129,14 +129,19 @@ _pango_xft_font_get_mini_font (PangoXftFont *xfont) if (!xfont->mini_font) { Display *display; + int screen; PangoFontDescription *desc = pango_font_description_new (); + PangoContext *context; int i; int width = 0, height = 0; XGlyphInfo extents; XftFont *mini_xft; int new_size; - _pango_xft_font_map_get_info (fcfont->fontmap, &display, NULL); + _pango_xft_font_map_get_info (fcfont->fontmap, &display, &screen); + + context = pango_xft_get_context (display, screen); + pango_context_set_language (context, pango_language_from_string ("en")); pango_font_description_set_family_static (desc, "monospace"); @@ -147,8 +152,10 @@ _pango_xft_font_get_mini_font (PangoXftFont *xfont) else pango_font_description_set_size (desc, new_size); - xfont->mini_font = pango_font_map_load_font (fcfont->fontmap, NULL, desc); + xfont->mini_font = pango_font_map_load_font (fcfont->fontmap, context, desc); + pango_font_description_free (desc); + g_object_unref (context); mini_xft = xft_font_get_font (xfont->mini_font); |