[seam-commits] Seam SVN: r9872 - trunk/src/pdf/org/jboss/seam/pdf/ui.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Tue Jan 6 13:26:29 EST 2009


Author: norman.richards at jboss.com
Date: 2009-01-06 13:26:29 -0500 (Tue, 06 Jan 2009)
New Revision: 9872

Modified:
   trunk/src/pdf/org/jboss/seam/pdf/ui/UIChart.java
Log:
JBSEAM-2791

Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIChart.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIChart.java	2009-01-06 18:18:20 UTC (rev 9871)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIChart.java	2009-01-06 18:26:29 UTC (rev 9872)
@@ -27,6 +27,7 @@
 import com.lowagie.text.pdf.PdfContentByte;
 import com.lowagie.text.pdf.PdfTemplate;
 import com.lowagie.text.pdf.PdfWriter;
+import com.lowagie.text.pdf.AsianFontMapper;
 
 public abstract class UIChart extends ITextComponent
 {
@@ -274,28 +275,34 @@
       try
       {
          UIDocument doc = (UIDocument) findITextParent(getParent(), UIDocument.class);
-         if (doc != null)
-         {
+         if (doc != null) {
             PdfWriter writer = (PdfWriter) doc.getWriter();
             PdfContentByte cb = writer.getDirectContent();
             PdfTemplate tp = cb.createTemplate(getWidth(), getHeight());
-            Graphics2D g2 = tp.createGraphics(getWidth(), getHeight(), new DefaultFontMapper());
+
+
+	    UIFont font = (UIFont) findITextParent(this, UIFont.class);
+
+	    DefaultFontMapper fontMapper;
+	    if (font == null) { 
+		fontMapper = new DefaultFontMapper();
+	    } else {
+		fontMapper = new AsianFontMapper(font.getName(), font.getEncoding());
+	    }
+
+	    Graphics2D g2 = tp.createGraphics(getWidth(), getHeight(), fontMapper);
             chart.draw(g2, new Rectangle2D.Double(0, 0, getWidth(), getHeight()));
             g2.dispose();
 
             image = new ImgTemplate(tp);
-         }
-         else
-         {
+         } else {
             ByteArrayOutputStream stream = new ByteArrayOutputStream();
             ChartUtilities.writeChartAsJPEG(stream, chart, getWidth(), getHeight());
 
             imageData = stream.toByteArray();
             stream.close();
          }
-      }
-      catch (Exception e)
-      {
+      } catch (Exception e) {
          throw new RuntimeException(e);
       }
    }




More information about the seam-commits mailing list