git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1311103 13f79535-47bb-0310-9956-ffa450edef68pull/26/head
@@ -0,0 +1,62 @@ | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||
* contributor license agreements. See the NOTICE file distributed with this | |||
* work for additional information regarding copyright ownership. The ASF | |||
* licenses this file to You under the Apache License, Version 2.0 (the | |||
* "License"); you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
/* $Id$ */ | |||
package embedding; | |||
import java.awt.Font; | |||
import java.io.FileOutputStream; | |||
import java.io.OutputStream; | |||
import org.apache.avalon.framework.configuration.Configuration; | |||
import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder; | |||
import org.apache.fop.fonts.FontInfo; | |||
import org.apache.fop.render.ps.NativeTextHandler; | |||
import org.apache.fop.svg.PDFDocumentGraphics2DConfigurator; | |||
import org.apache.xmlgraphics.java2d.GraphicContext; | |||
import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D; | |||
public class ExampleEPS { | |||
/** | |||
* @param args | |||
*/ | |||
public static void main(String[] args) { | |||
try { | |||
String configFile = "examples/fop-eps.xconf"; | |||
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder(); | |||
Configuration c = cfgBuilder.buildFromFile(configFile); | |||
FontInfo fontInfo = PDFDocumentGraphics2DConfigurator.createFontInfo(c, false); | |||
OutputStream out = new FileOutputStream("example_eps.eps"); | |||
EPSDocumentGraphics2D g2d = new EPSDocumentGraphics2D(false); | |||
g2d.setGraphicContext(new GraphicContext()); | |||
g2d.setCustomTextHandler(new NativeTextHandler(g2d, fontInfo)); | |||
g2d.setupDocument(out, 200, 100); | |||
g2d.setFont(new Font("Arial", Font.PLAIN, 12)); | |||
g2d.drawString("Hi there Arial", 50, 50); | |||
g2d.finish(); | |||
out.close(); | |||
} catch (Exception e) { | |||
e.printStackTrace(); | |||
} | |||
} | |||
} |
@@ -0,0 +1,52 @@ | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one or more | |||
* contributor license agreements. See the NOTICE file distributed with this | |||
* work for additional information regarding copyright ownership. The ASF | |||
* licenses this file to You under the Apache License, Version 2.0 (the | |||
* "License"); you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
/* $Id$ */ | |||
package embedding; | |||
import java.awt.Font; | |||
import java.io.FileOutputStream; | |||
import java.io.OutputStream; | |||
import org.apache.fop.render.ps.NativeTextHandler; | |||
import org.apache.xmlgraphics.java2d.GraphicContext; | |||
import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D; | |||
public class ExampleEPSSimple { | |||
/** | |||
* @param args | |||
*/ | |||
public static void main(String[] args) { | |||
try { | |||
OutputStream out = new FileOutputStream("example_eps_simple.eps"); | |||
EPSDocumentGraphics2D g2d = new EPSDocumentGraphics2D(false); | |||
g2d.setGraphicContext(new GraphicContext()); | |||
g2d.setCustomTextHandler(new NativeTextHandler(g2d, null)); | |||
g2d.setupDocument(out, 200, 100); | |||
g2d.setFont(new Font("Helvetica", Font.PLAIN, 12)); | |||
g2d.drawString("Hi there Helvetica", 50, 50); | |||
g2d.finish(); | |||
out.close(); | |||
} catch (Exception e) { | |||
e.printStackTrace(); | |||
} | |||
} | |||
} |
@@ -474,7 +474,7 @@ public class FontInfo { | |||
FontTriplet key = null; | |||
String f = null; | |||
int newWeight = weight; | |||
if (newWeight <= 400) { | |||
if (newWeight < 400) { | |||
while (f == null && newWeight > 100) { | |||
newWeight -= 100; | |||
key = createFontKey(family, style, newWeight); | |||
@@ -486,7 +486,7 @@ public class FontInfo { | |||
key = createFontKey(family, style, newWeight); | |||
f = getInternalFontKey(key); | |||
} | |||
} else if (newWeight == 500) { | |||
} else if (newWeight == 400 || newWeight == 500) { | |||
key = createFontKey(family, style, 400); | |||
f = getInternalFontKey(key); | |||
} else if (newWeight > 500) { |
@@ -166,7 +166,7 @@ public class NativeTextHandler implements PSTextHandler { | |||
if ((currentFontName != this.font.getFontName()) | |||
|| (currentFontSize != this.font.getFontSize())) { | |||
PSGenerator gen = getPSGenerator(); | |||
gen.writeln(this.font.getFontName() + " " | |||
gen.writeln("/" + this.font.getFontTriplet().getName() + " " | |||
+ gen.formatDouble(font.getFontSize() / 1000f) + " F"); | |||
currentFontName = this.font.getFontName(); | |||
currentFontSize = this.font.getFontSize(); |
@@ -62,6 +62,9 @@ | |||
documents. Example: the fix of marks layering will be such a case when it's done. | |||
--> | |||
<release version="FOP Trunk" date="TBD"> | |||
<action context="Code" dev="GA" type="fix" fixes-bug="52966" due-to="Lusi Bernardo"> | |||
How to use native text with EPSDocumentGraphics2D. | |||
</action> | |||
<action context="Code" dev="GA" type="fix" fixes-bug="51599" due-to="Paul Huemer"> | |||
Allow https scheme URI for PDF external action target. | |||
</action> |