Как исправить сглаживание шрифтов в IntelliJ IDEA при использовании высокого DPI?

99186
Bloke

Я использую более высокое значение DPI, что делает IntelliJ (фактически Android Studio) действительно испорченными шрифтами .

Я использую MacType, который прекрасно отображает мои шрифты в других местах, но я предполагаю, что Java VM каким-то образом перехватывает его или что-то еще, это убивает меня.


ОБНОВЛЕНИЕ : Как говорит rpgmaker в своем ответе ниже, вы также можете просто установить последнюю версию IntelliJ (2016.1 и выше)

75

11 ответов на вопрос

107
guari

Я работаю с дисплеем с высоким разрешением, и у меня он работает с идеальным рендерингом шрифтов.

  • (В Linux) Установите и используйте Oracle JDK (я использую 1.7), а не OpenJDK (также исправленный файл с fontfix был для меня бесполезен). Посмотрите, как это сделать .

  • Отредактируйте файл конфигурации .vmoptions, который вы найдете в папке установки Bin (например, studio.vmoptions и для 64bit studio64.vmoptions или WebStorm.exe.vmoptions и т. Д. В соответствии с версией установленной IDE), добавив следующие строки:
    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true
    -Dsun.java2d.xrender=true

  • Удалите информацию подсказок из шрифта, который вы хотите использовать, и выберите новый шрифт в настройках IntelliJ IDEA (Настройка -> Редактор -> Шрифт);
    если вы не знаете, как это сделать, установите FontForge :

    1. Откройте свой шрифт в FontForge
    2. Выделите все глифы с помощью Ctrl+Aи удалите все подсказки (Подсказки -> Очистить подсказки)
    3. Снова выберите глифы и используйте подсказки -> Очистить инструкцию
    4. Сохраните шрифт под другим именем (Файл -> Создать шрифты)
    5. Установите новый шрифт, выберите его в IDEA

Если вы следовали приведенным выше советам и у вас возникают задержки при быстрой прокрутке кода (это иногда может происходить в дистрибутивах Linux с неоптимизированным драйвером gpu), попробуйте удалить строку
-Dsun.java2d.xrender=true
из файла .vmoptions .

Наконец, вот скриншот результата:

IDE screenshot


(здесь используются шрифты LucidaMAC для основной IDE и Ubuntu Mono с удаленной информацией о подсказках для редактора кода)

Потрясающие! Работает и в Windows :)) спасибо: * Bloke 11 лет назад 4
Для меня в Ubuntu 13.04 и IntelliJ 12.1.5 настройки в файле опций ничего не сделали, но сработало удаление подсказок и инструкций из шрифта через `FontForge`. Мне также пришлось немного поиграться с настройками в File-> Settings-> IDE Settings-> Editor. Cory Klein 11 лет назад 0
Я следовал инструкциям и удалил подсказки из шрифта Consolas, но проблема в том, что теперь IDEA (на самом деле Android Studio) не видит шрифт. Он видит оригинальный шрифт Consolas. Есть идеи почему? tobik 11 лет назад 0
Я попробовал вышеупомянутое на моей машине Windows с привет dpi (3200x1800), я настроил studio.vmoptions, как уже упоминалось, но все еще размыто. Пожалуйста, посоветуйте, если возможно, я действительно хотел бы, чтобы это работало? Pace 10 лет назад 1
@Pace Чтобы удалить размытые шрифты, необходимо отключить масштабирование экрана для этого приложения (щелкните правой кнопкой мыши по его значку, выберите «Свойства», перейдите на вкладку «Совместимость» и установите флажок «Отключить масштабирование DPI при настройках с высоким DPI») для приложений x64 в Win8 - вы должны отредактировать флаг соответствующего ключа реестра: откройте Regedit.exe, перейдите в `HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers` и добавьте строковое значение _REG_SZ_, имя которого является полным путем к приложению исполняемый файл и значение которого _HIGHDPIAWARE_);) guari 10 лет назад 10
@guari - Слава тебе, сэр! Огромное спасибо. Я запустил курс Coursera Android на этой неделе, и теперь у меня отлично отрисованы плавные шрифты! Я просто поднял общие настройки шрифта для IDE и редактора, чтобы установить их на 26pt, и я не могу поверить, как хорошо это выглядит! Еще раз спасибо. Pace 10 лет назад 1
не могу очистить подсказки и инструкции для шрифтов в шрифтовой кузнице ... Есть ошибки, когда я пытаюсь сохранить их после этого ... Что я делаю не так Mario Zderic 10 лет назад 3
Вот это да. Все еще полезно год спустя. JetBrains должен сделать это по умолчанию или, по крайней мере, выполнить автоматическое обнаружение. Размытость без этих настроек делает IntelliJ ужасным и непригодным. Andrew T Finnell 10 лет назад 2
@guari твой ответ, что сделал это для меня clav 9 лет назад 0
для меня в Windows 8.1 с разрешением UHD и масштабированием, установленным на 225% (это дисплей с диагональю 15,6 дюйма), все вышеперечисленное не помогло. Должно быть, я что-то упустил (Skype для рабочего стола также показывает эту проблему, размытые шрифты). Любая помощь или указатели будут высоко оценены :) andreimarinescu 9 лет назад 0
на Mac результат, к сожалению, не очень хороший .. (вы можете взять не кодированные шрифты Xcode, скопировать их в системную библиотеку, вам может понадобиться использовать font finagler для очистки кэша, перезагрузить компьютер, установить jdk 1.8 или 1.9, запустить Ide из консоли. Но результат не так хорош .. снова Snicolas 9 лет назад 0
@CoryKlein, каким шрифтом вы удалили подсказки / инструкции через `FontForge` и как вы его сохранили? octohedron 9 лет назад 1
@Gazta Извините, это было с другой работы, с другой машины, и слишком давно. Я не помню :( Cory Klein 9 лет назад 1
@CoryKlein Не волнуйтесь, я наконец узнал, что любой шрифт TTF будет работать. octohedron 9 лет назад 1
К вашему сведению, переход на Oracle Oracle не обязателен, все остальное есть. mshindal 9 лет назад 0
Отлично работал на моем переходе PhpStorm 9-> 10 только сейчас. После обновления IDE мой шрифт Input Mono перешел с обычного веса на жирный (хотя при рендеринге все было в порядке, вес просто не был таким же). Удаление подсказок сделало свое дело, и я вернулся к старому легкому весу. Параметры конфигурации запуска не влияли на Ubuntu. ojrask 9 лет назад 0
Я не сделал ничего из того, что вы сказали, и просто изменив сглаживание на Greyscale для редактора и IDE, решил мою проблему. 9 лет назад 0
@mshindal - забавно, переход на Oracle Oracle был единственным, что было необходимо, чтобы исправить это для меня. Mr. Bungle 8 лет назад 0
Не могли бы вы загрузить свой * Ubuntu Mono * с удаленной подсказкой куда-нибудь и вставить ссылку здесь, пожалуйста? Bloke 8 лет назад 0
Если вам лень делать часть шрифта, см. Ответ @ user1185087 ниже tsusanka 8 лет назад 0
Я действительно делал это не раз, но я не могу заставить его выглядеть так же хорошо, как у @ guari. У меня все получилось на Windows, но сейчас у меня проблемы с Mint. Не очень нравится, как шрифт выглядит в этом ответе Bloke 8 лет назад 0
4
Yaroslav Urshulyak

Я написал небольшое руководство, как это исправить.

 wget http://urshulyak.com/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_HOME для вашего пути идеи

#!/bin/sh  IDEA_HOME=/opt/idea export JAVA_HOME=/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 "$@" 

Больше информации и скриншоты лучших шрифтов: http://urshulyak.com/?p=478

Мне было достаточно добавить `-Dsun.java2d.xrender = true` в` bin / webstorm64.vmoptions` в каталоге WebStorm. Alicia 9 лет назад 0
ссылка на скачивание не работает. Пожалуйста исправьте jackode 9 лет назад 1
Этот ответ предполагает 64-битную архитектуру, что может быть не так Anwar 8 лет назад 0
2
FRR

I got a similar look just by downloading the Menlo font and setting the Editor Anti-aliasing to 'grayscale' within Appearance & behaviour > Appearance

This is the result:

This is how it looks

Here is a comparison between the two platforms

enter image description here

I am using a higher resolution and better hardware at work with the MAC, that is why the fonts look a bit brighter, the result will vary depending on your machine. Anyways it's worth a shot, the changes are easy to revert

Работал частично для меня! Шрифты не такие четкие, как универсальный пользовательский интерфейс Mac, но достаточно острые, чтобы их можно было использовать. Я на 13 "Mac Pro, OS X 10.11.4 Mayank Jain 8 лет назад 0
почему вы делаете это на OSX ?, вы должны получить правильные шрифты из коробки :) FRR 8 лет назад 0
2
ogram

В более новой версии JetBrains IDE решение другое.

В папке установки IDE просто переименуйте jre папку на что-то другое. Например:

  1. $ cd your-path-to/WebStorm-162.2228.20/
  2. $ mv jre/ _jre/

Более новые версии используют пакет JRE вместо вашей системной, и эта версия вызывает проблемы рендеринга шрифтов .

Здесь отлично работает: WebStorm 2016.3.2 на Kubuntu 16.04 linux.

WebStorm screenshot with fixed font

Это похоронено на дне, но это настоящий преступник. Все выше ориентированы на шрифты редактора, но у меня уже были хорошие шрифты редактора. Моя проблема заключалась в том, что различные выноски, всплывающие подсказки и модальные диалоги показывали ужасный рендеринг шрифтов без сглаживания. Я перепробовал все вышеперечисленное, и ни одна из них не решила проблему, но сокрытие упаковки jre помогло. Dan 7 лет назад 0
1
user1185087

Если вы не можете очистить подсказки с FontForge, как Гуари объяснил в своем ответе . Используйте Cousine (Apache License v2.00) в качестве шрифта редактора и установите размер 14. Я попробовал пару других моноширинных шрифтов. Тем не менее, Cousine, кажется, имеет более хороший рендеринг, чем большинство других шрифтов. Смотрите скриншот в конце

  1. Скачать шрифт: cd ~/Downloads/ && wget www.fontsquirrel.com/fonts/download/cousine
  2. Создать новое семейство шрифтов dir: sudo mkdir /usr/share/fonts/truetype/Cousine
  3. Извлеките файлы шрифтов: sudo unzip cousine -d /usr/share/fonts/truetype/Cousine/
  4. Сделайте их доступными для IntelliJ: sudo chmod -R 777 /usr/share/fonts/truetype/Cousine
  5. Обновите кэш шрифтов: sudo fc-cache -f -v
  6. Перезапустите IntelliJ и выберите Cousin в качестве шрифта редактора.
  7. Не забудьте установить vmoptions, как объяснил guari

Скриншот:

Ваш скриншот не выглядит, как будто он использует сглаживание. Ztyx 7 лет назад 0
Снимок экрана заменен на меньший, чтобы избежать уменьшения масштаба. Теперь вы можете видеть, что используется сглаживание user1185087 7 лет назад 0
1
Aspiring Dev

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 

Alternatively, just open your file manager as root (assuming your IDEs are installed in the /opt directory or another system folder) and create a shortcut to IntelliJ's jre and move it to Android Studio installation folder, then rename it to 'jre'. This works for the latest android studio 2.0 but it should work with earlier versions too.

Какую версию вы имеете в виду? Когда я иду в «Справка> О программе», я вижу «Intellij IDEA 15.0.2» и «Build # IU-143.1184». Bloke 8 лет назад 0
@Bloke просто зайдите на сайт и загрузите последнюю версию IntelliJ. Я думаю, сейчас 2016.1.1. Они изменили способ рекламы новых версий сейчас, и теперь у него есть формат YEAR.REVISION.UPDATE #. Aspiring Dev 8 лет назад 0
О, действительно. Я только что попробовал это. Мой шрифт `Source Code Pro` теперь выглядит слишком жирным, но это незначительная проблема. Спасибо! Bloke 8 лет назад 0
Использование JRE, поставляемого с IntelliJ, сделало все для меня лучше. Сначала я скачал IntelliJ без JRE и использовал свой локальный Oracle JDK (1.7), что привело к неправильным шрифтам. НТН. sengs 7 лет назад 0
1
User1

В Windows 10 у меня были похожие проблемы. Проверка Disable display scaling on high DPI settingsсделала шрифты более плавными, но гораздо большими. Вот как это сделать (из предыдущего комментария от другого пользователя):

Щелкните правой кнопкой мыши по его значку, выберите Properties, перейдите на Compatibilityвкладку и проверьтеDisable DPI scaling on high DPI settings

Зайдя в Windows, Settingsи в поисках Display Settings, есть диалог с ползунком, который говорит Change the size of text, apps, and other items. Я переместил его со 125% до 100% и должен был выйти из системы и снова войти в нее. Шрифты стали маленькими и плавными:

enter image description here

Более того, если я уберу галочку Disable display scaling on high DPI settings, все будет гладко.

Это было единственное решение, которое сработало для меня! Спасибо! DrKaoliN 6 лет назад 0
0

The accepted answer didn't work for me but I got everything working by doing this:

After reading various tutorials and messing with a bunch of fixes I've found a way that works perfectly.

First of all download JDK 8 from Oracle and execute the following lines in the terminal:

cd Downloads tar -xvf jdk-8u25-linux-x64.tar.gz rm jdk-8u25-linux-x64.tar.gz sudo mkdir -p /usr/lib/jvm/ sudo mv jdk1.8.0_25 /usr/lib/jvm/ 

Now download the JDK font fix (Courtesy of [Urshulyak Yaroslav][2]) by executing the following:

cd ~/Downloads wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz tar -xvf jdk-8u5-tuxjdk-b08.tar.gz sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm rm jdk-8u5-tuxjdk-b08.tar.gz 

This will extract the downloaded zip and move it to /usr/lib/jvm/. Now run the following in the terminal:

cd ~ sudo gedit .bashrc 

Then add the following lines to the very bottom of the bashrc file.

JAVA_HOME=/usr/lib/jvm/jdk1.8.0_25/ export JAVA_HOME 

Save it then gedit the idea.sh. (Your script location may be different)

gedit /home/USER/Downloads/idea/bin/idea.sh 

At the very bottom of the script replace the line(s) in the While Do statement at the bottom with these two lines:

eval "/usr/lib/jvm/jdk-8u5-tuxjdk-b08/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@" test $? -ne 88 && break 

Save it then open up IntelliJ, the fonts should work and you will be using Oracle JDK 8 for development. You will likely have to edit Project Settings and set up your JDK again but be sure to use the actual JDK and not the font fix one.

This fix also works with CLion, Android Studio and [PyCharm.

These instructions assume the JDK version was 1.8.0_25, file/path names will change for future versions.

У вас есть идея, как заставить это работать с PhpStorm? Нижняя часть файла выглядит следующим образом: LD_LIBRARY_PATH = "$ IDE_BIN_HOME: $ LD_LIBRARY_PATH" "$ JDK / bin / java" \ $ AGENT \ "-Xbootclasspath / a: $ IDE_HOME / lib / boot.jar" \ -classpath "$ CLASSPATH "\ $ VM_OPTIONS" -Djb.vmOptionsFile = $ VM_OPTIONS_FILES_USED "\" -XX: ErrorFile = $ HOME / java_error_in_WEBIDE_% p.log "\ -Djb.restart.code = 88 -Didea.paths.selectRO $ IDEI_PERTI_PERTI_PROI_PERTI_PYPI_PERTYPI_PERTYI_PERTYI_PYPYPYPYPYPYPYPYPYPYPYP! \ $ IDE_JVM_ARGS \ $ REQUIRED_JVM_ARGS \ $ MAIN_CLASS_NAME \ "$ @" EC = $? проверить $ EC -ne 88 && exit $ EC #test $? -ne 88 && break exec "$ 0" "$ @" MichaelHindley 9 лет назад 0
0
Temak

Вы можете установить Oracle JDK-8. Протестировано на Ubuntu 14.04, должно работать позже.

sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer 

Проверьте версию:

$ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) 

Взял отсюда .

0
Abhisek Padhi

Вот как это выглядит с ужасным рендерингом шрифтов в Ubuntu 16.04:

This is how it looks like with horrible font rendering on ubuntu 16.04

Если вы используете IntelliJ IDEA 2016.X или более позднюю версию без JDK, вы можете установить переменную среды "IDEA_JDK", чтобы указать конкретную среду выполнения. Рендеринг шрифтов в Ubuntu 16.04 с Android Studio идеален, так что вы можете поделиться одним и тем же JRE с Intellij IDEA. IntelliJ сначала ищет переменную среды IDEA_JDK, поэтому установите ее, добавив файл:

/etc/profile.d/IDEA_SDK.sh 

Добавьте это в файл:

export IDEA_JDK=/opt/android-studio/jre 

Настройте / opt / android-studio / jre согласно вашей установке. Выйдите из системы и войдите в систему и запустите вашу Intellij IDE

Вот как это выглядит после использования нового JRE:

This is what it looks like after using the new JRE

Похожие вопросы