Есть много загадок для меня о том, что происходит с шрифтом и basefont. Особенно, когда речь идет о конструкторе. Веб-сайт iText предоставляет эту строку в качестве примера кода для новых шрифтов
BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf",
BaseFont.IDENTITY_H,
BaseFont.EMBEDDED);
Я могу заставить этот вызов работать:
BaseFont bf = BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1257,
BaseFont.EMBEDDED);
Но если я заменил BaseFont.CP1257 словом BaseFont.HELVETICA, тогда это не сработает, и я получаю страницу, в которой говорится: "Не удалось загрузить документ в формате pdf".
Я попытался просмотреть файл класса, и я не могу понять, что этот второй параметр (я предполагаю, что это что-то вроде резервного шрифта, если первый шрифт не работает, как в HTML) и я не могу понять, почему некоторые шрифты будут работать, а не другие.