首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:字体在Linux上看起来乱七八糟,但在windows上没问题

Java:字体在Linux上看起来乱七八糟,但在windows上没问题
EN

Stack Overflow用户
提问于 2009-09-01 05:44:13
回答 10查看 10.6K关注 0票数 4

我正在编写一个java应用程序,可以将PDF文档呈现为图像,当我在windows上运行它时,它工作得很好。但是当我在Linux上渲染PDF时,标准字体看起来有点乱码,就像在某些字符的右侧缺少一些像素一样。

我只在新安装的Ubuntu9.04和Linux6上测试了它,但我很确定我以前在OpenJDK上见过类似的问题。我还尝试用其他Java PDF应用程序打开PDF,比如SwingLabs PDFRenderer和IcePDF Demo Applet,它们都有同样的问题。在windows上,它们都可以很好地呈现文档。我还在同一台Ubuntu机器上用默认的PDF查看器evince打开了文档。Evince呈现的文档没有字体问题,所以我非常确定这是一个普遍的Java + Linux问题。

作为比较:

This image是在Windows上渲染的。

This image是在Linux上渲染的。我用红色的戒指标记了几个乱码。

This one也可以在Linux上运行。看起来只有标准字体会受到影响。

任何帮助都是非常感谢的。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2009-09-01 05:54:15

OpenJDK不得不发布受版权保护的字体。安装Sun的Java和字体会更好一些。

票数 6
EN

Stack Overflow用户

发布于 2012-03-01 10:47:02

我在Linux上安装了OpenJDK,所有的应用都有非常非常糟糕的字体……在多次尝试更改字体、抗锯齿、安装Lucida字体等之后,我发现问题出在/etc/fonts/conf.d/35-freefont.conf上。

我只需删除该链接,运行fc-cache -f,所有新的Java应用程序都会得到更好的字体。

在我的例子中,freefont配置告诉Java使用它而不是更好的字体。如果您有类似的问题,只需运行sudo mv /etc/fonts/conf.d /etc/fonts/conf.d.off和一个fc-cache -f并测试...

如果它正常工作,你也有一个糟糕的默认字体替换,你应该恢复目录并测试每个文件。

如果它保持不变,那么您可能有另一个问题(不要忘记恢复conf.d目录)

更新

在Ubuntu 12.04上,我遇到了类似的问题,所有的Java字体都是粗体的。删除/etc/fonts/conf.d/65-nonlatin.conf解决了此问题。

票数 3
EN

Stack Overflow用户

发布于 2009-09-01 05:57:50

可能是字体提示出错了。检查您正在使用的Linux操作系统的字体提示设置。

也可以是字体--尝试指定不同的字体。您正在使用的应用程序可能只是在Linux上呈现得很糟糕--有些就是这样。帕拉蒂诺是我发现特别糟糕的一个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1360707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档