From 08d3749a636f9cd51f70ba1eed043be8e6c2eca9 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Tue, 5 Oct 2021 16:57:55 -0700 Subject: feat(term): added ligature support. some combining character help --- sys/cmd/term/term.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'sys/cmd/term/term.h') diff --git a/sys/cmd/term/term.h b/sys/cmd/term/term.h index 11c28c7..fd7b68c 100644 --- a/sys/cmd/term/term.h +++ b/sys/cmd/term/term.h @@ -10,6 +10,8 @@ #include #include +#include + // ----------------------------------------------------------------------- // macros @@ -17,7 +19,8 @@ #define DIVCEIL(n, d) (((n) + ((d) - 1)) / (d)) #define DEFAULT(a, b) (a) = (a) ? (a) : (b) #define LIMIT(x, a, b) (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x) -#define GLYPHCMP(a, b) ((a).mode != (b).mode || (a).fg != (b).fg || (a).bg != (b).bg) +#define GLYPHCMP(a, b) (((a).mode & (~Gwrap) & (~Gliga)) != ((b).mode & (~Gwrap) & (~Gliga)) || \ + (a).fg != (b).fg || (a).bg != (b).bg) #define TIMEDIFF(t1, t2) ((t1.tv_sec-t2.tv_sec)*1000 + (t1.tv_nsec-t2.tv_nsec)/1E6) #define MODBIT(x, set, bit) ((set) ? ((x) |= (bit)) : ((x) &= ~(bit))) #define TRUECOLOR(r,g,b) (1 << 24 | (r) << 16 | (g) << 8 | (b)) @@ -47,6 +50,7 @@ enum { Gwrap = iota(8), Gwide = iota(9), Gwdummy = iota(10), + Gliga = iota(11), Gboldfaint = Gbold | Gfaint, }; @@ -251,7 +255,7 @@ union Arg { void xbell(void); void xclipcopy(void); -void xdrawcursor(int, int, Letter, int, int, Letter); +void xdrawcursor(int, int, Letter, int, int, Letter, Letter*, int); void xdrawline(Letter*, int, int, int); void xfinishdraw(void); void xloadcols(void); -- cgit v1.2.1