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;