Уродливые шрифты в Netbeans - как я могу заставить его использовать системный шрифт?

У меня проблемы с тем, чтобы шрифт Netbeans выглядел красиво, это было проблемой с тех пор, как я попробовал Ubuntu ~8. По какой-то причине шрифты выглядят так, будто не получают субпиксельное сглаживание только в Netbeans, а для остальных приложений они выглядят идеально.

Посмотрите, насколько уродлив скриншот:

введите описание здесь

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

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

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

Кто-нибудь знает, что я могу сделать, чтобы это исправить? Как я могу заставить Netbeans использовать системный шрифт?

16 ответов

Решение

Как отмечалось в комментариях, это проблема с приложениями Java Swing в Linux. Swing использует настройки сглаживания шрифтов в Gnome (деактивировано, в градациях серого или в подпикселях), однако игнорирует настройки хинтинга. Он всегда использует полный хинтинг, и если вы используете Ubuntu с небольшим или вообще без хинтинга шрифта (как это делают большинство людей, так как малый хинтинг является настройкой по умолчанию), это сделает шрифт значительно отличающимся от других приложений. SWT-приложения, такие как Eclipse, хороши, но если вам нравятся Netbeans, это вам не поможет.

Предостережение: для следующего обходного пути я говорю только о шрифте редактора, потому что в IDE это то, что важно для меня. Вы также можете применить его к меню шрифтов и т. Д., Но это может быть немного выше.

Единственное полезное решение, которое я нашел здесь: используйте Fontforge, чтобы отредактировать выбранный вами шрифт редактора и удалить всю информацию о подсказках из самого шрифта, затем сохранить его как новый шрифт и использовать его в Netbeans.

  1. sudo apt-get install fontforge
  2. Запустить Fontforge
  3. Откройте ваш шрифт по выбору
  4. Ctrl+A или edit -> Select -> Select all выбрать все символы
  5. Подсказки ⇒ Четкие инструкции
  6. Ctrl+Shift+F или element -> font info открыть информацию о шрифте
  7. Переименовать шрифт (например, в оригинальное имя + '_nohints')
  8. Сохранить отредактированный шрифт в .fonts каталог в вашем доме, через file -> generate fonts, убедившись, что вы используете формат, который читает Ubuntu (см. следующий шаг)
  9. Очистить кэш шрифтов fc-cache -rv - после его вывода, чтобы убедиться, что ваш новый файл шрифта был выбран (например, .sfd не но .ttf делает).
  10. Запустите Netbeans и используйте созданный вами шрифт в качестве шрифта редактора.

Нет, не идеально и да, немного хлопот, но все же мир различий. Надеюсь, это поможет.

Добавлять

--laf Nimbus -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd

или же

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal

в файл: netbeans.config. Вы можете найти его в папке $NETBEANS_HOME/etc/. Уменьшите шрифт вашего приложения от системных настроек.

Источник

Сглаживание шрифтов не работает должным образом в приложениях Ubuntu Java Swing.

Добавлять:

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd

в netbeans.config в конце netbeans_default_options строка.

Вы можете найти файл конфигурации в папке $NETBEANS_HOME/etc/ (например, /home/<user_name>/<neatbeans_folder>/etc/netbeans.conf)

Пример:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dnetbeans.logger.console=true -J-ea -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd"

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

Тогда я нашел это: http://youtrack.jetbrains.com/issue/IDEA-57233

В основном: Ubuntu 13.10, Netbeans (7.3), патчи шрифтов Infinality для freetype, OpenJDK7 и патчи к нему для исправления неутешительной обработки шрифтов Swings. И это "просто сработало"!!!

Скопировано здесь в случае, если эта ссылка умирает:

  1. установить freetype

    $ sudo apt-get install libfreetype6
    
  2. установить патч бесконечности

    $ sudo add-apt-repository ppa:no1wantdthisname/ppa
    $ sudo apt-get update
    $ sudo apt-get install fontconfig-infinality
    

    Я должен был сделать следующее потом:

    $ sudo rm /etc/fonts/conf.avail/52-infinality.conf
    $ sudo ln -s /etc/fonts/infinality/infinality.conf /etc/fonts/conf.avail/52-infinality.conf
    

    Чтобы использовать Windows 7, как рендеринг шрифтов, сделайте следующее:

    $ sudo /etc/fonts/infinality/infctl.sh setstyle win7
    

    Установите для USE_STYLE значение "WINDOWS7" в /etc/profile.d/infinality-settings.sh

  3. установить исправленный шрифт OpenJDK

    $ sudo add-apt-repository ppa:no1wantdthisname/openjdk-fontfix
    $ sudo apt-get update
    $ sudo apt-get install openjdk-7-jdk
    

    В .../etc/netbeans.conf,

    netbeans_default_options включает в себя: -J-Dawt.useSystemAAFontSettings=lcd а также -J-Dsun.java2d.xrender=true"

    и установить netbeans_jdkhome="/usr/lib/jvm/java-1.7.0-openjdk-amd64"

Это изменило мои шрифты Netbeans с 1990-х годов до сегодняшних дней. И теперь я могу использовать Inconsolata в качестве шрифта редактора Netbeans, и он выглядит БОЛЬШИМ.

Снимок экрана по запросу: (фактический текст более четкий, чем этот снимок. Что-то в снимке слегка размыло).

Это не так плохо, что шрифт..

Тем не менее, это Java-приложение и как особый способ обработки шрифтов.

Если вы хотите изменить только размер шрифта, вы можете запустить Netbeans с параметром --fontsize:

netbeans --fontsize 12

Если вы хотите изменить тип шрифта, это немного более сложно изменить параметры среды, и эта статья очень хорошо объясняет:

https://wiki.archlinux.org/index.php/Java_Runtime_Environment_Fonts

Это для ArchLinux, но я думаю, что это будет работать и в Ubuntu, поскольку Java является универсальным программным обеспечением.

У меня была такая же проблема на Ubuntu 12.04 и Netbeans 7.2.

Я пытался добавить -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd в netbeans.conf но это не решило проблему.

Затем я увидел комментарий к проблеме высоты строки в ошибке NetBeans 215785. Установка высоты строки редактора на 1.0 вместе с настройками AA в netbeans.conf решил мою проблему.

Вы можете использовать JetBrains Runtime для рендеринга шрифтов.

  1. Загрузить JDK - https://bintray.com/jetbrains/intellij-jbr/jbrsdk8-linux-x64/1638.3
  2. Извлечь в папку /home/user/jre
  3. Отредактируйте файл etc / netbeans.conf:
netbeans_jdkhome="/home/user/jre"
  1. ПРИБЫЛЬ

После и до: https://bender.kr.ua/netbeans-and-fonts/

Добавьте следующий код в конец netbeans_default_options ваш netbeans.conf файл.

-J-Dawt.useSystemAAFontSettings=on

Это позволит использовать системные шрифты.

Пройдя еще один шаг к ручным способам, я подготовил специальный шрифт, названный "Ubuntu Mono Nohinting", чтобы обойти проблему рендеринга с приложениями Java Swing, такими как IDE NetBeans, IntelliJ IDEA и PyCharm. Информация о подсказках шрифта была удалена из исходного семейства шрифтов Ubuntu Mono.

Как установить

  • скачайте zip-файл отсюда
  • извлечь его
  • откройте *.ttf с помощью Font Viewer для установки.
  • или вы можете вручную скопировать *.ttf в ~/.local/share/fonts/,

Как пользоваться

  • Выберите "Ubuntu Mono Nohinting" в конфигурации редактора.

Скриншоты

Ubuntu Mono Шрифт с темой PyCharm Monokai

Ubuntu Mono Шрифт с темой PyCharm Monokai

Ubuntu Mono Nohinting Шрифт с темой PyCharm Monokai

Ubuntu Mono Nohinting Шрифт с темой PyCharm Monokai

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

В любом случае я следовал всем возможным путеводителям. Я использую Ubuntu 13.10 и netbeans 7.3 (да, я люблю нестабильные вещи)

  1. создать папку.font в моей папке пользователя.
  2. скопировал все нужные мне шрифты в эту папку.
  3. добавил следующую строку в файл netbeans.conf

найти его, запустив:

locate netbeans.conf

отредактируйте его и добавьте следующее в кавычки, как предложено выше

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal
  1. Запустите обновление NetBeans, которое, я думаю, сработало, теперь у меня есть прекрасный выбор шрифтов и у меня есть больше шрифтов для выбора, чем для написания кода (несмешная шутка).

Я надеюсь, что это поможет вам.

Лично я думаю, что общее появление Netbeans по умолчанию в Linux немного разочаровывает, особенно если учесть, как хорошо это выглядит на других платформах. К счастью, изменение внешнего вида (LAF) может быть легко сделано изнутри IDE. В зависимости от вашего выбора, это часто улучшает внешний вид шрифтов.

Чтобы изменить LAF, сделайте следующее: Нажмите Tools >> Options. В диалоговом окне выберите Appearance, затем вкладку Look and Feel. Просто выберите один из LAF. Я предпочитаю Nimbus, но вы можете предпочесть что-то еще.

Также доступны два плагина для Dark LAF: Dark Metal и Dark Nimbus.

Я смог сделать это так (я использую Ubuntu 12.10, также работал на Ubuntu 13.04):


Шаг 1 (это, вероятно, работает во всех версиях Ubuntu):

Сначала я очистил меню с помощью этого плагина Tools -> Plugins -> Settings -> Add:

http://java-swing-ayatana.googlecode.com/files/netbeans-catalog.xml

Как только это место будет добавлено, вам нужно установить плагин, выполнив поиск Java Ayatana (описание будет на испанском языке). Это сделает верхнее и контекстное меню такими же, как в ОС.


Шаг 2 (я не знаю, будет ли это работать во всех версиях Ubuntu):

Затем вы, вероятно, захотите, чтобы шрифты проектов выглядели лучше, что я сделал, чтобы исправить это, запустив это в терминале: sudo apt-get install gnome-tweak-tool Я запустил его и выбрал другой default font Теперь Netbeans выглядит красиво!

Вот скриншот:

введите описание здесь

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

Oracle JDK плохо отображает шрифты. OpenJDK также, похоже, не работает для NetBeans, но творит чудеса для IntelliJ и его братьев и сестер.

Тот, который работал для NetBeans, называется TuxJDK, который по сути улучшен OpenJDK для разработчиков Java, работающих на Linux. Одним из улучшений является превосходный рендеринг шрифтов.

Вот как это использовать:

  1. Загрузите бинарный файл TuxJDK отсюда. ("tuxjdk-static-8.92.03.tar.xz" на момент написания)
  2. Распакуйте tar.xz куда хотите.
  3. Скопируйте расположение каталога TuxJDK.
  4. Откройте файл netbeans.conf, расположенный в каталоге NetBeansInstallationDirectory/etc/.
  5. Найдите строку, которая начинается с "netbeans_jdkhome", и замените путь на путь, скопированный на шаге 3.
  6. Запустите NetBeans и обработайте ваши глаза красивыми шрифтами!

До: NetBeans перед использованием TuxJDK

После: NetBeans после использования TuxJDK

#!/bin/sh

gsettings set org.gnome.desktop.interface font-name 'Ubuntu 10'
sh /home/xxx/netbeans-7.2/bin/netbeans &
sleep 5
gsettings set org.gnome.desktop.interface font-name 'Ubuntu 11'

Я сам сделал немного другое: в моем случае, говоря о версии NetBeans 8.0.1, проблема заключалась в том, что в системе был установлен JDK (Oracle JDK 8.0). После перехода на OpenJDK 8 более приятных шрифтов появились в элементах пользовательского интерфейса.

Я не знаю, является ли это хорошим ответом, потому что он может работать не везде, но, безусловно, при попытке переключения JDK (будь то OpenJDK или Oracle JDK) вы можете увидеть разницу.

Просто установите Zulu JDK с http://zulu.org/:)

У меня была та же проблема на Mint 12. Я решил ее, введя "Дополнительные настройки"->"Шрифты" и уменьшив шрифт по умолчанию с 11 до 10. Я опустил все шрифты в списке до согласованности.

Должна быть какая-то проблема со шрифтом Cantarell 11.

Другие вопросы по тегам