Author: danielwilson
Date: Sun Apr 11 02:36:10 2010
New Revision: 932829
URL: http://svn.apache.org/viewvc?rev=932829&view=rev
Log:
Refactor to make the awtFont available to extending (especially .Net)
applications.
PDFBOX-688
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java?rev=932829&r1=932828&r2=932829&view=diff
==============================================================================
---
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
(original)
+++
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
Sun Apr 11 02:36:10 2010
@@ -19,6 +19,7 @@ package org.apache.pdfbox.pdmodel.font;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
import java.awt.geom.Point2D;
import java.awt.geom.NoninvertibleTransformException;
@@ -28,6 +29,9 @@ import java.util.HashMap;
import org.apache.fontbox.afm.FontMetric;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
@@ -51,6 +55,12 @@ public abstract class PDSimpleFont exten
private float avgFontWidth = 0.0f;
+
+ /**
+ * Log instance.
+ */
+ private static final Log log = LogFactory.getLog(PDSimpleFont.class);
+
/**
* Constructor.
*/
@@ -70,12 +80,25 @@ public abstract class PDSimpleFont exten
}
/**
+ * Looks up, creates, returns the AWT Font.
+ */
+ public Font getawtFont() throws IOException
+ {
+ log.error("Not yet implemented:" + getClass().getName() );
+ return null;
+ }
+
+ /**
* {...@inheritdoc}
*/
public void drawString( String string, Graphics g, float fontSize,
AffineTransform at, float x, float y ) throws IOException
{
- System.err.println( "Not yet implemented:" + getClass().getName() );
+ Font _awtFont = getawtFont();
+
+ Graphics2D g2d = (Graphics2D)g;
+ g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON );
+ writeFont(g2d, at, _awtFont, fontSize, x, y, string);
}
/**
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java?rev=932829&r1=932828&r2=932829&view=diff
==============================================================================
---
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
(original)
+++
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Sun Apr 11 02:36:10 2010
@@ -44,7 +44,6 @@ import java.awt.Font;
import java.awt.FontFormatException;
import java.awt.Graphics;
import java.awt.Graphics2D;
-import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
import java.util.ArrayList;
@@ -356,13 +355,9 @@ public class PDTrueTypeFont extends PDSi
}
}
- /**
- * {...@inheritdoc}
- */
- public void drawString( String string, Graphics g, float fontSize,
- AffineTransform at, float x, float y ) throws IOException
+ public Font getawtFont() throws IOException
{
- PDFontDescriptorDictionary fd =
(PDFontDescriptorDictionary)getFontDescriptor();
+ PDFontDescriptorDictionary fd =
(PDFontDescriptorDictionary)getFontDescriptor();
if( awtFont == null )
{
PDStream ff2Stream = fd.getFontFile2();
@@ -415,10 +410,7 @@ public class PDTrueTypeFont extends PDSi
log.info("Using font "+awtFont.getName()+ " instead");
}
}
-
- Graphics2D g2d = (Graphics2D)g;
- g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON );
- writeFont(g2d, at, awtFont, fontSize, x, y, string);
+ return awtFont;
}
private InputStream getExternalTTFData() throws IOException
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java?rev=932829&r1=932828&r2=932829&view=diff
==============================================================================
---
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
(original)
+++
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1CFont.java
Sun Apr 11 02:36:10 2010
@@ -21,7 +21,6 @@ import java.awt.Font;
import java.awt.FontFormatException;
import java.awt.Graphics;
import java.awt.Graphics2D;
-import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -285,14 +284,12 @@ public class PDType1CFont extends PDSimp
/**
* {...@inheritdoc}
- */
- public void drawString( String string, Graphics g, float fontSize,
AffineTransform at, float x, float y )
- throws IOException
+ */
+ public Font getawtFont() throws IOException
{
- Graphics2D g2d = (Graphics2D)g;
- g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
- writeFont(g2d, at, this.awtFont, fontSize, x, y, string);
+ return awtFont;
}
+
private void load() throws IOException
{
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java?rev=932829&r1=932828&r2=932829&view=diff
==============================================================================
---
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
(original)
+++
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java
Sun Apr 11 02:36:10 2010
@@ -20,7 +20,6 @@ import java.awt.Font;
import java.awt.FontFormatException;
import java.awt.Graphics;
import java.awt.Graphics2D;
-import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
import java.io.IOException;
import java.util.HashMap;
@@ -189,8 +188,7 @@ public class PDType1Font extends PDSimpl
/**
* {...@inheritdoc}
*/
- public void drawString( String string, Graphics g, float fontSize,
- AffineTransform at, float x, float y ) throws IOException
+ public Font getawtFont() throws IOException
{
if( awtFont == null )
{
@@ -243,9 +241,7 @@ public class PDType1Font extends PDSimpl
log.info("Using font "+awtFont.getName()+ " instead");
}
}
- Graphics2D g2d = (Graphics2D)g;
- g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON );
- writeFont(g2d, at, awtFont, fontSize, x, y, string);
+ return awtFont;
}
}