commit 1aa5892a13d7797935964443ae7dda6e08c470cd
parent 0c0a4e401c2a552145720904b916da21846c8fc1
Author: falkTX <falktx@falktx.com>
Date: Fri, 22 Jul 2022 00:28:50 +0100
Align nanovg font kerning to integer pixel positions if needed
Signed-off-by: falkTX <falktx@falktx.com>
Diffstat:
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/dgl/src/nanovg/nanovg.c b/dgl/src/nanovg/nanovg.c
@@ -2592,6 +2592,11 @@ float nvgText(NVGcontext* ctx, float x, float y, const char* string, const char*
nvgTransformPoint(&c[6],&c[7], state->xform, q.x0*invscale, q.y1*invscale);
// Create triangles
if (nverts+6 <= cverts) {
+#if NVG_FONT_TEXTURE_FLAGS
+ // align font kerning to integer pixel positions
+ for (int i = 0; i < 8; ++i)
+ c[i] = (int)(c[i] + 0.5f);
+#endif
nvg__vset(&verts[nverts], c[0], c[1], q.s0, q.t0); nverts++;
nvg__vset(&verts[nverts], c[4], c[5], q.s1, q.t1); nverts++;
nvg__vset(&verts[nverts], c[2], c[3], q.s1, q.t0); nverts++;