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

Reply via email to