diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2019-01-08 20:51:39 -0500 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2019-01-08 20:51:39 -0500 |
commit | b75abeb5e6561024d182ccdc0eb36a7d2630310e (patch) | |
tree | f96f243b4755e272c8d774ec69d721dcd69c8c06 | |
parent | 2875ada19766f9559feab3c643026fac57ac2a81 (diff) | |
download | freetype2-b75abeb5e6561024d182ccdc0eb36a7d2630310e.tar.gz |
[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'.
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | src/psaux/psintrp.c | 2 |
2 files changed, 14 insertions, 1 deletions
@@ -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 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; } |