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()
Очищает все зарегистрированные шрифты и сбрасывает дефолтный шрифт.