Les polices laides dans Netbeans - Comment puis-je lui faire utiliser la police système?


69

Je ne parviens pas à faire en sorte que la police Netbeans soit jolie. C'est un problème depuis que j'ai essayé Ubuntu ~ 8. Pour une raison quelconque, les polices semblent ne pas obtenir de lissage des sous-pixels dans Netbeans uniquement; pour le reste des applications, elles ont une apparence parfaite.

Regardez à quel point la capture d'écran est laide:

entrez la description de l'image ici

Ce n'est pas seulement la zone de code, mais chaque police de l'application a cette apparence. Je cherchais autour de moi et apparemment, l'ajout de la ligne suivante au .bashrcfichier devrait résoudre le problème, mais dans mon cas, ce n'est pas le cas:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

Il pense que cela pourrait n'affecter que les applications Java, mais je n'ai pas été en mesure de tester une autre application Java pour vérifier les polices.

Est-ce que quelqu'un sait ce que je peux faire pour résoudre ce problème? Comment puis-je faire en sorte que Netbeans utilise la police système?


J'ai également cherché et cherché une solution à ce problème, mais il ne semble pas en être. Cela concerne spécifiquement les applications basées sur Swing; vous constaterez que Eclipse, par exemple, a l'air bien. En fait, je ne me préoccupe pas trop de la police de code (elle est modifiable, et je trouve que ça a l'air d'aller bien avec Droid Sans Mono à 11 pt), mais les polices chromées me fâchent vraiment.
Jamie Schembri

Oui, cela ne semble affecter que les applications basées sur Java, je pense changer mon IDE juste à cause de cela.
Javier Villanueva

En fait, j'ai spécifiquement mentionné Swing car le problème des polices n'est pas visible dans les applications SWT, telles que Eclipse. Quoi qu'il en soit, cela ne concerne que (certaines) applications Java. De plus, je peux confirmer que le problème existe toujours dans Netbeans 7.0 RC1.
Jamie Schembri

Vous avez raison, je suis passé à Aptana et ils ont l'air bien là-bas. J'espère trouver une solution à ce problème. J'aime beaucoup Netbeans, mais ces polices me rendaient fou.
Javier Villanueva le

1
J'utilise maintenant 'Droid Sans Mono', taille 16 avec '-J-Dawt.useSystemAAFontSettings = on --laf javax.swing.plaf.nimbus.NimbusLookAndFeel -J-Dsun.java2d.noddraw = true -J-Dsun. java2d.dpiaware = true '
Karussell Le

Réponses:


38

Comme indiqué dans les commentaires, il s'agit d'un problème avec les applications Java Swing sur Linux. Swing utilise les paramètres de lissage des polices de Gnome (désactivés, niveaux de gris ou sous-pixels). Il ignore toutefois les paramètres de repère. Il utilise toujours des repères complets, et si vous utilisez Ubuntu avec peu ou pas de repères de police (comme la plupart des gens le font depuis le paramétrage par défaut), la police apparaîtra sensiblement différente de celle des autres applications. Les applications SWT comme Eclipse vont bien, mais si vous aimez Netbeans, cela ne vous aidera pas.

Avertissement: pour la solution de contournement suivante, je ne parle que de la police d'éditeur, car dans un environnement de développement intégré, c'est ce qui est important pour moi. Vous pouvez également l'appliquer aux polices de menu, etc., mais cela risque d'être un peu excessif.

La seule solution utilisable que j'ai trouvée ici : utilisez Fontforge pour modifier la police de l'éditeur de votre choix, supprimez toutes les informations utiles de la police, puis enregistrez-la en tant que nouvelle police et utilisez-la dans Netbeans.

  1. sudo apt-get install fontforge
  2. Lancer Fontforge
  3. Ouvrez votre police de choix
  4. Ctrl+ Aou edit -> Select -> Select allpour sélectionner tous les caractères
  5. Conseils ⇒ Instructions claires
  6. Ctrl+ Shift+ Fou element -> font infopour ouvrir les informations de police
  7. Renommer la police (par exemple en nom d'origine + '_nohints')
  8. Enregistrez la police modifiée dans le .fontsrépertoire de votre maison, en passant bien file -> generate fontsen vous assurant d'utiliser un format lu par Ubuntu (voir l'étape suivante).
  9. Vider le cache de polices fc-cache -rv- après sa sortie, pour vous assurer que votre nouveau fichier de polices a été sélectionné (par exemple, .sfdmais .ttfne le fait pas ).
  10. Exécutez Netbeans et utilisez la police que vous avez créée en tant que police de l'éditeur

Non, pas parfait et oui, un peu compliqué, mais toujours un monde de différence. J'espère que ça t'as aidé.


3
J'ai utilisé Monospacecelui par défaut dans NetBeans. J'ai essayé de réparer Ubuntu Monospace, et ça a l'air mieux maintenant, mais encore pire alors Monospace. Merci quand même. Si je pouvais trouver un Monospaceemplacement sur le système de fichiers, j'essaierais de le réparer aussi.
Umpirsky

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

Vous ne savez pas quel fichier de police est ma police ... Vous avez 9 fichiers de polices différents pour la police Ubuntu seule; vous devez donc consulter font.ubuntu.com pour déterminer lequel bricoler. J'espère que cela fonctionnera.
mat

17

Ajouter

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

ou

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

dans le fichier: netbeans.config. Vous pouvez le trouver dans le dossier $ NETBEANS_HOME / etc /. Réduisez la taille de la police de votre application à partir des préférences système.

La source


9
Le fichier de configuration est généralement à /home/<user_name>/<neabeans_folder>/etc/netbeans.conf.
Bibhas

2
N'a pas fonctionné pour moi :(
szx

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

Je ne vois aucune différence après avoir ajouté cette ligne. UNE . Il n’existe encore, par exemple, qu’un pixel, où il apparaît bien dans n’importe quelle autre application.
NoBugs

Celui-ci a fait le tour pour moi.
Nico M

7

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 en netbeans.

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

Fondamentalement: Ubuntu 13.10, Netbeans (7.3), des correctifs de police Infinality pour freetype, OpenJDK7, et des correctifs pour corriger le traitement lamentable des polices Swings. Et ça "a juste fonctionné" !!!

Copié ici au cas où ce lien mourrait:

  1. installer freetype

    $ sudo apt-get install libfreetype6
    
  2. installer le correctif d'infinité

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

    Je devais faire ensuite ce qui suit:

    $ 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 le rendu des polices, procédez comme suit:

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

    Définissez USE_STYLE sur "WINDOWS7" dans /etc/profile.d/infinality-settings.sh

  3. installer la police fixe OpenJDK

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

    Dans .../etc/netbeans.conf,

    netbeans_default_optionscomprend: -J-Dawt.useSystemAAFontSettings=lcdet -J-Dsun.java2d.xrender=true"

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

Cela a changé mes polices Netbeans des années 1990 acceptables aux jours modernes géniaux. Et je peux maintenant utiliser Inconsolata comme ma police d’éditeur Netbeans et elle a l’air 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 brouillé). entrez la description de l'image ici


en tant que note de bas de page: le "-J-Dsun.java2d.xrender = true" introduisait quelques problèmes de rendu. en le fixant à false, corrige les problèmes de rendu lors du défilement rapide, mais n'affecte pas les superbes polices.
Chris Holt le

Une note de suivi rapide: si le paquetage openjdk est mis à jour avant celui fixé par la police 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, puis installez les versions précédentes à partir du référentiel de correctifs de polices. apt-cache policy <package>va vous montrer les versions. C'est-à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
Chris Holt

pouvez-vous joindre une image, à quoi ça ressemble maintenant?
Roman le

5

L'anti-aliasing des polices ne fonctionne pas correctement dans les applications Ubuntu Java Swing.

Ajouter:

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

netbeans.config à la fin de la netbeans_default_optionschaîne.

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

Exemple:

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"

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

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

2

Ce n'est pas si grave 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 souhaitez uniquement modifier la taille de la police, vous pouvez démarrer Netbeans avec le paramètre "--fontsize" :

netbeans --fontsize 12

Si vous souhaitez modifier le type de police, il est un peu plus difficile de modifier les paramètres d'environnement, et cet article 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 dans Ubuntu car Java est un logiciel universel.


2

J'ai eu le même problème sur Ubuntu 12.04 et Netbeans 7.2.

J'ai essayé d'ajouter -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcdà netbeans.confmais cela n'a pas résolu le problème.

Ensuite, j’ai vu le commentaire concernant la hauteur de ligne au bogue Netbeans 215785 . Régler la hauteur de ligne de l'éditeur sur 1.0 avec les paramètres AA pour netbeans.confrésoudre mon problème.


1

J'ai été capable de faire cela comme suit (j'utilise Ubuntu 12.10, j'ai également travaillé sous Ubuntu 13.04):


Étape 1 (Cela fonctionne probablement dans toutes les versions d'Ubuntu):

J'ai d'abord nettoyé les menus en utilisant ce plugin Tools -> Plugins -> Settings -> Add:

http://java-swing-ayatana.googlecode.com/files/netbeans-catalog.xml

Une fois cet emplacement ajouté, vous devez installer le plugin en effectuant une recherche Java Ayatana(la description sera en espagnol). Le menu supérieur et le menu contextuel seront identiques à ceux du système d'exploitation.


Étape 2 (je ne sais pas si cela fonctionnera dans toutes les versions d'Ubuntu):

Ensuite, vous voudrez probablement que les polices de projets soient aussi plus jolies. Ce que j’ai fait pour résoudre ce problème a été exécuté dans le terminal: sudo apt-get install gnome-tweak-toolje l’ai lancé et j’ai choisi un autre default fontréseau Now Netbeans qui est joli!

Voici une capture d'écran:

entrez la description de l'image ici


Changer la police 'Interface' sur les outils de tweak a fait l'affaire pour moi. Je ne ai eu des problèmes avec ces textes (couper en deux!)
Makiavelo

1

Je viens de voir ces publications et j'ai essayé de résoudre mon problème de polices. J'avais aussi un problème. Je ne pouvais choisir que 4 polices toutes étaient boiteuses. grand fan de netbeans et je savais que je pouvais trouver une solution ici.

de toute façon j'ai suivi tous les guid possible. J'utilise Ubuntu 13.10 et Netbeans 7.3 (oui j'aime les choses instables)

  1. créer un dossier .font dans mon dossier utilisateur.
  2. copié toutes les polices que j'avais dans ce dossier.
  3. ajouté la ligne suivante au fichier netbeans.conf

trouvez-le en exécutant:

locate netbeans.conf

éditez-le et ajoutez ce qui suit dans les guillemets comme suggéré

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal
  1. lancer netbeans update qui, je pense, a fait la magie maintenant, j’ai un très beau sélecteur de polices et plus de polices à choisir, puis le code à écrire (blague peu drôle).

J'espère que cela vous aidera.


1

Pour aller un peu plus loin que les méthodes manuelles, j'ai préparé une police dédiée appelée "Ubuntu Mono Nohinting" afin de remédier à un problème de rendu avec des applications Java Swing telles que NetBeans IDE, IntelliJ IDEA et PyCharm. Les informations sur les indices de police ont été supprimées de la famille de polices Ubuntu Mono d'origine.

Comment installer

  • télécharger le fichier zip à partir d'ici
  • l'extraire
  • Ouvrez * .ttf avec Font Viewer à installer.
  • ou vous pouvez copier manuellement * .ttf dans ~/.local/share/fonts/.

Comment utiliser

  • Sélectionnez "Ubuntu Mono Nohinting" dans la configuration des éditeurs.

Captures d'écran

Ubuntu Mono Font avec le thème PyCharm Monokai

Ubuntu Mono Font avec le thème PyCharm Monokai

Ubuntu Mono Nohinting Font avec le thème PyCharm Monokai

Ubuntu Mono Nohinting Font avec le thème PyCharm Monokai


1

Ajoutez le code suivant à la fin de netbeans_default_optionsvotre netbeans.conffichier.

-J-Dawt.useSystemAAFontSettings=on

Cela utilisera les polices système.


0
#!/bin/sh

gsettings set org.gnome.desktop.interface font-name 'Ubuntu 10'
sh /home/xxx/netbeans-7.2/bin/netbeans &
sleep 5
gsettings set org.gnome.desktop.interface font-name 'Ubuntu 11'

7
Bienvenue sur Ask Ubuntu! Cette réponse serait très utile si vous la modifiiez pour ajouter une explication (ou du moins pour dire à l'utilisateur exactement quoi faire avec ces lignes).
Eliah Kagan

0

Personnellement, je pense que l’aspect général par défaut de Netbeans sur Linux est un peu décevant, en particulier compte tenu de sa beauté sur d’autres plateformes. Heureusement, il est facile de modifier le look & feel (LAF) depuis l’intérieur de l’IDE. En fonction de votre sélection, cela améliorera souvent l'apparence des polices.

Pour modifier le fichier LAF, procédez comme suit: Cliquez sur Outils >> Options. Dans la boîte de dialogue, sélectionnez Apparence, puis cliquez sur l'onglet Apparence. Sélectionnez simplement l'un des fichiers LAF. Ma préférence est Nimbus, mais vous préférerez peut-être autre chose.

Il existe également deux plugins 'Dark LAF': Dark Metal et Dark Nimbus.


0

J'ai moi-même fait quelque chose de différent: dans mon cas, à propos de NetBeans version 8.0.1 , le problème était le JDK installé sur le système (Oracle JDK 8.0). Après avoir migré vers OpenJDK 8, des polices plus agréables sont apparues dans les éléments de l'interface utilisateur.

Je ne sais pas si c'est une bonne réponse, car cela ne fonctionnera peut-être pas partout, mais certainement - en changeant de JDK (que ce soit OpenJDK ou Oracle JDK), vous verrez peut-être une différence.


0

J'ai littéralement essayé toutes les solutions que je pouvais trouver mais aucune ne fonctionnait, à l'exception d'un JDK par défaut différent pour NetBeans.

JDK d'Oracle ne rend pas bien les polices. OpenJDK ne semble pas non plus fonctionner pour NetBeans mais fonctionne à merveille pour IntelliJ et ses frères et sœurs.

Celui qui a fonctionné pour NetBeans s'appelle TuxJDK, qui est essentiellement OpenJDK amélioré pour les développeurs Java travaillant sous Linux. Une des améliorations est l' excellent rendu des polices .

Voici comment l'utiliser:

  1. Téléchargez le fichier binaire TuxJDK à partir d' ici . ("tuxjdk-static-8.92.03.tar.xz" au moment de l'écriture)
  2. Extrayez le fichier tar.xz où vous voulez.
  3. Copiez l'emplacement du répertoire TuxJDK.
  4. Ouvrez netbeans.conf situé dans NetBeansInstallationDirectory / etc /.
  5. Recherchez la ligne qui commence par "netbeans_jdkhome" et remplacez le chemin par celui copié à l'étape 3.
  6. Lancez-vous et NetBeans et régalez vos yeux avec de belles polices!

Avant: NetBeans avant d'utiliser TuxJDK

Après: NetBeans après avoir utilisé TuxJDK


0

Il suffit d'installer zulu jdk à partir de http://zulu.org :)


Qu'est ce que ça fait?
PerlDuck

Le zulu jdk a amélioré le rendu des polices. Donc, cela peut donner le même résultat que tuxjdk.
Arun

-1

J'avais le même problème sur Mint 12. Je l'ai résolu en entrant les "Paramètres avancés" -> "Polices" et en réduisant la police par défaut de 11 à 10. J'ai réduit la cohérence de toutes les polices de la liste.

Il doit y avoir un problème avec la police Cantarell 11.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.