Caxton Mod由作者“flirora”所制作。
Caxton 以 威廉·卡克斯顿(William Caxton) 的名字命名,这个模组添加了 TrueType 和 OpenType 字体支持。
MOD特点
- 借助 MSDF 技术,呈现任何大小的清晰文本;
- 真正的粗体和斜体字体;
- 复杂文本呈现;
- 不使用 AWT。
当前限制
- 目前不支持旧字体中的阿拉伯语形状。在样式化和适当的双向文本处理的情况下使其工作非常复杂,因为我们不能使用 ICU4J 的 API。如果要正确呈现阿拉伯语文本,那么玩家将不得不在 Caxton 下使用支持阿拉伯语的字体。
- 从字体生成 MTSDF 很费时间,加载 3 种语言大约需要 4 分钟。因此, Caxton 将在首次完成此操作后缓存结果。
- 并非当前所有处理计算程序都能识别 Caxton 字体中的文本。
- 此外,Minecraft 中的许多 UI 元素对文本呈现做出了不正确的假设。让他们意识到双向文本(更不用说连字之类的东西了)将是一项重大任务,而这一领域的补丁很受欢迎。
- 文本输入字段和书籍编辑器已对此进行了修补,但无论其基本方向如何,显示的文本都会向左对齐。
- 聊天栏中的评论编辑框尚未修补。
- 此外,Minecraft 中的许多 UI 元素对文本呈现做出了不正确的假设。让他们意识到双向文本(更不用说连字之类的东西了)将是一项重大任务,而这一领域的补丁很受欢迎。
- 提示字体可能永远不会受支持。
- 目前,所有字形都会尽快上传到 VRAM。
模组兼容性
Caxton 与 Sodium 和 ImmediatelyFast 兼容。
如果 Exordium 的标志缓冲(Sign Buffering)功能被启用,那么标志上的文字看起来会有像素化(详见 Exordium#48)。如果发生这种情况,请禁用 Exordium 的标志缓冲(Sign Buffering)功能。
操作系统支持
Caxton 使用本机库来协助文本整形和 MSDF 生成。模组捆绑包的预构建副本 此库的版本适用于 x86_64 Windows 和 Linux 平台。如果你在其他平台上玩游戏,那么你将不得不自己构建模组的副本。
如果模组仍然无法识别你的平台,请使用该属性开始游戏 到与你的 Rust 平台名称对应的 Rust 平台名称之一 平台并在此处报告问题。
作者称家中没有 Mac,由于许可问题,无法为 macOS 构建二进制文件。
如何使用
Caxton 目前有两个内置的字体资源包。包含的第一个字体是 Inter,而第二个字体 是 Open Sans。
Caxton 添加了一个 caxton 类型的字体提供器,它支持 regular、bold、italic、bold_italic 等键。每一个都可以被设置为一个标识符,其中 <namespace>:<path> 解析到字体文件 assets/<namespace>/textures/font/<path> 。要指定其他选项,使用一个对象,其中关键文件指定了路径:
1
2
3
4
5
6
7
8
9
10
11
|
{ // 唯一必需的元素。 "file" : "<namespace>:<path>" , // 阴影偏移,是 memefont 像素大小的倍数。 "shadow_offset" : 0.5, // 一个 OpenType 特征标签的列表。语法见下文: // https://docs.rs/rustybuzz/0.6.0/rustybuzz/struct.Feature.html#method.from_str "features" : [], } |
你还需要添加assets/<namespace>/textures/font/<path>.json文件,该文件包含对字体进行光栅化的设置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
{ // 指定字体文件的实际路径,因为它将出现在 Caxton 字体提供器中。 // 一般来说,这应该省略,但如果你使用的是一种可变的字体,这可能会很有用。 "path" : "<path of font file>" , // 所有这些选项都是可选的,并将默认为所提供的值。 // 纹理图集中每个像素所对应的字体单位的数量。 // 因为纹理图集是一个 MTSDF,所以这个值可以设置得很高。 "shrinkage" : 32.0, // 在字形边界框周围每边要留下的像素数。 // 这应该大于`range`。 "margin" : 8, // 字形周围最小和最大可表示的有符号距离之间的范围宽度。 // 这也决定了为发光符号文本绘制的边界的宽度。 "range" : 4, // 是否对有符号的距离字段进行倒置。 // 如果你的字形出现倒置,那么请尝试改变这个设置。 "invert" : false , // 纹理图集中每页的大小。 "page_size" : 4096, // 该选项用于在可变字体中设置变化轴坐标。 // 每个元素的格式如下: // { "axis": <axis 类型>, "value": <axis 值> } "variations" : [] } |
- 如果不会安装Mod,请点击查看我的世界Mod安装教程。
- 如发现网盘资源被吞,或者网盘资源不存在,请在下方评论中说明,我们将会尽快进行修复。