Java normalmente usa fontes do sistema, assim como outros programas. De acordo com a especificação: "Todas as implementações da plataforma Java 2 devem suportar fontes TrueType; o suporte a outras tecnologias de fontes depende da implementação". ( Javadocs de java.awt.font).
Há uma diferença: como um programa Java não pode saber com antecedência quais fontes estarão disponíveis na plataforma de destino, existem "nomes de fontes lógicas" ("serif", "monospaced" etc.). Estes estão sempre disponíveis em Java; o tempo de execução Java mapeará esses pseudo-nomes de fonte para uma fonte approriate no sistema.
Esse mapeamento é configurável. Consulte o link .
Suspeito que o aplicativo Java em questão usa esses nomes de fontes lógicas, que são simplesmente mapeados para fontes diferentes no Windows e no Mac OS.