Intellij IDEA сглаживание шрифтов в Linux

Я использую IntelliJ IDEA в Arch Linux с KDE. Версия OpenJDK 1.7.0_40.

Целые шрифты IDE (включая редактор кода) отображаются без сглаживания и сглаживания шрифтов. Я установил в idea.properties файл idea.use.default.antialiasing.in.editor в trueи добавил в _JAVA_OPTIONS переменная -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true без какого-либо эффекта.

Что еще я могу попробовать включить сглаживание шрифтов?

8 ответов

Посмотрите здесь. Я помню ту же проблему при запуске IDEA, но после добавления строки, упомянутой в вики, проблема исчезла.

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting'где setting может быть

  • off или же false или же default - Нет сглаживания
  • on - Полное сглаживание
  • gasp - Используйте встроенные инструкции хинтинга шрифта
  • lcd или же lcd_hrgb - Сглаживание настроено для многих популярных ЖК-мониторов
  • lcd_hbgr - Альтернативная настройка ЖК-монитора
  • lcd_vrgb - Альтернативная настройка ЖК-монитора
  • lcd_vbgr - Альтернативная настройка ЖК-монитора

Я нашел другое решение здесь. Это работает для Oracle JDK, но может быть полезно для людей, спотыкающихся в этом вопросе. Вы должны отредактировать .vmoptions файл (в моем случае это idea64.vmoptions от /bin). Добавьте эти три строки:

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

Если у вас возникли проблемы, вы можете удалить последнюю строку. Вы можете протестировать разные версии для первой настройки (варианты смотрите в посте выше).

Кроме того, вы можете отредактировать используемый шрифт и очистить подсказки (автор сообщения предлагает использовать FontForge). Я не нашел это необходимым.

Больше ничего этого не нужно. Загрузите последнюю версию IntelliJ (2016.1 и более поздние версии) для Linux. Он включает в себя модифицированный JRE с исправленной проблемой шрифтов. Чтобы исправить Android Studio тоже сделайте символическую ссылку на IntelliJ jre:

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

В качестве альтернативы просто откройте ваш файловый менеджер от имени root (при условии, что ваши IDE установлены в каталоге /opt или другой системной папке) и создайте ярлык для jre IntelliJ и переместите его в папку установки Android Studio, а затем переименуйте его в "jre". Это работает для последней версии Android 2.0, но должно работать и с более ранними версиями.

Android Studio теперь поставляется с модифицированной JRE, поэтому символическая ссылка больше не нужна, просто скачайте последнюю версию.

Как уже упоминалось, это ошибка в JDK. Хорошей новостью является то, что есть патч для OpenJDK, который значительно улучшает рендеринг шрифтов для IntelliJ в Linux и повышает качество шрифта до уровня, который я видел на моем 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, поэтому я не могу поручиться за это лично)

Он не будет работать с OpenJDK, даже с любым _JAVA_OPTIONS вы выбираете, так что удалите его с sudo pacman -Rndd jdk7-openjdk jre7-openjdk jre7-openjdk-headless java-rhino и установите Oracle JDK 8 от Aur. После установки вы должны выйти / войти, чтобы обновить переменные среды Java (например, JAVA_HOME). Вуаля, рендеринг шрифтов в порядке.

Наслаждайтесь!

PS: pacman -Rndd удаляет без зависимостей, но с файлами конфигурации, расширен: pacman --remove --nosave --nodeps --nodeps,

IntelliJ Idea Community Edition 13.1.2 с Oracle JDK8 в Arch Linux

Это относится к IntelliJ IDEA 2018

Лучшее решение - загрузить версию с включенной Java Runtime. Эта версия работает на пользовательском JRE, который исправлен, чтобы лучше обрабатывать шрифты в Linux.

IntelliJ IDEA предлагает 2 версии для ОС Linux, одна версия имеет встроенный JRE (это загрузка по умолчанию), а другая версия не имеет и зависит от собственной установки Java пользователя.

Если вы не хотите переустанавливать IntelliJ, есть другое решение:

  1. Загрузите и распакуйте эту JRE
  2. Переключиться на это
  3. добавлять -Djava2d.font.loadFontConf=false к файлам idea.vmoptions и idea64.vmoptions, расположенным в папке intellij_installation_folder / bin /

NB. Результат первого решения был немного более привлекательным, когда я их попробовал.

Что касается моего тестирования, то решение @Corneliu Dascălu, упомянутое здесь, больше не работает на IntelliJ 2018.

Это известная ошибка в OpenJDK. Я не думаю, что какая-то подстройка исправит это для вас, это может сделать его немного лучше, но рендеринг шрифтов в OpenJDK нарушен.

ИМХО самое безболезненное исправление - это зайти в AUR и установить jdk7-compat, который предназначен для работы рядом с вашим обычным JDK.

Не беспокойтесь, если вы никогда не использовали AUR, это действительно просто. В основном то, что вы делаете, это

  1. убедитесь, что у вас установлен базовый уровень pacman -S base-devel
  2. скачайте tar со страницы AUR, на которую я ссылался выше, распакуйте ее.
  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"
Другие вопросы по тегам