Author: tilman
Date: Sat Oct 26 15:03:25 2024
New Revision: 1921566
URL: http://svn.apache.org/viewvc?rev=1921566&view=rev
Log:
PDFBOX-5890: use simplified notation if there's only an MCID in the property
list
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java?rev=1921566&r1=1921565&r2=1921566&view=diff
==============================================================================
---
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
(original)
+++
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
Sat Oct 26 15:03:25 2024
@@ -43,6 +43,7 @@ import org.apache.fontbox.ttf.model.Gsub
import org.apache.pdfbox.contentstream.operator.OperatorName;
import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSBase;
+import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.cos.COSNumber;
import org.apache.pdfbox.pdfwriter.COSWriter;
@@ -208,7 +209,7 @@ abstract class PDAbstractContentStream i
}
else
{
- LOG.debug("No GSUB data found in font {}", font.getName());
+ LOG.info("No GSUB data found in font {}", font.getName());
}
}
@@ -1330,7 +1331,18 @@ abstract class PDAbstractContentStream i
public void beginMarkedContent(COSName tag, PDPropertyList propertyList)
throws IOException
{
writeOperand(tag);
- writeOperand(resources.add(propertyList));
+
+ COSDictionary dict = propertyList.getCOSObject();
+ if (dict.getInt(COSName.MCID) > -1 && dict.size() == 1)
+ {
+ // PDFBOX-5890: use simplified notation if there's only an MCID
+ write("<</MCID " + dict.getInt(COSName.MCID) + ">> ");
+ }
+ else
+ {
+ writeOperand(resources.add(propertyList));
+ }
+
writeOperator(OperatorName.BEGIN_MARKED_CONTENT_SEQ);
}