Author: tilman
Date: Thu Sep 25 08:00:50 2025
New Revision: 1928749
Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #263
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
==============================================================================
---
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
Thu Sep 25 06:41:15 2025 (r1928748)
+++
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/TrueTypeEmbedder.java
Thu Sep 25 08:00:50 2025 (r1928749)
@@ -139,9 +139,10 @@ abstract class TrueTypeEmbedder implemen
*/
final boolean isEmbeddingPermitted(TrueTypeFont ttf) throws IOException
{
- if (ttf.getOS2Windows() != null)
+ OS2WindowsMetricsTable os2 = ttf.getOS2Windows();
+ if (os2 != null)
{
- int fsType = ttf.getOS2Windows().getFsType();
+ int fsType = os2.getFsType();
int maskedFsType = fsType & 0x000F;
// PDFBOX-5191: don't check the bit because permissions are
exclusive
if (maskedFsType == OS2WindowsMetricsTable.FSTYPE_RESTRICTED)
@@ -164,9 +165,10 @@ abstract class TrueTypeEmbedder implemen
*/
private boolean isSubsettingPermitted(TrueTypeFont ttf) throws IOException
{
- if (ttf.getOS2Windows() != null)
+ OS2WindowsMetricsTable os2 = ttf.getOS2Windows();
+ if (os2 != null)
{
- int fsType = ttf.getOS2Windows().getFsType();
+ int fsType = os2.getFsType();
if ((fsType & OS2WindowsMetricsTable.FSTYPE_NO_SUBSETTING) ==
OS2WindowsMetricsTable.FSTYPE_NO_SUBSETTING)
{