Author: ssteiner
Date: Wed Mar 8 13:58:08 2017
New Revision: 1785969
URL: http://svn.apache.org/viewvc?rev=1785969&view=rev
Log:
FOP-2697: Adobe Reader error with Adobe Kozuka Mincho font
Modified:
xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1785969&r1=1785968&r2=1785969&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original)
+++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Wed Mar 8 13:58:08 2017
@@ -172,7 +172,7 @@ public class OTFSubSetFile extends OTFFi
writeBytes(cffReader.getHeader());
//Name Index
- writeIndex(Arrays.asList(embeddedName.getBytes()));
+ writeIndex(Arrays.asList(embedFontName.getBytes()));
//Keep offset of the topDICT so it can be updated once all data has been written
int topDictOffset = currentPos;
Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java?rev=1785969&r1=1785968&r2=1785969&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java (original)
+++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Wed Mar 8 13:58:08 2017
@@ -37,6 +37,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.apache.fontbox.cff.CFFFont;
+import org.apache.fontbox.cff.CFFParser;
import org.apache.fop.fonts.cff.CFFDataReader;
import org.apache.fop.fonts.cff.CFFDataReader.CFFIndexData;
@@ -435,8 +436,8 @@ public class OTFSubSetFileTestCase exten
@Test
public void testFDSelect() throws IOException {
- Assert.assertEquals(getSubset(1).length, 39);
- Assert.assertEquals(getSubset(2).length, 46);
+ Assert.assertEquals(getSubset(1).length, 41);
+ Assert.assertEquals(getSubset(2).length, 48);
}
private byte[] getSubset(final int opLen) throws IOException {
@@ -468,4 +469,19 @@ public class OTFSubSetFileTestCase exten
otfSubSetFile.readFont(reader, "StandardOpenType", header, new HashMap<Integer, Integer>());
return otfSubSetFile.getFontSubset();
}
+
+ @Test
+ public void testOffsets() throws IOException {
+ Map<Integer, Integer> glyphs = new HashMap<Integer, Integer>();
+ for (int i = 0; i < 256; i++) {
+ glyphs.put(i, i);
+ }
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < 2048; i++) {
+ sb.append("SourceSansProBold");
+ }
+ OTFSubSetFile otfSubSetFile = new OTFSubSetFile();
+ otfSubSetFile.readFont(sourceSansReader, sb.toString(), null, glyphs);
+ new CFFParser().parse(otfSubSetFile.getFontSubset());
+ }
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.