我正在編寫包含GUI字體的.ttf文件的應用程序。加載字體似乎沒有問題,但是當使用deriveFont()
方法來編輯字體大小時,字體看起來會變形(例如,不在同一行上,字母缺失,偏斜等)。Java自定義字體失真
這是爲什麼?有沒有辦法?
代碼來加載字體:
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
。
[你可以測試](http://stackoverflow.com/questions/18461331/ttf-and-otf-versions-of-source-sans-pro-are-differently-displayed-in-swing-nimb/ 18462739#18462739) – mKorbel