Разве они не должны выглядеть точно так же? Или у Java нет собственных шрифтов? Это просто сопоставляет имена шрифтов со шрифтами ОС?
1 ответ
Java обычно использует системные шрифты, как и другие программы. Согласно спецификации: «Все реализации платформы Java 2 должны поддерживать шрифты TrueType; поддержка других технологий шрифтов зависит от реализации». (Javadocs из java.awt.font).
Есть одна особенность: поскольку Java-программа не может заранее знать, какие шрифты будут доступны на целевой платформе, существуют "логические имена шрифтов" ("serif", "monospaced" и т.д.). Они всегда доступны на Java; среда выполнения Java отобразит эти псевдо-шрифты в соответствующий шрифт в системе.
Это отображение настраивается. См. Http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html.
Я подозреваю, что рассматриваемое Java-приложение использует эти логические имена шрифтов, которые просто отображаются на разные шрифты в Windows и Mac OS.