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

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

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

enter image description here

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

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

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

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

70
задан 19 October 2015 в 11:23

17 ответов

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

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

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

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

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

38
ответ дан 19 October 2015 в 11:23

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

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

-1
ответ дан 19 October 2015 в 11:23

Я пробовал буквально все решения, которые мог найти, и ни одно из них не работало, кроме использования другого 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

0
ответ дан 19 October 2015 в 11:23
#!/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'
0
ответ дан 19 October 2015 в 11:23

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

0
ответ дан 19 October 2015 в 11:23

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

-J-Dawt.useSystemAAFontSettings=on

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

1
ответ дан 19 October 2015 в 11:23

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


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

Сначала я очистил меню с помощью этого плагина Инструменты -> Плагины -> Настройки -> Добавить :

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

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


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

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

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

enter image description here

1
ответ дан 19 October 2015 в 11:23

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

Чтобы изменить LAF, сделайте следующее: Нажмите Инструменты >> Параметры. В диалоговом окне выберите «Внешний вид», затем вкладку «Внешний вид». Просто выберите один из LAF. Я предпочитаю Nimbus, но вы можете предпочесть что-нибудь другое.

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

0
ответ дан 19 October 2015 в 11:23

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

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

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

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

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

Скриншоты

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

Ubuntu Mono Font with PyCharm Monokai theme

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

Ubuntu Mono Nohinting Font with PyCharm Monokai theme

2
ответ дан 19 October 2015 в 11:23

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

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

0
ответ дан 19 October 2015 в 11:23

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

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

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

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

locate netbeans.conf

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

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

Надеюсь, это вам поможет.

1
ответ дан 19 October 2015 в 11:23

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

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

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

2
ответ дан 19 October 2015 в 11:23

Не так уж и плохо, что шрифт...

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

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

netbeans --fontsize 12

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

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

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

2
ответ дан 19 October 2015 в 11:23

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

Добавить:

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

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

Конфигурационный файл находится в папке $NETBEANS_HOME/etc/ (например, /home/<имя_пользователя>/<папка_бобы>/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"
6
ответ дан 19 October 2015 в 11:23

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

Потом я нашел это: http://youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038

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

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

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

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

     $ sudo add-apt-repository ppa:no1wantdthisname/ppa
    $ sudo apt-get update
    $ sudo apt-получить установку шрифта 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 settyle 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-получить установку openjdk-7-jdk
    

    In .../etc/netbeans.conf,

    netbeans_default_options includes: -J-Dawt.useSystemAAFontSettings=lcd and -J-Dsun.java2d.xrender=true"

    and set netbeans_jdkhome="/usr/lib/jvm/java-1.7.0-openjdk-amd64"

Это изменило мои шрифты Netbeans с приемлемых в 1990-х годах до потрясающих в наши дни. И теперь я могу использовать Inconsolata в качестве шрифта редактора Netbeans, и он выглядит GREAT.

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

7
ответ дан 19 October 2015 в 11:23

Add

--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/. Сделайте шрифт вашего приложения меньше из системных настроек.

Source

17
ответ дан 19 October 2015 в 11:23

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

  1. Загрузить JDK - https: // bintray .com / jetbrains / intellij-jbr / jbrsdk8-linux-x64 / 1638.3
  2. Извлечь в папку / home / u ser / jre
  3. Редактировать etc / netbeans.conf :
netbeans_jdkhome="/home/user/jre"
  1. PROFIT

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

1
ответ дан 22 November 2019 в 23:28

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

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