aboutsummaryrefslogtreecommitdiff
path: root/src/digraph.c
diff options
context:
space:
mode:
authorDavid Z. Chen <david.z.chen@outlook.com>2014-03-10 03:48:12 -0700
committerThiago de Arruda <tpadilha84@gmail.com>2014-03-16 12:00:41 -0300
commitbaab23827194175e811cfaccd287e9438f1d1b6d (patch)
tree72d3d35fc2680149fdbcc32a9d068e6a7c821354 /src/digraph.c
parent8a6118ccaced623b9e6d854e3a41fbd9d6fc68df (diff)
downloadrneovim-baab23827194175e811cfaccd287e9438f1d1b6d.tar.gz
rneovim-baab23827194175e811cfaccd287e9438f1d1b6d.tar.bz2
rneovim-baab23827194175e811cfaccd287e9438f1d1b6d.zip
Issue #311 - Clean up blowfish.c/h, charset.c/h, diff.c/h, digraph.c/h, garray.c/h, hashtab.c/h, popupmnu.c/h, sha256.c/h, version.c/h. Update uncrustify to move logical operators to the beginning of the line when splitting. Also, clean up arabic.c/h and farsi.c/h
Diffstat (limited to 'src/digraph.c')
-rw-r--r--src/digraph.c3566
1 files changed, 1797 insertions, 1769 deletions
diff --git a/src/digraph.c b/src/digraph.c
index 3faac48089..37fe9ad5b1 100644
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -1,15 +1,6 @@
-/* vi:set ts=8 sts=4 sw=4:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
- * Do ":help uganda" in Vim to read copying and usage conditions.
- * Do ":help credits" in Vim to see a list of people who contributed.
- * See README.txt for an overview of the Vim source code.
- */
-
-/*
- * digraph.c: code for digraphs
- */
+/// @file digraph.c
+///
+/// code for digraphs
#include "vim.h"
#include "digraph.h"
@@ -34,1716 +25,1720 @@ typedef struct digraph {
result_T result;
} digr_T;
-static int getexactdigraph(int, int, int);
-static void printdigraph(digr_T *);
+static int getexactdigraph(int char1, int char2, int meta_char);
+static void printdigraph(digr_T *dp);
-/* digraphs added by the user */
+// digraphs added by the user
static garray_T user_digraphs = {0, 0, (int)sizeof(digr_T), 10, NULL};
-/*
- * Note: Characters marked with XX are not included literally, because some
- * compilers cannot handle them (Amiga SAS/C is the most picky one).
- */
+/// Note: Characters marked with XX are not included literally, because some
+/// compilers cannot handle them (Amiga SAS/C is the most picky one).
static digr_T digraphdefault[] =
-# ifdef HPUX_DIGRAPHS
-
-/*
- * different HPUX digraphs
- */
-{{'A', '`', 161}, /* ¡ */
- {'A', '^', 162}, /* ¢ */
- {'E', '`', 163}, /* £ */
- {'E', '^', 164}, /* ¤ */
- {'E', '"', 165}, /* ¥ */
- {'I', '^', 166}, /* ¦ */
- {'I', '"', 167}, /* § */
- {'\'', '\'', 168}, /* ¨ */
- {'`', '`', 169}, /* © */
- {'^', '^', 170}, /* ª */
- {'"', '"', 171}, /* « */
- {'~', '~', 172}, /* ¬ */
- {'U', '`', 173}, /* ­ */
- {'U', '^', 174}, /* ® */
- {'L', '=', 175}, /* ¯ */
- {'~', '_', 176}, /* ° */
- {'Y', '\'', 177}, /* ± */
- {'y', '\'', 178}, /* ² */
- {'~', 'o', 179}, /* ³ */
- {'C', ',', 180}, /* ´ */
- {'c', ',', 181}, /* µ */
- {'N', '~', 182}, /* ¶ */
- {'n', '~', 183}, /* · */
- {'~', '!', 184}, /* ¸ */
- {'~', '?', 185}, /* ¹ */
- {'o', 'x', 186}, /* º */
- {'L', '-', 187}, /* » */
- {'Y', '=', 188}, /* ¼ */
- {'p', 'p', 189}, /* ½ */
- {'f', 'l', 190}, /* ¾ */
- {'c', '|', 191}, /* ¿ */
- {'a', '^', 192}, /* À */
- {'e', '^', 193}, /* Á */
- {'o', '^', 194}, /* Â */
- {'u', '^', 195}, /* Ã */
- {'a', '\'', 196}, /* Ä */
- {'e', '\'', 197}, /* Å */
- {'o', '\'', 198}, /* Æ */
- {'u', '\'', 199}, /* Ç */
- {'a', '`', 200}, /* È */
- {'e', '`', 201}, /* É */
- {'o', '`', 202}, /* Ê */
- {'u', '`', 203}, /* Ë */
- {'a', '"', 204}, /* Ì */
- {'e', '"', 205}, /* Í */
- {'o', '"', 206}, /* Î */
- {'u', '"', 207}, /* Ï */
- {'A', 'o', 208}, /* Ð */
- {'i', '^', 209}, /* Ñ */
- {'O', '/', 210}, /* Ò */
- {'A', 'E', 211}, /* Ó */
- {'a', 'o', 212}, /* Ô */
- {'i', '\'', 213}, /* Õ */
- {'o', '/', 214}, /* Ö */
- {'a', 'e', 215}, /* × */
- {'A', '"', 216}, /* Ø */
- {'i', '`', 217}, /* Ù */
- {'O', '"', 218}, /* Ú */
- {'U', '"', 219}, /* Û */
- {'E', '\'', 220}, /* Ü */
- {'i', '"', 221}, /* Ý */
- {'s', 's', 222}, /* Þ */
- {'O', '^', 223}, /* ß */
- {'A', '\'', 224}, /* à */
- {'A', '~', 225}, /* á */
- {'a', '~', 226}, /* â */
- {'D', '-', 227}, /* ã */
- {'d', '-', 228}, /* ä */
- {'I', '\'', 229}, /* å */
- {'I', '`', 230}, /* æ */
- {'O', '\'', 231}, /* ç */
- {'O', '`', 232}, /* è */
- {'O', '~', 233}, /* é */
- {'o', '~', 234}, /* ê */
- {'S', '~', 235}, /* ë */
- {'s', '~', 236}, /* ì */
- {'U', '\'', 237}, /* í */
- {'Y', '"', 238}, /* î */
- {'y', '"', 239}, /* ï */
- {'p', '-', 240}, /* ð */
- {'p', '~', 241}, /* ñ */
- {'~', '.', 242}, /* ò */
- {'j', 'u', 243}, /* ó */
- {'P', 'p', 244}, /* ô */
- {'3', '4', 245}, /* õ */
- {'-', '-', 246}, /* ö */
- {'1', '4', 247}, /* ÷ */
- {'1', '2', 248}, /* ø */
- {'a', '_', 249}, /* ù */
- {'o', '_', 250}, /* ú */
- {'<', '<', 251}, /* û */
- {'x', 'x', 252}, /* ü */
- {'>', '>', 253}, /* ý */
- {'+', '-', 254}, /* þ */
- {'n', 'u', 255}, /* x XX */
- {NUL, NUL, NUL}};
-
-# else /* !HPUX_DIGRAPHS */
-
-
-# ifdef OLD_DIGRAPHS
-
-/*
- * digraphs compatible with Vim 5.x
- */
-{{'~', '!', 161}, /* ¡ */
- {'c', '|', 162}, /* ¢ */
- {'$', '$', 163}, /* £ */
- {'o', 'x', 164}, /* ¤ - currency symbol in ISO 8859-1 */
- {'e', '=', 164}, /* ¤ - euro symbol in ISO 8859-15 */
- {'Y', '-', 165}, /* ¥ */
- {'|', '|', 166}, /* ¦ */
- {'p', 'a', 167}, /* § */
- {'"', '"', 168}, /* ¨ */
- {'c', 'O', 169}, /* © */
- {'a', '-', 170}, /* ª */
- {'<', '<', 171}, /* « */
- {'-', ',', 172}, /* ¬ */
- {'-', '-', 173}, /* ­ */
- {'r', 'O', 174}, /* ® */
- {'-', '=', 175}, /* ¯ */
- {'~', 'o', 176}, /* ° */
- {'+', '-', 177}, /* ± */
- {'2', '2', 178}, /* ² */
- {'3', '3', 179}, /* ³ */
- {'\'', '\'', 180}, /* ´ */
- {'j', 'u', 181}, /* µ */
- {'p', 'p', 182}, /* ¶ */
- {'~', '.', 183}, /* · */
- {',', ',', 184}, /* ¸ */
- {'1', '1', 185}, /* ¹ */
- {'o', '-', 186}, /* º */
- {'>', '>', 187}, /* » */
- {'1', '4', 188}, /* ¼ */
- {'1', '2', 189}, /* ½ */
- {'3', '4', 190}, /* ¾ */
- {'~', '?', 191}, /* ¿ */
- {'A', '`', 192}, /* À */
- {'A', '\'', 193}, /* Á */
- {'A', '^', 194}, /* Â */
- {'A', '~', 195}, /* Ã */
- {'A', '"', 196}, /* Ä */
- {'A', '@', 197}, /* Å */
- {'A', 'A', 197}, /* Å */
- {'A', 'E', 198}, /* Æ */
- {'C', ',', 199}, /* Ç */
- {'E', '`', 200}, /* È */
- {'E', '\'', 201}, /* É */
- {'E', '^', 202}, /* Ê */
- {'E', '"', 203}, /* Ë */
- {'I', '`', 204}, /* Ì */
- {'I', '\'', 205}, /* Í */
- {'I', '^', 206}, /* Î */
- {'I', '"', 207}, /* Ï */
- {'D', '-', 208}, /* Ð */
- {'N', '~', 209}, /* Ñ */
- {'O', '`', 210}, /* Ò */
- {'O', '\'', 211}, /* Ó */
- {'O', '^', 212}, /* Ô */
- {'O', '~', 213}, /* Õ */
- {'O', '"', 214}, /* Ö */
- {'/', '\\', 215}, /* × - multiplication symbol in ISO 8859-1 */
- {'O', 'E', 215}, /* × - OE in ISO 8859-15 */
- {'O', '/', 216}, /* Ø */
- {'U', '`', 217}, /* Ù */
- {'U', '\'', 218}, /* Ú */
- {'U', '^', 219}, /* Û */
- {'U', '"', 220}, /* Ü */
- {'Y', '\'', 221}, /* Ý */
- {'I', 'p', 222}, /* Þ */
- {'s', 's', 223}, /* ß */
- {'a', '`', 224}, /* à */
- {'a', '\'', 225}, /* á */
- {'a', '^', 226}, /* â */
- {'a', '~', 227}, /* ã */
- {'a', '"', 228}, /* ä */
- {'a', '@', 229}, /* å */
- {'a', 'a', 229}, /* å */
- {'a', 'e', 230}, /* æ */
- {'c', ',', 231}, /* ç */
- {'e', '`', 232}, /* è */
- {'e', '\'', 233}, /* é */
- {'e', '^', 234}, /* ê */
- {'e', '"', 235}, /* ë */
- {'i', '`', 236}, /* ì */
- {'i', '\'', 237}, /* í */
- {'i', '^', 238}, /* î */
- {'i', '"', 239}, /* ï */
- {'d', '-', 240}, /* ð */
- {'n', '~', 241}, /* ñ */
- {'o', '`', 242}, /* ò */
- {'o', '\'', 243}, /* ó */
- {'o', '^', 244}, /* ô */
- {'o', '~', 245}, /* õ */
- {'o', '"', 246}, /* ö */
- {':', '-', 247}, /* ÷ - division symbol in ISO 8859-1 */
- {'o', 'e', 247}, /* ÷ - oe in ISO 8859-15 */
- {'o', '/', 248}, /* ø */
- {'u', '`', 249}, /* ù */
- {'u', '\'', 250}, /* ú */
- {'u', '^', 251}, /* û */
- {'u', '"', 252}, /* ü */
- {'y', '\'', 253}, /* ý */
- {'i', 'p', 254}, /* þ */
- {'y', '"', 255}, /* x XX */
- {NUL, NUL, NUL}};
-# else /* OLD_DIGRAPHS */
-
-/*
- * digraphs for Unicode from RFC1345
- * (also work for ISO-8859-1 aka latin1)
- */
+#ifdef HPUX_DIGRAPHS
+
+/// different HPUX digraphs
+{ { 'A', '`', 161 }, // ¡
+ { 'A', '^', 162 }, // ¢
+ { 'E', '`', 163 }, // £
+ { 'E', '^', 164 }, // ¤
+ { 'E', '"', 165 }, // ¥
+ { 'I', '^', 166 }, // ¦
+ { 'I', '"', 167 }, // §
+ { '\'', '\'', 168 }, // ¨
+ { '`', '`', 169 }, // ©
+ { '^', '^', 170 }, // ª
+ { '"', '"', 171 }, // «
+ { '~', '~', 172 }, // ¬
+ { 'U', '`', 173 }, // ­
+ { 'U', '^', 174 }, // ®
+ { 'L', '=', 175 }, // ¯
+ { '~', '_', 176 }, // °
+ { 'Y', '\'', 177 }, // ±
+ { 'y', '\'', 178 }, // ²
+ { '~', 'o', 179 }, // ³
+ { 'C', ',', 180 }, // ´
+ { 'c', ',', 181 }, // µ
+ { 'N', '~', 182 }, // ¶
+ { 'n', '~', 183 }, // ·
+ { '~', '!', 184 }, // ¸
+ { '~', '?', 185 }, // ¹
+ { 'o', 'x', 186 }, // º
+ { 'L', '-', 187 }, // »
+ { 'Y', '=', 188 }, // ¼
+ { 'p', 'p', 189 }, // ½
+ { 'f', 'l', 190 }, // ¾
+ { 'c', '|', 191 }, // ¿
+ { 'a', '^', 192 }, // À
+ { 'e', '^', 193 }, // Á
+ { 'o', '^', 194 }, // Â
+ { 'u', '^', 195 }, // Ã
+ { 'a', '\'', 196 }, // Ä
+ { 'e', '\'', 197 }, // Å
+ { 'o', '\'', 198 }, // Æ
+ { 'u', '\'', 199 }, // Ç
+ { 'a', '`', 200 }, // È
+ { 'e', '`', 201 }, // É
+ { 'o', '`', 202 }, // Ê
+ { 'u', '`', 203 }, // Ë
+ { 'a', '"', 204 }, // Ì
+ { 'e', '"', 205 }, // Í
+ { 'o', '"', 206 }, // Î
+ { 'u', '"', 207 }, // Ï
+ { 'A', 'o', 208 }, // Ð
+ { 'i', '^', 209 }, // Ñ
+ { 'O', '/', 210 }, // Ò
+ { 'A', 'E', 211 }, // Ó
+ { 'a', 'o', 212 }, // Ô
+ { 'i', '\'', 213 }, // Õ
+ { 'o', '/', 214 }, // Ö
+ { 'a', 'e', 215 }, // ×
+ { 'A', '"', 216 }, // Ø
+ { 'i', '`', 217 }, // Ù
+ { 'O', '"', 218 }, // Ú
+ { 'U', '"', 219 }, // Û
+ { 'E', '\'', 220 }, // Ü
+ { 'i', '"', 221 }, // Ý
+ { 's', 's', 222 }, // Þ
+ { 'O', '^', 223 }, // ß
+ { 'A', '\'', 224 }, // à
+ { 'A', '~', 225 }, // á
+ { 'a', '~', 226 }, // â
+ { 'D', '-', 227 }, // ã
+ { 'd', '-', 228 }, // ä
+ { 'I', '\'', 229 }, // å
+ { 'I', '`', 230 }, // æ
+ { 'O', '\'', 231 }, // ç
+ { 'O', '`', 232 }, // è
+ { 'O', '~', 233 }, // é
+ { 'o', '~', 234 }, // ê
+ { 'S', '~', 235 }, // ë
+ { 's', '~', 236 }, // ì
+ { 'U', '\'', 237 }, // í
+ { 'Y', '"', 238 }, // î
+ { 'y', '"', 239 }, // ï
+ { 'p', '-', 240 }, // ð
+ { 'p', '~', 241 }, // ñ
+ { '~', '.', 242 }, // ò
+ { 'j', 'u', 243 }, // ó
+ { 'P', 'p', 244 }, // ô
+ { '3', '4', 245 }, // õ
+ { '-', '-', 246 }, // ö
+ { '1', '4', 247 }, // ÷
+ { '1', '2', 248 }, // ø
+ { 'a', '_', 249 }, // ù
+ { 'o', '_', 250 }, // ú
+ { '<', '<', 251 }, // û
+ { 'x', 'x', 252 }, // ü
+ { '>', '>', 253 }, // ý
+ { '+', '-', 254 }, // þ
+ { 'n', 'u', 255 }, // x XX
+ { NUL, NUL, NUL } };
+
+#else // !HPUX_DIGRAPHS
+
+
+# ifdef OLD_DIGRAPHS
+
+// digraphs compatible with Vim 5.x
+{ { '~', '!', 161 }, // ¡
+ { 'c', '|', 162 }, // ¢
+ { '$', '$', 163 }, // £
+ { 'o', 'x', 164 }, // ¤ - currency symbol in ISO 8859-1
+ { 'e', '=', 164 }, // ¤ - euro symbol in ISO 8859-15
+ { 'Y', '-', 165 }, // ¥
+ { '|', '|', 166 }, // ¦
+ { 'p', 'a', 167 }, // §
+ { '"', '"', 168 }, // ¨
+ { 'c', 'O', 169 }, // ©
+ { 'a', '-', 170 }, // ª
+ { '<', '<', 171 }, // «
+ { '-', ',', 172 }, // ¬
+ { '-', '-', 173 }, // ­
+ { 'r', 'O', 174 }, // ®
+ { '-', '=', 175 }, // ¯
+ { '~', 'o', 176 }, // °
+ { '+', '-', 177 }, // ±
+ { '2', '2', 178 }, // ²
+ { '3', '3', 179 }, // ³
+ { '\'', '\'', 180 }, // ´
+ { 'j', 'u', 181 }, // µ
+ { 'p', 'p', 182 }, // ¶
+ { '~', '.', 183 }, // ·
+ { ',', ',', 184 }, // ¸
+ { '1', '1', 185 }, // ¹
+ { 'o', '-', 186 }, // º
+ { '>', '>', 187 }, // »
+ { '1', '4', 188 }, // ¼
+ { '1', '2', 189 }, // ½
+ { '3', '4', 190 }, // ¾
+ { '~', '?', 191 }, // ¿
+ { 'A', '`', 192 }, // À
+ { 'A', '\'', 193 }, // Á
+ { 'A', '^', 194 }, // Â
+ { 'A', '~', 195 }, // Ã
+ { 'A', '"', 196 }, // Ä
+ { 'A', '@', 197 }, // Å
+ { 'A', 'A', 197 }, // Å
+ { 'A', 'E', 198 }, // Æ
+ { 'C', ',', 199 }, // Ç
+ { 'E', '`', 200 }, // È
+ { 'E', '\'', 201 }, // É
+ { 'E', '^', 202 }, // Ê
+ { 'E', '"', 203 }, // Ë
+ { 'I', '`', 204 }, // Ì
+ { 'I', '\'', 205 }, // Í
+ { 'I', '^', 206 }, // Î
+ { 'I', '"', 207 }, // Ï
+ { 'D', '-', 208 }, // Ð
+ { 'N', '~', 209 }, // Ñ
+ { 'O', '`', 210 }, // Ò
+ { 'O', '\'', 211 }, // Ó
+ { 'O', '^', 212 }, // Ô
+ { 'O', '~', 213 }, // Õ
+ { 'O', '"', 214 }, // Ö
+ { '/', '\\', 215 }, // × - multiplication symbol in ISO 8859-1
+ { 'O', 'E', 215 }, // × - OE in ISO 8859-15
+ { 'O', '/', 216 }, // Ø
+ { 'U', '`', 217 }, // Ù
+ { 'U', '\'', 218 }, // Ú
+ { 'U', '^', 219 }, // Û
+ { 'U', '"', 220 }, // Ü
+ { 'Y', '\'', 221 }, // Ý
+ { 'I', 'p', 222 }, // Þ
+ { 's', 's', 223 }, // ß
+ { 'a', '`', 224 }, // à
+ { 'a', '\'', 225 }, // á
+ { 'a', '^', 226 }, // â
+ { 'a', '~', 227 }, // ã
+ { 'a', '"', 228 }, // ä
+ { 'a', '@', 229 }, // å
+ { 'a', 'a', 229 }, // å
+ { 'a', 'e', 230 }, // æ
+ { 'c', ',', 231 }, // ç
+ { 'e', '`', 232 }, // è
+ { 'e', '\'', 233 }, // é
+ { 'e', '^', 234 }, // ê
+ { 'e', '"', 235 }, // ë
+ { 'i', '`', 236 }, // ì
+ { 'i', '\'', 237 }, // í
+ { 'i', '^', 238 }, // î
+ { 'i', '"', 239 }, // ï
+ { 'd', '-', 240 }, // ð
+ { 'n', '~', 241 }, // ñ
+ { 'o', '`', 242 }, // ò
+ { 'o', '\'', 243 }, // ó
+ { 'o', '^', 244 }, // ô
+ { 'o', '~', 245 }, // õ
+ { 'o', '"', 246 }, // ö
+ { ':', '-', 247 }, // ÷ - division symbol in ISO 8859-1
+ { 'o', 'e', 247 }, // ÷ - oe in ISO 8859-15
+ { 'o', '/', 248 }, // ø
+ { 'u', '`', 249 }, // ù
+ { 'u', '\'', 250 }, // ú
+ { 'u', '^', 251 }, // û
+ { 'u', '"', 252 }, // ü
+ { 'y', '\'', 253 }, // ý
+ { 'i', 'p', 254 }, // þ
+ { 'y', '"', 255 }, // x XX
+ { NUL, NUL, NUL } };
+# else // OLD_DIGRAPHS
+
+// digraphs for Unicode from RFC1345
+// (also work for ISO-8859-1 aka latin1)
{
- {'N', 'U', 0x0a}, /* LF for NUL */
- {'S', 'H', 0x01},
- {'S', 'X', 0x02},
- {'E', 'X', 0x03},
- {'E', 'T', 0x04},
- {'E', 'Q', 0x05},
- {'A', 'K', 0x06},
- {'B', 'L', 0x07},
- {'B', 'S', 0x08},
- {'H', 'T', 0x09},
- {'L', 'F', 0x0a},
- {'V', 'T', 0x0b},
- {'F', 'F', 0x0c},
- {'C', 'R', 0x0d},
- {'S', 'O', 0x0e},
- {'S', 'I', 0x0f},
- {'D', 'L', 0x10},
- {'D', '1', 0x11},
- {'D', '2', 0x12},
- {'D', '3', 0x13},
- {'D', '4', 0x14},
- {'N', 'K', 0x15},
- {'S', 'Y', 0x16},
- {'E', 'B', 0x17},
- {'C', 'N', 0x18},
- {'E', 'M', 0x19},
- {'S', 'B', 0x1a},
- {'E', 'C', 0x1b},
- {'F', 'S', 0x1c},
- {'G', 'S', 0x1d},
- {'R', 'S', 0x1e},
- {'U', 'S', 0x1f},
- {'S', 'P', 0x20},
- {'N', 'b', 0x23},
- {'D', 'O', 0x24},
- {'A', 't', 0x40},
- {'<', '(', 0x5b},
- {'/', '/', 0x5c},
- {')', '>', 0x5d},
- {'\'', '>', 0x5e},
- {'\'', '!', 0x60},
- {'(', '!', 0x7b},
- {'!', '!', 0x7c},
- {'!', ')', 0x7d},
- {'\'', '?', 0x7e},
- {'D', 'T', 0x7f},
- {'P', 'A', 0x80},
- {'H', 'O', 0x81},
- {'B', 'H', 0x82},
- {'N', 'H', 0x83},
- {'I', 'N', 0x84},
- {'N', 'L', 0x85},
- {'S', 'A', 0x86},
- {'E', 'S', 0x87},
- {'H', 'S', 0x88},
- {'H', 'J', 0x89},
- {'V', 'S', 0x8a},
- {'P', 'D', 0x8b},
- {'P', 'U', 0x8c},
- {'R', 'I', 0x8d},
- {'S', '2', 0x8e},
- {'S', '3', 0x8f},
- {'D', 'C', 0x90},
- {'P', '1', 0x91},
- {'P', '2', 0x92},
- {'T', 'S', 0x93},
- {'C', 'C', 0x94},
- {'M', 'W', 0x95},
- {'S', 'G', 0x96},
- {'E', 'G', 0x97},
- {'S', 'S', 0x98},
- {'G', 'C', 0x99},
- {'S', 'C', 0x9a},
- {'C', 'I', 0x9b},
- {'S', 'T', 0x9c},
- {'O', 'C', 0x9d},
- {'P', 'M', 0x9e},
- {'A', 'C', 0x9f},
- {'N', 'S', 0xa0},
- {'!', 'I', 0xa1},
- {'C', 't', 0xa2},
- {'P', 'd', 0xa3},
- {'C', 'u', 0xa4},
- {'Y', 'e', 0xa5},
- {'B', 'B', 0xa6},
- {'S', 'E', 0xa7},
- {'\'', ':', 0xa8},
- {'C', 'o', 0xa9},
- {'-', 'a', 0xaa},
- {'<', '<', 0xab},
- {'N', 'O', 0xac},
- {'-', '-', 0xad},
- {'R', 'g', 0xae},
- {'\'', 'm', 0xaf},
- {'D', 'G', 0xb0},
- {'+', '-', 0xb1},
- {'2', 'S', 0xb2},
- {'3', 'S', 0xb3},
- {'\'', '\'', 0xb4},
- {'M', 'y', 0xb5},
- {'P', 'I', 0xb6},
- {'.', 'M', 0xb7},
- {'\'', ',', 0xb8},
- {'1', 'S', 0xb9},
- {'-', 'o', 0xba},
- {'>', '>', 0xbb},
- {'1', '4', 0xbc},
- {'1', '2', 0xbd},
- {'3', '4', 0xbe},
- {'?', 'I', 0xbf},
- {'A', '!', 0xc0},
- {'A', '\'', 0xc1},
- {'A', '>', 0xc2},
- {'A', '?', 0xc3},
- {'A', ':', 0xc4},
- {'A', 'A', 0xc5},
- {'A', 'E', 0xc6},
- {'C', ',', 0xc7},
- {'E', '!', 0xc8},
- {'E', '\'', 0xc9},
- {'E', '>', 0xca},
- {'E', ':', 0xcb},
- {'I', '!', 0xcc},
- {'I', '\'', 0xcd},
- {'I', '>', 0xce},
- {'I', ':', 0xcf},
- {'D', '-', 0xd0},
- {'N', '?', 0xd1},
- {'O', '!', 0xd2},
- {'O', '\'', 0xd3},
- {'O', '>', 0xd4},
- {'O', '?', 0xd5},
- {'O', ':', 0xd6},
- {'*', 'X', 0xd7},
- {'O', '/', 0xd8},
- {'U', '!', 0xd9},
- {'U', '\'', 0xda},
- {'U', '>', 0xdb},
- {'U', ':', 0xdc},
- {'Y', '\'', 0xdd},
- {'T', 'H', 0xde},
- {'s', 's', 0xdf},
- {'a', '!', 0xe0},
- {'a', '\'', 0xe1},
- {'a', '>', 0xe2},
- {'a', '?', 0xe3},
- {'a', ':', 0xe4},
- {'a', 'a', 0xe5},
- {'a', 'e', 0xe6},
- {'c', ',', 0xe7},
- {'e', '!', 0xe8},
- {'e', '\'', 0xe9},
- {'e', '>', 0xea},
- {'e', ':', 0xeb},
- {'i', '!', 0xec},
- {'i', '\'', 0xed},
- {'i', '>', 0xee},
- {'i', ':', 0xef},
- {'d', '-', 0xf0},
- {'n', '?', 0xf1},
- {'o', '!', 0xf2},
- {'o', '\'', 0xf3},
- {'o', '>', 0xf4},
- {'o', '?', 0xf5},
- {'o', ':', 0xf6},
- {'-', ':', 0xf7},
- {'o', '/', 0xf8},
- {'u', '!', 0xf9},
- {'u', '\'', 0xfa},
- {'u', '>', 0xfb},
- {'u', ':', 0xfc},
- {'y', '\'', 0xfd},
- {'t', 'h', 0xfe},
- {'y', ':', 0xff},
-
-# define USE_UNICODE_DIGRAPHS
-
- {'A', '-', 0x0100},
- {'a', '-', 0x0101},
- {'A', '(', 0x0102},
- {'a', '(', 0x0103},
- {'A', ';', 0x0104},
- {'a', ';', 0x0105},
- {'C', '\'', 0x0106},
- {'c', '\'', 0x0107},
- {'C', '>', 0x0108},
- {'c', '>', 0x0109},
- {'C', '.', 0x010a},
- {'c', '.', 0x010b},
- {'C', '<', 0x010c},
- {'c', '<', 0x010d},
- {'D', '<', 0x010e},
- {'d', '<', 0x010f},
- {'D', '/', 0x0110},
- {'d', '/', 0x0111},
- {'E', '-', 0x0112},
- {'e', '-', 0x0113},
- {'E', '(', 0x0114},
- {'e', '(', 0x0115},
- {'E', '.', 0x0116},
- {'e', '.', 0x0117},
- {'E', ';', 0x0118},
- {'e', ';', 0x0119},
- {'E', '<', 0x011a},
- {'e', '<', 0x011b},
- {'G', '>', 0x011c},
- {'g', '>', 0x011d},
- {'G', '(', 0x011e},
- {'g', '(', 0x011f},
- {'G', '.', 0x0120},
- {'g', '.', 0x0121},
- {'G', ',', 0x0122},
- {'g', ',', 0x0123},
- {'H', '>', 0x0124},
- {'h', '>', 0x0125},
- {'H', '/', 0x0126},
- {'h', '/', 0x0127},
- {'I', '?', 0x0128},
- {'i', '?', 0x0129},
- {'I', '-', 0x012a},
- {'i', '-', 0x012b},
- {'I', '(', 0x012c},
- {'i', '(', 0x012d},
- {'I', ';', 0x012e},
- {'i', ';', 0x012f},
- {'I', '.', 0x0130},
- {'i', '.', 0x0131},
- {'I', 'J', 0x0132},
- {'i', 'j', 0x0133},
- {'J', '>', 0x0134},
- {'j', '>', 0x0135},
- {'K', ',', 0x0136},
- {'k', ',', 0x0137},
- {'k', 'k', 0x0138},
- {'L', '\'', 0x0139},
- {'l', '\'', 0x013a},
- {'L', ',', 0x013b},
- {'l', ',', 0x013c},
- {'L', '<', 0x013d},
- {'l', '<', 0x013e},
- {'L', '.', 0x013f},
- {'l', '.', 0x0140},
- {'L', '/', 0x0141},
- {'l', '/', 0x0142},
- {'N', '\'', 0x0143},
- {'n', '\'', 0x0144},
- {'N', ',', 0x0145},
- {'n', ',', 0x0146},
- {'N', '<', 0x0147},
- {'n', '<', 0x0148},
- {'\'', 'n', 0x0149},
- {'N', 'G', 0x014a},
- {'n', 'g', 0x014b},
- {'O', '-', 0x014c},
- {'o', '-', 0x014d},
- {'O', '(', 0x014e},
- {'o', '(', 0x014f},
- {'O', '"', 0x0150},
- {'o', '"', 0x0151},
- {'O', 'E', 0x0152},
- {'o', 'e', 0x0153},
- {'R', '\'', 0x0154},
- {'r', '\'', 0x0155},
- {'R', ',', 0x0156},
- {'r', ',', 0x0157},
- {'R', '<', 0x0158},
- {'r', '<', 0x0159},
- {'S', '\'', 0x015a},
- {'s', '\'', 0x015b},
- {'S', '>', 0x015c},
- {'s', '>', 0x015d},
- {'S', ',', 0x015e},
- {'s', ',', 0x015f},
- {'S', '<', 0x0160},
- {'s', '<', 0x0161},
- {'T', ',', 0x0162},
- {'t', ',', 0x0163},
- {'T', '<', 0x0164},
- {'t', '<', 0x0165},
- {'T', '/', 0x0166},
- {'t', '/', 0x0167},
- {'U', '?', 0x0168},
- {'u', '?', 0x0169},
- {'U', '-', 0x016a},
- {'u', '-', 0x016b},
- {'U', '(', 0x016c},
- {'u', '(', 0x016d},
- {'U', '0', 0x016e},
- {'u', '0', 0x016f},
- {'U', '"', 0x0170},
- {'u', '"', 0x0171},
- {'U', ';', 0x0172},
- {'u', ';', 0x0173},
- {'W', '>', 0x0174},
- {'w', '>', 0x0175},
- {'Y', '>', 0x0176},
- {'y', '>', 0x0177},
- {'Y', ':', 0x0178},
- {'Z', '\'', 0x0179},
- {'z', '\'', 0x017a},
- {'Z', '.', 0x017b},
- {'z', '.', 0x017c},
- {'Z', '<', 0x017d},
- {'z', '<', 0x017e},
- {'O', '9', 0x01a0},
- {'o', '9', 0x01a1},
- {'O', 'I', 0x01a2},
- {'o', 'i', 0x01a3},
- {'y', 'r', 0x01a6},
- {'U', '9', 0x01af},
- {'u', '9', 0x01b0},
- {'Z', '/', 0x01b5},
- {'z', '/', 0x01b6},
- {'E', 'D', 0x01b7},
- {'A', '<', 0x01cd},
- {'a', '<', 0x01ce},
- {'I', '<', 0x01cf},
- {'i', '<', 0x01d0},
- {'O', '<', 0x01d1},
- {'o', '<', 0x01d2},
- {'U', '<', 0x01d3},
- {'u', '<', 0x01d4},
- {'A', '1', 0x01de},
- {'a', '1', 0x01df},
- {'A', '7', 0x01e0},
- {'a', '7', 0x01e1},
- {'A', '3', 0x01e2},
- {'a', '3', 0x01e3},
- {'G', '/', 0x01e4},
- {'g', '/', 0x01e5},
- {'G', '<', 0x01e6},
- {'g', '<', 0x01e7},
- {'K', '<', 0x01e8},
- {'k', '<', 0x01e9},
- {'O', ';', 0x01ea},
- {'o', ';', 0x01eb},
- {'O', '1', 0x01ec},
- {'o', '1', 0x01ed},
- {'E', 'Z', 0x01ee},
- {'e', 'z', 0x01ef},
- {'j', '<', 0x01f0},
- {'G', '\'', 0x01f4},
- {'g', '\'', 0x01f5},
- {';', 'S', 0x02bf},
- {'\'', '<', 0x02c7},
- {'\'', '(', 0x02d8},
- {'\'', '.', 0x02d9},
- {'\'', '0', 0x02da},
- {'\'', ';', 0x02db},
- {'\'', '"', 0x02dd},
- {'A', '%', 0x0386},
- {'E', '%', 0x0388},
- {'Y', '%', 0x0389},
- {'I', '%', 0x038a},
- {'O', '%', 0x038c},
- {'U', '%', 0x038e},
- {'W', '%', 0x038f},
- {'i', '3', 0x0390},
- {'A', '*', 0x0391},
- {'B', '*', 0x0392},
- {'G', '*', 0x0393},
- {'D', '*', 0x0394},
- {'E', '*', 0x0395},
- {'Z', '*', 0x0396},
- {'Y', '*', 0x0397},
- {'H', '*', 0x0398},
- {'I', '*', 0x0399},
- {'K', '*', 0x039a},
- {'L', '*', 0x039b},
- {'M', '*', 0x039c},
- {'N', '*', 0x039d},
- {'C', '*', 0x039e},
- {'O', '*', 0x039f},
- {'P', '*', 0x03a0},
- {'R', '*', 0x03a1},
- {'S', '*', 0x03a3},
- {'T', '*', 0x03a4},
- {'U', '*', 0x03a5},
- {'F', '*', 0x03a6},
- {'X', '*', 0x03a7},
- {'Q', '*', 0x03a8},
- {'W', '*', 0x03a9},
- {'J', '*', 0x03aa},
- {'V', '*', 0x03ab},
- {'a', '%', 0x03ac},
- {'e', '%', 0x03ad},
- {'y', '%', 0x03ae},
- {'i', '%', 0x03af},
- {'u', '3', 0x03b0},
- {'a', '*', 0x03b1},
- {'b', '*', 0x03b2},
- {'g', '*', 0x03b3},
- {'d', '*', 0x03b4},
- {'e', '*', 0x03b5},
- {'z', '*', 0x03b6},
- {'y', '*', 0x03b7},
- {'h', '*', 0x03b8},
- {'i', '*', 0x03b9},
- {'k', '*', 0x03ba},
- {'l', '*', 0x03bb},
- {'m', '*', 0x03bc},
- {'n', '*', 0x03bd},
- {'c', '*', 0x03be},
- {'o', '*', 0x03bf},
- {'p', '*', 0x03c0},
- {'r', '*', 0x03c1},
- {'*', 's', 0x03c2},
- {'s', '*', 0x03c3},
- {'t', '*', 0x03c4},
- {'u', '*', 0x03c5},
- {'f', '*', 0x03c6},
- {'x', '*', 0x03c7},
- {'q', '*', 0x03c8},
- {'w', '*', 0x03c9},
- {'j', '*', 0x03ca},
- {'v', '*', 0x03cb},
- {'o', '%', 0x03cc},
- {'u', '%', 0x03cd},
- {'w', '%', 0x03ce},
- {'\'', 'G', 0x03d8},
- {',', 'G', 0x03d9},
- {'T', '3', 0x03da},
- {'t', '3', 0x03db},
- {'M', '3', 0x03dc},
- {'m', '3', 0x03dd},
- {'K', '3', 0x03de},
- {'k', '3', 0x03df},
- {'P', '3', 0x03e0},
- {'p', '3', 0x03e1},
- {'\'', '%', 0x03f4},
- {'j', '3', 0x03f5},
- {'I', 'O', 0x0401},
- {'D', '%', 0x0402},
- {'G', '%', 0x0403},
- {'I', 'E', 0x0404},
- {'D', 'S', 0x0405},
- {'I', 'I', 0x0406},
- {'Y', 'I', 0x0407},
- {'J', '%', 0x0408},
- {'L', 'J', 0x0409},
- {'N', 'J', 0x040a},
- {'T', 's', 0x040b},
- {'K', 'J', 0x040c},
- {'V', '%', 0x040e},
- {'D', 'Z', 0x040f},
- {'A', '=', 0x0410},
- {'B', '=', 0x0411},
- {'V', '=', 0x0412},
- {'G', '=', 0x0413},
- {'D', '=', 0x0414},
- {'E', '=', 0x0415},
- {'Z', '%', 0x0416},
- {'Z', '=', 0x0417},
- {'I', '=', 0x0418},
- {'J', '=', 0x0419},
- {'K', '=', 0x041a},
- {'L', '=', 0x041b},
- {'M', '=', 0x041c},
- {'N', '=', 0x041d},
- {'O', '=', 0x041e},
- {'P', '=', 0x041f},
- {'R', '=', 0x0420},
- {'S', '=', 0x0421},
- {'T', '=', 0x0422},
- {'U', '=', 0x0423},
- {'F', '=', 0x0424},
- {'H', '=', 0x0425},
- {'C', '=', 0x0426},
- {'C', '%', 0x0427},
- {'S', '%', 0x0428},
- {'S', 'c', 0x0429},
- {'=', '"', 0x042a},
- {'Y', '=', 0x042b},
- {'%', '"', 0x042c},
- {'J', 'E', 0x042d},
- {'J', 'U', 0x042e},
- {'J', 'A', 0x042f},
- {'a', '=', 0x0430},
- {'b', '=', 0x0431},
- {'v', '=', 0x0432},
- {'g', '=', 0x0433},
- {'d', '=', 0x0434},
- {'e', '=', 0x0435},
- {'z', '%', 0x0436},
- {'z', '=', 0x0437},
- {'i', '=', 0x0438},
- {'j', '=', 0x0439},
- {'k', '=', 0x043a},
- {'l', '=', 0x043b},
- {'m', '=', 0x043c},
- {'n', '=', 0x043d},
- {'o', '=', 0x043e},
- {'p', '=', 0x043f},
- {'r', '=', 0x0440},
- {'s', '=', 0x0441},
- {'t', '=', 0x0442},
- {'u', '=', 0x0443},
- {'f', '=', 0x0444},
- {'h', '=', 0x0445},
- {'c', '=', 0x0446},
- {'c', '%', 0x0447},
- {'s', '%', 0x0448},
- {'s', 'c', 0x0449},
- {'=', '\'', 0x044a},
- {'y', '=', 0x044b},
- {'%', '\'', 0x044c},
- {'j', 'e', 0x044d},
- {'j', 'u', 0x044e},
- {'j', 'a', 0x044f},
- {'i', 'o', 0x0451},
- {'d', '%', 0x0452},
- {'g', '%', 0x0453},
- {'i', 'e', 0x0454},
- {'d', 's', 0x0455},
- {'i', 'i', 0x0456},
- {'y', 'i', 0x0457},
- {'j', '%', 0x0458},
- {'l', 'j', 0x0459},
- {'n', 'j', 0x045a},
- {'t', 's', 0x045b},
- {'k', 'j', 0x045c},
- {'v', '%', 0x045e},
- {'d', 'z', 0x045f},
- {'Y', '3', 0x0462},
- {'y', '3', 0x0463},
- {'O', '3', 0x046a},
- {'o', '3', 0x046b},
- {'F', '3', 0x0472},
- {'f', '3', 0x0473},
- {'V', '3', 0x0474},
- {'v', '3', 0x0475},
- {'C', '3', 0x0480},
- {'c', '3', 0x0481},
- {'G', '3', 0x0490},
- {'g', '3', 0x0491},
- {'A', '+', 0x05d0},
- {'B', '+', 0x05d1},
- {'G', '+', 0x05d2},
- {'D', '+', 0x05d3},
- {'H', '+', 0x05d4},
- {'W', '+', 0x05d5},
- {'Z', '+', 0x05d6},
- {'X', '+', 0x05d7},
- {'T', 'j', 0x05d8},
- {'J', '+', 0x05d9},
- {'K', '%', 0x05da},
- {'K', '+', 0x05db},
- {'L', '+', 0x05dc},
- {'M', '%', 0x05dd},
- {'M', '+', 0x05de},
- {'N', '%', 0x05df},
- {'N', '+', 0x05e0},
- {'S', '+', 0x05e1},
- {'E', '+', 0x05e2},
- {'P', '%', 0x05e3},
- {'P', '+', 0x05e4},
- {'Z', 'j', 0x05e5},
- {'Z', 'J', 0x05e6},
- {'Q', '+', 0x05e7},
- {'R', '+', 0x05e8},
- {'S', 'h', 0x05e9},
- {'T', '+', 0x05ea},
- {',', '+', 0x060c},
- {';', '+', 0x061b},
- {'?', '+', 0x061f},
- {'H', '\'', 0x0621},
- {'a', 'M', 0x0622},
- {'a', 'H', 0x0623},
- {'w', 'H', 0x0624},
- {'a', 'h', 0x0625},
- {'y', 'H', 0x0626},
- {'a', '+', 0x0627},
- {'b', '+', 0x0628},
- {'t', 'm', 0x0629},
- {'t', '+', 0x062a},
- {'t', 'k', 0x062b},
- {'g', '+', 0x062c},
- {'h', 'k', 0x062d},
- {'x', '+', 0x062e},
- {'d', '+', 0x062f},
- {'d', 'k', 0x0630},
- {'r', '+', 0x0631},
- {'z', '+', 0x0632},
- {'s', '+', 0x0633},
- {'s', 'n', 0x0634},
- {'c', '+', 0x0635},
- {'d', 'd', 0x0636},
- {'t', 'j', 0x0637},
- {'z', 'H', 0x0638},
- {'e', '+', 0x0639},
- {'i', '+', 0x063a},
- {'+', '+', 0x0640},
- {'f', '+', 0x0641},
- {'q', '+', 0x0642},
- {'k', '+', 0x0643},
- {'l', '+', 0x0644},
- {'m', '+', 0x0645},
- {'n', '+', 0x0646},
- {'h', '+', 0x0647},
- {'w', '+', 0x0648},
- {'j', '+', 0x0649},
- {'y', '+', 0x064a},
- {':', '+', 0x064b},
- {'"', '+', 0x064c},
- {'=', '+', 0x064d},
- {'/', '+', 0x064e},
- {'\'', '+', 0x064f},
- {'1', '+', 0x0650},
- {'3', '+', 0x0651},
- {'0', '+', 0x0652},
- {'a', 'S', 0x0670},
- {'p', '+', 0x067e},
- {'v', '+', 0x06a4},
- {'g', 'f', 0x06af},
- {'0', 'a', 0x06f0},
- {'1', 'a', 0x06f1},
- {'2', 'a', 0x06f2},
- {'3', 'a', 0x06f3},
- {'4', 'a', 0x06f4},
- {'5', 'a', 0x06f5},
- {'6', 'a', 0x06f6},
- {'7', 'a', 0x06f7},
- {'8', 'a', 0x06f8},
- {'9', 'a', 0x06f9},
- {'B', '.', 0x1e02},
- {'b', '.', 0x1e03},
- {'B', '_', 0x1e06},
- {'b', '_', 0x1e07},
- {'D', '.', 0x1e0a},
- {'d', '.', 0x1e0b},
- {'D', '_', 0x1e0e},
- {'d', '_', 0x1e0f},
- {'D', ',', 0x1e10},
- {'d', ',', 0x1e11},
- {'F', '.', 0x1e1e},
- {'f', '.', 0x1e1f},
- {'G', '-', 0x1e20},
- {'g', '-', 0x1e21},
- {'H', '.', 0x1e22},
- {'h', '.', 0x1e23},
- {'H', ':', 0x1e26},
- {'h', ':', 0x1e27},
- {'H', ',', 0x1e28},
- {'h', ',', 0x1e29},
- {'K', '\'', 0x1e30},
- {'k', '\'', 0x1e31},
- {'K', '_', 0x1e34},
- {'k', '_', 0x1e35},
- {'L', '_', 0x1e3a},
- {'l', '_', 0x1e3b},
- {'M', '\'', 0x1e3e},
- {'m', '\'', 0x1e3f},
- {'M', '.', 0x1e40},
- {'m', '.', 0x1e41},
- {'N', '.', 0x1e44},
- {'n', '.', 0x1e45},
- {'N', '_', 0x1e48},
- {'n', '_', 0x1e49},
- {'P', '\'', 0x1e54},
- {'p', '\'', 0x1e55},
- {'P', '.', 0x1e56},
- {'p', '.', 0x1e57},
- {'R', '.', 0x1e58},
- {'r', '.', 0x1e59},
- {'R', '_', 0x1e5e},
- {'r', '_', 0x1e5f},
- {'S', '.', 0x1e60},
- {'s', '.', 0x1e61},
- {'T', '.', 0x1e6a},
- {'t', '.', 0x1e6b},
- {'T', '_', 0x1e6e},
- {'t', '_', 0x1e6f},
- {'V', '?', 0x1e7c},
- {'v', '?', 0x1e7d},
- {'W', '!', 0x1e80},
- {'w', '!', 0x1e81},
- {'W', '\'', 0x1e82},
- {'w', '\'', 0x1e83},
- {'W', ':', 0x1e84},
- {'w', ':', 0x1e85},
- {'W', '.', 0x1e86},
- {'w', '.', 0x1e87},
- {'X', '.', 0x1e8a},
- {'x', '.', 0x1e8b},
- {'X', ':', 0x1e8c},
- {'x', ':', 0x1e8d},
- {'Y', '.', 0x1e8e},
- {'y', '.', 0x1e8f},
- {'Z', '>', 0x1e90},
- {'z', '>', 0x1e91},
- {'Z', '_', 0x1e94},
- {'z', '_', 0x1e95},
- {'h', '_', 0x1e96},
- {'t', ':', 0x1e97},
- {'w', '0', 0x1e98},
- {'y', '0', 0x1e99},
- {'A', '2', 0x1ea2},
- {'a', '2', 0x1ea3},
- {'E', '2', 0x1eba},
- {'e', '2', 0x1ebb},
- {'E', '?', 0x1ebc},
- {'e', '?', 0x1ebd},
- {'I', '2', 0x1ec8},
- {'i', '2', 0x1ec9},
- {'O', '2', 0x1ece},
- {'o', '2', 0x1ecf},
- {'U', '2', 0x1ee6},
- {'u', '2', 0x1ee7},
- {'Y', '!', 0x1ef2},
- {'y', '!', 0x1ef3},
- {'Y', '2', 0x1ef6},
- {'y', '2', 0x1ef7},
- {'Y', '?', 0x1ef8},
- {'y', '?', 0x1ef9},
- {';', '\'', 0x1f00},
- {',', '\'', 0x1f01},
- {';', '!', 0x1f02},
- {',', '!', 0x1f03},
- {'?', ';', 0x1f04},
- {'?', ',', 0x1f05},
- {'!', ':', 0x1f06},
- {'?', ':', 0x1f07},
- {'1', 'N', 0x2002},
- {'1', 'M', 0x2003},
- {'3', 'M', 0x2004},
- {'4', 'M', 0x2005},
- {'6', 'M', 0x2006},
- {'1', 'T', 0x2009},
- {'1', 'H', 0x200a},
- {'-', '1', 0x2010},
- {'-', 'N', 0x2013},
- {'-', 'M', 0x2014},
- {'-', '3', 0x2015},
- {'!', '2', 0x2016},
- {'=', '2', 0x2017},
- {'\'', '6', 0x2018},
- {'\'', '9', 0x2019},
- {'.', '9', 0x201a},
- {'9', '\'', 0x201b},
- {'"', '6', 0x201c},
- {'"', '9', 0x201d},
- {':', '9', 0x201e},
- {'9', '"', 0x201f},
- {'/', '-', 0x2020},
- {'/', '=', 0x2021},
- {'.', '.', 0x2025},
- {'%', '0', 0x2030},
- {'1', '\'', 0x2032},
- {'2', '\'', 0x2033},
- {'3', '\'', 0x2034},
- {'1', '"', 0x2035},
- {'2', '"', 0x2036},
- {'3', '"', 0x2037},
- {'C', 'a', 0x2038},
- {'<', '1', 0x2039},
- {'>', '1', 0x203a},
- {':', 'X', 0x203b},
- {'\'', '-', 0x203e},
- {'/', 'f', 0x2044},
- {'0', 'S', 0x2070},
- {'4', 'S', 0x2074},
- {'5', 'S', 0x2075},
- {'6', 'S', 0x2076},
- {'7', 'S', 0x2077},
- {'8', 'S', 0x2078},
- {'9', 'S', 0x2079},
- {'+', 'S', 0x207a},
- {'-', 'S', 0x207b},
- {'=', 'S', 0x207c},
- {'(', 'S', 0x207d},
- {')', 'S', 0x207e},
- {'n', 'S', 0x207f},
- {'0', 's', 0x2080},
- {'1', 's', 0x2081},
- {'2', 's', 0x2082},
- {'3', 's', 0x2083},
- {'4', 's', 0x2084},
- {'5', 's', 0x2085},
- {'6', 's', 0x2086},
- {'7', 's', 0x2087},
- {'8', 's', 0x2088},
- {'9', 's', 0x2089},
- {'+', 's', 0x208a},
- {'-', 's', 0x208b},
- {'=', 's', 0x208c},
- {'(', 's', 0x208d},
- {')', 's', 0x208e},
- {'L', 'i', 0x20a4},
- {'P', 't', 0x20a7},
- {'W', '=', 0x20a9},
- {'=', 'e', 0x20ac}, /* euro */
- {'E', 'u', 0x20ac}, /* euro */
- {'o', 'C', 0x2103},
- {'c', 'o', 0x2105},
- {'o', 'F', 0x2109},
- {'N', '0', 0x2116},
- {'P', 'O', 0x2117},
- {'R', 'x', 0x211e},
- {'S', 'M', 0x2120},
- {'T', 'M', 0x2122},
- {'O', 'm', 0x2126},
- {'A', 'O', 0x212b},
- {'1', '3', 0x2153},
- {'2', '3', 0x2154},
- {'1', '5', 0x2155},
- {'2', '5', 0x2156},
- {'3', '5', 0x2157},
- {'4', '5', 0x2158},
- {'1', '6', 0x2159},
- {'5', '6', 0x215a},
- {'1', '8', 0x215b},
- {'3', '8', 0x215c},
- {'5', '8', 0x215d},
- {'7', '8', 0x215e},
- {'1', 'R', 0x2160},
- {'2', 'R', 0x2161},
- {'3', 'R', 0x2162},
- {'4', 'R', 0x2163},
- {'5', 'R', 0x2164},
- {'6', 'R', 0x2165},
- {'7', 'R', 0x2166},
- {'8', 'R', 0x2167},
- {'9', 'R', 0x2168},
- {'a', 'R', 0x2169},
- {'b', 'R', 0x216a},
- {'c', 'R', 0x216b},
- {'1', 'r', 0x2170},
- {'2', 'r', 0x2171},
- {'3', 'r', 0x2172},
- {'4', 'r', 0x2173},
- {'5', 'r', 0x2174},
- {'6', 'r', 0x2175},
- {'7', 'r', 0x2176},
- {'8', 'r', 0x2177},
- {'9', 'r', 0x2178},
- {'a', 'r', 0x2179},
- {'b', 'r', 0x217a},
- {'c', 'r', 0x217b},
- {'<', '-', 0x2190},
- {'-', '!', 0x2191},
- {'-', '>', 0x2192},
- {'-', 'v', 0x2193},
- {'<', '>', 0x2194},
- {'U', 'D', 0x2195},
- {'<', '=', 0x21d0},
- {'=', '>', 0x21d2},
- {'=', '=', 0x21d4},
- {'F', 'A', 0x2200},
- {'d', 'P', 0x2202},
- {'T', 'E', 0x2203},
- {'/', '0', 0x2205},
- {'D', 'E', 0x2206},
- {'N', 'B', 0x2207},
- {'(', '-', 0x2208},
- {'-', ')', 0x220b},
- {'*', 'P', 0x220f},
- {'+', 'Z', 0x2211},
- {'-', '2', 0x2212},
- {'-', '+', 0x2213},
- {'*', '-', 0x2217},
- {'O', 'b', 0x2218},
- {'S', 'b', 0x2219},
- {'R', 'T', 0x221a},
- {'0', '(', 0x221d},
- {'0', '0', 0x221e},
- {'-', 'L', 0x221f},
- {'-', 'V', 0x2220},
- {'P', 'P', 0x2225},
- {'A', 'N', 0x2227},
- {'O', 'R', 0x2228},
- {'(', 'U', 0x2229},
- {')', 'U', 0x222a},
- {'I', 'n', 0x222b},
- {'D', 'I', 0x222c},
- {'I', 'o', 0x222e},
- {'.', ':', 0x2234},
- {':', '.', 0x2235},
- {':', 'R', 0x2236},
- {':', ':', 0x2237},
- {'?', '1', 0x223c},
- {'C', 'G', 0x223e},
- {'?', '-', 0x2243},
- {'?', '=', 0x2245},
- {'?', '2', 0x2248},
- {'=', '?', 0x224c},
- {'H', 'I', 0x2253},
- {'!', '=', 0x2260},
- {'=', '3', 0x2261},
- {'=', '<', 0x2264},
- {'>', '=', 0x2265},
- {'<', '*', 0x226a},
- {'*', '>', 0x226b},
- {'!', '<', 0x226e},
- {'!', '>', 0x226f},
- {'(', 'C', 0x2282},
- {')', 'C', 0x2283},
- {'(', '_', 0x2286},
- {')', '_', 0x2287},
- {'0', '.', 0x2299},
- {'0', '2', 0x229a},
- {'-', 'T', 0x22a5},
- {'.', 'P', 0x22c5},
- {':', '3', 0x22ee},
- {'.', '3', 0x22ef},
- {'E', 'h', 0x2302},
- {'<', '7', 0x2308},
- {'>', '7', 0x2309},
- {'7', '<', 0x230a},
- {'7', '>', 0x230b},
- {'N', 'I', 0x2310},
- {'(', 'A', 0x2312},
- {'T', 'R', 0x2315},
- {'I', 'u', 0x2320},
- {'I', 'l', 0x2321},
- {'<', '/', 0x2329},
- {'/', '>', 0x232a},
- {'V', 's', 0x2423},
- {'1', 'h', 0x2440},
- {'3', 'h', 0x2441},
- {'2', 'h', 0x2442},
- {'4', 'h', 0x2443},
- {'1', 'j', 0x2446},
- {'2', 'j', 0x2447},
- {'3', 'j', 0x2448},
- {'4', 'j', 0x2449},
- {'1', '.', 0x2488},
- {'2', '.', 0x2489},
- {'3', '.', 0x248a},
- {'4', '.', 0x248b},
- {'5', '.', 0x248c},
- {'6', '.', 0x248d},
- {'7', '.', 0x248e},
- {'8', '.', 0x248f},
- {'9', '.', 0x2490},
- {'h', 'h', 0x2500},
- {'H', 'H', 0x2501},
- {'v', 'v', 0x2502},
- {'V', 'V', 0x2503},
- {'3', '-', 0x2504},
- {'3', '_', 0x2505},
- {'3', '!', 0x2506},
- {'3', '/', 0x2507},
- {'4', '-', 0x2508},
- {'4', '_', 0x2509},
- {'4', '!', 0x250a},
- {'4', '/', 0x250b},
- {'d', 'r', 0x250c},
- {'d', 'R', 0x250d},
- {'D', 'r', 0x250e},
- {'D', 'R', 0x250f},
- {'d', 'l', 0x2510},
- {'d', 'L', 0x2511},
- {'D', 'l', 0x2512},
- {'L', 'D', 0x2513},
- {'u', 'r', 0x2514},
- {'u', 'R', 0x2515},
- {'U', 'r', 0x2516},
- {'U', 'R', 0x2517},
- {'u', 'l', 0x2518},
- {'u', 'L', 0x2519},
- {'U', 'l', 0x251a},
- {'U', 'L', 0x251b},
- {'v', 'r', 0x251c},
- {'v', 'R', 0x251d},
- {'V', 'r', 0x2520},
- {'V', 'R', 0x2523},
- {'v', 'l', 0x2524},
- {'v', 'L', 0x2525},
- {'V', 'l', 0x2528},
- {'V', 'L', 0x252b},
- {'d', 'h', 0x252c},
- {'d', 'H', 0x252f},
- {'D', 'h', 0x2530},
- {'D', 'H', 0x2533},
- {'u', 'h', 0x2534},
- {'u', 'H', 0x2537},
- {'U', 'h', 0x2538},
- {'U', 'H', 0x253b},
- {'v', 'h', 0x253c},
- {'v', 'H', 0x253f},
- {'V', 'h', 0x2542},
- {'V', 'H', 0x254b},
- {'F', 'D', 0x2571},
- {'B', 'D', 0x2572},
- {'T', 'B', 0x2580},
- {'L', 'B', 0x2584},
- {'F', 'B', 0x2588},
- {'l', 'B', 0x258c},
- {'R', 'B', 0x2590},
- {'.', 'S', 0x2591},
- {':', 'S', 0x2592},
- {'?', 'S', 0x2593},
- {'f', 'S', 0x25a0},
- {'O', 'S', 0x25a1},
- {'R', 'O', 0x25a2},
- {'R', 'r', 0x25a3},
- {'R', 'F', 0x25a4},
- {'R', 'Y', 0x25a5},
- {'R', 'H', 0x25a6},
- {'R', 'Z', 0x25a7},
- {'R', 'K', 0x25a8},
- {'R', 'X', 0x25a9},
- {'s', 'B', 0x25aa},
- {'S', 'R', 0x25ac},
- {'O', 'r', 0x25ad},
- {'U', 'T', 0x25b2},
- {'u', 'T', 0x25b3},
- {'P', 'R', 0x25b6},
- {'T', 'r', 0x25b7},
- {'D', 't', 0x25bc},
- {'d', 'T', 0x25bd},
- {'P', 'L', 0x25c0},
- {'T', 'l', 0x25c1},
- {'D', 'b', 0x25c6},
- {'D', 'w', 0x25c7},
- {'L', 'Z', 0x25ca},
- {'0', 'm', 0x25cb},
- {'0', 'o', 0x25ce},
- {'0', 'M', 0x25cf},
- {'0', 'L', 0x25d0},
- {'0', 'R', 0x25d1},
- {'S', 'n', 0x25d8},
- {'I', 'c', 0x25d9},
- {'F', 'd', 0x25e2},
- {'B', 'd', 0x25e3},
- {'*', '2', 0x2605},
- {'*', '1', 0x2606},
- {'<', 'H', 0x261c},
- {'>', 'H', 0x261e},
- {'0', 'u', 0x263a},
- {'0', 'U', 0x263b},
- {'S', 'U', 0x263c},
- {'F', 'm', 0x2640},
- {'M', 'l', 0x2642},
- {'c', 'S', 0x2660},
- {'c', 'H', 0x2661},
- {'c', 'D', 0x2662},
- {'c', 'C', 0x2663},
- {'M', 'd', 0x2669},
- {'M', '8', 0x266a},
- {'M', '2', 0x266b},
- {'M', 'b', 0x266d},
- {'M', 'x', 0x266e},
- {'M', 'X', 0x266f},
- {'O', 'K', 0x2713},
- {'X', 'X', 0x2717},
- {'-', 'X', 0x2720},
- {'I', 'S', 0x3000},
- {',', '_', 0x3001},
- {'.', '_', 0x3002},
- {'+', '"', 0x3003},
- {'+', '_', 0x3004},
- {'*', '_', 0x3005},
- {';', '_', 0x3006},
- {'0', '_', 0x3007},
- {'<', '+', 0x300a},
- {'>', '+', 0x300b},
- {'<', '\'', 0x300c},
- {'>', '\'', 0x300d},
- {'<', '"', 0x300e},
- {'>', '"', 0x300f},
- {'(', '"', 0x3010},
- {')', '"', 0x3011},
- {'=', 'T', 0x3012},
- {'=', '_', 0x3013},
- {'(', '\'', 0x3014},
- {')', '\'', 0x3015},
- {'(', 'I', 0x3016},
- {')', 'I', 0x3017},
- {'-', '?', 0x301c},
- {'A', '5', 0x3041},
- {'a', '5', 0x3042},
- {'I', '5', 0x3043},
- {'i', '5', 0x3044},
- {'U', '5', 0x3045},
- {'u', '5', 0x3046},
- {'E', '5', 0x3047},
- {'e', '5', 0x3048},
- {'O', '5', 0x3049},
- {'o', '5', 0x304a},
- {'k', 'a', 0x304b},
- {'g', 'a', 0x304c},
- {'k', 'i', 0x304d},
- {'g', 'i', 0x304e},
- {'k', 'u', 0x304f},
- {'g', 'u', 0x3050},
- {'k', 'e', 0x3051},
- {'g', 'e', 0x3052},
- {'k', 'o', 0x3053},
- {'g', 'o', 0x3054},
- {'s', 'a', 0x3055},
- {'z', 'a', 0x3056},
- {'s', 'i', 0x3057},
- {'z', 'i', 0x3058},
- {'s', 'u', 0x3059},
- {'z', 'u', 0x305a},
- {'s', 'e', 0x305b},
- {'z', 'e', 0x305c},
- {'s', 'o', 0x305d},
- {'z', 'o', 0x305e},
- {'t', 'a', 0x305f},
- {'d', 'a', 0x3060},
- {'t', 'i', 0x3061},
- {'d', 'i', 0x3062},
- {'t', 'U', 0x3063},
- {'t', 'u', 0x3064},
- {'d', 'u', 0x3065},
- {'t', 'e', 0x3066},
- {'d', 'e', 0x3067},
- {'t', 'o', 0x3068},
- {'d', 'o', 0x3069},
- {'n', 'a', 0x306a},
- {'n', 'i', 0x306b},
- {'n', 'u', 0x306c},
- {'n', 'e', 0x306d},
- {'n', 'o', 0x306e},
- {'h', 'a', 0x306f},
- {'b', 'a', 0x3070},
- {'p', 'a', 0x3071},
- {'h', 'i', 0x3072},
- {'b', 'i', 0x3073},
- {'p', 'i', 0x3074},
- {'h', 'u', 0x3075},
- {'b', 'u', 0x3076},
- {'p', 'u', 0x3077},
- {'h', 'e', 0x3078},
- {'b', 'e', 0x3079},
- {'p', 'e', 0x307a},
- {'h', 'o', 0x307b},
- {'b', 'o', 0x307c},
- {'p', 'o', 0x307d},
- {'m', 'a', 0x307e},
- {'m', 'i', 0x307f},
- {'m', 'u', 0x3080},
- {'m', 'e', 0x3081},
- {'m', 'o', 0x3082},
- {'y', 'A', 0x3083},
- {'y', 'a', 0x3084},
- {'y', 'U', 0x3085},
- {'y', 'u', 0x3086},
- {'y', 'O', 0x3087},
- {'y', 'o', 0x3088},
- {'r', 'a', 0x3089},
- {'r', 'i', 0x308a},
- {'r', 'u', 0x308b},
- {'r', 'e', 0x308c},
- {'r', 'o', 0x308d},
- {'w', 'A', 0x308e},
- {'w', 'a', 0x308f},
- {'w', 'i', 0x3090},
- {'w', 'e', 0x3091},
- {'w', 'o', 0x3092},
- {'n', '5', 0x3093},
- {'v', 'u', 0x3094},
- {'"', '5', 0x309b},
- {'0', '5', 0x309c},
- {'*', '5', 0x309d},
- {'+', '5', 0x309e},
- {'a', '6', 0x30a1},
- {'A', '6', 0x30a2},
- {'i', '6', 0x30a3},
- {'I', '6', 0x30a4},
- {'u', '6', 0x30a5},
- {'U', '6', 0x30a6},
- {'e', '6', 0x30a7},
- {'E', '6', 0x30a8},
- {'o', '6', 0x30a9},
- {'O', '6', 0x30aa},
- {'K', 'a', 0x30ab},
- {'G', 'a', 0x30ac},
- {'K', 'i', 0x30ad},
- {'G', 'i', 0x30ae},
- {'K', 'u', 0x30af},
- {'G', 'u', 0x30b0},
- {'K', 'e', 0x30b1},
- {'G', 'e', 0x30b2},
- {'K', 'o', 0x30b3},
- {'G', 'o', 0x30b4},
- {'S', 'a', 0x30b5},
- {'Z', 'a', 0x30b6},
- {'S', 'i', 0x30b7},
- {'Z', 'i', 0x30b8},
- {'S', 'u', 0x30b9},
- {'Z', 'u', 0x30ba},
- {'S', 'e', 0x30bb},
- {'Z', 'e', 0x30bc},
- {'S', 'o', 0x30bd},
- {'Z', 'o', 0x30be},
- {'T', 'a', 0x30bf},
- {'D', 'a', 0x30c0},
- {'T', 'i', 0x30c1},
- {'D', 'i', 0x30c2},
- {'T', 'U', 0x30c3},
- {'T', 'u', 0x30c4},
- {'D', 'u', 0x30c5},
- {'T', 'e', 0x30c6},
- {'D', 'e', 0x30c7},
- {'T', 'o', 0x30c8},
- {'D', 'o', 0x30c9},
- {'N', 'a', 0x30ca},
- {'N', 'i', 0x30cb},
- {'N', 'u', 0x30cc},
- {'N', 'e', 0x30cd},
- {'N', 'o', 0x30ce},
- {'H', 'a', 0x30cf},
- {'B', 'a', 0x30d0},
- {'P', 'a', 0x30d1},
- {'H', 'i', 0x30d2},
- {'B', 'i', 0x30d3},
- {'P', 'i', 0x30d4},
- {'H', 'u', 0x30d5},
- {'B', 'u', 0x30d6},
- {'P', 'u', 0x30d7},
- {'H', 'e', 0x30d8},
- {'B', 'e', 0x30d9},
- {'P', 'e', 0x30da},
- {'H', 'o', 0x30db},
- {'B', 'o', 0x30dc},
- {'P', 'o', 0x30dd},
- {'M', 'a', 0x30de},
- {'M', 'i', 0x30df},
- {'M', 'u', 0x30e0},
- {'M', 'e', 0x30e1},
- {'M', 'o', 0x30e2},
- {'Y', 'A', 0x30e3},
- {'Y', 'a', 0x30e4},
- {'Y', 'U', 0x30e5},
- {'Y', 'u', 0x30e6},
- {'Y', 'O', 0x30e7},
- {'Y', 'o', 0x30e8},
- {'R', 'a', 0x30e9},
- {'R', 'i', 0x30ea},
- {'R', 'u', 0x30eb},
- {'R', 'e', 0x30ec},
- {'R', 'o', 0x30ed},
- {'W', 'A', 0x30ee},
- {'W', 'a', 0x30ef},
- {'W', 'i', 0x30f0},
- {'W', 'e', 0x30f1},
- {'W', 'o', 0x30f2},
- {'N', '6', 0x30f3},
- {'V', 'u', 0x30f4},
- {'K', 'A', 0x30f5},
- {'K', 'E', 0x30f6},
- {'V', 'a', 0x30f7},
- {'V', 'i', 0x30f8},
- {'V', 'e', 0x30f9},
- {'V', 'o', 0x30fa},
- {'.', '6', 0x30fb},
- {'-', '6', 0x30fc},
- {'*', '6', 0x30fd},
- {'+', '6', 0x30fe},
- {'b', '4', 0x3105},
- {'p', '4', 0x3106},
- {'m', '4', 0x3107},
- {'f', '4', 0x3108},
- {'d', '4', 0x3109},
- {'t', '4', 0x310a},
- {'n', '4', 0x310b},
- {'l', '4', 0x310c},
- {'g', '4', 0x310d},
- {'k', '4', 0x310e},
- {'h', '4', 0x310f},
- {'j', '4', 0x3110},
- {'q', '4', 0x3111},
- {'x', '4', 0x3112},
- {'z', 'h', 0x3113},
- {'c', 'h', 0x3114},
- {'s', 'h', 0x3115},
- {'r', '4', 0x3116},
- {'z', '4', 0x3117},
- {'c', '4', 0x3118},
- {'s', '4', 0x3119},
- {'a', '4', 0x311a},
- {'o', '4', 0x311b},
- {'e', '4', 0x311c},
- {'a', 'i', 0x311e},
- {'e', 'i', 0x311f},
- {'a', 'u', 0x3120},
- {'o', 'u', 0x3121},
- {'a', 'n', 0x3122},
- {'e', 'n', 0x3123},
- {'a', 'N', 0x3124},
- {'e', 'N', 0x3125},
- {'e', 'r', 0x3126},
- {'i', '4', 0x3127},
- {'u', '4', 0x3128},
- {'i', 'u', 0x3129},
- {'v', '4', 0x312a},
- {'n', 'G', 0x312b},
- {'g', 'n', 0x312c},
- {'1', 'c', 0x3220},
- {'2', 'c', 0x3221},
- {'3', 'c', 0x3222},
- {'4', 'c', 0x3223},
- {'5', 'c', 0x3224},
- {'6', 'c', 0x3225},
- {'7', 'c', 0x3226},
- {'8', 'c', 0x3227},
- {'9', 'c', 0x3228},
- /* code points 0xe000 - 0xefff excluded, they have no assigned
- * characters, only used in proposals. */
- {'f', 'f', 0xfb00},
- {'f', 'i', 0xfb01},
- {'f', 'l', 0xfb02},
- {'f', 't', 0xfb05},
- {'s', 't', 0xfb06},
-
- /* Vim 5.x compatible digraphs that don't conflict with the above */
- {'~', '!', 161}, /* ¡ */
- {'c', '|', 162}, /* ¢ */
- {'$', '$', 163}, /* £ */
- {'o', 'x', 164}, /* ¤ - currency symbol in ISO 8859-1 */
- {'Y', '-', 165}, /* ¥ */
- {'|', '|', 166}, /* ¦ */
- {'c', 'O', 169}, /* © */
- {'-', ',', 172}, /* ¬ */
- {'-', '=', 175}, /* ¯ */
- {'~', 'o', 176}, /* ° */
- {'2', '2', 178}, /* ² */
- {'3', '3', 179}, /* ³ */
- {'p', 'p', 182}, /* ¶ */
- {'~', '.', 183}, /* · */
- {'1', '1', 185}, /* ¹ */
- {'~', '?', 191}, /* ¿ */
- {'A', '`', 192}, /* À */
- {'A', '^', 194}, /* Â */
- {'A', '~', 195}, /* Ã */
- {'A', '"', 196}, /* Ä */
- {'A', '@', 197}, /* Å */
- {'E', '`', 200}, /* È */
- {'E', '^', 202}, /* Ê */
- {'E', '"', 203}, /* Ë */
- {'I', '`', 204}, /* Ì */
- {'I', '^', 206}, /* Î */
- {'I', '"', 207}, /* Ï */
- {'N', '~', 209}, /* Ñ */
- {'O', '`', 210}, /* Ò */
- {'O', '^', 212}, /* Ô */
- {'O', '~', 213}, /* Õ */
- {'/', '\\', 215}, /* × - multiplication symbol in ISO 8859-1 */
- {'U', '`', 217}, /* Ù */
- {'U', '^', 219}, /* Û */
- {'I', 'p', 222}, /* Þ */
- {'a', '`', 224}, /* à */
- {'a', '^', 226}, /* â */
- {'a', '~', 227}, /* ã */
- {'a', '"', 228}, /* ä */
- {'a', '@', 229}, /* å */
- {'e', '`', 232}, /* è */
- {'e', '^', 234}, /* ê */
- {'e', '"', 235}, /* ë */
- {'i', '`', 236}, /* ì */
- {'i', '^', 238}, /* î */
- {'n', '~', 241}, /* ñ */
- {'o', '`', 242}, /* ò */
- {'o', '^', 244}, /* ô */
- {'o', '~', 245}, /* õ */
- {'u', '`', 249}, /* ù */
- {'u', '^', 251}, /* û */
- {'y', '"', 255}, /* x XX */
-
- {NUL, NUL, NUL}
+ { 'N', 'U', 0x0a }, // LF for NUL
+ { 'S', 'H', 0x01 },
+ { 'S', 'X', 0x02 },
+ { 'E', 'X', 0x03 },
+ { 'E', 'T', 0x04 },
+ { 'E', 'Q', 0x05 },
+ { 'A', 'K', 0x06 },
+ { 'B', 'L', 0x07 },
+ { 'B', 'S', 0x08 },
+ { 'H', 'T', 0x09 },
+ { 'L', 'F', 0x0a },
+ { 'V', 'T', 0x0b },
+ { 'F', 'F', 0x0c },
+ { 'C', 'R', 0x0d },
+ { 'S', 'O', 0x0e },
+ { 'S', 'I', 0x0f },
+ { 'D', 'L', 0x10 },
+ { 'D', '1', 0x11 },
+ { 'D', '2', 0x12 },
+ { 'D', '3', 0x13 },
+ { 'D', '4', 0x14 },
+ { 'N', 'K', 0x15 },
+ { 'S', 'Y', 0x16 },
+ { 'E', 'B', 0x17 },
+ { 'C', 'N', 0x18 },
+ { 'E', 'M', 0x19 },
+ { 'S', 'B', 0x1a },
+ { 'E', 'C', 0x1b },
+ { 'F', 'S', 0x1c },
+ { 'G', 'S', 0x1d },
+ { 'R', 'S', 0x1e },
+ { 'U', 'S', 0x1f },
+ { 'S', 'P', 0x20 },
+ { 'N', 'b', 0x23 },
+ { 'D', 'O', 0x24 },
+ { 'A', 't', 0x40 },
+ { '<', '(', 0x5b },
+ { '/', '/', 0x5c },
+ { ')', '>', 0x5d },
+ { '\'', '>', 0x5e },
+ { '\'', '!', 0x60 },
+ { '(', '!', 0x7b },
+ { '!', '!', 0x7c },
+ { '!', ')', 0x7d },
+ { '\'', '?', 0x7e },
+ { 'D', 'T', 0x7f },
+ { 'P', 'A', 0x80 },
+ { 'H', 'O', 0x81 },
+ { 'B', 'H', 0x82 },
+ { 'N', 'H', 0x83 },
+ { 'I', 'N', 0x84 },
+ { 'N', 'L', 0x85 },
+ { 'S', 'A', 0x86 },
+ { 'E', 'S', 0x87 },
+ { 'H', 'S', 0x88 },
+ { 'H', 'J', 0x89 },
+ { 'V', 'S', 0x8a },
+ { 'P', 'D', 0x8b },
+ { 'P', 'U', 0x8c },
+ { 'R', 'I', 0x8d },
+ { 'S', '2', 0x8e },
+ { 'S', '3', 0x8f },
+ { 'D', 'C', 0x90 },
+ { 'P', '1', 0x91 },
+ { 'P', '2', 0x92 },
+ { 'T', 'S', 0x93 },
+ { 'C', 'C', 0x94 },
+ { 'M', 'W', 0x95 },
+ { 'S', 'G', 0x96 },
+ { 'E', 'G', 0x97 },
+ { 'S', 'S', 0x98 },
+ { 'G', 'C', 0x99 },
+ { 'S', 'C', 0x9a },
+ { 'C', 'I', 0x9b },
+ { 'S', 'T', 0x9c },
+ { 'O', 'C', 0x9d },
+ { 'P', 'M', 0x9e },
+ { 'A', 'C', 0x9f },
+ { 'N', 'S', 0xa0 },
+ { '!', 'I', 0xa1 },
+ { 'C', 't', 0xa2 },
+ { 'P', 'd', 0xa3 },
+ { 'C', 'u', 0xa4 },
+ { 'Y', 'e', 0xa5 },
+ { 'B', 'B', 0xa6 },
+ { 'S', 'E', 0xa7 },
+ { '\'', ':', 0xa8 },
+ { 'C', 'o', 0xa9 },
+ { '-', 'a', 0xaa },
+ { '<', '<', 0xab },
+ { 'N', 'O', 0xac },
+ { '-', '-', 0xad },
+ { 'R', 'g', 0xae },
+ { '\'', 'm', 0xaf },
+ { 'D', 'G', 0xb0 },
+ { '+', '-', 0xb1 },
+ { '2', 'S', 0xb2 },
+ { '3', 'S', 0xb3 },
+ { '\'', '\'', 0xb4 },
+ { 'M', 'y', 0xb5 },
+ { 'P', 'I', 0xb6 },
+ { '.', 'M', 0xb7 },
+ { '\'', ',', 0xb8 },
+ { '1', 'S', 0xb9 },
+ { '-', 'o', 0xba },
+ { '>', '>', 0xbb },
+ { '1', '4', 0xbc },
+ { '1', '2', 0xbd },
+ { '3', '4', 0xbe },
+ { '?', 'I', 0xbf },
+ { 'A', '!', 0xc0 },
+ { 'A', '\'', 0xc1 },
+ { 'A', '>', 0xc2 },
+ { 'A', '?', 0xc3 },
+ { 'A', ':', 0xc4 },
+ { 'A', 'A', 0xc5 },
+ { 'A', 'E', 0xc6 },
+ { 'C', ',', 0xc7 },
+ { 'E', '!', 0xc8 },
+ { 'E', '\'', 0xc9 },
+ { 'E', '>', 0xca },
+ { 'E', ':', 0xcb },
+ { 'I', '!', 0xcc },
+ { 'I', '\'', 0xcd },
+ { 'I', '>', 0xce },
+ { 'I', ':', 0xcf },
+ { 'D', '-', 0xd0 },
+ { 'N', '?', 0xd1 },
+ { 'O', '!', 0xd2 },
+ { 'O', '\'', 0xd3 },
+ { 'O', '>', 0xd4 },
+ { 'O', '?', 0xd5 },
+ { 'O', ':', 0xd6 },
+ { '*', 'X', 0xd7 },
+ { 'O', '/', 0xd8 },
+ { 'U', '!', 0xd9 },
+ { 'U', '\'', 0xda },
+ { 'U', '>', 0xdb },
+ { 'U', ':', 0xdc },
+ { 'Y', '\'', 0xdd },
+ { 'T', 'H', 0xde },
+ { 's', 's', 0xdf },
+ { 'a', '!', 0xe0 },
+ { 'a', '\'', 0xe1 },
+ { 'a', '>', 0xe2 },
+ { 'a', '?', 0xe3 },
+ { 'a', ':', 0xe4 },
+ { 'a', 'a', 0xe5 },
+ { 'a', 'e', 0xe6 },
+ { 'c', ',', 0xe7 },
+ { 'e', '!', 0xe8 },
+ { 'e', '\'', 0xe9 },
+ { 'e', '>', 0xea },
+ { 'e', ':', 0xeb },
+ { 'i', '!', 0xec },
+ { 'i', '\'', 0xed },
+ { 'i', '>', 0xee },
+ { 'i', ':', 0xef },
+ { 'd', '-', 0xf0 },
+ { 'n', '?', 0xf1 },
+ { 'o', '!', 0xf2 },
+ { 'o', '\'', 0xf3 },
+ { 'o', '>', 0xf4 },
+ { 'o', '?', 0xf5 },
+ { 'o', ':', 0xf6 },
+ { '-', ':', 0xf7 },
+ { 'o', '/', 0xf8 },
+ { 'u', '!', 0xf9 },
+ { 'u', '\'', 0xfa },
+ { 'u', '>', 0xfb },
+ { 'u', ':', 0xfc },
+ { 'y', '\'', 0xfd },
+ { 't', 'h', 0xfe },
+ { 'y', ':', 0xff },
+
+# define USE_UNICODE_DIGRAPHS
+
+ { 'A', '-', 0x0100 },
+ { 'a', '-', 0x0101 },
+ { 'A', '(', 0x0102 },
+ { 'a', '(', 0x0103 },
+ { 'A', ';', 0x0104 },
+ { 'a', ';', 0x0105 },
+ { 'C', '\'', 0x0106 },
+ { 'c', '\'', 0x0107 },
+ { 'C', '>', 0x0108 },
+ { 'c', '>', 0x0109 },
+ { 'C', '.', 0x010a },
+ { 'c', '.', 0x010b },
+ { 'C', '<', 0x010c },
+ { 'c', '<', 0x010d },
+ { 'D', '<', 0x010e },
+ { 'd', '<', 0x010f },
+ { 'D', '/', 0x0110 },
+ { 'd', '/', 0x0111 },
+ { 'E', '-', 0x0112 },
+ { 'e', '-', 0x0113 },
+ { 'E', '(', 0x0114 },
+ { 'e', '(', 0x0115 },
+ { 'E', '.', 0x0116 },
+ { 'e', '.', 0x0117 },
+ { 'E', ';', 0x0118 },
+ { 'e', ';', 0x0119 },
+ { 'E', '<', 0x011a },
+ { 'e', '<', 0x011b },
+ { 'G', '>', 0x011c },
+ { 'g', '>', 0x011d },
+ { 'G', '(', 0x011e },
+ { 'g', '(', 0x011f },
+ { 'G', '.', 0x0120 },
+ { 'g', '.', 0x0121 },
+ { 'G', ',', 0x0122 },
+ { 'g', ',', 0x0123 },
+ { 'H', '>', 0x0124 },
+ { 'h', '>', 0x0125 },
+ { 'H', '/', 0x0126 },
+ { 'h', '/', 0x0127 },
+ { 'I', '?', 0x0128 },
+ { 'i', '?', 0x0129 },
+ { 'I', '-', 0x012a },
+ { 'i', '-', 0x012b },
+ { 'I', '(', 0x012c },
+ { 'i', '(', 0x012d },
+ { 'I', ';', 0x012e },
+ { 'i', ';', 0x012f },
+ { 'I', '.', 0x0130 },
+ { 'i', '.', 0x0131 },
+ { 'I', 'J', 0x0132 },
+ { 'i', 'j', 0x0133 },
+ { 'J', '>', 0x0134 },
+ { 'j', '>', 0x0135 },
+ { 'K', ',', 0x0136 },
+ { 'k', ',', 0x0137 },
+ { 'k', 'k', 0x0138 },
+ { 'L', '\'', 0x0139 },
+ { 'l', '\'', 0x013a },
+ { 'L', ',', 0x013b },
+ { 'l', ',', 0x013c },
+ { 'L', '<', 0x013d },
+ { 'l', '<', 0x013e },
+ { 'L', '.', 0x013f },
+ { 'l', '.', 0x0140 },
+ { 'L', '/', 0x0141 },
+ { 'l', '/', 0x0142 },
+ { 'N', '\'', 0x0143 },
+ { 'n', '\'', 0x0144 },
+ { 'N', ',', 0x0145 },
+ { 'n', ',', 0x0146 },
+ { 'N', '<', 0x0147 },
+ { 'n', '<', 0x0148 },
+ { '\'', 'n', 0x0149 },
+ { 'N', 'G', 0x014a },
+ { 'n', 'g', 0x014b },
+ { 'O', '-', 0x014c },
+ { 'o', '-', 0x014d },
+ { 'O', '(', 0x014e },
+ { 'o', '(', 0x014f },
+ { 'O', '"', 0x0150 },
+ { 'o', '"', 0x0151 },
+ { 'O', 'E', 0x0152 },
+ { 'o', 'e', 0x0153 },
+ { 'R', '\'', 0x0154 },
+ { 'r', '\'', 0x0155 },
+ { 'R', ',', 0x0156 },
+ { 'r', ',', 0x0157 },
+ { 'R', '<', 0x0158 },
+ { 'r', '<', 0x0159 },
+ { 'S', '\'', 0x015a },
+ { 's', '\'', 0x015b },
+ { 'S', '>', 0x015c },
+ { 's', '>', 0x015d },
+ { 'S', ',', 0x015e },
+ { 's', ',', 0x015f },
+ { 'S', '<', 0x0160 },
+ { 's', '<', 0x0161 },
+ { 'T', ',', 0x0162 },
+ { 't', ',', 0x0163 },
+ { 'T', '<', 0x0164 },
+ { 't', '<', 0x0165 },
+ { 'T', '/', 0x0166 },
+ { 't', '/', 0x0167 },
+ { 'U', '?', 0x0168 },
+ { 'u', '?', 0x0169 },
+ { 'U', '-', 0x016a },
+ { 'u', '-', 0x016b },
+ { 'U', '(', 0x016c },
+ { 'u', '(', 0x016d },
+ { 'U', '0', 0x016e },
+ { 'u', '0', 0x016f },
+ { 'U', '"', 0x0170 },
+ { 'u', '"', 0x0171 },
+ { 'U', ';', 0x0172 },
+ { 'u', ';', 0x0173 },
+ { 'W', '>', 0x0174 },
+ { 'w', '>', 0x0175 },
+ { 'Y', '>', 0x0176 },
+ { 'y', '>', 0x0177 },
+ { 'Y', ':', 0x0178 },
+ { 'Z', '\'', 0x0179 },
+ { 'z', '\'', 0x017a },
+ { 'Z', '.', 0x017b },
+ { 'z', '.', 0x017c },
+ { 'Z', '<', 0x017d },
+ { 'z', '<', 0x017e },
+ { 'O', '9', 0x01a0 },
+ { 'o', '9', 0x01a1 },
+ { 'O', 'I', 0x01a2 },
+ { 'o', 'i', 0x01a3 },
+ { 'y', 'r', 0x01a6 },
+ { 'U', '9', 0x01af },
+ { 'u', '9', 0x01b0 },
+ { 'Z', '/', 0x01b5 },
+ { 'z', '/', 0x01b6 },
+ { 'E', 'D', 0x01b7 },
+ { 'A', '<', 0x01cd },
+ { 'a', '<', 0x01ce },
+ { 'I', '<', 0x01cf },
+ { 'i', '<', 0x01d0 },
+ { 'O', '<', 0x01d1 },
+ { 'o', '<', 0x01d2 },
+ { 'U', '<', 0x01d3 },
+ { 'u', '<', 0x01d4 },
+ { 'A', '1', 0x01de },
+ { 'a', '1', 0x01df },
+ { 'A', '7', 0x01e0 },
+ { 'a', '7', 0x01e1 },
+ { 'A', '3', 0x01e2 },
+ { 'a', '3', 0x01e3 },
+ { 'G', '/', 0x01e4 },
+ { 'g', '/', 0x01e5 },
+ { 'G', '<', 0x01e6 },
+ { 'g', '<', 0x01e7 },
+ { 'K', '<', 0x01e8 },
+ { 'k', '<', 0x01e9 },
+ { 'O', ';', 0x01ea },
+ { 'o', ';', 0x01eb },
+ { 'O', '1', 0x01ec },
+ { 'o', '1', 0x01ed },
+ { 'E', 'Z', 0x01ee },
+ { 'e', 'z', 0x01ef },
+ { 'j', '<', 0x01f0 },
+ { 'G', '\'', 0x01f4 },
+ { 'g', '\'', 0x01f5 },
+ { ';', 'S', 0x02bf },
+ { '\'', '<', 0x02c7 },
+ { '\'', '(', 0x02d8 },
+ { '\'', '.', 0x02d9 },
+ { '\'', '0', 0x02da },
+ { '\'', ';', 0x02db },
+ { '\'', '"', 0x02dd },
+ { 'A', '%', 0x0386 },
+ { 'E', '%', 0x0388 },
+ { 'Y', '%', 0x0389 },
+ { 'I', '%', 0x038a },
+ { 'O', '%', 0x038c },
+ { 'U', '%', 0x038e },
+ { 'W', '%', 0x038f },
+ { 'i', '3', 0x0390 },
+ { 'A', '*', 0x0391 },
+ { 'B', '*', 0x0392 },
+ { 'G', '*', 0x0393 },
+ { 'D', '*', 0x0394 },
+ { 'E', '*', 0x0395 },
+ { 'Z', '*', 0x0396 },
+ { 'Y', '*', 0x0397 },
+ { 'H', '*', 0x0398 },
+ { 'I', '*', 0x0399 },
+ { 'K', '*', 0x039a },
+ { 'L', '*', 0x039b },
+ { 'M', '*', 0x039c },
+ { 'N', '*', 0x039d },
+ { 'C', '*', 0x039e },
+ { 'O', '*', 0x039f },
+ { 'P', '*', 0x03a0 },
+ { 'R', '*', 0x03a1 },
+ { 'S', '*', 0x03a3 },
+ { 'T', '*', 0x03a4 },
+ { 'U', '*', 0x03a5 },
+ { 'F', '*', 0x03a6 },
+ { 'X', '*', 0x03a7 },
+ { 'Q', '*', 0x03a8 },
+ { 'W', '*', 0x03a9 },
+ { 'J', '*', 0x03aa },
+ { 'V', '*', 0x03ab },
+ { 'a', '%', 0x03ac },
+ { 'e', '%', 0x03ad },
+ { 'y', '%', 0x03ae },
+ { 'i', '%', 0x03af },
+ { 'u', '3', 0x03b0 },
+ { 'a', '*', 0x03b1 },
+ { 'b', '*', 0x03b2 },
+ { 'g', '*', 0x03b3 },
+ { 'd', '*', 0x03b4 },
+ { 'e', '*', 0x03b5 },
+ { 'z', '*', 0x03b6 },
+ { 'y', '*', 0x03b7 },
+ { 'h', '*', 0x03b8 },
+ { 'i', '*', 0x03b9 },
+ { 'k', '*', 0x03ba },
+ { 'l', '*', 0x03bb },
+ { 'm', '*', 0x03bc },
+ { 'n', '*', 0x03bd },
+ { 'c', '*', 0x03be },
+ { 'o', '*', 0x03bf },
+ { 'p', '*', 0x03c0 },
+ { 'r', '*', 0x03c1 },
+ { '*', 's', 0x03c2 },
+ { 's', '*', 0x03c3 },
+ { 't', '*', 0x03c4 },
+ { 'u', '*', 0x03c5 },
+ { 'f', '*', 0x03c6 },
+ { 'x', '*', 0x03c7 },
+ { 'q', '*', 0x03c8 },
+ { 'w', '*', 0x03c9 },
+ { 'j', '*', 0x03ca },
+ { 'v', '*', 0x03cb },
+ { 'o', '%', 0x03cc },
+ { 'u', '%', 0x03cd },
+ { 'w', '%', 0x03ce },
+ { '\'', 'G', 0x03d8 },
+ { ',', 'G', 0x03d9 },
+ { 'T', '3', 0x03da },
+ { 't', '3', 0x03db },
+ { 'M', '3', 0x03dc },
+ { 'm', '3', 0x03dd },
+ { 'K', '3', 0x03de },
+ { 'k', '3', 0x03df },
+ { 'P', '3', 0x03e0 },
+ { 'p', '3', 0x03e1 },
+ { '\'', '%', 0x03f4 },
+ { 'j', '3', 0x03f5 },
+ { 'I', 'O', 0x0401 },
+ { 'D', '%', 0x0402 },
+ { 'G', '%', 0x0403 },
+ { 'I', 'E', 0x0404 },
+ { 'D', 'S', 0x0405 },
+ { 'I', 'I', 0x0406 },
+ { 'Y', 'I', 0x0407 },
+ { 'J', '%', 0x0408 },
+ { 'L', 'J', 0x0409 },
+ { 'N', 'J', 0x040a },
+ { 'T', 's', 0x040b },
+ { 'K', 'J', 0x040c },
+ { 'V', '%', 0x040e },
+ { 'D', 'Z', 0x040f },
+ { 'A', '=', 0x0410 },
+ { 'B', '=', 0x0411 },
+ { 'V', '=', 0x0412 },
+ { 'G', '=', 0x0413 },
+ { 'D', '=', 0x0414 },
+ { 'E', '=', 0x0415 },
+ { 'Z', '%', 0x0416 },
+ { 'Z', '=', 0x0417 },
+ { 'I', '=', 0x0418 },
+ { 'J', '=', 0x0419 },
+ { 'K', '=', 0x041a },
+ { 'L', '=', 0x041b },
+ { 'M', '=', 0x041c },
+ { 'N', '=', 0x041d },
+ { 'O', '=', 0x041e },
+ { 'P', '=', 0x041f },
+ { 'R', '=', 0x0420 },
+ { 'S', '=', 0x0421 },
+ { 'T', '=', 0x0422 },
+ { 'U', '=', 0x0423 },
+ { 'F', '=', 0x0424 },
+ { 'H', '=', 0x0425 },
+ { 'C', '=', 0x0426 },
+ { 'C', '%', 0x0427 },
+ { 'S', '%', 0x0428 },
+ { 'S', 'c', 0x0429 },
+ { '=', '"', 0x042a },
+ { 'Y', '=', 0x042b },
+ { '%', '"', 0x042c },
+ { 'J', 'E', 0x042d },
+ { 'J', 'U', 0x042e },
+ { 'J', 'A', 0x042f },
+ { 'a', '=', 0x0430 },
+ { 'b', '=', 0x0431 },
+ { 'v', '=', 0x0432 },
+ { 'g', '=', 0x0433 },
+ { 'd', '=', 0x0434 },
+ { 'e', '=', 0x0435 },
+ { 'z', '%', 0x0436 },
+ { 'z', '=', 0x0437 },
+ { 'i', '=', 0x0438 },
+ { 'j', '=', 0x0439 },
+ { 'k', '=', 0x043a },
+ { 'l', '=', 0x043b },
+ { 'm', '=', 0x043c },
+ { 'n', '=', 0x043d },
+ { 'o', '=', 0x043e },
+ { 'p', '=', 0x043f },
+ { 'r', '=', 0x0440 },
+ { 's', '=', 0x0441 },
+ { 't', '=', 0x0442 },
+ { 'u', '=', 0x0443 },
+ { 'f', '=', 0x0444 },
+ { 'h', '=', 0x0445 },
+ { 'c', '=', 0x0446 },
+ { 'c', '%', 0x0447 },
+ { 's', '%', 0x0448 },
+ { 's', 'c', 0x0449 },
+ { '=', '\'', 0x044a },
+ { 'y', '=', 0x044b },
+ { '%', '\'', 0x044c },
+ { 'j', 'e', 0x044d },
+ { 'j', 'u', 0x044e },
+ { 'j', 'a', 0x044f },
+ { 'i', 'o', 0x0451 },
+ { 'd', '%', 0x0452 },
+ { 'g', '%', 0x0453 },
+ { 'i', 'e', 0x0454 },
+ { 'd', 's', 0x0455 },
+ { 'i', 'i', 0x0456 },
+ { 'y', 'i', 0x0457 },
+ { 'j', '%', 0x0458 },
+ { 'l', 'j', 0x0459 },
+ { 'n', 'j', 0x045a },
+ { 't', 's', 0x045b },
+ { 'k', 'j', 0x045c },
+ { 'v', '%', 0x045e },
+ { 'd', 'z', 0x045f },
+ { 'Y', '3', 0x0462 },
+ { 'y', '3', 0x0463 },
+ { 'O', '3', 0x046a },
+ { 'o', '3', 0x046b },
+ { 'F', '3', 0x0472 },
+ { 'f', '3', 0x0473 },
+ { 'V', '3', 0x0474 },
+ { 'v', '3', 0x0475 },
+ { 'C', '3', 0x0480 },
+ { 'c', '3', 0x0481 },
+ { 'G', '3', 0x0490 },
+ { 'g', '3', 0x0491 },
+ { 'A', '+', 0x05d0 },
+ { 'B', '+', 0x05d1 },
+ { 'G', '+', 0x05d2 },
+ { 'D', '+', 0x05d3 },
+ { 'H', '+', 0x05d4 },
+ { 'W', '+', 0x05d5 },
+ { 'Z', '+', 0x05d6 },
+ { 'X', '+', 0x05d7 },
+ { 'T', 'j', 0x05d8 },
+ { 'J', '+', 0x05d9 },
+ { 'K', '%', 0x05da },
+ { 'K', '+', 0x05db },
+ { 'L', '+', 0x05dc },
+ { 'M', '%', 0x05dd },
+ { 'M', '+', 0x05de },
+ { 'N', '%', 0x05df },
+ { 'N', '+', 0x05e0 },
+ { 'S', '+', 0x05e1 },
+ { 'E', '+', 0x05e2 },
+ { 'P', '%', 0x05e3 },
+ { 'P', '+', 0x05e4 },
+ { 'Z', 'j', 0x05e5 },
+ { 'Z', 'J', 0x05e6 },
+ { 'Q', '+', 0x05e7 },
+ { 'R', '+', 0x05e8 },
+ { 'S', 'h', 0x05e9 },
+ { 'T', '+', 0x05ea },
+ { ',', '+', 0x060c },
+ { ';', '+', 0x061b },
+ { '?', '+', 0x061f },
+ { 'H', '\'', 0x0621 },
+ { 'a', 'M', 0x0622 },
+ { 'a', 'H', 0x0623 },
+ { 'w', 'H', 0x0624 },
+ { 'a', 'h', 0x0625 },
+ { 'y', 'H', 0x0626 },
+ { 'a', '+', 0x0627 },
+ { 'b', '+', 0x0628 },
+ { 't', 'm', 0x0629 },
+ { 't', '+', 0x062a },
+ { 't', 'k', 0x062b },
+ { 'g', '+', 0x062c },
+ { 'h', 'k', 0x062d },
+ { 'x', '+', 0x062e },
+ { 'd', '+', 0x062f },
+ { 'd', 'k', 0x0630 },
+ { 'r', '+', 0x0631 },
+ { 'z', '+', 0x0632 },
+ { 's', '+', 0x0633 },
+ { 's', 'n', 0x0634 },
+ { 'c', '+', 0x0635 },
+ { 'd', 'd', 0x0636 },
+ { 't', 'j', 0x0637 },
+ { 'z', 'H', 0x0638 },
+ { 'e', '+', 0x0639 },
+ { 'i', '+', 0x063a },
+ { '+', '+', 0x0640 },
+ { 'f', '+', 0x0641 },
+ { 'q', '+', 0x0642 },
+ { 'k', '+', 0x0643 },
+ { 'l', '+', 0x0644 },
+ { 'm', '+', 0x0645 },
+ { 'n', '+', 0x0646 },
+ { 'h', '+', 0x0647 },
+ { 'w', '+', 0x0648 },
+ { 'j', '+', 0x0649 },
+ { 'y', '+', 0x064a },
+ { ':', '+', 0x064b },
+ { '"', '+', 0x064c },
+ { '=', '+', 0x064d },
+ { '/', '+', 0x064e },
+ { '\'', '+', 0x064f },
+ { '1', '+', 0x0650 },
+ { '3', '+', 0x0651 },
+ { '0', '+', 0x0652 },
+ { 'a', 'S', 0x0670 },
+ { 'p', '+', 0x067e },
+ { 'v', '+', 0x06a4 },
+ { 'g', 'f', 0x06af },
+ { '0', 'a', 0x06f0 },
+ { '1', 'a', 0x06f1 },
+ { '2', 'a', 0x06f2 },
+ { '3', 'a', 0x06f3 },
+ { '4', 'a', 0x06f4 },
+ { '5', 'a', 0x06f5 },
+ { '6', 'a', 0x06f6 },
+ { '7', 'a', 0x06f7 },
+ { '8', 'a', 0x06f8 },
+ { '9', 'a', 0x06f9 },
+ { 'B', '.', 0x1e02 },
+ { 'b', '.', 0x1e03 },
+ { 'B', '_', 0x1e06 },
+ { 'b', '_', 0x1e07 },
+ { 'D', '.', 0x1e0a },
+ { 'd', '.', 0x1e0b },
+ { 'D', '_', 0x1e0e },
+ { 'd', '_', 0x1e0f },
+ { 'D', ',', 0x1e10 },
+ { 'd', ',', 0x1e11 },
+ { 'F', '.', 0x1e1e },
+ { 'f', '.', 0x1e1f },
+ { 'G', '-', 0x1e20 },
+ { 'g', '-', 0x1e21 },
+ { 'H', '.', 0x1e22 },
+ { 'h', '.', 0x1e23 },
+ { 'H', ':', 0x1e26 },
+ { 'h', ':', 0x1e27 },
+ { 'H', ',', 0x1e28 },
+ { 'h', ',', 0x1e29 },
+ { 'K', '\'', 0x1e30 },
+ { 'k', '\'', 0x1e31 },
+ { 'K', '_', 0x1e34 },
+ { 'k', '_', 0x1e35 },
+ { 'L', '_', 0x1e3a },
+ { 'l', '_', 0x1e3b },
+ { 'M', '\'', 0x1e3e },
+ { 'm', '\'', 0x1e3f },
+ { 'M', '.', 0x1e40 },
+ { 'm', '.', 0x1e41 },
+ { 'N', '.', 0x1e44 },
+ { 'n', '.', 0x1e45 },
+ { 'N', '_', 0x1e48 },
+ { 'n', '_', 0x1e49 },
+ { 'P', '\'', 0x1e54 },
+ { 'p', '\'', 0x1e55 },
+ { 'P', '.', 0x1e56 },
+ { 'p', '.', 0x1e57 },
+ { 'R', '.', 0x1e58 },
+ { 'r', '.', 0x1e59 },
+ { 'R', '_', 0x1e5e },
+ { 'r', '_', 0x1e5f },
+ { 'S', '.', 0x1e60 },
+ { 's', '.', 0x1e61 },
+ { 'T', '.', 0x1e6a },
+ { 't', '.', 0x1e6b },
+ { 'T', '_', 0x1e6e },
+ { 't', '_', 0x1e6f },
+ { 'V', '?', 0x1e7c },
+ { 'v', '?', 0x1e7d },
+ { 'W', '!', 0x1e80 },
+ { 'w', '!', 0x1e81 },
+ { 'W', '\'', 0x1e82 },
+ { 'w', '\'', 0x1e83 },
+ { 'W', ':', 0x1e84 },
+ { 'w', ':', 0x1e85 },
+ { 'W', '.', 0x1e86 },
+ { 'w', '.', 0x1e87 },
+ { 'X', '.', 0x1e8a },
+ { 'x', '.', 0x1e8b },
+ { 'X', ':', 0x1e8c },
+ { 'x', ':', 0x1e8d },
+ { 'Y', '.', 0x1e8e },
+ { 'y', '.', 0x1e8f },
+ { 'Z', '>', 0x1e90 },
+ { 'z', '>', 0x1e91 },
+ { 'Z', '_', 0x1e94 },
+ { 'z', '_', 0x1e95 },
+ { 'h', '_', 0x1e96 },
+ { 't', ':', 0x1e97 },
+ { 'w', '0', 0x1e98 },
+ { 'y', '0', 0x1e99 },
+ { 'A', '2', 0x1ea2 },
+ { 'a', '2', 0x1ea3 },
+ { 'E', '2', 0x1eba },
+ { 'e', '2', 0x1ebb },
+ { 'E', '?', 0x1ebc },
+ { 'e', '?', 0x1ebd },
+ { 'I', '2', 0x1ec8 },
+ { 'i', '2', 0x1ec9 },
+ { 'O', '2', 0x1ece },
+ { 'o', '2', 0x1ecf },
+ { 'U', '2', 0x1ee6 },
+ { 'u', '2', 0x1ee7 },
+ { 'Y', '!', 0x1ef2 },
+ { 'y', '!', 0x1ef3 },
+ { 'Y', '2', 0x1ef6 },
+ { 'y', '2', 0x1ef7 },
+ { 'Y', '?', 0x1ef8 },
+ { 'y', '?', 0x1ef9 },
+ { ';', '\'', 0x1f00 },
+ { ',', '\'', 0x1f01 },
+ { ';', '!', 0x1f02 },
+ { ',', '!', 0x1f03 },
+ { '?', ';', 0x1f04 },
+ { '?', ',', 0x1f05 },
+ { '!', ':', 0x1f06 },
+ { '?', ':', 0x1f07 },
+ { '1', 'N', 0x2002 },
+ { '1', 'M', 0x2003 },
+ { '3', 'M', 0x2004 },
+ { '4', 'M', 0x2005 },
+ { '6', 'M', 0x2006 },
+ { '1', 'T', 0x2009 },
+ { '1', 'H', 0x200a },
+ { '-', '1', 0x2010 },
+ { '-', 'N', 0x2013 },
+ { '-', 'M', 0x2014 },
+ { '-', '3', 0x2015 },
+ { '!', '2', 0x2016 },
+ { '=', '2', 0x2017 },
+ { '\'', '6', 0x2018 },
+ { '\'', '9', 0x2019 },
+ { '.', '9', 0x201a },
+ { '9', '\'', 0x201b },
+ { '"', '6', 0x201c },
+ { '"', '9', 0x201d },
+ { ':', '9', 0x201e },
+ { '9', '"', 0x201f },
+ { '/', '-', 0x2020 },
+ { '/', '=', 0x2021 },
+ { '.', '.', 0x2025 },
+ { '%', '0', 0x2030 },
+ { '1', '\'', 0x2032 },
+ { '2', '\'', 0x2033 },
+ { '3', '\'', 0x2034 },
+ { '1', '"', 0x2035 },
+ { '2', '"', 0x2036 },
+ { '3', '"', 0x2037 },
+ { 'C', 'a', 0x2038 },
+ { '<', '1', 0x2039 },
+ { '>', '1', 0x203a },
+ { ':', 'X', 0x203b },
+ { '\'', '-', 0x203e },
+ { '/', 'f', 0x2044 },
+ { '0', 'S', 0x2070 },
+ { '4', 'S', 0x2074 },
+ { '5', 'S', 0x2075 },
+ { '6', 'S', 0x2076 },
+ { '7', 'S', 0x2077 },
+ { '8', 'S', 0x2078 },
+ { '9', 'S', 0x2079 },
+ { '+', 'S', 0x207a },
+ { '-', 'S', 0x207b },
+ { '=', 'S', 0x207c },
+ { '(', 'S', 0x207d },
+ { ')', 'S', 0x207e },
+ { 'n', 'S', 0x207f },
+ { '0', 's', 0x2080 },
+ { '1', 's', 0x2081 },
+ { '2', 's', 0x2082 },
+ { '3', 's', 0x2083 },
+ { '4', 's', 0x2084 },
+ { '5', 's', 0x2085 },
+ { '6', 's', 0x2086 },
+ { '7', 's', 0x2087 },
+ { '8', 's', 0x2088 },
+ { '9', 's', 0x2089 },
+ { '+', 's', 0x208a },
+ { '-', 's', 0x208b },
+ { '=', 's', 0x208c },
+ { '(', 's', 0x208d },
+ { ')', 's', 0x208e },
+ { 'L', 'i', 0x20a4 },
+ { 'P', 't', 0x20a7 },
+ { 'W', '=', 0x20a9 },
+ { '=', 'e', 0x20ac }, // euro
+ { 'E', 'u', 0x20ac }, // euro
+ { 'o', 'C', 0x2103 },
+ { 'c', 'o', 0x2105 },
+ { 'o', 'F', 0x2109 },
+ { 'N', '0', 0x2116 },
+ { 'P', 'O', 0x2117 },
+ { 'R', 'x', 0x211e },
+ { 'S', 'M', 0x2120 },
+ { 'T', 'M', 0x2122 },
+ { 'O', 'm', 0x2126 },
+ { 'A', 'O', 0x212b },
+ { '1', '3', 0x2153 },
+ { '2', '3', 0x2154 },
+ { '1', '5', 0x2155 },
+ { '2', '5', 0x2156 },
+ { '3', '5', 0x2157 },
+ { '4', '5', 0x2158 },
+ { '1', '6', 0x2159 },
+ { '5', '6', 0x215a },
+ { '1', '8', 0x215b },
+ { '3', '8', 0x215c },
+ { '5', '8', 0x215d },
+ { '7', '8', 0x215e },
+ { '1', 'R', 0x2160 },
+ { '2', 'R', 0x2161 },
+ { '3', 'R', 0x2162 },
+ { '4', 'R', 0x2163 },
+ { '5', 'R', 0x2164 },
+ { '6', 'R', 0x2165 },
+ { '7', 'R', 0x2166 },
+ { '8', 'R', 0x2167 },
+ { '9', 'R', 0x2168 },
+ { 'a', 'R', 0x2169 },
+ { 'b', 'R', 0x216a },
+ { 'c', 'R', 0x216b },
+ { '1', 'r', 0x2170 },
+ { '2', 'r', 0x2171 },
+ { '3', 'r', 0x2172 },
+ { '4', 'r', 0x2173 },
+ { '5', 'r', 0x2174 },
+ { '6', 'r', 0x2175 },
+ { '7', 'r', 0x2176 },
+ { '8', 'r', 0x2177 },
+ { '9', 'r', 0x2178 },
+ { 'a', 'r', 0x2179 },
+ { 'b', 'r', 0x217a },
+ { 'c', 'r', 0x217b },
+ { '<', '-', 0x2190 },
+ { '-', '!', 0x2191 },
+ { '-', '>', 0x2192 },
+ { '-', 'v', 0x2193 },
+ { '<', '>', 0x2194 },
+ { 'U', 'D', 0x2195 },
+ { '<', '=', 0x21d0 },
+ { '=', '>', 0x21d2 },
+ { '=', '=', 0x21d4 },
+ { 'F', 'A', 0x2200 },
+ { 'd', 'P', 0x2202 },
+ { 'T', 'E', 0x2203 },
+ { '/', '0', 0x2205 },
+ { 'D', 'E', 0x2206 },
+ { 'N', 'B', 0x2207 },
+ { '(', '-', 0x2208 },
+ { '-', ')', 0x220b },
+ { '*', 'P', 0x220f },
+ { '+', 'Z', 0x2211 },
+ { '-', '2', 0x2212 },
+ { '-', '+', 0x2213 },
+ { '*', '-', 0x2217 },
+ { 'O', 'b', 0x2218 },
+ { 'S', 'b', 0x2219 },
+ { 'R', 'T', 0x221a },
+ { '0', '(', 0x221d },
+ { '0', '0', 0x221e },
+ { '-', 'L', 0x221f },
+ { '-', 'V', 0x2220 },
+ { 'P', 'P', 0x2225 },
+ { 'A', 'N', 0x2227 },
+ { 'O', 'R', 0x2228 },
+ { '(', 'U', 0x2229 },
+ { ')', 'U', 0x222a },
+ { 'I', 'n', 0x222b },
+ { 'D', 'I', 0x222c },
+ { 'I', 'o', 0x222e },
+ { '.', ':', 0x2234 },
+ { ':', '.', 0x2235 },
+ { ':', 'R', 0x2236 },
+ { ':', ':', 0x2237 },
+ { '?', '1', 0x223c },
+ { 'C', 'G', 0x223e },
+ { '?', '-', 0x2243 },
+ { '?', '=', 0x2245 },
+ { '?', '2', 0x2248 },
+ { '=', '?', 0x224c },
+ { 'H', 'I', 0x2253 },
+ { '!', '=', 0x2260 },
+ { '=', '3', 0x2261 },
+ { '=', '<', 0x2264 },
+ { '>', '=', 0x2265 },
+ { '<', '*', 0x226a },
+ { '*', '>', 0x226b },
+ { '!', '<', 0x226e },
+ { '!', '>', 0x226f },
+ { '(', 'C', 0x2282 },
+ { ')', 'C', 0x2283 },
+ { '(', '_', 0x2286 },
+ { ')', '_', 0x2287 },
+ { '0', '.', 0x2299 },
+ { '0', '2', 0x229a },
+ { '-', 'T', 0x22a5 },
+ { '.', 'P', 0x22c5 },
+ { ':', '3', 0x22ee },
+ { '.', '3', 0x22ef },
+ { 'E', 'h', 0x2302 },
+ { '<', '7', 0x2308 },
+ { '>', '7', 0x2309 },
+ { '7', '<', 0x230a },
+ { '7', '>', 0x230b },
+ { 'N', 'I', 0x2310 },
+ { '(', 'A', 0x2312 },
+ { 'T', 'R', 0x2315 },
+ { 'I', 'u', 0x2320 },
+ { 'I', 'l', 0x2321 },
+ { '<', '/', 0x2329 },
+ { '/', '>', 0x232a },
+ { 'V', 's', 0x2423 },
+ { '1', 'h', 0x2440 },
+ { '3', 'h', 0x2441 },
+ { '2', 'h', 0x2442 },
+ { '4', 'h', 0x2443 },
+ { '1', 'j', 0x2446 },
+ { '2', 'j', 0x2447 },
+ { '3', 'j', 0x2448 },
+ { '4', 'j', 0x2449 },
+ { '1', '.', 0x2488 },
+ { '2', '.', 0x2489 },
+ { '3', '.', 0x248a },
+ { '4', '.', 0x248b },
+ { '5', '.', 0x248c },
+ { '6', '.', 0x248d },
+ { '7', '.', 0x248e },
+ { '8', '.', 0x248f },
+ { '9', '.', 0x2490 },
+ { 'h', 'h', 0x2500 },
+ { 'H', 'H', 0x2501 },
+ { 'v', 'v', 0x2502 },
+ { 'V', 'V', 0x2503 },
+ { '3', '-', 0x2504 },
+ { '3', '_', 0x2505 },
+ { '3', '!', 0x2506 },
+ { '3', '/', 0x2507 },
+ { '4', '-', 0x2508 },
+ { '4', '_', 0x2509 },
+ { '4', '!', 0x250a },
+ { '4', '/', 0x250b },
+ { 'd', 'r', 0x250c },
+ { 'd', 'R', 0x250d },
+ { 'D', 'r', 0x250e },
+ { 'D', 'R', 0x250f },
+ { 'd', 'l', 0x2510 },
+ { 'd', 'L', 0x2511 },
+ { 'D', 'l', 0x2512 },
+ { 'L', 'D', 0x2513 },
+ { 'u', 'r', 0x2514 },
+ { 'u', 'R', 0x2515 },
+ { 'U', 'r', 0x2516 },
+ { 'U', 'R', 0x2517 },
+ { 'u', 'l', 0x2518 },
+ { 'u', 'L', 0x2519 },
+ { 'U', 'l', 0x251a },
+ { 'U', 'L', 0x251b },
+ { 'v', 'r', 0x251c },
+ { 'v', 'R', 0x251d },
+ { 'V', 'r', 0x2520 },
+ { 'V', 'R', 0x2523 },
+ { 'v', 'l', 0x2524 },
+ { 'v', 'L', 0x2525 },
+ { 'V', 'l', 0x2528 },
+ { 'V', 'L', 0x252b },
+ { 'd', 'h', 0x252c },
+ { 'd', 'H', 0x252f },
+ { 'D', 'h', 0x2530 },
+ { 'D', 'H', 0x2533 },
+ { 'u', 'h', 0x2534 },
+ { 'u', 'H', 0x2537 },
+ { 'U', 'h', 0x2538 },
+ { 'U', 'H', 0x253b },
+ { 'v', 'h', 0x253c },
+ { 'v', 'H', 0x253f },
+ { 'V', 'h', 0x2542 },
+ { 'V', 'H', 0x254b },
+ { 'F', 'D', 0x2571 },
+ { 'B', 'D', 0x2572 },
+ { 'T', 'B', 0x2580 },
+ { 'L', 'B', 0x2584 },
+ { 'F', 'B', 0x2588 },
+ { 'l', 'B', 0x258c },
+ { 'R', 'B', 0x2590 },
+ { '.', 'S', 0x2591 },
+ { ':', 'S', 0x2592 },
+ { '?', 'S', 0x2593 },
+ { 'f', 'S', 0x25a0 },
+ { 'O', 'S', 0x25a1 },
+ { 'R', 'O', 0x25a2 },
+ { 'R', 'r', 0x25a3 },
+ { 'R', 'F', 0x25a4 },
+ { 'R', 'Y', 0x25a5 },
+ { 'R', 'H', 0x25a6 },
+ { 'R', 'Z', 0x25a7 },
+ { 'R', 'K', 0x25a8 },
+ { 'R', 'X', 0x25a9 },
+ { 's', 'B', 0x25aa },
+ { 'S', 'R', 0x25ac },
+ { 'O', 'r', 0x25ad },
+ { 'U', 'T', 0x25b2 },
+ { 'u', 'T', 0x25b3 },
+ { 'P', 'R', 0x25b6 },
+ { 'T', 'r', 0x25b7 },
+ { 'D', 't', 0x25bc },
+ { 'd', 'T', 0x25bd },
+ { 'P', 'L', 0x25c0 },
+ { 'T', 'l', 0x25c1 },
+ { 'D', 'b', 0x25c6 },
+ { 'D', 'w', 0x25c7 },
+ { 'L', 'Z', 0x25ca },
+ { '0', 'm', 0x25cb },
+ { '0', 'o', 0x25ce },
+ { '0', 'M', 0x25cf },
+ { '0', 'L', 0x25d0 },
+ { '0', 'R', 0x25d1 },
+ { 'S', 'n', 0x25d8 },
+ { 'I', 'c', 0x25d9 },
+ { 'F', 'd', 0x25e2 },
+ { 'B', 'd', 0x25e3 },
+ { '*', '2', 0x2605 },
+ { '*', '1', 0x2606 },
+ { '<', 'H', 0x261c },
+ { '>', 'H', 0x261e },
+ { '0', 'u', 0x263a },
+ { '0', 'U', 0x263b },
+ { 'S', 'U', 0x263c },
+ { 'F', 'm', 0x2640 },
+ { 'M', 'l', 0x2642 },
+ { 'c', 'S', 0x2660 },
+ { 'c', 'H', 0x2661 },
+ { 'c', 'D', 0x2662 },
+ { 'c', 'C', 0x2663 },
+ { 'M', 'd', 0x2669 },
+ { 'M', '8', 0x266a },
+ { 'M', '2', 0x266b },
+ { 'M', 'b', 0x266d },
+ { 'M', 'x', 0x266e },
+ { 'M', 'X', 0x266f },
+ { 'O', 'K', 0x2713 },
+ { 'X', 'X', 0x2717 },
+ { '-', 'X', 0x2720 },
+ { 'I', 'S', 0x3000 },
+ { ',', '_', 0x3001 },
+ { '.', '_', 0x3002 },
+ { '+', '"', 0x3003 },
+ { '+', '_', 0x3004 },
+ { '*', '_', 0x3005 },
+ { ';', '_', 0x3006 },
+ { '0', '_', 0x3007 },
+ { '<', '+', 0x300a },
+ { '>', '+', 0x300b },
+ { '<', '\'', 0x300c },
+ { '>', '\'', 0x300d },
+ { '<', '"', 0x300e },
+ { '>', '"', 0x300f },
+ { '(', '"', 0x3010 },
+ { ')', '"', 0x3011 },
+ { '=', 'T', 0x3012 },
+ { '=', '_', 0x3013 },
+ { '(', '\'', 0x3014 },
+ { ')', '\'', 0x3015 },
+ { '(', 'I', 0x3016 },
+ { ')', 'I', 0x3017 },
+ { '-', '?', 0x301c },
+ { 'A', '5', 0x3041 },
+ { 'a', '5', 0x3042 },
+ { 'I', '5', 0x3043 },
+ { 'i', '5', 0x3044 },
+ { 'U', '5', 0x3045 },
+ { 'u', '5', 0x3046 },
+ { 'E', '5', 0x3047 },
+ { 'e', '5', 0x3048 },
+ { 'O', '5', 0x3049 },
+ { 'o', '5', 0x304a },
+ { 'k', 'a', 0x304b },
+ { 'g', 'a', 0x304c },
+ { 'k', 'i', 0x304d },
+ { 'g', 'i', 0x304e },
+ { 'k', 'u', 0x304f },
+ { 'g', 'u', 0x3050 },
+ { 'k', 'e', 0x3051 },
+ { 'g', 'e', 0x3052 },
+ { 'k', 'o', 0x3053 },
+ { 'g', 'o', 0x3054 },
+ { 's', 'a', 0x3055 },
+ { 'z', 'a', 0x3056 },
+ { 's', 'i', 0x3057 },
+ { 'z', 'i', 0x3058 },
+ { 's', 'u', 0x3059 },
+ { 'z', 'u', 0x305a },
+ { 's', 'e', 0x305b },
+ { 'z', 'e', 0x305c },
+ { 's', 'o', 0x305d },
+ { 'z', 'o', 0x305e },
+ { 't', 'a', 0x305f },
+ { 'd', 'a', 0x3060 },
+ { 't', 'i', 0x3061 },
+ { 'd', 'i', 0x3062 },
+ { 't', 'U', 0x3063 },
+ { 't', 'u', 0x3064 },
+ { 'd', 'u', 0x3065 },
+ { 't', 'e', 0x3066 },
+ { 'd', 'e', 0x3067 },
+ { 't', 'o', 0x3068 },
+ { 'd', 'o', 0x3069 },
+ { 'n', 'a', 0x306a },
+ { 'n', 'i', 0x306b },
+ { 'n', 'u', 0x306c },
+ { 'n', 'e', 0x306d },
+ { 'n', 'o', 0x306e },
+ { 'h', 'a', 0x306f },
+ { 'b', 'a', 0x3070 },
+ { 'p', 'a', 0x3071 },
+ { 'h', 'i', 0x3072 },
+ { 'b', 'i', 0x3073 },
+ { 'p', 'i', 0x3074 },
+ { 'h', 'u', 0x3075 },
+ { 'b', 'u', 0x3076 },
+ { 'p', 'u', 0x3077 },
+ { 'h', 'e', 0x3078 },
+ { 'b', 'e', 0x3079 },
+ { 'p', 'e', 0x307a },
+ { 'h', 'o', 0x307b },
+ { 'b', 'o', 0x307c },
+ { 'p', 'o', 0x307d },
+ { 'm', 'a', 0x307e },
+ { 'm', 'i', 0x307f },
+ { 'm', 'u', 0x3080 },
+ { 'm', 'e', 0x3081 },
+ { 'm', 'o', 0x3082 },
+ { 'y', 'A', 0x3083 },
+ { 'y', 'a', 0x3084 },
+ { 'y', 'U', 0x3085 },
+ { 'y', 'u', 0x3086 },
+ { 'y', 'O', 0x3087 },
+ { 'y', 'o', 0x3088 },
+ { 'r', 'a', 0x3089 },
+ { 'r', 'i', 0x308a },
+ { 'r', 'u', 0x308b },
+ { 'r', 'e', 0x308c },
+ { 'r', 'o', 0x308d },
+ { 'w', 'A', 0x308e },
+ { 'w', 'a', 0x308f },
+ { 'w', 'i', 0x3090 },
+ { 'w', 'e', 0x3091 },
+ { 'w', 'o', 0x3092 },
+ { 'n', '5', 0x3093 },
+ { 'v', 'u', 0x3094 },
+ { '"', '5', 0x309b },
+ { '0', '5', 0x309c },
+ { '*', '5', 0x309d },
+ { '+', '5', 0x309e },
+ { 'a', '6', 0x30a1 },
+ { 'A', '6', 0x30a2 },
+ { 'i', '6', 0x30a3 },
+ { 'I', '6', 0x30a4 },
+ { 'u', '6', 0x30a5 },
+ { 'U', '6', 0x30a6 },
+ { 'e', '6', 0x30a7 },
+ { 'E', '6', 0x30a8 },
+ { 'o', '6', 0x30a9 },
+ { 'O', '6', 0x30aa },
+ { 'K', 'a', 0x30ab },
+ { 'G', 'a', 0x30ac },
+ { 'K', 'i', 0x30ad },
+ { 'G', 'i', 0x30ae },
+ { 'K', 'u', 0x30af },
+ { 'G', 'u', 0x30b0 },
+ { 'K', 'e', 0x30b1 },
+ { 'G', 'e', 0x30b2 },
+ { 'K', 'o', 0x30b3 },
+ { 'G', 'o', 0x30b4 },
+ { 'S', 'a', 0x30b5 },
+ { 'Z', 'a', 0x30b6 },
+ { 'S', 'i', 0x30b7 },
+ { 'Z', 'i', 0x30b8 },
+ { 'S', 'u', 0x30b9 },
+ { 'Z', 'u', 0x30ba },
+ { 'S', 'e', 0x30bb },
+ { 'Z', 'e', 0x30bc },
+ { 'S', 'o', 0x30bd },
+ { 'Z', 'o', 0x30be },
+ { 'T', 'a', 0x30bf },
+ { 'D', 'a', 0x30c0 },
+ { 'T', 'i', 0x30c1 },
+ { 'D', 'i', 0x30c2 },
+ { 'T', 'U', 0x30c3 },
+ { 'T', 'u', 0x30c4 },
+ { 'D', 'u', 0x30c5 },
+ { 'T', 'e', 0x30c6 },
+ { 'D', 'e', 0x30c7 },
+ { 'T', 'o', 0x30c8 },
+ { 'D', 'o', 0x30c9 },
+ { 'N', 'a', 0x30ca },
+ { 'N', 'i', 0x30cb },
+ { 'N', 'u', 0x30cc },
+ { 'N', 'e', 0x30cd },
+ { 'N', 'o', 0x30ce },
+ { 'H', 'a', 0x30cf },
+ { 'B', 'a', 0x30d0 },
+ { 'P', 'a', 0x30d1 },
+ { 'H', 'i', 0x30d2 },
+ { 'B', 'i', 0x30d3 },
+ { 'P', 'i', 0x30d4 },
+ { 'H', 'u', 0x30d5 },
+ { 'B', 'u', 0x30d6 },
+ { 'P', 'u', 0x30d7 },
+ { 'H', 'e', 0x30d8 },
+ { 'B', 'e', 0x30d9 },
+ { 'P', 'e', 0x30da },
+ { 'H', 'o', 0x30db },
+ { 'B', 'o', 0x30dc },
+ { 'P', 'o', 0x30dd },
+ { 'M', 'a', 0x30de },
+ { 'M', 'i', 0x30df },
+ { 'M', 'u', 0x30e0 },
+ { 'M', 'e', 0x30e1 },
+ { 'M', 'o', 0x30e2 },
+ { 'Y', 'A', 0x30e3 },
+ { 'Y', 'a', 0x30e4 },
+ { 'Y', 'U', 0x30e5 },
+ { 'Y', 'u', 0x30e6 },
+ { 'Y', 'O', 0x30e7 },
+ { 'Y', 'o', 0x30e8 },
+ { 'R', 'a', 0x30e9 },
+ { 'R', 'i', 0x30ea },
+ { 'R', 'u', 0x30eb },
+ { 'R', 'e', 0x30ec },
+ { 'R', 'o', 0x30ed },
+ { 'W', 'A', 0x30ee },
+ { 'W', 'a', 0x30ef },
+ { 'W', 'i', 0x30f0 },
+ { 'W', 'e', 0x30f1 },
+ { 'W', 'o', 0x30f2 },
+ { 'N', '6', 0x30f3 },
+ { 'V', 'u', 0x30f4 },
+ { 'K', 'A', 0x30f5 },
+ { 'K', 'E', 0x30f6 },
+ { 'V', 'a', 0x30f7 },
+ { 'V', 'i', 0x30f8 },
+ { 'V', 'e', 0x30f9 },
+ { 'V', 'o', 0x30fa },
+ { '.', '6', 0x30fb },
+ { '-', '6', 0x30fc },
+ { '*', '6', 0x30fd },
+ { '+', '6', 0x30fe },
+ { 'b', '4', 0x3105 },
+ { 'p', '4', 0x3106 },
+ { 'm', '4', 0x3107 },
+ { 'f', '4', 0x3108 },
+ { 'd', '4', 0x3109 },
+ { 't', '4', 0x310a },
+ { 'n', '4', 0x310b },
+ { 'l', '4', 0x310c },
+ { 'g', '4', 0x310d },
+ { 'k', '4', 0x310e },
+ { 'h', '4', 0x310f },
+ { 'j', '4', 0x3110 },
+ { 'q', '4', 0x3111 },
+ { 'x', '4', 0x3112 },
+ { 'z', 'h', 0x3113 },
+ { 'c', 'h', 0x3114 },
+ { 's', 'h', 0x3115 },
+ { 'r', '4', 0x3116 },
+ { 'z', '4', 0x3117 },
+ { 'c', '4', 0x3118 },
+ { 's', '4', 0x3119 },
+ { 'a', '4', 0x311a },
+ { 'o', '4', 0x311b },
+ { 'e', '4', 0x311c },
+ { 'a', 'i', 0x311e },
+ { 'e', 'i', 0x311f },
+ { 'a', 'u', 0x3120 },
+ { 'o', 'u', 0x3121 },
+ { 'a', 'n', 0x3122 },
+ { 'e', 'n', 0x3123 },
+ { 'a', 'N', 0x3124 },
+ { 'e', 'N', 0x3125 },
+ { 'e', 'r', 0x3126 },
+ { 'i', '4', 0x3127 },
+ { 'u', '4', 0x3128 },
+ { 'i', 'u', 0x3129 },
+ { 'v', '4', 0x312a },
+ { 'n', 'G', 0x312b },
+ { 'g', 'n', 0x312c },
+ { '1', 'c', 0x3220 },
+ { '2', 'c', 0x3221 },
+ { '3', 'c', 0x3222 },
+ { '4', 'c', 0x3223 },
+ { '5', 'c', 0x3224 },
+ { '6', 'c', 0x3225 },
+ { '7', 'c', 0x3226 },
+ { '8', 'c', 0x3227 },
+ { '9', 'c', 0x3228 },
+
+ // code points 0xe000 - 0xefff excluded, they have no assigned
+ // characters, only used in proposals.
+ { 'f', 'f', 0xfb00 },
+ { 'f', 'i', 0xfb01 },
+ { 'f', 'l', 0xfb02 },
+ { 'f', 't', 0xfb05 },
+ { 's', 't', 0xfb06 },
+
+ // Vim 5.x compatible digraphs that don't conflict with the above
+ { '~', '!', 161 }, // ¡
+ { 'c', '|', 162 }, // ¢
+ { '$', '$', 163 }, // £
+ { 'o', 'x', 164 }, // ¤ - currency symbol in ISO 8859-1
+ { 'Y', '-', 165 }, // ¥
+ { '|', '|', 166 }, // ¦
+ { 'c', 'O', 169 }, // ©
+ { '-', ',', 172 }, // ¬
+ { '-', '=', 175 }, // ¯
+ { '~', 'o', 176 }, // °
+ { '2', '2', 178 }, // ²
+ { '3', '3', 179 }, // ³
+ { 'p', 'p', 182 }, // ¶
+ { '~', '.', 183 }, // ·
+ { '1', '1', 185 }, // ¹
+ { '~', '?', 191 }, // ¿
+ { 'A', '`', 192 }, // À
+ { 'A', '^', 194 }, // Â
+ { 'A', '~', 195 }, // Ã
+ { 'A', '"', 196 }, // Ä
+ { 'A', '@', 197 }, // Å
+ { 'E', '`', 200 }, // È
+ { 'E', '^', 202 }, // Ê
+ { 'E', '"', 203 }, // Ë
+ { 'I', '`', 204 }, // Ì
+ { 'I', '^', 206 }, // Î
+ { 'I', '"', 207 }, // Ï
+ { 'N', '~', 209 }, // Ñ
+ { 'O', '`', 210 }, // Ò
+ { 'O', '^', 212 }, // Ô
+ { 'O', '~', 213 }, // Õ
+ { '/', '\\', 215 }, // × - multiplication symbol in ISO 8859-1
+ { 'U', '`', 217 }, // Ù
+ { 'U', '^', 219 }, // Û
+ { 'I', 'p', 222 }, // Þ
+ { 'a', '`', 224 }, // à
+ { 'a', '^', 226 }, // â
+ { 'a', '~', 227 }, // ã
+ { 'a', '"', 228 }, // ä
+ { 'a', '@', 229 }, // å
+ { 'e', '`', 232 }, // è
+ { 'e', '^', 234 }, // ê
+ { 'e', '"', 235 }, // ë
+ { 'i', '`', 236 }, // ì
+ { 'i', '^', 238 }, // î
+ { 'n', '~', 241 }, // ñ
+ { 'o', '`', 242 }, // ò
+ { 'o', '^', 244 }, // ô
+ { 'o', '~', 245 }, // õ
+ { 'u', '`', 249 }, // ù
+ { 'u', '^', 251 }, // û
+ { 'y', '"', 255 }, // x XX
+
+ { NUL, NUL, NUL }
};
-# endif /* OLD_DIGRAPHS */
+# endif // OLD_DIGRAPHS
-# endif /* !HPUX_DIGRAPHS */
+#endif // !HPUX_DIGRAPHS
-/*
- * handle digraphs after typing a character
- */
+/// handle digraphs after typing a character
+///
+/// @param c
+///
+/// @return The digraph.
int do_digraph(int c)
{
- static int backspaced; /* character before K_BS */
- static int lastchar; /* last typed character */
+ static int backspaced; // character before K_BS
+ static int lastchar; // last typed character
- if (c == -1) { /* init values */
+ if (c == -1) { // init values
backspaced = -1;
} else if (p_dg) {
- if (backspaced >= 0)
+ if (backspaced >= 0) {
c = getdigraph(backspaced, c, FALSE);
+ }
backspaced = -1;
- if ((c == K_BS || c == Ctrl_H) && lastchar >= 0)
+
+ if (((c == K_BS) || (c == Ctrl_H)) && (lastchar >= 0)) {
backspaced = lastchar;
+ }
}
lastchar = c;
return c;
}
-/*
- * Get a digraph. Used after typing CTRL-K on the command line or in normal
- * mode.
- * Returns composed character, or NUL when ESC was used.
- */
-int
-get_digraph (
- int cmdline /* TRUE when called from the cmdline */
-)
+/// Get a digraph. Used after typing CTRL-K on the command line or in normal
+/// mode.
+///
+/// @param cmdline TRUE when called from the cmdline
+///
+/// @returns composed character, or NUL when ESC was used.
+int get_digraph(int cmdline)
{
- int c, cc;
-
- ++no_mapping;
- ++allow_keys;
- c = plain_vgetc();
- --no_mapping;
- --allow_keys;
- if (c != ESC) { /* ESC cancels CTRL-K */
- if (IS_SPECIAL(c)) /* insert special key code */
+ int cc;
+ no_mapping++;
+ allow_keys++;
+ int c = plain_vgetc();
+ no_mapping--;
+ allow_keys--;
+
+ if (c != ESC) {
+ // ESC cancels CTRL-K
+ if (IS_SPECIAL(c)) {
+ // insert special key code
return c;
+ }
+
if (cmdline) {
- if (char2cells(c) == 1
- && cmdline_star == 0
- )
+ if ((char2cells(c) == 1) && (cmdline_star == 0)) {
putcmdline(c, TRUE);
- } else
+ }
+ } else {
add_to_showcmd(c);
- ++no_mapping;
- ++allow_keys;
+ }
+ no_mapping++;
+ allow_keys++;
cc = plain_vgetc();
- --no_mapping;
- --allow_keys;
- if (cc != ESC) /* ESC cancels CTRL-K */
+ no_mapping--;
+ allow_keys--;
+
+ if (cc != ESC) {
+ // ESC cancels CTRL-K
return getdigraph(c, cc, TRUE);
+ }
}
return NUL;
}
-/*
- * Lookup the pair "char1", "char2" in the digraph tables.
- * If no match, return "char2".
- * If "meta_char" is TRUE and "char1" is a space, return "char2" | 0x80.
- */
+/// Lookup the pair "char1", "char2" in the digraph tables.
+///
+/// @param char1
+/// @param char2
+/// @param meta_char
+///
+/// @return If no match, return "char2". If "meta_char" is TRUE and "char1"
+// is a space, return "char2" | 0x80.
static int getexactdigraph(int char1, int char2, int meta_char)
{
- int i;
int retval = 0;
- digr_T *dp;
- if (IS_SPECIAL(char1) || IS_SPECIAL(char2))
+ if (IS_SPECIAL(char1) || IS_SPECIAL(char2)) {
return char2;
+ }
- /*
- * Search user digraphs first.
- */
- dp = (digr_T *)user_digraphs.ga_data;
+ // Search user digraphs first.
+ digr_T *dp = (digr_T *)user_digraphs.ga_data;
+ int i;
for (i = 0; i < user_digraphs.ga_len; ++i) {
- if ((int)dp->char1 == char1 && (int)dp->char2 == char2) {
+ if (((int) dp->char1 == char1) && ((int) dp->char2 == char2)) {
retval = dp->result;
break;
}
++dp;
}
- /*
- * Search default digraphs.
- */
+ // Search default digraphs.
if (retval == 0) {
dp = digraphdefault;
+
for (i = 0; dp->char1 != 0; ++i) {
- if ((int)dp->char1 == char1 && (int)dp->char2 == char2) {
+ if (((int) dp->char1 == char1) && ((int) dp->char2 == char2)) {
retval = dp->result;
break;
}
++dp;
}
}
-# ifdef USE_UNICODE_DIGRAPHS
- if (retval != 0 && !enc_utf8) {
+#ifdef USE_UNICODE_DIGRAPHS
+
+ if ((retval != 0) && !enc_utf8) {
char_u buf[6], *to;
vimconv_T vc;
- /*
- * Convert the Unicode digraph to 'encoding'.
- */
+ // Convert the Unicode digraph to 'encoding'.
i = utf_char2bytes(retval, buf);
retval = 0;
vc.vc_type = CONV_NONE;
+
if (convert_setup(&vc, (char_u *)"utf-8", p_enc) == OK) {
vc.vc_fail = TRUE;
to = string_convert(&vc, buf, &i);
+
if (to != NULL) {
retval = (*mb_ptr2char)(to);
vim_free(to);
@@ -1751,77 +1746,92 @@ static int getexactdigraph(int char1, int char2, int meta_char)
(void)convert_setup(&vc, NULL, NULL);
}
}
-# endif
+#endif // ifdef USE_UNICODE_DIGRAPHS
- /* Ignore multi-byte characters when not in multi-byte mode. */
- if (!has_mbyte && retval > 0xff)
+ // Ignore multi-byte characters when not in multi-byte mode.
+ if (!has_mbyte && (retval > 0xff)) {
retval = 0;
+ }
- if (retval == 0) { /* digraph deleted or not found */
- if (char1 == ' ' && meta_char) /* <space> <char> --> meta-char */
+ if (retval == 0) {
+ // digraph deleted or not found
+ if ((char1 == ' ') && meta_char) {
+ // <space> <char> --> meta-char
return char2 | 0x80;
+ }
return char2;
}
return retval;
}
-/*
- * Get digraph.
- * Allow for both char1-char2 and char2-char1
- */
+/// Get digraph.
+/// Allow for both char1-char2 and char2-char1
+///
+/// @param char1
+/// @param char2
+/// @param meta_char
+///
+/// @return The digraph.
int getdigraph(int char1, int char2, int meta_char)
{
int retval;
if (((retval = getexactdigraph(char1, char2, meta_char)) == char2)
&& (char1 != char2)
- && ((retval = getexactdigraph(char2, char1, meta_char)) == char1))
+ && ((retval = getexactdigraph(char2, char1, meta_char)) == char1)) {
return char2;
+ }
return retval;
}
-/*
- * Add the digraphs in the argument to the digraph table.
- * format: {c1}{c2} char {c1}{c2} char ...
- */
+/// Add the digraphs in the argument to the digraph table.
+/// format: {c1}{c2} char {c1}{c2} char ...
+///
+/// @param str
void putdigraph(char_u *str)
{
int char1, char2, n;
int i;
- digr_T *dp;
+ digr_T *dp;
while (*str != NUL) {
str = skipwhite(str);
- if (*str == NUL)
+
+ if (*str == NUL) {
return;
+ }
char1 = *str++;
char2 = *str++;
+
if (char2 == 0) {
EMSG(_(e_invarg));
return;
}
- if (char1 == ESC || char2 == ESC) {
+
+ if ((char1 == ESC) || (char2 == ESC)) {
EMSG(_("E104: Escape not allowed in digraph"));
return;
}
str = skipwhite(str);
+
if (!VIM_ISDIGIT(*str)) {
EMSG(_(e_number_exp));
return;
}
n = getdigits(&str);
- /* If the digraph already exists, replace the result. */
+ // If the digraph already exists, replace the result.
dp = (digr_T *)user_digraphs.ga_data;
+
for (i = 0; i < user_digraphs.ga_len; ++i) {
- if ((int)dp->char1 == char1 && (int)dp->char2 == char2) {
+ if (((int)dp->char1 == char1) && ((int)dp->char2 == char2)) {
dp->result = n;
break;
}
++dp;
}
- /* Add a new digraph to the table. */
+ // Add a new digraph to the table.
if (i == user_digraphs.ga_len) {
if (ga_grow(&user_digraphs, 1) == OK) {
dp = (digr_T *)user_digraphs.ga_data + user_digraphs.ga_len;
@@ -1834,32 +1844,37 @@ void putdigraph(char_u *str)
}
}
-void listdigraphs(void) {
+void listdigraphs(void)
+{
int i;
- digr_T *dp;
+ digr_T *dp;
msg_putchar('\n');
dp = digraphdefault;
+
for (i = 0; dp->char1 != NUL && !got_int; ++i) {
#if defined(USE_UNICODE_DIGRAPHS) && defined(FEAT_MBYTE)
digr_T tmp;
- /* May need to convert the result to 'encoding'. */
+ // May need to convert the result to 'encoding'.
tmp.char1 = dp->char1;
tmp.char2 = dp->char2;
tmp.result = getexactdigraph(tmp.char1, tmp.char2, FALSE);
- if (tmp.result != 0 && tmp.result != tmp.char2
- && (has_mbyte || tmp.result <= 255))
+
+ if ((tmp.result != 0)
+ && (tmp.result != tmp.char2)
+ && (has_mbyte || (tmp.result <= 255))) {
printdigraph(&tmp);
-#else
+ }
+#else // if defined(USE_UNICODE_DIGRAPHS) && defined(FEAT_MBYTE)
- if (getexactdigraph(dp->char1, dp->char2, FALSE) == dp->result
- && (has_mbyte || dp->result <= 255)
- )
+ if ((getexactdigraph(dp->char1, dp->char2, FALSE) == dp->result)
+ && (has_mbyte || (dp->result <= 255))) {
printdigraph(dp);
-#endif
- ++dp;
+ }
+#endif // if defined(USE_UNICODE_DIGRAPHS) && defined(FEAT_MBYTE)
+ dp++;
ui_breakcheck();
}
@@ -1867,97 +1882,106 @@ void listdigraphs(void) {
for (i = 0; i < user_digraphs.ga_len && !got_int; ++i) {
printdigraph(dp);
ui_breakcheck();
- ++dp;
+ dp++;
}
- must_redraw = CLEAR; /* clear screen, because some digraphs may be
- wrong, in which case we messed up ScreenLines */
+ // clear screen, because some digraphs may be wrong, in which case we messed
+ // up ScreenLines
+ must_redraw = CLEAR;
}
static void printdigraph(digr_T *dp)
{
char_u buf[30];
- char_u *p;
+ char_u *p;
int list_width;
- if ((dy_flags & DY_UHEX)
- || has_mbyte
- )
+ if ((dy_flags & DY_UHEX) || has_mbyte) {
list_width = 13;
- else
+ } else {
list_width = 11;
+ }
if (dp->result != 0) {
- if (msg_col > Columns - list_width)
+ if (msg_col > Columns - list_width) {
msg_putchar('\n');
- if (msg_col)
- while (msg_col % list_width != 0)
+ }
+
+ if (msg_col) {
+ while (msg_col % list_width != 0) {
msg_putchar(' ');
+ }
+ }
p = buf;
*p++ = dp->char1;
*p++ = dp->char2;
*p++ = ' ';
+
if (has_mbyte) {
- /* add a space to draw a composing char on */
- if (enc_utf8 && utf_iscomposing(dp->result))
+ // add a space to draw a composing char on
+ if (enc_utf8 && utf_iscomposing(dp->result)) {
*p++ = ' ';
+ }
p += (*mb_char2bytes)(dp->result, p);
- } else
+ } else {
*p++ = (char_u)dp->result;
- if (char2cells(dp->result) == 1)
+ }
+
+ if (char2cells(dp->result) == 1) {
*p++ = ' ';
+ }
vim_snprintf((char *)p, sizeof(buf) - (p - buf), " %3d", dp->result);
msg_outtrans(buf);
}
}
-
-
-/* structure used for b_kmap_ga.ga_data */
+/// structure used for b_kmap_ga.ga_data
typedef struct {
- char_u *from;
- char_u *to;
+ char_u *from;
+ char_u *to;
} kmap_T;
-#define KMAP_MAXLEN 20 /* maximum length of "from" or "to" */
+#define KMAP_MAXLEN 20 // maximum length of "from" or "to"
static void keymap_unload(void);
-/*
- * Set up key mapping tables for the 'keymap' option.
- * Returns NULL if OK, an error message for failure. This only needs to be
- * used when setting the option, not later when the value has already been
- * checked.
- */
-char_u *keymap_init(void) {
+/// Set up key mapping tables for the 'keymap' option.
+///
+/// @return NULL if OK, an error message for failure. This only needs to be
+/// used when setting the option, not later when the value has already
+/// been checked.
+char_u* keymap_init(void)
+{
curbuf->b_kmap_state &= ~KEYMAP_INIT;
if (*curbuf->b_p_keymap == NUL) {
- /* Stop any active keymap and clear the table. Also remove
- * b:keymap_name, as no keymap is active now. */
+ // Stop any active keymap and clear the table. Also remove
+ // b:keymap_name, as no keymap is active now.
keymap_unload();
do_cmdline_cmd((char_u *)"unlet! b:keymap_name");
- } else {
+ } else {
char_u *buf;
size_t buflen;
- /* Source the keymap file. It will contain a ":loadkeymap" command
- * which will call ex_loadkeymap() below. */
- buflen = STRLEN(curbuf->b_p_keymap)
- + STRLEN(p_enc)
- + 14;
+ // Source the keymap file. It will contain a ":loadkeymap" command
+ // which will call ex_loadkeymap() below.
+ buflen = STRLEN(curbuf->b_p_keymap) + STRLEN(p_enc) + 14;
buf = alloc((unsigned)buflen);
- if (buf == NULL)
+
+ if (buf == NULL) {
return e_outofmem;
+ }
- /* try finding "keymap/'keymap'_'encoding'.vim" in 'runtimepath' */
+ // try finding "keymap/'keymap'_'encoding'.vim" in 'runtimepath'
vim_snprintf((char *)buf, buflen, "keymap/%s_%s.vim",
- curbuf->b_p_keymap, p_enc);
+ curbuf->b_p_keymap, p_enc);
+
if (source_runtime(buf, FALSE) == FAIL) {
- /* try finding "keymap/'keymap'.vim" in 'runtimepath' */
+ // try finding "keymap/'keymap'.vim" in 'runtimepath'
vim_snprintf((char *)buf, buflen, "keymap/%s.vim",
- curbuf->b_p_keymap);
+ curbuf->b_p_keymap);
+
if (source_runtime(buf, FALSE) == FAIL) {
vim_free(buf);
return (char_u *)N_("E544: Keymap file not found");
@@ -1969,46 +1993,48 @@ char_u *keymap_init(void) {
return NULL;
}
-/*
- * ":loadkeymap" command: load the following lines as the keymap.
- */
+/// ":loadkeymap" command: load the following lines as the keymap.
+///
+/// @param eap
void ex_loadkeymap(exarg_T *eap)
{
- char_u *line;
- char_u *p;
- char_u *s;
- kmap_T *kp;
-#define KMAP_LLEN 200 /* max length of "to" and "from" together */
+ char_u *line;
+ char_u *p;
+ char_u *s;
+ kmap_T *kp;
+
+#define KMAP_LLEN 200 // max length of "to" and "from" together
char_u buf[KMAP_LLEN + 11];
int i;
- char_u *save_cpo = p_cpo;
+ char_u *save_cpo = p_cpo;
if (!getline_equal(eap->getline, eap->cookie, getsourceline)) {
EMSG(_("E105: Using :loadkeymap not in a sourced file"));
return;
}
- /*
- * Stop any active keymap and clear the table.
- */
+ // Stop any active keymap and clear the table.
keymap_unload();
curbuf->b_kmap_state = 0;
ga_init2(&curbuf->b_kmap_ga, (int)sizeof(kmap_T), 20);
- /* Set 'cpoptions' to "C" to avoid line continuation. */
+ // Set 'cpoptions' to "C" to avoid line continuation.
p_cpo = (char_u *)"C";
- /*
- * Get each line of the sourced file, break at the end.
- */
- for (;; ) {
+ // Get each line of the sourced file, break at the end.
+ for (;;) {
line = eap->getline(0, eap->cookie, 0);
- if (line == NULL)
+
+ if (line == NULL) {
break;
+ }
p = skipwhite(line);
- if (*p != '"' && *p != NUL && ga_grow(&curbuf->b_kmap_ga, 1) == OK) {
+
+ if ((*p != '"')
+ && (*p != NUL)
+ && (ga_grow(&curbuf->b_kmap_ga, 1) == OK)) {
kp = (kmap_T *)curbuf->b_kmap_ga.ga_data + curbuf->b_kmap_ga.ga_len;
s = skiptowhite(p);
kp->from = vim_strnsave(p, (int)(s - p));
@@ -2016,26 +2042,28 @@ void ex_loadkeymap(exarg_T *eap)
s = skiptowhite(p);
kp->to = vim_strnsave(p, (int)(s - p));
- if (kp->from == NULL || kp->to == NULL
- || STRLEN(kp->from) + STRLEN(kp->to) >= KMAP_LLEN
- || *kp->from == NUL || *kp->to == NUL) {
- if (kp->to != NULL && *kp->to == NUL)
+ if ((kp->from == NULL)
+ || (kp->to == NULL)
+ || (STRLEN(kp->from) + STRLEN(kp->to) >= KMAP_LLEN)
+ || (*kp->from == NUL)
+ || (*kp->to == NUL)) {
+ if ((kp->to != NULL) && (*kp->to == NUL)) {
EMSG(_("E791: Empty keymap entry"));
+ }
vim_free(kp->from);
vim_free(kp->to);
- } else
+ } else {
++curbuf->b_kmap_ga.ga_len;
+ }
}
vim_free(line);
}
- /*
- * setup ":lnoremap" to map the keys
- */
+ // setup ":lnoremap" to map the keys
for (i = 0; i < curbuf->b_kmap_ga.ga_len; ++i) {
vim_snprintf((char *)buf, sizeof(buf), "<buffer> %s %s",
- ((kmap_T *)curbuf->b_kmap_ga.ga_data)[i].from,
- ((kmap_T *)curbuf->b_kmap_ga.ga_data)[i].to);
+ ((kmap_T *)curbuf->b_kmap_ga.ga_data)[i].from,
+ ((kmap_T *)curbuf->b_kmap_ga.ga_data)[i].to);
(void)do_map(2, buf, LANGMAP, FALSE);
}
@@ -2045,23 +2073,24 @@ void ex_loadkeymap(exarg_T *eap)
status_redraw_curbuf();
}
-/*
- * Stop using 'keymap'.
- */
-static void keymap_unload(void) {
+/// Stop using 'keymap'.
+static void keymap_unload(void)
+{
char_u buf[KMAP_MAXLEN + 10];
int i;
- char_u *save_cpo = p_cpo;
- kmap_T *kp;
+ char_u *save_cpo = p_cpo;
+ kmap_T *kp;
- if (!(curbuf->b_kmap_state & KEYMAP_LOADED))
+ if (!(curbuf->b_kmap_state & KEYMAP_LOADED)) {
return;
+ }
- /* Set 'cpoptions' to "C" to avoid line continuation. */
+ // Set 'cpoptions' to "C" to avoid line continuation.
p_cpo = (char_u *)"C";
- /* clear the ":lmap"s */
+ // clear the ":lmap"s
kp = (kmap_T *)curbuf->b_kmap_ga.ga_data;
+
for (i = 0; i < curbuf->b_kmap_ga.ga_len; ++i) {
vim_snprintf((char *)buf, sizeof(buf), "<buffer> %s", kp[i].from);
(void)do_map(1, buf, LANGMAP, FALSE);
@@ -2075,4 +2104,3 @@ static void keymap_unload(void) {
curbuf->b_kmap_state &= ~KEYMAP_LOADED;
status_redraw_curbuf();
}
-