diff options
author | Anuj Verma <anujv@iitbhilai.ac.in> | 2020-08-16 09:06:59 +0530 |
---|---|---|
committer | Anuj Verma <anujv@iitbhilai.ac.in> | 2020-08-16 09:06:59 +0530 |
commit | 6ed3c34a0eb15146a81116d783645757c40f88ea (patch) | |
tree | 2e9c40f5d26d2c549857f1e3b98dc7fd09ee0387 | |
parent | f9f6adb625c48ef15b5d61a3ac1709a068ea95a3 (diff) | |
download | freetype2-6ed3c34a0eb15146a81116d783645757c40f88ea.tar.gz |
[base] Make necessary changes to allow renderers of different formats.
* src/base/ftobjs.c (FT_Render_Glyph_Internal): Do not return if the glyph's slot
format is `FT_GLYPH_FORMAT_BITMAP'. The `bsdf' renderer will require bitmaps
for processing.
* src/base/ftobjs.c (ft_add_renderer, ft_remove_renderer): Remove renderer's glyph
format check before adding and removing them. The `bsdf' renderer will have a
format of `FT_GLYPH_FORMAT_BITMAP'. So, if we do not remove this check it will
not get initialized and will not work.
-rw-r--r-- | src/base/ftobjs.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 8adfdffe1..521c5b702 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -4393,8 +4393,7 @@ render->glyph_format = clazz->glyph_format; /* allocate raster object if needed */ - if ( clazz->glyph_format == FT_GLYPH_FORMAT_OUTLINE && - clazz->raster_class->raster_new ) + if ( clazz->raster_class->raster_new ) { error = clazz->raster_class->raster_new( memory, &render->raster ); if ( error ) @@ -4441,8 +4440,7 @@ /* release raster object, if any */ - if ( render->clazz->glyph_format == FT_GLYPH_FORMAT_OUTLINE && - render->raster ) + if ( render->raster ) render->clazz->raster_class->raster_done( render->raster ); /* remove from list */ @@ -4537,9 +4535,6 @@ switch ( slot->format ) { - case FT_GLYPH_FORMAT_BITMAP: /* already a bitmap, don't do anything */ - break; - default: if ( slot->internal->load_flags & FT_LOAD_COLOR ) { |