From 60660f2388573415bc0949e91d06ebc61114814a Mon Sep 17 00:00:00 2001 From: Alessandro Mauri Date: Fri, 24 Feb 2023 14:38:26 +0100 Subject: [PATCH] skip control characters --- text_rendering/ren.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/text_rendering/ren.c b/text_rendering/ren.c index 4722d7d..5a54a3e 100644 --- a/text_rendering/ren.c +++ b/text_rendering/ren.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #include @@ -471,6 +472,8 @@ int ren_render_text(const char *str, int x, int y, int w, int h, int size) struct v_text v; printf("rendering text: %s\n", str); for (off = 0; (ret = grapheme_decode_utf8(str+off, SIZE_MAX, &cp)) > 0 && cp != 0; off += ret) { + // skip special characters that render a box (not present in font) + if (iscntrl(cp)) goto skip_render; g = font_get_glyph_texture(ren.font, cp, &updated); if (!g) REN_RET(-1, REN_FONT); if (updated) { @@ -522,6 +525,7 @@ int ren_render_text(const char *str, int x, int y, int w, int h, int size) //gx += c.w + c.a; //gx += c.w + c.x + 1; gx += c.x + c.a; + skip_render: switch (cp) { case '\r': gx = x;