29

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

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

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

4

8 回答 8

25

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

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting'setting可能在 哪里

  • offor falseor default– 无抗锯齿
  • on- 完全抗锯齿
  • gasp- 使用字体的内置提示说明
  • lcdlcd_hrgb– 针对许多流行的 LCD 显示器进行了抗锯齿调整
  • lcd_hbgr- 替代液晶显示器设置
  • lcd_vrgb- 替代液晶显示器设置
  • lcd_vbgr- 替代液晶显示器设置
于 2013-06-29T20:56:58.877 回答
16

我在这里找到了另一个解决方案。它适用于 Oracle JDK,但它可能对遇到这个问题的人有所帮助。您必须编辑.vmoptions文件(在我的情况下,它idea64.vmoptions来自/bin)。添加这三行:

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

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

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

于 2013-09-16T17:58:32.430 回答
5

不再需要这些丑陋的东西了。下载适用于 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,因此不再需要符号链接,只需下载最新版本即可。

于 2016-04-15T20:09:23.507 回答
4

如前所述,这是 JDK 中的一个错误。好消息是 OpenJDK 有一个补丁,它极大地改进了 Linux 上 IntelliJ 的字体渲染,并使字体质量达到了我在 Mac 上看到的水平。

(需要明确的是,这比通过调整获得的要好得多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,所以我不能亲自担保)

于 2014-03-07T21:55:59.820 回答
3

它无法与 OpenJDK 一起使用,即使您选择了任何内容,因此请使用Aur_JAVA_OPTIONS将其删除sudo pacman -Rndd jdk7-openjdk jre7-openjdk jre7-openjdk-headless java-rhino并安装 Oracle JDK 8 。安装后,您必须注销/登录以更新您的 java 环境变量 (fe )。瞧,字体渲染很好。JAVA_HOME

享受!

PS:pacman -Rndd删除不依赖但使用配置文件,扩展:pacman --remove --nosave --nodeps --nodeps.

IntelliJ Idea Community Edition 13.1.2 与 Arch Linux 上的 Oracle JDK8

于 2014-04-30T10:36:41.477 回答
2

这适用于当前的 IntelliJ IDEA

最好的解决方案是下载带有 JRE 的 IntelliJ IDEA(默认下载)。此版本在自定义 JRE(Java 运行时环境)上运行,该 JRE 已修补以更好地处理 Linux 上的字体。

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

如果您不想重新安装 IntelliJ,请尝试以下操作:

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

注意当我尝试第一个解决方案时,结果看起来更好看一些。

就我的测试而言,这里提到的@Cornelliu Dascălu解决方案不再适用于 IntelliJ 2018 及更高版本。

于 2018-08-08T07:01:40.553 回答
1

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

恕我直言,最轻松的修复方法是转到 AUR 并安装jdk7-compat,它旨在在您的普通 JDK 旁边运行。

如果您从未使用过 AUR,请不要担心,它非常简单。基本上,你所做的是

  1. 确保您安装了 base-develpacman -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 中运行,后者可以一起解决字体问题。

于 2013-12-10T16:28:49.550 回答
0

/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"
于 2014-02-17T10:20:37.003 回答