Вот метод для чтения шрифта TrueType из classpath и регистрации его в графическом окружении:
private static Font readFont(String name) {
InputStream in = Fonts.class.getResourceAsStream(name + ".ttf");
if (in == null) {
throw new IllegalArgumentException(name);
}
try {
Font retval = Font.createFont(Font.TRUETYPE_FONT, in);
GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(retval);
return retval;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
Затем вы можете использовать этот объект шрифта для получения символов разных размеров или вы можете попробовать применитьэтот шрифт с использованием Swing CSS.В этом случае значение, которое вы бы указали в атрибуте "font-family", - это значение, возвращаемое Font.getName ().
Например:
static {
Font font = readFont("VeraMono");
if (font != null) {
font = font.deriveFont(14f);
} else {
throw new IllegalStateException();
}
MONOSPACED_TEXT_FONT = font;
MONOSPACED_TEXT_FONT_STYLE = "font-family: " + font.getName() + "; font-size: 14pt; font-weight: normal;";
}