70 votes

Polices hideuses dans Netbeans - Comment puis-je faire en sorte qu'il utilise la police système ?

J'ai des problèmes pour que la police de Netbeans soit agréable à regarder, c'est un problème depuis que j'ai essayé Ubuntu ~8. Pour une raison quelconque, les polices semblent ne pas avoir de lissage sous-pixel dans Netbeans seulement, pour le reste des applications, elles sont parfaites.

Regardez comme la capture d'écran est moche :

enter image description here

Il ne s'agit pas seulement de la zone de code, mais de toutes les polices de l'application. En cherchant un peu, j'ai découvert que l'ajout de la ligne suivante au fichier .bashrc devrait résoudre le problème, mais dans mon cas, ce n'est pas le cas :

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

Je pense que cela n'affecte que les applications basées sur Java, mais je n'ai pas pu tester une autre application Java pour vérifier les polices.

Quelqu'un sait-il ce que je peux faire pour réparer cela ? Comment puis-je faire en sorte que Netbeans utilise la police système ?

0 votes

J'ai également cherché et cherché une solution à ce problème, mais il ne semble pas y en avoir. Ce problème affecte plus particulièrement les applications basées sur Swing ; vous constaterez qu'Eclipse, par exemple, se comporte bien. En fait, la police de code ne me dérange pas trop (elle est modifiable et je trouve qu'elle est correcte avec Droid Sans Mono à 11 pt) mais les polices de chrome m'agacent vraiment.

0 votes

Oui, il semble que cela n'affecte que les applications basées sur Java, je pense changer d'IDE à cause de cela.

0 votes

En fait, j'ai spécifiquement mentionné Swing parce que le problème de police n'est pas visible dans les applications SWT, telles qu'Eclipse. Quoi qu'il en soit, il n'affecte que (certaines) applications Java. Par ailleurs, je peux confirmer que le problème est toujours présent dans Netbeans 7.0 RC1.

38voto

chr0naut Points 86

Comme cela a été dit dans les commentaires, c'est un problème avec les applications Java Swing sous Linux. Swing utilise les paramètres de lissage des polices de Gnome (désactivé, niveaux de gris ou sous-pixel) - mais il ne tient pas compte des paramètres d'indication. Il utilise toujours le hinting complet, et si vous exécutez Ubuntu avec peu ou pas de hinting de police (comme la plupart des gens le font puisque little hinting est le paramètre par défaut), la police apparaîtra sensiblement différente de celle des autres applications. Les applications SWT comme Eclipse sont bien, mais si vous aimez Netbeans, cela ne vous aidera pas.

Avertissement : pour la solution suivante, je ne parle que de la police de l'éditeur, car dans un IDE, c'est ce qui est important pour moi. Vous pourriez également l'appliquer aux polices des menus, etc., mais cela pourrait être un peu exagéré.

La seule solution utilisable que j'ai trouvée aquí Si vous avez besoin de plus d'informations : utilisez Fontforge pour modifier la police de votre choix et supprimez toutes les informations d'indication de la police elle-même, puis enregistrez-la en tant que nouvelle police et utilisez-la dans Netbeans.

  1. sudo apt-get install fontforge
  2. Lancement Fontforge
  3. Ouvrez la police de votre choix
  4. Ctrl + A o edit -> Select -> Select all pour sélectionner tous les caractères
  5. Conseils Instructions claires
  6. Ctrl + Shift + F o element -> font info pour ouvrir l'info police
  7. Renommer la police (par exemple, le nom original + '_nohints')
  8. Sauvegarder la police éditée dans le .fonts dans votre maison, en passant par file -> generate fonts en s'assurant d'utiliser un format qu'Ubuntu peut lire (voir l'étape suivante).
  9. Effacer le cache des polices fc-cache -rv - en suivant sa sortie pour s'assurer que votre nouveau fichier de police a été récupéré (par exemple .sfd ne le fait pas mais .ttf fait).
  10. Lancez Netbeans et utilisez la police que vous avez créée comme police de l'éditeur.

Non, ce n'est pas parfait et oui, c'est un peu compliqué, mais c'est quand même un monde de différence. J'espère que cela vous aidera.

3 votes

J'ai utilisé Monospace , celui par défaut dans NetBeans. J'ai essayé de corriger Ubuntu Monospace C'est mieux maintenant, mais c'est encore pire à l'époque. Monospace . Merci quand même. Si je pouvais trouver Monospace sur le système de fichiers, j'essaierais aussi de le réparer.

0 votes

Merci beaucoup... La seule solution efficace que j'ai trouvée. Je devenais fou avec ça ! !

0 votes

Pas sûr que le fichier de police soit ma police... J'ai obtenu 9 fichiers de police différents pour la police Ubuntu seule, donc j'ai dû consulter font.ubuntu.com pour savoir lequel bricoler. J'espère que cela fonctionnera.

18voto

Ajouter

--laf Nimbus -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd

ou

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal

à la fin de la default_options dans le fichier netbeans.config . Vous pouvez le trouver dans $NETBEANS_PATH/etc/ dossier. Réduisez la taille de la police de votre application dans les préférences du système.

Source :

9 votes

Le fichier de configuration se trouve généralement à /home/<user_name>/<neabeans_folder>/etc/netbeans.conf .

2 votes

Ça n'a pas marché pour moi :(

0 votes

Le fichier de configuration se trouve dans /etc/netbeans.conf La première ligne n'a pas fonctionné pour moi, mais la deuxième a fait l'affaire.

7voto

R. Oosterholt Points 456

L'anticrénelage des polices ne fonctionne pas correctement dans les applications Ubuntu Java Swing.

Ajouter :

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd

dans le fichier netbeans.config à la fin du fichier netbeans_default_options chaîne.

Vous pouvez trouver le fichier de configuration dans le dossier $NETBEANS_HOME/etc/ (par ex. /home/<user_name>/<netbeans_folder>/etc/netbeans.conf )

Ejemplo:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dnetbeans.logger.console=true -J-ea -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd"

0 votes

Pour moi, le fichier de configuration était situé à /etc/netbeans.conf (et sym-linked à partir d'autres endroits).

0 votes

Source apparente : rdeeson.com/weblog/159/fix-ugly-fonts-in-netbeans-under-linux -- a fonctionné pour moi

0 votes

Pour Manzaro Linux, le fichier de configuration est le suivant /usr/etc/netbeans.conf .

7voto

Chris Holt Points 171

Je sais que c'est une vieille question, mais dans ma quête du même problème, j'ai essayé toutes les astuces ici sans succès. Je pensais que j'allais devoir vivre avec un texte terrible dans Netbeans.

Puis j'ai trouvé ça : http://youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038

En principe : Ubuntu 13.10, Netbeans (7.3), les correctifs de la police Infinality pour freetype, OpenJDK7, et les correctifs pour corriger la gestion lamentable des polices de Swings. Et ça a "juste marché" ! !!

Copié ici au cas où le lien serait mort :

  1. installer freetype

    $ sudo apt-get install libfreetype6
  2. installer le patch infinality

    $ sudo add-apt-repository ppa:no1wantdthisname/ppa
    $ sudo apt-get update
    $ sudo apt-get install fontconfig-infinality

    J'ai dû faire ce qui suit par la suite :

    $ sudo rm /etc/fonts/conf.avail/52-infinality.conf
    $ sudo ln -s /etc/fonts/infinality/infinality.conf /etc/fonts/conf.avail/52-infinality.conf

    Pour utiliser Windows 7 comme rendu des polices, procédez comme suit :

    $ sudo /etc/fonts/infinality/infctl.sh setstyle win7

    Définir USE_STYLE à "WINDOWS7" dans /etc/profile.d/infinality-settings.sh

  3. installer la police fixée OpenJDK

    $ sudo add-apt-repository ppa:no1wantdthisname/openjdk-fontfix
    $ sudo apt-get update
    $ sudo apt-get install openjdk-7-jdk

    Sur .../etc/netbeans.conf ,

    netbeans_default_options comprend : -J-Dawt.useSystemAAFontSettings=lcd y -J-Dsun.java2d.xrender=true"

    et mettre netbeans_jdkhome="/usr/lib/jvm/java-1.7.0-openjdk-amd64"

Cela a fait passer mes polices Netbeans de l'acceptable des années 1990 à l'impressionnant des temps modernes. Et je peux maintenant utiliser l'Inconsolata comme police de l'éditeur Netbeans et c'est SUPERBE.

Capture d'écran comme demandé : (le texte réel est plus clair que cette capture. Quelque chose dans la capture l'a légèrement flouté). enter image description here

0 votes

En note de bas de page : le "-J-Dsun.java2d.xrender=true" a introduit quelques problèmes de rendu. en le mettant à false, on a corrigé les problèmes de rendu lors du défilement rapide, mais cela n'a pas eu d'impact sur les belles polices.

0 votes

Une note de suivi rapide : si le paquetage openjdk est mis à jour avant celui de la police corrigée et que vous l'appliquez, vous pouvez revenir en arrière comme ceci : pour openjdk-7-jdk, openjdk-7-jre et openjdk-7-jre-headless, désinstallez-les et installez ensuite les versions précédentes du dépôt de correction de la police. apt-cache policy <package> vous montrera les versions, par exemple apt-get remove openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless apt-get install openjdk-7-jdk=7u51-2.4.4-0ubuntu0.13.10.1ppa2 openjdk-7-jre=7u51-2.4.4-0ubuntu0.13.10.1ppa2 openjdk-7-jre-headless=7u51-2.4.4-0ubuntu0.13.10.1ppa2

0 votes

Pouvez-vous joindre une image de ce à quoi il ressemble maintenant ?

2voto

Stefano Points 2314

Ce n'est pas si mal que la police

Cependant, il s'agit d'une application Java et d'une manière particulière de gérer les polices.

Si vous voulez seulement changer la taille de la police, vous pouvez démarrer Netbeans avec "Paramètre "--fontsize :

netbeans --fontsize 12

Si vous voulez changer le type de police, il est un peu plus difficile de changer les paramètres d'environnement, et cet article l'explique très bien :

https://wiki.archlinux.org/index.php/Java_Runtime_Environment_Fonts

Ceci est pour ArchLinux mais je pense que cela fonctionnera aussi sous Ubuntu car Java est un logiciel universel.

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