commit 8092d6ff91a1f46f5cc409ed26489462baca7ec8
parent 64146c5d02b07cff6ca69df5e6cf75cb21391352
Author: Connor Lane Smith <cls@lubutu.com>
Date: Sun, 15 Apr 2012 13:15:40 +0100
add README
Diffstat:
README | | | 22 | ++++++++++++++++++++++ |
1 file changed, 22 insertions(+), 0 deletions(-)
diff --git a/README b/README
@@ -0,0 +1,22 @@
+libutf
+------
+
+This is a C89 UTF-8 library, with an API compatible with that of Plan 9's
+libutf, but with a number of improvements:
+
+ * Support for runes beyond the Basic Multilingual Plane.
+ * utflen and utfnlen cannot overflow on 32- or 64-bit machines.
+ * chartorune treats all invalid codepoints (as per RFC 3629) as though U+FFFD.
+ * fullrune, utfecpy, and utfnlen do not overestimate the length of malformed
+ runes.
+ * An extra function, charntorune(p,s,n), equivalent to
+ fullrune(s,n)?chartorune(p,s):0.
+
+Differences to be aware of:
+
+ * UTFmax is 6, though runetochar will never write more than 4 bytes. Plan 9's
+ UTFmax is 3.
+ * chartorune may consume multiple bytes for each illegal rune; Plan 9 always
+ consumes 1.
+ * runelen and runetochar return 0 if the rune is too large; Plan 9 erroneously
+ returns UTFmax.