summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2005-11-22 20:19:15 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2005-11-22 20:19:15 +0000
commit550026ab7e2d2cfeeacd1cd68ecb1ac31a4733e4 (patch)
treede28c0dd5608ad100b5d88a92e343fa018b2c58f
parent9767e78aac25bf22ea759fdcf35ffaab487cfe48 (diff)
downloadpango-550026ab7e2d2cfeeacd1cd68ecb1ac31a4733e4.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--ChangeLog27
-rw-r--r--pango/pangocairo-fcfont.c32
-rw-r--r--pango/pangoxft-font.c11
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 <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 Anders Carlsson <andersca@imendio.com>
- * 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 <behdad@gnome.org>
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).
*/
@@ -408,6 +392,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 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);