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 2022/08/06 11:12:11 UTC

svn commit: r1903253 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java

Author: tilman
Date: Sat Aug  6 11:12:11 2022
New Revision: 1903253

URL: http://svn.apache.org/viewvc?rev=1903253&view=rev
Log:
PDFBOX-4892: optimize, as suggested by Valery Bokov

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java?rev=1903253&r1=1903252&r2=1903253&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java Sat Aug  6 11:12:11 2022
@@ -180,23 +180,25 @@ abstract class TrueTypeEmbedder implemen
      */
     private PDFontDescriptor createFontDescriptor(TrueTypeFont ttf) throws IOException
     {
+        String ttfName = ttf.getName();
         OS2WindowsMetricsTable os2 = ttf.getOS2Windows();
         if (os2 == null)
         {
-            throw new IOException("os2 table is missing in font " + ttf.getName());
+            throw new IOException("os2 table is missing in font " + ttfName);
         }
         PostScriptTable post = ttf.getPostScript();
         if (post == null)
         {
-            throw new IOException("post table is missing in font " + ttf.getName());            
+            throw new IOException("post table is missing in font " + ttfName);            
         }
 
         PDFontDescriptor fd = new PDFontDescriptor();
-        fd.setFontName(ttf.getName());
+        fd.setFontName(ttfName);
+
+        HorizontalHeaderTable hhea = ttf.getHorizontalHeader();
 
         // Flags
-        fd.setFixedPitch(post.getIsFixedPitch() > 0 ||
-                         ttf.getHorizontalHeader().getNumberOfHMetrics() == 1);
+        fd.setFixedPitch(post.getIsFixedPitch() > 0 || hhea.getNumberOfHMetrics() == 1);
 
         int fsSelection = os2.getFsSelection();
         fd.setItalic(((fsSelection & (ITALIC | OBLIQUE)) != 0));
@@ -236,9 +238,8 @@ abstract class TrueTypeEmbedder implemen
         fd.setFontBoundingBox(rect);
 
         // Ascent, Descent
-        HorizontalHeaderTable hHeader = ttf.getHorizontalHeader();
-        fd.setAscent(hHeader.getAscender() * scaling);
-        fd.setDescent(hHeader.getDescender() * scaling);
+        fd.setAscent(hhea.getAscender() * scaling);
+        fd.setDescent(hhea.getDescender() * scaling);
 
         // CapHeight, XHeight
         if (os2.getVersion() >= 1.2)