]> mj.ucw.cz Git - libucw.git/blobdiff - charset/U-cat.h
Export functions for explicit locking.
[libucw.git] / charset / U-cat.h
index ddd9bcd1a43f821ab07b6e83c37d86833342b17a..f4d65db524d4c79db6920285d3cfeb1aca3605d6 100644 (file)
@@ -30,26 +30,26 @@ _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,
 _C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,
-_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,0,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,
-_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,0,_C_UPPER,_C_LOWER,0,0,
+_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,
+_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,0,_C_UPPER,_C_LOWER,_C_LOWER,_C_LOWER,
 0,0,0,0,_C_UPPER,0,_C_LOWER,_C_UPPER,0,_C_LOWER,_C_UPPER,0,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,
 _C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_LOWER,_C_UPPER,_C_LOWER,
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
-_C_LOWER,_C_UPPER,0,_C_LOWER,_C_UPPER,_C_LOWER,0,0,0,0,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER
+_C_LOWER,_C_UPPER,0,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER
 };
 
 static byte _U_cat_02[256] = {
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
-_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
+0,0,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
+_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,0,0,
+_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -71,27 +71,27 @@ _C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER
 _C_UPPER,_C_UPPER,0,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,
-_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,0,0,0,_C_UPPER,0,_C_UPPER,0,_C_UPPER,0,
-_C_UPPER,0,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
-_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,0,0,0,0,0,0,0,0
+_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
+_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
+_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,0,0,0,0,0,0,0
 };
 
 static byte _U_cat_04[256] = {
-0,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,_C_UPPER,_C_UPPER,
 _C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
 _C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
+_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
+_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
-0,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,_C_LOWER,_C_LOWER,
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
-_C_UPPER,_C_LOWER,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+_C_UPPER,_C_LOWER,0,0,0,0,0,0,0,0,0,0,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
-0,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,0,0,_C_UPPER,_C_LOWER,0,0,_C_UPPER,_C_LOWER,0,0,0,
+_C_UPPER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,0,0,_C_UPPER,_C_LOWER,0,0,_C_UPPER,_C_LOWER,0,0,0,
+_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,
-_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,0,0,_C_UPPER,_C_LOWER,
 _C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_LOWER,0,0,_C_UPPER,_C_LOWER,0,0,0,0,0,0
 };
 
@@ -114,6 +114,25 @@ _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 };
 
+static byte _U_cat_07[256] = {
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,_C_CTRL,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+};
+
 static byte _U_cat_10[256] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -128,9 +147,47 @@ static byte _U_cat_10[256] = {
 _C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
 _C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
 _C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,0,0,0,0,0,0,0,0,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,0,0,0,0
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+};
+
+static byte _U_cat_16[256] = {
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+_C_BLANK,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+};
+
+static byte _U_cat_18[256] = {
+0,0,0,0,0,0,0,0,0,0,0,_C_CTRL,_C_CTRL,_C_CTRL,_C_CTRL,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 };
 
 static byte _U_cat_1E[256] = {
@@ -161,20 +218,20 @@ _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,_C_UPPER,_C_UPPER,_C_U
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,_C_UPPER,0,_C_UPPER,0,_C_UPPER,0,_C_UPPER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,_C_UPPER,0,
-0,0,_C_LOWER,_C_LOWER,_C_LOWER,0,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,0,
+_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,0,0,0,
+_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,0,0,0,
+_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,0,0,0,
+_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,_C_LOWER,0,
+0,0,_C_LOWER,_C_LOWER,_C_LOWER,0,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,0,0,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,0,0,
 _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,0,
-0,0,_C_LOWER,_C_LOWER,_C_LOWER,0,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,0
+0,0,_C_LOWER,_C_LOWER,_C_LOWER,0,_C_LOWER,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,0,0
 };
 
 static byte _U_cat_20[256] = {
 _C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_CTRL,_C_CTRL,_C_CTRL,_C_CTRL,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,_C_BLANK,_C_BLANK,_C_CTRL,_C_CTRL,_C_CTRL,_C_CTRL,_C_CTRL,0,
+0,0,0,0,0,0,0,0,_C_BLANK,_C_BLANK,_C_CTRL,_C_CTRL,_C_CTRL,_C_CTRL,_C_CTRL,_C_BLANK,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -192,13 +249,9 @@ _C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK,_C_BLANK
 
 static byte _U_cat_21[256] = {
 0,0,_C_UPPER,0,0,0,0,_C_UPPER,0,0,_C_LOWER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,
-_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,0,_C_UPPER,0,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,
-_C_UPPER,_C_UPPER,_C_UPPER,0,_C_UPPER,0,_C_UPPER,0,_C_UPPER,0,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,
-_C_UPPER,_C_UPPER,0,_C_UPPER,_C_LOWER,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,0,_C_UPPER,0,0,0,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,0,
+0,0,0,0,_C_UPPER,0,_C_UPPER,0,_C_UPPER,0,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,0,_C_LOWER,
+_C_UPPER,_C_UPPER,0,_C_UPPER,_C_LOWER,0,0,0,0,_C_LOWER,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -206,25 +259,10 @@ _C_UPPER,_C_UPPER,0,_C_UPPER,_C_LOWER,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-};
-
-static byte _U_cat_24[256] = {
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
-_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,_C_UPPER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 };
 
@@ -247,25 +285,6 @@ _C_BLANK,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 };
 
-static byte _U_cat_33[256] = {
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,_C_LOWER,_C_UPPER,_C_LOWER,0,_C_LOWER,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,_C_UPPER,_C_UPPER,_C_UPPER,_C_LOWER,_C_LOWER,0,0,0,_C_LOWER,_C_LOWER,_C_LOWER,
-0,0,0,0,0,0,0,0,0,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,_C_LOWER,0,0,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,0,0,0,0,0,_C_UPPER,0,0,0,0,0,_C_UPPER,
-0,_C_UPPER,0,0,_C_LOWER,_C_LOWER,0,0,0,0,_C_LOWER,_C_UPPER,_C_LOWER,_C_UPPER,_C_UPPER,_C_LOWER,
-_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_UPPER,0,_C_UPPER,_C_UPPER,_C_LOWER,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-};
-
 static byte _U_cat_D8[256] = {
 _C_CTRL,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -415,7 +434,7 @@ static byte _U_cat_FE[256] = {
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,_C_BLANK
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,_C_CTRL
 };
 
 static byte _U_cat_FF[256] = {
@@ -434,14 +453,14 @@ _C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER,_C_LOWER
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+0,0,0,0,0,0,0,0,0,_C_CTRL,_C_CTRL,_C_CTRL,0,0,0,0
 };
 
 byte *_U_cat[256] = {
-_U_cat_00,_U_cat_01,_U_cat_02,_U_cat_03,_U_cat_04,_U_cat_05,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
-_U_cat_10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,_U_cat_1E,_U_cat_1F,
-_U_cat_20,_U_cat_21,NULL,NULL,_U_cat_24,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
-_U_cat_30,NULL,NULL,_U_cat_33,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+_U_cat_00,_U_cat_01,_U_cat_02,_U_cat_03,_U_cat_04,_U_cat_05,NULL,_U_cat_07,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+_U_cat_10,NULL,NULL,NULL,NULL,NULL,_U_cat_16,NULL,_U_cat_18,NULL,NULL,NULL,NULL,NULL,_U_cat_1E,_U_cat_1F,
+_U_cat_20,_U_cat_21,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+_U_cat_30,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
 NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,