Author: lehmi
Date: Sun Jul 5 10:53:37 2026
New Revision: 1935912
Log:
PDFBOX-6216: skip fonts using CFF2 outlines as they are not supported
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java
Sun Jul 5 10:50:33 2026 (r1935911)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java
Sun Jul 5 10:53:37 2026 (r1935912)
@@ -267,14 +267,19 @@ public class TTFParser
// panose = os2WindowsMetricsTable.getPanose();
outHeaders.setOs2Windows(font.getOS2Windows());
- boolean isOTFAndPostScript;
+ boolean isOTFAndPostScript = false;
if (font instanceof OpenTypeFont && ((OpenTypeFont)
font).isPostScript())
{
- isOTFAndPostScript = true;
if (((OpenTypeFont) font).isSupportedOTF())
{
+ isOTFAndPostScript = true;
font.readTableHeaders(CFFTable.TAG, outHeaders); // calls
CFFTable.readHeaders();
}
+ else
+ {
+ outHeaders.setError("OpenType fonts using CFF2 outlines
are not supported");
+ return outHeaders;
+ }
}
else if (!(font instanceof OpenTypeFont) &&
font.tables.containsKey(CFFTable.TAG))
{
@@ -283,7 +288,6 @@ public class TTFParser
}
else
{
- isOTFAndPostScript = false;
TTFTable gcid = font.getTableMap().get("gcid");
if (gcid != null && gcid.getLength() >= FontHeaders.BYTES_GCID)
{