Патчи шрифтов OpenJDK-8 / Oracle JDK 8 для Ubuntu


8

Существует ли исправленная версия OpenJDK-8 или Oracle JDK 8 для Ubuntu 14.10, которая исправляет некрасивые шрифты в приложениях Java (продукты Jetbrains, Netbeans и т. Д.)?

Ранее в этой статье я установил исправленную версию OpenJDK7 для Ubuntu 14.04 , но она не доступна для 14.10. Я также не смог найти исправленную версию для OpenJDK8 / OracleJDK8.

Если есть какая-либо исправленная версия или исправление для OpenJDK8 / OracleJDK8, которые я мог бы установить, я был бы очень признателен, если кто-нибудь может указать на это.

Спасибо.


Современные версии IntelliJ имеют собственную JVM. Скорее всего, сможет справиться с такими вещами.
Торбьерн Равн Андерсен

Ответы:


9

Прочитав различные учебники и поработав с кучей исправлений, я нашел способ, который отлично работает.

Прежде всего загрузите JDK 8 из Oracle и выполните в терминале следующие строки:

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/

Теперь загрузите исправление шрифта JDK (Courtesy of Urshulyak Yaroslav ), выполнив следующее:

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

Это распакует загруженный zip-файл и переместит его в / usr / lib / jvm /. Теперь запустите следующее в терминале:

cd ~
sudo gedit .bashrc

Затем добавьте следующие строки в самый конец файла bashrc.

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

Сохраните его, затем gedit idea.sh. (Местоположение вашего скрипта может быть другим)

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

В самом низу скрипта замените строку (и) в операторе While Do внизу этими двумя строками:

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

Сохраните его, затем откройте IntelliJ, шрифты должны работать, и вы будете использовать Oracle JDK 8 для разработки. Скорее всего, вам придется отредактировать настройки проекта и заново настроить JDK, но обязательно используйте реальный JDK, а не шрифт с исправлением шрифта.

Это исправление также работает с CLion , Android Studio и PyCharm .

В этих инструкциях предполагается, что версия JDK была 1.8.0_25, имена файлов / путей будут изменены для будущих версий.


Спасибо за подробный ответ. Я попробовал ваше решение, но мои шрифты стали больше и смелее. Я мог уменьшить размер шрифта, но не мог изменить жирный шрифт на обычный.
Deepal

Да, размер увеличен до 14 (я поменял свой на 11), но мои шрифты не были жирными? Я полагаю, вы пробовали другие шрифты, чтобы увидеть, были ли они по-прежнему жирным шрифтом?

Да. Не все шрифты выделены жирным шрифтом. Шрифт, который я сейчас использую, стал жирным. Думаю, мне придется с этим смириться. Есть ли способ, которым это решение может быть применено ко всем Java-приложениям, кроме изменения их исполняемых файлов? Я имею в виду, чтобы файлы Jar, а? Разве я не могу использовать этот исправленный jdk в качестве jdk по умолчанию? Разве это не полный jdk?
Deepal

1
Извините, я не могу помочь с жирным шрифтом. Возможно, вы могли бы попробовать загрузить другую копию шрифта, стоит попробовать, если это вас так сильно беспокоит. Вы можете попробовать возиться с исправлением шрифта, у меня были некоторые проблемы с использованием его в качестве моего JDK, вы можете попробовать загрузить полный openJDK и объединить два, что может работать.

3
@Deepal Убедитесь, что вы настраиваете также export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.xrender=true"в своем bashrc
Салем

1

Чтобы сделать DanielSteward anwser завершенным:

К сожалению, tuxjdkдля GTK look and feel использует набор шрифтов в используемом в настоящее время gtkrc. Но большинство тем не устанавливает там никакого шрифта. В результате netbeans будет использовать жирный Arial 15 в качестве шрифта пользовательского интерфейса.

Чтобы исправить это, создайте gtkrc только для netbeans с фиксированным шрифтом и скажите netbeans использовать этот файл.

Я подготовил специальный лаунчер, который делает это полуавтоматически:

#! / Bin / Баш

### Настраиваемые переменные: ###

# Путь, где был установлен NetBeans
NETBEANS_PATH = $ {NETBEANS_PATH: - ~ / Opt / NetBeans-DEV-2015-06-04} / bin / NetBeans
# Имя окружения рабочего стола для использования стиля из
USED_DE = $ {USED_DE: -Mate}
# Tuxjdk, похоже, отображает слишком большие шрифты пользовательского интерфейса, поэтому используйте это значение, чтобы уменьшить их
FONT_SUBTRAHENT = $ {FONT_SUBTRAHENT: -3}

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

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

function lowerFontSize () {
  местное вычитаемое = 1 доллар; сдвиг
  local args = "$ @"
  echo $ {args // [0-9] /} $ (($ {args // [! 0-9] /} - $ вычитаемое))
}

theme = $ (remQuotes `gsettings get org. $ {USED_DE} .interface gtk-theme`)
font = $ (remQuotes `gsettings get org. $ {USED_DE} .interface font-name`)
font = $ (уменьшение шрифта $ FONT_SUBTRAHENT $ шрифт)

themeDirs = $ (найти ~ / .themes / / usr / share / themes / -тип d -name "$ {theme}")
gtkRcPath = ""
для dir в "$ themeDirs"; делать
  if [[-f "$ dir / gtk-2.0 / gtkrc"]]; тогда
    gtkRcPath = "$ реж / GTK-2,0 / gtkrc"
    перемена;
  фи
сделанный

if [["$ gtkRcPath" == ""]]; тогда
  echo "Тема не найдена"> / dev / stderr
  ./$NETBEANS_PATH $ @
фи

cat $ HOME / .netbeans / .gtkrc-2.0
включает "$ gtkRcPath"

стиль "пользовательский шрифт" {
    font_name = "$ font"
}

widget_class "*" стиль "пользовательский шрифт"

-Шрифт имя GTK = "$ шрифт"

EOF

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

Это будет читать ваши настройки темы и создавать поддельные темы только для NetBeans. Вы должны настроить NETBEANS_PATHи USED_DEпеременные в вашей среде.


0

Я собрал Openjdk 8u40 самостоятельно и применил патчи tuxjdk. Кроме того, я должен был создать файл local.confв /etc/fonts/с Fontmap отменяет Java для его логических шрифтов нравятся Dialog, Monospacedи т.д. После этого, Качели приложение на основе улучшилось. Посмотрите ЗДЕСЬ .


0

На данный момент есть только пакеты rpm для tuxjdk: http://download.opensuse.org/repositories/home:/TheIndifferent:/tuxjdk/

Мне нужно немного больше времени, чтобы узнать об упаковке Debian и подготовить правильные пакеты, а также задокументировать некоторые интересные особенности версии 03 tuxjdk. Так что следите за обновлениями и, пожалуйста, сообщайте о любых проблемах, с которыми вы сталкиваетесь с tuxjdk, по адресу https://github.com/TheIndifferent/tuxjdk , чтобы я мог их воспроизвести и (надеюсь) исправить.


0

На самом деле вам не нужно беспокоиться о модификации idea.sh, которая является нестабильной при обновлениях. Существует файл конфигурации для конкретного пользователя ~/.IntelliJIdea2016.1/config/idea.jdk(названия меняются соответственно), в котором хранится загрузочный JDK.

Официальные ссылки:

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.