Fuente Flying Saucer para personajes Unicode

Estoy generando PDF utilizando el plugin de exportación Grails (básicamente, Flying Saucer). Mi página GSP es una página UTF-8 (o al menos las propiedades muestran que es UTF-8, también en el comienzo de la página GSP hay un<?xml version="1.0" encoding="UTF-8"?> directiva). Al principio, el PDF generado contenía correctamente los caracteres de diéresis "äöüõ", pero faltaban caracteres cirílicos en el PDF (no se procesaron en absoluto). Luego cambié mi archivo css como se describe en la documentación agregando lo siguiente:

@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 también se implementa en el servidor. Pero ahora estoy obteniendo tanto caracteres de diéresis como cirílicos como cuadros. Si estoy cambiando el valor de la propiedad -fs-pdf-encoding a Identity-H, entonces los caracteres de diéresis se representan correctamente, pero los caracteres cirílicos se representan como signos de interrogación.

¿Alguna idea de qué fuente se puede usar para representar correctamente tanto diéresis como caracteres cirílicos? ¿O puede ser que mi CSS está mal de alguna manera? Cualquier consejo sería muy apreciado.

Actualización 1: También he intentado seguir css (que fue generado 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';
}

he añadido<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> También estaba intentando ejecutar grails con -Dfile.encoding = UTF-8, como se mencionó aquí:http://grails.1312388.n4.nabble.com/PDF-plugin-Having-problems-with-instalation-td2297840.html, pero nada ayuda. Los caracteres cirílicos no se muestran en absoluto. ¿Alguna otra idea de cuál podría ser el problema?

*Por cierto:* Estoy empaquetando mi PDF como zip y lo envío de vuelta al navegador en la respuesta así:

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()

¿Tengo que considerar de alguna manera la codificación al comprimir?, Lo que me gusta:

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();
    }

Respuestas a la pregunta(2)

Su respuesta a la pregunta