Перейти к содержанию

DefaultFontRegistry

Стандартный реестр шрифтов, загружающий TrueType и Type1 шрифты из файлов, потоков или системных шрифтов ОС без зависимостей от Minecraft.

Обзор

DefaultFontRegistry предоставляет стандартную реализацию управления шрифтами. Позволяет регистрировать шрифты из файлов на диске, потоков ввода и байтовых массивов, а также подключать системные шрифты операционной системы без обращения к ресурсам Minecraft.

Загрузка и регистрация шрифтов

Шрифты регистрируются под уникальными строковыми идентификаторами через перегрузки метода register(). Поддерживаются форматы TrueType (.ttf) и Type1, автоматически конвертируемые в объекты FontFace.

Дефолтный и системные шрифты

Реестр поддерживает резервный шрифт по умолчанию, возвращаемый методом defaultFace(). Если кастомный шрифт не был назначен, автоматически загружается системный шрифт SansSerif. Дополнительные шрифты ОС регистрируются через registerSystem().

Управление жизненным циклом

Реестр реализует интерфейс AutoCloseable. Вызов метода close() очищает все зарегистрированные гарнитуры и сбрасывает дефолтный шрифт, предотвращая утечки ресурсов.

Регистрация TrueType-шрифта из ресурса

DefaultFontRegistry registry = DefaultFontRegistry.global();
try (InputStream stream = getClass().getResourceAsStream("/fonts/custom.ttf")) {
    registry.register("custom-font", stream);
}

Настройка системного шрифта по умолчанию

DefaultFontRegistry registry = DefaultFontRegistry.global();
FontFace roboto = registry.registerSystem("roboto", "Roboto");
registry.defaultFace(roboto);

API

DefaultFontRegistry::global()

global()

Возвращает глобальный синглтон-реестр шрифтов по умолчанию.

Возвращает DefaultFontRegistry: Глобальный экземпляр DefaultFontRegistry..

DefaultFontRegistry::register(String, Path)

register(String, Path)

Загружает и регистрирует файл шрифта из файловой системы.

Параметр Тип Описание
id String Уникальный идентификатор шрифта.
path Path Путь к файлу шрифта.

Возвращает FontFace: Зарегистрированный экземпляр FontFace..

DefaultFontRegistry::register(String, InputStream)

register(String, InputStream)

Читает и регистрирует шрифт из входного потока.

Параметр Тип Описание
id String Уникальный идентификатор шрифта.
input InputStream Входной поток данных.

Возвращает FontFace: Зарегистрированный экземпляр FontFace..

DefaultFontRegistry::register(String, byte[])

register(String, byte[])

Регистрирует шрифт из массива байт.

Параметр Тип Описание
id String Уникальный идентификатор шрифта.
data byte[] Байты файла шрифта.

Возвращает FontFace: Зарегистрированный экземпляр FontFace..

DefaultFontRegistry::registerSystem(String, String)

registerSystem(String, String)

Регистрирует семейство шрифтов операционной системы.

Параметр Тип Описание
id String Уникальный идентификатор шрифта.
family String Название семейства шрифта в ОС.

Возвращает FontFace: Зарегистрированный экземпляр FontFace..

DefaultFontRegistry::find(String)

find(String)

Ищет зарегистрированную гарнитуру шрифта по идентификатору.

Параметр Тип Описание
id String Идентификатор шрифта.

Возвращает FontFace: Экземпляр FontFace или null, если не найден..

DefaultFontRegistry::defaultFace()

defaultFace()

Возвращает резервный шрифт по умолчанию.

Возвращает FontFace: Дефолтный экземпляр FontFace..

DefaultFontRegistry::defaultFace(FontFace)

defaultFace(FontFace)

Устанавливает резервный шрифт по умолчанию.

Параметр Тип Описание
face FontFace FontFace для назначения дефолтным.

DefaultFontRegistry::faces()

faces()

Возвращает неизменяемую карту всех зарегистрированных шрифтов.

Возвращает Map: Карта ID -> FontFace..

DefaultFontRegistry::close()

close()

Очищает все зарегистрированные шрифты и сбрасывает дефолтный шрифт.