The current way that fonts are handled is hobbled by the fact that the Graphics2D is the class that PDFGraphics2D and SVGGraphics2D inherit from. One problem is that java.awt.Font can only instantiate fonts that the JVM knows about. What is needed is a call to tell both PDFGraphics2D and SVGGraphics2D which fonts to map each java.awt.Font to. There are a few problems that need to be solved: 1) When generating to PDF one needs a way to tell it to map TrueType fonts to metrically equivalent Type 1 fonts. ie when it sees a particlar java.awt.Font instance it should use Type 1 font XYZ in the output. Rather than the F1, F2,. etc sort of nomenclature that is used in FontSetup/FontInfo instead the mapping should be between particular java.awt.Font instances and some textually described font (eg "Helvetica" or something similar). This has to be callable to be set up in advance before some graphics library that only knows Graphics2D calls would be called. 2) When generating to a format that supports font lists (eg in CSS where if font a isn't available then try fonts b and then c) one needs a way to specify to generate a list of fonts in the output format. The problem is that the Graphics2D setFont only allows a single font to be currently specified. Well, I want to be able to call some other method and tell SVGGraphics2D (or whatever similar class that generates to other formats) in advance that when it sees a set to a particular java.awt.Font then it should look-up and find a list of fonts that will serve in its place in the target document that is being generated. The interface here would be the same as for what is described in the first problem above but there would be a list of fonts rather than a single font in the text that the java.awt.Font object got mapped to. 3) Some of the font family names that Java uses are unwise for general web page and CSS use. For example, on my machine running NT4 SP6a if I instantiate a font of type "sansserif" and style Font.ITALIC then the font- family name that Java assigns to it is "sansserif.italic". If one tries to instantiate a font of type "sansserif.italic" and give it style Font.ITALIC Java will literally default it to Arial because Java says that the font family "sansserif.italic" does not have an italic style. The "sansserif.italic" font family has its italic style assigned to PLAIN! As a result Batik will generate a style in a font-face tag that looks like: style="font-family:sansserif.italic; font-style:italic; font-weight:normal;" Its dumb to put styles in as part of the font family name. Downstream at some point some display device is going to say that it doesn't even have a font family of "sansserif.italic" and will default to some other font. Batik or FOP ought to provide a way for programmers to prevent this sort of nonsense from mucking things up at some later stage of processing. Font family names that get put into generated output files ought not to be made into some overly specific name just because Sun or Microsoft (not sure who to blame for this) defined a font family in this fashion. That information belongs with font-style. Its far more easy to start with "sansserif" and the italic as separate properties and look for a font family that puts italic in as part of its name than it is to go in the opposite direction. Doing it always in one direction for look-ups makes it easier and more consistent. Imagine one popped down a combo box on some interface, listed all font families, the user chose sansserif.italic, and then the user chose the italic property, and then the result was that the display software found that that font family used a totally different font. My point in mentioning SVGGraphics2D in this message is that PDFGraphics2D and SVGGraphics2D should receive the same enhancement in terms of what the added methods should look like. I even think that they should inherit from a base class that gets these methods (and perhaps supporting other classes to hold the data that gets passed to them) defined for them. Bottom line: We ought to define some common methods in PDFGraphics2D and SVGGraphics2D that will allow a programmer to use the same calls in Batik and FOP to handle fonts more intelligently. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]