Parser HTML para sintetizador de voz

Boa noite pessoal,
Meu TCC é referente a um protótipo de navegador que sintetizará o conteúdo das páginas HTML em fala, pois bem, um de meus problemas é não conseguir “parsear” corretamente as páginas HTML.
Estou utilizando ParserDelegator (javax.swing.text.html), consegui separar o texto dos links por exemplo, porém, quando o link possui um caractere “especial” (ç, ã, é…) ele não é reconhecido, ou seja, terei problemas para sintetizá-lo em voz.

OBS:

  1. passo true no parâmetro ignoreCharset do método parse do ParserDelegator, caso contrário não há cristo que faça NÃO lançar exception.
  2. Caso eu passe um InputStreamReader (lendo uma URL diredo da internet) em ALGUMAS POUCAS páginas funciona corretamente.
  3. Já olhei todos os tópicos do fórum a respeito, mas ninguém com esse problema.

Alguém me ajuda?
Obrigado.