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 без ефекту.

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

24

8 Відповіді

Take a look here. I remember having the same problem when running IDEA, but after adding the line mentioned in the wiki the problem goes away.

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting' where setting may be

  • off or false or default – No anti-aliasing
  • on – Full anti-aliasing
  • gasp – Use the font's built-in hinting instructions
  • lcd or lcd_hrgb – Anti-aliasing tuned for many popular LCD monitors
  • lcd_hbgr – Alternative LCD monitor setting
  • lcd_vrgb – Alternative LCD monitor setting
  • lcd_vbgr – Alternative LCD monitor setting
21
додано
Гаразд у вас виникли проблеми тільки з IDEA, або ж вони з'являються в інших програмах?
додано Автор lynnard, джерело
Установка useSystemAAFontSettings на LCS замість на виглядає набагато приємніше для мене.
додано Автор monkjack, джерело
Те ж проблема тут. Чи вдалося знайти рішення?
додано Автор Arty, джерело
спасибі, але всі ці я вже намагався ...
додано Автор InsidE, джерело
вибачте за відповідь таких пізно ... тільки в intellij ідеї, інші програми, inlcude ті, хто використовує Java, такі як pycharm працює нормально
додано Автор InsidE, джерело

Ми знайшли інше рішення тут . Вона працює для Oracle JDK, але може бути корисним для людей, які спотикаються з цього питання. Необхідно відредагувати файл .vmoptions (у моєму випадку це idea64.vmoptions з /bin ). Додайте ці три рядки:

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

Якщо виникають проблеми, можна видалити останній рядок. Можна протестувати різні версії для першого налаштування (отримайте параметри з повідомлення вище).

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

15
додано

None of this ugly stuff is needed anymore. Download the latest IntelliJ (2016.1 onwards) for Linux. It includes a modified JRE with the fonts issue fixed. To fix Android Studio too make a symbolic link to the IntelliJ jre:

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

Крім того, просто відкрийте менеджер файлів як root (якщо ваші IDE встановлені в каталозі/opt або в іншій системній папці) і створіть ярлик для jre IntelliJ і перемістіть його до папки інсталяції Android Studio, а потім перейменуйте його в jre. Це працює для останньої андроїд студії 2.0, але він повинен працювати з більш ранніми версіями теж.

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

5
додано
v2016, здається, не покращує перетворення шрифтів для мене.
додано Автор seriousdev, джерело
Дійсно, використовуйте JRE, що поставляється компанією JetBrains. Або завантажте IntelliJ безпосередньо з сайту JetBrains, або використовуйте pacman для інсталяції IntelliJ, а потім додайте JRE з JetBrains до каталогу інсталяції.
додано Автор Stefan van den Akker, джерело
@seriousdev переконайтеся, що ви використовуєте незмінену інсталяцію IntelliJ. Річ шрифту була фактичною зміною. Це все зробило для мене краще.
додано Автор Aspiring Dev, джерело

Як згадувалося, це помилка в 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/
(I run Ubuntu/Elementary OS, so I can't vouch for this one personally)

4
додано

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

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

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

IntelliJ Idea Community Edition 13.1.2 with Oracle JDK8 on Arch Linux

3
додано
Безумовно, простіший варіант. Немає необхідності встановлювати додаткові env vars, і це працює з коробки. Крім того, навіть налаштування параметрів не виправдали мене.
додано Автор alfetopito, джерело

Це відома помилка в OpenJDK. Я не думаю, що будь-яка кількість налаштувань виправити це для вас, це може зробити це трохи краще, але візуалізація шрифту порушена в OpenJDK.

Найбільш болючим виправленням IMHO є перехід до AUR та встановлення jdk7-compat , який призначений для запуску поруч із вашим звичайним JDK.

Не хвилюйтеся, якщо ви ніколи не користувалися AUR, його дійсно прямо. В основному, що ви робите

  1. insure you have base-devel installed with pacman -S base-devel
  2. download the tar from the AUR page I linked above, uncompress it.
  3. run 'makepkg -di' in the folder where you uncompressed to

і зроблено. Тепер відредагуйте /usr/share/intellijidea-ce/bin/idea.sh і змініть рядок, який виконує програму (її внизу файлу), так що це виглядає так:

eval "/opt/java7/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "[email protected]"

Це призведе до того, що intelliJ буде працювати в JVM ORACLE, а не в OpenJDK, що виправляє всі шрифти.

1
додано

У /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"
0
додано

Це стосується IntelliJ IDEA 2018

Найкраще рішення - завантажити версію з включеним Java Runtime. Ця версія працює на спеціальному JRE, який виправлений для кращої обробки шрифтів у Linux.

IntelliJ IDEA пропонує 2 версії для ОС Linux, одна версія має вбудований JRE (це завантаження за замовчуванням), в той час як інша версія не має такої і залежить від власної інсталяції користувача Java.

Якщо ви не хочете повторно встановлювати IntelliJ, існує інше рішення:

  1. Download and extract this JRE
  2. Switch to it
  3. add -Djava2d.font.loadFontConf=false to both idea.vmoptions and idea64.vmoptions files located under intellij_installation_folder/bin/

N.B. Результат першого рішення був трохи більш приємним виглядом, коли я спробував їх.

As far as my testing goes, the @Corneliu Dascălu solution mentioned here no longer work on IntelliJ 2018.

0
додано