Шрифты редактора Phpstorm в системах Linux

#phpstorm

#phpstorm

Вопрос:

Так устал искать решение.. Я использую PhpStorm IDE для своих php-проектов, и одна проблема просто сводит меня с ума. Шрифты редактора (редактор, не заботящийся об интерфейсе) выглядят ужасно. Я пробовал использовать разные дистрибутивы и разные DE, но результат всегда один и тот же : ( Есть скриншоты для сравнения шрифтов Kate и PhpStorm. Я знаю, что PhpStorm — это JAVA-приложение, и оно использует другой движок поиска шрифтов, но.. Eclipse — это тоже JAVA-приложение, но с довольно приятными шрифтами. Шрифты PhpStorm как в Windows, так и в OSX выглядят как другие системные шрифты. Плавные и читаемые. PhpStorm

Кейт

Есть ли способ исправить эту проблему со шрифтом, прежде чем мои глаза взорвутся ..? Спасибо.

Комментарии:

1. Хм. Второй скриншот после загрузки по некоторым причинам стал более гладким, чем оригинал. Но я думаю, что моя проблема понятна для людей, у которых такая же проблема.

2. Я заметил, что NetBeans 7 в Linux имеет ту же проблему с отображением шрифтов: (

Ответ №1:

После проблемы с PhpStorm, вот что я добавил в phpstorm64.vmoptions (что я установил в /usr/local/bin/PhpStorm/bin/ ):

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

Я также проделал трюк с открытием шрифта в FontForge:

  • Ctrl A (выберите все символы)
  • Подсказки -> Очистить подсказки
  • Подсказки -> Четкие инструкции
  • Файл -> Создать шрифт

Я поместил это в ~/fonts/

Я использую Ubuntu 12.10, и после всего этого все выглядит довольно великолепно (я сделал это для Ubuntu Mono).

Единственная проблема, которую я заметил, заключается в том, что -Dawt.useSystemAAFontSettings=gasp это приводит к отличному отображению шрифтов в редакторе, но плохому отображению меню и других элементов. В то время как -Dawt.useSystemAAFontSettings=lcd обеспечивает отличную визуализацию шрифтов для меню, но менее качественную визуализацию шрифтов в редакторе. Итак, попробуйте оба варианта и выберите тот, который вам больше нравится.


Обновление: в Ubuntu 13.10 у меня больше нет проблем.

Комментарии:

1. -Dsun.java2d.xrender= true приводит к исчезновению некоторых символов, но первый и второй варианты сделали свое дело! 🙂

2. Обновление: В Ubuntu 13.04 рендеринг шрифтов кажется нормальным, я ничего не редактировал.

3. Потрясающее решение, большое спасибо! (первая часть, вторую часть я не пробовал)

4. В 64-разрядной версии fedora 20 у меня были лучшие результаты с этой конфигурацией: -Dswing.aatext= true -Dawt.useSystemAAFontSettings=вкл.

5. В Ubuntu 15.04 он работает с OpenJDK с исправлением шрифта github.com/achaphiv/ppa-fonts/blob/master/openjdk-fontfix / … вместо Oracle JDK, по крайней мере, в моей среде. Мне не нужно было выполнять часть FontForge.

Ответ №2:

Это специфическая проблема Linux, вы можете найти много информации об этой проблеме здесь. Проверьте комментарии на наличие различных предложений и обходных путей.

Вот что вы можете получить, используя просто другой шрифт:

ИДЕЯ в Linux

Комментарии:

1. Спасибо. Я не нашел решения для себя. Но теперь я знаю причину, почему это произошло.

Ответ №3:

Вы можете установить исправления infinality и OpenJDK, чтобы заставить его использовать freetype для рендеринга шрифтов.

Вот ссылки об установке infinality и исправленного OpenJDK для дистрибутивов на базе Ubuntu:

http://www.webupd8.org/2013/06/better-font-rendering-in-linux-with.html
http://www.webupd8.org/2013/06/install-openjdk-patched-with-font-fixes.html

И вот мой скриншот PhpStorm, работающего на Fedora 20 с infinality и исправленным OpenJDK: введите описание изображения здесь

Комментарии:

1. Выглядит великолепно. AFAIK, OpenJDK не был рекомендован для использования с PhpStorm. JetBrains настоятельно рекомендует использовать Oracle Java. Теперь IDE нормально работает с OpenJDK?

2. @YaroslavRogoza У меня нет ни проблем с производительностью, ни каких-либо графических проблем или сбоев при запуске PhpStorm на OpenJDK.

3. Это реальный ответ. После долгой возни с опциями JVM без особой удачи исправленный OpenJDKнаконец-то выполнил свою работу. Рендеринг значительно улучшился!

Ответ №4:

Попробуйте добавить -Dawt.useSystemAAFontSettings=lcd в bin/phpstorm.vmoptions

Комментарии:

1. возможно, вы захотите попробовать также -Dswing.aatext=true и -Dawt.useSystemAAFontSettings=вкл.

2. Эти два варианта вместе имеют для меня заметное значение. Могло бы быть лучше, но сейчас это терпимо.

Ответ №5:

Попробуйте Настройки -> Редактор -> Внешний вид -> Использовать сглаженный шрифт

Комментарии:

1. Попробуйте отключить его или использовать другой шрифт. Существуют шрифты, которые выглядят некорректно при включенном сглаживании.

2. Спасибо. Я пробовал это с разными шрифтами с AA и без них, все они выглядят неприятно.

Ответ №6:

Лучшее решение, которое я нашел, — это использовать FontForge. FontForge — это приложение для Linux, которое позволяет редактировать некоторые настройки шрифта. Просто откройте шрифт ttf в приложении. Нажмите ctrl a, чтобы выделить все символы. Затем выберите в меню Подсказки -> Очистить подсказки. Затем Подсказки -> Четкие инструкции. И последний файл -> Создать шрифты. Просто сохраните новый шрифт как новый или замените существующий и попробуйте использовать этот шрифт с PhpStorm. Выглядит не идеально, но намного лучше, чем раньше.

Ответ №7:

Также я заметил, что шрифты на темном фоне довольно хорошо смотрятся в Linux Темный фон

Ответ №8:

Сравнивая NetBeans и PhpStorm бок о бок в моем Debian-Squeeze box, я обнаружил, что NetBeans выглядел намного лучше, даже когда был выбран тот же шрифт и размер шрифта. Разница заключалась в том, что PhpStorm выделил большую часть кода жирным шрифтом. После настройки редактора и удаления всех выделений жирным шрифтом редактор теперь выглядит намного лучше.

Ответ №9:

Моноширинный формат со сглаживанием, на мой взгляд, хорошо подходит для WebStorm.

Комментарии:

1. «Выглядит хорошо», это довольно субъективный факт 🙂 Несколько скриншотов внесут некоторую ясность