summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBilly Biggs <vektor@dumbterm.net>2005-07-31 11:19:47 +0000
committerBilly Biggs <vektor@dumbterm.net>2005-07-31 11:19:47 +0000
commitcd78d99642bdf1171d21083a6947c77ff00b599e (patch)
treefa2fd02773007a22fa40f1961c8d5259ed0e4b0b /src
parentb4ae3371b34ca67e98df5e73147adcd6b7853e1d (diff)
Support versions of freetype without exact FT_Bitmap_Size.x/y_ppem values by using the pixel width and height values instead.
Add a check for FT_Bitmap_Size.y_ppem. reviewed by: keithp
Diffstat (limited to 'src')
-rw-r--r--src/cairo-ft-font.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
index f6b0e9c08..4a142b9df 100644
--- a/src/cairo-ft-font.c
+++ b/src/cairo-ft-font.c
@@ -528,7 +528,11 @@ _ft_unscaled_font_set_scale (ft_unscaled_font_t *unscaled,
pixel_width = pixel_height = 0;
for (i = 0; i < unscaled->face->num_fixed_sizes; i++) {
+#if HAVE_FT_BITMAP_SIZE_Y_PPEM
double size = unscaled->face->available_sizes[i].y_ppem / 64.;
+#else
+ double size = unscaled->face->available_sizes[i].height;
+#endif
double distance = fabs (size - sf.y_scale);
if (distance <= min_distance) {
@@ -536,11 +540,13 @@ _ft_unscaled_font_set_scale (ft_unscaled_font_t *unscaled,
best_i = i;
}
}
+#if HAVE_FT_BITMAP_SIZE_Y_PPEM
error = FT_Set_Char_Size (unscaled->face,
unscaled->face->available_sizes[best_i].x_ppem,
unscaled->face->available_sizes[best_i].y_ppem,
0, 0);
- if (error )
+ if (error)
+#endif
error = FT_Set_Pixel_Sizes (unscaled->face,
unscaled->face->available_sizes[best_i].width,
unscaled->face->available_sizes[best_i].height);