diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/libunicode.h | 10 |
1 files changed, 8 insertions, 2 deletions
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 |