You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2022/05/05 17:56:55 UTC

svn commit: r1900598 - in /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff: CharStringHandler.java Type1CharString.java Type2CharString.java

Author: lehmi
Date: Thu May  5 17:56:55 2022
New Revision: 1900598

URL: http://svn.apache.org/viewvc?rev=1900598&view=rev
Log:
PDFBOX-5143: revert changes from r1900577

Added:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringHandler.java
      - copied unchanged from r1900576, pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringHandler.java
Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java?rev=1900598&r1=1900597&r2=1900598&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java Thu May  5 17:56:55 2022
@@ -154,39 +154,11 @@ public class Type1CharString
         path = new GeneralPath();
         leftSideBearing = new Point2D.Float(0, 0);
         width = 0;
-        handleSequence(type1Sequence);
+        CharStringHandler handler = Type1CharString.this::handleType1Command;
+        handler.handleSequence(type1Sequence);
     }
 
-    /**
-     * Process sequence of char string commands.
-     * 
-     * @param sequence the given char string sequence
-     */
-    protected void handleSequence(List<Object> sequence)
-    {
-        List<Number> numbers = new ArrayList<>();
-        sequence.forEach(obj -> {
-            if (obj instanceof CharStringCommand)
-            {
-                List<Number> results = handleCommand(numbers, (CharStringCommand) obj);
-                numbers.clear();
-                numbers.addAll(results);
-            }
-            else
-            {
-                numbers.add((Number) obj);
-            }
-        });
-    }
-
-    /**
-     * Handle the given char string command.
-     * 
-     * @param numbers numbers to be used as parameters for the char string command
-     * @param command the char string command
-     * @return the result of the calculation or an empty list if the command doesn't have a result
-     */
-    protected List<Number> handleCommand(List<Number> numbers, CharStringCommand command)
+    private List<Number> handleType1Command(List<Number> numbers, CharStringCommand command)
     {
         commandCount++;
         Type1KeyWord type1KeyWord = command.getType1KeyWord();

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java?rev=1900598&r1=1900597&r2=1900598&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java Thu May  5 17:56:55 2022
@@ -73,11 +73,11 @@ public class Type2CharString extends Typ
     {
         type1Sequence = new ArrayList<>();
         pathCount = 0;
-        handleSequence(sequence);
+        CharStringHandler handler = Type2CharString.this::handleType2Command;
+        handler.handleSequence(sequence);
     }
 
-    @Override
-    protected List<Number> handleCommand(List<Number> numbers, CharStringCommand command)
+    private List<Number> handleType2Command(List<Number> numbers, CharStringCommand command)
     {
         commandCount++;
         Type2KeyWord type2KeyWord = command.getType2KeyWord();