在我的Swing应用程序中,我使用Arial字体。不幸的是,它在不同平台上的呈现方式不同:
Windows:
Mac OS X:
Linux:
Windows和Mac OS X变体看起来几乎相同。 Linux是完全不同的,似乎根本不是Arial。主要问题是字母的宽度不同......
在Linux上呈现类似于Windows变体的文本的最佳解决方案是什么?可能是一些替代字体,例如Nimbus Sans L?
一些限制:JRE无法与应用程序一起提供,它应该非常接近Arial。
谢谢!
答案 0 :(得分:5)
拥抱平台种类。鉴于不同的平台具有相似的字体和不同的度量标准,让每个组件通过不干扰和正确使用布局来完成计算自己的preferred size的工作。这是一个很好的example屏幕截图。
答案 1 :(得分:2)
一种解决方案可能是使用Font.createFont()
加载字体文件。 Here's样本。
答案 2 :(得分:0)
您是否尝试过抗锯齿,就像这篇文章一样 http://docs.oracle.com/javase/tutorial/2d/text/renderinghints.html
答案 3 :(得分:0)
您可以在Linux上安装Microsoft的免费字体并在Java中使用它们。这包括Arial字体。此博客文章向您展示了如何:How to Install Windows Fonts in Java on Linux