aboutsummaryrefslogtreecommitdiffstats
path: root/src/gdisp/mcufont/mf_kerning.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gdisp/mcufont/mf_kerning.h')
-rw-r--r--src/gdisp/mcufont/mf_kerning.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/gdisp/mcufont/mf_kerning.h b/src/gdisp/mcufont/mf_kerning.h
new file mode 100644
index 00000000..ed885162
--- /dev/null
+++ b/src/gdisp/mcufont/mf_kerning.h
@@ -0,0 +1,29 @@
+/* Automatic kerning for font rendering. This solves the issue where some
+ * fonts (especially serif fonts) have too much space between specific
+ * character pairs, like WA or L'.
+ */
+
+#ifndef _MF_KERNING_H_
+#define _MF_KERNING_H_
+
+#include "mf_config.h"
+#include "mf_rlefont.h"
+
+/* Compute the kerning adjustment when c1 is followed by c2.
+ *
+ * font: Pointer to the font definition.
+ * c1: The previous character.
+ * c2: The next character to render.
+ *
+ * Returns the offset to add to the x position for c2.
+ */
+#if MF_USE_KERNING
+MF_EXTERN int8_t mf_compute_kerning(const struct mf_font_s *font,
+ mf_char c1, mf_char c2);
+#else
+static int8_t mf_compute_kerning(const struct mf_font_s *font,
+ mf_char c1, mf_char c2)
+{ return 0; }
+#endif
+
+#endif \ No newline at end of file