[psaux] Fix closepath (#55414). All of the Type 1 path building is done with code common to the revised CFF engine, with the exception of closepath, which was still calling ps_builder_close_contour(), thus previously cached segments were not always written to the path, and glyph corruption, or even invalid outlines were possible. * src/psauc/psinterp.c (cf2_interpT2CharString) <cf2_cmdCLOSEPATH>: Switch to calling `cf2_glyphpath_closeOpenPath'.
diff --git a/ChangeLog b/ChangeLog
index 89b7066..df39ba6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2019-01-08 Chris Liddell <chris.liddell@artifex.com>
+
+ [psaux] Fix closepath (#55414).
+
+ All of the Type 1 path building is done with code common to the
+ revised CFF engine, with the exception of closepath, which was still
+ calling ps_builder_close_contour(), thus previously cached segments
+ were not always written to the path, and glyph corruption, or even
+ invalid outlines were possible.
+
+ * src/psauc/psinterp.c (cf2_interpT2CharString) <cf2_cmdCLOSEPATH>:
+ Switch to calling `cf2_glyphpath_closeOpenPath'.
+
2018-12-29 Werner Lemberg <wl@gnu.org>
* src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
diff --git a/src/psaux/psintrp.c b/src/psaux/psintrp.c
index 712e878..a9a717d 100644
--- a/src/psaux/psintrp.c
+++ b/src/psaux/psintrp.c
@@ -963,7 +963,7 @@
FT_TRACE4(( " closepath" ));
/* if there is no path, `closepath' is a no-op */
- ps_builder_close_contour( &decoder->builder );
+ cf2_glyphpath_closeOpenPath( &glyphPath );
haveWidth = TRUE;
}