I'm considering removing the "character" area tree object and instead map an fo:character to a normal text area with one word child. fo:characters are rarely used so this doesn't add much to the memory consumption of the area tree but reduces the complexity (or code duplication) of the text rendering code in the renderers a lot.
There are a few properties specific to fo:character which could lead you to think that a character area tree object might be necessary. But the non-inherited supress-at-line-break and treat-as-word-space, for example, are only used by the layout engine, not by the renderer. The two inherited properties glyph-orientation-horizontal|-vertical actually apply to any text node because (as Manuel pointed out) they are all converted to fo:character nodes. Of course, we don't really do that, but this means that the effect of these last two properties have to be taken over into the area tree in any case (explicit fo:character or not). Does anybody see a problem with removing the character area tree object? Jeremias Maerki