Commit cc2f3cdecff5a351e7e8961b9f2e389ab740231a

Ewald Hew 2018-01-10T13:24:56

[psaux] Correctly handle Flex features (#52846). * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO, cf2_cmdHMOVETO>: Do not move if doing Flex.

diff --git a/ChangeLog b/ChangeLog
index 1343401..96359ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-01-10  Ewald Hew  <ewaldhew@gmail.com>
+
+	[psaux] Correctly handle Flex features (#52846).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
+	cf2_cmdHMOVETO>: Do not move if doing Flex.
+
 2018-01-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
 	* builds/windows/vc2010/freetype.sln: Synchronize with the project.
diff --git a/src/psaux/psintrp.c b/src/psaux/psintrp.c
index 5c0ee78..da5a8da 100644
--- a/src/psaux/psintrp.c
+++ b/src/psaux/psintrp.c
@@ -852,7 +852,8 @@
 
         curY = ADD_INT32( curY, cf2_stack_popFixed( opStack ) );
 
-        cf2_glyphpath_moveTo( &glyphPath, curX, curY );
+        if ( !decoder->flex_state )
+          cf2_glyphpath_moveTo( &glyphPath, curX, curY );
 
         break;
 
@@ -2674,7 +2675,8 @@
 
         curX = ADD_INT32( curX, cf2_stack_popFixed( opStack ) );
 
-        cf2_glyphpath_moveTo( &glyphPath, curX, curY );
+        if ( !decoder->flex_state )
+          cf2_glyphpath_moveTo( &glyphPath, curX, curY );
 
         break;