web-dev-qa-db-fra.com

Comment réparer l'anti-aliasing des polices dans IntelliJ IDEA lorsque vous utilisez haute DPI?

J'utilise un paramètre DPI plus élevé qui fait qu'IntelliJ (en réalité Android Studio) a des polices vraiment gachées .

J'utilise MacType qui rend mes polices magnifiquement ailleurs, mais je suppose que Java VM l'intercepte en quelque sorte, ou quelque chose du genre, il me tue.


UPDATE: Comme le fait remarquer rpgmaker dans son réponse ci-dessous, vous pouvez simplement installer le dernier IntelliJ (versions 2016.1 et ultérieures)

76
Bloke

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 JDK Oracle (J'utilise 1.7) et non OpenJDK (le correctif avec fontfix était inutile pour moi). Voir comment faire cela .

  • Editez le fichier de configuration .vmoptions que vous avez trouvé dans le dossier d'installation Bin (par exemple, studio.vmoptions et pour 64 bits studio64.vmoptions. , ou WebStorm.exe.vmoptions etc. selon la version du IDE que vous avez installé) 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 IntelliJ IDEA preferences (Setting -> Editor -> Font);
    si vous ne savez pas comment faire cela, installez FontForge then:

    1. Ouvrez votre police dans FontForge
    2. Sélectionnez tous les glyphes via Ctrl+A et 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 dansIDEA

Si vous avez suivi 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
à partir du fichier .vmoptions.

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

IDE screenshot


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

108
guari

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

4
Yaroslav Urshulyak

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 studio Android 2.0, mais il devrait également fonctionner avec les versions antérieures.

2
Aspiring Dev

La nouvelle solution de JetBrains IDE est différente.

Dans 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 versions les plus récentes utilisent JRE intégré à la place de votre système. La version fournie provoque 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
ogram

J'ai un look 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:

 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 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

2
FRR

Si vous ne pouvez pas effacer les allusions avec FontForge comme l'explique guari dans son answer . Utilisez Cousine (Apache License v2.00) en tant que police d’éditeur et réglez la taille sur 14. J’ai essayé quelques polices monospaced. 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éer une nouvelle famille de polices dir: 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. Mettez à jour le cache de polices: 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 expliqua guari

Capture d'écran:

1
user1185087

Dans Windows 10, j'avais des problèmes similaires. Vérifier le Disable display scaling on high DPI settings 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 dans l'onglet Compatibility et cochez Disable DPI scaling on high DPI settings

Dans Windows Settings et en recherchant Display Settings, une boîte de dialogue avec un curseur indique Change the size of text, apps, and other items. Je l'ai déplacé de 125% à 100% et j'ai dû me déconnecter puis 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
User1

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 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 cherche 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:

 This is what it looks like after using the new JRE

0
Abhisek Padhi

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 chez 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 fichier 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 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

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 JDK était la 1.8.0_25, les noms de fichier/chemin changeront pour les versions futures.

0
user327409

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

0
Temak