summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2005-11-22 20:20:44 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2005-11-22 20:20:44 +0000
commit573bfb60f001ce233a6b35e36345d8941834ccba (patch)
tree957012b418de415f9dc86acd9aa53e54001089e5
parent00a616b6fcc584e29024f287e308da747e591eca (diff)
downloadpango-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--ChangeLog6
-rw-r--r--pango/pangocairo-fcfont.c32
-rw-r--r--pango/pangoxft-font.c11
3 files changed, 31 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index 19265da3..8eedb860 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);