Java 自定义字体失真



我正在编写一个应用程序,其中包含一个用于GUI字体的.ttf文件。加载字体似乎没有问题,但是当使用deriveFont()方法编辑大小时,字体似乎失真(例如,不在同一行上,字母中缺少部分,歪斜,..)。

这是为什么呢?有没有办法?

加载字体的代码:

InputStream is = getClass().getResourceAsStream("/fonts/lg.ttf");
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
leagueGothic =  Font.createFont(Font.TRUETYPE_FONT, is);
ge.registerFont(leagueGothic);

然后用deriveFont()更改大小

label.setFont(leagueGothic.deriveFont(Font.PLAIN, scale(50, 'x'));

scale(int, char)只是一种更改与应用程序窗口大小成比例的大小的方法,它返回一个int

在你对deriveFont()的调用中,该方法scale(int, char)"它返回一个int"。它可能应该返回一个float,正如这里对size参数所要求的那样。

最新更新