You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2023/07/02 08:16:56 UTC
svn commit: r1910736 - in /pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf: MaximumProfileTable.java TTFSubsetter.java
Author: lehmi
Date: Sun Jul 2 08:16:56 2023
New Revision: 1910736
URL: http://svn.apache.org/viewvc?rev=1910736&view=rev
Log:
PDFBOX-5631: added support for version 0.5 of MaximumProfileTable with a reduced amount of values
Modified:
pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/MaximumProfileTable.java
pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/TTFSubsetter.java
Modified: pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/MaximumProfileTable.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/MaximumProfileTable.java?rev=1910736&r1=1910735&r2=1910736&view=diff
==============================================================================
--- pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/MaximumProfileTable.java (original)
+++ pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/MaximumProfileTable.java Sun Jul 2 08:16:56 2023
@@ -274,19 +274,22 @@ public class MaximumProfileTable extends
{
version = data.read32Fixed();
numGlyphs = data.readUnsignedShort();
- maxPoints = data.readUnsignedShort();
- maxContours = data.readUnsignedShort();
- maxCompositePoints = data.readUnsignedShort();
- maxCompositeContours = data.readUnsignedShort();
- maxZones = data.readUnsignedShort();
- maxTwilightPoints = data.readUnsignedShort();
- maxStorage = data.readUnsignedShort();
- maxFunctionDefs = data.readUnsignedShort();
- maxInstructionDefs = data.readUnsignedShort();
- maxStackElements = data.readUnsignedShort();
- maxSizeOfInstructions = data.readUnsignedShort();
- maxComponentElements = data.readUnsignedShort();
- maxComponentDepth = data.readUnsignedShort();
+ if (version >= 1.0f)
+ {
+ maxPoints = data.readUnsignedShort();
+ maxContours = data.readUnsignedShort();
+ maxCompositePoints = data.readUnsignedShort();
+ maxCompositeContours = data.readUnsignedShort();
+ maxZones = data.readUnsignedShort();
+ maxTwilightPoints = data.readUnsignedShort();
+ maxStorage = data.readUnsignedShort();
+ maxFunctionDefs = data.readUnsignedShort();
+ maxInstructionDefs = data.readUnsignedShort();
+ maxStackElements = data.readUnsignedShort();
+ maxSizeOfInstructions = data.readUnsignedShort();
+ maxComponentElements = data.readUnsignedShort();
+ maxComponentDepth = data.readUnsignedShort();
+ }
initialized = true;
}
}
Modified: pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/TTFSubsetter.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/TTFSubsetter.java?rev=1910736&r1=1910735&r2=1910736&view=diff
==============================================================================
--- pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/TTFSubsetter.java (original)
+++ pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/TTFSubsetter.java Sun Jul 2 08:16:56 2023
@@ -380,20 +380,22 @@ public final class TTFSubsetter
MaximumProfileTable p = ttf.getMaximumProfile();
writeFixed(out, 1.0);
writeUint16(out, glyphIds.size());
- writeUint16(out, p.getMaxPoints());
- writeUint16(out, p.getMaxContours());
- writeUint16(out, p.getMaxCompositePoints());
- writeUint16(out, p.getMaxCompositeContours());
- writeUint16(out, p.getMaxZones());
- writeUint16(out, p.getMaxTwilightPoints());
- writeUint16(out, p.getMaxStorage());
- writeUint16(out, p.getMaxFunctionDefs());
- writeUint16(out, p.getMaxInstructionDefs());
- writeUint16(out, p.getMaxStackElements());
- writeUint16(out, p.getMaxSizeOfInstructions());
- writeUint16(out, p.getMaxComponentElements());
- writeUint16(out, p.getMaxComponentDepth());
-
+ if (p.getVersion() >= 1.0f)
+ {
+ writeUint16(out, p.getMaxPoints());
+ writeUint16(out, p.getMaxContours());
+ writeUint16(out, p.getMaxCompositePoints());
+ writeUint16(out, p.getMaxCompositeContours());
+ writeUint16(out, p.getMaxZones());
+ writeUint16(out, p.getMaxTwilightPoints());
+ writeUint16(out, p.getMaxStorage());
+ writeUint16(out, p.getMaxFunctionDefs());
+ writeUint16(out, p.getMaxInstructionDefs());
+ writeUint16(out, p.getMaxStackElements());
+ writeUint16(out, p.getMaxSizeOfInstructions());
+ writeUint16(out, p.getMaxComponentElements());
+ writeUint16(out, p.getMaxComponentDepth());
+ }
out.flush();
return bos.toByteArray();
}