From 64b5d358fcaa039ca2e7634aceaa5ed4c3a10cc4 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 26 Mar 2014 04:09:39 +0100 Subject: Handle fonts with multiple-of-8 bbox width * console-client/vga-dynafont.c (dynafont_new): When the bbox width of the font is a multiple of 8, set width to 8. Reject any other value than 8 or 9 with EINVAL. --- console-client/vga-dynafont.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'console-client') diff --git a/console-client/vga-dynafont.c b/console-client/vga-dynafont.c index 5e3bc6d1..573d63b4 100644 --- a/console-client/vga-dynafont.c +++ b/console-client/vga-dynafont.c @@ -480,6 +480,12 @@ dynafont_new (bdf_font_t font, bdf_font_t font_italic, bdf_font_t font_bold, font = create_system_font (); if (!font || !font->bbox.height) return errno; + if (!width) + width = font->bbox.width; + if ((width % 8) == 0) + width = 8; + if (width != 8 && width != 9) + return EINVAL; df = malloc (sizeof *df); if (!df) @@ -494,8 +500,6 @@ dynafont_new (bdf_font_t font, bdf_font_t font_italic, bdf_font_t font_bold, df->font_bold = font_bold; df->font_bold_italic = font_bold_italic; df->size = size; - if (!width) - width = df->font->bbox.width; df->width = width; df->cursor_standout = 0; -- cgit v1.2.3