Потворні шрифти в Netbeans - Як я можу змусити його використовувати системний шрифт?


69

У мене виникають проблеми з отриманням шрифту Netbeans, щоб він виглядав добре, це була проблема з моменту, як я спробував Ubuntu ~ 8. Чомусь шрифти виглядають так, що вони не отримують згладжування субпікселів лише в Netbeans, для решти програм вони виглядають ідеально.

Подивіться, наскільки потворний скріншот:

введіть тут опис зображення

Це не лише область коду, але кожен шрифт у програмі виглядає так. Я озирався і, мабуть, додавання наступного рядка до .bashrcфайлу повинно вирішити проблему, але в моєму випадку це не вдалося:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

Здається, це може вплинути лише на програми на базі Java, але я не зміг протестувати інший додаток Java, щоб перевірити шрифти.

Хтось знає, що я можу зробити, щоб виправити це? Як змусити Netbeans використовувати системний шрифт?


Я також шукав і шукав виправлення для цього, але там, схоже, такого немає. Зокрема, це стосується додатків на базі Swing; ви побачите, що Eclipse, наприклад, виглядає чудово. Я насправді не надто переймаюся шрифтом коду (він мінливий, і я вважаю, що він виглядає нормально з Droid Sans Mono в 11pt), але хромовані шрифти нас справді дратують.
Джеймі Шембрі

Так, це, мабуть, впливає лише на програми на базі Java, я думаю про зміну свого IDE саме через це ..
Хав'єр Віллануєва

Власне, я спеціально згадав Swing, оскільки проблема шрифту не помітна в SWT-програмах, таких як Eclipse. У будь-якому випадку це впливає лише на (деякі) програми Java. Також я можу підтвердити, що проблема все ще існує в Netbeans 7.0 RC1.
Джеймі Шембрі

Ви маєте рацію, що я перейшов на Aptana, і вони там добре виглядають, сподіваюся, що я можу знайти виправлення для цього, мені дуже подобаються Netbeans, але ці шрифти зводили мене з розуму.
Хав'єр Віллануєва

1
Я зараз використовую 'Droid Sans Mono', розмір 16 з '-J-Dawt.useSystemAAFontSettings = on --laf javax.swing.plaf.nimbus.NimbusLookAndFeel -J-Dsun.java2d.noddraw = true -J-Dsun. java2d.dpiaware = true '
Каруссел

Відповіді:


38

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

Caveat: Для наступного вирішення я кажу лише про шрифт редактора, тому що в 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 і використовуйте створений вами шрифт як шрифт редактора

Ні, не ідеально і так, трохи клопоту, але все-таки світ різниці. Сподіваюся, що це допомагає.


3
Я використовував Monospace, за замовчуванням в NetBeans. Я намагався виправити Ubuntu Monospace, і зараз це виглядає краще, але все ж гірше Monospace. Все одно, дякую. Якби я міг знайти Monospaceмісцезнаходження у файловій системі, я б спробував це виправити.
умпірський

Дуже дякую ... Єдине діюче рішення, яке я знайшов. Я зійшов з розуму з цим !!
Стефанос Каланціс

Не впевнений, який шрифт є моїм шрифтом ... Отримав 9 різних файлів шрифтів лише для шрифту Ubuntu, тому потрібно було проконсультуватися з font.ubuntu.com, щоб визначити, який з них поцікавити . Сподіваюся, це спрацює.
мат

17

Додайте

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

або

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

до файлу: netbeans.config. Ви можете знайти його в папці $ NETBEANS_HOME / тощо /. Зменшіть шрифт програми за допомогою системних налаштувань.

Джерело


9
Конфігураційний файл зазвичай знаходиться в /home/<user_name>/<neabeans_folder>/etc/netbeans.conf.
Бібхас

2
Не працювало для мене :(
szx

Конфігураційний файл знаходиться в /etc/netbeans.conf Перший рядок для мене не працював, але другий зробив трюк
Christian Vielma

Я не бачу різниці після додавання цього рядка. А. Це лише один піксель, наприклад, де він добре відображається в будь-якому іншому додатку.
NoBugs

Цей зробив для мене трюк.
Ніко М

7

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

Потім я виявив це: http://youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038

В основному: Ubuntu 13.10, Netbeans (7.3), патчі шрифтів Infinality до вільного типу, OpenJDK7 та патчі до нього, щоб виправити помаранчевий шрифт Swings. І це "просто спрацювало" !!!

Скопіюється сюди у випадку, якщо посилання вмирає:

  1. встановити фрітейп

    $ 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, і це виглядає ВЕЛИКО.

Знімок екрана за запитом: (фактичний текст чіткіший за цей захоплення. Щось у кадрі трохи розмиває його). введіть тут опис зображення


як виноска: "-J-Dsun.java2d.xrender = true" ввів деякі глюки візуалізації. встановивши значення false, виправляв глюки візуалізації при швидкій прокрутці, але не впливав на гарні шрифти.
Кріс Холт

Швидке зауваження: якщо оновлення пакета openjdk оновлено до фіксованого шрифту, і ви застосуєте його, ви можете повернути назад так: для openjdk-7-jdk, openjdk-7-jre та openjdk-7-jre-headless , видаліть їх, а потім встановіть попередні версії з репо реплікації шрифту. apt-cache policy <package>покаже вам версії. тобто apt-get remove openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless apt-get install openjdk-7-jdk=7u51-2.4.4-0ubuntu0.13.10.1ppa2 openjdk-7-jre=7u51-2.4.4-0ubuntu0.13.10.1ppa2 openjdk-7-jre-headless=7u51-2.4.4-0ubuntu0.13.10.1ppa2
Кріс Холт

чи можете ви прикріпити зображення, як це виглядає зараз?
Роман

5

У програмах 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"

Для мене конфігураційний файл знаходився в /etc/netbeans.conf(і пов'язаний з іншими місцями).
Седрік Райхенбах

Мабуть, джерело: rdeeson.com/weblog/159/fix-ugly-fonts-in-netbeans-under-linux - працював для мене
loxaxs

2

Це не так вже й погано, що шрифт ..

Однак це програма Java і як особливий спосіб обробки шрифтів.

Якщо ви хочете змінити лише розмір шрифту, ви можете запустити Netbeans за допомогою параметра "--fontsize" :

netbeans --fontsize 12

Якщо ви хочете змінити тип шрифту, це трохи складніше, змінюючи параметри середовища, і ця стаття дуже добре пояснює:

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

Це для ArchLinux, але я думаю, він буде працювати і в Ubuntu, оскільки Java є універсальним програмним забезпеченням.


2

У мене був такий самий випуск на Ubuntu 12.04 та Netbeans 7.2.

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

Тоді я побачив коментар випуску щодо висоти лінії в поминці Netbeans 215785 . Встановлення висоти рядка редактора в 1,0 разом із настройками AA netbeans.confвирішило мою проблему.


1

Мені вдалося зробити це так (я використовую 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 виглядає досить!

Ось скріншот:

введіть тут опис зображення


Зміна шрифту "Інтерфейс" на інструментах для налаштування зробила для мене хитрість. У мене були лише проблеми з тими текстами (розрізані навпіл!)
Makiavelo

1

Щойно я побачив цю публікацію і спробував виправити проблему з шрифтами, у мене також був випуск, я міг вибрати лише 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, яке, на мою думку, зробило чари тепер у мене є гарний вибір шрифту та більше шрифтів, а потім вибрати код для запису (неприємний жарт).

Сподіваюся, це допоможе тобі.


1

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

Як встановити

  • завантажте поштовий файл звідси
  • витягнути його
  • відкрийте * .ttf за допомогою програми перегляду шрифтів для встановлення.
  • або ви можете скопіювати * .ttf вручну ~/.local/share/fonts/.

Як користуватись

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

Скріншоти

Ubuntu Mono Font з темою PyCharm Monokai

Ubuntu Mono Font з темою PyCharm Monokai

Ubuntu Mono Nohinting Font з темою PyCharm Monokai

Ubuntu Mono Nohinting Font з темою PyCharm Monokai


1

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

-J-Dawt.useSystemAAFontSettings=on

Це дозволить використовувати системні шрифти.


0
#!/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'

7
Ласкаво просимо до Ask Ubuntu! Ця відповідь істотно піде на користь, якби ви її відредагували, щоб додати пояснення (або принаймні сказати користувачеві, що саме робити з цими рядками).
Елія Каган

0

Особисто я вважаю, що загальна поява Netbeans за Linux за замовчуванням трохи розчаровує, особливо враховуючи, наскільки це добре виглядає на інших платформах. На щастя, змінити зовнішній вигляд (LAF) можна легко зсередини IDE. Залежно від вашого вибору, це часто покращить вигляд шрифтів.

Щоб змінити LAF, виконайте наступне: Клацніть на Інструменти >> Параметри У діалоговому вікні виберіть Зовнішній вигляд, потім вкладку Огляд і відчуття. Просто виберіть один із ЛАФ. Мої переваги - Німбус, але ви можете віддати перевагу чомусь іншому.

Також доступні два плагіни "Dark LAFs": Dark Metal і Dark Nimbus.


0

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

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


0

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

JDK Oracle погано відображає шрифти. 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 / тощо /.
  5. Знайдіть рядок, який починається з "netbeans_jdkhome", і замініть шлях на той, який скопіювали на кроці 3.
  6. Запустіть і NetBeans і пригощайте свої очі гарними шрифтами!

Перед: NetBeans перед використанням TuxJDK

Після: NetBeans після використання TuxJDK



-1

У мене був такий самий випуск у монетному дворі 12. Я вирішив це, ввівши «Розширені налаштування» -> «Шрифти» та зменшивши шрифт за замовчуванням з 11 до 10. Я знизив усі шрифти у списку до послідовності.

Має бути якась проблема зі шрифтом Cantarell 11.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.