10.1 Introduction
The goal of this format is to provide a bitmap font format that is simple to
use, compact, and cleanly supports Unicode.
10.1.1 Goals of the GRUB Font Format
- Simple to read and use.
Since GRUB will only be reading the font files,
we are more concerned with making the code to read the font simple than we
are with writing the font.
- Compact storage.
The fonts will generally be stored in a small boot
partition where GRUB is located, and this may be on a removable storage
device such as a CD or USB flash drive where space is more limited than it
is on most hard drives.
- Unicode.
GRUB should not have to deal with multiple character
encodings. The font should always use Unicode character codes for simple
internationalization.
10.1.2 Why Another Font Format?
There are many existing bitmap font formats that GRUB could use. However,
there are aspects of these formats that may make them less than suitable for
use in GRUB at this time:
- ‘BDF’
- Inefficient storage; uses ASCII to describe properties and
hexadecimal numbers in ASCII for the bitmap rows.
- ‘PCF’
- Many format variations such as byte order and bitmap padding (rows
padded to byte, word, etc.) would result in more complex code to
handle the font format.