Недавно я обновил свою настольную ОС до Ubuntu 24.04, которая имеет новый шрифт по умолчанию. Я хочу изменить это на другой, так как новый слишком сжат и, кажется, не является анти-алием должным образом при качании. эмодзи. Кажется, что -то не хватает, когда он пытается справиться с этими символами, но только если шрифт переопределен. Оставление Nimbus Laf As-IT (Noto Sans Sans в моей системе) работает нормально, но если вы переопределяете дефолт с одним и тем же шрифтом, Noto Sans, это также ломается. Таким образом, существует некоторая разница в том, как он обрабатывает нелатиновые символы, если вы указали переопределение по умолчанию.public class LafStyle extends JFrame {
/**
* Constructor.
*/
public LafStyle() {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
getContentPane().add(createGui());
setMinimumSize(new Dimension(480, 360));
pack();
setVisible(true);
}
private JPanel createGui() {
final JPanel panel = new JPanel(new BorderLayout());
final JLabel lblText = new JLabel("AbcD - 度解析");
panel.add(lblText, BorderLayout.CENTER);
panel.add(new JButton("Close"), BorderLayout.SOUTH);
return panel;
}
/**
* @param args
*/
public static void main(final String[] args) {
// load font
Font font = null;
// font = new Font("Noto Sans", Font.PLAIN, 20);
font = new Font("DejaVu Sans", Font.PLAIN, 20);
// set laf
final NimbusLookAndFeel laf = new NimbusLookAndFeel();
if (font != null) {
laf.getDefaults().put("defaultFont", new FontUIResource(font));
}
try {
UIManager.setLookAndFeel(laf);
}
catch (final UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
new LafStyle();
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... g-of-non-l
Переопределение шрифта по умолчанию в Look-Feel (Nimbus) предотвращает обработку нелатинских персонажей UTF-8 в Java Swi ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение