Patch di font OpenJDK-8 / Oracle JDK 8 per Ubuntu


8

Esiste una versione con patch di OpenJDK-8 o Oracle JDK 8 per Ubuntu 14.10 che corregge i brutti caratteri nelle applicazioni Java (prodotti Jetbrains, Netbeans ecc.)?

In questo articolo avevo precedentemente installato una versione con patch di OpenJDK7 per Ubuntu 14.04 , ma non sembra essere disponibile per 14.10. Inoltre non sono riuscito a trovare una versione con patch per OpenJDK8 / OracleJDK8.

Se c'è una versione con patch o una patch per OpenJDK8 / OracleJDK8 che potrei installare, apprezzerei davvero se qualcuno potesse indicarlo.

Grazie.


Le versioni moderne di IntelliJ portano la propria JVM. Molto probabilmente sarà in grado di gestire cose come questa.
Thorbjørn Ravn Andersen,

Risposte:


9

Dopo aver letto vari tutorial e incasinato un sacco di correzioni, ho trovato un modo che funziona perfettamente.

Prima di tutto scarica JDK 8 da Oracle ed esegui le seguenti linee nel terminale:

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/

Ora scarica la correzione del carattere JDK (per gentile concessione di Urshulyak Yaroslav ) eseguendo quanto segue:

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

Questo estrarrà lo zip scaricato e lo sposterà in / usr / lib / jvm /. Ora esegui quanto segue nel terminale:

cd ~
sudo gedit .bashrc

Quindi aggiungi le seguenti righe in fondo al file bashrc.

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

Salvalo e poi gedit l'idea.sh. (La posizione dello script potrebbe essere diversa)

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

In fondo allo script sostituisci le righe nell'istruzione While Do in fondo con queste due righe:

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

Salvalo e apri IntelliJ, i caratteri dovrebbero funzionare e per lo sviluppo utilizzerai Oracle JDK 8. Probabilmente dovrai modificare le impostazioni del progetto e configurare nuovamente il tuo JDK, ma assicurati di utilizzare il JDK effettivo e non quello di correzione dei caratteri.

Questa correzione funziona anche con CLion , Android Studio e PyCharm .

Queste istruzioni presuppongono che la versione JDK fosse 1.8.0_25, i nomi di file / percorso cambieranno per le versioni future.


Grazie per la risposta dettagliata Ho provato la tua soluzione, ma i miei caratteri sono diventati più grandi e più audaci. Potrei ridurre la dimensione del carattere, ma non posso cambiare i caratteri in grassetto alla normalità.
Deepal

Sì, la dimensione è aumentata a 14 (ho cambiato il mio in 11) ma i miei caratteri non erano in grassetto? Presumo che tu abbia provato gli altri caratteri per vedere se erano ancora in grassetto?

Sì. Non tutti i caratteri sono in grassetto. Il carattere che sto attualmente usando è diventato grassetto. Penso che dovrei conviverci. Esiste un modo in cui questa soluzione può essere applicata a tutte le applicazioni java oltre a modificare i loro eseguibili? Voglio dire anche jar file? Non posso usare questo jdk con patch come jdk predefinito? Non è un jdk completo?
Deepal

1
Mi dispiace non posso aiutare con i caratteri in grassetto. Potresti provare a scaricare un'altra copia del font, che vale la pena provare se ti disturba così tanto. Puoi provare a scherzare con la correzione del font, ho avuto alcuni problemi ad usarlo come mio JDK, potresti provare a scaricare l'intero openJDK e unire i due, che potrebbe funzionare.

3
@Deepal Assicurati di impostare anche export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.xrender=true"nel tuo bashrc
Salem

1

Per completare la risposta di DanielSteward:

Sfortunatamente tuxjdkper l'aspetto GTK utilizza i set di caratteri in gtkrc attualmente in uso. Ma la maggior parte dei temi non imposta alcun carattere lì. Di conseguenza netbeans utilizzerà grassetto Arial 15 come carattere dell'interfaccia utente.

Per risolvere il problema, crea gtkrc solo per netbeans con font fisso e comunica a netbeans di utilizzare questo file.

Ho preparato un launcher speciale che lo fa in modo semi-automatico:

#! / Bin / bash

### Variabili personalizzabili: ###

# Percorso in cui è stato installato netbeans
NETBEANS_PATH = $ {NETBEANS_PATH: - ~ / opt / NetBeans-dev-2015/06/04} / bin / NetBeans
# Nome dell'ambiente desktop da cui utilizzare lo stile
USED_DE = $ {USED_DE: -mate}
# Tuxjdk sembra rendere i caratteri UI troppo grandi, quindi usa questo valore per ridurli
FONT_SUBTRAHENT = $ {FONT_SUBTRAHENT: -3}

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

funzione remQuotes () {
  echo "$ {@ // \ '/}"
}

Funzione decreasFontSize () {
  subtrahend locale = $ 1; cambio
  local args = "$ @"
  echo $ {args // [0-9] /} $ (($ {args // [! 0-9] /} - $ subtrahend))
}

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

themeDirs = $ (trova ~ / .themes / / usr / share / themes / -type d -name "$ {theme}")
gtkRcPath = ""
per dir in "$ themeDirs"; fare
  if [[-f "$ dir / gtk-2.0 / gtkrc"]]; poi
    gtkRcPath = "$ dir / gtk-2.0 / gtkrc"
    rompere;
  fi
fatto

if [["$ gtkRcPath" == ""]]; poi
  echo "Tema non trovato"> / dev / stderr
  ./$NETBEANS_PATH $ @
fi

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

style "user-font" {
    font_name = "$ font"
}

widget_class "*" style "user-font"

gtk-font-name = "$ carattere"

EOF

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

Questo leggerà le impostazioni del tuo tema e creerà un tema falso solo per i netbeans. Devi adattare NETBEANS_PATHe USED_DEvariabili al tuo ambiente.


0

Ho creato Openjdk 8u40 da solo e applicato patch tuxjdk. Inoltre, ho dovuto creare un file chiamato local.confin /etc/fonts/per Fontmap esclusione di Java per i suoi caratteri logici come Dialog, Monospacedecc Dopo di che, altalena applicazioni basate migliorato molto. Dai un'occhiata QUI .


0

Al momento ci sono solo pacchetti rpm per tuxjdk: http://download.opensuse.org/repositories/home:/TheIndifferent:/tuxjdk/

Ho bisogno di un po 'più di tempo per conoscere l'imballaggio di Debian e preparare pacchetti adeguati, oltre a documentare alcune interessanti funzionalità della versione 03 di tuxjdk. Quindi rimanete sintonizzati e segnalate eventuali problemi con tuxjdk su https://github.com/TheIndifferent/tuxjdk , così sarò in grado di riprodurli e (si spera) risolverli.


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.