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;
     }
 
 }


Reply via email to