= mmap-unifont - Memory-mapped GNU-Unifont = GNU-Unifont is a bitmap Unicode font with almost complete Unicode coverage. It is perfectly suited for low-level system binaries, as fallback font, in emergency situations, and more. mmap-unifont compiles a binary font format based on GNU-Unifont. This compiled file can be memory-mapped by applications to get direct font-access. This extremely simplifies font-usage for system-applications. Advantages over using the original BDF font are: * On-demand glyph loading: The whole font is pre-compiled with fixed offsets. The header includes offsets and limits. Hence, an application can directly access the memory-location of a glyph on-demand. The operating-system can load the required memory-pages on first-access, thus reducing the memory footprint considerably. With BDF fonts, the application has to scan the whole BDF file to find a given glyph. This requires loading 9MB of font-data just to display the U+FFFD glyph. * No need to write a BDF-format parser: While BDF is a quite simple format, it still requires a parser. This is tedious and overkill, if you don't intend to use other fonts than GNU-Unifont. * Stronger guarantees: GNU-Unifont has some very handy features, which cannot be expressed in most font-formats. While it is possible to rely on them using any font-format, you usually violate the rules of the font-format and thus make your application dependent on GNU-Unifont (questioning why you wrote a BDF-parser in the first place). Those features include: * fixed size for all glyphs * fixed underline position and thickness * fixed horizontal/vertical advancement * ... * Additional annotations: Given the very precice use-case of mmap-unifont, we can add additional glyph-annotations that simplify rendering. For instance, combining-characters require you to draw multiple glyphs on top of each other. The mmap-unifont package provides annotations that describe the relative positioning of the glyphs when drawn together. mmap-unifont is strongly targetted at system-applications. It has no external dependencies, is very memory-friendly, but still provides a font with full Unicode-coverage. However, please note that it does not provide any advanced layout-features (like RTL/LTR annotations). To render fully-internationalized text, a layout-engine like HarfBuzz/Pango is required. Website: http://www.freedesktop.org/wiki/Software/mmap-unifont == Requirements == mmap-unifont has no requirements other than a ISO-C compatible C library. == Download == Released tarballs can be found at: http://www.freedesktop.org/software/kmscon/releases == Install == To compile mmap-unifont, run the standard autotools commands: $ test -f ./configure || NOCONFIGURE=1 ./autogen.sh $ ./configure $ make $ make install To compile the test applications, run: $ make check == Documentation == Please see ./DOCUMENTATION for information on the mmap-unifont format. == License == This software is licensed under the terms of the GNU-GPL. Please see ./COPYING for further information. == Contact == This software is maintained by: David Herrmann If you have any questions, do not hesitate to contact one of the maintainers.