commit 86883e9
uint
·
2026-05-13 22:11:53 +0000 UTC
parent 794f8d0
round font width and height with ceil
1 files changed,
+9,
-6
+9,
-6
1@@ -1,9 +1,10 @@
2-#include "font.h"
3-#include "schrift.h"
4-
5+#include <math.h>
6 #include <stdlib.h>
7 #include <string.h>
8
9+#include "font.h"
10+#include "schrift.h"
11+
12 int font_load(Fontface* f, const char* path, double size)
13 {
14 SFT_LMetrics lm;
15@@ -34,15 +35,17 @@ int font_load(Fontface* f, const char* path, double size)
16 f->asc = lm.ascender;
17 f->dsc = lm.descender;
18
19- /* cell width/height */
20- f->cellh = (int)(lm.ascender - lm.descender + lm.lineGap + 0.5);
21+ /* cell height */
22+ f->cellh = (int)ceil(lm.ascender - lm.descender + lm.lineGap);
23
24+ /* cell width */
25 if (sft_lookup(&f->sft, 'A', &glyph) < 0)
26 goto fail;
27 if (sft_gmetrics(&f->sft, glyph, &gm) < 0)
28 goto fail;
29
30- f->cellw = (int)(gm.advanceWidth + 0.5);
31+ f->cellw = (int)ceil(gm.advanceWidth);
32+
33 if (f->cellw <= 0 || f->cellh <= 0)
34 goto fail;
35