У меня тоже была такая же проблема, и я понял, что использование IDENTITY_H для кодирования работает нормально
Например:
java.awt.Font f =...;
Font font = FontFactory.getFont(f.getName(),BaseFont.IDENTITY_H)
Я не понимаю, почему с BaseFont.WINANSI это не работает. Winansi - это стандартный набор символов Windows Cp1252, который используется моей JVM. Итак, если символ правильно отображается в Java, почему это не так для PDF?