diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2018-04-03 15:49:48 +0100 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2018-05-18 13:17:15 +0100 |
commit | 9cb169b6b260f650aac2c3c7ed7af0f345ee0707 (patch) | |
tree | 9b4d2ee77a0dbe43cb0364da2444686ed7302646 /freetype/src/cache/ftcmanag.c | |
parent | ddace435eb99ea1c8a517f4ec94307cfe0743bce (diff) | |
download | ghostpdl-9cb169b6b260f650aac2c3c7ed7af0f345ee0707.tar.gz |
Work around a behaviour change in freetype > 2.8
Freetype will throw an error when we try to retrieve the glyph if the x/y
advance values are too big to fit in a 16.16 fixed point value.
Since we have no need of those values, set them to zero, and avoid the error.
Bring freetype up to 2.9.1
Plus the gs makefile changes to support the new version.
Reapply "Work around a change in the zlib API for 1.2.11"
for Freetype
commit: 08482c582115a1396d0fd9186011008f889a61c5
Diffstat (limited to 'freetype/src/cache/ftcmanag.c')
-rw-r--r-- | freetype/src/cache/ftcmanag.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/freetype/src/cache/ftcmanag.c b/freetype/src/cache/ftcmanag.c index 661a32af5..2bcd9df50 100644 --- a/freetype/src/cache/ftcmanag.c +++ b/freetype/src/cache/ftcmanag.c @@ -4,7 +4,7 @@ /* */ /* FreeType Cache Manager (body). */ /* */ -/* Copyright 2000-2016 by */ +/* Copyright 2000-2018 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -156,10 +156,11 @@ const FTC_MruListClassRec ftc_size_list_class = { sizeof ( FTC_SizeNodeRec ), - ftc_size_node_compare, - ftc_size_node_init, - ftc_size_node_reset, - ftc_size_node_done + + ftc_size_node_compare, /* FTC_MruNode_CompareFunc node_compare */ + ftc_size_node_init, /* FTC_MruNode_InitFunc node_init */ + ftc_size_node_reset, /* FTC_MruNode_ResetFunc node_reset */ + ftc_size_node_done /* FTC_MruNode_DoneFunc node_done */ }; @@ -296,10 +297,10 @@ { sizeof ( FTC_FaceNodeRec), - ftc_face_node_compare, - ftc_face_node_init, - 0, /* FTC_MruNode_ResetFunc */ - ftc_face_node_done + ftc_face_node_compare, /* FTC_MruNode_CompareFunc node_compare */ + ftc_face_node_init, /* FTC_MruNode_InitFunc node_init */ + NULL, /* FTC_MruNode_ResetFunc node_reset */ + ftc_face_node_done /* FTC_MruNode_DoneFunc node_done */ }; @@ -552,7 +553,7 @@ manager->num_nodes )); #endif - if ( manager->cur_weight < manager->max_weight || first == NULL ) + if ( manager->cur_weight < manager->max_weight || !first ) return; /* go to last node -- it's a circular list */ @@ -637,7 +638,7 @@ /* try to remove `count' nodes from the list */ - if ( first == NULL ) /* empty list! */ + if ( !first ) /* empty list! */ return 0; /* go to last node - it's a circular list */ |