From d06059ef2a85df3c70f3c0b77364b4c49837f331 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Wed, 9 Oct 2019 14:20:22 +0800 Subject: Round font size to integer value when reading bitmap font Some fonts have a ppem value like 11.9, this patch adds integer rounding to convert those ppem value to 12 instead of 11. --- read.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/read.c b/read.c index 05f7b4f..9f5af36 100644 --- a/read.c +++ b/read.c @@ -255,20 +255,20 @@ readFile(char *filename, FontPtr font) if(verbose_flag) fprintf(stderr, "size %d: %dx%d\n", i, - (int)(face->available_sizes[i].x_ppem >> 6), - (int)(face->available_sizes[i].y_ppem >> 6)); + (int)((face->available_sizes[i].x_ppem + 32) >> 6), + (int)((face->available_sizes[i].y_ppem + 32) >> 6)); rc = FT_Set_Pixel_Sizes(face, - face->available_sizes[i].x_ppem >> 6, - face->available_sizes[i].y_ppem >> 6); + (face->available_sizes[i].x_ppem + 32) >> 6, + (face->available_sizes[i].y_ppem + 32) >> 6); if(rc != 0) { fprintf(stderr, "Couldn't set size.\n"); return -1; } strike = makeStrike(font, - face->available_sizes[i].x_ppem >> 6, - face->available_sizes[i].y_ppem >> 6); + (face->available_sizes[i].x_ppem + 32) >> 6, + (face->available_sizes[i].y_ppem + 32) >> 6); if(strike == NULL) { fprintf(stderr, "Couldn't allocate strike.\n"); return -1; -- cgit v1.2.3