mam przesyłaniem czcionkę aller w java z następującego kodu:Różnice w JLabel podczas ładowania czcionki ttf pomiędzy Windows i Linux
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;
}
Czcionka jest prawidłowo załadowany:
http://www.fontsquirrel.com/fonts/Aller
czcionka jest ustawiona na wszystkie ".font" zmieniające domyślne ustawienia dla aplikacji java, ale w Linuksie jest wyświetlane poprawnie, ale Windows nie.
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 pokazuje: pokazuje
Windows:
Jak widać na zdjęciach, jest trochę odcięty w systemie Windows, który powoduje, że obraz nie być prawidłowo wyświetlane.
Czy ktoś wcześniej doświadczył tego problemu?
Nie widzę niczego złego ... Wyglądają tak samo, chyba że etykieta w systemie Windows wydaje się nieco większa. –
W systemie Windows wyraźnie nie jest gładka, jak w systemie Linux. – RamonBoza
1. W takim przypadku użyj obrazów PNG zamiast JPEG. 2. Czy jesteś pewien, że problem nie wynika z [ustawień kodów usterek systemu] (https://www.google.com/search?q=windows+configure+anti+aliasing&aq=f&oq=windows+configure+anti+aliasing&aqs= chrome.0.57.12896j0 & sourceid = chrome & ie = UTF-8 # safe = off & sclient = psy-ab & q = windows + configure + cleartype & oq = windows + configure + clear & gs_l = serp.3.0.0i30j0i8i30l2.3729.4520.0.5901.5.5.0.0.0.0.289.1330. 2-5.5.0 ... 0.0 ... 1c.1.12.psy-ab.ZBXVMBdk6hA & pbx = 1 & bav = on.2, or.r_cp.r_qf. & Bvm = bv.45960087, d.bGE & fp = fa702e9da3b617a & biw = 1600 & bih = 775) ? – Crozin