// Copyright 2001-2005 FreeHEP
package org.freehep.graphicsio.ps.test;
import java.awt.Font;
import java.awt.font.FontRenderContext;
import java.awt.geom.AffineTransform;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import org.freehep.graphics2d.font.CharTable;
import org.freehep.graphics2d.font.Lookup;
import org.freehep.graphicsio.font.FontIncluder;
import org.freehep.graphicsio.ps.PSFontEmbedder;
/**
* TestClass for PSFontEmbedder.
*
* @author Sami Kama
* @version $Id: TestPSFontEmbedder.java,v 1.3 2002/07/20 00:39:25 tonyj Exp $
*/
public class TestPSFontEmbedder {
protected PrintStream os;
public void openFile() throws IOException {
this.os = new PrintStream(new FileOutputStream("FontEmbedderPSTest.ps"));
}
public void writeFont() throws IOException {
CharTable table = Lookup.getInstance().getTable("STDLatin");
// System.out.println(table);
AffineTransform aff = new AffineTransform(1, 0, 0, -1, 0, 0);
FontRenderContext context = new FontRenderContext(aff, false, false);
// System.out.println(context);
// Font f = new Font("Lucida Sans Unicode", Font.PLAIN, 1000);
Font f = new Font("Arial", Font.PLAIN, 1000);
// System.out.println(f);
FontIncluder fe = new PSFontEmbedder(context, os);
// System.out.println(fe.getUnicode());
// System.out.println("start include font");
// ??????? fe.includeFont(f, table, "STDLatin");
fe.includeFont(f, table, "ExampleFont");
// System.out.println(fe.getNODefinedChars());
}
public void closeFile() throws IOException {
// ??????? os.println("\t/ExampleFont exch definefont pop");
os.println("/ExampleFont findfont 26 scalefont setfont");
os.println("66 72 moveto");
os.println("(ABC abc) show");
os.flush();
os.close();
}
public static void main(String[] args) throws IOException {
TestPSFontEmbedder test = new TestPSFontEmbedder();
test.openFile();
test.writeFont();
test.closeFile();
}
}