Wie kann man das Schriftarten-Anti-Aliasing in IntelliJ IDEA bei hoher DPI-Auflösung beheben?

98780
Bloke

Ich verwende eine höhere DPI-Einstellung, wodurch IntelliJ (eigentlich Android Studio) Schriftarten durcheinander gebracht hat .

Ich benutze MacType, was meine Schriftarten an anderer Stelle schön rendert, aber ich denke, Java VM fängt es irgendwie ab oder etwas, es bringt mich um.


UPDATE : Wie rpgmaker in seiner Antwort unten sagt, können Sie auch die neueste IntelliJ (ab 2016.1) installieren.

75

11 Antworten auf die Frage

107
guari

Ich bin auf einem hochauflösenden Display und habe mit perfekter Schriftdarstellung gearbeitet. Um dies zu erreichen, müssen Sie:

  • (Unter Linux) Installieren und verwenden Sie Oracle JDK (ich verwende 1.7) und nicht OpenJDK (auch das gepatchte mit fontfix war für mich unbrauchbar). Sehen Sie, wie das geht .

  • Bearbeiten Sie die .vmoptions- Konfigurationsdatei, die Sie im Bin- Installationsordner finden (z. B. studio.vmoptions und für 64bit studio64.vmoptions oder WebStorm.exe.vmoptions usw. entsprechend der Version der installierten IDE), indem Sie folgende Zeilen hinzufügen:
    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true
    -Dsun.java2d.xrender=true

  • Entfernen Sie die Hinweisinformationen aus der Schriftart, die Sie verwenden möchten, und wählen Sie die neue Schriftart in den IntelliJ IDEA- Voreinstellungen aus (Einstellung -> Editor -> Schriftart).
    Wenn Sie nicht wissen, wie das geht, installieren Sie FontForge dann:

    1. Öffnen Sie Ihre Schrift in FontForge
    2. Markieren Sie alle Glyphen über Ctrl+Aund löschen Sie alle Hinweise (Hinweise -> Hinweise löschen).
    3. Wählen Sie erneut Glyphen aus und verwenden Sie Hinweise -> Anweisung löschen
    4. Speichern Sie die Schrift unter einem anderen Namen (Datei -> Schriftarten generieren)
    5. Installieren Sie die neue Schriftart und wählen Sie sie in IDEA aus

Wenn Sie die obigen Tipps befolgt haben und beim schnellen Scrollen des Codes Verzögerungen auftreten (dies kann bei Linux-Distributionen mit einem nicht optimierten gpu-Treiber vorkommen), versuchen Sie, die Zeile
-Dsun.java2d.xrender=true
aus der .vmoptions- Datei zu entfernen .

Zum Abschluss noch ein Screenshot des Ergebnisses:

IDE screenshot


(Hier verwendete Schriftarten sind LucidaMAC für die Haupt-IDE und Ubuntu Mono mit entfernten Hinweisinformationen für den Code-Editor.)

Genial! Funktioniert auch in Windows :)) Danke: * Bloke vor 10 Jahren 4
Für mich auf Ubuntu 13.04 und IntelliJ 12.1.5 haben die Einstellungen in der Optionsdatei nichts getan, aber das Entfernen von Hints und Anweisungen aus der Schriftart über `FontForge` hat funktioniert. Ich musste auch ein wenig mit den Einstellungen in Datei-> Einstellungen-> IDE-Einstellungen-> Editor arbeiten Cory Klein vor 10 Jahren 0
Ich folgte den Anweisungen und entfernte Hinweise von Consolas-Schrift, aber das Problem ist, dass IDEA (Android Studio) die Schrift jetzt nicht sieht. Es wird die ursprüngliche Consolas-Schriftart angezeigt. Irgendeine Idee warum? tobik vor 10 Jahren 0
Ich habe das oben auf meinem Windows-Rechner mit hi dpi (3200x1800) ausprobiert. Ich habe die studio.vmoptions wie erwähnt eingestellt, aber noch ist alles verschwommen. Bitte geben Sie an, wenn möglich, ich möchte, dass das funktioniert? Pace vor 10 Jahren 1
@Pace Um verschwommene Schriftarten zu entfernen, müssen Sie die Skalierung der Anzeige für diese Anwendung deaktivieren (klicken Sie mit der rechten Maustaste auf das entsprechende Symbol, wählen Sie "Eigenschaften"), gehen Sie auf die Registerkarte "Kompatibilität" und aktivieren Sie "Deaktivieren der DPI-Skalierung bei hohen DPI-Einstellungen" für x64-Apps in Win8 - Sie sollten das Flag des zugehörigen Registrierungsschlüssels bearbeiten: Öffnen Sie die Datei "Regedit.exe", gehen Sie zu "HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers" und fügen Sie einen Zeichenfolgenwert _REG_SZ_ hinzu, dessen Name den vollständigen Pfad zur Anwendung darstellt ausführbar und deren Wert _HIGHDPIAWARE_) ist;) guari vor 10 Jahren 10
@guari - Kudos an Sie, mein Herr! Ich danke dir sehr. Ich starte diese Woche einen Coursera-Android-Kurs und jetzt habe ich glatte Schriftarten perfekt gerendert! Ich habe gerade die allgemeinen Schriftarteinstellungen für die IDE und den Editor auf 26pt gesetzt und ich kann nicht glauben, wie gut es aussieht! Danke noch einmal. Pace vor 10 Jahren 1
Ich kann keine klaren Hinweise und Anweisungen zu Schriftarten in der Schriftartenschmiede haben ... Es gibt Fehler, wenn ich versuche, sie danach zu speichern ... Was mache ich falsch? Mario Zderic vor 9 Jahren 3
Beeindruckend. Ein Jahr später immer noch hilfreich. JetBrains muss dies als Standard festlegen oder zumindest eine automatische Erkennung durchführen. Die Unschärfe ohne diese Einstellungen lässt IntelliJ schrecklich und unbrauchbar aussehen. Andrew T Finnell vor 9 Jahren 2
@guari deine Antwort ist, was es für mich getan hat clav vor 9 Jahren 0
Für mich unter Windows 8.1 mit einer UHD-Auflösung und einer Skalierung von 225% (dies ist ein 15,6-Zoll-Display), haben all dies nicht geholfen. Mir muss etwas fehlen (Skype für Desktop weist auch dieses Problem auf, unscharfe Schriftarten). Jede Hilfe oder Hinweise wäre sehr dankbar :) andreimarinescu vor 9 Jahren 0
Auf einem Mac ist das Ergebnis leider nicht so gut .. (Sie können Xcode ungehinterte Schriftarten verwenden, in die Systemlib kopieren, Sie müssen möglicherweise Font-Finagler verwenden, um den Cache zu leeren, Ihren Computer neu zu starten, Jdk 1.8 oder 1.9 einzustellen, die ide von der Konsole aus, aber das Ergebnis ist nicht so gut ... wieder Snicolas vor 8 Jahren 0
@CoryKlein welche Schriftart haben Sie mit `FontForge` Hinweise und Anweisungen entfernt und wie haben Sie sie gespeichert? octohedron vor 8 Jahren 1
@Gazta Sorry, das war von einem anderen Job, einer anderen Maschine und zu lange her. Ich erinnere mich nicht :( Cory Klein vor 8 Jahren 1
@CoryKlein keine Sorge, ich habe endlich herausgefunden, dass jede TTF-Schrift funktionieren wird. octohedron vor 8 Jahren 1
Zu Ihrer Information auf Oracle Java ist es nicht notwendig, alles andere ist notwendig. mshindal vor 8 Jahren 0
Ich habe gerade an meinem PhpStorm 9-> 10-Übergang gearbeitet. Nach dem Upgrade der IDE wurde meine Input Mono-Schriftart von normalem Gewicht zu fettem Gewicht (das Rendern war jedoch in Ordnung, das Gewicht war einfach nicht das gleiche). Das Entfernen von Andeutungen hat den Trick gelöst und ich bin wieder beim alten, leichteren Gewicht. Die Startkonfigurationseinstellungen hatten keine Auswirkungen auf Ubuntu. ojrask vor 8 Jahren 0
Ich habe nichts von dem, was Sie gesagt haben, getan und einfach das Antialiasing in Greyscale für Editor und IDE geändert, um mein Problem zu lösen. vor 8 Jahren 0
@mshindal - witzig, der Wechsel zu Oracle Java war das einzige, was nötig war, um das zu beheben. Mr. Bungle vor 8 Jahren 0
Könntest du bitte * Ubuntu Mono * mit entfernten Hinweisinformationen irgendwo hochladen und den Link hier einfügen? Bloke vor 8 Jahren 0
Wenn Sie für den Schriftartenteil zu faul sind, lesen Sie die Antwort von @ user1185087 unten tsusanka vor 8 Jahren 0
Ich habe es tatsächlich mehr als einmal gemacht, aber ich kann es nicht dazu bringen, so gut auszusehen wie @ guari's. Ich habe unter Windows Erfolg gehabt, aber ich habe jetzt Probleme mit Mint. Mir gefällt nicht wirklich, wie die Schrift in dieser Antwort aussieht Bloke vor 8 Jahren 0
4
Yaroslav Urshulyak

Ich habe ein kleines Handbuch geschrieben, um das Problem zu beheben.

 wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz tar -zxvf jdk-8u5-tuxjdk-b08.tar.gz sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm rm jdk-8u5-tuxjdk-b08.tar.gz 

Skript zum Starten von Intellij Idea

* Beachten Sie nur, dass Sie den IDEA_HOME-Speicherort für Ihren Ideenpfad ändern müssen

#!/bin/sh  IDEA_HOME=/opt/idea export JAVA_HOME=/usr/lib/jvm/jdk-8u5-tuxjdk-b08/ export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd \ -Dsun.java2d.xrender=true" export GNOME_DESKTOP_SESSION_ID=this-is-deprecated exec $IDEA_HOME/bin/idea.sh "$@" 

Weitere Informationen und Screenshots der besseren Schriftarten: http://urshulyak.com/?p=478

Das Hinzufügen von "-Dsun.java2d.xrender = true" zu "bin / webstorm64.vmoptions" im WebStorm-Verzeichnis hat mir gereicht. Alicia vor 9 Jahren 0
Der Download-Link ist defekt. Bitte repariere jackode vor 9 Jahren 1
Diese Antwort setzt eine 64-Bit-Architektur voraus, was möglicherweise nicht der Fall ist Anwar vor 8 Jahren 0
2
FRR

I got a similar look just by downloading the Menlo font and setting the Editor Anti-aliasing to 'grayscale' within Appearance & behaviour > Appearance

This is the result:

This is how it looks

Here is a comparison between the two platforms

enter image description here

I am using a higher resolution and better hardware at work with the MAC, that is why the fonts look a bit brighter, the result will vary depending on your machine. Anyways it's worth a shot, the changes are easy to revert

Arbeitete teilweise für mich! Die Schriftarten sind nicht so scharf wie bei der normalen Mac-Benutzeroberfläche, aber sie sind scharf genug, um verarbeitet werden zu können. Ich bin auf 13 "Mac Pro, OS X 10.11.4 Mayank Jain vor 8 Jahren 0
Warum machst du das unter OSX?, solltest du die richtigen Schriftarten aus der Box bekommen :) FRR vor 8 Jahren 0
2
ogram

Bei neueren JetBrains-Lösungen unterscheidet sich die IDE-Lösung.

In IDE Installationsordner nur umbenennen jre Ordner auf etwas anderes. Zum Beispiel:

  1. $ cd your-path-to/WebStorm-162.2228.20/
  2. $ mv jre/ _jre/

Neuere Versionen verwenden gebündelte JRE anstelle von System 1, und diese gebündelte Version verursacht Probleme bei der Wiedergabe von Schriftarten .

Funktioniert gut hier: WebStorm 2016.3.2 auf Kubuntu 16.04 Linux.

WebStorm-Screenshot mit fester Schrift

Dies ist am Boden begraben, aber das ist der wahre Schuldige. Alle oben genannten konzentrieren sich auf die Editor-Schriftarten, aber ich hatte bereits gute Editor-Schriftarten. Mein Problem waren die verschiedenen Callouts, Tooltips und modalen Dialoge, die alle eine schreckliche Schriftdarstellung ohne Antialiasing zeigten. Ich habe alles oben ausprobiert und nichts davon löste das Problem, aber das Packen der Jre verbarg den Trick. Dan vor 7 Jahren 0
1
user1185087

Wenn Sie mit FontForge keine Tipps löschen können, wie Guari in seiner Antwort erläutert . Verwenden Sie Cousine (Apache License v2.00) als Editorschriftart und stellen Sie die Größe auf 14 ein. Ich habe ein paar andere Monospaced-Schriftarten ausprobiert. Allerdings scheint Cousine eine schönere Darstellung als die meisten anderen Schriftarten zu haben. Siehe den Screenshot am Ende

  1. Laden Sie die Schriftart herunter: cd ~/Downloads/ && wget www.fontsquirrel.com/fonts/download/cousine
  2. Erstellen Sie ein neues Schriftfamilienverzeichnis: sudo mkdir /usr/share/fonts/truetype/Cousine
  3. Extrahieren Sie die Fontdateien: sudo unzip cousine -d /usr/share/fonts/truetype/Cousine/
  4. Stellen Sie sie für IntelliJ zur Verfügung: sudo chmod -R 777 /usr/share/fonts/truetype/Cousine
  5. Aktualisieren Sie den Schriftarten-Cache: sudo fc-cache -f -v
  6. Starten Sie IntelliJ neu und wählen Sie Cousin als Editorschriftart
  7. Vergessen Sie nicht, die vmoptions so einzustellen, wie Guari erklärt hat

Bildschirmfoto:

Ihr Screenshot sieht nicht so aus, als würde er Anti-Aliasing verwenden. Ztyx vor 6 Jahren 0
Der Screenshot wurde durch einen kleineren ersetzt, um das Herunterskalieren zu verhindern. Jetzt können Sie sehen, dass Anti-Aliasing verwendet wird user1185087 vor 6 Jahren 0
1
Aspiring Dev

Nichts von diesem hässlichen Zeug ist mehr nötig. Laden Sie die neueste IntelliJ (ab 2016.1) für Linux herunter. Es enthält eine modifizierte JRE, bei der das Problem mit Schriftarten behoben wurde. Um auch Android Studio zu reparieren, machen Sie einen symbolischen Link zur IntelliJ jre:

ln -s /PATH/TO/INTELLIJ/jre /PATH/TO/ANDROIDSTUDIO/jre 

Alternativ öffnen Sie einfach Ihren Dateimanager als root (vorausgesetzt, Ihre IDEs sind im Verzeichnis / opt oder einem anderen Systemordner installiert), erstellen Sie eine Verknüpfung zu IntelliJs jre, verschieben Sie sie in den Installationsordner von Android Studio und benennen Sie sie in 'jre' um. Dies funktioniert für das neueste Android Studio 2.0, sollte aber auch mit früheren Versionen funktionieren.

Welche Version meinst du? Wenn ich zu Help> About gehe, sehe ich `Intellij IDEA 15.0.2` und` Build # IU-143.1184` Bloke vor 8 Jahren 0
@Bloke geh einfach auf die Website und lade die neueste IntelliJ herunter. Ich denke, es ist 2016.1.1. Sie haben die Art und Weise geändert, in der sie die neuen Versionen jetzt bewerben, und es hat jetzt das Format YEAR.REVISION.UPDATE #. Aspiring Dev vor 8 Jahren 0
Oh ja. Ich habe es gerade ausprobiert. Meine `Source Code Pro`-Schrift sieht jetzt etwas zu fett aus, aber das ist ein unbedeutendes Problem. Vielen Dank! Bloke vor 8 Jahren 0
Die Verwendung der mit IntelliJ gepackten JRE machte für mich den Unterschied. Ich hatte IntelliJ zunächst ohne JRE heruntergeladen und mein lokales Oracle JDK (1.7) verwendet, was zu schlechten Schriftarten führte. HTH. sengs vor 6 Jahren 0
1
User1

In Windows 10 hatte ich ähnliche Probleme. Durch das Überprüfen der Disable display scaling on high DPI settingsSchriftarten wurden die Schriftarten glatter, aber viel größer. So gehen Sie vor (aus einem vorherigen Kommentar eines anderen Benutzers):

Klicken Sie mit der rechten Maustaste auf das Symbol, wählen Sie Properties, gehen Sie zur CompatibilityRegisterkarte und überprüfen SieDisable DPI scaling on high DPI settings

Wenn Sie in Windows gehen Settingsund danach suchen Display Settings, gibt es einen Dialog mit einem Schieberegler, der Folgendes anzeigt Change the size of text, apps, and other items. Ich habe es von 125% auf 100% verschoben und musste mich abmelden und wieder einloggen. Die Schriftarten sind jetzt klein und glatt:

Noch mehr, wenn ich das Häkchen aufhole Disable display scaling on high DPI settings, scheint es immer noch glatt zu sein.

Dies war die einzige Lösung, die für mich funktioniert hat! Vielen Dank! DrKaoliN vor 6 Jahren 0
0

Die akzeptierte Antwort hat für mich nicht funktioniert, aber ich habe damit alles zum Laufen gebracht:

Nachdem ich verschiedene Tutorials gelesen und mit ein paar Fixes durcheinander gebracht hatte, habe ich einen Weg gefunden, der perfekt funktioniert.

Laden Sie zunächst JDK 8 von Oracle herunter und führen Sie die folgenden Zeilen im Terminal aus:

cd Downloads tar -xvf jdk-8u25-linux-x64.tar.gz rm jdk-8u25-linux-x64.tar.gz sudo mkdir -p /usr/lib/jvm/ sudo mv jdk1.8.0_25 /usr/lib/jvm/ 

Laden Sie nun den JDK-Font-Fix (mit freundlicher Genehmigung von [Urshulyak Yaroslav] [2]) herunter, indem Sie Folgendes ausführen:

cd ~/Downloads wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz tar -xvf jdk-8u5-tuxjdk-b08.tar.gz sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm rm jdk-8u5-tuxjdk-b08.tar.gz 

Dadurch wird die heruntergeladene ZIP-Datei extrahiert und nach / usr / lib / jvm / verschoben. Führen Sie nun folgendes im Terminal aus:

cd ~ sudo gedit .bashrc 

Fügen Sie dann die folgenden Zeilen ganz unten in der bashrc-Datei hinzu.

JAVA_HOME=/usr/lib/jvm/jdk1.8.0_25/ export JAVA_HOME 

Speichern Sie es und gedit dann die Idee.sh. (Ihr Skriptstandort kann anders sein)

gedit /home/USER/Downloads/idea/bin/idea.sh 

Ersetzen Sie ganz unten im Skript die Zeile (n) in der While-Do-Anweisung unten durch diese beiden Zeilen:

eval "/usr/lib/jvm/jdk-8u5-tuxjdk-b08/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@" test $? -ne 88 && break 

Speichern Sie es und öffnen Sie IntelliJ. Die Schriftarten sollten funktionieren und Sie werden Oracle JDK 8 für die Entwicklung verwenden. Sie müssen wahrscheinlich die Projekteinstellungen bearbeiten und Ihr JDK erneut einrichten. Verwenden Sie jedoch unbedingt das aktuelle JDK und nicht das Schriftkorrektur-Update.

Dieses Update funktioniert auch mit CLion, Android Studio und [PyCharm].

Diese Anweisungen setzen voraus, dass die JDK-Version 1.8.0_25 war. Die Namen der Dateien / Pfade werden für zukünftige Versionen geändert.

Hätten Sie eine Idee, wie Sie dies mit PhpStorm zum Laufen bringen können? Das Ende der Datei sieht folgendermaßen aus: LD_LIBRARY_PATH = "$ IDE_BIN_HOME: $ LD_LIBRARY_PATH" "$ JDK / bin / java" \ $ AGENT \ "-Xbootclasspath / a: $ IDE_HOME / lib / boot.jar" \ CLASSPATH "\ $ VM_OPTIONS" -Djb.vmOptionsFile = $ VM_OPTIONS_FILES_USED "\" -XX: ErrorFile = $ HOME / java_error_in_WEBIDE_% p.log "\ -Djb.restart.code = 88 -Didea.paths.selector = Web-JobOptArk \ $ IDE_JVM_ARGS \ $ REQUIRED_JVM_ARGS \ $ MAIN_CLASS_NAME \ "$ @" EC = $? test $ EC -ne 88 && beenden $ EC #test $? -ne 88 && break exec "$ 0" "$ @" MichaelHindley vor 8 Jahren 0
0
Temak

Sie können Oracle JDK-8 installieren. Getestet auf Ubuntu 14.04, sollte später auch funktionieren.

sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer 

Überprüfe die Version:

$ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) 

Nahm von hier .

0
Abhisek Padhi

So sieht es aus mit schrecklichen Schriftdarstellungen auf Ubuntu 16.04:

So sieht es aus mit schrecklicher Schriftdarstellung auf Ubuntu 16.04

Wenn Sie IntelliJ IDEA 2016.X oder höher ohne JDK verwenden, können Sie eine Umgebungsvariable "IDEA_JDK" festlegen, um eine bestimmte Laufzeit festzulegen. Die Wiedergabe von Schriftarten in Ubuntu 16.04 mit Android Studio ist perfekt, sodass Sie dieselbe JRE mit Intellij IDEA teilen können. IntelliJ sucht zuerst nach der IDEA_JDK-Umgebungsvariablen. Legen Sie diese durch Hinzufügen einer Datei fest:

/etc/profile.d/IDEA_SDK.sh 

Fügen Sie dies der Datei hinzu:

export IDEA_JDK=/opt/android-studio/jre 

Passen Sie / opt / android-studio / jre an Ihre Installation an. Melden Sie sich ab und loggen Sie sich zurück und starten Sie Ihre Intellij IDE

So sieht es nach der Verwendung der neuen JRE aus:

So sieht es nach der Verwendung der neuen JRE aus