81 votes

Comment corriger l'anticrénelage des polices dans IntelliJ IDEA lors de l'utilisation de DPI élevés ?

J'utilise un réglage DPI plus élevé qui fait qu'IntelliJ (en fait Android Studio) a polices de caractères vraiment ratées .

J'utilise MacType ce qui rend mes polices de façon magnifique ailleurs, mais je suppose que Java VM l'intercepte d'une façon ou d'une autre, ça me tue.

113voto

Ricardo Points 1665

Je suis sur un écran à haute densité et j'ai réussi à le faire fonctionner avec un rendu parfait des polices, pour y parvenir vous devez :

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

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

  • Supprimez les informations relatives aux indices de la police que vous souhaitez utiliser et sélectionnez la nouvelle police dans la liste suivante IntelliJ IDEA (Paramètres -> Éditeur -> Police) ;
    si vous ne savez pas comment faire, installez FontForge alors :

    1. Ouvrez votre police dans FontForge
    2. Sélectionner tous les glyphes via Ctrl+A et effacer tous les indices (Indices -> Effacer les indices)
    3. Sélectionnez à nouveau les glyphes et utilisez Hints -> Clear Instruction.
    4. Enregistrez la police avec un nom différent ( Fichier -> Générer des polices)
    5. Installez la nouvelle police, sélectionnez-la dans IDEA

Si vous avez suivi les conseils ci-dessus et que vous rencontrez des décalages 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
de la .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 suppression des informations d'aide pour l'éditeur de code)

4voto

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 lancer Intellij Idea

*Il faut seulement noter que vous devez changer l'emplacement de IDEA_HOME pour votre chemin d'accès à idea.

#!/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 des captures d'écran de meilleures polices : http://urshulyak.com/?p=478

2voto

frankelot Points 121

J'ai obtenu un aspect similaire en téléchargeant le fichier Police Menlo et en réglant l'anticrénelage de l'éditeur sur "niveaux de gris" dans Apparence et comportement > Apparence.

Voici le résultat :

This is how it looks

Voici une comparaison entre les deux plateformes

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 variera en fonction de votre machine. Quoi qu'il en soit, cela vaut la peine d'essayer, les changements sont faciles à inverser.

2voto

Aspiring Dev Points 211

On n'a plus besoin de ces trucs moches. Téléchargez la dernière version d'IntelliJ (à partir de 2016.1) pour Linux. Il inclut un JRE modifié avec le problème des polices corrigé. Pour corriger Android Studio aussi, créez un lien symbolique vers le JRE d'IntelliJ :

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

Sinon, il suffit d'ouvrir 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 de créer un raccourci vers jre d'IntelliJ et de le déplacer vers le dossier d'installation d'Android Studio, puis de le renommer en 'jre'. Cela fonctionne pour la dernière version d'Android Studio 2.0, mais cela devrait également fonctionner avec les versions antérieures.

2voto

ogram Points 21

Sur les IDE JetBrains plus récents, la solution est différente.

Dans IDE dossier d'installation juste renommer jre à quelque chose d'autre. Par exemple :

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

Les versions plus récentes utilisent le JRE fourni au lieu de celui de votre système et ceci La version groupée pose des problèmes de rendu des polices .

Cela fonctionne bien ici : WebStorm 2016.3.2 sur Kubuntu 16.04 linux.

WebStorm screenshot with fixed font

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X