From 550026ab7e2d2cfeeacd1cd68ecb1ac31a4733e4 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 22 Nov 2005 20:19:15 +0000 Subject: Load a font suitable for viewing English text when creating mini font for 2005-11-22 Behdad Esfahbod * 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) --- ChangeLog | 27 ++++++++++++++------------- pango/pangocairo-fcfont.c | 32 ++++++++++++++++---------------- pango/pangoxft-font.c | 11 +++++++++-- 3 files changed, 39 insertions(+), 31 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9ee313fe..de8eb7f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,20 +1,22 @@ +2005-11-22 Behdad Esfahbod + + * 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 Anders Carlsson - * configure.in: - Add checks for ATSUI. + * configure.in: Add checks for ATSUI. - * examples/Makefile.am: - Only build pango-cairoview if freetype is detected. + * examples/Makefile.am: Only build pango-cairoview if freetype is + detected. - * modules/basic/Makefile.am: - Add basic ATSUI module. + * modules/basic/Makefile.am: Add basic ATSUI module. - * pango/Makefile.am: - Add ATSUI files for cairo backend. + * pango/Makefile.am: Add ATSUI files for cairo backend. - * pango/pangocairo-fontmap.c: - (pango_cairo_font_map_new): - Support creating ATSUI font maps here. + * pango/pangocairo-fontmap.c (pango_cairo_font_map_new): Support + creating ATSUI font maps here. * pango/pangoatsui-fontmap.c: * pango/pangoatsui-private.h: @@ -23,8 +25,7 @@ * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c: * pango/pangocairo-atsuifont.h: - * pango/pangocairo-atsuifontmap.c: - Add. + * pango/pangocairo-atsuifontmap.c: Added. 2005-11-21 Behdad Esfahbod diff --git a/pango/pangocairo-fcfont.c b/pango/pangocairo-fcfont.c index 824c0bad..3ba8c457 100644 --- a/pango/pangocairo-fcfont.c +++ b/pango/pangocairo-fcfont.c @@ -269,22 +269,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). */ @@ -407,6 +391,22 @@ pango_cairo_fc_font_real_get_unknown_glyph (PangoFcFont *font, return 0; } +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) { diff --git a/pango/pangoxft-font.c b/pango/pangoxft-font.c index 7bcfe1b5..7fd35bf4 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); -- cgit v1.2.1