Fontes feias no Netbeans - Como posso usar a fonte do sistema?


69

Estou tendo problemas para obter uma boa aparência da fonte do Netbeans, esse é um problema desde que experimentei o Ubuntu ~ 8. Por algum motivo, as fontes parecem não estar recebendo suavização de subpixel apenas no Netbeans, para o restante dos aplicativos elas parecem perfeitas.

Veja como é feia a captura de tela:

insira a descrição da imagem aqui

Não é apenas a área de código, mas todas as fontes no aplicativo têm esta aparência. Eu estava olhando em volta e, aparentemente, adicionar a seguinte linha ao .bashrcarquivo deve corrigir o problema, mas no meu caso, isso não ocorreu:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

Ele pode afetar apenas aplicativos baseados em Java, mas não pude testar outro aplicativo Java para verificar as fontes.

Alguém sabe o que posso fazer para corrigir isso? Como posso fazer o Netbeans usar a fonte do sistema?


Eu também procurei e procurei uma correção para isso, mas simplesmente não parece haver uma. Afeta especificamente os aplicativos baseados em Swing; você verá que o Eclipse, por exemplo, parece bem. Na verdade, não estou muito preocupado com a fonte do código (é mutável, e acho que parece bom com o Droid Sans Mono às 11h), mas as fontes do Chrome realmente me irritam.
Jamie Schembri 30/03

Sim, parece afetar apenas aplicativos baseados em java, eu estou pensando em mudar minha IDE apenas por causa deste ..
Javier Villanueva

Na verdade, mencionei especificamente o Swing porque o problema da fonte não é visível nos aplicativos SWT, como o Eclipse. De qualquer forma, porém, isso afeta apenas (alguns) aplicativos Java. Além disso, posso confirmar que o problema ainda existe no Netbeans 7.0 RC1.
Jamie Schembri

Você está certo, mudei para o Aptana e eles parecem bem lá, espero encontrar uma solução para isso. Eu realmente gosto do Netbeans, mas essas fontes estavam me deixando louco.
Javier Villanueva

11
Estou usando agora 'Droid Sans Mono', tamanho 16 com '-J-Dawt.useSystemAAFontSettings = on - laf javax.swing.plaf.nimbus.NimbusLookAndFeel -J-Dsun.java2d.noddraw = true -J-Dsun. java2d.dpiaware = true ''
Karussell

Respostas:


38

Como foi afirmado nos comentários, esse é um problema com os aplicativos Java Swing no Linux. O Swing usa as configurações de suavização de fonte do Gnome (desativadas, em escala de cinza ou subpixel) - embora desconsidere as configurações de dicas. Ele sempre usa dicas completas, e se você estiver executando o Ubuntu com pouca ou nenhuma dica de fonte (como a maioria das pessoas faz, porque pouca dica é a configuração padrão), isso fará com que a fonte pareça significativamente diferente do que em outros aplicativos. Aplicativos SWT como o Eclipse são bons, mas se você gosta do Netbeans, isso não vai ajudá-lo.

Advertência: Para a seguinte solução alternativa, estou apenas falando sobre a fonte do editor, porque em um IDE é isso que é importante para mim. Você também pode aplicá-lo às fontes de menu etc., mas isso pode ser um pouco exagerado.

A única solução utilizável que encontrei aqui : use o Fontforge para editar a fonte de sua escolha do editor e remova todas as informações de dicas da própria fonte, salve-a como uma nova fonte e use-a no Netbeans.

  1. sudo apt-get install fontforge
  2. Iniciar o Fontforge
  3. Abra sua fonte de escolha
  4. Ctrl+ Aou edit -> Select -> Select allpara selecionar todos os caracteres
  5. Dicas ⇒ Instruções claras
  6. Ctrl+ Shift+ Fou element -> font infopara abrir as informações da fonte
  7. Renomear fonte (por exemplo, para o nome original + '_nohints')
  8. Salve a fonte editada no .fontsdiretório da sua casa, usando o file -> generate fontsformato que o Ubuntu lê (veja a próxima etapa)
  9. Limpar o cache da fonte fc-cache -rv- seguindo sua saída para garantir que o seu novo arquivo de fonte foi selecionado (por exemplo .sfd, não .ttffaz, mas faz).
  10. Execute o Netbeans e use a fonte que você criou como fonte do editor

Não, não é perfeito e sim, um pouco de aborrecimento, mas ainda um mundo de diferença. Espero que ajude.


3
Eu usei Monospace, o padrão no NetBeans. Tentei consertar Ubuntu Monospace, e parece melhor agora, mas ainda pior Monospace. Obrigado mesmo assim. Se eu pudesse encontrar o Monospacelocal no sistema de arquivos, tentaria corrigi-lo também.
Umpirsky

Muito obrigado ... A única solução de trabalho que encontrei. Eu estava ficando louco com isso !!
Stefanos Kalantzis

Não tenho certeza qual arquivo de fonte é a minha fonte ... Tenho 9 arquivos de fonte diferentes apenas para a fonte Ubuntu, portanto, é necessário consultar font.ubuntu.com para descobrir qual deles deve ser consertado. Espero que isso funcione.
Matt

17

Adicionar, acrescentar

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

ou

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

para o arquivo: netbeans.config. Você pode encontrá-lo na pasta $ NETBEANS_HOME / etc /. Reduza a fonte do aplicativo das preferências do sistema.

Fonte


9
O arquivo de configuração geralmente está em /home/<user_name>/<neabeans_folder>/etc/netbeans.conf.
Bibhas

2
Não funcionou para mim :(
szx

O arquivo de configuração está em /etc/netbeans.conf A primeira linha não funcionou para mim, mas o segundo fez o truque
Christian Vielma

Não vejo diferença após adicionar esta linha. UMA . ainda é apenas um pixel, por exemplo, onde aparece bem em qualquer outro aplicativo.
NoBugs

Este fez o truque para mim.
Nico M

7

Sei que essa é uma pergunta antiga, mas na minha busca pelo mesmo problema, tentei todos os truques aqui sem sorte. Eu pensei que teria que viver com um texto terrível no netbeans.

Então encontrei o seguinte: http://youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038

Basicamente: Ubuntu 13.10, Netbeans (7.3), patches de fonte Infinality para freetype, OpenJDK7, e patches para corrigir o manuseio sombrio de fontes do Swings. E "apenas funcionou" !!!

Copiado aqui caso o link morra:

  1. instalar tipo livre

    $ sudo apt-get install libfreetype6
    
  2. instalar patch de infinalidade

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

    Eu tive que fazer o seguinte depois:

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

    Para usar o Windows 7 como a renderização de fonte, faça o seguinte:

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

    Defina USE_STYLE como "WINDOWS7" em /etc/profile.d/infinality-settings.sh

  3. instalar fonte corrigida OpenJDK

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

    Em .../etc/netbeans.conf,

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

    E definir netbeans_jdkhome="/usr/lib/jvm/java-1.7.0-openjdk-amd64"

Isso mudou minhas fontes do Netbeans dos anos 90, aceitáveis ​​para os dias modernos. E agora posso usar o Inconsolata como minha fonte de editor do Netbeans e parece ótimo.

Captura de tela conforme solicitado: (o texto real é mais claro que esta captura. Algo na captura embaçou um pouco). insira a descrição da imagem aqui


como nota de rodapé: o "-J-Dsun.java2d.xrender = true" introduziu algumas falhas de renderização. configurá-lo como false, corrigiu as falhas de renderização na rolagem rápida, mas não afetou as belas fontes.
Chris Holt

Uma observação rápida sobre o acompanhamento: se o pacote openjdk for atualizado antes do código fixado por fonte e você o aplicar, poderá voltar assim: para openjdk-7-jdk, openjdk-7-jre e openjdk-7-jre-headless , desinstale-os e instale as versões anteriores do repositório de correção de fontes. apt-cache policy <package>irá mostrar as versões. ie 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

você pode anexar uma imagem, como ela se parece agora?
Roman

5

O anti-aliasing das fontes não está funcionando corretamente nos aplicativos Ubuntu Java Swing.

Adicionar, acrescentar:

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

para netbeans.config no final da netbeans_default_optionssequência.

Você pode encontrar o arquivo de configuração na pasta $ NETBEANS_HOME / etc / (por exemplo /home/<user_name>/<neatbeans_folder>/etc/netbeans.conf)

Exemplo:

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"

Para mim, o arquivo de configuração estava localizado em /etc/netbeans.conf(e vinculado ao sym de outros lugares).
Cedric Reichenbach


2

Não é tão ruim que fonte ..

No entanto, este é um aplicativo Java e como uma maneira específica de lidar com fontes.

Se você deseja alterar apenas o tamanho da fonte, pode iniciar o Netbeans com o parâmetro "--fontsize" :

netbeans --fontsize 12

Se você deseja alterar o tipo de fonte, é um pouco mais difícil alterar os parâmetros do ambiente, e este artigo explica muito bem:

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

Isso é para o ArchLinux, mas acho que também funcionará no Ubuntu, pois o Java é um software universal.


2

Eu tive o mesmo problema no Ubuntu 12.04 e Netbeans 7.2.

Eu tentei adicionar -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcda netbeans.confmas não resolveu o problema.

Então, vi o comentário sobre o problema da altura da linha no bug 215785 do Netbeans . Definir a altura da linha do editor como 1,0, juntamente com as configurações de AA, netbeans.confresolveu o meu problema.


1

Consegui fazer isso da seguinte maneira (estou usando o Ubuntu 12.10, também trabalhei no Ubuntu 13.04):


Etapa 1 (isso provavelmente funciona em todas as versões do Ubuntu):

Primeiro eu limpei os menus usando este plugin Tools -> Plugins -> Settings -> Add:

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

Depois que o local é adicionado, você precisa instalar o plug-in, pesquisando Java Ayatana(a descrição será em espanhol). Isso fará com que o menu superior e de contexto seja o mesmo do sistema operacional.


Etapa 2 (não sei se isso funcionará em todas as versões do Ubuntu):

Em seguida, você provavelmente deseja que as fontes do projeto também sejam mais agradáveis, o que fiz para corrigir isso foi executado no terminal: sudo apt-get install gnome-tweak-toollancei-o e escolhi um default fontNow Now diferente do Netbeans!

Aqui está uma captura de tela:

insira a descrição da imagem aqui


Alterar a fonte 'Interface' nas ferramentas de ajustes fez o truque para mim. Eu só tive problemas com esses textos (cortado ao meio!)
Makiavelo

1

Acabei de ver essas postagens e tentei corrigir meu problema de fontes, eu também tinha problema, eu podia escolher apenas 4 fontes todas coxas, e me perguntei o que aconteceria com o netbeans dar apenas 4 fontes para escolher e também uma caixa de seleção de fontes coxas, eu sou um grande fã de netbeans e eu sabia que posso encontrar solução aqui.

de qualquer maneira eu segui todas as orientações possíveis. Eu uso o Ubuntu 13.10 e o netbeans 7.3 (sim, eu amo as coisas instáveis)

  1. crie uma pasta .font na minha pasta de usuário.
  2. copiei todas as fontes que eu tinha nessa pasta.
  3. adicionou a seguinte linha ao arquivo netbeans.conf

localize-o executando:

locate netbeans.conf

editá-lo e adicionou o seguinte dentro das aspas, como sugerido acima

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal
  1. execute a atualização do netbeans, que eu acho que fez a mágica, agora tenho um seletor de fontes bonito e tenho mais fontes para escolher do que código para escrever (piada sem graça).

Espero que ajude você.


1

Indo um passo adiante nas formas manuais, preparei uma fonte dedicada denominada "Ubuntu Mono Nohinting" para solucionar um problema de renderização com aplicativos Java Swing, como NetBeans IDE, IntelliJ IDEA e PyCharm. As informações sobre dicas de fontes foram retiradas da família de fontes Ubuntu Mono original.

Como instalar

  • baixe o arquivo zip daqui
  • extraia
  • abra * .ttf com o Font Viewer para instalar.
  • ou você pode copiar manualmente * .ttf para ~/.local/share/fonts/.

Como usar

  • Selecione "Ubuntu Mono Nohinting" na configuração dos editores.

Screenshots

Fonte Ubuntu Mono com tema PyCharm Monokai

Fonte Ubuntu Mono com tema PyCharm Monokai

Fonte Ubuntu Mono Nohinting com tema PyCharm Monokai

Fonte Ubuntu Mono Nohinting com tema PyCharm Monokai


1

Adicione o seguinte código ao final do netbeans_default_optionsseu netbeans.confarquivo.

-J-Dawt.useSystemAAFontSettings=on

Isso fará uso das fontes do 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
Bem-vindo ao Ask Ubuntu! Essa resposta se beneficiaria substancialmente se você a editasse para adicionar alguma explicação (ou pelo menos para dizer ao usuário exatamente o que fazer com essas linhas).
Eliah Kagan 01/10/12

0

Pessoalmente, acho que a aparência padrão geral do Netbeans no Linux é um pouco decepcionante, especialmente considerando a aparência agradável em outras plataformas. Felizmente, a alteração da aparência (LAF) pode ser feita facilmente a partir do IDE. Dependendo da sua seleção, isso geralmente melhora a aparência das fontes.

Para alterar o LAF, faça o seguinte: Clique em Ferramentas >> Opções Na caixa de diálogo, selecione Aparência e a guia Aparência. Simplesmente selecione um dos LAFs. Minha preferência é Nimbus, mas você pode preferir outra coisa.

Existem também dois plugins 'Dark LAFs' disponíveis: Dark Metal e Dark Nimbus.


0

Eu mesmo fiz algo diferente: no meu caso, falando do NetBeans versão 8.0.1 , o problema era o JDK instalado no sistema (Oracle JDK 8.0). Depois de passar para o OpenJDK, 8 fontes mais agradáveis ​​apareceram nos elementos da interface do usuário.

Não sei se essa é uma boa resposta, porque pode não funcionar em todos os lugares, mas certamente - ao tentar alternar o JDK (seja OpenJDK ou Oracle JDK), você pode ver uma diferença.


0

Tentei literalmente todas as soluções que pude encontrar e nenhuma funcionou, exceto usando um JDK padrão diferente para o NetBeans.

O JDK da Oracle não processa bem as fontes. O OpenJDK também parece não funcionar para o NetBeans, mas faz maravilhas para o IntelliJ e seus irmãos.

O que trabalhou para o NetBeans é chamado TuxJDK, que é essencialmente o OpenJDK aprimorado para desenvolvedores Java que trabalham no Linux. Um dos aprimoramentos é a excelente renderização de fontes .

Veja como usá-lo:

  1. Faça o download do binário TuxJDK aqui . ("tuxjdk-static-8.92.03.tar.xz" no momento da redação)
  2. Extraia o tar.xz onde quiser.
  3. Copie o local do diretório TuxJDK.
  4. Abra netbeans.conf localizado no NetBeansInstallationDirectory / etc /.
  5. Encontre a linha que começa com "netbeans_jdkhome" e substitua o caminho pelo caminho copiado na Etapa 3.
  6. Ligue o NetBeans e trate seus olhos com algumas fontes bonitas!

Antes: NetBeans antes de usar o TuxJDK

Depois: NetBeans depois de usar o TuxJDK



-1

Eu estava tendo o mesmo problema no Mint 12. Resolvi-o inserindo as "Configurações avançadas" -> "Fontes" e reduzindo a fonte padrão de 11 para 10. Abaixei todas as fontes da lista para consistência.

Deve haver algum problema com a fonte Cantarell 11.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.