1.) The "Extensible Markup Language 1.0" title (the one with a blue background) it not centered properly within the block. This is probably an issue within PDFRenderer.java renderText() function.
This may be due to unstripped spaces, see next point.
In any case, justified text seems to be broken. I can't even figure out *where* text justification is done.
2.) The first lines of text within each fo:block
incorrectly have a leading space appended to them. I'm looking at this one currently, it's a problem with
layoutmgr.TextLayoutManager and fo.flow.Block, not
related to the above.
That's probably in Block.handleWhiteSpace(), I think because bPrevWasLF starts with false. Ther's probably a superfluous trailing space as well, for a similar reason. Also, it seems that the current imlementation will collapse the two spaces between A and B A <fo:wrapper text-decoration="underline">B</fo:wrapper> but it shouldn't, there should be one space followed by an underlined space (it's in one of the spec errata).
BTW the entire whitespace handling is incredibly wasteful if text is intented with multiple spaces to the level of surrounding elements.
3.) The inline font-variant="small caps" for "Extensible Markup Language" in the Abstract section is not working. (However, I'm not trained in fonts at all--this may be very difficult to fix.)
Well, in the maintenance code this was hacked in FOText.layout(), it checked for the font-variant and fed runs of lowercase letters to with a smaller font and uppercased to further processing in LineArea.addText() (through addRealText()). It's not out of the question to do the same in HEAD. Of course, it would be even better to check whether the font understands the small caps variant natively and try to take advantage of this first (there is a reason small caps is a variant, rather than everybody emulating it itself using uppercase and an 80% sized font). This requires extending FontState or something like this.
Implementing small caps *efficiently*, well, this is probably a real challenge.
J.Pietschmann
