Hässliche Schriftarten in Netbeans - Wie kann ich dafür sorgen, dass die Systemschriftart verwendet wird?

69

Ich habe Probleme damit, dass die Netbeans-Schriftart gut aussieht. Dies ist ein Problem, seit ich Ubuntu ~ 8 ausprobiert habe. Aus irgendeinem Grund sehen Schriften so aus, als würden sie nicht nur in Netbeans eine Subpixel-Glättung erhalten, für den Rest der Anwendungen sehen sie perfekt aus.

Schau dir an, wie hässlich der Screenshot ist:

Bildbeschreibung hier eingeben

Es ist nicht nur der Codebereich, sondern jede Schriftart in der Anwendung sieht so aus. Ich habe mich umgesehen und anscheinend sollte die folgende Zeile zur .bashrcDatei hinzugefügt werden, um das Problem zu beheben. In meinem Fall war dies jedoch nicht der Fall:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

Ich glaube, es betrifft möglicherweise nur Java-basierte Anwendungen, aber ich konnte keine andere Java-App testen, um die Schriftarten zu überprüfen.

Weiß jemand, was ich tun kann, um dies zu beheben? Wie kann ich dafür sorgen, dass Netbeans die Systemschriftart verwendet?

Javier Villanueva
quelle
Ich habe auch nach einer Lösung dafür gesucht, aber es scheint einfach keine zu geben. Insbesondere betrifft es Swing-basierte Anwendungen. Sie werden feststellen, dass Eclipse zum Beispiel gut aussieht. Ich bin eigentlich nicht sonderlich besorgt über die Codeschrift (sie ist veränderbar und ich finde, dass sie mit Droid Sans Mono bei 11pt in Ordnung aussieht), aber die Chrom-Schriften ärgern mich wirklich.
Jamie Schembri
Ja, es scheint nur Java-basierte Apps zu betreffen, ich denke darüber nach, meine IDE nur aus diesem Grund zu ändern ..
Javier Villanueva
Eigentlich habe ich Swing speziell erwähnt, weil das Schriftproblem in SWT-Anwendungen wie Eclipse nicht sichtbar ist. In beiden Fällen sind jedoch nur (einige) Java-Anwendungen betroffen. Außerdem kann ich bestätigen, dass das Problem in Netbeans 7.0 RC1 weiterhin besteht.
Jamie Schembri
Du hast recht, ich bin zu Aptana gewechselt und sie sehen dort gut aus. Ich hoffe, ich kann hier Abhilfe schaffen. Ich mag Netbeans wirklich, aber diese Schriften haben mich verrückt gemacht.
Javier Villanueva
1
Ich benutze jetzt 'Droid Sans Mono', Größe 16 mit '-J-Dawt.useSystemAAFontSettings = on --laf javax.swing.plaf.nimbus.NimbusLookAndFeel -J-Dsun.java2d.noddraw = true -J-Dsun. java2d.dpiaware = true '
Karussell

Antworten:

38

Wie bereits in den Kommentaren erwähnt, handelt es sich hierbei um ein Problem mit Java-Swing-Apps unter Linux. Swing verwendet die Gnome-Einstellungen für die Schriftglättung (deaktiviert, Graustufen oder Subpixel) - die Einstellungen für Hinweise werden jedoch ignoriert. Es werden immer vollständige Hinweise verwendet, und wenn Sie Ubuntu mit wenigen oder keinen Hinweisen auf Schriftarten ausführen (wie die meisten Leute, da die Standardeinstellung "Wenige Hinweise" lautet), wird die Schrift deutlich anders aussehen als in anderen Anwendungen. SWT-Anwendungen wie Eclipse sind in Ordnung, aber wenn Sie Netbeans mögen, hilft Ihnen dies nicht weiter.

Vorsichtsmaßnahme: Für die folgende Problemumgehung spreche ich nur über die Editor-Schriftart, da dies in einer IDE für mich wichtig ist. Sie können es auch auf die Menü-Schriftarten usw. anwenden, aber das könnte etwas übertrieben sein.

Die einzige brauchbare Lösung, die ich hier gefunden habe : Verwenden Sie Fontforge, um die Schriftart Ihrer Wahl zu bearbeiten und alle Hinweisinformationen aus der Schriftart selbst zu entfernen. Speichern Sie sie dann als neue Schriftart und verwenden Sie diese in Netbeans.

  1. sudo apt-get install fontforge
  2. Starten Sie Fontforge
  3. Öffnen Sie eine Schriftart Ihrer Wahl
  4. Ctrl+ Aoder edit -> Select -> Select all, um alle Zeichen auszuwählen
  5. Hinweise ⇒ Klare Anweisungen
  6. Ctrl+ Shift+ FOder element -> font infodie Schriftart Infos zu öffnen
  7. Schriftart umbenennen (z. B. in ursprünglichen Namen + '_nohints')
  8. Speichern Sie bearbeitete Schriftarten in dem .fontsVerzeichnis in Ihrem Zuhause, file -> generate fontsund stellen Sie sicher, dass Sie ein von Ubuntu gelesenes Format verwenden (siehe nächster Schritt).
  9. Leeren Sie den Font-Cache fc-cache -rv- Verfolgen Sie die Ausgabe, um sicherzustellen, dass Ihre neue Font-Datei aufgenommen wurde (z. B. .sfdnicht, .ttfaber).
  10. Führen Sie Netbeans aus und verwenden Sie die Schriftart, die Sie als Editor-Schriftart erstellt haben

Nein, nicht perfekt und ja, ein bisschen stressig, aber dennoch eine Welt voller Unterschiede. Ich hoffe, das hilft.

nem75
quelle
3
Ich habe Monospacedie Standardeinstellung in NetBeans verwendet. Ich habe versucht, das Problem zu beheben Ubuntu Monospace, und jetzt sieht es besser aus, aber dann ist es noch schlimmer Monospace. Danke trotzdem. Wenn ich einen MonospaceSpeicherort im Dateisystem finden könnte , würde ich versuchen, ihn ebenfalls zu beheben.
Umpirsky
Vielen Dank ... Die einzige funktionierende Lösung, die ich gefunden habe. Ich wurde verrückt damit !!
Stefanos Kalantzis
Nicht sicher , welche Font - Datei ist meine Schrift ... Got 9 verschiedene Font - Dateien für die Ubuntu Schrift allein, so musste konsultieren font.ubuntu.com auf Figur , die man zu basteln. Hoffe das wird funktionieren.
Matt
17

Hinzufügen

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

oder

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

in die Datei: netbeans.config. Sie finden es im Ordner $ NETBEANS_HOME / etc /. Verkleinern Sie Ihre Anwendungsschrift in den Systemeinstellungen.

Quelle

Hanynowsky
quelle
9
Die Konfigurationsdatei befindet sich normalerweise unter /home/<user_name>/<neabeans_folder>/etc/netbeans.conf.
Bibhas
2
Hat bei mir nicht funktioniert :(
szx
Die Konfigurationsdatei befindet sich in /etc/netbeans.conf. Die erste Zeile hat bei mir nicht funktioniert, aber die zweite hat es geschafft
Christian Vielma
Nach dem Hinzufügen dieser Zeile sehe ich keinen Unterschied. EIN . ist zum Beispiel immer noch nur ein Pixel, wo es in jeder anderen App gut zur Geltung kommt.
NoBugs
Dieser hat den Trick für mich getan.
Nico M
7

Ich weiß, dass dies eine alte Frage ist, aber bei meiner Suche nach dem gleichen Problem habe ich alle Tricks hier ohne Glück versucht. Ich dachte, ich müsste nur mit schrecklichem Text in Netbeans leben.

Dann habe ich folgendes gefunden: http://youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038

Grundsätzlich: Ubuntu 13.10, Netbeans (7.3), Infinality-Font-Patches für Freetype, OpenJDK7 und Patches dafür, um das düstere Font-Handling von Swings zu beheben. Und es hat "einfach geklappt" !!!

Hier kopiert für den Fall, dass der Link stirbt:

  1. freetype installieren

    $ sudo apt-get install libfreetype6
    
  2. Installieren Sie den Infinality Patch

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

    Ich musste danach Folgendes tun:

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

    Gehen Sie wie folgt vor, um Windows 7 wie das Rendern von Schriftarten zu verwenden:

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

    Setzen Sie USE_STYLE in /etc/profile.d/infinality-settings.sh auf "WINDOWS7"

  3. Installiere die Schriftart OpenJDK

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

    In .../etc/netbeans.conf,

    netbeans_default_optionsbeinhaltet: -J-Dawt.useSystemAAFontSettings=lcdund -J-Dsun.java2d.xrender=true"

    und setzen netbeans_jdkhome="/usr/lib/jvm/java-1.7.0-openjdk-amd64"

Dies änderte meine Netbeans-Schriften von 1990 bis heute. Und ich kann jetzt die Inconsolata als meine Netbeans-Editor-Schriftart verwenden und sie sieht GROSSARTIG aus.

Screenshot wie gewünscht: (Tatsächlicher Text ist klarer als dieses Capture. Etwas im Capture hat es leicht unscharf gemacht.) Bildbeschreibung hier eingeben

Chris Holt
quelle
als fußnote: das "-J-Dsun.java2d.xrender = true" führte einige renderfehler ein. Wenn Sie den Wert auf false setzen, werden die Renderfehler beim schnellen Scrollen behoben, die schönen Schriftarten werden jedoch nicht beeinträchtigt.
Chris Holt
Ein kurzer Hinweis zur Nachverfolgung: Wenn das OpenJDK-Paket vor dem font-fixed-Paket aktualisiert wird und Sie es anwenden, können Sie wie folgt zurückkehren: Für OpenJDK-7-JDK, OpenJDK-7-JRE und OpenJDK-7-JRE-OHNE KOPF , deinstallieren Sie sie und installieren Sie dann die vorherigen Versionen aus dem Font Fix Repo. apt-cache policy <package>zeigt Ihnen die Versionen. dh 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
Chris Holt
Kannst du ein Bild anhängen, wie es jetzt aussieht?
Roman
5

Das Anti-Aliasing der Schriftarten funktioniert in Ubuntu Java Swing-Anwendungen nicht richtig.

Hinzufügen:

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

zu netbeans.config am Ende der netbeans_default_optionsZeichenfolge.

Sie finden die Konfigurationsdatei im Ordner $ NETBEANS_HOME / etc / (zB /home/<user_name>/<neatbeans_folder>/etc/netbeans.conf)

Beispiel:

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"
R. Oosterholt
quelle
Für mich lag die Konfigurationsdatei unter /etc/netbeans.conf(und wurde von anderen Stellen aus mit Sym-Links verknüpft).
Cedric Reichenbach
Scheinbare Quelle: rdeeson.com/weblog/159/fix-ugly-fonts-in-netbeans-under-linux - arbeitete für mich
loxaxs
2

Es ist nicht so schlimm, dass Schriftart ..

Dies ist jedoch eine Java-Anwendung und eine besondere Art, mit Schriftarten umzugehen.

Wenn Sie nur die Schriftgröße ändern möchten, können Sie Netbeans mit dem Parameter "--fontsize" starten :

netbeans --fontsize 12

Wenn Sie den Schriftartentyp ändern möchten, ist es etwas schwieriger, die Umgebungsparameter zu ändern, und dieser Artikel erklärt sehr gut:

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

Dies ist für ArchLinux, aber ich denke, es wird auch in Ubuntu funktionieren, da Java eine universelle Software ist.

Pisu
quelle
2

Ich hatte das gleiche Problem mit Ubuntu 12.04 und Netbeans 7.2.

Ich habe versucht, hinzuzufügen -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd, netbeans.confaber es hat das Problem nicht gelöst.

Dann sah ich den Problemkommentar bezüglich der Zeilenhöhe bei Netbeans Bug 215785 . Das Setzen der Editor-Zeilenhöhe auf 1.0 zusammen mit AA-Einstellungen netbeans.conflöste mein Problem.

Caner
quelle
1

Ich konnte das so machen (ich benutze Ubuntu 12.10, habe auch an Ubuntu 13.04 gearbeitet):


Schritt 1 (Das funktioniert wahrscheinlich in allen Ubuntu-Versionen):

Zuerst habe ich die Menüs mit diesem Plugin aufgeräumt Tools -> Plugins -> Settings -> Add:

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

Sobald dieser Speicherort hinzugefügt wurde, müssen Sie das Plugin installieren, indem Sie nach suchen Java Ayatana(die Beschreibung wird auf Spanisch sein). Dadurch werden das Hauptmenü und das Kontextmenü mit dem Betriebssystem identisch.


Schritt 2 (Ich weiß nicht, ob dies in allen Ubuntu-Versionen funktioniert):

Als nächstes möchten Sie wahrscheinlich, dass die Schriftarten des Projekts auch besser aussehen. Was ich getan habe, um das Problem zu beheben, wurde im Terminal ausgeführt: sudo apt-get install gnome-tweak-toolIch habe es gestartet und ein anderes ausgewählt. default fontJetzt sieht Netbeans hübsch aus!

Hier ist ein Screenshot:

Bildbeschreibung hier eingeben

Geh von meinem Rasen runter
quelle
Das Ändern der 'Interface'-Schriftart in den Tweak-Tools hat mir geholfen. Ich hatte nur Probleme mit diesen Texten (halbiert!)
Makiavelo
1

Ich habe gerade diese Beiträge gesehen und versucht, mein Schriftenproblem zu beheben. Ich hatte auch ein Problem. Ich konnte nur 4 Schriften auswählen, die alle lahm waren großer Fan von Netbeans und ich wusste, dass ich hier eine Lösung finden kann.

Auf jeden Fall folgte ich allen möglichen Anweisungen. Ich benutze Ubuntu 13.10 und Netbeans 7.3 (ja, ich liebe das instabile Zeug)

  1. Erstelle einen .font Ordner in meinem Benutzerordner.
  2. kopierte alle Schriften, die ich hatte, in diesen Ordner.
  3. hat die folgende Zeile zur Datei netbeans.conf hinzugefügt

finde es durch Laufen:

locate netbeans.conf

Bearbeiten Sie es und fügen Sie Folgendes in die Anführungszeichen ein, wie oben vorgeschlagen

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal
  1. Führe ein NetBeans-Update aus, von dem ich glaube, dass es die Magie war, jetzt habe ich eine schöne Schriftartauswahl und habe mehr Schriftarten zur Auswahl als Code zum Schreiben (lustiger Scherz).

Ich hoffe es hilft dir.

Talsibony
quelle
1

Um ein Rendering-Problem mit Java-Swing-Anwendungen wie NetBeans IDE, IntelliJ IDEA und PyCharm zu umgehen, habe ich eine spezielle Schriftart mit dem Namen "Ubuntu Mono Nohinting" erstellt. Die Hinweise auf Schriftarten wurden aus der ursprünglichen Ubuntu Mono-Schriftfamilie entfernt.

Wie installiert man

  • Laden Sie die ZIP-Datei hier herunter
  • extrahiere es
  • Öffnen Sie * .ttf mit Font Viewer , um es zu installieren.
  • oder Sie können * .ttf manuell in kopieren ~/.local/share/fonts/.

Wie benutzt man

  • Wählen Sie "Ubuntu Mono Nohinting" in der Editorenkonfiguration.

Screenshots

Ubuntu Mono Font mit PyCharm Monokai Theme

Ubuntu Mono Font mit PyCharm Monokai Theme

Ubuntu Mono Nohinting Font mit PyCharm Monokai-Thema

Ubuntu Mono Nohinting Font mit PyCharm Monokai-Thema

Nobuto Murata
quelle
1

Fügen Sie den folgenden Code am Ende netbeans_default_optionsIhrer netbeans.confDatei hinzu.

-J-Dawt.useSystemAAFontSettings=on

Dabei werden die Systemschriftarten verwendet.

Kevin RED
quelle
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'
dämonisch
quelle
7
Willkommen bei Ask Ubuntu! Diese Antwort wäre von großem Vorteil, wenn Sie sie bearbeiten würden, um eine Erklärung hinzuzufügen (oder dem Benutzer zumindest genau mitzuteilen, was mit diesen Zeilen zu tun ist).
Eliah Kagan
0

Persönlich denke ich, dass das Standard-Erscheinungsbild von Netbeans unter Linux ein bisschen enttäuschend ist, besonders wenn man bedenkt, wie gut es auf anderen Plattformen aussieht. Glücklicherweise kann das Ändern des Look & Feels (LAF) problemlos in der IDE vorgenommen werden. Abhängig von Ihrer Auswahl verbessert dies häufig das Erscheinungsbild von Schriftarten.

Gehen Sie wie folgt vor, um das LAF zu ändern: Klicken Sie auf Extras >> Optionen. Wählen Sie im Dialogfeld Darstellung und dann die Registerkarte Erscheinungsbild. Wählen Sie einfach eines der LAFs aus. Ich bevorzuge Nimbus, aber vielleicht bevorzugen Sie etwas anderes.

Es gibt auch zwei 'Dark LAFs' Plugins: Dark Metal und Dark Nimbus.

Larry Hignight
quelle
0

Ich selbst habe etwas anderes gemacht: Bei NetBeans 8.0.1 war das Problem das auf dem System installierte JDK (Oracle JDK 8.0). Nach dem Umstieg auf OpenJDK 8 erschienen in den Elementen der Benutzeroberfläche schönere Schriftarten.

Ich weiß nicht, ob das eine gute Antwort ist, weil es möglicherweise nicht überall funktioniert, aber wenn Sie JDK wechseln (sei es OpenJDK oder Oracle JDK), werden Sie möglicherweise einen Unterschied feststellen.

luke1985
quelle
0

Ich habe buchstäblich jede Lösung ausprobiert, die ich finden konnte, und keine funktionierte außer mit einem anderen Standard-JDK für NetBeans.

Das JDK von Oracle rendert Schriftarten nicht gut. OpenJDK scheint auch nicht für NetBeans zu funktionieren, wirkt aber Wunder für IntelliJ und seine Geschwister.

Die für NetBeans funktionierende Version heißt TuxJDK und ist im Wesentlichen OpenJDK- optimiert für Java-Entwickler, die unter Linux arbeiten. Eine der Verbesserungen ist das hervorragende Rendern von Schriftarten .

So verwenden Sie es:

  1. Laden Sie die TuxJDK-Binärdatei hier herunter . ("tuxjdk-static-8.92.03.tar.xz" zum Zeitpunkt des Schreibens)
  2. Extrahieren Sie die tar.xz, wo immer Sie möchten.
  3. Kopieren Sie den Speicherort des TuxJDK-Verzeichnisses.
  4. Öffnen Sie die Datei netbeans.conf in NetBeansInstallationDirectory / etc /.
  5. Suchen Sie die Zeile, die mit "netbeans_jdkhome" beginnt, und ersetzen Sie den Pfad durch den in Schritt 3 kopierten.
  6. Starten Sie und NetBeans und behandeln Sie Ihre Augen mit einigen schönen Schriftarten!

Vorher: NetBeans vor der Verwendung von TuxJDK

After: NetBeans nach Verwendung von TuxJDK

Rohit Awate
quelle
0

Installiere einfach zulu jdk von http://zulu.org :)

Arun
quelle
Was tut es?
PerlDuck
Die zulu jdk haben die Schriftwiedergabe verbessert. So kann es das gleiche Ergebnis wie tuxjdk geben.
Arun
-1

Ich hatte das gleiche Problem mit Mint 12. Ich habe es gelöst, indem ich die "Erweiterten Einstellungen" -> "Schriften" eingegeben und die Standardschrift von 11 auf 10 reduziert habe. Ich habe alle Schriften in der Liste auf Konsistenz gesenkt.

Es muss ein Problem mit der Cantarell 11-Schriftart geben.

Alan B. Dee
quelle