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 2026/06/13 14:16:39 UTC

svn commit: r1935239 - pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font

Author: tilman
Date: Sat Jun 13 14:16:39 2026
New Revision: 1935239

Log:
PDFBOX-6211: add test for 6172

Modified:
   pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java	Sat Jun 13 14:14:09 2026	(r1935238)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java	Sat Jun 13 14:16:39 2026	(r1935239)
@@ -32,6 +32,8 @@ import java.nio.file.StandardCopyOption;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.fontbox.ttf.OTFParser;
+import org.apache.fontbox.ttf.OpenTypeFont;
 import org.apache.fontbox.ttf.TTFParser;
 import org.apache.fontbox.ttf.TrueTypeCollection;
 import org.apache.fontbox.ttf.TrueTypeFont;
@@ -531,4 +533,19 @@ class PDFontTest
             assertEquals("\u0391 \u2126", text.trim());
         }
     }
+
+    // PDFBOX-6172: test that exception is thrown on otf font with CID and GID not identical.
+    @Test
+    void testPDFBox6172() throws IOException
+    {
+        try (PDDocument document = new PDDocument())
+        {
+            InputStream is = new FileInputStream("target/fonts/NotoSansSC-Regular.otf");
+            OpenTypeFont otf = new OTFParser().parse(new RandomAccessReadBuffer(is));
+            Throwable t = assertThrows(IllegalStateException.class,
+                    () -> PDType0Font.load(document, otf, false),
+                    "should have thrown IllegalStateException");
+            assertEquals("CID and GID not identical: CID 628 != GID 372, use a ttf font instead", t.getMessage());
+        }
+    }
 }