Łaty czcionek OpenJDK-8 / Oracle JDK 8 dla Ubuntu


8

Czy istnieje łatana wersja OpenJDK-8 lub Oracle JDK 8 dla Ubuntu 14.10, która naprawia brzydkie czcionki w aplikacjach Java (produkty Jetbrains, Netbeans itp.)?

W tym artykule wcześniej zainstalowałem poprawioną wersję OpenJDK7 dla Ubuntu 14.04 , ale wydaje się, że nie jest dostępna dla 14.10. Nie mogłem również znaleźć poprawionej wersji dla OpenJDK8 / OracleJDK8.

Jeśli jest jakaś łatana wersja lub łatka dla OpenJDK8 / OracleJDK8, którą mógłbym zainstalować, byłbym bardzo wdzięczny, gdyby ktokolwiek mógł to wskazać.

Dziękuję Ci.


Nowoczesne wersje IntelliJ oferują własną JVM. Najprawdopodobniej będzie w stanie poradzić sobie z takimi rzeczami.
Thorbjørn Ravn Andersen

Odpowiedzi:


9

Po przeczytaniu różnych samouczków i wprowadzeniu wielu poprawek znalazłem sposób, który działa idealnie.

Najpierw pobierz JDK 8 z Oracle i wykonaj następujące wiersze w terminalu:

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/

Teraz pobierz poprawkę czcionki JDK (dzięki uprzejmości Urshulyak Yaroslav ), wykonując następujące czynności:

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

Spowoduje to rozpakowanie pobranego pliku zip i przeniesienie go do / usr / lib / jvm /. Teraz uruchom następujące polecenie w terminalu:

cd ~
sudo gedit .bashrc

Następnie dodaj następujące wiersze na samym dole pliku bashrc.

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

Zapisz, a następnie edytuj idea.sh. (Twoja lokalizacja skryptu może być inna)

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

Na samym dole skryptu zamień wiersze w instrukcji While Do na dole tymi dwoma wierszami:

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

Zapisz, a następnie otwórz IntelliJ, czcionki powinny działać i będziesz używać Oracle JDK 8 do programowania. Prawdopodobnie będziesz musiał edytować Ustawienia Projektu i ponownie skonfigurować JDK, ale pamiętaj, aby użyć rzeczywistego JDK, a nie poprawki czcionek.

Ta poprawka działa również z CLion , Android Studio i PyCharm .

Instrukcje te zakładają, że wersja JDK to 1.8.0_25, nazwy plików / ścieżek zmienią się w przyszłych wersjach.


Dziękuję za szczegółową odpowiedź. Wypróbowałem twoje rozwiązanie, ale moje czcionki stały się większe i odważniejsze. Mógłbym zmniejszyć rozmiar czcionki, ale nie mogłem zmienić pogrubionych czcionek na normalne.
Deepal

Tak, rozmiar został zwiększony do 14 (zmieniłem mój na 11), ale moje czcionki nie były pogrubione? Zakładam, że wypróbowałeś inne czcionki, aby sprawdzić, czy nadal są odważne?

Tak, nie wszystkie czcionki są pogrubione. Czcionka, której aktualnie używam, stała się pogrubiona. Myślę, że będę musiał z tym żyć. Czy jest jakiś sposób, aby to rozwiązanie można było zastosować do wszystkich aplikacji Java poza modyfikowaniem ich plików wykonywalnych? Mam również na myśli słoik plików? Czy nie mogę używać tego załatanego jdk jako domyślnego jdk? Czy to nie jest pełny jdk?
Deepal

1
Niestety nie mogę pomóc z pogrubionymi czcionkami. Możesz spróbować pobrać kolejną kopię czcionki, wartą wypróbowania, jeśli tak bardzo ci to przeszkadza. Możesz spróbować zadzwonić z poprawką czcionek, miałem pewne problemy z używaniem jej jako mojego JDK, możesz spróbować pobrać pełny openJDK i scalić dwa, które mogą działać.

3
@ Deeepal Upewnij się, że ustawiasz także export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.xrender=true"w swoim basztrze
Salem

1

Aby uzupełnić DanielSteward:

Niestety tuxjdkwygląd i styl GTK wykorzystuje zestaw czcionek w aktualnie używanym gtkrc. Ale większość motywów nie ustawia tam żadnej czcionki. W rezultacie netbeans użyje pogrubionej czcionki Arial 15 jako czcionki interfejsu użytkownika.

Aby to naprawić, należy utworzyć gtkrc tylko dla netbeans ze stałą czcionką i powiedzieć netbeans, aby używał tego pliku.

Przygotowałem specjalny program uruchamiający, który wykonuje to półautomatycznie:

#! / bin / bash

### Zmienne konfigurowalne: ###

# Ścieżka, na której zainstalowano netbeans
NETBEANS_PATH = $ {NETBEANS_PATH: - ~ / opt / netbeans-dev-2015-06-04} / bin / netbeans
# Nazwa środowiska pulpitu, z którego ma być używany styl
USED_DE = $ {USED_DE: -mate}
# Tuxjdk wydaje się renderować zbyt duże czcionki interfejsu użytkownika, więc użyj tej wartości, aby je zmniejszyć
FONT_SUBTRAHENT = $ {FONT_SUBTRAHENT: -3}

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

funkcja remQuotes () {
  echo „$ {@ // \ '/}”
}

funkcja zmniejszonaFontSize () {
  lokalna subtrahend = 1 USD; Zmiana
  lokalne argumenty = „$ @”
  echo $ {args // [0-9] /} $ (($ {args // [! 0-9] /} - $ subtrahend))
}

theme = $ (remQuotes `gsettings get org. $ {USED_DE} .interface gtk-theme`)
font = $ (remQuotes `gsettings get org. $ {USED_DE} .interface nazwa-czcionki`)
font = $ (zmniejszFontSize $ FONT_SUBTRAHENT $ czcionka)

themeDirs = $ (find ~ / .themes / / usr / share / themes / -type d -name "$ {theme}")
gtkRcPath = ""
dla reż. w „$ themeDirs”; zrobić
  if [[-f "$ dir / gtk-2.0 / gtkrc"]]; następnie
    gtkRcPath = "$ dir / gtk-2.0 / gtkrc"
    złamać;
  fi
gotowy

if [["$ gtkRcPath" == ""]]; następnie
  echo „Nie znaleziono motywu”> / dev / stderr
  ./$NETBEANS_PATH $ @
fi

cat $ HOME / .netbeans / .gtkrc-2.0
uwzględnij „$ gtkRcPath”

styl „user-font” {
    font_name = "$ font"
}

widget_class „*” style „user-font”

gtk-font-name = "$ font"

EOF

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

Spowoduje to odczytanie ustawień motywu i utworzenie fałszywego motywu tylko dla netbeans. Musisz dostosować NETBEANS_PATHi USED_DEzmienne do swojego środowiska.


0

Zbudowałem Openjdk 8u40 na własną rękę i zastosowałem łaty tuxjdk. Ponadto, miałem utworzyć plik o nazwie local.confw /etc/fonts/celu Fontmap override Java dla jego czcionek logicznych podoba Dialog, Monospaceditd Po tym, huśtawka aplikacje oparte o wiele lepsze. Spójrz TUTAJ .



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.