- 243
- 28
- 202
Здравствуйте. Вопрос к тем, кто пользуется slic util для добавления своих ttf шрифтов. Как правильно рендерить текст что бы символы получались качественными и без артефактов? Вот мой класс для работы со шрифтами:
А вот результат:
Как видите, рендер символов не очень качественный. Как бороться с этим безобразием?
Код:
public class ExtendedFontRenderer {
private static Font fonttrebuchet;
...
public static UnicodeFont FONT_TREBUCHET_28;
...
public static void init() throws SlickException {
try {
fonttrebuchet = Font.createFont(Font.PLAIN, Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation(ExtendedRolePlay.modid, "fonts/trebuchetmsregular.ttf")).getInputStream());
...
}
catch (Exception e) {
e.printStackTrace();
}
FONT_TREBUCHET_28 = initFont(fonttrebuchet, 28.0F);
...
}
public static void renderStringTrebuchet28(String text, float i, float j, Color color) {
GL11.glPushMatrix();
GL11.glScalef(0.25F, 0.25F, 0.25F);
GL11.glEnable(GL11.GL_BLEND);
FONT_TREBUCHET_28.drawString(i * 4F, j * 4F + 7 , text, color);
GL11.glDisable(GL11.GL_BLEND);
GL11.glScalef(2.0F, 2.0F, 2.0F);
GL11.glPopMatrix();
}
...
private static UnicodeFont initFont(Font fontToLoad, float size) throws SlickException {
UnicodeFont font = new UnicodeFont(fontToLoad.deriveFont(size));
font.addAsciiGlyphs();
font.addGlyphs(32, 1200);
font.getEffects().add(new ColorEffect(java.awt.Color.WHITE));
font.loadGlyphs();
return font;
}
}
Как видите, рендер символов не очень качественный. Как бороться с этим безобразием?