diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2021-10-28 11:55:47 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2021-10-28 11:55:47 -0700 |
commit | 6318ddb69ad8380694bbca35ca5a72230c2ee694 (patch) | |
tree | e9ef65d79c264d88c2d02402a587c2561b5b1299 /include/libunicode.h | |
parent | 189b9e23edfe60b7e82c4c7b6071a3f98799653a (diff) |
Feat(libunicode): cleaned up decode/encode
Additionally, decode can now apply backwards on a byte string.
Diffstat (limited to 'include/libunicode.h')
-rw-r--r-- | include/libunicode.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/include/libunicode.h b/include/libunicode.h index 5e69fd1..00e5bc0 100644 --- a/include/libunicode.h +++ b/include/libunicode.h @@ -2,16 +2,8 @@ typedef uint32 rune; -/* - * we have to use the preprocessor to ensure we have unsigned constants. - */ - #define UTFmax 4 -#define RuneSync 0x80u -#define RuneSelf 0x80u #define RuneErr 0xFFFDu -#define RuneMax 0x10FFFFu -#define RuneMask 0x1FFFFFu /* * UTF-8 functions. @@ -19,8 +11,9 @@ typedef uint32 rune; int utf8·len(char *s); // returns number of runes 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 +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 +int utf8·decodeprev(char *s, rune *r); // decode 1 rune from char stream, reading backwards, store into rune, return number of bytes char *utf8·find(char *s, rune); // find rune in char stream char *utf8·findlast(char* s, rune); // find last rune in char stream @@ -31,6 +24,7 @@ int utf8·isletter(rune r); int utf8·isdigit(rune r); int utf8·isspace(rune r); int utf8·istitle(rune r); +int utf8·ispunct(rune r); rune utf8·toupper(rune r); rune utf8·tolower(rune r); |