Author: tilman
Date: Sun Oct  5 09:55:40 2025
New Revision: 1928950

Log:
PDFBOX-5660: make it constant, as suggested by Andreas Lehmkühler

Modified:
   
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
      Sun Oct  5 09:55:35 2025        (r1928949)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
      Sun Oct  5 09:55:40 2025        (r1928950)
@@ -23,6 +23,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -53,6 +54,24 @@ abstract class TrueTypeEmbedder implemen
     private static final int OBLIQUE = 512;
     private static final String BASE25 = "BCDEFGHIJKLMNOPQRSTUVWXYZ";
 
+    // PDF spec required tables (if present), all others will be removed
+    private static final List<String> TABLES = new ArrayList<>(10);
+
+    static
+    {
+        TABLES.add("head");
+        TABLES.add("hhea");
+        TABLES.add("loca");
+        TABLES.add("maxp");
+        TABLES.add("cvt ");
+        TABLES.add("prep");
+        TABLES.add("glyf");
+        TABLES.add("hmtx");
+        TABLES.add("fpgm");
+        // Windows ClearType
+        TABLES.add("gasp");
+    }
+
     private final PDDocument document;
     protected TrueTypeFont ttf;
     protected PDFontDescriptor fontDescriptor;
@@ -311,13 +330,8 @@ abstract class TrueTypeEmbedder implemen
             throw new IllegalStateException("Subsetting is disabled");
         }
 
-        // PDF spec required tables (if present), all others will be removed
-        List<String> tables = List.of("head", "hhea","loca","maxp","cvt 
","prep","glyf","hmtx","fpgm",
-        // Windows ClearType
-        "gasp");
-
         // set the GIDs to subset
-        TTFSubsetter subsetter = new TTFSubsetter(ttf, tables);
+        TTFSubsetter subsetter = new TTFSubsetter(ttf, TABLES);
         subsetter.addAll(subsetCodePoints);
         subsetter.forceInvisible('\u200B'); // ZWSP
         subsetter.forceInvisible('\u200C'); // ZWNJ

Reply via email to