Java Runtime Environment fonts (Русский)

Ссылки по теме
Шрифты
Настройка шрифтов
Шрифты Microsoft
X Logical Font Description
Состояние перевода:
На этой странице представлен перевод статьи
Java Runtime Environment fonts
. Дата последней синхронизации: 25 апреля 2019. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Некоторые пользователи могут заметить, что шрифты в приложениях
Java
отображаются неприятно. Доступно несколько методов, чтобы улучшить отображение шрифтов в приложениях, работающих с Java Runtime Environment (JRE). Эти методы могут использоваться по отдельности, но многие пользователи предпочтут использовать их вместе, чтобы получить лучший результат.
Для использования с Java лучшим поддерживаемым форматом шрифтов будет TrueType.
Anti-aliasing (Сглаживание)
Запуск демона xsettings
Java устанавливает свои настройки по умолчанию при помощи
xsettings
. В
GNOME
автоматически работает демон
gnome-settings-daemon
, но в качестве альтернативы можно использовать утилиту
Xsettingsd
.
Базовые настройки
Сглаживание
доступно с версии Java 1.6. Чтобы активировать его для всей системы, добавьте следующую строку в
/etc/environment
:
_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=
setting'
Где
setting
это одно из значений:
Установка
Описание
off
,
false
,
default
Без сглаживания
on
Полное сглаживание
gasp
Использовать встроенные в шрифт инструкции хинтинга
lcd
,
lcd_hrgb
Сглаживание настроенное для большинства популярных ЖК-мониторов
lcd_hbgr
,
lcd_vrgb
,
lcd_vbgr
Альтернативные настройки для ЖК-мониторов
Параметры
gasp
и
lcd
в большинстве случаев хорошо работают.
Чтобы приложения Java ощущались и выглядели как приложения, использующие GTK, используйте следующую строку:
_JAVA_OPTIONS='-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
Примечание
Описанные варианты работают только для приложений, которые используют графический интерфейс, основанный на Java, таких как например
JDownloader
, а не для приложений, которые используют Java только в качестве бэкэнда, как OpenOffice.org или Matlab.
Шрифты
TrueType
содержат
g
rid-fitting
a
nd
s
can-conversion
p
rocedure (
GASP
) — таблицу с рекомендациями дизайнера для отображения шрифта в разных размерах
pt
. Для некоторых размеров рекомендуется использовать полное сглаживание, другим требуется только хинтинг, а некоторые будут отображаться только в виде растровых изображений. Для некоторых размеров шрифта могут быть использованы комбинации.
Чтобы изменения вступили в силу, требуется выполнить перелогин, но можно указать переменную в командной строке перед выполнением, чтобы попробовать новую настройку сразу:
_JAVA_OPTIONS=
настройка
java Main
Патч OpenJDK
В результате сглаживание может выглядеть хуже нативных приложений, даже с опциями, но это может быть исправлено с помощью патча в OpenJRE, доступному в
AUR
:
Исправленный
OpenJRE 7
доступен как
jre7-openjdk-infinality
AUR
[
ссылка недействительна
: package not found]
; используется с ключом
--enable-infinality=yes
Исправленный
OpenJRE 8
доступен как
jre8-openjdk-infinality
AUR
[
ссылка недействительна
: package not found]
Исправленные версии хорошо сочетаются с патчами
fontconfig  и freetype
, однако стоит заметить, что используют только API от fontconfig.
Выбор шрифта
Шрифты TrueType
Некоторые приложения Java могут требовать определенного шрифта TrueType. Эти приложения должны быть в курсе пути каталога с нужным шрифтом. TrueType шрифты устанавливаются в каталог
/usr/share/fonts/TTF
. Добавьте следующую строку в
/etc/environment
чтобы включить эти шрифты в приложениях.
JAVA_FONTS=/usr/share/fonts/TTF
Перелогинтесь, чтобы изменения вступили в силу.
Исправление Mojibake (для JRE8)
Поместите файлы шрифтов в подкаталог. Создайте каталог, если он не существует.
$JAVA_HOME/jre/lib/fonts/fallback/
Этот функционал удалён начиная с Oracle JDK 9, так как
Oracle посчитала это ошибкой
, заставляющей пользователей перемещать каталог
lib
, и поэтому переместила эти файлы в каталог
conf
, назвав поведение до этого ошибочным. Вместо этого следует использовать вызов
sun.awt.FontConfiguration.getInstalledFallbackFonts()
, что заставит Java всегда добавлять шрифты оттуда в качестве запасной последовательности глифов — то есть не зависимо, какие шрифты запрашивает приложение, недостающие глифы этих шрифтов берутся из указанной директории.
Смотрите также
Font Configuration Files
в руководстве по интернационализации приложений Java
Font Configuration Files
для Java 8