package org.freehep.graphicsio.cgm.test; import java.awt.Color; import java.awt.geom.Point2D; import java.io.FileOutputStream; import java.io.IOException; import java.util.Vector; import org.freehep.graphicsio.cgm.BeginMetafile; import org.freehep.graphicsio.cgm.BeginPicture; import org.freehep.graphicsio.cgm.BeginPictureBody; import org.freehep.graphicsio.cgm.CGMOutputStream; import org.freehep.graphicsio.cgm.CGMTag; import org.freehep.graphicsio.cgm.CharacterHeight; import org.freehep.graphicsio.cgm.CharacterOrientation; import org.freehep.graphicsio.cgm.ColorSelectionMode; import org.freehep.graphicsio.cgm.EndMetafile; import org.freehep.graphicsio.cgm.EndPicture; import org.freehep.graphicsio.cgm.FontList; import org.freehep.graphicsio.cgm.MetafileDescription; import org.freehep.graphicsio.cgm.MetafileElementList; import org.freehep.graphicsio.cgm.MetafileVersion; import org.freehep.graphicsio.cgm.Text; import org.freehep.graphicsio.cgm.TextColor; import org.freehep.graphicsio.cgm.TextFontIndex; import org.freehep.graphicsio.cgm.VDCExtent; public class TextTest { public static void main(String[] args) throws IOException { Vector cgm = new Vector(); cgm.add(new BeginMetafile("TEXT")); cgm.add(new MetafileVersion(1)); cgm.add(new MetafileDescription("FreeHEP/VG-CGM-1.0")); cgm.add(new MetafileElementList(MetafileElementList.DRAWING_PLUS_SET)); cgm.add(new FontList(new String[] { "Courier", "Courier-Bold", "Courier-Italic", "Courier-BoldItalic", "Helvetica", "Helvetica-Bold", "Helvetica-Italic", "Helvetica-BoldItalic", "TimesRoman", "TimesRoman-Bold", "TimesRoman-Italic", "TimesRoman-BoldItalic", "Symbol", "ZapfDingbats" })); cgm.add(new BeginPicture("TEXT")); cgm.add(new ColorSelectionMode(ColorSelectionMode.DIRECT)); cgm.add(new VDCExtent(new Point2D.Double(0, 6000), new Point2D.Double( 6000, 0))); cgm.add(new BeginPictureBody()); cgm.add(new TextColor(Color.red)); cgm.add(new CharacterHeight(250)); cgm.add(new CharacterOrientation()); cgm.add(new TextFontIndex(1)); cgm.add(new Text(new Point2D.Double(100, 300), "Courier")); cgm.add(new TextFontIndex(2)); cgm.add(new Text(new Point2D.Double(100, 600), "Courier-Bold")); cgm.add(new TextFontIndex(3)); cgm.add(new Text(new Point2D.Double(100, 900), "Courier-Italic")); cgm.add(new TextFontIndex(4)); cgm.add(new Text(new Point2D.Double(100, 1200), "Courier-BoldItalic")); cgm.add(new TextFontIndex(5)); cgm.add(new Text(new Point2D.Double(100, 1500), "Helvetica")); cgm.add(new TextFontIndex(6)); cgm.add(new Text(new Point2D.Double(100, 1800), "Helvetica-Bold")); cgm.add(new TextFontIndex(7)); cgm.add(new Text(new Point2D.Double(100, 2100), "Helvetica-Italic")); cgm.add(new TextFontIndex(8)); cgm .add(new Text(new Point2D.Double(100, 2400), "Helvetica-BoldItalic")); cgm.add(new TextFontIndex(9)); cgm.add(new Text(new Point2D.Double(100, 2700), "TimesRoman")); cgm.add(new TextFontIndex(10)); cgm.add(new Text(new Point2D.Double(100, 3000), "TimesRoman-Bold")); cgm.add(new TextFontIndex(11)); cgm.add(new Text(new Point2D.Double(100, 3300), "TimesRoman-Italic")); cgm.add(new TextFontIndex(12)); cgm .add(new Text(new Point2D.Double(100, 3600), "TimesRoman-BoldItalic")); cgm.add(new TextFontIndex(13)); cgm.add(new Text(new Point2D.Double(100, 3900), "Symbol")); cgm.add(new TextFontIndex(14)); cgm.add(new Text(new Point2D.Double(100, 4200), "ZapfDingbats")); cgm.add(new EndPicture()); cgm.add(new EndMetafile()); CGMOutputStream out = new CGMOutputStream(new FileOutputStream( "TextTest.cgm")); for (int i = 0; i < cgm.size(); i++) { out.writeTag((CGMTag) cgm.get(i)); } out.close(); } }