You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ss...@apache.org on 2020/01/14 12:21:22 UTC
svn commit: r1872774 - in /xmlgraphics/fop/trunk/fop-core/src:
main/java/org/apache/fop/fonts/truetype/OpenFont.java
test/java/org/apache/fop/fonts/truetype/TTFFileTestCase.java
Author: ssteiner
Date: Tue Jan 14 12:21:21 2020
New Revision: 1872774
URL: http://svn.apache.org/viewvc?rev=1872774&view=rev
Log:
FOP-2902: Ignore TTF reserved index range
Modified:
xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OpenFont.java
xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/TTFFileTestCase.java
Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OpenFont.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OpenFont.java?rev=1872774&r1=1872773&r2=1872774&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OpenFont.java (original)
+++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OpenFont.java Tue Jan 14 12:21:21 2020
@@ -1406,7 +1406,7 @@ public abstract class OpenFont {
for (int i = 0; i < l; i++) {
mtxTab[i].setIndex(fontFile.readTTFUShort());
- if (mtxTab[i].getIndex() > numGlyphStrings) {
+ if (mtxTab[i].getIndex() > numGlyphStrings && mtxTab[i].getIndex() <= 32767) {
numGlyphStrings = mtxTab[i].getIndex();
}
Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/TTFFileTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/TTFFileTestCase.java?rev=1872774&r1=1872773&r2=1872774&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/TTFFileTestCase.java (original)
+++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/TTFFileTestCase.java Tue Jan 14 12:21:21 2020
@@ -19,9 +19,13 @@
package org.apache.fop.fonts.truetype;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -572,4 +576,23 @@ public class TTFFileTestCase {
assertEquals(dejavuTTFFile.getBBox(1)[0], 49);
assertEquals(dejavuTTFFile.getBBox(2330).length, 4);
}
+
+ @Test
+ public void testReservedIndex() throws IOException {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ DataOutputStream dos = new DataOutputStream(bos);
+ dos.write(0);
+ dos.write(2);
+ for (int i = 0; i < 31; i++) {
+ dos.write(0);
+ }
+ dos.write(1); //number of glyphs
+ dos.writeShort(32768); //index value
+ TTFFile ttfFile = new TTFFile();
+ ttfFile.dirTabs = new HashMap<OFTableName, OFDirTabEntry>();
+ ttfFile.fontFile = new FontFileReader(new ByteArrayInputStream(bos.toByteArray()));
+ ttfFile.mtxTab = new OFMtxEntry[1];
+ ttfFile.mtxTab[0] = new OFMtxEntry();
+ ttfFile.readPostScript();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org