On 17.07.2007 11:36:42 Vincent Hennebert wrote: > Hi Adrian, > > I'm not really a specialist of the font handling stuff in FOP, but > having worked a bit in this area I can drop a few ideas (and ask a few > naive questions), in the hope they will be useful. > > > > In the process of looking at this bug > > (http://issues.apache.org/bugzilla/show_bug.cgi?id=42861) I came to the > > conclusion that I´m not really happy with the current font handling > > implementation. There is quite a bit of duplicated effort between the > > renderers with regards to font configuration. > > Can you give some examples? Not that I don't believe you, just to have > some concrete things to discuss about. For example, IIRC, in PDFFactory > there is some code to read the font stream for embedding it. I guess > there is about the same code in the PS renderer for embedding TrueType > fonts. That job should really be deferred to the font library which > would directly provide the stream to those renderers that need it. Is > that what you're thinking of? > > > > I would very much like to see a shared ¨FontSource¨ implementation (e.g. > > both the Postscript and PDF renderers could make use of a shared > > Base14FontSource and CustomFontSource) instead of having their own > > separate configurations. Any new implementation would of course > > What would a FontSource exactly correspond to? What would be the > different kinds of FontSources?
Links to my posts on this matter back in 2003: http://wiki.apache.org/xmlgraphics-fop/FOPFontSubsystemDesign http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-dev/200311.mbox/[EMAIL PROTECTED] http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-dev/200311.mbox/[EMAIL PROTECTED] (the third link contains a list of those FontSources but it's incomplete now that we have AFP, too.) > Would a Base14FontSource really make > sense? I mean, base14 fonts are PDF- (and, to a certain extent, PS-) > specific. Does a PDF renderer really need to know that it's manipulating > a base14 font? Isn't it just enough to know whether the font should be > embedded or not? No, in the case of PDF, for example, there's a difference in handling between the base 14 fonts and a normal Type 1 font (see PDFFactory.makeFont()). Base 14 fonts don't have a font descriptor. In PostScript, it's the same although you don't have to define the base 14 font at all, just use it. > Jeremias has been having some ideas regarding font handling for some > time. You can probably find some of them by looking at the archives [1]. > I hope he'll have time to speak up but, if I remember well, he wants to > group fonts by kinds: Type1 fonts, TrueType fonts, AFP fonts, AWT fonts, > SVG fonts, etc. Each kind would be usable by one or more renderers; for > example the PDF renderer could use Type1, TrueType and AWT fonts > (although it would not be possible to embed the latter). > > I think this all makes sense. Ideally we would define a common API that > would be used by the renderers and hide as much as possible of the > actual font manipulation. The renderers would keep only their format's > specific code (e.g., creating a PDF font object). Yep, that's basically the idea. The layout engine still just needs a general interface where it can access the font metrics and the available glyphs of a font. Only the renderer has to work with the format-specific details. Of course, the renderer more or less defines which font sources can be used for a rendering run, although that statement is a little difficult to maintain if you render to the intermediate format or if you want to render a document to two different formats simultaneously (ex. PDF for archiving and PS for print). Breaking this down, the layout engine needs a set of font sources it can work with. > > > (initially at least) remain backwards compatible with existing FOP font > > configurations. I believe these ideas were spoken about a while ago and > > I do not think it would be too much work and it should simplify font > > configuration somewhat and should be more efficient in embedded > > implementations that make use of more than one renderer. Its probably a > > bit late in the day to make the 0.94 release, but in the longer term > > does anybody have any initial thoughts on this proposal? > > I hope those few ideas will give you some things to think about. Anyway, > I think there's still quite a bit of work to do in this area, even if > the auto-detection stuff was a big step forward. > > Thanks for looking into this, > Vincent > > > [1] See, among others, the first thread about FOrayFont (hem, and please > don't pay attention to the flame war!) > http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-dev/200506.mbox/[EMAIL > PROTECTED] Jeremias Maerki