Como corrigir o anti-aliasing de fontes no IntelliJ IDEA ao usar alta DPI?

75

Eu uso uma configuração de DPI mais alta, o que faz com que o IntelliJ (na verdade, o Android Studio) tenha realmente bagunçado as fontes .

Eu uso o MacType que renderiza lindamente as minhas fontes em outro lugar, mas acho que o Java VM de alguma forma intercepta isso ou algo assim, é me matando.

UPDATE : Como o rpgmaker diz em sua resposta abaixo, você também pode apenas instalar o último IntelliJ (2016.1 em diante)

    
por Bloke 03.07.2013 / 11:58

11 respostas

107

Estou em uma tela de alta resolução e consegui trabalhar com uma renderização de fonte perfeita. Para isso, você precisa:

  • (no Linux) Instale e use o Oracle JDK (estou usando 1.7) e não o OpenJDK (também o patcheado com o fontfix era inútil para mim) ). Veja como fazer isso .

  • Edite o arquivo de configuração .vmoptions que você encontra na pasta de instalação Bin (por exemplo, studio.vmoptions e para 64bit studio64.vmoptions , ou WebStorm.exe.vmoptions etc. de acordo com a versão do IDE que você instalou) adicionando estas linhas:
    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true e -Dsun.java2d.xrender=true em

  • Remova as informações de dicas da fonte que você gostaria de usar e selecione a nova fonte nas preferências do IntelliJ IDEA (Configuração - > Editor - > Fonte); Se você não sabe como fazer isso, instale o FontForge então:

    1. Abra sua fonte em FontForge
    2. Selecione todos os glifos por meio de Ctrl+A e limpe todas as dicas (Dicas - > Dicas claras)
    3. Selecione os glifos novamente e use Dicas - > Instrução clara
    4. Salve a fonte com nome diferente (Arquivo -> Gerar fontes)
    5. Instale a nova fonte, selecione-a em IDEA

Se você seguiu as dicas acima e está com atrasos quando rola rapidamente o código (isso às vezes pode acontecer nas distribuições do Linux com um driver não otimizado da gpu), tente remover a linha
-Dsun.java2d.xrender=true
do arquivo .vmoptions .

Finalmente, aqui está uma captura de tela do resultado:


(fontes usadas aqui são LucidaMAC para o IDE principal e Ubuntu Mono com informações de dicas removidas para o editor de código)

    
por 24.07.2013 / 15:09
4

Eu escrevi um pequeno manual para corrigir isso.

   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 para iniciar o Intellij Idea

* apenas observe que é necessário alterar a localização de IDEA_HOME para o seu caminho de ideia

#!/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 "$@"

Mais informações e capturas de tela de fontes melhores: link

    
por 07.09.2014 / 22:25
2

Eu tenho uma aparência semelhante apenas baixando a fonte Menlo e definindo o Editor de anti-aliasing como 'tons de cinza' em Aparência & comportamento > Aparência

Este é o resultado:

Aquiestáumacomparaçãoentreasduasplataformas

Estou usando uma resolução mais alta e um hardware melhor no trabalho com o MAC, é por isso que as fontes parecem um pouco mais brilhantes, o resultado irá variar dependendo da sua máquina. De qualquer forma vale a pena um tiro, as mudanças são fáceis de reverter

    
por 30.03.2016 / 09:52
2

Na nova solução do IDE JetBrains é diferente.

Na pasta de instalação IDE , basta renomear jre folder para outra coisa. Por exemplo:

  1. $ cd your-path-to/WebStorm-162.2228.20/
  2. $ mv jre/ _jre/

As versões mais recentes usam o JRE incluído, em vez do sistema um, e essa versão empacotada do causa problemas de renderização de fonte .

Funciona bem aqui: WebStorm 2016.3.2 no Kubuntu 16.04 linux.

    
por 06.11.2016 / 00:05
1

Nada disso é mais necessário. Baixe o último IntelliJ (2016.1 em diante) para Linux. Inclui um JRE modificado com o problema de fontes corrigido. Para corrigir o Android Studio, crie um link simbólico para o IntelliJ jre:

ln -s /PATH/TO/INTELLIJ/jre /PATH/TO/ANDROIDSTUDIO/jre

Alternativamente, abra seu gerenciador de arquivos como root (assumindo que seus IDEs estejam instalados no diretório / opt ou outra pasta do sistema) e crie um atalho para o jre do IntelliJ e mova-o para a pasta de instalação do Android Studio e renomeie-o para '. Isso funciona para o mais recente estúdio android 2.0, mas deve funcionar com versões anteriores também.

    
por 15.04.2016 / 21:56
1

Se você não pode limpar dicas com FontForge como o guari explicado em seu responder . Use Cousine (Licença Apache v2.00) como fonte do editor e defina o tamanho para 14. Eu tentei algumas outras fontes monoespaçadas. No entanto, Cousine parece ter uma renderização mais agradável do que a maioria das outras fontes. Veja a captura de tela no final

  1. Faça o download da fonte: cd ~/Downloads/ && wget www.fontsquirrel.com/fonts/download/cousine
  2. Crie um novo diretório da família de fontes: sudo mkdir /usr/share/fonts/truetype/Cousine
  3. Extraia os arquivos de fonte: sudo unzip cousine -d /usr/share/fonts/truetype/Cousine/
  4. Disponibilize-os para o IntelliJ: sudo chmod -R 777 /usr/share/fonts/truetype/Cousine
  5. Atualize o cache da fonte: sudo fc-cache -f -v
  6. Reinicie o IntelliJ e escolha Primo como fonte do editor
  7. Não se esqueça de definir os vmoptions como guari explicou

Screenshot:

    
por 16.03.2015 / 22:29
1

No Windows 10, tive problemas semelhantes. Verificar o Disable display scaling on high DPI settings tornou as fontes mais suaves, mas muito maiores. Veja como fazer isso (de um comentário anterior de outro usuário):

Right click on its icon, select Properties, go to Compatibility tab and check Disable DPI scaling on high DPI settings

Entrando no Windows Settings e pesquisando por Display Settings , há uma caixa de diálogo com um controle deslizante que diz Change the size of text, apps, and other items . Mudei de 125% para 100% e tive que fazer o logoff e fazer login novamente. As fontes são pequenas E suaves agora:

Ainda mais, se eu desmarcar Disable display scaling on high DPI settings , parece ainda ser bom.

    
por 14.07.2017 / 18:22
0

A resposta aceita não funcionou para mim, mas consegui que tudo funcionasse fazendo isso:

Depois de ler vários tutoriais e mexer em várias correções, descobri uma maneira que funciona perfeitamente.

Antes de tudo, faça o download do JDK 8 da Oracle e execute o seguintes linhas no 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/

Agora faça o download da correção de fonte do JDK (Cortesia de [Urshulyak Yaroslav] [2]) executando o seguinte:

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

Isto irá extrair o zip baixado e movê-lo para / usr / lib / jvm /. Agora, execute o seguinte no terminal:

cd ~
sudo gedit .bashrc

Em seguida, adicione as seguintes linhas à parte inferior do arquivo bashrc.

JAVA_HOME=/usr/lib/jvm/jdk1.8.0_25/
export JAVA_HOME

Salve e gedit o idea.sh. (A localização do seu script pode ser diferente)

gedit /home/USER/Downloads/idea/bin/idea.sh

Na parte inferior do script, substitua a (s) linha (s) na declaração While Do na parte inferior com estas duas linhas:

eval "/usr/lib/jvm/jdk-8u5-tuxjdk-b08/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@"
test $? -ne 88 && break

Salve-o e abra o IntelliJ, as fontes devem funcionar e você usará o Oracle JDK 8 para desenvolvimento. Você provavelmente terá que editar as Configurações do Projeto e configurar seu JDK novamente, mas certifique-se de usar o JDK real e não a correção da fonte.

Esta correção também funciona com o CLion, o Android Studio e o [PyCharm.

Estas instruções assumem que a versão do JDK era 1.8.0_25, nomes de arquivos / caminhos serão alterados para versões futuras.

    
por 28.12.2014 / 13:35
0

Você pode instalar o Oracle JDK-8. Testado no Ubuntu 14.04, deve funcionar para mais tarde também.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Verifique a versão:

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

Extraído de aqui .

    
por 17.08.2016 / 13:45
0

É assim que parece com a renderização horrível de fontes no ubuntu 16.04:

SevocêestiverusandooIntelliJIDEA2016.XouposteriorsemJDKempacotado,poderádefinirumavariáveldeambiente"IDEA_JDK" para especificar um tempo de execução específico. A renderização de fontes no Ubuntu 16.04 com o Android Studio é perfeita, então você pode compartilhar o mesmo JRE com o Intellij IDEA. O IntelliJ procura pela variável de ambiente IDEA_JDK primeiro, então configure-o adicionando um arquivo:

/etc/profile.d/IDEA_SDK.sh

Adicione isto ao arquivo:

export IDEA_JDK=/opt/android-studio/jre

Ajuste / opt / android-studio / jre conforme sua instalação. Faça o logout e faça login novamente e dispare seu Intellij IDE

Isto é o que parece depois de usar o novo JRE:

    
por 21.04.2017 / 19:11
-1

Eu percebi que o anti-aliasing do phpstorm funciona muito bem usando a configuração padrão. A comparação dos dois comandos mostra que a única diferença é o phpstorm usando seu próprio java (/ usr / share / phpstorm / jre64 / bin / java ).

Eu modifiquei o script de inicialização da idéia para fazer isso usando o java do phpstorm e ele funcionou e tudo é tão bom quanto o phpstorm. captura de tela

    
por 31.10.2017 / 04:43