Smooth Font

Smooth Font

30M Downloads

Description

This mod draws all fonts (including resource pack's fonts) smoothly for better readability on all scales. Furthermore, you can use any font installed on your computer.
Smooth Font is the successor to my mod Unicode Font Extension. However, this mod is effective not only for unicode fonts but also for default MC fonts and many functions have been improved. 

Main Features

Normally, characters are not displayed cleanly in the following situations.
However, this mod can display characters cleanly even under these situations. 

  • Scaling down (especially, unicode font)
  • Fractional scaling (ex. x0.75, x1.25 etc)
  • Oblique viewing angles

These features work by just installing this mod, basically any settings are unnecessary.
Furthermore, this mod has the following additional functions. 

  • Any fonts installed on your computer can be used.
  • Enable the Large GUI scale in unicode font mode.
  • Optimization only mode. This mode improves some performance of a standard font renderer. [v1.16~]

And, this mod is created as it should be effective for most texts of many other mods.

Comparison with Large GUI and x0.5 scaled characters:

 

Improve readability of very small text:

Text on the sign at oblique viewing angles:

  

Better readablility of tooltip text:

Performance of "Optimization Only" mode:

 

Usage

Pressing [HOME] key opens the configuration GUI by default.

Config Screen

Font Selection

Usage of external font files

Since v1.15, external font files in specific folders can be used in addition to fonts which are installed in a system. By default, font files located at "<minecraft folder>/fontfiles" folder can be recognized and these fonts are listed in a font selection list of a GUI. (The <minecraft folder> means the folder which has "mods" folder and "config" folder etc.) The font folder paths are configurable in a config file. Most of TrueType, OpenType and Type1 font files can be recognized.

ex) If you add "font" to "externalFontsPaths" in the config file, the "font" folder can also be recognized by SmoothFont.

    S:externalFontsPaths <
        fontfiles
        font
     >

The "fontfiles" folder doesn't exist by default and it is necessary to create "fontfiles" folder by yourself if you use the external font files feature.
If you include font files in your modpacks, please pay attention to the permission and the license of the fonts.

Improvements from Unicode Font Extension

  • Support for default MC font including resource pack fonts.
  • More beautiful scaling of characters.
  • Blur reduction for interpolated low resolution fonts.
  • Larger font size support.
  • Automatic brightness adjustment.
  • Faster texture loading option.
  • Faster font image generation by multicore CPU.
  • Reduce used memory.
  • Better mod compatibility.
  • Performance improvement by optimization.
  • Use of external font file.
  • Quality or Performance priority mode. [v1.16~]
  • Optimization only mode. [v1.16~]

Compatibility configuration / commands

  • /sfont renderers
    Print font renderer classes managed by smooth font.

  • /sfont precision <high | normal | vanilla> <font renderer id>
    Set a font width precision mode for the specified font renderer.
    It will be saved to config file simultaneously with the change.
    High precision: Best quality in font width.
    Normal precision: Moderate quality and better compatibility in string width calculation.
    Vanilla precision: Vanilla equivalent quality and maximum compatibility in string width calculation of unicode font.

  • /sfont <disable | enable> <font renderer id>
    Disable or enable smooth font functions temporarily for the specified font renderer.
    Disabling can nearly completely bypass the smooth font functions for the target font renderer. This is temporary change and NOT saved to config file.
    To make changes permanent, please add the font renderer class to "unaffectedClasses" in config file manually.
 

Notes

  • This is a client-side mod, so it is not necessary to install on the server.
  • Don't use Unicode Font Extension with Smooth Font. Naturally, these mods conflict.
  • Currently MC1.8.9 version does not work with optifine. => Solved in v1.6!!
  • If you want to use this mod with FastCraft on MC1.7.10. Please specify "enableFontRendererTweaks=false" in FastCraft.ini.

About memory usage

Since the version 1.14.1 and later drastically reduces memory usage when using the platform font,
it is strongly recommended to update to the latest version if you are changing the font.

  • ~v1.12:
    When using platform fonts, the higher the resolution, the more memory required to hold pre-rendered glyph images. Higher resolution and larger size settings require hundreds of megabytes of memory. 
  • v1.13.x:
    The glyph images are converted to grayscale by default, so the memory usage has been reduced to 1/4. 
  • v1.14.1~:
    The glyph images are converted to grayscale and compressed by default, so the memory usage has been drastically reduced. (Total memory usage to hold glyph images is approximately 15MB in 32px+20% settings.) Of course, compared to the previous version, there is almost no impact on performance. 

Incidentally, if you are using MC default fonts or resource pack fonts, there is no extra memory consumption for holding glyph images because glyph images are read from files on demand and no glyph images are held on memory.

Modpacks

Feel free to use this mod in any modpacks.

Special Thanks

  • Thanks to SuperExboom for simplified Chinese translation.
  • Thanks to LastLife919 for Russian translation.
  • Thanks to EnderDragonEP for traditional Chinese translation.