diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2014-05-14 11:50:32 +0200 |
---|---|---|
committer | David Herrmann <dh.herrmann@gmail.com> | 2014-05-14 11:50:32 +0200 |
commit | ce19ed8ddffd05e0dc846470be7b22b530d5dc6d (patch) | |
tree | d7a154356e9b013d8d7352f381f297eb1988cdd3 /.gitignore |
Initial import
Import new mmap-unifont package, a pre-compiled version of the GNU-Unifont
font files:
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.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Diffstat (limited to '.gitignore')
-rw-r--r-- | .gitignore | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f36c03d --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +*.la +*.lo +*.log +*.memlog +*.o +*.swp +*.tar.xz +*.trs +.deps/ +.dirstamp +.libs/ +Makefile +Makefile.in +aclocal.m4 +autom4te.cache/ +build-aux/ +config.h +config.h.in +config.h.in~ +config.log +config.status +configure +libtool +m4/ +src/mmap-unifont.bin +src/mmap-unifont.cmp +src/mmap-unifont.pc +stamp-h1 +test-glyphs +test-valgrind |