Я загружаю шрифт aller в java со следующим кодом:
private Font loadFont(final String path) {
Font font = null;
InputStream fontFile = null;
fontFile = FontLoaderClass.class.getResourceAsStream(path);
if (fontFile != null) {
try {
font = Font.createFont(Font.PLAIN, fontFile);
} catch (FontFormatException e) {
LOGGER.error("Error with font format {}", e);
} catch (IOException e) {
LOGGER.error("Error accessing font {}", e);
}
}
return font;
}
Шрифт загружен правильно:
http://www.fontsquirrel.com/fonts/Aller
шрифт установлен на все ".font", изменяющие настройки по умолчанию для Java-приложения, но в Linux отображается правильно, но Windows нет.
private Font buildFont(final String key, final int size) {
Font f = loadFont(ALLER_LT_FONT_PATH);
GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(f);
if (f == null) {
f = (Font) UIManager.get(key);
}
f = f.deriveFont(Font.TRUETYPE_FONT, size);
return f;
}
Linux показывает:
Windows показывает:
Как вы можете видеть на изображениях, в Windows некоторые обрезаются, что приводит к неправильному отображению изображения.
Кто-нибудь сталкивался с этой проблемой раньше?