Caxton Mod (1.21.10, 1.20.1) – TrueType and OpenType Font Support
Caxton Mod (1.21.10, 1.20.1) adds the ability to change in-game fonts using resource packs in Minecraft. It simply detects resource packs of a certain format and replaces the standard font with the one defined in the properties of your chosen resource pack.
Features:
Features
- Crisp text at any size using MSDF technology
- Supports real bold and italic fonts
- Complex text rendering
- Does not use AWT
Current Limitations
- Arabic shaping in legacy fonts is not yet supported. Use a font with Arabic support under Caxton.
- Generating MTSDFs from fonts is expensive, but Caxton parallelizes and caches the results after the first generation.
- Some UI elements assume simple text rendering. GUI text may align left regardless of direction.
- Font hinting is not supported.
Mod and Resource Pack Compatibility
- Sodium: Compatible except Caxton <0.6.0 + Sodium 0.5.5 (outlined text issue).
- ImmediatelyFast ≥1.2.0: Disable
sortTextRenderLayers
(andreuseTextRendererDrawer
for Caxton <0.6.0). Disableexperimental_sign_text_buffering
. - Exordium: Disable sign buffering.
- Iris Shaders: Incompatible – custom core shaders not supported.
- Emojiful: Replaces Minecraft’s default text renderer.
- VanillaIcecreamFix ≤1.2.1-beta+1.20.4: Conflicts with Caxton’s Fabric ASM (fixed in later versions).
Incorrect Layout Handling Mods
- IBE Editor: Uses custom text widget that copies vanilla rendering.
- Roughly Enough Items: Uses unsupported text methods.
Resource Pack Compatibility
- Resource packs modifying text shaders (e.g. “Dark UI”, “Transparent UI”) require adjustments for Caxton fonts.
OS Support
- Includes native libraries for x86_64 Windows and Linux.
- Other platforms must build from source and configure
rustTarget
inconfig/caxton.json
. - No macOS binaries provided.
How to Use Caxton
- Comes with two built-in fonts: Inter and Open Sans.
- You can add custom fonts using a resource pack (check the font’s license before distribution).
Adding Fonts via Resource Packs
- Use a caxton font provider supporting regular, bold, italic, and bold_italic keys.
- Font path format:
<namespace>:<path>
→assets/<namespace>/textures/font/<path>
- Supports scaling, shifting, shadow offsets, and OpenType features via JSON configuration.
- Example path:
assets/example/textures/font/example.otf.json
Global Configuration (config/caxton.json)
rustTarget
: Rust platform target (auto-detected by default).tweakExpText
: Improves XP bar text rendering.sortTextRenderLayers
: Controls rendering order; disable for ImmediatelyFast.reuseTextRendererDrawer
: Legacy compatibility option (removed after 0.6.0).fatalOnBrokenMethodCall
: Throws errors on unsupported text methods.disableEasterEggs
: Disables splash text easter eggs.
Building from Source
- Requires Rust toolchain, Clang, and Gradle.
- Build for multiple platforms with:
gradle build -Dxyz.flirora.caxton.additionalTargets=x86_64-pc-windows-gnu
Comparison with Other Mods
- BetterFonts / TrueType Font Replacement: Uses Java AWT and bitmaps, supports bold/italic and complex scripts.
- Smooth Font: Improves rendering and scaling; closed-source (ARR).
- ThaiFixes: Custom Thai shaping routines; limited to Thai language.
- Modern UI: Supports complex text and bold/italic but lacks crisp edges and uses AWT.
- Minecraft 1.13+ built-in TTF: Naive bitmap conversion with incorrect glyph metrics.
Screenshots:
Crafting Recipes:
Recommend that you should install Just Enough Items (for mods using Forge) or Roughly Enough Items (for mods using Fabric) to view the full recipes included in this mod.
Requires:
How to install:
Click the following link to view details: How to Install Mods for Minecraft Java Edition on PC: A Beginner Guide
Caxton Mod (1.21.10, 1.20.1) Download Links
For Minecraft 1.18.2
Forge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.19.2
Forge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.19.3
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.19.4
Forge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.20.1, 1.20
Forge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.20.2
Forge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.20.4
NeoForge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.20.6
NeoForge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.21.1, 1.21
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.21.4
NeoForge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.21.5
NeoForge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.21.8, 1.21.7, 1.21.6
NeoForge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2
For Minecraft 1.21.10, 1.21.9
NeoForge Version: Download from Server 1 – Download from Server 2
Fabric Version: Download from Server 1 – Download from Server 2