Browse Source

FOP-2759: NPE converting OTF to Type1

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1816422 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-2_3
Simon Steiner 6 years ago
parent
commit
d086a61db2

+ 1
- 1
fop-core/src/main/java/org/apache/fop/fonts/truetype/OFFontLoader.java View File

@@ -182,7 +182,7 @@ public class OFFontLoader extends FontLoader {
returnFont.setWeight(otf.getWeightClass());
if (isCid) {
if (otf instanceof OTFFile) {
if (((OTFFile) otf).isType1() && embeddingMode == EmbeddingMode.SUBSET) {
if (((OTFFile) otf).isType1() && embeddingMode == EmbeddingMode.SUBSET && !embedAsType1) {
multiFont.setFontType(FontType.TYPE1C);
copyGlyphMetricsSingleByte(otf);
}

+ 13
- 2
fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFToType1TestCase.java View File

@@ -34,6 +34,7 @@ import org.apache.fop.fonts.CustomFont;
import org.apache.fop.fonts.EmbeddingMode;
import org.apache.fop.fonts.EncodingMode;
import org.apache.fop.fonts.FontLoader;
import org.apache.fop.fonts.FontType;
import org.apache.fop.fonts.FontUris;

public class OTFToType1TestCase {
@@ -47,13 +48,23 @@ public class OTFToType1TestCase {
Assert.assertEquals(t1.getFontName(), "AlexBrush-Regular.0");
}

@Test
public void testFontType() throws IOException {
CustomFont t1 = getRealFont("test/resources/fonts/otf/SourceSansProBold.otf");
Assert.assertEquals(t1.getFontType(), FontType.TYPE1);
}

private Type1Font getFont(String s) throws IOException {
InputStream is = ((CFFToType1Font)getRealFont(s)).getInputStreams().get(0);
return Type1Font.createWithPFB(is);
}

private CustomFont getRealFont(String s) throws IOException {
InternalResourceResolver rr = ResourceResolverFactory.createDefaultInternalResourceResolver(
new File(".").toURI());
CustomFont realFont = FontLoader.loadFont(new FontUris(new File(s).toURI(), null), null, true,
EmbeddingMode.SUBSET, EncodingMode.AUTO, true, true, rr, false, true);
realFont.mapChar('d');
InputStream is = ((CFFToType1Font)realFont).getInputStreams().get(0);
return Type1Font.createWithPFB(is);
return realFont;
}
}

Loading…
Cancel
Save