Я попытался написать апплет, который может создавать PDF со встроенным шрифтом.
Все работает, пока его нет в файле JAR.
Следующая часть кода показывает, что я сначала создаю шрифт AWT (который отлично работает с сохранением в JAR-файле и без него)
Затем я хочу зарегистрировать шрифт iText (5.0.3). Но тут появляется ошибка: access denied (java.io.FilePermission http:\host\jarfile\fonts\EXAMPLE.ttf read) java.security.AccessControlException)
.
private String font = "fonts/EXAMPLE.ttf";
/* iText font */
private Font pdfFont;
/* AWT font */
private java.awt.Font javaFont;
private DefaultFontMapper mapper = new DefaultFontMapper();
javaFont = java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, getClass().getResourceAsStream(font));
FontFactory.register(getClass().getClassLoader().getResource(font).getPath(), javaFont.getFontName());
pdfFont = FontFactory.getFont(javaFont.getFontName(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 40);
/* Map the fonts */
BaseFontParameters params = new BaseFontParameters(font);
params.encoding = BaseFont.IDENTITY_H;
params.embedded = true;
mapper.putName(javaFont.getFontName(), params);
Поэтому я подумал, что подписание моего апплета было бы хорошей идеей, но это не имело никакого эффекта. Появляется то же сообщение об ошибке.
Я что-то не так делаю или это настройка безопасности, которую нельзя отключить? (без изменения политики JRE)
Спасибо!
Daniel