在Ubuntu 14.04上,IntelliJ IDEA的字体设置

我在Ubuntu 14.04 x64上安装了IntelliJ IDEA 13.1和Oracle JDK 1.8,但是当我启动IntelliJ IDEA时,字体并不理想。
我该如何更改字体?

screenshot


屏幕截图中的字体渲染对我来说看起来还不错。你是否使用了屏幕的原生分辨率,并且设置了正确的次像素抗锯齿? - David Foerster
请注意,Intellij使用的是默认的Java,通常是OpenJDK(由于某种原因,其字体渲染效果较差),除非您在bin/idea.sh中设置了JAVA_HOME行。 - Thorbjørn Ravn Andersen
9个回答

我写了一个小手册,教你如何修复这个问题。 注意:这只适用于64位架构。
wget https://cloud.urshulyak.com/index.php/s/kcBfJQDyQABcbjz/download &&
mv download jdk-8u5-tuxjdk-b08.tar.gz &&
tar -zxvf jdk-8u5-tuxjdk-b08.tar.gz &&
sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm &&
rm jdk-8u5-tuxjdk-b08.tar.gz

启动Intellij Idea的脚本

*只需注意需要根据您的Idea路径更改IDEA_HOME位置

#!/bin/sh

IDEA_HOME=/opt/idea
# for old idea JAVA_HOME, for new 2016+ will be IDEA_JDK
#export JAVA_HOME=/usr/lib/jvm/jdk-8u5-tuxjdk-b08/
 
export IDEA_JDK=/usr/lib/jvm/jdk-8u5-tuxjdk-b08/
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd \
                      -Dsun.java2d.xrender=true"
export GNOME_DESKTOP_SESSION_ID=this-is-deprecated
exec $IDEA_HOME/bin/idea.sh "$@"

结果:


请问你能更新一下链接吗? - Jose Elera
1请注意,在我的液晶显示器和笔记本屏幕上,-Dawt.useSystemAAFontSettings=lcd 相对于 -Dawt.useSystemAAFontSettings=on 有明显的改善效果。 - John McFarlane
尽管我已经在系统中安装了Monaco字体,但我仍然无法在下拉菜单中找到它。 - 0xE69756
5如果您正在使用IDEA 2016.1版本,请设置IDEA_JDK而不是JAVA_HOME - Pietro
我下载了一个70MB的文件,结果才知道它是为amd64架构的!真是个糟糕的答案。 - Anwar
抱歉,我忘了写关于它的内容,现在我修正描述。 - Yaroslav Urshulyak
转换为64位后,它正常工作了。不过,有些字体变得特别大。谢谢 :) - Anwar

简短的回答对我有用:
1)转到文件->设置->外观和行为->外观。
2)在抗锯齿下,将IDE和编辑器选项都更改为“灰度”。

1在我的情况下(IntelliJ 15.0 社区版,Ubuntu 15.04 和 Open-JDK),这个解决方案完美地起作用了。 - 0x450
1Intellij 15.0.2社区版,Oracle JDK 8,Ubuntu 14.04.3 - 在这里提出的所有解决方案中,只有这个对我有效。 - thefourtheye
1这对我来说是Android Studio 2.0上最好的解决方案。 - molokoka
1这个解决方案对我也有效。谢谢。 - Ashish
1工作得非常完美!:D - Akar

不要在Ubuntu 14上应用此配置!

安装freetype

$ sudo apt-get install libfreetype6

安装infinality patch

$ sudo add-apt-repository ppa:no1wantdthisname/ppa
$ sudo apt-get update
$ sudo apt-get install fontconfig-infinality

我之后必须做以下事情:
$ sudo rm /etc/fonts/conf.avail/52-infinality.conf
$ sudo ln -s /etc/fonts/infinality/infinality.conf /etc/fonts/conf.avail/52-infinality.conf

要像Windows 7一样使用字体渲染,请按照以下步骤操作:
$ sudo /etc/fonts/infinality/infctl.sh setstyle win7

配置您的IDEA_HOME/bin/idea64.vmoptions。添加以下行:
-Dawt.useSystemAAFontSettings=on
-Dswing.aatext=true

还要勾选使用抗锯齿字体复选框,进入:文件 -> 设置 -> 编辑器 -> 外观

预览:

编辑器字体:Monaco,界面字体:Ubuntu Bold

enter image description here


我创建了一个截图。http://i61.tinypic.com/jg63pi.png - Silvestr
这实际上破坏了我在14.04上的Ubuntu字体。 - Lilley
它还破坏了我的系统字体!! - n3o
@n3o 你使用Ubuntu 14.04吗? - Anton Dozortsev
我的Ubuntu字体在14.04上出了问题,真丢人。千万别用这个! - 4spir
@zeal 抱歉。要恢复字体,请查看此答案 - Anton Dozortsev

我已经准备了一个专用字体,名为“Ubuntu Mono Nohinting”,以解决Java Swing应用程序(如NetBeans IDE、IntelliJ IDEA和PyCharm)的渲染问题。原始的Ubuntu Mono字体系列中的字体提示信息已被删除。
安装方法:
- 从这里下载zip文件from here - 解压缩文件 - 使用“字体查看器”打开*.ttf文件进行安装 - 或者手动将*.ttf文件复制到~/.local/share/fonts/目录下
使用方法:
- 在编辑器的配置中选择“Ubuntu Mono Nohinting”字体
屏幕截图:
- 使用PyCharm Monokai主题的Ubuntu Mono字体

Ubuntu Mono Font with PyCharm Monokai theme

Ubuntu Mono Nohinting字体与PyCharm Monokai主题

Ubuntu Mono Nohinting Font with PyCharm Monokai theme


你能从 Liberation Mono 字体中删除提示信息吗? - sasa
很棒的举措!但在我的Ubuntu上看起来更奇怪(IntelliJ IDEA)。 - matanster

请注意,在Webstorm 9中,您需要添加这些更改的文件:
-Dawt.useSystemAAFontSettings=on
-Dswing.aatext=true

是:
bin/webstorm64.vmoptions

已确认在Ubuntu 14.04上运行正常。

在启动之前打开一个项目,进入“配置”->“设置”->“外观”,勾选“覆盖默认字体”复选框,选择字体和大小(我强烈推荐使用Dejavu Sans Mono 14px,在任何地方都适用)。

你可以更改IntelliJ使用的字体。要做到这一点:
- 选择“文件”菜单,然后选择“设置”->“编辑器”->“颜色和字体”->“字体”。 - 在右侧窗格中点击“另存为”,并为您的新方案输入一个名称。 - 更改“主要字体”下的选项。 - 点击“应用”。

如上面的答案中提到的,使用 jdk-8u5-tuxjdk-b08.tar.gz 解决了我的问题,我使用的是 Ubuntu 16.10 和 IntelliJ 2016。
一种更聪明的方法是将上述提到的 jdk 配置为 IDE 的启动 JDK(一旦下载和解压)。可以使用 Intellij 的 "快速操作" Ctlr + Shift + A 并搜索 Switch IDE Boot jdk。浏览已解压的 jdk 并重新启动 IntelliJ!