Patches de fontes OpenJDK-8 / Oracle JDK 8 para Ubuntu


8

Existe uma versão corrigida do OpenJDK-8 ou Oracle JDK 8 para Ubuntu 14.10 que corrige fontes feias em aplicativos Java (produtos Jetbrains, Netbeans etc.)?

Eu já havia instalado uma versão corrigida do OpenJDK7 para Ubuntu 14.04 neste artigo, mas ela não parece estar disponível para a 14.10. Também não consegui encontrar uma versão corrigida para o OpenJDK8 / OracleJDK8.

Se houver alguma versão corrigida ou um patch para o OpenJDK8 / OracleJDK8 que eu possa instalar, eu realmente apreciaria se alguém pudesse apontar.

Obrigado.


As versões modernas do IntelliJ trazem sua própria JVM. Provavelmente será capaz de lidar com coisas assim.
Thorbjørn Ravn Andersen

Respostas:


9

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

Primeiro, faça o download do JDK 8 do Oracle e execute as 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 baixe a correção da fonte JDK (Cortesia de Urshulyak Yaroslav ) 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

Isso extrairá o zip baixado e o moverá para / usr / lib / jvm /. Agora execute o seguinte no terminal:

cd ~
sudo gedit .bashrc

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

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

Salve-o e gedit o idea.sh. (O local do seu script pode ser diferente)

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

Na parte inferior do script, substitua as linhas na instrução While Do na parte inferior por 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 fonte de correção.

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

Essas instruções assumem que a versão do JDK era 1.8.0_25, os nomes de arquivo / caminho serão alterados para versões futuras.


Obrigado pela resposta detalhada. Eu tentei sua solução, mas minhas fontes se tornaram maiores e mais ousadas. Eu podia diminuir o tamanho da fonte, mas não conseguia mudar as fontes em negrito para o normal.
Deepal

Sim, o tamanho aumentou para 14 (mudei o meu para 11), mas minhas fontes não estavam em negrito? Suponho que você tentou as outras fontes para ver se elas ainda estavam em negrito?

Sim, nem todas as fontes estão em negrito. A fonte que estou usando no momento ficou em negrito. Eu acho que posso ter que viver com isso. Existe alguma maneira dessa solução poder ser aplicada a todos os aplicativos java que não seja a modificação de seus executáveis? Eu quero jar arquivos também? Não posso usar esse jdk corrigido como meu jdk padrão? Não é um jdk completo?
Deepal

1
Desculpe, eu não posso ajudar com as fontes em negrito. Você pode tentar baixar outra cópia da fonte, vale a pena tentar se isso te incomoda muito. Você pode tentar mexer na correção da fonte, tive alguns problemas ao usá-la como meu JDK, você pode tentar fazer o download do openJDK completo e mesclar os dois, o que poderia funcionar.

3
@Deepal Certifique-se de que você está definindo também export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.xrender=true"no seu bashrc
Salem

1

Para completar o DanielSteward:

Infelizmente, tuxjdka aparência do GTK usa a fonte definida no gtkrc atualmente usado. Mas a maioria dos temas não define nenhuma fonte lá. Como resultado, o netbeans usará o Arial 15 em negrito como fonte da interface do usuário.

Para corrigir isso, crie o gtkrc apenas para o netbeans com fonte fixa e diga ao netbeans para usar esse arquivo.

Preparei um lançador especial que faz isso de forma semi-automática:

#! / bin / bash

### Variáveis ​​personalizáveis: ###

# Caminho em que o netbeans foi instalado
NETBEANS_PATH = $ {NETBEANS_PATH: - ~ / opt / netbeans-dev-2015-06-04} / bin / netbeans
# Nome do ambiente de área de trabalho para usar o estilo de
USED_DE = $ {USED_DE: -mate}
# O Tuxjdk parece renderizar fontes de interface do usuário muito grandes, portanto, use esse valor para reduzi-las
FONT_SUBTRAHENT = $ {FONT_SUBTRAHENT: -3}

###############################

função remQuotes () {
  eco "$ {@ // \ '/}"
}

função diminuiçãoFontSize () {
  subtraenda local = $ 1; mudança
  args locais = "$ @"
  echo $ {args // [0-9] /} $ (($ {args // [! 0-9] /} - subtraendo $))
}

theme = $ (remQuotes `gsettings get org. $ {USED_DE} .interface gtk-theme`)
font = $ (remQuotes `gsettings get org. $ {USED_DE} .interface font-name`)
font = $ (diminuirFonteSize $ FONT_SUBTRAHENT $ font)

themeDirs = $ (encontre ~ / .themes / / usr / share / themes / -type d -name "$ {theme}")
gtkRcPath = ""
para dir em "$ themeDirs"; Faz
  if [[-f "$ dir / gtk-2.0 / gtkrc"]]; então
    gtkRcPath = "$ dir / gtk-2.0 / gtkrc"
    quebrar;
  fi
feito

if [["$ gtkRcPath" == ""]]; então
  eco "Tema não encontrado"> / dev / stderr
  ./$NETBEANS_PATH $ @
fi

cat $ HOME / .netbeans / .gtkrc-2.0
inclua "$ gtkRcPath"

estilo "fonte do usuário" {
    font_name = "$ font"
}

widget_class "*" estilo "fonte do usuário"

gtk-font-name = "$ font"

EOF

GTK2_RC_FILES = ~ / .netbeans / .gtkrc-2.0 $ NETBEANS_PATH $ @

Isso lerá as configurações do seu tema e criará um tema falso apenas para o netbeans. Você precisa ajustar NETBEANS_PATHe USED_DEvariáveis ​​ao seu ambiente.


0

Eu construí o Openjdk 8u40 sozinho e apliquei os patches do tuxjdk. Além disso, eu tive que criar um arquivo chamado local.confno /etc/fonts/para FontMap substituição de java por suas fontes lógicas como Dialog, Monospaced, etc. Depois disso, balanço aplicações baseadas melhorou muito. Dê uma olhada AQUI .


0

No momento, existem apenas pacotes rpm para o tuxjdk: http://download.opensuse.org/repositories/home:/TheIndifferent:/tuxjdk/

Preciso de um pouco mais de tempo para aprender sobre o empacotamento debian e preparar pacotes adequados, além de documentar alguns recursos interessantes da versão 03 do tuxjdk. Portanto, fique atento e relate quaisquer problemas que você esteja enfrentando com o tuxjdk em https://github.com/TheIndifferent/tuxjdk , para que eu possa reproduzi-los (e espero) corrigi-los.


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.