You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2025/02/23 08:39:49 UTC

svn commit: r1923998 - /pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java

Author: tilman
Date: Sun Feb 23 08:39:48 2025
New Revision: 1923998

URL: http://svn.apache.org/viewvc?rev=1923998&view=rev
Log:
PDFBOX-5961: refactor

Modified:
    pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java

Modified: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java?rev=1923998&r1=1923997&r2=1923998&view=diff
==============================================================================
--- pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java (original)
+++ pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java Sun Feb 23 08:39:48 2025
@@ -350,24 +350,24 @@ public class CMap
      */
     void addCharMapping(byte[] codes, String unicode)
     {
-        if (codes.length == 1)
+        switch (codes.length)
         {
-            charToUnicodeOneByte.put(CMapStrings.getIndexValue(codes), unicode);
-            unicodeToByteCodes.put(unicode, CMapStrings.getByteValue(codes)); // clone needed, bytes is modified later
-        }
-        else if (codes.length == 2)
-        {
-            charToUnicodeTwoBytes.put(CMapStrings.getIndexValue(codes), unicode);
-            unicodeToByteCodes.put(unicode, CMapStrings.getByteValue(codes)); // clone needed, bytes is modified later
-        }
-        else if (codes.length == 3 || codes.length == 4)
-        {
-            charToUnicodeMoreBytes.put(toInt(codes), unicode);
-            unicodeToByteCodes.put(unicode, codes.clone());
-        }
-        else
-        {
-            LOG.warn("Mappings with more than 4 bytes aren't supported yet");
+            case 1:
+                charToUnicodeOneByte.put(CMapStrings.getIndexValue(codes), unicode);
+                unicodeToByteCodes.put(unicode, CMapStrings.getByteValue(codes)); // clone needed, bytes is modified later
+                break;
+            case 2:
+                charToUnicodeTwoBytes.put(CMapStrings.getIndexValue(codes), unicode);
+                unicodeToByteCodes.put(unicode, CMapStrings.getByteValue(codes)); // clone needed, bytes is modified later
+                break;
+            case 3:
+            case 4:
+                charToUnicodeMoreBytes.put(toInt(codes), unicode);
+                unicodeToByteCodes.put(unicode, codes.clone());
+                break;
+            default:
+                LOG.warn("Mappings with more than 4 bytes aren't supported yet");
+                break;
         }
         // fixme: ugly little hack
         if (SPACE.equals(unicode))