summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnuj Verma <anujv@iitbhilai.ac.in>2020-08-16 09:06:59 +0530
committerWerner Lemberg <wl@gnu.org>2020-12-22 08:31:16 +0100
commit65bca9c9ff90593355a3cb8f4dab1530c7079dd3 (patch)
tree5ad6f0167c74abcd33dfadd3659a4e62b4c9c3ee
parent0d5f1dd37c056b4460a460d16fd1fbb06740e891 (diff)
downloadfreetype2-65bca9c9ff90593355a3cb8f4dab1530c7079dd3.tar.gz
[base] 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 forthcoming '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 `FT_GLYPH_FORMAT_BITMAP`.
-rw-r--r--ChangeLog12
-rw-r--r--src/base/ftobjs.c9
2 files changed, 14 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index d3dca8c09..1e0503256 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2020-08-16 Anuj Verma <anujv@iitbhilai.ac.in>
+
+ [base] 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 forthcoming
+ '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 `FT_GLYPH_FORMAT_BITMAP`.
+
2020-12-18 Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
[autofit] Fix double division in stem darkening.
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 83351ad93..45662030c 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -4412,8 +4412,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 )
@@ -4460,8 +4459,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 */
@@ -4556,9 +4554,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 )
{