o FOP usa o SAX para gerar um PDF e quando ele encontra algum caracter como & ele gera a seguinte exceção:
org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
quando passo para ele a sequência “& amp;” (coloquei espaço para o fórum não transformar a sequência em &) que o AbiWord gera ele mostra no PDF o caracter & normalmente.
a documentação diz que os caracteres especiais (non-ASCII) são baseados na referência do HTML4. Por isso ao entrar com o caracter “& amp;” (unido) ao retornar a previsão da minha mensagem o navegador mostrava o caracter & normalmente.
Vou ter que pegar todos os dados do banco, percorrer cada um e transformar o que for preciso (vai comer uma performance braba).
PS: o ABIWord faz essa conversão ao perceber algum caracter especial.
use & #160; (com o & junto com o #) para representar espaços. Infelizmente o plug-in do AbiWord não usa esse recurso e por mais espaços que você dê somente um será reconhecido (como em HTML).