In the long words, try inserting a zero-width space character between the characters where a break is allowed.
-
You can use XSLT to insert a zero-width space between every character. Here is one way to do it: http://groups.yahoo.com/neo/groups/XSL-FO/conversations/topics/1177.
-
Here is a mailing list thread where various approaches to the problem are discussed: http://www.stylusstudio.com/xsllist/200201/post80920.html.
-
The SourceForge DocBook stylesheets includes a template for breaking up long URLs in FO output; see http://www.sagehill.net/docbookxsl/Ulinks.html#BreakLongUrls. The template (
hyphenate-url
) is in xref.xsl.