Intellij IDEA字体在linux中平滑

我在Arch Linux上使用IntelliJ IDEA和KDE。 OpenJDK版本是1.7.0_40。

整个IDE字体(包括代码编辑器)在没有任何抗锯齿和字体平滑的情况下呈现。 我将idea.properties文件中的idea.use.default.antialiasing.in.editor设置为true ,并添加_JAVA_OPTIONS变量-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true没有任何效果。

还有什么我可以尝试启用字体平滑?

看看这里 。 我记得在运行IDEA时遇到了同样的问题,但是在添加wiki中提到的行后,问题就消失了。

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting' setting可能是

  • offfalsedefault – 无抗锯齿
  • on – 完全抗锯齿
  • gasp – 使用字体的内置提示说明
  • lcdlcd_hrgb – 针对许多流行的LCD显示器进行了抗锯齿处理
  • lcd_hbgr – 替代LCD监视器设置
  • lcd_vrgb – 替代LCD监视器设置
  • lcd_vbgr – 替代LCD监视器设置

我在这里找到了另一个解决方案。 它适用于Oracle JDK,但它可能有助于人们绊倒这个问题。 你必须编辑.vmoptions文件(在我的例子中,它来自/binidea64.vmoptions )。 添加以下三行:

 -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dsun.java2d.xrender=true 

如果遇到问题,可以删除最后一行。 您可以为第一个设置测试不同的版本(从上面的post中获取选项)。

此外,您可以编辑正在使用的字体并清除提示(post的作者建议使用FontForge)。 我没有发现这是必要的。

这些丑陋的东西都不再需要了。 从Linux下载最新的IntelliJ(2016.1以后版本)。 它包括一个修改过的JRE,修复了字体问题。 要修复Android Studio,请创建一个指向IntelliJ jre的符号链接:

 ln -s /PATH/TO/INTELLIJ/jre /PATH/TO/ANDROIDSTUDIO/jre 

或者,只需以root身份打开文件管理器(假设您的IDE安装在/ opt目录或其他系统文件夹中)并创建IntelliJ jre的快捷方式并将其移至Android Studio安装文件夹,然后将其重命名为“jre”。 这适用于最新的android studio 2.0,但它也适用于早期版本。

Android Studio现在附带修改后的JRE,因此不再需要符号链接,只需下载最新版本即可。

如前所述,这是JDK中的一个错误。 好消息是,有一个OpenJDK 补丁可以极大地改善Linux上IntelliJ的字体渲染,并使字体质量与我在Mac上看到的一致。

(要清楚,这比通过调整idea.properties可以获得的要idea.properties 。)

要安装它,请使用以下包:

Ubuntu PPA https://launchpad.net/~no1wantdthisname/+archive/openjdk-fontfix

Arch AUR: https //aur.archlinux.org/packages/jre7-openjdk-headless-fontfix/
(我运行Ubuntu / Elementary OS,所以我不能亲自担保这个)

它不适用于OpenJDK,即使你选择的是_JAVA_OPTIONS ,所以用sudo pacman -Rndd jdk7-openjdk jre7-openjdk jre7-openjdk-headless java-rhino删除它并从Aur安装Oracle JDK 8。 安装后,您必须注销/登录才能更新您的java环境变量(fe JAVA_HOME )。 瞧,字体渲染很好。

请享用!

PS: pacman -Rndd删除没有依赖,但配置文件,扩展: pacman --remove --nosave --nodeps --nodeps

在Arch Linux上使用Oracle JDK8的IntelliJ Idea社区版13.1.2

这是OpenJDK中的已知错误。 我认为任何调整都不会为你解决这个问题,它可能会让它变得更好,但OpenJDK中的字体渲染会被破坏。

最无痛的修复恕我直言,是去AUR并安装jdk7-compat ,它被设计为在你的普通JDK旁边运行。

如果你从未使用过AUR,请不要担心,它真的很直接。 基本上,你做的是

  1. 确保你安装了pacman -S base-devel
  2. 从我上面链接的AUR页面下载tar,解压缩它。
  3. 在解压缩到的文件夹中运行’makepkg -di’

并完成了。 现在,编辑/usr/share/intellijidea-ce/bin/idea.sh并更改执行程序的行(它在文件的底部),使它看起来像这样

 eval "/opt/java7/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@" 

这将使IntelliJ在ORACLE JVM而不是OpenJDK中运行,它将字体问题全部修复在一起。

/usr/share/intellijidea-ce/bin/idea.sh:编辑此行:

 ALL_JVM_ARGS="$VM_OPTIONS $COMMON_JVM_ARGS $IDE_JVM_ARGS $AGENT $REQUIRED_JVM_ARGS" 

并使它像这样:

 ALL_JVM_ARGS="$VM_OPTIONS $COMMON_JVM_ARGS $IDE_JVM_ARGS $AGENT $REQUIRED_JVM_ARGS -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true" 

这适用于IntelliJ IDEA 2018

最好的解决方案是使用随附的Java Runtime下载该版本。 此版本在自定义JRE上运行,该JRE经过修补以更好地处理Linux上的字体。

IntelliJ IDEA为Linux OS提供了两个版本,一个版本具有嵌入式JRE(这是默认下载),而另一个版本没有一个版本,具体取决于用户自己的Java安装。

如果您不想重新安装IntelliJ,还有另一种解决方案:

  1. 下载并解压缩此JRE
  2. 切换到它
  3. -Djava2d.font.loadFontConf=false添加到位于intellij_installation_folder / bin /下的idea.vmoptionsidea64.vmoptions文件中

NB当我尝试它们时,第一个解决方案的结果看起来更漂亮。

就我的测试而言,这里提到的@CorneliuDascălu解决方案不再适用于IntelliJ 2018。

Interesting Posts