Author: lehmi Date: Mon Dec 16 19:10:56 2024 New Revision: 1922540 URL: http://svn.apache.org/viewvc?rev=1922540&view=rev Log: PDFBOX-5902: replace Map with List
Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapStrings.java Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapStrings.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapStrings.java?rev=1922540&r1=1922539&r2=1922540&view=diff ============================================================================== --- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapStrings.java (original) +++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapStrings.java Mon Dec 16 19:10:56 2024 @@ -18,8 +18,8 @@ package org.apache.fontbox.cmap; import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.Map; +import java.util.ArrayList; +import java.util.List; /** * Many CMaps are using the same values for the mapped strings. This class provides all common one- and two-byte @@ -27,8 +27,8 @@ import java.util.Map; */ public class CMapStrings { - private static final Map<Integer, String> twoByteMappings = new HashMap<>(); - private static final Map<Integer, String> oneByteMappings = new HashMap<>(); + private static final List<String> twoByteMappings = new ArrayList<>(256 * 256); + private static final List<String> oneByteMappings = new ArrayList<>(256); static { @@ -47,14 +47,13 @@ public class CMapStrings for (int j = 0; j < 256; j++) { byte[] bytes = { (byte) i, (byte) j }; - twoByteMappings.put(CMap.toInt(bytes), - new String(bytes, StandardCharsets.UTF_16BE)); + twoByteMappings.add(new String(bytes, StandardCharsets.UTF_16BE)); } } for (int i = 0; i < 256; i++) { byte[] bytes = { (byte) i }; - oneByteMappings.put(i, new String(bytes, StandardCharsets.ISO_8859_1)); + oneByteMappings.add(new String(bytes, StandardCharsets.ISO_8859_1)); } }