chiark / gitweb /
terminal: add unifont font-handling
authorDavid Herrmann <>
Fri, 18 Jul 2014 15:34:03 +0000 (17:34 +0200)
committerDavid Herrmann <>
Fri, 18 Jul 2014 15:45:33 +0000 (17:45 +0200)
terminal: add unifont font-handling

The unifont layer of libsystemd-terminal provides a fallback font for
situations where no system-fonts are available, or if you don't want to
deal with traditional font-formats for some reasons.

The unifont API mmaps a pre-compiled bitmap font that was generated out of
GNU-Unifont font-data. This guarantees, that all users of the font will
share the pages in memory. Furthermore, the layout of the binary file
allows accessing glyph data in O(1) without pre-rendering glyphs etc. That
is, the OS can skip loading pages for glyphs that we never access.

Note that this is currently a test-run and we want to include the binary
file in the GNU-Unifont package. However, until it was considered stable
and accepted by the maintainers, we will ship it as part of systemd. So
far it's only enabled with the experimental --enable-terminal, anyway.
src/libsystemd-terminal/test-unifont.c [new file with mode: 0644]
src/libsystemd-terminal/unifont-def.h [new file with mode: 0644]
src/libsystemd-terminal/unifont-glyph-array.bin [new file with mode: 0644]
src/libsystemd-terminal/unifont-internal.h [new file with mode: 0644]
src/libsystemd-terminal/unifont.c [new file with mode: 0644]
src/libsystemd-terminal/unifont.hex [new file with mode: 0644]
tools/ [new file with mode: 0755]