summaryrefslogtreecommitdiff
path: root/pango/pangofc-fontmap.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2004-12-16 03:24:07 +0000
committerOwen Taylor <otaylor@src.gnome.org>2004-12-16 03:24:07 +0000
commit7be7952f2fb1d34963a041fc9bc4d4841d8de74a (patch)
treed6417d999b1f4a7a38290eb94004934fe57d1163 /pango/pangofc-fontmap.c
parentda045342eccab09d3d6be33b1b65ebeb5dc2b2f0 (diff)
downloadpango-7be7952f2fb1d34963a041fc9bc4d4841d8de74a.tar.gz
Add pixel sizes for fonts (#119081, patch from Chris Lahey)
Wed Dec 15 22:09:42 2004 Owen Taylor <otaylor@redhat.com> Add pixel sizes for fonts (#119081, patch from Chris Lahey) * pango/fonts.c pango/pango-font.h: Add pango_font_description_set_absolute_size(), pango_font_description_get_size_is_absolute() * pango/pango-attributes.[ch]: Add pango_attr_size_new_absolute(), change PANGO_ATTR_SIZE from PangoAttrInt to PangoAttrSize (preserves compat because first component is identical) * pango/pangowin32-fontmap.c (pango_win32_font_map_load_font): For absolute sizes, convert pixels to points, before calling pango_win32_font_new(). * pango/pangofc-fontmap.c pango/pangoft2.c pango/pangoxft-font.c: Handle absolute sizes.
Diffstat (limited to 'pango/pangofc-fontmap.c')
-rw-r--r--pango/pangofc-fontmap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c
index 0f7b67bb..a7e9f375 100644
--- a/pango/pangofc-fontmap.c
+++ b/pango/pangofc-fontmap.c
@@ -598,6 +598,7 @@ pango_fc_make_pattern (const PangoFontDescription *description)
int slant;
int weight;
double size;
+ gboolean size_is_absolute;
char **families;
int i;
#ifdef FC_WIDTH
@@ -611,6 +612,7 @@ pango_fc_make_pattern (const PangoFontDescription *description)
#endif
size = (double) pango_font_description_get_size (description) / PANGO_SCALE;
+ size_is_absolute = pango_font_description_get_size_is_absolute (description);
pattern = FcPatternBuild (NULL,
FC_WEIGHT, FcTypeInteger, weight,
@@ -618,7 +620,7 @@ pango_fc_make_pattern (const PangoFontDescription *description)
#ifdef FC_WIDTH
FC_WIDTH, FcTypeInteger, width,
#endif
- FC_SIZE, FcTypeDouble, size,
+ (size_is_absolute ? FC_PIXEL_SIZE : FC_SIZE), FcTypeDouble, size,
NULL);
families = g_strsplit (pango_font_description_get_family (description), ",", -1);
@@ -1255,6 +1257,7 @@ pango_fc_convert_width_to_pango (int fc_stretch)
* @pattern: a #FcPattern
* @include_size: if %TRUE, the pattern will include the size from
* the @pattern; otherwise the resulting pattern will be unsized.
+ * (only %FC_SIZE is examined, not %FC_PIXEL_SIZE)
*
* Creates a #PangoFontDescription that matches the specified
* Fontconfig pattern as closely as possible. Many possible Fontconfig