Question Comment réparer l'anti-aliasing des polices dans IntelliJ IDEA en utilisant un DPI élevé?


J'utilise un paramètre DPI plus élevé qui fait d'IntelliJ (en fait Android Studio) vraiment foiré les polices.

j'utilise MacType ce qui rend mes polices magnifiquement ailleurs, mais je suppose que Java VM intercepte en quelque sorte ou quelque chose, cela me tue.


METTRE À JOUR: Comme le dit rpgmaker dans son répondre ci-dessous, vous pouvez également installer le dernier IntelliJ (à partir de 2016.1)


75
2017-07-03 09:58


origine




Réponses:


Je suis sur un écran haute résolution et je l'ai fait fonctionner avec un rendu de police parfait, pour y parvenir, vous devez:

  • (Sous Linux) Installer et utiliser Oracle JDK (J'utilise 1.7) et non OpenJDK (aussi le patché avec fontfix était inutile pour moi). Voir comment faire.

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

  • Supprimez les informations incitatives de la police que vous souhaitez utiliser et sélectionnez la nouvelle police dans IntelliJ IDEA Préférences (Paramètres -> Éditeur -> Police);
    si vous ne savez pas comment faire cela, installez FontForge puis:

    1. Ouvrez votre police dans FontForge
    2. Sélectionnez tous les glyphes via Ctrl+A et effacer tous les conseils (Conseils -> Effacer les astuces)
    3. Sélectionnez à nouveau les glyphes et utilisez les astuces -> Clear Instruction
    4. Enregistrez la police sous un autre nom (Fichier -> Générer des polices)
    5. Installez la nouvelle police, sélectionnez-la dans IDÉE

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

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

IDE screenshot


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


107
2017-07-24 13:09



Impressionnant! Fonctionne sous Windows aussi :)) merci: * - Bloke
J'ai essayé ce qui précède sur ma machine Windows avec une résolution en dpi (3200x1800). S'il vous plaît conseiller si possible, je voudrais vraiment que cela fonctionne? - Pace
@Pace Pour supprimer les polices floues, vous devez désactiver la mise à l’échelle pour cette application (cliquez avec le bouton droit sur son icône, sélectionnez Properties, aller à Compatibility onglet et vérification 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: open regedit.exe, allez à HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers et ajouter 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
ne peux pas effacer les conseils et les instructions sur les polices dans la forge de police ... Il y a des erreurs lorsque j'essaie de les enregistrer après cela ... Qu'est-ce que je fais mal - Mario Zderic
Sensationnel. Toujours 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 rend IntelliJ terrible et inutilisable. - Andrew T Finnell


J'ai écrit un petit manuel pour 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 d'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'infos et de captures d'écran de meilleures polices: http://urshulyak.com/?p=478


4
2017-09-07 20:25



Ajouter -Dsun.java2d.xrender=true à bin/webstorm64.vmoptions dans le répertoire de WebStorm me suffisait. - Alicia
le lien de téléchargement est cassé. S'il-vous-plaît, réparez - jackode
Cette réponse suppose une architecture 64 bits, ce qui peut ne pas être le cas - Anwar


J'ai eu un regard similaire en téléchargeant le Police de menlo et paramétrer l'éditeur Anti-aliasing sur «niveaux de gris» dans Apparence et comportement> Apparence

C'est le résultat:

This is how it looks

Voici une comparaison entre les deux plates-formes

enter image description here

J'utilise une résolution plus élevée et un meilleur matériel au travail avec le MAC, c'est pourquoi les polices sont un peu plus lumineuses, le résultat varie en fonction de votre machine. En tout cas, ça vaut le coup, les changements sont faciles à revenir


2
2018-03-30 07:52



Travaillé partiellement pour moi! Les polices ne sont pas aussi nettes que l'interface utilisateur Mac générique mais assez nettes pour être exploitables. 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 hors de la boîte :) - feresr


La nouvelle solution de JetBrains IDE est différente.

Dans l'IDE dossier d'installation juste Renommer  jre dossier à autre chose. Par exemple:

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

Les nouvelles versions utilisent JRE groupé au lieu de celui de votre système et ceci la version groupée entraîne des problèmes de rendu des polices.

Fonctionne bien ici: WebStorm 2016.3.2 sur Kubuntu 16.04 linux.

WebStorm screenshot with fixed font


2
2017-11-05 23:05



Ceci est enterré au fond, mais c'est le véritable coupable. Tout le monde ci-dessus se concentre sur les polices d'édition, mais j'avais déjà de bonnes polices d'éditeur. Mon problème était que les diverses légendes, infobulles et dialogues modaux montraient tous un rendu des polices sans antialiasing. J'ai tout essayé ci-dessus et rien n'a résolu le problème, mais cacher le jre emballé a fait l'affaire. - Dan


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 Android Studio, faites un lien symbolique avec IntelliJ:

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

Sinon, 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 jre d'IntelliJ et déplacez-le dans le dossier d'installation d'Android Studio, puis renommez-le. Cela fonctionne pour le dernier studio Android 2.0, mais il devrait également fonctionner avec les versions antérieures.


1
2018-04-15 19:56



Quelle version voulez-vous dire? Quand je vais dans Aide> À propos, je vois Intellij IDEA 15.0.2 et Build #IU-143.1184 - Bloke
@Bloke va sur le site et télécharge la dernière version d'IntelliJ. Il est 2016.1.1 maintenant je pense. Ils ont changé la façon dont ils annoncent les nouvelles versions maintenant et ils ont ce format YEAR.REVISION.UPDATE # maintenant. - Aspiring Dev
Oh, en effet. Je viens de l'essayer. ma Source Code Pro La police semble maintenant un peu trop audacieuse, mais c'est un problème mineur. Merci! - Bloke
L'utilisation du JRE fourni avec IntelliJ a fait toute la différence pour moi. Au départ, j'avais téléchargé IntelliJ sans JRE et utilisé mon Oracle JDK local (1.7), ce qui entraînait de mauvaises polices. HTH. - sengs


Si vous ne pouvez pas effacer les indices avec FontForge comme Guari a expliqué dans son répondre. Utilisation Cousine (Apache License v2.00) comme police d’éditeur et définir la taille à 14. J'ai essayé deux autres polices monospaces. cependant, Cousine semble avoir un meilleur rendu que les autres polices. Voir la capture d'écran à la fin

  1. Téléchargez 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. Extraire 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. Mettez à jour le cache de police: sudo fc-cache -f -v
  6. Redémarrez IntelliJ et choisissez Cousin comme police de l'éditeur
  7. N'oubliez pas de définir les vmoptions comme Guari a expliqué

Capture d'écran:


1
2018-03-16 21:29



Votre capture d'écran ne ressemble pas à un anti-aliasing. - Ztyx
Remplacé la capture d'écran par une plus petite pour empêcher la réduction de l'échelle. Maintenant, vous pouvez voir que l'anti-aliasing est utilisé - user1185087


Dans Windows 10, j'avais des problèmes similaires. Vérification de la Disable display scaling on high DPI settings rendu les polices plus fluides mais beaucoup plus grandes. Voici comment faire (à partir d'un commentaire précédent d'un autre utilisateur):

Faites un clic droit sur son icône, sélectionnez Properties, aller à Compatibility onglet et vérification Disable DPI scaling on high DPI settings

Entrer dans Windows Settings et en cherchant Display Settings, il y a un dialogue avec un curseur qui dit Change the size of text, apps, and other items. Je l'ai déplacé de 125% à 100% et j'ai dû me déconnecter et me reconnecter. Les polices sont petites et lisses maintenant:

enter image description here

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


1
2017-07-14 16:22



C'était la seule solution qui fonctionnait pour moi! THX! - DrKaoliN


La réponse acceptée n'a pas fonctionné pour moi mais j'ai tout fait en faisant ceci:

Après avoir lu divers didacticiels et jeté un tas de correctifs, j'ai trouvé un moyen qui fonctionne parfaitement.

Tout d'abord télécharger JDK 8 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 l'aimable autorisation de [Urshulyak Yaroslav] [2]) en exécutant ce qui suit:

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 fichier zip téléchargé et le déplacer dans / usr / lib / jvm /. Maintenant, lancez la commande suivante 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

Au bas du script, remplacez les lignes de 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

Sauvegardez-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 configurer à nouveau votre JDK, mais veillez à utiliser le JDK réel et non le correctif de police.

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 futures versions.


0
2017-12-28 12:35



Auriez-vous une idée de comment faire fonctionner 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: Fichier d'erreur = $ HOME / erreur_java_in_WEBIDE_% p.log "\ -Djb.restart.code = 88 -Didea.paths.selector = WebIde90 \ $ IDE_PROPERTIES_PROPERTY \ $ IDE_JVM_ARGS \ $ REQUIRED_JVM_ARGS \ $ MAIN_CLASS_NAME \ "$ @" EC = $? test $ EC -ne 88 && exit $ EC #test $? -ne 88 && break exec "$ 0" "$ @" - MichaelHindley


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

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 de ici.


0
2017-08-17 11:45





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

This is how it looks like with horrible font rendering on ubuntu 16.04 

Si vous utilisez IntelliJ IDEA 2016.X ou une version ultérieure sans 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, définissez-la en ajoutant un fichier:

/etc/profile.d/IDEA_SDK.sh

Ajoutez ceci au fichier:

export IDEA_JDK=/opt/android-studio/jre

Régler / opt / android-studio / jre selon votre installation. Déconnectez-vous et reconnectez-vous et lancez votre IDE Intellij

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

This is what it looks like after using the new JRE


0
2018-04-21 17:11





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 phpstorm en utilisant son propre java (/ usr / share / phpstorm / jre64 / bin / java).

J'ai modifié le script de démarrage de l'idée pour qu'il utilise le java de phpstorm et cela a fonctionné et tout est comme le fait phpstorm. capture d'écran


-1
2017-10-31 03:43



Qu'est-ce qui change? Avez-vous besoin d'installer phpstorm pour cela? - Journeyman Geek♦