Caratteri brutti in Netbeans - Come posso farlo usare il carattere di sistema?


69

Sto avendo problemi a far sembrare bello il font Netbeans, questo è stato un problema da quando ho provato Ubuntu ~ 8. Per qualche motivo i caratteri sembrano non ottenere il livellamento dei subpixel solo in Netbeans, per il resto delle applicazioni sembrano perfetti.

Guarda quanto è brutto lo screenshot:

inserisci qui la descrizione dell'immagine

Non è solo l'area del codice, ma ogni carattere dell'applicazione appare in questo modo. Mi stavo guardando intorno e apparentemente aggiungendo la seguente riga al .bashrcfile avrei dovuto risolvere il problema, ma nel mio caso non è stato:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

Pensa che potrebbe interessare solo le applicazioni basate su Java, ma non sono stato in grado di testare un'altra app Java per controllare i caratteri.

Qualcuno sa cosa posso fare per risolvere questo problema? Come posso fare in modo che Netbeans usi il font di sistema?


Ho anche cercato e cercato una soluzione per questo, ma non sembra essercene uno. In particolare riguarda le applicazioni basate su Swing; scoprirai che Eclipse, ad esempio, sembra a posto. In realtà non sono troppo infastidito dal carattere del codice (è modificabile, e trovo che sembri OK con Droid Sans Mono a 11pt) ma i caratteri di Chrome mi danno davvero fastidio.
Jamie Schembri,

Sì, sembra interessare solo le app basate su Java, sto pensando di cambiare il mio IDE solo per questo ..
Javier Villanueva,

In realtà, ho menzionato specificamente Swing perché il problema con i caratteri non è visibile nelle applicazioni SWT, come Eclipse. Ad ogni modo, tuttavia, interessa solo (alcune) applicazioni Java. Inoltre, posso confermare che il problema è ancora presente in Netbeans 7.0 RC1.
Jamie Schembri,

Hai ragione, sono passato ad Aptana e sembrano a posto lì, spero di trovare una soluzione per questo Mi piacciono molto i Netbeans ma quei font mi stavano facendo impazzire.
Javier Villanueva,

1
Sto usando ora 'Droid Sans Mono', taglia 16 con '-J-Dawt.useSystemAAFontSettings = on --laf javax.swing.plaf.nimbus.NimbusLookAndFeel -J-Dsun.java2d.noddraw = true -J-Dsun. java2d.dpiaware = true '
Karussell,

Risposte:


38

Come è stato affermato nei commenti, questo è un problema con le app Java Swing su Linux. Swing utilizza le impostazioni di smussamento dei caratteri di Gnome (disattivato, scala di grigi o subpixel), ma ignora le impostazioni di suggerimento. Usa sempre il suggerimento completo e se stai eseguendo Ubuntu con un suggerimento sul font scarso o nullo (come la maggior parte delle persone fa perché il piccolo suggerimento è l'impostazione predefinita) questo farà apparire il carattere significativamente diverso rispetto ad altre applicazioni. Le applicazioni SWT come Eclipse vanno bene, ma se ti piacciono i Netbeans questo non ti aiuterà.

Avvertenza: per la seguente soluzione sto parlando solo del carattere dell'editor, perché in un IDE questo è ciò che è importante per me. Potresti anche applicarlo ai caratteri del menu ecc., Ma potrebbe essere un po 'esagerato.

L'unica soluzione utilizzabile che ho trovato qui : usa Fontforge per modificare il font del tuo editor preferito e rimuovere tutte le informazioni di suggerimento dal font stesso, quindi salvalo come nuovo font e usalo in Netbeans.

  1. sudo apt-get install fontforge
  2. Avvia Fontforge
  3. Apri il tuo font preferito
  4. Ctrl+ Ao edit -> Select -> Select allper selezionare tutti i caratteri
  5. Suggerimenti ⇒ Istruzioni chiare
  6. Ctrl+ Shift+ Fo element -> font infoper aprire le informazioni sul carattere
  7. Rinomina carattere (ad es. Nome originale + '_nohints')
  8. Salvare il carattere modificato nella .fontsdirectory di casa, tramite file -> generate fonts, assicurandosi di utilizzare un formato letto da Ubuntu (vedere il passaggio successivo)
  9. Svuota la cache dei caratteri fc-cache -rv- seguendo il suo output per assicurarti che il tuo nuovo file di caratteri sia stato prelevato (es. .sfdNon lo .ttffa ma lo fa).
  10. Esegui Netbeans e usa il carattere che hai creato come carattere dell'editor

No, non perfetto e sì, un po 'una seccatura, ma ancora un mondo di differenza. Spero che aiuti.


3
Ho usato Monospace, quello predefinito in NetBeans. Ho provato a risolvere Ubuntu Monospace, e ora sembra meglio, ma ancora peggio Monospace. Grazie comunque. Se potessi trovare la Monospaceposizione sul file system, proverei anche a risolverlo.
umpirsky,

Grazie mille ... L'unica soluzione funzionante che ho trovato. Stavo impazzendo con questo !!
Stefanos Kalantzis,

Non sono sicuro di quale sia il mio carattere ... Ho solo 9 diversi file di caratteri per il solo carattere Ubuntu, quindi ho bisogno di consultare font.ubuntu.com per capire quale armeggiare. Spero che questo funzioni.
matt

17

Inserisci

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

o

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

al file: netbeans.config. Puoi trovarlo nella cartella $ NETBEANS_HOME / etc /. Riduci il carattere dell'applicazione in base alle preferenze di sistema.

fonte


9
Il file di configurazione è in genere all'indirizzo /home/<user_name>/<neabeans_folder>/etc/netbeans.conf.
Bibhas,

2
Non ha funzionato per me :(
szx

Il file di configurazione è in /etc/netbeans.conf La prima riga non ha funzionato per me, ma la seconda ha funzionato
Christian Vielma,

Non vedo alcuna differenza dopo aver aggiunto questa riga. A. è ancora solo un pixel, ad esempio, dove si presenta bene in qualsiasi altra app.
NoBugs,

Questo ha fatto il trucco per me.
Nico M,

7

So che questa è una vecchia domanda, ma nella mia ricerca dello stesso problema, ho provato tutti i trucchi qui senza fortuna. Pensavo che avrei dovuto vivere con un testo terribile nei netbeans.

Poi ho trovato questo: http://youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038

Fondamentalmente: Ubuntu 13.10, Netbeans (7.3), patch di font Infinality per freetype, OpenJDK7 e patch per correggere la triste gestione dei font di Swings. E "ha appena funzionato" !!!

Copiato qui nel caso in cui il collegamento dovesse scomparire:

  1. installa freetype

    $ sudo apt-get install libfreetype6
    
  2. installa la patch all'infinito

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

    Ho dovuto fare quanto segue in seguito:

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

    Per utilizzare Windows 7 come il rendering dei caratteri, procedi come segue:

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

    Impostare USE_STYLE su "WINDOWS7" in /etc/profile.d/infinality-settings.sh

  3. installa font fisso OpenJDK

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

    In .../etc/netbeans.conf,

    netbeans_default_optionsinclude: -J-Dawt.useSystemAAFontSettings=lcde -J-Dsun.java2d.xrender=true"

    e impostare netbeans_jdkhome="/usr/lib/jvm/java-1.7.0-openjdk-amd64"

Ciò ha cambiato i miei caratteri Netbeans dagli anni '90 accettabili ai giorni nostri fantastici. E ora posso usare Inconsolata come font del mio editor Netbeans e sembra GRANDE.

Schermata come richiesto: (il testo effettivo è più chiaro di questa acquisizione. Qualcosa nell'acquisizione lo ha offuscato leggermente). inserisci qui la descrizione dell'immagine


come nota a piè di pagina: "-J-Dsun.java2d.xrender = true" ha introdotto alcuni difetti di rendering. impostandolo su false, risolto i problemi di rendering durante lo scorrimento rapido, ma non influiva sui bellissimi caratteri.
Chris Holt,

Una breve nota di follow-up: se il pacakage openjdk viene aggiornato prima di quello fisso e lo applichi, puoi tornare indietro in questo modo: per openjdk-7-jdk, openjdk-7-jre e openjdk-7-jre-headless , disinstallarli e quindi installare le versioni precedenti dal repository di correzione dei caratteri. apt-cache policy <package>ti mostrerà le versioni. vale a dire 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,

puoi allegare l'immagine, come appare adesso?
Romano,

5

L'antialiasing dei caratteri non funziona correttamente nelle applicazioni Ubuntu Java Swing.

Inserisci:

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

a netbeans.config alla fine della netbeans_default_optionsstringa.

Puoi trovare il file di configurazione nella cartella $ NETBEANS_HOME / etc / (es. /home/<user_name>/<neatbeans_folder>/etc/netbeans.conf)

Esempio:

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"

Per me, il file di configurazione si trovava in /etc/netbeans.conf(e sym-linkato da altri posti).
Cedric Reichenbach,


2

Non è poi così male quel font ..

Tuttavia, si tratta di un'applicazione Java e come un modo particolare di gestire i caratteri.

Se vuoi solo cambiare la dimensione del carattere, puoi avviare Netbeans con il parametro "--fontsize" :

netbeans --fontsize 12

Se vuoi cambiare il tipo di carattere, è un po 'più difficile cambiare i parametri dell'ambiente e questo articolo spiega molto bene:

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

Questo è per ArchLinux ma penso che funzionerà anche su Ubuntu poiché Java è un software universale.


2

Ho avuto lo stesso problema su Ubuntu 12.04 e Netbeans 7.2.

Ho provato ad aggiungere -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcda netbeans.confma non ha risolto il problema.

Poi ho visto il commento del problema relativo all'altezza della linea nel bug 215785 di Netbeans . Impostare l'altezza della linea dell'editor su 1.0 insieme alle impostazioni AA ha netbeans.confrisolto il mio problema.


1

Sono stato in grado di farlo in questo modo (sto usando Ubuntu 12.10, ho lavorato anche su Ubuntu 13.04):


Passaggio 1 (Probabilmente funziona in tutte le versioni di Ubuntu):

Per prima cosa ho ripulito i menu usando questo plugin Tools -> Plugins -> Settings -> Add:

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

Una volta aggiunta quella posizione, è necessario installare il plug-in, cercando Java Ayatana(la descrizione sarà in spagnolo). Ciò renderà il menu principale e contestuale lo stesso del sistema operativo.


Passaggio 2 (non so se funzionerà in tutte le versioni di Ubuntu):

Successivamente probabilmente vorrai che anche i font dei progetti sembrino più belli, quello che ho fatto per sistemarlo è stato eseguito nel terminale: l' sudo apt-get install gnome-tweak-toolho lanciato e ho scelto un altro default fontNetbeans ora carino!

Ecco uno screenshot:

inserisci qui la descrizione dell'immagine


La modifica del carattere "Interfaccia" sugli strumenti di modifica mi ha aiutato. Ho avuto solo problemi con quei testi (tagliati a metà!)
Makiavelo,

1

Ho appena visto questo post e ho cercato di risolvere il mio problema con i caratteri, ho anche avuto un problema, ho potuto scegliere solo 4 caratteri tutti erano zoppi, e mi chiedevo cosa è successo che i netbean danno solo 4 caratteri tra cui scegliere e anche la casella di selezione dei caratteri zoppo, sono un grande fan dei netbeans e sapevo di poter trovare una soluzione qui.

in ogni modo ho seguito tutti i possibili guid. Uso Ubuntu 13.10 e netbeans 7.3 (sì, adoro le cose instabili)

  1. creare la cartella .font nella mia cartella utente.
  2. ho copiato tutti i caratteri che avevo in quella cartella.
  3. ha aggiunto la seguente riga al file netbeans.conf

trovalo eseguendo:

locate netbeans.conf

modificarlo e aggiunto quanto segue tra virgolette come suggerito sopra

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal
  1. esegui l'aggiornamento di netbeans che penso abbia fatto la magia ora che ho un bellissimo selettore di font e ho più font da scegliere, quindi codice da scrivere (scherzo non divertente).

Spero che ti possa aiutare.


1

Andando oltre ai modi manuali, ho preparato un font dedicato chiamato "Ubuntu Mono Nohinting" per risolvere un problema di rendering con applicazioni Java Swing come NetBeans IDE, IntelliJ IDEA e PyCharm. Le informazioni sui suggerimenti sui caratteri sono state rimosse dalla famiglia di caratteri Ubuntu Mono originale.

Come installare

  • scarica il file zip da qui
  • estrarlo
  • aprire * .ttf con Font Viewer per l'installazione.
  • oppure puoi copiare manualmente * .ttf in ~/.local/share/fonts/.

Come usare

  • Seleziona "Ubuntu Mono Nohinting" nella configurazione degli editor.

Screenshots

Ubuntu Mono Font con tema PyCharm Monokai

Ubuntu Mono Font con tema PyCharm Monokai

Ubuntu Mono Nohinting Font con tema PyCharm Monokai

Ubuntu Mono Nohinting Font con tema PyCharm Monokai


1

Aggiungi il seguente codice alla fine del netbeans_default_optionstuo netbeans.conffile.

-J-Dawt.useSystemAAFontSettings=on

Questo utilizzerà i caratteri di sistema.


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
Benvenuti in Ask Ubuntu! Questa risposta trarrebbe beneficio sostanziale, se la modificassi per aggiungere qualche spiegazione (o almeno per dire all'utente esattamente cosa fare con queste righe).
Eliah Kagan,

0

Personalmente, penso che l'aspetto generale predefinito di Netbeans su Linux sia un po 'deludente soprattutto considerando quanto sia bello su altre piattaforme. Per fortuna, la modifica dell'aspetto grafico (LAF) può essere eseguita facilmente dall'IDE. A seconda della selezione, questo spesso migliorerà l'aspetto dei caratteri.

Per modificare il LAF, procedi come segue: Fai clic su Strumenti >> Opzioni Nella finestra di dialogo, seleziona Aspetto, quindi la scheda Aspetto e sensibilità Seleziona semplicemente uno dei LAF. La mia preferenza è Nimbus, ma potresti preferire qualcos'altro.

Ci sono anche due plugin 'Dark LAFs' disponibili: Dark Metal e Dark Nimbus.


0

Io stesso ho fatto una cosa leggermente diversa: nel mio caso, parlando di NetBeans versione 8.0.1 , il problema era il JDK installato sul sistema (Oracle JDK 8.0). Dopo essersi spostato su OpenJDK, sono stati visualizzati 8 caratteri più belli negli elementi dell'interfaccia utente.

Non so se questa sia una buona risposta, perché potrebbe non funzionare ovunque, ma certamente - provando a cambiare JDK (sia OpenJDK o Oracle JDK) potresti vedere una differenza.


0

Ho provato letteralmente tutte le soluzioni che sono riuscito a trovare e nessuna ha funzionato tranne l'utilizzo di un JDK predefinito diverso per NetBeans.

Oracle JDK non esegue correttamente il rendering dei caratteri. Anche OpenJDK non sembra funzionare per NetBeans ma fa miracoli per IntelliJ e i suoi fratelli.

Quello che ha funzionato per NetBeans si chiama TuxJDK che è essenzialmente OpenJDK migliorato per gli sviluppatori Java che lavorano su Linux. Uno dei miglioramenti è l' eccellente rendering dei caratteri .

Ecco come usarlo:

  1. Scarica il binario TuxJDK da qui . ("tuxjdk-static-8.92.03.tar.xz" al momento della scrittura)
  2. Estrai tar.xz dove vuoi.
  3. Copia il percorso della directory TuxJDK.
  4. Apri netbeans.conf che si trova in NetBeansInstallationDirectory / etc /.
  5. Trova la riga che inizia con "netbeans_jdkhome" e sostituisci il percorso con quello copiato nel passaggio 3.
  6. Accendi NetBeans e tratta i tuoi occhi con dei bellissimi caratteri!

Prima: NetBeans prima di usare TuxJDK

Dopo: NetBeans dopo aver usato TuxJDK



-1

Stavo avendo lo stesso problema su Mint 12. L'ho risolto inserendo "Impostazioni avanzate" -> "Caratteri" e riducendo il carattere predefinito da 11 a 10. Ho ridotto tutti i caratteri dell'elenco in modo coerente.

Ci deve essere qualche problema con il font Cantarell 11.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.