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 2021/10/02 16:18:30 UTC
svn commit: r1893828 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java
Author: tilman
Date: Sat Oct 2 16:18:29 2021
New Revision: 1893828
URL: http://svn.apache.org/viewvc?rev=1893828&view=rev
Log:
PDFBOX-4892: reduce memory usage, as suggested by valerybokov
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java?rev=1893828&r1=1893827&r2=1893828&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java Sat Oct 2 16:18:29 2021
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.fontbox.afm.FontMetrics;
import org.apache.fontbox.pfb.PfbParser;
import org.apache.fontbox.type1.Type1Font;
+import org.apache.fontbox.util.BoundingBox;
import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
@@ -108,16 +109,17 @@ class PDType1FontEmbedder
{
boolean isSymbolic = type1.getEncoding()
instanceof org.apache.fontbox.encoding.BuiltInEncoding;
-
+ BoundingBox bbox = type1.getFontBBox();
PDFontDescriptor fd = new PDFontDescriptor();
+
fd.setFontName(type1.getName());
fd.setFontFamily(type1.getFamilyName());
fd.setNonSymbolic(!isSymbolic);
fd.setSymbolic(isSymbolic);
- fd.setFontBoundingBox(new PDRectangle(type1.getFontBBox()));
+ fd.setFontBoundingBox(new PDRectangle(bbox));
fd.setItalicAngle(type1.getItalicAngle());
- fd.setAscent(type1.getFontBBox().getUpperRightY());
- fd.setDescent(type1.getFontBBox().getLowerLeftY());
+ fd.setAscent(bbox.getUpperRightY());
+ fd.setDescent(bbox.getLowerLeftY());
fd.setCapHeight(type1.getBlueValues().get(2).floatValue());
fd.setStemV(0); // for PDF/A
return fd;