diff options
author | Billy Biggs <vektor@dumbterm.net> | 2005-07-31 11:19:47 +0000 |
---|---|---|
committer | Billy Biggs <vektor@dumbterm.net> | 2005-07-31 11:19:47 +0000 |
commit | cd78d99642bdf1171d21083a6947c77ff00b599e (patch) | |
tree | fa2fd02773007a22fa40f1961c8d5259ed0e4b0b /src | |
parent | b4ae3371b34ca67e98df5e73147adcd6b7853e1d (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.c | 8 |
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); |