diff --git a/_imagingft.c b/_imagingft.c index eb6313704..cebc52eb3 100644 --- a/_imagingft.c +++ b/_imagingft.c @@ -18,6 +18,17 @@ * Copyright (c) 1998-2007 by Secret Labs AB */ +/* + * Notes: + * Currently, embedded bitmap fonts within truetype fonts do not work + * properly (see issue #891), truetype fonts are loaded with + * FT_LOAD_NO_BITMAP load flags, resulting in embedded bitmap fonts + * not being used. + * + * Yifu Yu + * 2014-10-15 + */ + #include "Python.h" #include "Imaging.h" @@ -243,7 +254,7 @@ font_getsize(FontObject* self, PyObject* args) &delta); x += delta.x; } - error = FT_Load_Glyph(face, index, FT_LOAD_DEFAULT); + error = FT_Load_Glyph(face, index, FT_LOAD_DEFAULT|FT_LOAD_NO_BITMAP); if (error) return geterror(error); if (i == 0) @@ -316,7 +327,7 @@ font_getabc(FontObject* self, PyObject* args) int index, error; face = self->face; index = FT_Get_Char_Index(face, ch); - error = FT_Load_Glyph(face, index, FT_LOAD_DEFAULT); + error = FT_Load_Glyph(face, index, FT_LOAD_DEFAULT|FT_LOAD_NO_BITMAP); if (error) return geterror(error); a = face->glyph->metrics.horiBearingX / 64.0; @@ -364,7 +375,7 @@ font_render(FontObject* self, PyObject* args) im = (Imaging) id; - load_flags = FT_LOAD_RENDER; + load_flags = FT_LOAD_RENDER|FT_LOAD_NO_BITMAP; if (mask) load_flags |= FT_LOAD_TARGET_MONO;