Author: tilman
Date: Tue Mar 3 09:04:04 2026
New Revision: 1932122
Log:
PDFBOX-6172: avoid ClassCastException with SourceSansProBold.otf from FOP 2432
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2Embedder.java
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2Embedder.java
==============================================================================
---
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2Embedder.java
Tue Mar 3 09:03:59 2026 (r1932121)
+++
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2Embedder.java
Tue Mar 3 09:04:04 2026 (r1932122)
@@ -27,6 +27,7 @@ import java.util.Set;
import java.util.TreeMap;
import org.apache.fontbox.cff.CFFCIDFont;
import org.apache.fontbox.cff.CFFCharset;
+import org.apache.fontbox.cff.CFFFont;
import org.apache.fontbox.ttf.CFFTable;
import org.apache.logging.log4j.Logger;
@@ -239,8 +240,8 @@ final class PDCIDFontType2Embedder exten
{
return;
}
- CFFCIDFont cff = (CFFCIDFont) cffTable.getFont();
- if (cff == null)
+ CFFFont cff = cffTable.getFont();
+ if (!(cff instanceof CFFCIDFont))
{
return;
}
@@ -308,7 +309,7 @@ final class PDCIDFontType2Embedder exten
}
InputStream input = new ByteArrayInputStream(bytes);
- PDStream stream = new PDStream(document, input, COSName.FLATE_DECODE);
+ PDStream stream = new PDStream(document, input, bytes.length < 20 ?
null : COSName.FLATE_DECODE);
fontDescriptor.setCIDSet(stream);
}