Comment réparer l'anti-aliasing des polices dans IntelliJ IDEA lorsque vous utilisez une résolution élevée?

Réponses:

112

Je suis sur un écran haute résolution et je l’ai obtenu avec un rendu de police parfait. Pour y parvenir, vous devez:

  • (Sous Linux) Installez et utilisez Oracle JDK (j'utilise la version 1.7) et non pas OpenJDK (la version corrigée avec fontfix était inutile pour moi). Voir comment faire cela .

  • Modifiez le fichier de configuration .vmoptions que vous trouvez dans le dossier d'installation de Bin (par exemple, studio.vmoptions et pour studio64.vmoptions 64 bits , ou WebStorm.exe.vmoptions, etc. en fonction de la version de l'EDI que vous avez installée) en ajoutant ces lignes:
    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true
    -Dsun.java2d.xrender=true

  • Supprimez les informations de repère de la police que vous souhaitez utiliser et sélectionnez la nouvelle police dans les préférences IntelliJ IDEA (Setting -> Editor -> Font);
    Si vous ne savez pas comment faire cela, installez FontForge alors:

    1. Ouvrez votre police dans FontForge
    2. Sélectionnez tous les glyphes via Ctrl+Aet effacez toutes les astuces (Astuces -> Effacer les astuces)
    3. Sélectionnez à nouveau les glyphes et utilisez Conseils -> Instruction claire.
    4. Enregistrez la police sous un nom différent (Fichier -> Générer les polices)
    5. Installez la nouvelle police, sélectionnez-la dans IDEA

Si vous suivez les conseils ci-dessus et que vous rencontrez des retards lors du défilement rapide du code (cela peut parfois arriver sur les distributions Linux avec un pilote gpu non optimisé), essayez de supprimer la ligne
-Dsun.java2d.xrender=true
du fichier .vmoptions .

Enfin, voici une capture d'écran du résultat:

Capture d'écran de l'IDE


(les polices utilisées ici sont LucidaMAC pour le principal IDE et Ubuntu Mono avec des informations de conseil supprimées pour l'éditeur de code)

guari
la source
4
Impressionnant! Fonctionne également sous Windows :)) merci: *
Bloke le
1
J'ai essayé ce qui précède sur ma machine Windows avec salut dpi (3200x1800). J'ai ajusté le studio.vmoptions comme mentionné, mais tout est encore flou. S'il vous plaît aviser si possible, j'aimerais vraiment que cela fonctionne?
Pace
10
@Pace Pour supprimer les polices floues, vous devez désactiver la mise à l'échelle de l'affichage pour cette application (cliquez avec le bouton droit de la souris sur son icône, sélectionnez Properties, allez à l' Compatibilityonglet et cochez Disable DPI scaling on high DPI settings. Pour les applications x64 dans Win8, vous devez modifier l'indicateur de la clé de registre associée: ouvrez Regedit. exe, allez à HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layerset ajoutez une valeur de chaîne REG_SZ dont le nom est le chemin d'accès complet à l'exécutable de l'application et dont la valeur est HIGHDPIAWARE );)
guari
3
Je ne peux pas effacer les astuces et les instructions sur les polices dans Font Forge ... Il y a des erreurs lorsque j'essaie de les sauvegarder ensuite ... Qu'est-ce que je fais de mal
Mario Zderic
2
Sensationnel. Encore utile un an plus tard. JetBrains doit en faire la valeur par défaut ou au moins effectuer une détection automatique. Le flou sans ces paramètres donne à IntelliJ un aspect terrible et inutilisable.
Andrew T Finnell
4

J'ai écrit un petit manuel sur comment résoudre ce problème.

   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

Script pour démarrer Intellij Idea

* Notez seulement que vous devez changer l'emplacement IDEA_HOME pour votre chemin de l'idée

#!/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 "$@"

Plus d'informations et de captures d'écran de meilleures polices: http://urshulyak.com/?p=478

Yaroslav Urshulyak
la source
Ajouter -Dsun.java2d.xrender=trueà bin/webstorm64.vmoptionsdans le répertoire WebStorm me suffisait.
Alicia
1
le lien de téléchargement est cassé. S'il vous plaît réparer
jackode
Cette réponse suppose une architecture 64 bits, ce qui peut ne pas être le cas
Anwar
Cela consiste essentiellement à exécuter du code arbitraire en tant que root - la prudence est conseillée.
Thorbjørn Ravn Andersen le
2

J'ai obtenu un aspect similaire en téléchargeant la police Menlo et en réglant l'anti-aliasing de l'éditeur sur "niveaux de gris" dans Apparence & comportement> Apparence

Voici le résultat:

Voici à quoi ça ressemble

Voici une comparaison entre les deux plateformes

entrez la description de l'image ici

J'utilise une résolution plus élevée et un meilleur matériel au travail avec le MAC. C'est pourquoi les polices ont un aspect un peu plus brillant, le résultat varie en fonction de votre machine. Quoi qu'il en soit, ça vaut le coup d'essayer, les changements sont faciles à revenir

FRR
la source
Travaillé partiellement pour moi! Les polices ne sont pas aussi nettes que l’interface utilisateur générique de Mac, mais elles sont suffisamment précises pour pouvoir fonctionner. Je suis sur 13 "Mac Pro, OS X 10.11.4
Mayank Jain
pourquoi faites-vous cela sur OSX ?, vous devriez obtenir les bonnes polices de la boîte :)
FRR,
2

Aucune de ces choses laides n'est plus nécessaire. Téléchargez la dernière version d'IntelliJ (2016.1) pour Linux. Il inclut un JRE modifié avec le problème des polices corrigé. Pour réparer également Android Studio, créez également un lien symbolique vers IntelliJ jre:

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

Ou bien, ouvrez simplement votre gestionnaire de fichiers en tant que root (en supposant que vos IDE sont installés dans le répertoire / opt ou un autre dossier système) et créez un raccourci vers le fichier jre d'IntelliJ et déplacez-le dans le dossier d'installation d'Android Studio, puis renommez-le en "jre". Cela fonctionne pour le dernier Android Studio 2.0, mais cela devrait également fonctionner avec les versions antérieures.

Aspiring Dev
la source
De quelle version parlez-vous? Quand je vais dans Aide> À propos, je vois Intellij IDEA 15.0.2etBuild #IU-143.1184
Bloke
@Bloke suffit d'aller sur le site et de télécharger le dernier IntelliJ. C'est 2016.1.1 maintenant, je pense. Ils ont changé la façon dont ils annoncent les nouvelles versions maintenant et il a maintenant ce format YEAR.REVISION.UPDATE #.
Aspiring Dev
Oh, en effet. Je viens d'essayer. Ma Source Code Propolice est maintenant un peu trop audacieuse, mais c'est un problème mineur. Merci!
Bloke
Utiliser le JRE fourni avec IntelliJ a fait toute la différence pour moi. J'avais initialement téléchargé IntelliJ sans le JRE et utilisé mon JDK Oracle local (1.7), ce qui entraînait l'apparition de polices incorrectes. HTH.
mardi
2

La nouvelle solution de JetBrains IDE est différente.

Dans le dossier d'installation de l' EDI , renommez simplement le jredossier en quelque chose d'autre. Par exemple:

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

Les versions les plus récentes utilisent JRE intégré au lieu de celui de votre système et cette version intégrée pose des problèmes de rendu des polices .

Fonctionne bien ici: WebStorm 2016.3.2 sur Kubuntu 16.04 linux.

Capture d'écran de WebStorm avec police fixe

ogramme
la source
Ceci est enterré au bas, mais CECI est le véritable coupable. Tout le monde ci-dessus se concentre sur les polices Editor, mais j'avais déjà de bonnes polices Editor. Mon problème était que les diverses légendes, les info-bulles et les dialogues modaux montraient tous un rendu de police épouvantable, sans antialiasing. J'ai tout essayé ci-dessus et rien de tout cela n'a résolu le problème, mais cacher le paquet emballé a fait l'affaire.
Dan
1

Si vous ne pouvez pas effacer les indices avec FontForge, comme l'explique Guari dans sa réponse . Utilisez Cousine (licence Apache v2.00) en tant que police d’éditeur et réglez la taille sur 14. J’ai essayé quelques polices monospaces. Cependant, Cousine semble avoir un rendu plus agréable que la plupart des polices. Voir la capture d'écran à la fin

  1. Télécharger la police: cd ~/Downloads/ && wget www.fontsquirrel.com/fonts/download/cousine
  2. Créez un nouveau répertoire de famille de polices: sudo mkdir /usr/share/fonts/truetype/Cousine
  3. Extrayez les fichiers de police: sudo unzip cousine -d /usr/share/fonts/truetype/Cousine/
  4. Rendez-les disponibles pour IntelliJ: sudo chmod -R 777 /usr/share/fonts/truetype/Cousine
  5. Mettre à jour le cache de polices: sudo fc-cache -f -v
  6. Redémarrez IntelliJ et choisissez Cousin comme police d'édition
  7. N'oubliez pas de définir les vmoptions comme expliqué par guari

Capture d'écran:

utilisateur1185087
la source
Votre capture d'écran ne semble pas utiliser d'anti-aliasing.
Ztyx
Remplacé la capture d'écran par une plus petite pour empêcher la réduction d'échelle. Maintenant, vous pouvez voir que l'anti-aliasing est utilisé
utilisateur1185087
1

Dans Windows 10, j'avais des problèmes similaires. Vérifier les Disable display scaling on high DPI settingspolices rendait les polices plus lisses mais beaucoup plus grandes. Voici comment faire cela (à partir d'un commentaire précédent d'un autre utilisateur):

Faites un clic droit sur son icône, sélectionnez Properties, allez à l' Compatibilityonglet et cochezDisable DPI scaling on high DPI settings

En allant dans Windows Settingset en recherchant Display Settings, il y a une boîte de dialogue avec un curseur qui dit Change the size of text, apps, and other items. Je l'ai déplacé de 125% à 100% et je devais fermer la session, puis reconnecter. Les polices sont petites ET lisses maintenant:

entrez la description de l'image ici

Encore plus, si je décoche Disable display scaling on high DPI settings, il semble toujours être lisse.

Utilisateur1
la source
C'était la seule solution qui a fonctionné pour moi! Merci!
DrKaoliN
0

La réponse acceptée ne fonctionnait pas pour moi, mais j'ai tout fait fonctionner en procédant comme suit:

Après avoir lu divers didacticiels et avoir bricolé avec plusieurs correctifs, j'ai trouvé un moyen de fonctionner parfaitement.

Tout d’abord, téléchargez JDK 8 à partir d’Oracle et exécutez les lignes suivantes dans le terminal:

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/

Téléchargez maintenant le correctif de police JDK (avec la permission de [Urshulyak Yaroslav] [2]) en exécutant les opérations suivantes:

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

Cela va extraire le zip téléchargé et le déplacer vers / usr / lib / jvm /. Maintenant, lancez ce qui suit dans le terminal:

cd ~
sudo gedit .bashrc

Ajoutez ensuite les lignes suivantes tout en bas du fichier bashrc.

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

Sauvegardez-le puis gedit the idea.sh. (Votre emplacement de script peut être différent)

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

Tout en bas du script, remplacez la ou les lignes dans l'instruction While Do en bas par ces deux lignes:

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

Enregistrez-le puis ouvrez IntelliJ, les polices devraient fonctionner et vous utiliserez Oracle JDK 8 pour le développement. Vous devrez probablement modifier les paramètres du projet et reconfigurer votre kit JDK, mais veillez à utiliser le kit JDK actuel et non le correctif de polices utilisé.

Ce correctif fonctionne également avec CLion, Android Studio et [PyCharm.

Ces instructions supposent que la version du JDK était la 1.8.0_25, les noms de fichiers / chemins changeront pour les versions futures.


la source
Auriez-vous une idée de comment faire fonctionner cela avec PhpStorm? Le bas du fichier ressemble à ceci: LD_LIBRARY_PATH = "$ IDE_BIN_HOME: $ LD_LIBRARY_PATH" "$ JDK / bin / java" \ $ AGENT \ "-Xbootclasspath / a: $ IDE_HOME / lib / boot.jar" \ -classpath "$ CLASSPATH "\ $ VM_OPTIONS" -Djb.vmOptionsFile = $ VM_OPTIONS_FILES_USED "\" -XX: ErrorFile = $ HOME / java_error_in_WEBIDE = \ IDJ \ $ IDE_JVM_ARGS \ $ REQUIRED_JVM_ARGS \ $ MAIN_CLASS_NAME \ "$ @" EC = $? test $ EC -ne 88 && exit $ EC #test $? -ne 88 && break exec "$ 0" "$ @"
MichaelHindley le
0

Vous pouvez installer Oracle JDK-8. Testé sur Ubuntu 14.04, devrait fonctionner pour plus tard également.

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

Vérifiez la 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)

Pris d' ici .

Temak
la source
0

Voici à quoi cela ressemble avec un rendu de police horrible sur Ubuntu 16.04:

Voilà à quoi ça ressemble avec un rendu de police horrible sur Ubuntu 16.04

Si vous utilisez IntelliJ IDEA 2016.X ou une version ultérieure sans kit JDK fourni, vous pouvez définir une variable d'environnement "IDEA_JDK" pour spécifier un environnement d'exécution spécifique. Le rendu des polices dans Ubuntu 16.04 avec Android Studio est parfait. Vous pouvez donc partager le même JRE avec Intellij IDEA. IntelliJ recherche d'abord la variable d'environnement IDEA_JDK, donc définissez-la en ajoutant un fichier:

/etc/profile.d/IDEA_SDK.sh

Ajoutez ceci au fichier:

export IDEA_JDK=/opt/android-studio/jre

Ajustez / opt / android-studio / jre selon votre installation. Déconnectez-vous et reconnectez-vous et démarrez votre IDE Intellij

Voici à quoi cela ressemble après avoir utilisé le nouveau JRE:

Voici à quoi cela ressemble après avoir utilisé le nouveau JRE

Abhisek Padhi
la source
-1

J'ai réalisé que l'anti-aliasing de phpstorm fonctionne assez bien avec la configuration par défaut. La comparaison des deux commandes montre que la seule différence est que phpstorm utilise son propre java (/ usr / share / phpstorm / jre64 / bin / java).

J'ai modifié le script de démarrage de l'idée pour le faire en utilisant le java de phpstorm et cela a fonctionné et tout est aussi bon que phpstorm. capture d'écran

jswh
la source
Quels changements? Avez-vous besoin d'installer phpstorm pour cela?
Compagnon Geek