diff --git a/ChangeLog b/ChangeLog index 6de01cff1..516282d02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-02-09 Vesa Jaaskelainen + + * font/manager.c (unknown_glyph): Added variable for unknown glyph. + (fill_with_default_glyph): Changed to use unknown_glyph for fill + pattern for unknown glyphs. + 2008-02-09 Robert Millan * configure.ac: Probe for `help2man'. diff --git a/font/manager.c b/font/manager.c index 8d5f0213b..80d8d07b5 100644 --- a/font/manager.c +++ b/font/manager.c @@ -40,6 +40,27 @@ struct font static struct font *font_list; +/* Fill unknown glyph's with rounded question mark. */ +static grub_uint8_t unknown_glyph[16] = +{ /* 76543210 */ + 0x7C, /* ooooo */ + 0x82, /* o o */ + 0xBA, /* o ooo o */ + 0xAA, /* o o o o */ + 0xAA, /* o o o o */ + 0x8A, /* o o o */ + 0x9A, /* o oo o */ + 0x92, /* o o o */ + 0x92, /* o o o */ + 0x92, /* o o o */ + 0x92, /* o o o */ + 0x82, /* o o */ + 0x92, /* o o o */ + 0x82, /* o o */ + 0x7C, /* ooooo */ + 0x00 /* */ +}; + static int add_font (const char *filename) { @@ -154,8 +175,9 @@ fill_with_default_glyph (grub_font_glyph_t glyph) { unsigned i; + /* Use pre-defined pattern to fill unknown glyphs. */ for (i = 0; i < 16; i++) - glyph->bitmap[i] = (i & 1) ? 0x55 : 0xaa; + glyph->bitmap[i] = unknown_glyph[i]; glyph->char_width = 1; glyph->width = glyph->char_width * 8;