From b75abeb5e6561024d182ccdc0eb36a7d2630310e Mon Sep 17 00:00:00 2001 From: Chris Liddell Date: Tue, 8 Jan 2019 20:51:39 -0500 Subject: [PATCH] [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) : Switch to calling `cf2_glyphpath_closeOpenPath'. --- ChangeLog | 13 +++++++++++++ src/psaux/psintrp.c | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 89b70666c..df39ba69e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2019-01-08 Chris Liddell + + [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) : + Switch to calling `cf2_glyphpath_closeOpenPath'. + 2018-12-29 Werner Lemberg * src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310). diff --git a/src/psaux/psintrp.c b/src/psaux/psintrp.c index 712e8782d..a9a717d76 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; }