aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-10-28 11:55:47 -0700
committerNicholas Noll <nbnoll@eml.cc>2021-10-28 11:55:47 -0700
commit6318ddb69ad8380694bbca35ca5a72230c2ee694 (patch)
treee9ef65d79c264d88c2d02402a587c2561b5b1299 /include
parent189b9e23edfe60b7e82c4c7b6071a3f98799653a (diff)
Feat(libunicode): cleaned up decode/encode
Additionally, decode can now apply backwards on a byte string.
Diffstat (limited to 'include')
-rw-r--r--include/libunicode.h14
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);