In this page, we will detail the cross-platform ufont module provided by our own UntitledFontUtils library. This module adds a number of utility functions that makes it easy to provide your users with the following:

  1. A list of the currently available system fonts
  2. Filtering for a desired system font
  3. Creating a collection of system fonts that covers all code ranges which can easily be loaded into dear imgui

We also provide some additional functionality that integrates this module into the framework in an easier way.

Enabling in the build system

To enable it, update your uvproj.yaml so that the ufont key under enabled-modules is set to true like this:

name: "MyProject"
version: "1.0.0.0"
engine-version: "1.0.0.0"
enabled-modules:
  os: true
  ufont: true

Then, regenerate the modules cache by running the following command:

user $ https://madladsquad.com/UVKBuildTool --generate <project directory>

After that, refresh your CMake project with cmake ..!

Event safety

The entire module is flagged as event safe at Any time.

Using the library

The library has already been documented on its own GitHub repo's wiki.

Checking for the module

To check for the module at compile time, use the UIMGUI_UFONT_UTILS_SUBMODULE_ENABLED macro.

Runtime checking can be done using the ufont member of the ModuleSettings struct. More info can be found here.

C API

More info on the UntitledFontUtils library's C API can be found here. The page explains both APIs in one place.