Commit 4ed1b98dbd5526090d4c302a6d9b93a70469c5a1

Ewald Hew 2017-09-25T07:02:53

Extend Adobe interpreter (closepath). * src/psaux/psintrp.c (cf2_interpT2CharString) <c2f_cmdCLOSEPATH>: Use the right builder function. We can use the `haveWidth' boolean already present, instead of implementing `parse_state'.

diff --git a/ChangeLog b/ChangeLog
index df034e6..2d53417 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
 
+	[psaux] Extend Adobe interpreter (`closepath').
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <c2f_cmdCLOSEPATH>:
+	Use the right builder function.  We can use the `haveWidth' boolean
+	already present, instead of implementing `parse_state'.
+
+2017-09-25  Ewald Hew  <ewaldhew@gmail.com>
+
 	[psaux] Add Type 1 operations to Adobe CFF interpreter.
 
 	The following Type 1 specific ops have been added (copied from
diff --git a/src/psaux/psintrp.c b/src/psaux/psintrp.c
index 133c3bc..7132ae8 100644
--- a/src/psaux/psintrp.c
+++ b/src/psaux/psintrp.c
@@ -926,11 +926,9 @@
           FT_TRACE4(( " closepath" ));
 
           /* if there is no path, `closepath' is a no-op */
-          if ( builder->parse_state == T1_Parse_Have_Path   ||
-               builder->parse_state == T1_Parse_Have_Moveto )
-            t1_builder_close_contour( builder );
+          ps_builder_close_contour( &decoder->builder );
 
-          builder->parse_state = T1_Parse_Have_Width;
+          haveWidth = TRUE;
         }
         break;