From 079d5d6a214f169fa8b73f2d6f6f741810dbe9fe Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Fri, 29 Oct 2021 08:42:39 -0700 Subject: Exposed some unicode values to library users. I was hiding too many important constants. This commit moves them to the main exported header. --- include/libunicode.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/libunicode.h b/include/libunicode.h index 00e5bc0..773f9ab 100644 --- a/include/libunicode.h +++ b/include/libunicode.h @@ -4,12 +4,18 @@ typedef uint32 rune; #define UTFmax 4 #define RuneErr 0xFFFDu +#define RuneMax 0x10FFFFu + +#define utf8·onebyte(c) (((c)&0x80u)==0x00u) +#define utf8·twobyte(c) (((c)&0xE0u)==0xC0u) +#define utf8·threebyte(c) (((c)&0xF0u)==0xE0u) +#define utf8·fourbyte(c) (((c)&0xF8u)==0xF0u) /* * UTF-8 functions. */ -int utf8·len(char *s); // returns number of runes -int utf8·runelen(rune r); // returns number of bytes for rune +int utf8·len(char *s); // returns number of runes for s +int utf8·runelen(rune r); // returns number of bytes for rune int utf8·decode(char *, rune *); // decode 1 rune from char stream, store into rune, return number of bytes int utf8·encode(rune *, char *); // encode 1 rune from rune stream, store into char, return number of bytes -- cgit v1.2.1