焕新字体渲染器

焕新字体渲染器

一个为Minecraft 1.12.2设计的现代字体渲染增强模组。它结合了可配置的AWT图集渲染器与Skia和COSMIC Text段落渲染器,以实现高级字形塑造和表情符号支持。目前推荐使用COSMIC Text。

Neo Font Render

NFR 只能在 CleanroomMC 中运行。
请使用 JAVA25 启动游戏。

如果你想在 MC 1.7.10 中游玩,请将 https://github.com/GTNewHorizons/ModularUI2 添加到你的 mods 文件夹中。

core jar 已足够广泛使用,full jar 包含 core + Skia + noto color emoji,skia jar 包含 core + Skia。resources jar + skia jar + core jar = full。

一个适用于 Minecraft 1.12.2 的现代字体渲染增强模组。它将可配置的 AWT 图集渲染器与 Skia 和 COSMIC Text 段落渲染器相结合,以实现高级排版和 emoji 支持。COSMIC Text 现在是推荐选项。

概述

Neo Font Render 用更接近现代 UI 渲染器的可配置文本堆栈,替换了 Minecraft 1.12.2 中旧的位图字体路径。

当前亮点

  • 支持自定义系统字体和外部 TTF 文件,并带有后备字体链
  • 内置字体资源,包括捆绑的 Sarasa UI SC 和 Noto Color Emoji
  • COSMIC Text 段落渲染,支持连字、字距调整、后备字体、双向文本、复杂文字和 emoji(推荐)
  • Skia 段落渲染作为替代渲染器
  • 当主渲染器不可用或初始化失败时,自动回退到 AWT 图集渲染器
  • 高级渲染控制,包括超级采样、自适应栅格缩放、mipmap、插值、着色器补偿和纹理边缘处理
  • IME / 非 BMP 字符输入修复,确保代理对和 emoji 不会被旧式输入路径截断
  • 告示牌编辑器粘贴补丁,支持在全部 4 行内自动换行
  • 游戏内配置 GUI、emoji 测试界面、快捷键和诊断命令

COSMIC Text 支持(推荐)

Neo Font Render 现在支持基于 COSMIC Text 的渲染器,在可用引擎中提供最佳性能。

  • COSMIC Text 的内置字体现在拥有独立的软件包
  • COSMIC 按字重解析字体家族 —— 例如,MiSans Demibold 会解析为 MiSans 家族,字重为 600;主字体列表会隐藏诸如 MiSans Bold 之类的暴露变体
  • 需要时,可使用 font.cosmic.* 进行明确的字面覆盖
  • 可变字体支持 wght 轴和命名字重实例;其他轴目前使用其字体默认值
  • 如果当前运行时环境不兼容,模组会记录原因并回退到 AWT 图集渲染器,而不会一路回退到原版

undefined

Skia 支持

Neo Font Render 还通过 SkijaTextRenderer 支持基于 Skia 的渲染器。

  • Skia 模式需要 Java 9 或更新版本
  • 为 Windows x64、Linux x64、Linux arm64、macOS x64 和 macOS arm64 提供嵌入式原生包
  • 如果当前运行时环境不兼容,模组会记录原因并回退到 AWT 图集渲染器,而不会一路回退到原版

这意味着,Java 8 用户仍然可以通过旧版 AWT 路径运行该模组,而 Java 9+ 用户可以选择使用 COSMIC Text 或完整的 Skia 段落渲染器。


当前补丁和功能

当前代码库包含的不仅仅是字体替换:

  • FontRenderer mixin 中的全字符串 Skia / COSMIC Text 渲染路径,用于高级文本整形
  • AWT 字形图集回退,支持可配置的光栅化和过滤
  • GUI 输入处理中的 Unicode IME 修复,支持 emoji 和其他非 BMP 字符
  • 告示牌编辑器中的 Ctrl+V 粘贴支持,并带有宽度感知换行
  • 可配置的内置字体,包括捆绑的 Sarasa UI SC 和 emoji 资源
  • 自定义字体的运行时纹理过滤器覆盖
  • 游戏内 emoji 测试界面和字体诊断命令表面

控制和命令

默认客户端快捷键

按键 操作
O 打开主配置界面
P 打开 emoji 测试界面

可用命令

  • /neofontrender info
  • /neofontrender fonts
  • /neofontrender reload
  • /neofontrender test
  • /neofontrender gui