diff --git a/src/main.cc b/src/main.cc index 829051c..8aa717e 100644 --- a/src/main.cc +++ b/src/main.cc @@ -155,13 +155,25 @@ int main(int argc, char *argv[]) return 2; } - if (!font.load(argv[1], HEIGHT / 10 * 7 / 10, 0)) + int font_size = HEIGHT / 10; + Font tmp_font; + + if (!tmp_font.load(argv[1], font_size, 0)) { fprintf(stderr, "Error loading font from %s\n", argv[1]); return 2; } - if (!outlined_font.load(argv[1], HEIGHT / 10 * 7 / 10, 3 * 64 / 2)) + /* figure out the font's scaling and reload at our desired line height */ + font_size = (int)((double)font_size / ((double)tmp_font.get_line_height() / (double)font_size)); + + if (!font.load(argv[1], font_size, 0)) + { + fprintf(stderr, "Error loading font from %s\n", argv[1]); + return 2; + } + + if (!outlined_font.load(argv[1], font_size, 3 * 64 / 2)) { fprintf(stderr, "Error loading font from %s\n", argv[1]); return 2;