Author: tilman
Date: Sat Nov 15 04:46:33 2025
New Revision: 1929746

Log:
PDFBOX-6101: avoid NPE, refactor

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

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java
        Sat Nov 15 04:46:28 2025        (r1929745)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java
        Sat Nov 15 04:46:33 2025        (r1929746)
@@ -405,10 +405,7 @@ final class FontMapperImpl implements Fo
         }
         
         // make sure the font provider is initialized
-        if (fontProvider == null)
-        {
-            getProvider();
-        }
+        getProvider();
 
         // first try to match the PostScript name
         FontInfo info = getFont(format, postScriptName);
@@ -510,7 +507,7 @@ final class FontMapperImpl implements Fo
             return new CIDFontMapping(null, ttf, false);
         }
 
-        if (cidSystemInfo != null)
+        if (cidSystemInfo != null && fontDescriptor != null)
         {
             // "In Acrobat 3.0.1 and later, Type 0 fonts that use a CMap whose 
CIDSystemInfo
             // dictionary defines the Adobe-GB1, Adobe-CNS1 Adobe-Japan1, or 
Adobe-Korea1 character
@@ -554,6 +551,9 @@ final class FontMapperImpl implements Fo
     private PriorityQueue<FontMatch> getFontMatches(PDFontDescriptor 
fontDescriptor,
                                                            PDCIDSystemInfo 
cidSystemInfo)
     {
+        // make sure the font provider is initialized
+        getProvider();
+
         PriorityQueue<FontMatch> queue = new PriorityQueue<>(20);
         
         for (FontInfo info : fontInfoByName.values())

Reply via email to