summaryrefslogtreecommitdiff
path: root/src/ftfont.c
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2007-11-19 05:02:49 +0000
committerKenichi Handa <handa@m17n.org>2007-11-19 05:02:49 +0000
commit5211525f7c6eea00eaabefac32e0b5f5a9b5cdae (patch)
tree4df8f03f01e3580992404dad4bbdd31ec0bb0421 /src/ftfont.c
parenta89d531fffe63943c1f97911ed531e03867aef03 (diff)
downloademacs-5211525f7c6eea00eaabefac32e0b5f5a9b5cdae.tar.gz
(ftfont_get_bitmap): Set bitmap->bits_per_pixel.
Diffstat (limited to 'src/ftfont.c')
-rw-r--r--src/ftfont.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ftfont.c b/src/ftfont.c
index 7edf7f142b6..e8ef6a4871f 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -913,6 +913,15 @@ ftfont_get_bitmap (font, code, bitmap, bits_per_pixel)
if (FT_Load_Glyph (ft_face, code, load_flags) != 0)
return -1;
+ bitmap->bits_per_pixel
+ = (ft_face->glyph->bitmap.pixel_mode == FT_PIXEL_MODE_MONO ? 1
+ : ft_face->glyph->bitmap.pixel_mode == FT_PIXEL_MODE_GRAY ? 8
+ : ft_face->glyph->bitmap.pixel_mode == FT_PIXEL_MODE_LCD ? 8
+ : ft_face->glyph->bitmap.pixel_mode == FT_PIXEL_MODE_LCD_V ? 8
+ : -1);
+ if (bitmap->bits_per_pixel < 0)
+ /* We don't suport that kind of pixel mode. */
+ return -1;
bitmap->rows = ft_face->glyph->bitmap.rows;
bitmap->width = ft_face->glyph->bitmap.width;
bitmap->pitch = ft_face->glyph->bitmap.pitch;