Fonte Flying Saucer para caracteres unicode

Estou gerando PDF usando o plugin de exportação Grails (basicamente, Flying Saucer). Minha página GSP é uma página UTF-8 (ou pelo menos propriedades estão mostrando que é UTF-8, também no início da página GSP há um<?xml version="1.0" encoding="UTF-8"?> directiva). No primeiro gerado PDF corretamente continha caracteres trema "äöüõ", mas caracteres cirílicos estavam faltando em PDF (não renderizado em tudo). Então eu mudei meu arquivo css como descrito na documentação, adicionando o seguinte:

@font-face {
    src: url(ARIALUNI.TTF);
    -fs-pdf-font-embed: embed;
    -fs-pdf-font-encoding: UTF-8;
}
body {
      font-family: "Arial Unicode MS", Arial, sans-serif;
}

ArialUni.ttf também é implantado no servidor. Mas agora estou recebendo tanto caracteres trema e caracteres cirílicos como caixas. Se eu estiver alterando o valor da propriedade -fs-pdf-encoding para Identity-H, os caracteres umlaut serão renderizados corretamente, mas os caracteres cirílicos serão renderizados como pontos de interrogação.

Alguma idéia de qual fonte pode ser usada para renderizar corretamente caracteres trema e cirílico? Ou pode ser que meu CSS esteja de alguma forma errado? Qualquer sugestão seria muito apreciada.

Atualização 1: Eu também tentei seguir css (que foi gerado porhttp://fontface.codeandmore.com/):

@font-face {
    font-family: 'ArialUnicodeMS';
    src: url('arialuni.ttf');
    src: url('arialuni.eot?#iefix') format('embedded-opentype'),
        url('arialuni.woff') format('woff'),
        url('arialuni.ttf') format('truetype'),
        url('arialuni.svg#arialuni') format('svg');
    font-weight: normal;
    font-style: normal;
    -fs-pdf-font-embed: embed;
    -fs-pdf-font-encoding: UTF-8;
}

body {
    font-family:'ArialUnicodeMS';
}

eu já adicionei<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> Eu também estava tentando executar grails com -Dfile.encoding = UTF-8, como foi mencionado aqui:http://grails.1312388.n4.nabble.com/PDF-plugin-Having-problems-with-instalation-td2297840.html, mas nada ajuda. Caracteres cirílicos não são mostrados. Alguma outra ideia, qual pode ser o problema?

*BTW:* Estou empacotando meu PDF como zip e enviando de volta para o navegador na resposta assim:

response.setHeader "Content-disposition", "attachment; filename=test.zip"
response.setHeader "Content-Encoding", "UTF-8"
response.contentType = 'application/zip'
response.outputStream << zip
response.outputStream.flush()
response.outputStream.close()

Eu preciso de alguma forma considerar a codificação enquanto zipping ????, que eu gosto disso:

public static byte[] zipBytes(Map<String, ByteArrayOutputStream> fileNameToByteContentMap) throws IOException {
        ByteArrayOutputStream zipBaos = new ByteArrayOutputStream();
        ZipOutputStream zos = new ZipOutputStream(zipBaos);
        fileNameToByteContentMap.eachWithIndex {String fileName, ByteArrayOutputStream baos, i  ->
            byte[] content = baos.buf
            ZipEntry entry = new ZipEntry(fileName)
            entry.setSize(content.length)
            zos.putNextEntry(entry)
            zos.write(content)
            zos.closeEntry()
        }
        zos.close()
        return zipBaos.toByteArray();
    }

questionAnswers(2)

yourAnswerToTheQuestion