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:07 UTC
svn commit: r1903252 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
Author: tilman
Date: Sat Aug 6 11:12:07 2022
New Revision: 1903252
URL: http://svn.apache.org/viewvc?rev=1903252&view=rev
Log:
PDFBOX-4892: optimize, as suggested by Valery Bokov
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java?rev=1903252&r1=1903251&r2=1903252&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java Sat Aug 6 11:12:07 2022
@@ -195,23 +195,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));
@@ -251,9 +253,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)