← Back to all sparks
H

hexfont

ANALYTICS
Velocity0.0

GNU Unifont Hex Fonts

A GNU Unifont packager whose real work is making a huge font load fast.

fontsunicodebitmap-typographyr-packageperformance
Current state
hexfont ships GNU Unifont's hex bitmap files to R as bittermelon font objects, covering the full Unicode range. The last two releases were about load cost and portability: a user-level cache for precompiled fonts, then making that cache read-only by default so nothing is written unless asked. The font data itself tracks Unifont v16.0.02.
Where it's heading
Each release does two things — resync with a newer GNU Unifont and shave the cost of using it. The performance thread has been the more consequential one, moving from the ucp argument that restricts which code points get read, to a full precompiled cache. Version 1.0.0 also walked back the R 4.1 pipe to keep the package usable on R 4.0.
Prediction
Future releases most likely follow GNU Unifont's own version cadence, with occasional cache or loading refinements.

Recent moves

  1. 1y ago

    Cache becomes opt-in to write; restores R 4.0 support

    Makes the cache argument default to an option and, when unset, read an existing cache without creating one. Combined with dropping the R 4.1 pipe from examples, the release trades a little convenience for a package that behaves predictably on older R and never writes to disk uninvited.

    View source ↗
  2. 1y ago

    Precompiled font cache cuts load time

    Adds a cache argument that reads and writes precompiled fonts under the user data directory, which the notes describe as much faster than recompiling. This is the release that made loading Unifont practical, and 1.0.0 only adjusts its defaults.

    View source ↗
  3. 2y ago

    Unifont v15.1.04 and a version accessor

    Resyncs the hex files to GNU Unifont v15.1.04 and adds unifont_version() so callers can check which upstream release they hold. The version accessor matters precisely because the package is a moving mirror of an external font.

    View source ↗
  4. 3y ago

    Adds code-point filtering and combining-glyph lookup

    Updates to Unifont v15.0.01, adds unifont_combining() for combining glyph code points, and introduces the ucp argument to load only selected code points. The first move against the cost of reading the whole font.

    View source ↗