

Caxton
Активный0.0
Установок
Последнее обновление
Версии
Caxton
Введение
Модификация Caxton (названная в честь Уильяма Кэкстона) расширяет возможности Minecraft, добавляя полноценную поддержку шрифтов форматов TrueType и OpenType.
Основные возможности
Благодаря технологии MSDF текст отображается чётко при любом масштабе. Мод поддерживает настоящие жирные и курсивные начертания шрифтов, а также сложное оформление текста. Важно отметить, что он не использует AWT.
Текущие ограничения
Арабская вязь в устаревших шрифтах пока не поддерживается. Для корректного отображения арабского текста необходимо использовать шрифты с соответствующей поддержкой под Caxton.
Создание MTSDF из шрифтов требует значительных ресурсов, поэтому процесс распараллеливается и результаты кэшируются после первого выполнения.
Многие элементы интерфейса в Minecraft и других модах делают неверные предположения о рендеринге текста. Исправление проблем с двунаправленным текстом и лигатурами потребует значительных усилий.
Подсказки шрифтов, вероятно, никогда не будут поддерживаться.
Совместимость с модами
Частично совместимые
- Sodium — все версии, кроме комбинации Caxton <0.6.0 + Sodium 0.5.5
- ImmediatelyFast (≥1.2.0) — требуется отключить опцию sortTextRenderLayers в Caxton
- Exordium — необходимо отключить буферизацию табличек
Несовместимые
- Iris Shaders — текст с MSDF-шрифтами не отображается в мире
- Emojiful — полностью заменяет стандартный рендерер текста Minecraft
- MemoryLeakFix (≤1.1.1)
- VanillaIcecreamFix (≤1.2.1-beta+1.20.4)
- Porting Lib (<1.2.1451-beta+1.18.2/2.1.1453+1.19.2)
- Advent of Ascension (1.20.4-3.7.7)
Проблемы с вёрсткой
Следующие моды могут некорректно обрабатывать расположение текста:
- IBE Editor — использует кастомный виджет текстового поля
- Roughly Enough Items — применяет неподдерживаемые методы в некоторых виджетах
Поддержка операционных систем
Caxton использует нативную библиотеку для формирования текста и генерации MSDF. Предварительно собранные версии мода включают библиотеки для x86_64 Windows и Linux. Для других платформ потребуется самостоятельная сборка.
Использование Caxton
Мод поставляется с двумя встроенными ресурспаками шрифтов: Inter и Open Sans. Для использования собственных шрифтов можно создать ресурспак.
Добавление шрифтов через ресурспаки
Caxton добавляет провайдер шрифтов типа caxton с поддержкой ключей regular, bold, italic и bold_italic. Каждый ключ можно установить в идентификатор, где
{
"file": "<namespace>:<path>",
"scale_factor": 1.0,
"shadow_offset": 1.0,
"shift": [0.0, 0.0],
"features": [],
"blur": false
}
Для настройки растеризации шрифта можно добавить файл assets/
{
"shrinkage": 32.0,
"margin": 4,
"range": 4,
"invert": null,
"variations": [],
"face_index": 0,
"tech": "msdf",
"max_mipmap": 0,
"blur": false
}
Глобальная конфигурация
Настройки доступны в config/caxton.json:
{
"rustTarget": null,
"tweakExpText": true,
"sortTextRenderLayers": false,
"fatalOnBrokenMethodCall": false,
"debugRefcountChanges": false,
"disableEasterEggs": false
}
Сборка из исходного кода
Для сборки Caxton потребуется установить инструментарий Rust, Clang и Gradle. По умолчанию нативная библиотека собирается только для платформы хоста. Для сборки дополнительных платформ укажите целевые тройки в свойстве xyz.flirora.caxton.additionalTargets.
Сравнение с другими модами
Caxton предлагает современный подход к рендерингу текста с использованием MSDF-технологии, что обеспечивает превосходное качество отображения по сравнению с традиционными решениями как BetterFonts, Smooth Font и стандартной реализацией Minecraft.