Скачать Caxton — Minecraft Моды — MetaMods
Caxton

Caxton

Активный

Установок

5

Последнее обновление

3 недели назад

Версии

1.18.2 — 1.21.9-rc1
Клиент
Fabric
Forge
Neoforge
Библиотеки
Утилиты

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. Каждый ключ можно установить в идентификатор, где : соответствует файлу шрифта assets//textures/font/.

{
  "file": "<namespace>:<path>",
  "scale_factor": 1.0,
  "shadow_offset": 1.0,
  "shift": [0.0, 0.0],
  "features": [],
  "blur": false
}

Для настройки растеризации шрифта можно добавить файл assets//textures/font/.json:

{
  "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.

Участники проекта
flirora

flirora

Разработчик

TysonTheEmber

TysonTheEmber

Создан: 24 ноя 2022

ID: 1931