Next: File Structure, Up: PFF2 Font File Format [Contents][Index]

### 11.1 Introduction

The goal of this format is to provide a bitmap font format that is simple to use, compact, and cleanly supports Unicode.

#### 11.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.

#### 11.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.