#
-# "$Id: Makefile,v 1.53.2.16 2002/08/10 00:05:44 mike Exp $"
+# "$Id: Makefile,v 1.53.2.17 2002/08/19 01:15:19 mike Exp $"
#
# API library Makefile for the Common UNIX Printing System (CUPS).
#
LIBOBJS = attr.o dest.o emit.o encode.o extended.o http.o http-addr.o \
ipp.o langprintf.o language.o mark.o md5.o md5passwd.o \
- options.o page.o ppd.o snprintf.o string.o tempfile.o \
- usersys.o util.o
-OBJS = $(LIBOBJS) testhttp.o testppd.o
+ normalize.o options.o page.o ppd.o snprintf.o string.o \
+ tempfile.o transcode.o usersys.o util.o
+OBJS = $(LIBOBJS) testhttp.o testi18n.o testlang.o testppd.o
#
# Header files to install...
#
-HEADERS = cups.h http.h ipp.h language.h md5.h ppd.h
+HEADERS = cups.h http.h ipp.h language.h md5.h normalize.h ppd.h \
+ transcode.h
#
# Targets in this directory...
#
-TARGETS = $(LIBCUPS) libcups.a
+TARGETS = $(LIBCUPS) libcups.a \
+ testhttp testi18n testlang testppd
#
$(CC) $(LDFLAGS) -o $@ testhttp.o libcups.a $(NETLIBS) $(SSLLIBS)
+#
+# testi18n (dependency on static CUPS library is intentional)
+#
+
+testi18n: testi18n.o libcups.a
+ echo Linking $@...
+ $(CC) $(LDFLAGS) -o $@ testi18n.o libcups.a $(NETLIBS) $(SSLLIBS)
+
+
#
# testlang (dependency on static CUPS library is intentional)
#
testppd: testppd.o libcups.a
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ testppd.o libcups.a $(NETLIBS)
+ $(CC) $(LDFLAGS) -o $@ testppd.o libcups.a $(NETLIBS) $(SSLLIBS)
#
#
-# End of "$Id: Makefile,v 1.53.2.16 2002/08/10 00:05:44 mike Exp $".
+# End of "$Id: Makefile,v 1.53.2.17 2002/08/19 01:15:19 mike Exp $".
#
/*
- * "$Id: language.c,v 1.20.2.7 2002/05/23 20:13:28 mike Exp $"
+ * "$Id: language.c,v 1.20.2.8 2002/08/19 01:15:19 mike Exp $"
*
* I18N/language support for the Common UNIX Printing System (CUPS).
*
*
* Contents:
*
+ * cupsEncodingName() - Return the character encoding name string
+ * for the given encoding enumeration.
* cupsLangEncoding() - Return the character encoding (us-ascii, etc.)
* for the given language.
* cupsLangFlush() - Flush all language data out of the cache.
*/
static cups_lang_t *lang_cache = NULL; /* Language string cache */
-static char *lang_blank = ""; /* Blank constant string */
-static char *lang_encodings[] = /* Encoding strings */
+static const char *lang_blank = ""; /* Blank constant string */
+static const char *lang_encodings[] = /* Encoding strings */
{
"us-ascii",
"iso-8859-1",
"koi8-r",
"koi8-u"
};
-static char *lang_default[] = /* Default POSIX locale */
+static const char *lang_default[] = /* Default POSIX locale */
{
#include "cups_C.h"
NULL
};
+/*
+ * 'cupsEncodingName()' - Return the character encoding name string
+ * for the given encoding enumeration.
+ */
+
+const char * /* O - Character encoding */
+cupsEncodingName(cups_encoding_t encoding)
+ /* I - Encoding enum */
+{
+ if (encoding < 0 ||
+ encoding >= (sizeof(lang_encodings) / sizeof(const char *)))
+ return (lang_encodings[0]);
+ else
+ return (lang_encodings[encoding]);
+}
+
+
/*
* 'cupsLangEncoding()' - Return the character encoding (us-ascii, etc.)
* for the given language.
*/
-char * /* O - Character encoding */
+const char * /* O - Character encoding */
cupsLangEncoding(cups_lang_t *lang) /* I - Language data */
{
if (lang == NULL)
/*
- * End of "$Id: language.c,v 1.20.2.7 2002/05/23 20:13:28 mike Exp $".
+ * End of "$Id: language.c,v 1.20.2.8 2002/08/19 01:15:19 mike Exp $".
*/
/*
- * "$Id: language.h,v 1.18.2.11 2002/06/06 02:02:31 mike Exp $"
+ * "$Id: language.h,v 1.18.2.12 2002/08/19 01:15:20 mike Exp $"
*
* Multi-language support for the Common UNIX Printing System (CUPS).
*
# define cupsLangDefault() cupsLangGet(setlocale(LC_MESSAGES, ""))
# endif /* WIN32 || __EMX__ || __APPLE__ */
-extern char *cupsLangEncoding(cups_lang_t *lang);
+extern const char *cupsEncodingName(cups_encoding_t encoding);
+extern const char *cupsLangEncoding(cups_lang_t *lang);
extern void cupsLangFlush(void);
extern void cupsLangFree(cups_lang_t *lang);
extern cups_lang_t *cupsLangGet(const char *language);
#endif /* !_CUPS_LANGUAGE_H_ */
/*
- * End of "$Id: language.h,v 1.18.2.11 2002/06/06 02:02:31 mike Exp $".
+ * End of "$Id: language.h,v 1.18.2.12 2002/08/19 01:15:20 mike Exp $".
*/
--- /dev/null
+/*
+ * "$Id: normalize.c,v 1.1.2.1 2002/08/19 01:15:20 mike Exp $"
+ *
+ * Transcoding support for the Common UNIX Printing System (CUPS).
+ *
+ * Copyright 1997-2002 by Easy Software Products.
+ *
+ * These coded instructions, statements, and computer programs are
+ * the property of Easy Software Products and are protected by Federal
+ * copyright law. Distribution and use rights are outlined in the
+ * file "LICENSE.txt" which should have been included with this file.
+ * If this file is missing or damaged please contact Easy Software
+ * Products at:
+ *
+ * Attn: CUPS Licensing Information
+ * Easy Software Products
+ * 44141 Airport View Drive, Suite 204
+ * Hollywood, Maryland 20636-3111 USA
+ *
+ * Voice: (301) 373-9603
+ * EMail: cups-info@cups.org
+ * WWW: http://www.cups.org
+ *
+ * Contents:
+ *
+ * cupsNormalizeMapsGet() - Get all normalization maps into cache.
+ * cupsNormalizeMapsFree() - Free all normalization maps in cache.
+ * cupsNormalizeMapsFlush() - Flush all normalization maps in cache.
+ * cupsUtf8Normalize() - Normalize UTF-8 string.
+ * cupsUtf32Normalize() - Normalize UTF-32 string.
+ * cupsUtf8CaseFold() - Case fold UTF-8 string.
+ * cupsUtf32CaseFold() - Case fold UTF-32 string.
+ * cupsUtf8CompareCaseless() - Compare case folded UTF-8 strings.
+ * cupsUtf32CompareCaseless() - Compare case folded UTF-32 strings.
+ * cupsUtf8CompareIdentifier() - Compare folded NFKC UTF-8 strings.
+ * cupsUtf32CompareIdentifier() - Compare folded NFKC UTF-32 strings.
+ * get_general_category() - Get UTF-32 Character General Category.
+ * get_bidi_category() - Get UTF-32 Character Bidi Category.
+ * get_combining_class() - Get UTF-32 Character Combining Class.
+ * get_break_class() - Get UTF-32 Character Line Break Class.
+ * get_map_count() - Count lines in a map file.
+ * get_normmap() - Get Unicode normalization map into cache.
+ * get_foldmap() - Get Unicode case folding map into cache.
+ * get_propmap() - Get Unicode character property map into cache.
+ * get_combmap() - Get Unicode combining class map into cache.
+ * get_breakmap() - Get Unicode line break class map into cache.
+ * compare_compose() - Compare key for compose match.
+ * compare_decompose() - Compare key for decompose match.
+ * compare_foldchar() - Compare key for case fold match.
+ * compare_combchar() - Compare key for combining char match.
+ * compare_breakchar() - Compare key for line break char match.
+ * compare_propchar() - Compare key for property char match.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <time.h>
+
+#include "language.h"
+#include "string.h"
+#include "transcode.h"
+#include "normalize.h"
+
+/*
+ * Globals...
+ */
+
+int NzSupportUcs2 = 1; /* Support UCS-2 (16-bit) mapping */
+int NzSupportUcs4 = 0; /* Support UCS-4 (32-bit) mapping */
+
+/*
+ * Local Globals...
+ */
+
+static cups_normmap_t *normmap_cache = NULL;/* Normalize Map cache */
+static cups_foldmap_t *foldmap_cache = NULL;/* Case Fold cache */
+static cups_propmap_t *propmap_cache = NULL;/* Char Prop Map Cache */
+static cups_combmap_t *combmap_cache = NULL;/* Comb Class Map Cache */
+static cups_breakmap_t *breakmap_cache = NULL;/* Line Break Map Cache */
+
+typedef struct /**** General Category Index Struct****/
+{
+ cups_gencat_t gencat; /* General Category Value */
+ const char *str; /* General Category String */
+} gencat_t;
+
+static gencat_t gencat_index[] = /* General Category Index */
+{
+ { CUPS_GENCAT_LU, "Lu" }, /* Letter, Uppercase */
+ { CUPS_GENCAT_LL, "Ll" }, /* Letter, Lowercase */
+ { CUPS_GENCAT_LT, "Lt" }, /* Letter, Titlecase */
+ { CUPS_GENCAT_LM, "Lm" }, /* Letter, Modifier */
+ { CUPS_GENCAT_LO, "Lo" }, /* Letter, Other */
+ { CUPS_GENCAT_MN, "Mn" }, /* Mark, Non-Spacing */
+ { CUPS_GENCAT_MC, "Mc" }, /* Mark, Spacing Combining */
+ { CUPS_GENCAT_ME, "Me" }, /* Mark, Enclosing */
+ { CUPS_GENCAT_ND, "Nd" }, /* Number, Decimal Digit */
+ { CUPS_GENCAT_NL, "Nl" }, /* Number, Letter */
+ { CUPS_GENCAT_NO, "No" }, /* Number, Other */
+ { CUPS_GENCAT_PC, "Pc" }, /* Punctuation, Connector */
+ { CUPS_GENCAT_PD, "Pd" }, /* Punctuation, Dash */
+ { CUPS_GENCAT_PS, "Ps" }, /* Punctuation, Open (start) */
+ { CUPS_GENCAT_PE, "Pe" }, /* Punctuation, Close (end) */
+ { CUPS_GENCAT_PI, "Pi" }, /* Punctuation, Initial Quote */
+ { CUPS_GENCAT_PF, "Pf" }, /* Punctuation, Final Quote */
+ { CUPS_GENCAT_PO, "Po" }, /* Punctuation, Other */
+ { CUPS_GENCAT_SM, "Sm" }, /* Symbol, Math */
+ { CUPS_GENCAT_SC, "Sc" }, /* Symbol, Currency */
+ { CUPS_GENCAT_SK, "Sk" }, /* Symbol, Modifier */
+ { CUPS_GENCAT_SO, "So" }, /* Symbol, Other */
+ { CUPS_GENCAT_ZS, "Zs" }, /* Separator, Space */
+ { CUPS_GENCAT_ZL, "Zl" }, /* Separator, Line */
+ { CUPS_GENCAT_ZP, "Zp" }, /* Separator, Paragraph */
+ { CUPS_GENCAT_CC, "Cc" }, /* Other, Control */
+ { CUPS_GENCAT_CF, "Cf" }, /* Other, Format */
+ { CUPS_GENCAT_CS, "Cs" }, /* Other, Surrogate */
+ { CUPS_GENCAT_CO, "Co" }, /* Other, Private Use */
+ { CUPS_GENCAT_CN, "Cn" }, /* Other, Not Assigned */
+ { 0, NULL }
+};
+
+static const char *bidicat_index[] = /* Bidi Category Index */
+{
+ "L", /* Left-to-Right (Alpha, Syllabic, Ideographic) */
+ "LRE",/* Left-to-Right Embedding (explicit) */
+ "LRO",/* Left-to-Right Override (explicit) */
+ "R", /* Right-to-Left (Hebrew alphabet and most punct) */
+ "AL", /* Right-to-Left Arabic (Arabic, Thaana, Syriac) */
+ "RLE",/* Right-to-Left Embedding (explicit) */
+ "RLO",/* Right-to-Left Override (explicit) */
+ "PDF",/* Pop Directional Format */
+ "EN", /* Euro Number (Euro and East Arabic-Indic digits) */
+ "ES", /* Euro Number Separator (Slash) */
+ "ET", /* Euro Number Termintor (Plus, Minus, Degree, etc) */
+ "AN", /* Arabic Number (Arabic-Indic digits, separators) */
+ "CS", /* Common Number Separator (Colon, Comma, Dot, etc) */
+ "NSM",/* Non-Spacing Mark (category Mn / Me in UCD) */
+ "BN", /* Boundary Neutral (Formatting / Control chars) */
+ "B", /* Paragraph Separator */
+ "S", /* Segment Separator (Tab) */
+ "WS", /* Whitespace Space (Space, Line Separator, etc) */
+ "ON", /* Other Neutrals */
+ NULL
+};
+
+typedef struct /**** Line Break Class Index Struct****/
+{
+ cups_breakclass_t breakclass; /* Line Break Class Value */
+ const char *str; /* Line Break Class String */
+} break_t;
+
+static break_t break_index[] = /* Line Break Class Index */
+{
+ { CUPS_BREAK_AI, "AI" }, /* Ambiguous (Alphabetic or Ideograph) */
+ { CUPS_BREAK_AL, "AL" }, /* Ordinary Alphabetic / Symbol Chars (XP) */
+ { CUPS_BREAK_BA, "BA" }, /* Break Opportunity After Chars (A) */
+ { CUPS_BREAK_BB, "BB" }, /* Break Opportunities Before Chars (B) */
+ { CUPS_BREAK_B2, "B2" }, /* Break Opportunity Before / After (B/A/XP) */
+ { CUPS_BREAK_BK, "BK" }, /* Mandatory Break (A) (normative) */
+ { CUPS_BREAK_CB, "CB" }, /* Contingent Break (B/A) (normative) */
+ { CUPS_BREAK_CL, "CL" }, /* Closing Punctuation (XB) */
+ { CUPS_BREAK_CM, "CM" }, /* Attached Chars/Combining (XB) (normative) */
+ { CUPS_BREAK_CR, "CR" }, /* Carriage Return (A) (normative) */
+ { CUPS_BREAK_EX, "EX" }, /* Exclamation / Interrogation (XB) */
+ { CUPS_BREAK_GL, "GL" }, /* Non-breaking ("Glue") (XB/XA) (normative) */
+ { CUPS_BREAK_HY, "HY" }, /* Hyphen (XA) */
+ { CUPS_BREAK_ID, "ID" }, /* Ideographic (B/A) */
+ { CUPS_BREAK_IN, "IN" }, /* Inseparable chars (XP) */
+ { CUPS_BREAK_IS, "IS" }, /* Numeric Separator (Infix) (XB) */
+ { CUPS_BREAK_LF, "LF" }, /* Line Feed (A) (normative) */
+ { CUPS_BREAK_NS, "NS" }, /* Non-starters (XB) */
+ { CUPS_BREAK_NU, "NU" }, /* Numeric (XP) */
+ { CUPS_BREAK_OP, "OP" }, /* Opening Punctuation (XA) */
+ { CUPS_BREAK_PO, "PO" }, /* Postfix (Numeric) (XB) */
+ { CUPS_BREAK_PR, "PR" }, /* Prefix (Numeric) (XA) */
+ { CUPS_BREAK_QU, "QU" }, /* Ambiguous Quotation (XB/XA) */
+ { CUPS_BREAK_SA, "SA" }, /* Context Dependent (South East Asian) (P) */
+ { CUPS_BREAK_SG, "SG" }, /* Surrogates (XP) (normative) */
+ { CUPS_BREAK_SP, "SP" }, /* Space (A) (normative) */
+ { CUPS_BREAK_SY, "SY" }, /* Symbols Allowing Break After (A) */
+ { CUPS_BREAK_XX, "XX" }, /* Unknown (XP) */
+ { CUPS_BREAK_ZW, "ZW" }, /* Zero Width Space (A) (normative) */
+ { 0, NULL }
+};
+
+static int get_bidi_category(const utf32_t ch);
+static int get_combining_class(const utf32_t ch);
+static int get_break_class(const utf32_t ch);
+static int get_general_category(const utf32_t ch);
+static int get_map_count(char *filename);
+static int get_normmap(cups_normalize_t normalize);
+static int get_foldmap(cups_folding_t fold);
+static int get_propmap(void);
+static int get_combmap(void);
+static int get_breakmap(void);
+static int compare_compose(const void *k1, const void *k2);
+static int compare_decompose(const void *k1, const void *k2);
+static int compare_foldchar(const void *k1, const void *k2);
+static int compare_combchar(const void *k1, const void *k2);
+static int compare_propchar(const void *k1, const void *k2);
+static int compare_breakchar(const void *k1, const void *k2);
+
+/*
+ * 'cupsNormalizeMapsGet()' - Get all normalization maps into cache.
+ */
+int /* O - Zero or -1 on error */
+cupsNormalizeMapsGet(void)
+{
+ cups_normmap_t *nmap; /* Unicode Normalization Map */
+ cups_foldmap_t *fmap; /* Unicode Case Folding Map */
+
+ /*
+ * See if we already have normalization maps loaded...
+ */
+ if (normmap_cache)
+ {
+ for (nmap = normmap_cache; nmap != NULL; nmap = nmap->next)
+ nmap->used ++;
+ for (fmap = foldmap_cache; fmap != NULL; fmap = fmap->next)
+ fmap->used ++;
+ if (combmap_cache)
+ combmap_cache->used ++;
+ if (propmap_cache)
+ propmap_cache->used ++;
+ if (breakmap_cache)
+ breakmap_cache->used ++;
+ return (0);
+ }
+
+ /*
+ * Get normalization maps...
+ */
+ if (get_normmap(CUPS_NORM_NFD) < 0)
+ return (-1);
+ if (get_normmap(CUPS_NORM_NFKD) < 0)
+ return (-1);
+ if (get_normmap(CUPS_NORM_NFC) < 0)
+ return (-1);
+
+ /*
+ * Get case folding, combining class, character property maps...
+ */
+ if (get_foldmap(CUPS_FOLD_SIMPLE) < 0)
+ return (-1);
+ if (get_foldmap(CUPS_FOLD_FULL) < 0)
+ return (-1);
+ if (get_propmap() < 0)
+ return (-1);
+ if (get_combmap() < 0)
+ return (-1);
+ if (get_breakmap() < 0)
+ return (-1);
+ return (0);
+}
+
+/*
+ * 'cupsNormalizeMapsFree()' - Free all normalization maps in cache.
+ *
+ * This does not actually free; use 'cupsNormalizeMapsFlush()' for that.
+ */
+int /* O - Zero or -1 on error */
+cupsNormalizeMapsFree(void)
+{
+ cups_normmap_t *nmap; /* Unicode Normalization Map */
+ cups_foldmap_t *fmap; /* Unicode Case Folding Map */
+
+ /*
+ * See if we already have normalization maps loaded...
+ */
+ if (normmap_cache == NULL)
+ return (-1);
+ for (nmap = normmap_cache; nmap != NULL; nmap = nmap->next)
+ if (nmap->used > 0)
+ nmap->used --;
+ for (fmap = foldmap_cache; fmap != NULL; fmap = fmap->next)
+ if (fmap->used > 0)
+ fmap->used --;
+ if (propmap_cache && (propmap_cache->used > 0))
+ propmap_cache->used --;
+ if (combmap_cache && (combmap_cache->used > 0))
+ combmap_cache->used --;
+ if (breakmap_cache && (breakmap_cache->used > 0))
+ breakmap_cache->used --;
+ return (0);
+}
+
+/*
+ * 'cupsNormalizeMapsFlush()' - Flush all normalization maps in cache.
+ */
+void
+cupsNormalizeMapsFlush(void)
+{
+ cups_normmap_t *nmap; /* Unicode Normalization Map */
+ cups_normmap_t *nextnorm; /* Next Unicode Normalization Map */
+ cups_foldmap_t *fmap; /* Unicode Case Folding Map */
+ cups_foldmap_t *nextfold; /* Next Unicode Case Folding Map */
+
+ /*
+ * Flush all normalization maps...
+ */
+ for (nmap = normmap_cache; nmap != NULL; nmap = nextnorm)
+ {
+ free(nmap->uni2norm);
+ nextnorm = nmap->next;
+ free(nmap);
+ }
+ normmap_cache = NULL;
+ for (fmap = foldmap_cache; fmap != NULL; fmap = nextfold)
+ {
+ free(fmap->uni2fold);
+ nextfold = fmap->next;
+ free(fmap);
+ }
+ foldmap_cache = NULL;
+ if (propmap_cache)
+ {
+ free(propmap_cache->uni2prop);
+ free(propmap_cache);
+ propmap_cache = NULL;
+ }
+ if (combmap_cache)
+ {
+ free(combmap_cache->uni2comb);
+ free(combmap_cache);
+ combmap_cache = NULL;
+ }
+ if (breakmap_cache)
+ {
+ free(breakmap_cache->uni2break);
+ free(breakmap_cache);
+ breakmap_cache = NULL;
+ }
+ return;
+}
+
+/*
+ * 'cupsUtf8Normalize()' - Normalize UTF-8 string.
+ *
+ * Normalize UTF-8 string to Unicode UAX-15 Normalization Form
+ * Note - Compatibility Normalization Forms (NFKD/NFKC) are
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+int /* O - Count or -1 on error */
+cupsUtf8Normalize(utf8_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_normalize_t normalize) /* I - Normalization */
+{
+ int len; /* String length */
+ utf32_t work1[CUPS_MAX_USTRING];
+ /* First internal UCS-4 string */
+ utf32_t work2[CUPS_MAX_USTRING];
+ /* Second internal UCS-4 string */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+
+ /*
+ * Convert input UTF-8 to internal UCS-4 (and insert BOM)...
+ */
+ len = cupsUtf8ToUtf32(work1, src, CUPS_MAX_USTRING);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Normalize internal UCS-4 to second internal UCS-4...
+ */
+ len = cupsUtf32Normalize(work2, work1, CUPS_MAX_USTRING, normalize);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Convert internal UCS-4 to output UTF-8 (and delete BOM)...
+ */
+ len = cupsUtf32ToUtf8(dest, work2, maxout);
+ return (len);
+}
+
+/*
+ * 'cupsUtf32Normalize()' - Normalize UTF-32 string.
+ *
+ * Normalize UTF-32 string to Unicode UAX-15 Normalization Form
+ * Note - Compatibility Normalization Forms (NFKD/NFKC) are
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+int /* O - Count or -1 on error */
+cupsUtf32Normalize(utf32_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_normalize_t normalize) /* I - Normalization */
+{
+ int i; /* Looping variable */
+ int result; /* Result Value */
+ ucs2_t *mp; /* Map char pointer */
+ int hit; /* Hit count from binary search */
+ utf32_t unichar1; /* Unicode character value */
+ utf32_t unichar2; /* Unicode character value */
+ cups_combclass_t class1; /* First Combining Class */
+ cups_combclass_t class2; /* Second Combining Class */
+ int len; /* String length */
+ utf32_t work1[CUPS_MAX_USTRING];
+ /* First internal UCS-4 string */
+ utf32_t work2[CUPS_MAX_USTRING];
+ /* Second internal UCS-4 string */
+ utf32_t *p1; /* First UCS-4 string pointer */
+ utf32_t *p2; /* Second UCS-4 string pointer */
+ cups_normmap_t *nmap; /* Unicode Normalization Map */
+ cups_normalize_t decompose; /* Decomposition Type */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+ result = cupsNormalizeMapsGet();
+ if (result < 0)
+ return (-1);
+
+ /*
+ * Find decomposition map...
+ */
+ switch (normalize)
+ {
+ case CUPS_NORM_NFD:
+ case CUPS_NORM_NFC:
+ decompose = CUPS_NORM_NFD;
+ break;
+ case CUPS_NORM_NFKD:
+ case CUPS_NORM_NFKC:
+ decompose = CUPS_NORM_NFKD;
+ break;
+ default:
+ return (-1);
+ }
+ for (nmap = normmap_cache; nmap != NULL; nmap = nmap->next)
+ if (nmap->normalize == decompose)
+ break;
+ if (nmap == NULL)
+ return (-1);
+
+ /*
+ * Copy input to internal buffer...
+ */
+ p1 = &work1[0];
+ for (i = 0; i < CUPS_MAX_USTRING; i ++)
+ {
+ if (*src == 0)
+ break;
+ *p1 ++ = *src ++;
+ }
+ *p1 = 0;
+ len = i;
+
+ /*
+ * Decompose until no further decomposition...
+ */
+ for (;;)
+ {
+ p1 = &work1[0];
+ p2 = &work2[0];
+ for (hit = 0; *p1 != 0; p1 ++)
+ {
+ /*
+ * Check for decomposition defined...
+ */
+ mp = (ucs2_t *) bsearch(p1,
+ nmap->uni2norm,
+ nmap->normcount,
+ (sizeof(ucs2_t) * 3),
+ compare_decompose);
+ if (mp == NULL)
+ {
+ *p2 ++ = *p1;
+ continue;
+ }
+
+ /*
+ * Decompose input character to one or two output characters...
+ */
+ hit ++;
+ mp ++;
+ *p2 ++ = (utf32_t) *mp ++;
+ if (*mp != 0)
+ *p2 ++ = (utf32_t) *mp;
+ }
+ *p2 = 0;
+ len = (int) (p2 - &work2[0]);
+
+ /*
+ * Check for decomposition finished...
+ */
+ if (hit == 0)
+ break;
+ memcpy (work1, work2, sizeof(utf32_t) * (len + 1));
+ }
+
+ /*
+ * Canonical reorder until no further reordering...
+ */
+ for (;;)
+ {
+ p1 = &work1[0];
+ for (hit = 0; *p1 != 0; p1 ++)
+ {
+ /*
+ * Check for combining characters to reorder...
+ */
+ unichar1 = *p1;
+ unichar2 = *(p1 + 1);
+ if (unichar2 == 0)
+ break;
+ class1 = get_combining_class(unichar1);
+ class2 = get_combining_class(unichar2);
+ if ((class1 < 0) || (class2 < 0))
+ return (-1);
+ if ((class1 == 0) || (class2 == 0))
+ continue;
+ if (class1 < class2)
+ continue;
+
+ /*
+ * Swap two combining characters...
+ */
+ {
+ *p1 = unichar2;
+ *(p1 + 1) = unichar1;
+ hit ++;
+ }
+ }
+ if (hit == 0)
+ break;
+ }
+
+ /*
+ * Check for decomposition only...
+ */
+ if ((normalize == CUPS_NORM_NFD) || (normalize == CUPS_NORM_NFKD))
+ {
+ memcpy (dest, work1, sizeof(utf32_t) * (len + 1));
+ return (len);
+ }
+
+ /*
+ * Find composition map...
+ */
+ for (nmap = normmap_cache; nmap != NULL; nmap = nmap->next)
+ if (nmap->normalize == CUPS_NORM_NFC)
+ break;
+ if (nmap == NULL)
+ return (-1);
+
+ /*
+ * Compose until no further composition...
+ */
+ for (;;)
+ {
+ p1 = &work1[0];
+ p2 = &work2[0];
+ for (hit = 0; *p1 != 0; p1 ++)
+ {
+ /*
+ * Check for composition defined...
+ */
+ unichar1 = *p1;
+ unichar2 = *(p1 + 1);
+ if (unichar2 == 0)
+ {
+ *p2 ++ = unichar1;
+ break;
+ }
+ mp = (ucs2_t *) bsearch(p1,
+ nmap->uni2norm,
+ nmap->normcount,
+ (sizeof(ucs2_t) * 3),
+ compare_compose);
+ if (mp == NULL)
+ {
+ *p2 ++ = *p1;
+ continue;
+ }
+
+ /*
+ * Compose two input characters to one output character...
+ */
+ hit ++;
+ mp += 2;
+ *p2 ++ = (utf32_t) *mp;
+ p1 ++;
+ }
+ *p2 = 0;
+ len = (int) (p2 - &work2[0]);
+
+ /*
+ * Check for composition finished...
+ */
+ if (hit == 0)
+ break;
+ memcpy (work1, work2, sizeof(utf32_t) * (len + 1));
+ }
+ memcpy (dest, work1, sizeof(utf32_t) * (len + 1));
+ cupsNormalizeMapsFree();
+ return (len);
+}
+
+/*
+ * 'cupsUtf8CaseFold()' - Case fold UTF-8 string.
+ *
+ * Case Fold UTF-8 string per Unicode UAX-21 Section 2.3
+ * Note - Case folding output is
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+int /* O - Count or -1 on error */
+cupsUtf8CaseFold(utf8_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_folding_t fold) /* I - Fold Mode */
+{
+ int len; /* String length */
+ utf32_t work1[CUPS_MAX_USTRING];
+ /* First internal UCS-4 string */
+ utf32_t work2[CUPS_MAX_USTRING];
+ /* Second internal UCS-4 string */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+ if ((fold != CUPS_FOLD_SIMPLE) && (fold != CUPS_FOLD_FULL))
+ return (-1);
+
+ /*
+ * Convert input UTF-8 to internal UCS-4 (and insert BOM)...
+ */
+ len = cupsUtf8ToUtf32(work1, src, CUPS_MAX_USTRING);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Case Fold internal UCS-4 to second internal UCS-4...
+ */
+ len = cupsUtf32CaseFold(work2, work1, CUPS_MAX_USTRING, fold);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Convert internal UCS-4 to output UTF-8 (and delete BOM)...
+ */
+ len = cupsUtf32ToUtf8(dest, work2, maxout);
+ return (len);
+}
+
+/*
+ * 'cupsUtf32CaseFold()' - Case fold UTF-32 string.
+ *
+ * Case Fold UTF-32 string per Unicode UAX-21 Section 2.3
+ * Note - Case folding output is
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+int /* O - Count or -1 on error */
+cupsUtf32CaseFold(utf32_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_folding_t fold) /* I - Fold Mode */
+{
+ utf32_t *start = dest; /* Start of destination string */
+ int i; /* Looping variable */
+ int result; /* Result Value */
+ ucs2_t *mp; /* Map char pointer */
+ cups_foldmap_t *fmap; /* Unicode Case Folding Map */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+ if ((fold != CUPS_FOLD_SIMPLE) && (fold != CUPS_FOLD_FULL))
+ return (-1);
+
+ /*
+ * Find case folding map...
+ */
+ result = cupsNormalizeMapsGet();
+ if (result < 0)
+ return (-1);
+ for (fmap = foldmap_cache; fmap != NULL; fmap = fmap->next)
+ if (fmap->fold == fold)
+ break;
+ if (fmap == NULL)
+ return (-1);
+
+ /*
+ * Case fold input string to output string...
+ */
+ for (i = 0; i < (maxout - 1); i ++, src ++)
+ {
+ /*
+ * Check for case folding defined...
+ */
+ mp = (ucs2_t *) bsearch(src,
+ fmap->uni2fold,
+ fmap->foldcount,
+ (sizeof(ucs2_t) * 4),
+ compare_foldchar);
+ if (mp == NULL)
+ {
+ *dest ++ = *src;
+ continue;
+ }
+
+ /*
+ * Case fold input character to one or two output characters...
+ */
+ mp ++;
+ *dest ++ = (utf32_t) *mp ++;
+ if ((*mp != 0) && (fold == CUPS_FOLD_FULL))
+ {
+ i ++;
+ if (i >= (maxout -1))
+ break;
+ *dest ++ = (utf32_t) *mp;
+ }
+ }
+ *dest = 0;
+ cupsNormalizeMapsFree();
+ return (dest - start);
+}
+
+/*
+ * 'cupsUtf8CompareCaseless()' - Compare case folded UTF-8 strings.
+ */
+int /* O - Difference of strings */
+cupsUtf8CompareCaseless(const utf8_t *s1,
+ /* I - String1 */
+ const utf8_t *s2) /* I - String2 */
+{
+ int difference; /* Difference of two strings */
+ int len; /* String length */
+ utf32_t work1[CUPS_MAX_USTRING];
+ /* First internal UCS-4 string */
+ utf32_t work2[CUPS_MAX_USTRING];
+ /* Second internal UCS-4 string */
+
+ /*
+ * Check for valid arguments...
+ */
+ if ((s1 == NULL)
+ || (s2 == NULL))
+ return (-1);
+
+ /*
+ * Convert input UTF-8 to internal UCS-4 (and insert BOM)...
+ */
+ len = cupsUtf8ToUtf32(work1, s1, CUPS_MAX_USTRING);
+ if (len < 0)
+ return (-1);
+ len = cupsUtf8ToUtf32(work2, s2, CUPS_MAX_USTRING);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Compare first internal UCS-4 to second internal UCS-4...
+ */
+ difference = cupsUtf32CompareCaseless(work1, work2);
+ return (difference);
+}
+
+/*
+ * 'cupsUtf32CompareCaseless()' - Compare case folded UTF-32 strings.
+ */
+int /* O - Difference of strings */
+cupsUtf32CompareCaseless(const utf32_t *s1,
+ /* I - String1 */
+ const utf32_t *s2) /* I - String2 */
+{
+ int difference; /* Difference of two strings */
+ int len; /* String length */
+ cups_folding_t fold = CUPS_FOLD_FULL;
+ /* Case folding mode */
+ utf32_t fold1[CUPS_MAX_USTRING];
+ /* First UCS-4 folded string */
+ utf32_t fold2[CUPS_MAX_USTRING];
+ /* Second UCS-4 folded string */
+ utf32_t *p1; /* First UCS-4 string pointer */
+ utf32_t *p2; /* Second UCS-4 string pointer */
+
+ /*
+ * Check for valid arguments...
+ */
+ if ((s1 == NULL)
+ || (s2 == NULL))
+ return (-1);
+
+ /*
+ * Case Fold input UTF-32 strings to internal UCS-4 strings...
+ */
+ len = cupsUtf32CaseFold(fold1, s1, CUPS_MAX_USTRING, fold);
+ if (len < 0)
+ return (-1);
+ len = cupsUtf32CaseFold(fold2, s2, CUPS_MAX_USTRING, fold);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Compare first internal UCS-4 to second internal UCS-4...
+ */
+ p1 = &fold1[0];
+ p2 = &fold2[0];
+ for (;; p1 ++, p2 ++)
+ {
+ difference = (int) (*p1 - *p2);
+ if (difference != 0)
+ break;
+ if ((*p1 == 0) && (*p2 == 0))
+ break;
+ }
+ return (difference);
+}
+
+/*
+ * 'cupsUtf8CompareIdentifier()' - Compare folded NFKC UTF-8 strings.
+ */
+int
+cupsUtf8CompareIdentifier(const utf8_t *s1,
+ /* I - String1 */
+ const utf8_t *s2) /* I - String2 */
+{
+ int difference; /* Difference of two strings */
+ int len; /* String length */
+ utf32_t work1[CUPS_MAX_USTRING];
+ /* First internal UCS-4 string */
+ utf32_t work2[CUPS_MAX_USTRING];
+ /* Second internal UCS-4 string */
+
+ /*
+ * Check for valid arguments...
+ */
+ if ((s1 == NULL)
+ || (s2 == NULL))
+ return (-1);
+
+ /*
+ * Convert input UTF-8 to internal UCS-4 (and insert BOM)...
+ */
+ len = cupsUtf8ToUtf32(work1, s1, CUPS_MAX_USTRING);
+ if (len < 0)
+ return (-1);
+ len = cupsUtf8ToUtf32(work2, s2, CUPS_MAX_USTRING);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Compare first internal UCS-4 to second internal UCS-4...
+ */
+ difference = cupsUtf32CompareIdentifier(work1, work2);
+ return (difference);
+}
+
+/*
+ * 'cupsUtf32CompareIdentifier()' - Compare folded NFKC UTF-32 strings.
+ */
+int
+cupsUtf32CompareIdentifier(const utf32_t *s1,
+ /* I - String1 */
+ const utf32_t *s2) /* I - String2 */
+{
+ int difference; /* Difference of two strings */
+ int len; /* String length */
+ cups_folding_t fold = CUPS_FOLD_FULL;
+ /* Case folding mode */
+ utf32_t fold1[CUPS_MAX_USTRING];
+ /* First UCS-4 folded string */
+ utf32_t fold2[CUPS_MAX_USTRING];
+ /* Second UCS-4 folded string */
+ cups_normalize_t normalize = CUPS_NORM_NFKC;
+ /* Normalization form */
+ utf32_t norm1[CUPS_MAX_USTRING];
+ /* First UCS-4 normalized string */
+ utf32_t norm2[CUPS_MAX_USTRING];
+ /* Second UCS-4 normalized string */
+ utf32_t *p1; /* First UCS-4 string pointer */
+ utf32_t *p2; /* Second UCS-4 string pointer */
+
+ /*
+ * Check for valid arguments...
+ */
+ if ((s1 == NULL)
+ || (s2 == NULL))
+ return (-1);
+
+ /*
+ * Case Fold input UTF-32 strings to internal UCS-4 strings...
+ */
+ len = cupsUtf32CaseFold(fold1, s1, CUPS_MAX_USTRING, fold);
+ if (len < 0)
+ return (-1);
+ len = cupsUtf32CaseFold(fold2, s2, CUPS_MAX_USTRING, fold);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Normalize internal UCS-4 strings to NFKC...
+ */
+ len = cupsUtf32Normalize(norm1, fold1, CUPS_MAX_USTRING, normalize);
+ if (len < 0)
+ return (-1);
+ len = cupsUtf32Normalize(norm2, fold2, CUPS_MAX_USTRING, normalize);
+ if (len < 0)
+ return (-1);
+
+ /*
+ * Compare first internal UCS-4 to second internal UCS-4...
+ */
+ p1 = &norm1[0];
+ p2 = &norm2[0];
+ for (;; p1 ++, p2 ++)
+ {
+ difference = (int) (*p1 - *p2);
+ if (difference != 0)
+ break;
+ if ((*p1 == 0) && (*p2 == 0))
+ break;
+ }
+ return (difference);
+}
+
+/*
+ * cupsUtf32CharacterProperty() - Get UTF-32 character property.
+ */
+int
+cupsUtf32CharacterProperty(const utf32_t ch,
+ /* I - Source char */
+ const cups_property_t property) /* I - Char Property */
+{
+ int result; /* Result Value */
+
+ /*
+ * Check for valid arguments...
+ */
+ if (ch == 0)
+ return (-1);
+
+ /*
+ * Find character property...
+ */
+ switch (property)
+ {
+ case CUPS_PROP_GENERAL_CATEGORY:
+ result = (get_general_category(ch));
+ break;
+ case CUPS_PROP_BIDI_CATEGORY:
+ result = (get_bidi_category(ch));
+ break;
+ case CUPS_PROP_COMBINING_CLASS:
+ result = (get_combining_class(ch));
+ break;
+ case CUPS_PROP_BREAK_CLASS:
+ result = (get_break_class(ch));
+ break;
+ default:
+ return (-1);
+ }
+ return (result);
+}
+
+/*
+ * 'get_general_category()' - Get UTF-32 Character General Category.
+ */
+static int /* O - Class or -1 on error */
+get_general_category(const utf32_t ch) /* I - Source char */
+{
+ int result; /* Result Value */
+ cups_gencat_t gencat; /* General Category Value */
+ cups_propmap_t *pmap; /* Unicode Property Map */
+ cups_prop_t *uni2prop; /* Unicode Char -> Properties */
+
+ /*
+ * Check for valid argument...
+ */
+ if (ch == 0)
+ return (-1);
+
+ /*
+ * Find property map...
+ */
+ result = cupsNormalizeMapsGet();
+ if (result < 0)
+ return (-1);
+ pmap = propmap_cache;
+ if (pmap == NULL)
+ return (-1);
+
+ /*
+ * Find character in map...
+ */
+ uni2prop = (cups_prop_t *) bsearch(&ch,
+ pmap->uni2prop,
+ pmap->propcount,
+ (sizeof(cups_prop_t)),
+ compare_propchar);
+ cupsNormalizeMapsFree();
+ if (uni2prop == NULL)
+ gencat = CUPS_GENCAT_CN; /* Other, Not Assigned */
+ else
+ gencat = (cups_gencat_t) uni2prop->gencat;
+ result = (int) gencat;
+ return (result);
+}
+
+/*
+ * 'get_bidi_category()' - Get UTF-32 Character Bidi Category.
+ */
+static int /* O - Class or -1 on error */
+get_bidi_category(const utf32_t ch) /* I - Source char */
+{
+ int result; /* Result Value */
+ cups_bidicat_t bidicat; /* Bidi Category Value */
+ cups_propmap_t *pmap; /* Unicode Property Map */
+ cups_prop_t *uni2prop; /* Unicode Char -> Properties */
+
+ /*
+ * Check for valid argument...
+ */
+ if (ch == 0)
+ return (-1);
+
+ /*
+ * Find property map...
+ */
+ result = cupsNormalizeMapsGet();
+ if (result < 0)
+ return (-1);
+ pmap = propmap_cache;
+ if (pmap == NULL)
+ return (-1);
+
+ /*
+ * Find character in map...
+ */
+ uni2prop = (cups_prop_t *) bsearch(&ch,
+ pmap->uni2prop,
+ pmap->propcount,
+ (sizeof(cups_prop_t)),
+ compare_propchar);
+ cupsNormalizeMapsFree();
+ if (uni2prop == NULL)
+ bidicat = CUPS_BIDI_ON; /* Other Neutral */
+ else
+ bidicat = (cups_bidicat_t) uni2prop->bidicat;
+ result = (int) bidicat;
+ return (result);
+}
+
+/*
+ * 'get_combining_class()' - Get UTF-32 Character Combining Class.
+ *
+ * Note - Zero is non-combining (base character)
+ */
+static int /* O - Class or -1 on error */
+get_combining_class(const utf32_t ch) /* I - Source char */
+{
+ int result; /* Result Value */
+ cups_combmap_t *cmap; /* Unicode Combining Class Map */
+ cups_combclass_t combclass; /* Unicode Combining Class */
+ cups_comb_t *uni2comb; /* Unicode Char -> Combining Class */
+
+ /*
+ * Check for valid argument...
+ */
+ if (ch == 0)
+ return (-1);
+
+ /*
+ * Find combining class map...
+ */
+ result = cupsNormalizeMapsGet();
+ if (result < 0)
+ return (-1);
+ cmap = combmap_cache;
+ if (cmap == NULL)
+ return (-1);
+
+ /*
+ * Find combining character in map...
+ */
+ uni2comb = (cups_comb_t *) bsearch(&ch,
+ cmap->uni2comb,
+ cmap->combcount,
+ (sizeof(cups_comb_t)),
+ compare_combchar);
+ cupsNormalizeMapsFree();
+ if (uni2comb == NULL)
+ combclass = 0;
+ else
+ combclass = (cups_combclass_t) uni2comb->combclass;
+ result = (int) combclass;
+ return (result);
+}
+
+/*
+ * 'get_break_class()' - Get UTF-32 Character Line Break Class.
+ */
+static int /* O - Class or -1 on error */
+get_break_class(const utf32_t ch) /* I - Source char */
+{
+ int result; /* Result Value */
+ cups_breakmap_t *bmap; /* Unicode Line Break Class Map */
+ cups_breakclass_t breakclass; /* Unicode Line Break Class */
+ ucs2_t *uni2break; /* Unicode Char -> Line Break Class */
+
+ /*
+ * Check for valid argument...
+ */
+ if (ch == 0)
+ return (-1);
+
+ /*
+ * Find line break class map...
+ */
+ result = cupsNormalizeMapsGet();
+ if (result < 0)
+ return (-1);
+ bmap = breakmap_cache;
+ if (bmap == NULL)
+ return (-1);
+
+ /*
+ * Find line break character in map...
+ */
+ uni2break = (ucs2_t *) bsearch(&ch,
+ bmap->uni2break,
+ bmap->breakcount,
+ (sizeof(ucs2_t) * 3),
+ compare_breakchar);
+ cupsNormalizeMapsFree();
+ if (uni2break == NULL)
+ breakclass = CUPS_BREAK_AI;
+ else
+ breakclass = (cups_breakclass_t) *(uni2break + 2);
+ result = (int) breakclass;
+ return (result);
+}
+
+/*
+ * 'get_map_count()' - Count lines in a map file.
+ */
+static int /* O - Count or -1 on error */
+get_map_count(char *filename) /* I - Map Filename */
+{
+ int i; /* Looping variable */
+ FILE *fp; /* Map input file pointer */
+ char *s; /* Line parsing pointer */
+ char line[256]; /* Line from input map file */
+ utf32_t unichar; /* Unicode character value */
+
+ /*
+ * Open map input file...
+ */
+ if ((filename == NULL) || (*filename == '\0'))
+ return (-1);
+ fp = fopen(filename, "r");
+ if (fp == NULL)
+ return (-1);
+
+ /*
+ * Count lines in map input file...
+ */
+ for (i = 0; i < 50000;)
+ {
+ s = fgets(&line[0], sizeof(line), fp);
+ if (s == NULL)
+ break;
+ if ((*s == '#') || (*s == '\n') || (*s == '\0'))
+ continue;
+ if (strncmp (s, "0x", 2) == 0)
+ s += 2;
+ if (sscanf(s, "%lx", &unichar) != 1)
+ break;
+ if (unichar > 0xffff)
+ break;
+ i ++;
+ }
+ if (i == 0)
+ i = -1;
+
+ /*
+ * Close file and return map count (non-comment line count)...
+ */
+ fclose(fp);
+ return (i);
+}
+
+/*
+ * 'get_normmap()' - Get Unicode normalization map into cache.
+ */
+static int /* O - Zero or -1 on error */
+get_normmap(cups_normalize_t normalize) /* I - Normalization Form */
+{
+ int i; /* Looping variable */
+ utf32_t unichar1; /* Unicode character value */
+ utf32_t unichar2; /* Unicode character value */
+ utf32_t unichar3; /* Unicode character value */
+ cups_normmap_t *nmap; /* Unicode Normalization Map */
+ int normcount; /* Count of Unicode Source Chars */
+ ucs2_t *uni2norm; /* Unicode Char -> Normalization */
+ char *datadir; /* CUPS_DATADIR environment variable */
+ char *mapname; /* Normalization map name */
+ char filename[256]; /* Filename for charset map file */
+ FILE *fp; /* Normalization map file pointer */
+ char *s; /* Line parsing pointer */
+ char line[256]; /* Line from input map file */
+
+ /*
+ * See if we already have this normalization map loaded...
+ */
+ for (nmap = normmap_cache; nmap != NULL; nmap = nmap->next)
+ if (nmap->normalize == normalize)
+ return (0);
+
+ /*
+ * Get the data directory and mapping name...
+ */
+ if ((datadir = getenv("CUPS_DATADIR")) == NULL)
+ datadir = CUPS_DATADIR;
+ switch (normalize)
+ {
+ case CUPS_NORM_NFD: /* Canonical Decomposition */
+ mapname = "uni-nfd.txt";
+ break;
+ case CUPS_NORM_NFKD: /* Compatibility Decomposition */
+ mapname = "uni-nfkd.txt";
+ break;
+ case CUPS_NORM_NFC: /* Canonical Composition */
+ mapname = "uni-nfc.txt";
+ break;
+ case CUPS_NORM_NFKC: /* no such map file... */
+ default:
+ return (-1);
+ }
+
+ /*
+ * Open normalization map input file...
+ */
+ snprintf(filename, sizeof(filename), "%s/charmaps/%s", datadir, mapname);
+ if ((normcount = get_map_count(filename)) <= 0)
+ return (-1);
+ fp = fopen(filename, "r");
+ if (fp == NULL)
+ return (-1);
+
+ /*
+ * Allocate memory for normalization map and add to cache...
+ */
+ nmap = (cups_normmap_t *)
+ calloc(1, sizeof(cups_normmap_t));
+ if (nmap == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ uni2norm = (ucs2_t *)
+ calloc(1, sizeof(ucs2_t) * 3 * normcount);
+ if (uni2norm == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ nmap->next = normmap_cache;
+ normmap_cache = nmap;
+ nmap->used ++;
+ nmap->normalize = normalize;
+ nmap->normcount = normcount;
+ nmap->uni2norm = uni2norm;
+
+ /*
+ * Save normalization map into memory for later use...
+ */
+ for (i = 0; i < normcount; )
+ {
+ s = fgets(&line[0], sizeof(line), fp);
+ if (s == NULL)
+ break;
+ if ((*s == '#') || (*s == '\n') || (*s == '\0'))
+ continue;
+ if (sscanf(s, "%lx %lx %lx", &unichar1, &unichar2, &unichar3) != 3)
+ break;
+ if ((unichar1 > 0xffff)
+ || (unichar2 > 0xffff)
+ || (unichar3 > 0xffff))
+ break;
+ *uni2norm ++ = (ucs2_t) unichar1;
+ *uni2norm ++ = (ucs2_t) unichar2;
+ *uni2norm ++ = (ucs2_t) unichar3;
+ i ++;
+ }
+ if (i < normcount)
+ nmap->normcount = i;
+ fclose(fp);
+ return (0);
+}
+
+/*
+ * 'get_foldmap()' - Get Unicode case folding map into cache.
+ */
+static int /* O - Zero or -1 on error */
+get_foldmap(cups_folding_t fold) /* I - Case folding type */
+{
+ int i; /* Looping variable */
+ utf32_t unichar1; /* Unicode character value */
+ utf32_t unichar2; /* Unicode character value */
+ utf32_t unichar3; /* Unicode character value */
+ utf32_t unichar4; /* Unicode character value */
+ cups_foldmap_t *fmap; /* Unicode Case Folding Map */
+ int foldcount; /* Count of Unicode Source Chars */
+ ucs2_t *uni2fold; /* Unicode Char -> Folded Char(s) */
+ char *datadir; /* CUPS_DATADIR environment variable */
+ char *mapname; /* Case Folding map name */
+ char filename[256]; /* Filename for charset map file */
+ FILE *fp; /* Case Folding map file pointer */
+ char *s; /* Line parsing pointer */
+ char line[256]; /* Line from input map file */
+
+ /*
+ * See if we already have this case folding map loaded...
+ */
+ for (fmap = foldmap_cache; fmap != NULL; fmap = fmap->next)
+ if (fmap->fold == fold)
+ return (0);
+
+ /*
+ * Get the data directory and mapping name...
+ */
+ if ((datadir = getenv("CUPS_DATADIR")) == NULL)
+ datadir = CUPS_DATADIR;
+ switch (fold)
+ {
+ case CUPS_FOLD_SIMPLE: /* Simple case folding */
+ mapname = "uni-fold.txt";
+ break;
+ case CUPS_FOLD_FULL: /* Full case folding */
+ mapname = "uni-full.txt";
+ break;
+ default:
+ return (-1);
+ }
+
+ /*
+ * Open case folding map input file...
+ */
+ snprintf(filename, sizeof(filename), "%s/charmaps/%s", datadir, mapname);
+ if ((foldcount = get_map_count(filename)) <= 0)
+ return (-1);
+ fp = fopen(filename, "r");
+ if (fp == NULL)
+ return (-1);
+
+ /*
+ * Allocate memory for case folding map and add to cache...
+ */
+ fmap = (cups_foldmap_t *)
+ calloc(1, sizeof(cups_foldmap_t));
+ if (fmap == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ uni2fold = (ucs2_t *)
+ calloc(1, sizeof(ucs2_t) * 4 * foldcount);
+ if (uni2fold == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ fmap->next = foldmap_cache;
+ foldmap_cache = fmap;
+ fmap->used ++;
+ fmap->fold = fold;
+ fmap->foldcount = foldcount;
+ fmap->uni2fold = uni2fold;
+
+ /*
+ * Save case folding map into memory for later use...
+ */
+ for (i = 0; i < foldcount; )
+ {
+ s = fgets(&line[0], sizeof(line), fp);
+ if (s == NULL)
+ break;
+ if ((*s == '#') || (*s == '\n') || (*s == '\0'))
+ continue;
+ unichar1 = unichar2 = unichar3 = unichar4 = 0;
+ if ((fold == CUPS_FOLD_SIMPLE)
+ && (sscanf(s, "%lx %lx", &unichar1, &unichar2) != 2))
+ break;
+ if ((fold == CUPS_FOLD_FULL)
+ && (sscanf(s, "%lx %lx %lx %lx",
+ &unichar1, &unichar2, &unichar3, &unichar4) != 4))
+ break;
+ if ((unichar1 > 0xffff)
+ || (unichar2 > 0xffff)
+ || (unichar3 > 0xffff)
+ || (unichar4 > 0xffff))
+ break;
+ *uni2fold ++ = (ucs2_t) unichar1;
+ *uni2fold ++ = (ucs2_t) unichar2;
+ *uni2fold ++ = (ucs2_t) unichar3;
+ *uni2fold ++ = (ucs2_t) unichar4;
+ i ++;
+ }
+ if (i < foldcount)
+ fmap->foldcount = i;
+ fclose(fp);
+ return (0);
+}
+
+/*
+ * 'get_propmap()' - Get Unicode character property map into cache.
+ */
+static int /* O - Zero or -1 on error */
+get_propmap(void)
+{
+ int i, j; /* Looping variables */
+ int len; /* String length */
+ utf32_t unichar; /* Unicode character value */
+ cups_gencat_t gencat; /* General Category Value */
+ cups_bidicat_t bidicat; /* Bidi Category Value */
+ cups_propmap_t *pmap; /* Unicode Char Property Map */
+ int propcount; /* Count of Unicode Source Chars */
+ cups_prop_t *uni2prop; /* Unicode Char -> Properties */
+ char *datadir; /* CUPS_DATADIR environment variable */
+ char *mapname; /* Char Property map name */
+ char filename[256]; /* Filename for charset map file */
+ FILE *fp; /* Char Property map file pointer */
+ char *s; /* Line parsing pointer */
+ char line[256]; /* Line from input map file */
+
+ /*
+ * See if we already have this char properties map loaded...
+ */
+ if ((pmap = propmap_cache) != NULL)
+ return (0);
+
+ /*
+ * Get the data directory and mapping name...
+ */
+ if ((datadir = getenv("CUPS_DATADIR")) == NULL)
+ datadir = CUPS_DATADIR;
+ mapname = "uni-prop.txt";
+
+ /*
+ * Open char properties map input file...
+ */
+ snprintf(filename, sizeof(filename), "%s/charmaps/%s", datadir, mapname);
+ if ((propcount = get_map_count(filename)) <= 0)
+ return (-1);
+ fp = fopen(filename, "r");
+ if (fp == NULL)
+ return (-1);
+
+ /*
+ * Allocate memory for char properties map and add to cache...
+ */
+ pmap = (cups_propmap_t *)
+ calloc(1, sizeof(cups_propmap_t));
+ if (pmap == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ uni2prop = (cups_prop_t *)
+ calloc(1, sizeof(cups_prop_t) * propcount);
+ if (uni2prop == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ propmap_cache = pmap;
+ pmap->used ++;
+ pmap->propcount = propcount;
+ pmap->uni2prop = uni2prop;
+
+ /*
+ * Save char properties map into memory for later use...
+ */
+ for (i = 0; i < propcount; )
+ {
+ s = fgets(&line[0], sizeof(line), fp);
+ if (s == NULL)
+ break;
+ if (strlen(s) > 0)
+ *(s + strlen(s) - 1) = '\0';
+ if ((*s == '#') || (*s == '\0'))
+ continue;
+ if (sscanf(s, "%lx", &unichar) != 1)
+ break;
+ if (unichar > 0xffff)
+ break;
+ while ((*s != '\0') && (*s != ';'))
+ s ++;
+ if (*s != ';')
+ break;
+ s ++;
+ for (j = 0; gencat_index[j].str != NULL; j ++)
+ {
+ len = strlen(gencat_index[j].str);
+ if (strncmp (s, gencat_index[j].str, len) == 0)
+ break;
+ }
+ if (gencat_index[j].str == NULL)
+ return (-1);
+ gencat = gencat_index[j].gencat;
+ while ((*s != '\0') && (*s != ';'))
+ s ++;
+ if (*s != ';')
+ break;
+ s ++;
+ for (j = 0; bidicat_index[j] != NULL; j ++)
+ {
+ len = strlen(bidicat_index[j]);
+ if (strncmp (s, bidicat_index[j], len) == 0)
+ break;
+ }
+ if (bidicat_index[j] == NULL)
+ return (-1);
+ bidicat = (cups_bidicat_t) j;
+ uni2prop->ch = (ucs2_t) unichar;
+ uni2prop->gencat = (unsigned char) gencat;
+ uni2prop->bidicat = (unsigned char) bidicat;
+ uni2prop ++;
+ i ++;
+ }
+ if (i < propcount)
+ pmap->propcount = i;
+ fclose(fp);
+ return (0);
+}
+
+/*
+ * 'get_combmap()' - Get Unicode combining class map into cache.
+ */
+static int /* O - Zero or -1 on error */
+get_combmap(void)
+{
+ int i; /* Looping variable */
+ utf32_t unichar; /* Unicode character value */
+ int combclass; /* Unicode char combining class */
+ cups_combmap_t *cmap; /* Unicode Comb Class Map */
+ int combcount; /* Count of Unicode Source Chars */
+ cups_comb_t *uni2comb; /* Unicode Char -> Combining Class */
+ char *datadir; /* CUPS_DATADIR environment variable */
+ char *mapname; /* Comb Class map name */
+ char filename[256]; /* Filename for charset map file */
+ FILE *fp; /* Comb Class map file pointer */
+ char *s; /* Line parsing pointer */
+ char line[256]; /* Line from input map file */
+
+ /*
+ * See if we already have this combining class map loaded...
+ */
+ if ((cmap = combmap_cache) != NULL)
+ return (0);
+
+ /*
+ * Get the data directory and mapping name...
+ */
+ if ((datadir = getenv("CUPS_DATADIR")) == NULL)
+ datadir = CUPS_DATADIR;
+ mapname = "uni-comb.txt";
+
+ /*
+ * Open combining class map input file...
+ */
+ snprintf(filename, sizeof(filename), "%s/charmaps/%s", datadir, mapname);
+ if ((combcount = get_map_count(filename)) <= 0)
+ return (-1);
+ fp = fopen(filename, "r");
+ if (fp == NULL)
+ return (-1);
+
+ /*
+ * Allocate memory for combining class map and add to cache...
+ */
+ cmap = (cups_combmap_t *)
+ calloc(1, sizeof(cups_combmap_t));
+ if (cmap == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ uni2comb = (cups_comb_t *)
+ calloc(1, sizeof(cups_comb_t) * combcount);
+ if (uni2comb == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ combmap_cache = cmap;
+ cmap->used ++;
+ cmap->combcount = combcount;
+ cmap->uni2comb = uni2comb;
+
+ /*
+ * Save combining class map into memory for later use...
+ */
+ for (i = 0; i < combcount; )
+ {
+ s = fgets(&line[0], sizeof(line), fp);
+ if (s == NULL)
+ break;
+ if ((*s == '#') || (*s == '\n') || (*s == '\0'))
+ continue;
+ if (sscanf(s, "%lx", &unichar) != 1)
+ break;
+ if (unichar > 0xffff)
+ break;
+ while ((*s != '\0') && (*s != ';'))
+ s ++;
+ if (*s != ';')
+ break;
+ s ++;
+ if (sscanf(s, "%d", &combclass) != 1)
+ break;
+ uni2comb->ch = (ucs2_t) unichar;
+ uni2comb->combclass = (unsigned char) combclass;
+ uni2comb ++;
+ i ++;
+ }
+ if (i < combcount)
+ cmap->combcount = i;
+ fclose(fp);
+ return (0);
+}
+
+/*
+ * 'get_breakmap()' - Get Unicode line break class map into cache.
+ */
+static int /* O - Zero or -1 on error */
+get_breakmap(void)
+{
+ int i, j; /* Looping variables */
+ int len; /* String length */
+ utf32_t unichar1; /* Unicode character value */
+ utf32_t unichar2; /* Unicode character value */
+ cups_breakclass_t breakclass; /* Unicode char line break class */
+ cups_breakmap_t *bmap; /* Unicode Line Break Class Map */
+ int breakcount; /* Count of Unicode Source Chars */
+ ucs2_t *uni2break; /* Unicode Char -> Line Break Class */
+ char *datadir; /* CUPS_DATADIR environment variable */
+ char *mapname; /* Comb Class map name */
+ char filename[256]; /* Filename for charset map file */
+ FILE *fp; /* Comb Class map file pointer */
+ char *s; /* Line parsing pointer */
+ char line[256]; /* Line from input map file */
+
+ /*
+ * See if we already have this line break class map loaded...
+ */
+ if ((bmap = breakmap_cache) != NULL)
+ return (0);
+
+ /*
+ * Get the data directory and mapping name...
+ */
+ if ((datadir = getenv("CUPS_DATADIR")) == NULL)
+ datadir = CUPS_DATADIR;
+ mapname = "uni-line.txt";
+
+ /*
+ * Open line break class map input file...
+ */
+ snprintf(filename, sizeof(filename), "%s/charmaps/%s", datadir, mapname);
+ if ((breakcount = get_map_count(filename)) <= 0)
+ return (-1);
+ fp = fopen(filename, "r");
+ if (fp == NULL)
+ return (-1);
+
+ /*
+ * Allocate memory for line break class map and add to cache...
+ */
+ bmap = (cups_breakmap_t *)
+ calloc(1, sizeof(cups_breakmap_t));
+ if (bmap == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ uni2break = (ucs2_t *)
+ calloc(1, sizeof(ucs2_t) * 3 * breakcount);
+ if (uni2break == NULL)
+ {
+ fclose(fp);
+ return (-1);
+ }
+ breakmap_cache = bmap;
+ bmap->used ++;
+ bmap->breakcount = breakcount;
+ bmap->uni2break = uni2break;
+
+ /*
+ * Save line break class map into memory for later use...
+ */
+ for (i = 0; i < breakcount; )
+ {
+ s = fgets(&line[0], sizeof(line), fp);
+ if (s == NULL)
+ break;
+ if (strlen(s) > 0)
+ *(s + strlen(s) - 1) = '\0';
+ if ((*s == '#') || (*s == '\0'))
+ continue;
+ if (sscanf(s, "%lx %lx", &unichar1, &unichar2) != 2)
+ break;
+ if ((unichar1 > 0xffff)
+ || (unichar2 > 0xffff))
+ break;
+ while ((*s != '\0') && (*s != ';'))
+ s ++;
+ if (*s != ';')
+ break;
+ s ++;
+ for (j = 0; break_index[j].str != NULL; j ++)
+ {
+ len = strlen (break_index[j].str);
+ if (strncmp (s, break_index[j].str, len) == 0)
+ break;
+ }
+ if (break_index[j].str == NULL)
+ return (-1);
+ breakclass = break_index[j].breakclass;
+ *uni2break ++ = (ucs2_t) unichar1;
+ *uni2break ++ = (ucs2_t) unichar2;
+ *uni2break ++ = (ucs2_t) breakclass;
+ i ++;
+ }
+ if (i < breakcount)
+ bmap->breakcount = i;
+ fclose(fp);
+ return (0);
+}
+
+/*
+ * 'compare_compose()' - Compare key for compose match.
+ *
+ * Note - This function cannot be easily modified for 32-bit Unicode.
+ */
+static int
+compare_compose(const void *k1, /* I - Key char */
+ const void *k2) /* I - Map char */
+{
+ utf32_t *kp = (utf32_t *) k1; /* Key char pointer */
+ ucs2_t *mp = (ucs2_t *) k2; /* Map char pointer */
+ unsigned long key; /* Pair of key characters */
+ unsigned long map; /* Pair of map characters */
+ int result; /* Result Value */
+
+ key = (*kp << 16);
+ key |= *(kp + 1);
+ map = (unsigned long) (*mp << 16);
+ map |= (unsigned long) *(mp + 1);
+ if (key >= map)
+ result = (int) (key - map);
+ else
+ result = -1 * ((int) (map - key));
+ return (result);
+}
+
+/*
+ * 'compare_decompose()' - Compare key for decompose match.
+ */
+static int
+compare_decompose(const void *k1, /* I - Key char */
+ const void *k2) /* I - Map char */
+{
+ utf32_t *kp = (utf32_t *) k1; /* Key char pointer */
+ ucs2_t *mp = (ucs2_t *) k2; /* Map char pointer */
+ ucs2_t ch; /* Key char as UCS-2 */
+ int result; /* Result Value */
+
+ ch = (ucs2_t) *kp;
+ if (ch >= *mp)
+ result = (int) (ch - *mp);
+ else
+ result = -1 * ((int) (*mp - ch));
+ return (result);
+}
+
+/*
+ * 'compare_foldchar()' - Compare key for case fold match.
+ */
+static int
+compare_foldchar(const void *k1, /* I - Key char */
+ const void *k2) /* I - Map char */
+{
+ utf32_t *kp = (utf32_t *) k1; /* Key char pointer */
+ ucs2_t *mp = (ucs2_t *) k2; /* Map char pointer */
+ ucs2_t ch; /* Key char as UCS-2 */
+ int result; /* Result Value */
+
+ ch = (ucs2_t) *kp;
+ if (ch >= *mp)
+ result = (int) (ch - *mp);
+ else
+ result = -1 * ((int) (*mp - ch));
+ return (result);
+}
+
+/*
+ * 'compare_combchar()' - Compare key for combining char match.
+ */
+static int
+compare_combchar(const void *k1, /* I - Key char */
+ const void *k2) /* I - Map char */
+{
+ utf32_t *kp = (utf32_t *) k1; /* Key char pointer */
+ cups_comb_t *cp = (cups_comb_t *) k2;
+ /* Combining map row pointer */
+ ucs2_t ch; /* Key char as UCS-2 */
+ int result; /* Result Value */
+
+ ch = (ucs2_t) *kp;
+ if (ch >= cp->ch)
+ result = (int) (ch - cp->ch);
+ else
+ result = -1 * ((int) (cp->ch - ch));
+ return (result);
+}
+
+/*
+ * 'compare_breakchar()' - Compare key for line break char match.
+ */
+static int
+compare_breakchar(const void *k1, /* I - Key char */
+ const void *k2) /* I - Map char */
+{
+ utf32_t *kp = (utf32_t *) k1; /* Key char pointer */
+ ucs2_t *mp = (ucs2_t *) k2; /* Map char pointer */
+ ucs2_t ch; /* Key char as UCS-2 */
+ int result; /* Result Value */
+
+ ch = (ucs2_t) *kp;
+ if (ch < *mp)
+ result = -1 * (int) (*mp - ch);
+ else if (ch > *(mp + 1))
+ result = (int) (ch - *(mp + 1));
+ else
+ result = 0;
+ return (result);
+}
+
+/*
+ * 'compare_propchar()' - Compare key for property char match.
+ */
+static int
+compare_propchar(const void *k1, /* I - Key char */
+ const void *k2) /* I - Map char */
+{
+ utf32_t *kp = (utf32_t *) k1; /* Key char pointer */
+ cups_prop_t *pp = (cups_prop_t *) k2;
+ /* Property map row pointer */
+ ucs2_t ch; /* Key char as UCS-2 */
+ int result; /* Result Value */
+
+ ch = (ucs2_t) *kp;
+ if (ch >= pp->ch)
+ result = (int) (ch - pp->ch);
+ else
+ result = -1 * ((int) (pp->ch - ch));
+ return (result);
+}
+
+/*
+ * End of "$Id: normalize.c,v 1.1.2.1 2002/08/19 01:15:20 mike Exp $"
+ */
--- /dev/null
+/*
+ * "$Id: normalize.h,v 1.1.2.1 2002/08/19 01:15:20 mike Exp $"
+ *
+ * Unicode normalization for the Common UNIX Printing System (CUPS).
+ *
+ * Copyright 1997-2002 by Easy Software Products.
+ *
+ * These coded instructions, statements, and computer programs are
+ * the property of Easy Software Products and are protected by Federal
+ * copyright law. Distribution and use rights are outlined in the
+ * file "LICENSE.txt" which should have been included with this file.
+ * If this file is missing or damaged please contact Easy Software
+ * Products at:
+ *
+ * Attn: CUPS Licensing Information
+ * Easy Software Products
+ * 44141 Airport View Drive, Suite 204
+ * Hollywood, Maryland 20636-3111 USA
+ *
+ * Voice: (301) 373-9603
+ * EMail: cups-info@cups.org
+ * WWW: http://www.cups.org
+ */
+
+#ifndef _CUPS_NORMALIZE_H_
+# define _CUPS_NORMALIZE_H_
+
+/*
+ * Include necessary headers...
+ */
+
+# include "transcode.h"
+
+# ifdef __cplusplus
+extern "C" {
+# endif /* __cplusplus */
+
+/*
+ * Types...
+ */
+
+typedef enum /**** Normalizataion Types ****/
+{
+ CUPS_NORM_NFD, /* Canonical Decomposition */
+ CUPS_NORM_NFKD, /* Compatibility Decomposition */
+ CUPS_NORM_NFC, /* NFD, them Canonical Composition */
+ CUPS_NORM_NFKC /* NFKD, them Canonical Composition */
+} cups_normalize_t;
+
+typedef enum /**** Case Folding Types ****/
+{
+ CUPS_FOLD_SIMPLE, /* Simple - no expansion in size */
+ CUPS_FOLD_FULL /* Full - possible expansion in size */
+} cups_folding_t;
+
+typedef enum /**** Unicode Char Property Types ****/
+{
+ CUPS_PROP_GENERAL_CATEGORY, /* See 'cups_gencat_t' enum */
+ CUPS_PROP_BIDI_CATEGORY, /* See 'cups_bidicat_t' enum */
+ CUPS_PROP_COMBINING_CLASS, /* See 'cups_combclass_t' type */
+ CUPS_PROP_BREAK_CLASS /* See 'cups_breakclass_t' enum */
+} cups_property_t;
+
+/*
+ * Note - parse Unicode char general category from 'UnicodeData.txt'
+ * into sparse local table in 'normalize.c'.
+ * Use major classes for logic optimizations throughout (by mask).
+ */
+
+typedef enum /**** Unicode General Category ****/
+{
+ CUPS_GENCAT_L = 0x10, /* Letter major class */
+ CUPS_GENCAT_LU = 0x11, /* Lu Letter, Uppercase */
+ CUPS_GENCAT_LL = 0x12, /* Ll Letter, Lowercase */
+ CUPS_GENCAT_LT = 0x13, /* Lt Letter, Titlecase */
+ CUPS_GENCAT_LM = 0x14, /* Lm Letter, Modifier */
+ CUPS_GENCAT_LO = 0x15, /* Lo Letter, Other */
+ CUPS_GENCAT_M = 0x20, /* Mark major class */
+ CUPS_GENCAT_MN = 0x21, /* Mn Mark, Non-Spacing */
+ CUPS_GENCAT_MC = 0x22, /* Mc Mark, Spacing Combining */
+ CUPS_GENCAT_ME = 0x23, /* Me Mark, Enclosing */
+ CUPS_GENCAT_N = 0x30, /* Number major class */
+ CUPS_GENCAT_ND = 0x31, /* Nd Number, Decimal Digit */
+ CUPS_GENCAT_NL = 0x32, /* Nl Number, Letter */
+ CUPS_GENCAT_NO = 0x33, /* No Number, Other */
+ CUPS_GENCAT_P = 0x40, /* Punctuation major class */
+ CUPS_GENCAT_PC = 0x41, /* Pc Punctuation, Connector */
+ CUPS_GENCAT_PD = 0x42, /* Pd Punctuation, Dash */
+ CUPS_GENCAT_PS = 0x43, /* Ps Punctuation, Open (start) */
+ CUPS_GENCAT_PE = 0x44, /* Pe Punctuation, Close (end) */
+ CUPS_GENCAT_PI = 0x45, /* Pi Punctuation, Initial Quote */
+ CUPS_GENCAT_PF = 0x46, /* Pf Punctuation, Final Quote */
+ CUPS_GENCAT_PO = 0x47, /* Po Punctuation, Other */
+ CUPS_GENCAT_S = 0x50, /* Symbol major class */
+ CUPS_GENCAT_SM = 0x51, /* Sm Symbol, Math */
+ CUPS_GENCAT_SC = 0x52, /* Sc Symbol, Currency */
+ CUPS_GENCAT_SK = 0x53, /* Sk Symbol, Modifier */
+ CUPS_GENCAT_SO = 0x54, /* So Symbol, Other */
+ CUPS_GENCAT_Z = 0x60, /* Separator major class */
+ CUPS_GENCAT_ZS = 0x61, /* Zs Separator, Space */
+ CUPS_GENCAT_ZL = 0x62, /* Zl Separator, Line */
+ CUPS_GENCAT_ZP = 0x63, /* Zp Separator, Paragraph */
+ CUPS_GENCAT_C = 0x70, /* Other (miscellaneous) major class */
+ CUPS_GENCAT_CC = 0x71, /* Cc Other, Control */
+ CUPS_GENCAT_CF = 0x72, /* Cf Other, Format */
+ CUPS_GENCAT_CS = 0x73, /* Cs Other, Surrogate */
+ CUPS_GENCAT_CO = 0x74, /* Co Other, Private Use */
+ CUPS_GENCAT_CN = 0x75 /* Cn Other, Not Assigned */
+} cups_gencat_t;
+
+/*
+ * Note - parse Unicode char bidi category from 'UnicodeData.txt'
+ * into sparse local table in 'normalize.c'.
+ * Add bidirectional support to 'textcommon.c' - per Mike
+ */
+
+typedef enum /**** Unicode Bidi Category ****/
+{
+ CUPS_BIDI_L, /* Left-to-Right (Alpha, Syllabic, Ideographic) */
+ CUPS_BIDI_LRE, /* Left-to-Right Embedding (explicit) */
+ CUPS_BIDI_LRO, /* Left-to-Right Override (explicit) */
+ CUPS_BIDI_R, /* Right-to-Left (Hebrew alphabet and most punct) */
+ CUPS_BIDI_AL, /* Right-to-Left Arabic (Arabic, Thaana, Syriac) */
+ CUPS_BIDI_RLE, /* Right-to-Left Embedding (explicit) */
+ CUPS_BIDI_RLO, /* Right-to-Left Override (explicit) */
+ CUPS_BIDI_PDF, /* Pop Directional Format */
+ CUPS_BIDI_EN, /* Euro Number (Euro and East Arabic-Indic digits) */
+ CUPS_BIDI_ES, /* Euro Number Separator (Slash) */
+ CUPS_BIDI_ET, /* Euro Number Termintor (Plus, Minus, Degree, etc) */
+ CUPS_BIDI_AN, /* Arabic Number (Arabic-Indic digits, separators) */
+ CUPS_BIDI_CS, /* Common Number Separator (Colon, Comma, Dot, etc) */
+ CUPS_BIDI_NSM, /* Non-Spacing Mark (category Mn / Me in UCD) */
+ CUPS_BIDI_BN, /* Boundary Neutral (Formatting / Control chars) */
+ CUPS_BIDI_B, /* Paragraph Separator */
+ CUPS_BIDI_S, /* Segment Separator (Tab) */
+ CUPS_BIDI_WS, /* Whitespace Space (Space, Line Separator, etc) */
+ CUPS_BIDI_ON /* Other Neutrals */
+} cups_bidicat_t;
+
+/*
+ * Note - parse Unicode line break class from 'DerivedLineBreak.txt'
+ * into sparse local table (list of class ranges) in 'normalize.c'.
+ * Note - add state table from UAX-14, section 7.3 - Ira
+ * Remember to do BK and SP in outer loop (not in state table).
+ * Consider optimization for CM (combining mark).
+ * See 'LineBreak.txt' (12,875) and 'DerivedLineBreak.txt' (1,350).
+ */
+
+typedef enum /**** Unicode Line Break Class ****/
+{
+ /*
+ * (A) - Allow Break AFTER
+ * (XA) - Prevent Break AFTER
+ * (B) - Allow Break BEFORE
+ * (XB) - Prevent Break BEFORE
+ * (P) - Allow Break For Pair
+ * (XP) - Prevent Break For Pair
+ */
+ CUPS_BREAK_AI, /* Ambiguous (Alphabetic or Ideograph) */
+ CUPS_BREAK_AL, /* Ordinary Alphabetic / Symbol Chars (XP) */
+ CUPS_BREAK_BA, /* Break Opportunity After Chars (A) */
+ CUPS_BREAK_BB, /* Break Opportunities Before Chars (B) */
+ CUPS_BREAK_B2, /* Break Opportunity Before / After (B/A/XP) */
+ CUPS_BREAK_BK, /* Mandatory Break (A) (normative) */
+ CUPS_BREAK_CB, /* Contingent Break (B/A) (normative) */
+ CUPS_BREAK_CL, /* Closing Punctuation (XB) */
+ CUPS_BREAK_CM, /* Attached Chars / Combining (XB) (normative) */
+ CUPS_BREAK_CR, /* Carriage Return (A) (normative) */
+ CUPS_BREAK_EX, /* Exclamation / Interrogation (XB) */
+ CUPS_BREAK_GL, /* Non-breaking ("Glue") (XB/XA) (normative) */
+ CUPS_BREAK_HY, /* Hyphen (XA) */
+ CUPS_BREAK_ID, /* Ideographic (B/A) */
+ CUPS_BREAK_IN, /* Inseparable chars (XP) */
+ CUPS_BREAK_IS, /* Numeric Separator (Infix) (XB) */
+ CUPS_BREAK_LF, /* Line Feed (A) (normative) */
+ CUPS_BREAK_NS, /* Non-starters (XB) */
+ CUPS_BREAK_NU, /* Numeric (XP) */
+ CUPS_BREAK_OP, /* Opening Punctuation (XA) */
+ CUPS_BREAK_PO, /* Postfix (Numeric) (XB) */
+ CUPS_BREAK_PR, /* Prefix (Numeric) (XA) */
+ CUPS_BREAK_QU, /* Ambiguous Quotation (XB/XA) */
+ CUPS_BREAK_SA, /* Context Dependent (South East Asian) (P) */
+ CUPS_BREAK_SG, /* Surrogates (XP) (normative) */
+ CUPS_BREAK_SP, /* Space (A) (normative) */
+ CUPS_BREAK_SY, /* Symbols Allowing Break After (A) */
+ CUPS_BREAK_XX, /* Unknown (XP) */
+ CUPS_BREAK_ZW /* Zero Width Space (A) (normative) */
+} cups_breakclass_t;
+
+typedef int cups_combclass_t; /**** Unicode Combining Class ****/
+ /* 0=base / 1..254=combining char */
+
+/*
+ * Structures...
+ */
+
+typedef struct cups_normmap_str /**** Normalize Map Cache Struct ****/
+{
+ struct cups_normmap_str *next; /* Next normalize in cache */
+ int used; /* Number of times entry used */
+ cups_normalize_t normalize; /* Normalization type */
+ int normcount; /* Count of Source Chars */
+ ucs2_t *uni2norm; /* Char -> Normalization */
+ /* ...only supports UCS-2 */
+} cups_normmap_t;
+
+typedef struct cups_foldmap_str /**** Case Fold Map Cache Struct ****/
+{
+ struct cups_foldmap_str *next; /* Next case fold in cache */
+ int used; /* Number of times entry used */
+ cups_folding_t fold; /* Case folding type */
+ int foldcount; /* Count of Source Chars */
+ ucs2_t *uni2fold; /* Char -> Folded Char(s) */
+ /* ...only supports UCS-2 */
+} cups_foldmap_t;
+
+typedef struct cups_prop_str /**** Char Property Struct ****/
+{
+ ucs2_t ch; /* Unicode Char as UCS-2 */
+ unsigned char gencat; /* General Category */
+ unsigned char bidicat; /* Bidirectional Category */
+} cups_prop_t;
+
+typedef struct /**** Char Property Map Struct ****/
+{
+ int used; /* Number of times entry used */
+ int propcount; /* Count of Source Chars */
+ cups_prop_t *uni2prop; /* Char -> Properties */
+} cups_propmap_t;
+
+typedef struct /**** Line Break Class Map Struct ****/
+{
+ int used; /* Number of times entry used */
+ int breakcount; /* Count of Source Chars */
+ ucs2_t *uni2break; /* Char -> Line Break Class */
+} cups_breakmap_t;
+
+typedef struct cups_comb_str /**** Char Combining Class Struct ****/
+{
+ ucs2_t ch; /* Unicode Char as UCS-2 */
+ unsigned char combclass; /* Combining Class */
+ unsigned char reserved; /* Reserved for alignment */
+} cups_comb_t;
+
+typedef struct /**** Combining Class Map Struct ****/
+{
+ int used; /* Number of times entry used */
+ int combcount; /* Count of Source Chars */
+ cups_comb_t *uni2comb; /* Char -> Combining Class */
+} cups_combmap_t;
+
+/*
+ * Globals...
+ */
+
+extern int NzSupportUcs2; /* Support UCS-2 (16-bit) mapping */
+extern int NzSupportUcs4; /* Support UCS-4 (32-bit) mapping */
+
+/*
+ * Prototypes...
+ */
+
+/*
+ * Utility functions for normalization module
+ */
+extern int cupsNormalizeMapsGet(void);
+extern int cupsNormalizeMapsFree(void);
+extern void cupsNormalizeMapsFlush(void);
+
+/*
+ * Normalize UTF-8 string to Unicode UAX-15 Normalization Form
+ * Note - Compatibility Normalization Forms (NFKD/NFKC) are
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+extern int cupsUtf8Normalize(utf8_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_normalize_t normalize);
+ /* I - Normalization */
+
+/*
+ * Normalize UTF-32 string to Unicode UAX-15 Normalization Form
+ * Note - Compatibility Normalization Forms (NFKD/NFKC) are
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+extern int cupsUtf32Normalize(utf32_t *dest,
+ /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_normalize_t normalize);
+ /* I - Normalization */
+
+/*
+ * Case Fold UTF-8 string per Unicode UAX-21 Section 2.3
+ * Note - Case folding output is
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+extern int cupsUtf8CaseFold(utf8_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_folding_t fold); /* I - Fold Mode */
+
+/*
+ * Case Fold UTF-32 string per Unicode UAX-21 Section 2.3
+ * Note - Case folding output is
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+extern int cupsUtf32CaseFold(utf32_t *dest,/* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_folding_t fold); /* I - Fold Mode */
+
+/*
+ * Compare UTF-8 strings after case folding
+ */
+extern int cupsUtf8CompareCaseless(const utf8_t *s1,
+ /* I - String1 */
+ const utf8_t *s2); /* I - String2 */
+
+/*
+ * Compare UTF-32 strings after case folding
+ */
+extern int cupsUtf32CompareCaseless(const utf32_t *s1,
+ /* I - String1 */
+ const utf32_t *s2); /* I - String2 */
+
+/*
+ * Compare UTF-8 strings after case folding and NFKC normalization
+ */
+extern int cupsUtf8CompareIdentifier(const utf8_t *s1,
+ /* I - String1 */
+ const utf8_t *s2); /* I - String2 */
+
+/*
+ * Compare UTF-32 strings after case folding and NFKC normalization
+ */
+extern int cupsUtf32CompareIdentifier(const utf32_t *s1,
+ /* I - String1 */
+ const utf32_t *s2); /* I - String2 */
+
+/*
+ * Get UTF-32 character property
+ */
+extern int cupsUtf32CharacterProperty(const utf32_t ch,
+ /* I - Source char */
+ const cups_property_t property);
+ /* I - Char Property */
+
+# ifdef __cplusplus
+}
+# endif /* __cplusplus */
+
+#endif /* !_CUPS_NORMALIZE_H_ */
+
+/*
+ * End of "$Id: normalize.h,v 1.1.2.1 2002/08/19 01:15:20 mike Exp $"
+ */
/*
- * "$Id: testppd.c,v 1.18.2.4 2002/03/01 19:55:14 mike Exp $"
+ * "$Id: testppd.c,v 1.18.2.5 2002/08/19 01:15:20 mike Exp $"
*
* PPD test program for the Common UNIX Printing System (CUPS).
*
char *argv[]) /* I - Command-line arguments */
{
int i, j, k, m; /* Looping vars */
+ const char *filename; /* Filename */
ppd_file_t *ppd; /* PPD file record */
ppd_size_t *size; /* Size record */
ppd_group_t *group; /* UI group */
/*
- * End of "$Id: testppd.c,v 1.18.2.4 2002/03/01 19:55:14 mike Exp $".
+ * End of "$Id: testppd.c,v 1.18.2.5 2002/08/19 01:15:20 mike Exp $".
*/
--- /dev/null
+/*
+ * "$Id: transcode.c,v 1.1.2.1 2002/08/19 01:15:20 mike Exp $"
+ *
+ * Transcoding support for the Common UNIX Printing System (CUPS).
+ *
+ * Copyright 1997-2002 by Easy Software Products.
+ *
+ * These coded instructions, statements, and computer programs are
+ * the property of Easy Software Products and are protected by Federal
+ * copyright law. Distribution and use rights are outlined in the
+ * file "LICENSE.txt" which should have been included with this file.
+ * If this file is missing or damaged please contact Easy Software
+ * Products at:
+ *
+ * Attn: CUPS Licensing Information
+ * Easy Software Products
+ * 44141 Airport View Drive, Suite 204
+ * Hollywood, Maryland 20636-3111 USA
+ *
+ * Voice: (301) 373-9603
+ * EMail: cups-info@cups.org
+ * WWW: http://www.cups.org
+ *
+ * Contents:
+ *
+ * cupsCharmapGet() - Get a character set map.
+ * cupsCharmapFree() - Free a character set map.
+ * cupsCharmapFlush() - Flush all character set maps out of cache.
+ * cupsUtf8ToCharset() - Convert UTF-8 to legacy character set.
+ * cupsCharsetToUtf8() - Convert legacy character set to UTF-8.
+ * cupsUtf8ToUtf16() - Convert UTF-8 to UTF-16.
+ * cupsUtf16ToUtf8() - Convert UTF-16 to UTF-8.
+ * cupsUtf8ToUtf32() - Convert UTF-8 to UTF-32.
+ * cupsUtf32ToUtf8() - Convert UTF-32 to UTF-8.
+ * cupsUtf16ToUtf32() - Convert UTF-16 to UTF-32.
+ * cupsUtf32ToUtf16() - Convert UTF-32 to UTF-16.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <time.h>
+
+#include "language.h"
+#include "string.h"
+#include "transcode.h"
+
+/*
+ * Globals...
+ */
+
+int TcFixMapNames = 1; /* Fix map names to Unicode names */
+int TcStrictUtf8 = 0; /* Non-shortest-form is illegal */
+int TcStrictUtf16 = 0; /* Invalid surrogate pair is illegal */
+int TcStrictUtf32 = 0; /* Greater than 0x10ffff is illegal */
+int TcRequireBOM = 0; /* Require BOM for little/big-endian */
+int TcSupportBOM = 0; /* Support BOM for little/big-endian */
+int TcSupport8859 = 1; /* Support ISO 8859-x repertoires */
+int TcSupportWin = 1; /* Support Windows-x repertoires */
+int TcSupportCJK = 0; /* Support CJK Asian repertoires */
+
+/*
+ * Local Globals...
+ */
+
+static cups_cmap_t *cmap_cache = NULL; /* SBCS Charmap Cache */
+#if 0
+static cups_dmap_t *dmap_cache = NULL; /* DBCS Charmap Cache */
+#endif
+
+/*
+ * 'cupsCharmapGet()' - Get a character set map.
+ *
+ * This code only handles single-byte character sets (SBCS)...
+ * This code does not handle double-byte character sets (DBCS) or
+ * multiple-byte sets (MBCS) with charset switching via escapes...
+ */
+void * /* O - Charset map pointer */
+cupsCharmapGet(const cups_encoding_t encoding) /* I - Encoding */
+{
+ int i, j; /* Looping variables */
+ int legchar; /* Legacy character value */
+ utf32_t unichar; /* Unicode character value */
+ cups_cmap_t *cmap; /* Legacy SBCS / Unicode Charset Map */
+ char *datadir; /* CUPS_DATADIR environment variable */
+ char mapname[80]; /* Name of charset map */
+ char filename[256]; /* Filename for charset map file */
+ FILE *fp; /* Charset map file pointer */
+ char *s; /* Line parsing pointer */
+ sbcs_t *row; /* Pointer to row in 'uni2char' */
+ char line[256]; /* Line from charset map file */
+
+ /*
+ * See if we already have this charset map loaded...
+ */
+ for (cmap = cmap_cache; cmap != NULL; cmap = cmap->next)
+ {
+ if (cmap->encoding == encoding)
+ {
+ cmap->used ++;
+ return ((void *) cmap);
+ }
+ }
+
+ /*
+ * Get the data directory and encoding name...
+ */
+ if ((datadir = getenv("CUPS_DATADIR")) == NULL)
+ datadir = CUPS_DATADIR;
+ s = cupsEncodingName(encoding);
+
+ snprintf(mapname, sizeof(mapname), "%s.txt", s);
+
+ /*
+ * Open charset map input file...
+ */
+ snprintf(filename, sizeof(filename), "%s/charmaps/%s", datadir, mapname);
+ fp = fopen(filename, "r");
+ if (fp == NULL)
+ return (NULL);
+
+ /*
+ * Allocate memory for SBCS charset map and add to cache...
+ */
+ cmap = (cups_cmap_t *) calloc(1, sizeof(cups_cmap_t));
+ if (cmap == NULL)
+ {
+ fclose(fp);
+ return (NULL);
+ }
+ cmap->next = cmap_cache;
+ cmap_cache = cmap;
+ cmap->used ++;
+ cmap->encoding = encoding;
+
+ /*
+ * Save charset map into memory for transcoding...
+ */
+ for (i = j = 0; (i < 256) && (j < 40);)
+ {
+ s = fgets(&line[0], sizeof(line), fp);
+ if (s == NULL)
+ break;
+ if ((*s == '#') || (*s == '\n') || (*s == '\0'))
+ continue;
+ i ++;
+ if (strncmp (s, "0x", 2) == 0)
+ s += 2;
+ if (sscanf(s, "%x", &legchar) != 1)
+ break;
+ if ((legchar < 0) || (legchar > 255))
+ break;
+ while ((*s != 0) && (*s != ' ') && (*s != '\t'))
+ s ++;
+ while ((*s != 0) && ((*s == ' ') || (*s == '\t')))
+ s ++;
+ if (strncmp (s, "0x", 2) == 0)
+ s += 2;
+ if (sscanf(s, "%lx", &unichar) != 1)
+ break;
+
+ /*
+ * Convert beyond Plane 0 (BMP) to Replacement Character...
+ */
+ if (unichar > 0xffff)
+ unichar = 0xfffd;
+
+ /*
+ * Save legacy to Unicode mapping in direct lookup table...
+ */
+ cmap->char2uni[legchar] = (ucs2_t) (unichar & 0xffff);
+
+ /*
+ * Save Unicode to legacy mapping in indirect lookup table...
+ */
+ row = cmap->uni2char[(((int) unichar) >> 8) & 0xff];
+ if (row == NULL)
+ {
+ row = (sbcs_t *) calloc(256, sizeof(sbcs_t));
+ if (row == NULL)
+ {
+ cupsCharmapFlush();
+ return (NULL);
+ }
+ cmap->uni2char[(((int) unichar) >> 8) & 0xff] = row;
+ j ++;
+ }
+ row += (int) (unichar & 0xff);
+
+ /*
+ * Convert Replacement Character to visible replacement...
+ */
+ if (unichar == 0xfffd)
+ *row = '?';
+ else
+ *row = (sbcs_t) legchar;
+ }
+ fclose(fp);
+ return ((void *) cmap);
+}
+
+/*
+ * 'cupsCharmapFree()' - Free a character set map.
+ *
+ * This does not actually free; use 'cupsCharmapFlush()' for that.
+ */
+void
+cupsCharmapFree(const cups_encoding_t encoding) /* I - Encoding */
+{
+ cups_cmap_t *cmap; /* Legacy SBCS / Unicode Charset Map */
+
+ /*
+ * See if we already have this charset map loaded...
+ */
+ for (cmap = cmap_cache; cmap != NULL; cmap = cmap->next)
+ {
+ if (cmap->encoding == encoding)
+ {
+ if (cmap->used > 0)
+ cmap->used --;
+ break;
+ }
+ }
+ return;
+}
+
+/*
+ * 'cupsCharmapFlush()' - Flush all character set maps out of cache.
+ */
+void
+cupsCharmapFlush(void)
+{
+ int i; /* Looping variable */
+ cups_cmap_t *cmap; /* Legacy SBCS / Unicode Charset Map */
+ cups_cmap_t *next; /* Next Legacy Charset Map */
+ sbcs_t *row; /* Pointer to row in 'uni2char' */
+
+ /*
+ * Loop through charset map cache, free all memory...
+ */
+ for (cmap = cmap_cache; cmap != NULL; cmap = next)
+ {
+ for (i = 0; i < 256; i ++)
+ {
+ if (row = cmap->uni2char[i])
+ free(row);
+ }
+ next = cmap->next;
+ free(cmap);
+ }
+ cmap_cache = NULL;
+ return;
+}
+
+/*
+ * 'cupsUtf8ToCharset()' - Convert UTF-8 to legacy character set.
+ *
+ * This code only handles single-byte character sets (SBCS)...
+ * This code does not handle double-byte character sets (DBCS) or
+ * multiple-byte sets (MBCS) with charset switching via escapes...
+ */
+int /* O - Count or -1 on error */
+cupsUtf8ToCharset(char *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ cups_encoding_t encoding) /* I - Encoding */
+{
+ char *start = dest; /* Start of destination string */
+ cups_cmap_t *cmap; /* Legacy SBCS / Unicode Charset Map */
+ utf32_t ch; /* Character value */
+ int i; /* Looping variable */
+ int worklen; /* Internal UCS-4 string length */
+ utf32_t work[CUPS_MAX_USTRING];
+ /* Internal UCS-4 string */
+ sbcs_t *row; /* Pointer to row in 'uni2char' */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING)
+ || (encoding == CUPS_UTF8))
+ return (-1);
+ *dest = '\0';
+
+ /*
+ * Find legacy charset map in cache...
+ */
+ cmap = (cups_cmap_t *) cupsCharmapGet(encoding);
+ if (cmap == NULL)
+ return (-1);
+
+ /*
+ * Convert input UTF-8 to internal UCS-4 (and insert BOM)...
+ */
+ worklen = cupsUtf8ToUtf32(work, src, CUPS_MAX_USTRING);
+ if (worklen < 0)
+ return (-1);
+
+ /*
+ * Convert internal UCS-4 to output legacy charset (and delete BOM)...
+ */
+ for (i = 0; i < worklen;)
+ {
+ ch = work[i];
+ if (ch == 0)
+ break;
+ i ++;
+
+ /*
+ * Check for leading BOM (and delete from output)...
+ */
+ if ((i == 1) && (ch == 0xfeff))
+ continue;
+
+ /*
+ * Convert ASCII verbatim (optimization)...
+ */
+ if (ch < 0x7f)
+ {
+ *dest = (char) ch;
+ dest ++;
+ continue;
+ }
+
+ /*
+ * Convert unknown character to visible replacement...
+ */
+ row = cmap->uni2char[(int) ((ch >> 8) & 0xff)];
+ if (row)
+ row += (int) (ch & 0xff);
+ if ((row == NULL) || (*row == 0))
+ *dest = '?';
+ else
+ *dest = (char) (*row);
+ dest ++;
+ }
+ *dest = '\0';
+ worklen = (int) (dest - start);
+ cupsCharmapFree(encoding);
+ return (worklen);
+}
+
+/*
+ * 'cupsCharsetToUtf8()' - Convert legacy character set to UTF-8.
+ *
+ * This code only handles single-byte character sets (SBCS)...
+ * This code does not handle double-byte character sets (DBCS) or
+ * multiple-byte sets (MBCS) with charset switching via escapes...
+ */
+int /* O - Count or -1 on error */
+cupsCharsetToUtf8(utf8_t *dest, /* O - Target string */
+ const char *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ cups_encoding_t encoding) /* I - Encoding */
+{
+ cups_cmap_t *cmap; /* Legacy SBCS / Unicode Charset Map */
+ int i; /* Looping variable */
+ int worklen; /* Internal UCS-4 string length */
+ utf32_t work[CUPS_MAX_USTRING];
+ /* Internal UCS-4 string */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING)
+ || (encoding == CUPS_UTF8))
+ return (-1);
+ *dest = '\0';
+
+ /*
+ * Find legacy charset map in cache...
+ */
+ cmap = (cups_cmap_t *) cupsCharmapGet(encoding);
+ if (cmap == NULL)
+ return (-1);
+
+ /*
+ * Convert input legacy charset to internal UCS-4 (and insert BOM)...
+ */
+ i = 0;
+ if (TcRequireBOM)
+ {
+ work[0] = 0xfeff;
+ i ++;
+ }
+ for (; i < (CUPS_MAX_USTRING - 1); src ++)
+ {
+ if (*src == '\0')
+ break;
+ if (cmap->char2uni[(sbcs_t) *src] == 0)
+ work[i] = 0xfffd;
+ else
+ work[i] = (utf32_t) cmap->char2uni[(sbcs_t) *src];
+ i ++;
+ }
+ work[i] = 0;
+
+ /*
+ * Convert internal UCS-4 to output UTF-8 (and delete BOM)...
+ */
+ worklen = cupsUtf32ToUtf8(dest, work, maxout);
+ cupsCharmapFree(encoding);
+ return (worklen);
+}
+
+/*
+ * 'cupsUtf8ToUtf16()' - Convert UTF-8 to UTF-16.
+ *
+ * This code does not support Unicode beyond 16-bits (Plane 0)...
+ */
+int /* O - Count or -1 on error */
+cupsUtf8ToUtf16(utf16_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout) /* I - Max output */
+{
+ int worklen; /* Internal UCS-4 string length */
+ utf32_t work[CUPS_MAX_USTRING];
+ /* Internal UCS-4 string */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+
+ /*
+ * Convert input UTF-8 to internal UCS-4 (and insert BOM)...
+ */
+ worklen = cupsUtf8ToUtf32(work, src, CUPS_MAX_USTRING);
+ if (worklen < 0)
+ return (-1);
+
+ /*
+ * Convert internal UCS-4 to output UTF-16...
+ */
+ worklen = cupsUtf32ToUtf16(dest, work, maxout);
+ return (worklen);
+}
+
+/*
+ * 'cupsUtf16ToUtf8()' - Convert UTF-16 to UTF-8.
+ *
+ * This code does not support Unicode beyond 16-bits (Plane 0)...
+ */
+int /* O - Count or -1 on error */
+cupsUtf16ToUtf8(utf8_t *dest, /* O - Target string */
+ const utf16_t *src, /* I - Source string */
+ const int maxout) /* I - Max output */
+{
+ int worklen; /* Internal UCS-4 string length */
+ utf32_t work[CUPS_MAX_USTRING];
+ /* Internal UCS-4 string */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+
+ /*
+ * Convert input UTF-16 to internal UCS-4 (and byte-swap)...
+ */
+ worklen = cupsUtf16ToUtf32(work, src, CUPS_MAX_USTRING);
+ if (worklen < 0)
+ return (-1);
+
+ /*
+ * Convert internal UCS-4 to output UTF-8 (and delete BOM)...
+ */
+ worklen = cupsUtf32ToUtf8(dest, work, maxout);
+ return (worklen);
+}
+
+/*
+ * 'cupsUtf8ToUtf32()' - Convert UTF-8 to UTF-32.
+ *
+ * 32-bit UTF-32 (actually 21-bit) maps to UTF-8 as follows...
+ *
+ * UTF-32 char UTF-8 char(s)
+ * --------------------------------------------------
+ * 0 to 127 = 0xxxxxxx (US-ASCII)
+ * 128 to 2047 = 110xxxxx 10yyyyyy
+ * 2048 to 65535 = 1110xxxx 10yyyyyy 10zzzzzz
+ * > 65535 = 11110xxx 10yyyyyy 10zzzzzz 10xxxxxx
+ *
+ * UTF-32 prohibits chars beyond Plane 16 (> 0x10ffff) in UCS-4,
+ * which would convert to five- or six-octet UTF-8 sequences...
+ *
+ * This code does not support Unicode beyond 16-bits (Plane 0)...
+ */
+int /* O - Count or -1 on error */
+cupsUtf8ToUtf32(utf32_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout) /* I - Max output */
+{
+ utf8_t *first = (utf8_t *) src;
+ int srclen; /* Source string length */
+ int i; /* Looping variable */
+ utf32_t ch; /* Character value */
+ utf32_t next; /* Next character value */
+ utf32_t ch32; /* UTF-32 character value */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+
+ /*
+ * Convert input UTF-8 to output UTF-32 (and insert BOM)...
+ */
+ i = 0;
+ if (TcRequireBOM)
+ {
+ *dest = 0xfeff;
+ dest ++;
+ i ++;
+ }
+ srclen = strlen((char *) src);
+ for (; i < (maxout - 1); src ++, dest ++)
+ {
+ ch = (utf32_t) *src;
+ ch &= 0xff;
+ if (ch == 0)
+ break;
+ i ++;
+
+ /*
+ * Convert UTF-8 character(s) to UTF-32 character...
+ */
+ if ((ch & 0x7f) == ch)
+ {
+ /*
+ * One-octet UTF-8 <= 127 (US-ASCII)...
+ */
+ *dest = ch;
+ }
+ else if ((ch & 0xe0) == 0xc0)
+ {
+ /*
+ * Two-octet UTF-8 <= 2047 (Latin-x)...
+ */
+ src ++;
+ next = (utf32_t) *src;
+ next &= 0xff;
+ if (next == 0)
+ return (-1);
+ ch32 = ((ch & 0x1f) << 6) | (next & 0x3f);
+
+ /*
+ * Check for non-shortest form (invalid UTF-8)...
+ */
+ if ((TcStrictUtf8) && (ch32 <= 127))
+ return (-1);
+ *dest = ch32;
+ }
+ else if ((ch & 0xf0) == 0xe0)
+ {
+ /*
+ * Three-octet UTF-8 <= 65535 (Plane 0 - BMP)...
+ */
+ src ++;
+ next = (utf32_t) *src;
+ next &= 0xff;
+ if (next == 0)
+ return (-1);
+ ch32 = ((ch & 0x1f) << 6) | (next & 0x3f);
+ src ++;
+ next = (utf32_t) *src;
+ next &= 0xff;
+ if (next == 0)
+ return (-1);
+ ch32 = ((ch32 << 6) | (next & 0x3f));
+
+ /*
+ * Check for non-shortest form (invalid UTF-8)...
+ */
+ if ((TcStrictUtf8) && (ch32 <= 2047))
+ return (-1);
+ *dest = ch32;
+ }
+ else if ((ch & 0xf8) == 0xf0)
+ {
+ /*
+ * Four-octet UTF-8 to Replacement Character...
+ */
+ if (((src - first) + 3) >= srclen)
+ return (-1);
+ src += 3;
+ *dest = 0xfffd;
+ }
+ else if ((ch & 0xfc) == 0xf8)
+ {
+ /*
+ * Five-octet UTF-8 to Replacement Character...
+ */
+ if (TcStrictUtf32)
+ return (-1);
+ if (((src - first) + 4) >= srclen)
+ return (-1);
+ src += 4;
+ *dest = 0xfffd;
+ }
+ else if ((ch & 0xfe) == 0xfc)
+ {
+ /*
+ * Six-octet UTF-8 to Replacement Character...
+ */
+ if (TcStrictUtf32)
+ return (-1);
+ if (((src - first) + 5) >= srclen)
+ return (-1);
+ src += 5;
+ *dest = 0xfffd;
+ }
+ else
+ {
+ /*
+ * More than six-octet (invalid UTF-8 sequence)...
+ */
+ return (-1);
+ }
+
+ /*
+ * Check for UTF-16 surrogate (illegal UTF-8)...
+ */
+ if ((*dest >= 0xd800) && (*dest <= 0xdfff))
+ return (-1);
+
+ /*
+ * Check for beyond Plane 16 (invalid UTF-8)...
+ */
+ if ((TcStrictUtf8) && (*dest > 0x10ffff))
+ return (-1);
+ }
+ *dest = 0;
+ return (i);
+}
+
+/*
+ * 'cupsUtf32ToUtf8()' - Convert UTF-32 to UTF-8.
+ *
+ * 32-bit UTF-32 (actually 21-bit) maps to UTF-8 as follows...
+ *
+ * UTF-32 char UTF-8 char(s)
+ * --------------------------------------------------
+ * 0 to 127 = 0xxxxxxx (US-ASCII)
+ * 128 to 2047 = 110xxxxx 10yyyyyy
+ * 2048 to 65535 = 1110xxxx 10yyyyyy 10zzzzzz
+ * > 65535 = 11110xxx 10yyyyyy 10zzzzzz 10xxxxxx
+ *
+ * UTF-32 prohibits chars beyond Plane 16 (> 0x10ffff) in UCS-4,
+ * which would convert to five- or six-octet UTF-8 sequences...
+ *
+ * This code does not support Unicode beyond 16-bits (Plane 0)...
+ */
+int /* O - Count or -1 on error */
+cupsUtf32ToUtf8(utf8_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout) /* I - Max output */
+{
+ utf32_t *first = (utf32_t *) src;
+ /* First source char */
+ utf8_t *start = dest; /* Start of destination string */
+ int i; /* Looping variable */
+ int swap = 0; /* Byte-swap input to output */
+ utf32_t ch; /* Character value */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1))
+ return (-1);
+ *dest = '\0';
+
+ /*
+ * Check for leading BOM in UTF-32 and inverted BOM...
+ */
+ if ((TcSupportBOM | TcRequireBOM)
+ && (*src == 0xfffe0000))
+ swap = 1;
+
+ /*
+ * Check for leading BOM in UTF-32 and unsupported...
+ */
+ if ((TcSupportBOM == 0)
+ && ((*src == 0xfeff) || (*src == 0xfffe0000)))
+ return (-1);
+
+ /*
+ * Check for missing BOM in UTF-32 and required...
+ */
+ if ((TcRequireBOM)
+ && ((*src != 0xfeff) && (*src != 0xfffe0000)))
+ return (-1);
+
+ /*
+ * Convert input UTF-32 to output UTF-8...
+ */
+ for (i = 0; i < (maxout - 1); src ++)
+ {
+ ch = *src;
+ if (ch == 0)
+ break;
+
+ /*
+ * Byte swap input UTF-32, if necessary...
+ */
+ if (swap)
+ ch = ((ch >> 24) | ((ch >> 8) & 0xff00) | ((ch << 8) & 0xff0000));
+
+ /*
+ * Check for leading BOM (and delete from output)...
+ */
+ if ((src == first) && (ch == 0xfeff))
+ continue;
+
+ /*
+ * Check for beyond Plane 16 (invalid UTF-32)...
+ */
+ if ((TcStrictUtf32) && (ch > 0x10ffff))
+ return (-1);
+
+ /*
+ * Convert beyond Plane 0 (BMP) to Replacement Character...
+ */
+ if (ch > 0xffff)
+ ch = 0xfffd;
+
+ /*
+ * Convert UTF-32 character to UTF-8 character(s)...
+ */
+ if (ch <= 0x7f)
+ {
+ /*
+ * One-octet UTF-8 <= 127 (US-ASCII)...
+ */
+ *dest = (utf8_t) ch;
+ dest ++;
+ i ++;
+ }
+ else if (ch <= 0x7ff)
+ {
+ /*
+ * Two-octet UTF-8 <= 2047 (Latin-x)...
+ */
+ if (i > (maxout - 2))
+ break;
+ *dest = (utf8_t) (0xc0 | ((ch >> 6) & 0x1f));
+ dest ++;
+ i ++;
+ *dest = (utf8_t) (0x80 | (ch & 0x3f));
+ dest ++;
+ i ++;
+ }
+ else
+ {
+ /*
+ * Three-octet UTF-8 <= 65535 (Plane 0 - BMP)...
+ */
+ if (i > (maxout - 3))
+ break;
+ *dest = (utf8_t) (0xe0 | ((ch >> 12) & 0x0f));
+ dest ++;
+ i ++;
+ *dest = (utf8_t) (0x80 | ((ch >> 6) & 0x3f));
+ dest ++;
+ i ++;
+ *dest = (utf8_t) (0x80 | (ch & 0x3f));
+ dest ++;
+ i ++;
+ }
+ }
+ *dest = '\0';
+ i = (int) (dest - start);
+ return (i);
+}
+
+/*
+ * 'cupsUtf16ToUtf32()' - Convert UTF-16 to UTF-32.
+ *
+ * This code does not support Unicode beyond 16-bits (Plane 0)...
+ */
+int /* O - Count or -1 on error */
+cupsUtf16ToUtf32(utf32_t *dest, /* O - Target string */
+ const utf16_t *src, /* I - Source string */
+ const int maxout) /* I - Max output */
+{
+ int i; /* Looping variable */
+ int swap = 0; /* Byte-swap input to output */
+ int surrogate = 0; /* Expecting low-half surrogate */
+ utf32_t ch; /* Character value */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+
+ /*
+ * Check for leading BOM in UTF-16 and inverted BOM...
+ */
+ if ((TcSupportBOM | TcRequireBOM)
+ && (*src == 0xfffe))
+ swap = 1;
+
+ /*
+ * Check for leading BOM in UTF-16 and unsupported...
+ */
+ if ((TcSupportBOM == 0)
+ && ((*src == 0xfeff) || (*src == 0xfffe)))
+ return (-1);
+
+ /*
+ * Check for missing BOM in UTF-16 and required...
+ */
+ if ((TcRequireBOM)
+ && ((*src != 0xfeff) && (*src != 0xfffe)))
+ return (-1);
+
+ /*
+ * Convert input UTF-16 to output UTF-32...
+ */
+ for (i = 0; i < (maxout - 1); src ++)
+ {
+ ch = (utf32_t) (*src & 0xffff);
+ if (ch == 0)
+ break;
+ i ++;
+
+ /*
+ * Byte swap input UTF-16, if necessary...
+ */
+ if (swap)
+ ch = (utf32_t) ((ch << 8) | (ch >> 8));
+
+ /*
+ * Discard expected UTF-16 low-half surrogate...
+ */
+ if ((ch >= 0xdc00) && (ch <= 0xdfff))
+ {
+ if ((TcStrictUtf16) && (surrogate == 0))
+ return (-1);
+ surrogate = 0;
+ continue;
+ }
+
+ /*
+ * Convert UTF-16 high-half surrogate to Replacement Character...
+ */
+ if ((ch >= 0xd800) && (ch <= 0xdbff))
+ {
+ if ((TcStrictUtf16) && (surrogate == 1))
+ return (-1);
+ surrogate = 1;
+ ch = 0xfffd;
+ }
+ *dest = ch;
+ dest ++;
+ }
+ *dest = 0;
+ return (i);
+}
+
+/*
+ * 'cupsUtf32ToUtf16()' - Convert UTF-32 to UTF-16.
+ *
+ * This code does not support Unicode beyond 16-bits (Plane 0)...
+ */
+int /* O - Count or -1 on error */
+cupsUtf32ToUtf16(utf16_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout) /* I - Max output */
+{
+ int i; /* Looping variable */
+ int swap = 0; /* Byte-swap input to output */
+ utf32_t ch; /* Character value */
+
+ /*
+ * Check for valid arguments and clear output...
+ */
+ if ((dest == NULL)
+ || (src == NULL)
+ || (maxout < 1)
+ || (maxout > CUPS_MAX_USTRING))
+ return (-1);
+ *dest = 0;
+
+ /*
+ * Check for leading BOM in UTF-32 and inverted BOM...
+ */
+ if ((TcSupportBOM | TcRequireBOM)
+ && (*src == 0xfffe0000))
+ swap = 1;
+
+ /*
+ * Check for leading BOM in UTF-32 and unsupported...
+ */
+ if ((TcSupportBOM == 0)
+ && ((*src == 0xfeff) || (*src == 0xfffe0000)))
+ return (-1);
+
+ /*
+ * Check for missing BOM in UTF-32 and required...
+ */
+ if ((TcRequireBOM)
+ && ((*src != 0xfeff) && (*src != 0xfffe0000)))
+ return (-1);
+
+ /*
+ * Convert input UTF-32 to output UTF-16 (w/out surrogate pairs)...
+ */
+ for (i = 0; i < (maxout - 1); src ++, dest ++)
+ {
+ ch = *src;
+ if (ch == 0)
+ break;
+ i ++;
+
+ /*
+ * Byte swap input UTF-32, if necessary...
+ */
+ if (swap)
+ ch = ((ch >> 24) | ((ch >> 8) & 0xff00) | ((ch << 8) & 0xff0000));
+
+ /*
+ * Check for UTF-16 surrogate (illegal UTF-32)...
+ */
+ if ((ch >= 0xd800) && (ch <= 0xdfff))
+ return (-1);
+
+ /*
+ * Check for beyond Plane 16 (invalid UTF-32)...
+ */
+ if ((TcStrictUtf32) && (ch > 0x10ffff))
+ return (-1);
+
+ /*
+ * Convert beyond Plane 0 (BMP) to Replacement Character...
+ */
+ if (ch > 0xffff)
+ ch = 0xfffd;
+ *dest = (utf16_t) ch;
+ }
+ *dest = 0;
+ return (i);
+}
+
+/*
+ * End of "$Id: transcode.c,v 1.1.2.1 2002/08/19 01:15:20 mike Exp $"
+ */
--- /dev/null
+/*
+ * "$Id: transcode.h,v 1.1.2.1 2002/08/19 01:15:21 mike Exp $"
+ *
+ * Transcoding support for the Common UNIX Printing System (CUPS).
+ *
+ * Copyright 1997-2002 by Easy Software Products.
+ *
+ * These coded instructions, statements, and computer programs are
+ * the property of Easy Software Products and are protected by Federal
+ * copyright law. Distribution and use rights are outlined in the
+ * file "LICENSE.txt" which should have been included with this file.
+ * If this file is missing or damaged please contact Easy Software
+ * Products at:
+ *
+ * Attn: CUPS Licensing Information
+ * Easy Software Products
+ * 44141 Airport View Drive, Suite 204
+ * Hollywood, Maryland 20636-3111 USA
+ *
+ * Voice: (301) 373-9603
+ * EMail: cups-info@cups.org
+ * WWW: http://www.cups.org
+ */
+
+#ifndef _CUPS_TRANSCODE_H_
+# define _CUPS_TRANSCODE_H_
+
+/*
+ * Include necessary headers...
+ */
+
+# include "language.h"
+
+# ifdef __cplusplus
+extern "C" {
+# endif /* __cplusplus */
+
+/*
+ * Types...
+ */
+
+typedef unsigned char utf8_t; /* UTF-8 Unicode/ISO-10646 code unit */
+typedef unsigned short utf16_t; /* UTF-16 Unicode/ISO-10646 code unit */
+typedef unsigned long utf32_t; /* UTF-32 Unicode/ISO-10646 code unit */
+typedef unsigned short ucs2_t; /* UCS-2 Unicode/ISO-10646 code unit */
+typedef unsigned long ucs4_t; /* UCS-4 Unicode/ISO-10646 code unit */
+typedef unsigned char sbcs_t; /* SBCS Legacy 8-bit code unit */
+typedef unsigned short dbcs_t; /* DBCS Legacy 16-bit code unit */
+
+/*
+ * Structures...
+ */
+
+typedef struct cups_cmap_str /**** SBCS Charmap Cache Structure ****/
+{
+ struct cups_cmap_str *next; /* Next charmap in cache */
+ int used; /* Number of times entry used */
+ cups_encoding_t encoding; /* Legacy charset encoding */
+ ucs2_t char2uni[256]; /* Map Legacy SBCS -> UCS-2 */
+ sbcs_t *uni2char[256]; /* Map UCS-2 -> Legacy SBCS */
+} cups_cmap_t;
+
+#if 0
+typedef struct cups_dmap_str /**** DBCS Charmap Cache Structure ****/
+{
+ struct cups_dmap_str *next; /* Next charmap in cache */
+ int used; /* Number of times entry used */
+ cups_encoding_t encoding; /* Legacy charset encoding */
+ ucs2_t *char2uni[256]; /* Map Legacy DBCS -> UCS-2 */
+ dbcs_t *uni2char[256]; /* Map UCS-2 -> Legacy DBCS */
+} cups_dmap_t;
+#endif
+
+/*
+ * Constants...
+ */
+#define CUPS_MAX_USTRING 1024 /* Maximum size of Unicode string */
+
+/*
+ * Globals...
+ */
+
+extern int TcFixMapNames; /* Fix map names to Unicode names */
+extern int TcStrictUtf8; /* Non-shortest-form is illegal */
+extern int TcStrictUtf16; /* Invalid surrogate pair is illegal */
+extern int TcStrictUtf32; /* Greater than 0x10FFFF is illegal */
+extern int TcRequireBOM; /* Require BOM for little/big-endian */
+extern int TcSupportBOM; /* Support BOM for little/big-endian */
+extern int TcSupport8859; /* Support ISO 8859-x repertoires */
+extern int TcSupportWin; /* Support Windows-x repertoires */
+extern int TcSupportCJK; /* Support CJK (Asian) repertoires */
+
+/*
+ * Prototypes...
+ */
+
+/*
+ * Utility functions for character set maps
+ */
+extern void *cupsCharmapGet(const cups_encoding_t encoding);
+ /* I - Encoding */
+extern void cupsCharmapFree(const cups_encoding_t encoding);
+ /* I - Encoding */
+extern void cupsCharmapFlush(void);
+
+/*
+ * Convert UTF-8 to and from legacy character set
+ */
+extern int cupsUtf8ToCharset(char *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ cups_encoding_t encoding); /* I - Encoding */
+extern int cupsCharsetToUtf8(utf8_t *dest, /* O - Target string */
+ const char *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ cups_encoding_t encoding); /* I - Encoding */
+
+/*
+ * Convert UTF-8 to and from UTF-16
+ */
+extern int cupsUtf8ToUtf16(utf16_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+extern int cupsUtf16ToUtf8(utf8_t *dest, /* O - Target string */
+ const utf16_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+/*
+ * Convert UTF-8 to and from UTF-32
+ */
+extern int cupsUtf8ToUtf32(utf32_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+extern int cupsUtf32ToUtf8(utf8_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+/*
+ * Convert UTF-16 to and from UTF-32
+ */
+extern int cupsUtf16ToUtf32(utf32_t *dest, /* O - Target string */
+ const utf16_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+extern int cupsUtf32ToUtf16(utf16_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+# ifdef __cplusplus
+}
+# endif /* __cplusplus */
+
+#endif /* !_CUPS_TRANSCODE_H_ */
+
+/*
+ * End of "$Id: transcode.h,v 1.1.2.1 2002/08/19 01:15:21 mike Exp $"
+ */
#
-# "$Id: Makefile,v 1.12.2.3 2002/01/29 20:28:02 mike Exp $"
+# "$Id: Makefile,v 1.12.2.4 2002/08/19 01:15:21 mike Exp $"
#
# Datafile makefile for the Common UNIX Printing System (CUPS).
#
standard \
topsecret \
unclassified
-
+CHARMAPS = windows-874.txt \
+ windows-1250.txt \
+ windows-1251.txt \
+ windows-1252.txt \
+ windows-1253.txt \
+ windows-1254.txt \
+ windows-1255.txt \
+ windows-1256.txt \
+ windows-1257.txt \
+ windows-1258.txt \
+ koi8-r.txt \
+ iso-8859-1.txt \
+ iso-8859-2.txt \
+ iso-8859-3.txt \
+ iso-8859-4.txt \
+ iso-8859-5.txt \
+ iso-8859-6.txt \
+ iso-8859-7.txt \
+ iso-8859-8.txt \
+ iso-8859-9.txt \
+ iso-8859-10.txt \
+ iso-8859-13.txt \
+ iso-8859-14.txt \
+ iso-8859-15.txt \
+ unibreak.txt \
+ uni-comb.txt \
+ uni-fold.txt \
+ uni-full.txt \
+ uni-line.txt \
+ uni-nfc.txt \
+ uni-nfd.txt \
+ uni-nfkd.txt \
+ uni-prop.txt
CHARSETS = windows-874 \
windows-1250 \
windows-1251 \
for file in $(BANNERS); do \
$(INSTALL_DATA) $$file $(DATADIR)/banners; \
done
+ $(INSTALL_DIR) $(DATADIR)/charmaps
+ for file in $(CHARMAPS); do \
+ $(INSTALL_DATA) $$file $(DATADIR)/charmaps; \
+ done
$(INSTALL_DIR) $(DATADIR)/charsets
for file in $(CHARSETS); do \
$(INSTALL_DATA) $$file $(DATADIR)/charsets; \
#
-# End of "$Id: Makefile,v 1.12.2.3 2002/01/29 20:28:02 mike Exp $".
+# End of "$Id: Makefile,v 1.12.2.4 2002/08/19 01:15:21 mike Exp $".
#
--- /dev/null
+
+
+ WORKING DRAFT Ira McDonald
+ <i18n_sdd.txt> High North Inc
+
+ Common UNIX Printing System ("CUPS")
+ Internationalization Software Design Description v0.3
+
+ Copyright (C) Easy Software Products (2002) - All Rights Reserved
+
+
+ Status of this Document
+
+ This document is an unapproved working draft and is incomplete in some
+ sections (see 'Ed Note:' comments).
+
+
+ Abstract
+
+ This document provides general information and high-level design for the
+ Internationalization extensions for the Common UNIX Printing System
+ ("CUPS") Version 1.2. This document also provides C language header
+ files and high-level pseudo-code for all new modules and external
+ functions.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 1]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ Table of Contents
+
+ 1. Scope ...................................................... 4
+ 1.1. Identification ......................................... 4
+ 1.2. System Overview ........................................ 4
+ 1.3. Document Overview ...................................... 4
+ 2. References ................................................. 5
+ 2.1. CUPS References ........................................ 5
+ 2.2. Other Documents ........................................ 5
+ 3. Design Overview ............................................ 7
+ 3.1. Transcoding - New ...................................... 7
+ 3.1.1. transcode.h - Transcoding header ................... 7
+ 3.1.1.1. cups_cmap_t - SBCS Charmap Structure ........... 10
+ 3.1.1.2. cups_dmap_t - DBCS Charmap Structure ........... 11
+ 3.1.2. transcode.c - Transcoding module ................... 11
+ 3.1.2.1. cupsUtf8ToCharset() ............................ 11
+ 3.1.2.2. cupsCharsetToUtf8() ............................ 12
+ 3.1.2.3. cupsUtf8ToUtf16() .............................. 12
+ 3.1.2.4. cupsUtf16ToUtf8() .............................. 12
+ 3.1.2.5. cupsUtf8ToUtf32() .............................. 12
+ 3.1.2.6. cupsUtf32ToUtf8() .............................. 13
+ 3.1.2.7. cupsUtf16ToUtf32() ............................. 13
+ 3.1.2.8. cupsUtf32ToUtf16() ............................. 13
+ 3.1.2.9. Transcoding Utility Functions .................. 13
+ 3.1.2.9.1. cupsCharmapGet() ........................... 14
+ 3.1.2.9.2. cupsCharmapFree() .......................... 14
+ 3.1.2.9.3. cupsCharmapFlush() ......................... 14
+ 3.2. Normalization - New .................................... 15
+ 3.2.1. normalize.h - Normalization header ................. 15
+ 3.2.1.1. cups_normmap_t - Normalize Map Structure ....... 22
+ 3.2.1.2. cups_foldmap_t - Case Fold Map Structure ....... 22
+ 3.2.1.3. cups_propmap_t - Char Property Map Structure ... 23
+ 3.2.1.4. cups_prop_t - Char Property Structure .......... 23
+ 3.2.1.5. cups_breakmap_t - Line Break Map Structure ..... 23
+ 3.2.1.6. cups_combmap_t - Combining Class Map Structure . 24
+ 3.2.1.7. cups_comb_t - Combining Class Structure ........ 24
+ 3.2.2. normalize.c - Normalization module ................. 24
+ 3.2.2.1. cupsUtf8Normalize() ............................ 24
+ 3.2.2.2. cupsUtf32Normalize() ........................... 25
+ 3.2.2.3. cupsUtf8CaseFold() ............................. 25
+ 3.2.2.4. cupsUtf32CaseFold() ............................ 26
+ 3.2.2.5. cupsUtf8CompareCaseless() ...................... 26
+ 3.2.2.6. cupsUtf32CompareCaseless() ..................... 26
+ 3.2.2.7. cupsUtf8CompareIdentifier() .................... 27
+ 3.2.2.8. cupsUtf32CompareIdentifier() ................... 27
+ 3.2.2.9. cupsUtf32CharacterProperty() ................... 27
+ 3.2.2.10. Normalization Utility Functions ............... 28
+ 3.2.2.10.1. cupsNormalizeMapsGet() .................... 28
+ 3.2.2.10.2. cupsNormalizeMapsFree() ................... 28
+ 3.2.2.10.3. cupsNormalizeMapsFlush() .................. 28
+ 3.3. Language - Existing .................................... 29
+ 3.3.1. language.h - Language header ....................... 29
+
+ McDonald June 20, 2002 [Page 2]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ 3.3.2. language.c - Language module ....................... 29
+ 3.3.2.1. cupsLangEncoding() - Existing .................. 29
+ 3.3.2.2. cupsLangFlush() - Existing ..................... 29
+ 3.3.2.3. cupsLangFree() - Existing ...................... 29
+ 3.3.2.4. cupsLangGet() - Existing ....................... 30
+ 3.3.2.5. cupsLangPrintf() - New ......................... 30
+ 3.3.2.6. cupsLangPuts() - New ........................... 30
+ 3.3.2.7. cupsEncodingName() - New ....................... 31
+ 3.4. Common Text Filter - Existing .......................... 31
+ 3.4.1. textcommon.h - Common text filter header ........... 31
+ 3.4.1.1. lchar_t - Character/Attribute Structure ........ 31
+ 3.4.2. textcommon.c - Common text filter .................. 32
+ 3.4.2.1. TextMain() - Existing .......................... 32
+ 3.4.2.2. compare_keywords() - Existing .................. 33
+ 3.4.2.3. getutf8() - Existing ........................... 33
+ 3.5. Text to PostScript Filter - Existing ................... 33
+ 3.5.1. texttops.c - Text to PostScript filter ............. 33
+ 3.5.1.1. main() - Existing .............................. 33
+ 3.5.1.2. WriteEpilogue () - Existing .................... 34
+ 3.5.1.3. WritePage () - Existing ........................ 34
+ 3.5.1.4. WriteProlog () - Existing ...................... 34
+ 3.5.1.5. write_line() - Existing ........................ 34
+ 3.5.1.6. write_string() - Existing ...................... 34
+ 3.5.1.7. write_text() - Existing ........................ 35
+ A. Glossary ................................................... A-1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 3]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 1. Scope
+
+
+
+ 1.1. Identification
+
+ This document provides general information and high-level design for the
+ Internationalization extensions for the Common UNIX Printing System
+ ("CUPS") Version 1.2. This document also provides C language header
+ files and high-level pseudo-code for all new modules and external
+ functions.
+
+
+ 1.2. System Overview
+
+ The CUPS Internationalization extensions provide multilingual support
+ via Unicode 3.2:2002 [UNICODE3.2] / ISO-10646-1:2000 [ISO10646-1] and a
+ suite of local character sets (including all adopted parts of ISO-8859
+ and many MS Windows code pages) for CUPS 1.2.
+
+ The CUPS Internationalization extensions support UTF-8 [RFC2279] as the
+ common stream-oriented representation of all character data. UTF-8 is
+ defined in [ISO10646-1] and is further constrained (for integrity and
+ security) by [UNICODE3.2].
+
+ UTF-8 is the native character set of LDAPv3 [RFC2251], SLPv2 [RFC2608],
+ IPP/1.1 [RFC2910] [RFC2911], and many other Internet protocols.
+
+
+ 1.3. Document Overview
+
+
+ This software design description document is organized into the
+ following sections:
+
+ o 1 - Scope
+ o 2 - References
+ o 3 - Design Overview
+ o A - Glossary
+
+
+
+
+
+
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 4]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 2. References
+
+
+
+ 2.1. CUPS References
+
+ See: Section 2.1 'CUPS Documentation' of CUPS Software Design
+ Description.
+
+
+ 2.2. Other Documents
+
+ The following non-CUPS documents are referenced by this document.
+
+ [ANSI-X3.4] ANSI Coded Character Set - 7-bit American National Standard
+ Code for Information Interchange, ANSI X3.4, 1986 (aka US-ASCII).
+
+ [GB2312] Code of Chinese Graphic Character Set for Information
+ Interchange, Primary Set, GB 2312, 1980.
+
+ [ISO639-1] Codes for the Representation of Names of Languages -- Part 1:
+ Alpha-2 Code, ISO/IEC 639-1, 2000.
+
+ [ISO639-2] Codes for the Representation of Names of Languages -- Part 2:
+ Alpha-3 Code, ISO/IEC 639-2, 1998.
+
+ [ISO646] Information Technology - ISO 7-bit Coded Character Set for
+ Information Interchange, ISO/IEC 646, 1991.
+
+ [ISO2022] Information Processing - ISO 7-bit and 8-bit Coded Character
+ Sets - Code Extension Techniques, ISO/IEC 2022, 1994. (Technically
+ identical to ECMA-35.)
+
+ [ISO3166-1] Codes for the Representation of Names of Countries and their
+ Subdivisions, Part 1: Country Codes, ISO/ISO 3166-1, 1997.
+
+ [ISO8859] Information Processing - 8-bit Single-Byte Code Graphic
+ Character Sets, ISO/IEC 8859-n, 1987-2001.
+
+ [ISO10646-1] Information Technology - Universal Multiple-Octet Code
+ Character Set (UCS) - Part 1: Architecture and Basic Multilingual
+ Plane, ISO/IEC 10646-1, September 2000.
+
+ [ISO10646-2] Information Technology - Universal Multiple-Octet Code
+ Character Set (UCS) - Part 2: Supplemental Planes, ISO/IEC 10646-2,
+ January 2001.
+
+ [RFC2119] Bradner. Key words for use in RFCs to Indicate Requirement
+ Levels, RFC 2119, March 1997.
+
+
+ McDonald June 20, 2002 [Page 5]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ [RFC2251] Whal, Howes, Kille. Lightweight Directory Access Protocol
+ Version 3 (LDAPv3), RFC 2251, December 1997.
+
+ [RFC2277] Alvestrand. IETF Policy on Character Sets and Languages, RFC
+ 2277, January 1998.
+
+ [RFC2279] Yergeau. UTF-8, a Transformation Format of ISO 10646, RFC
+ 2279, January 1998.
+
+ [RFC2608] Guttman, Perkins, Veizades, Day. Service Location Protocol
+ Version 2 (SLPv2), RFC 2608, June 1999.
+
+ [RFC2910] Herriot, Butler, Moore, Turner, Wenn. Internet Printing
+ Protocol/1.1: Encoding and Transport, RFC 2910, September 2000.
+
+ [RFC2911] Hastings, Herriot, deBry, Isaacson, Powell. Internet Printing
+ Protocol/1.1: Model and Semantics, RFC 2911, September 2000.
+
+ [UNICODE3.0] Unicode Consortium, Unicode Standard Version 3.0,
+ Addison-Wesley Developers Press, ISBN 0-201-61633-5, 2000.
+
+ [UNICODE3.1] Unicode Consortium, Unicode Standard Version 3.1 (UAX-27),
+ May 2001.
+
+ [UNICODE3.2] Unicode Consortium, Unicode Standard Version 3.2 (UAX-28),
+ March 2002.
+
+ [US-ASCII] See [ANSI-X3.4] above.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 6]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 3. Design Overview
+
+ The CUPS Internationalization extensions are composed of several header
+ files and modules which extend the Language functions in the existing
+ CUPS Application Programmers Interface (API).
+
+
+ 3.1. Transcoding - New
+
+ Initially, the CUPS Internationalization extensions will only support
+ SBCS (single-byte character set) transcoding. But the design allows
+ future support for DBCS (double-byte character set) transcoding for CJK
+ (Chinese/Japanese/Korean) languages and the MBCS (multiple-byte
+ character set) compound sets that use escapes for charset switching.
+
+ In order to reduce code size and increase performance all conventional
+ 'mapping files' (tables of values in legacy characters sets with their
+ corresponding Unicode scalar values) will ALSO be sorted and stored in
+ memory as reverse maps (for efficient conversion from Unicode scalar
+ values to their corresponding legacy character set values). Transcoding
+ will be done directly by 2-level lookup (without any searching or
+ sorting).
+
+ [Ed Note: CJK languages will be fairly costly in mapping table sizes,
+ because they have thousands (or tens of thousands) of codepoints.]
+
+
+
+ 3.1.1. transcode.h - Transcoding header
+
+ /*
+ * "$Id: i18n_sdd.txt,v 1.1.2.1 2002/08/19 01:15:22 mike Exp $"
+ *
+ * Transcoding support for the Common UNIX Printing System (CUPS).
+ *
+ * Copyright 1997-2002 by Easy Software Products.
+ *
+ * These coded instructions, statements, and computer programs are
+ * the property of Easy Software Products and are protected by Federal
+ * copyright law. Distribution and use rights are outlined in the
+ * file "LICENSE.txt" which should have been included with this file.
+ * If this file is missing or damaged please contact Easy Software
+ * Products at:
+ *
+ * Attn: CUPS Licensing Information
+ * Easy Software Products
+ * 44141 Airport View Drive, Suite 204
+ * Hollywood, Maryland 20636-3111 USA
+ *
+ * Voice: (301) 373-9603
+
+ McDonald June 20, 2002 [Page 7]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ * EMail: cups-info@cups.org
+ * WWW: http://www.cups.org
+ */
+
+ #ifndef _CUPS_TRANSCODE_H_
+ # define _CUPS_TRANSCODE_H_
+
+ /*
+ * Include necessary headers...
+ */
+
+ # include "cups/language.h"
+
+ # ifdef __cplusplus
+ extern "C" {
+ # endif /* __cplusplus */
+
+ /*
+ * Types...
+ */
+
+ typedef unsigned char utf8_t; /* UTF-8 Unicode/ISO-10646 code unit */
+ typedef unsigned short utf16_t; /* UTF-16 Unicode/ISO-10646 code unit */
+ typedef unsigned long utf32_t; /* UTF-32 Unicode/ISO-10646 code unit */
+ typedef unsigned short ucs2_t; /* UCS-2 Unicode/ISO-10646 code unit */
+ typedef unsigned long ucs4_t; /* UCS-4 Unicode/ISO-10646 code unit */
+ typedef unsigned char sbcs_t; /* SBCS Legacy 8-bit code unit */
+ typedef unsigned short dbcs_t; /* DBCS Legacy 16-bit code unit */
+
+ /*
+ * Structures...
+ */
+
+ typedef struct cups_cmap_str /**** SBCS Charmap Cache Structure ****/
+ {
+ struct cups_cmap_str *next; /* Next charmap in cache */
+ int used; /* Number of times entry used */
+ cups_encoding_t encoding; /* Legacy charset encoding */
+ ucs2_t char2uni[256]; /* Map Legacy SBCS -> UCS-2 */
+ sbcs_t *uni2char[256]; /* Map UCS-2 -> Legacy SBCS */
+ } cups_cmap_t;
+
+ #if 0
+ typedef struct cups_dmap_str /**** DBCS Charmap Cache Structure ****/
+ {
+ struct cups_dmap_str *next; /* Next charmap in cache */
+ int used; /* Number of times entry used */
+ cups_encoding_t encoding; /* Legacy charset encoding */
+ ucs2_t *char2uni[256]; /* Map Legacy DBCS -> UCS-2 */
+ dbcs_t *uni2char[256]; /* Map UCS-2 -> Legacy DBCS */
+ } cups_dmap_t;
+ #endif
+
+ McDonald June 20, 2002 [Page 8]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ /*
+ * Constants...
+ */
+ #define CUPS_MAX_USTRING 1024 /* Maximum size of Unicode string */
+
+ /*
+ * Globals...
+ */
+
+ extern int TcFixMapNames; /* Fix map names to Unicode names */
+ extern int TcStrictUtf8; /* Non-shortest-form is illegal */
+ extern int TcStrictUtf16; /* Invalid surrogate pair is illegal */
+ extern int TcStrictUtf32; /* Greater than 0x10FFFF is illegal */
+ extern int TcRequireBOM; /* Require BOM for little/big-endian */
+ extern int TcSupportBOM; /* Support BOM for little/big-endian */
+ extern int TcSupport8859; /* Support ISO 8859-x repertoires */
+ extern int TcSupportWin; /* Support Windows-x repertoires */
+ extern int TcSupportCJK; /* Support CJK (Asian) repertoires */
+
+ /*
+ * Prototypes...
+ */
+
+ /*
+ * Utility functions for character set maps
+ */
+ extern void *cupsCharmapGet(const cups_encoding_t encoding);
+ /* I - Encoding */
+ extern void cupsCharmapFree(const cups_encoding_t encoding);
+ /* I - Encoding */
+ extern void cupsCharmapFlush(void);
+
+ /*
+ * Convert UTF-8 to and from legacy character set
+ */
+ extern int cupsUtf8ToCharset(char *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ cups_encoding_t encoding); /* I - Encoding */
+ extern int cupsCharsetToUtf8(utf8_t *dest, /* O - Target string */
+ const char *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ cups_encoding_t encoding); /* I - Encoding */
+
+ /*
+ * Convert UTF-8 to and from UTF-16
+ */
+ extern int cupsUtf8ToUtf16(utf16_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+ extern int cupsUtf16ToUtf8(utf8_t *dest, /* O - Target string */
+
+ McDonald June 20, 2002 [Page 9]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ const utf16_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ /*
+ * Convert UTF-8 to and from UTF-32
+ */
+ extern int cupsUtf8ToUtf32(utf32_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+ extern int cupsUtf32ToUtf8(utf8_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ /*
+ * Convert UTF-16 to and from UTF-32
+ */
+ extern int cupsUtf16ToUtf32(utf32_t *dest, /* O - Target string */
+ const utf16_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+ extern int cupsUtf32ToUtf16(utf16_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ # ifdef __cplusplus
+ }
+ # endif /* __cplusplus */
+
+ #endif /* !_CUPS_TRANSCODE_H_ */
+
+ /*
+ * End of "$Id: i18n_sdd.txt,v 1.1.2.1 2002/08/19 01:15:22 mike Exp $"
+ */
+
+
+
+ 3.1.1.1. cups_cmap_t - SBCS Charmap Structure
+
+ typedef struct cups_cmap_str /**** SBCS Charmap Cache Structure ****/
+ {
+ struct cups_cmap_str *next; /* Next charset map in cache */
+ int used; /* Number of times entry used */
+ cups_encoding_t encoding; /* Legacy charset encoding */
+ ucs2_t char2uni[256]; /* Map Legacy SBCS -> UCS-2 */
+ sbcs_t *uni2char[256]; /* Map UCS-2 -> Legacy SBCS */
+ } cups_cmap_t;
+
+ 'char2uni[]' is a (complete) array of UCS-2 values that supports direct
+ one-level lookup from an input SBCS legacy charset code point, for use
+ by 'cupsCharsetToUtf8()'.
+
+ 'uni2char[]' is a (sparse) array of pointers to arrays of (256 each)
+ SBCS values, that supports direct two-level lookup from an input UCS-2
+
+ McDonald June 20, 2002 [Page 10]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ code point, for use by 'cupsUtf8ToCharset()'.
+
+
+
+ 3.1.1.2. cups_dmap_t - DBCS Charmap Structure
+
+ typedef struct cups_dmap_str /**** DBCS Charmap Cache Structure ****/
+ {
+ struct cups_dmap_str *next; /* Next charset map in cache */
+ int used; /* Number of times entry used */
+ cups_encoding_t encoding; /* Legacy charset encoding */
+ ucs2_t *char2uni[256]; /* Map Legacy DBCS -> UCS-2 */
+ dbcs_t *uni2char[256]; /* Map UCS-2 -> Legacy DBCS */
+ } cups_dmap_t;
+
+ 'char2uni[]' is a (sparse) array of pointers to arrays of (256 each)
+ UCS-2 values that supports direct two-level lookup from an input DBCS
+ legacy charset code point, for (future) use by 'cupsCharsetToUtf8()'.
+
+ 'uni2char[]' is a (sparse) array of pointers to arrays of (256 each)
+ DBCS values, that supports direct two-level lookup from an input UCS-2
+ code point, for (future) use by 'cupsUtf8ToCharset()'.
+
+
+
+ 3.1.2. transcode.c - Transcoding module
+
+ All of the transcoding functions are modelled on the C standard library
+ function 'strncpy()', except that they return the count of output, like
+ 'strlen()', rather than the (redundant) pointer to the output.
+
+ If the transcoding functions detect invalid input parameters or they
+ detect an encoding error in their input, then they return '-1', rather
+ than the count of output.
+
+ All of the transcoding functions take an input parameter indicating the
+ maximum output units (for safe operation). The functions that return
+ 16-bit (UTF-16) or 32-bit (UTF-32/UCS-4) output always return the output
+ string count (not including the final null) and NOT the memory size in
+ bytes.
+
+
+
+ 3.1.2.1. cupsUtf8ToCharset()
+
+ extern int cupsUtf8ToCharset(char *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ cups_encoding_t encoding); /* I - Encoding */
+
+ <Find charset map by calling 'cupsCharmapGet()'>
+ <Convert input UTF-8 to internal UCS-4 by calling 'cupsUtf8ToUtf32()'>
+
+ McDonald June 20, 2002 [Page 11]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ <Convert internal UCS-4 to legacy charset via charset map>
+ <Release charset map by calling 'cupsCharmapFree()'>
+ <Return length of output legacy charset string -- size in butes>
+
+
+
+ 3.1.2.2. cupsCharsetToUtf8()
+
+ extern int cupsCharsetToUtf8(utf8_t *dest, /* O - Target string */
+ const char *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ cups_encoding_t encoding); /* I - Encoding */
+
+ <Find charset map by calling 'cupsCharmapGet()'>
+ <Convert input legacy charset to internal UCS-4 via charset map>
+ <Convert internal UCS-4 to UTF-8 by calling 'cupsUtf32ToUtf8()'>
+ <Release charset map by calling 'cupsCharmapFree()'>
+ <Return length of output UTF-8 string -- size in bytes>
+
+
+
+ 3.1.2.3. cupsUtf8ToUtf16()
+
+ extern int cupsUtf8ToUtf16(utf16_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ <...to avoid duplicate code to handle surrogate pairs...>
+ <Convert input UTF-8 to internal UCS-4 by calling 'cupsUtf8ToUtf32()'>
+ <Convert internal UCS-4 to UTF-16 by calling 'cupsUtf32ToUtf16()'>
+ <Return count of output UTF-16 string -- NOT memory size in bytes>
+
+
+
+ 3.1.2.4. cupsUtf16ToUtf8()
+
+ extern int cupsUtf16ToUtf8(utf8_t *dest, /* O - Target string */
+ const utf16_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ <...to avoid duplicate code to handle surrogate pairs...>
+ <Convert input UTF-16 to internal UCS-4 by calling 'cupsUtf16ToUtf32()'>
+ <Convert internal UCS-4 to UTF-8 by calling 'cupsUtf32ToUtf8()'>
+ <Return length of output UTF-8 string -- size in bytes>
+
+
+
+ 3.1.2.5. cupsUtf8ToUtf32()
+
+ extern int cupsUtf8ToUtf32(utf32_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ McDonald June 20, 2002 [Page 12]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ <Convert input UTF-8 directly to output UCS-4...>
+ <...checking for valid range, shortest-form, etc.>
+ <Return count of output UTF-32 string -- NOT memory size in bytes>
+
+
+
+ 3.1.2.6. cupsUtf32ToUtf8()
+
+ extern int cupsUtf32ToUtf8(utf8_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ <Convert input UCS-4 directly to output UTF-8...>
+ <...checking for valid range, etc.>
+ <Return length of output UTF-8 string -- size in bytes>
+
+
+
+ 3.1.2.7. cupsUtf16ToUtf32()
+
+ extern int cupsUtf16ToUtf32(utf32_t *dest, /* O - Target string */
+ const utf16_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ <Convert input UTF-16 directly to output UCS-4...>
+ <...handling surrogate pairs decoding from UTF-16>
+ <Return count of output UTF-32 string -- NOT memory size in bytes>
+
+
+
+ 3.1.2.8. cupsUtf32ToUtf16()
+
+ extern int cupsUtf32ToUtf16(utf16_t *dest, /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout); /* I - Max output */
+
+ <Convert input UCS-4 directly to output UTF-16...>
+ <...handling surrogate pairs encoding to UTF-16>
+ <Return count of output UTF-16 string -- NOT memory size in bytes>
+
+
+
+ 3.1.2.9. Transcoding Utility Functions
+
+ The transcoding utility functions are used to load (from a file into
+ memory), free (logically, without freeing memory), and flush (actually
+ free memory) character maps for SBCS (single-byte character set) and
+ (future) DBCS (double-byte character set) transcoding to and from UTF-8.
+
+
+
+
+ McDonald June 20, 2002 [Page 13]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 3.1.2.9.1. cupsCharmapGet()
+
+ extern void *cupsCharmapGet(const cups_encoding_t encoding);
+ /* I - Encoding */
+
+ <Find SBSC or DBCS charset map in cache>
+ <...If found, increment 'used'>
+ <...and return pointer to SBCS or DBCS charset map>
+ <Get charset map file name by calling 'cupsEncodingName()'>
+ <Open charset map file>
+ <...If not found, return void>
+ <Allocate memory for SBCS or DBCS charset map in cache>
+ <...If no memory, return void>
+ <Add to SBCS or DBCS cache by assigning 'next' field>
+ <Assign 'encoding' field>
+ <Increment 'used' field>
+ <Read charset map file into memory in loop...>
+ <If SBCS, then 'char2uni[]' is an array of 'ucs2_t' values>
+ <...and 'uni2char[]' is an array of pointers to 'sbcs_t' arrays>
+ <If DBCS, then char2uni[]' is an array of pointers to 'ucs2_t' arrays>
+ <...and 'uni2char[]' is an array of pointers to 'dbcs_t' arrays>
+ <Close charset map file>
+ <Return pointer to SBCS or DBCS charset map>
+
+
+
+ 3.1.2.9.2. cupsCharmapFree()
+
+ extern void cupsCharmapFree(const cups_encoding_t encoding);
+ /* I - Encoding */
+
+ <Find SBSC or DBCS charset map in cache>
+ <...If found, decrement 'used'>
+ <Return void>
+
+
+
+ 3.1.2.9.3. cupsCharmapFlush()
+
+ extern void cupsCharmapFlush(void);
+
+ <Loop through SBCS charset map cache...>
+ <...Free 'uni2char[]' memory>
+ <...Free SBCS charset map memory>
+ <Loop through DBCS charset map cache...>
+ <...Free 'char2uni[]' memory>
+ <...Free 'uni2char[]' memory>
+ <...Free DBCS charset map memory>
+ <Return void>
+
+
+ McDonald June 20, 2002 [Page 14]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+
+ 3.2. Normalization - New
+
+
+
+ 3.2.1. normalize.h - Normalization header
+
+ /*
+ * "$Id: i18n_sdd.txt,v 1.1.2.1 2002/08/19 01:15:22 mike Exp $"
+ *
+ * Unicode normalization for the Common UNIX Printing System (CUPS).
+ *
+ * Copyright 1997-2002 by Easy Software Products.
+ *
+ * These coded instructions, statements, and computer programs are
+ * the property of Easy Software Products and are protected by Federal
+ * copyright law. Distribution and use rights are outlined in the
+ * file "LICENSE.txt" which should have been included with this file.
+ * If this file is missing or damaged please contact Easy Software
+ * Products at:
+ *
+ * Attn: CUPS Licensing Information
+ * Easy Software Products
+ * 44141 Airport View Drive, Suite 204
+ * Hollywood, Maryland 20636-3111 USA
+ *
+ * Voice: (301) 373-9603
+ * EMail: cups-info@cups.org
+ * WWW: http://www.cups.org
+ */
+
+ #ifndef _CUPS_NORMALIZE_H_
+ # define _CUPS_NORMALIZE_H_
+
+ /*
+ * Include necessary headers...
+ */
+
+ # include "transcod.h"
+
+ # ifdef __cplusplus
+ extern "C" {
+ # endif /* __cplusplus */
+
+ /*
+ * Types...
+ */
+
+ typedef enum /**** Normalizataion Types ****/
+ {
+
+ McDonald June 20, 2002 [Page 15]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ CUPS_NORM_NFD, /* Canonical Decomposition */
+ CUPS_NORM_NFKD, /* Compatibility Decomposition */
+ CUPS_NORM_NFC, /* NFD, them Canonical Composition */
+ CUPS_NORM_NFKC /* NFKD, them Canonical Composition */
+ } cups_normalize_t;
+
+ typedef enum /**** Case Folding Types ****/
+ {
+ CUPS_FOLD_SIMPLE, /* Simple - no expansion in size */
+ CUPS_FOLD_FULL /* Full - possible expansion in size */
+ } cups_folding_t;
+
+ typedef enum /**** Unicode Char Property Types ****/
+ {
+ CUPS_PROP_GENERAL_CATEGORY, /* See 'cups_gencat_t' enum */
+ CUPS_PROP_BIDI_CATEGORY, /* See 'cups_bidicat_t' enum */
+ CUPS_PROP_COMBINING_CLASS, /* See 'cups_combclass_t' type */
+ CUPS_PROP_BREAK_CLASS /* See 'cups_breakclass_t' enum */
+ } cups_property_t;
+
+ /*
+ * Note - parse Unicode char general category from 'UnicodeData.txt'
+ * into sparse local table in 'normalize.c'.
+ * Use major classes for logic optimizations throughout (by mask).
+ */
+
+ typedef enum /**** Unicode General Category ****/
+ {
+ CUPS_GENCAT_L = 0x10, /* Letter major class */
+ CUPS_GENCAT_LU = 0x11, /* Lu Letter, Uppercase */
+ CUPS_GENCAT_LL = 0x12, /* Ll Letter, Lowercase */
+ CUPS_GENCAT_LT = 0x13, /* Lt Letter, Titlecase */
+ CUPS_GENCAT_LM = 0x14, /* Lm Letter, Modifier */
+ CUPS_GENCAT_LO = 0x15, /* Lo Letter, Other */
+ CUPS_GENCAT_M = 0x20, /* Mark major class */
+ CUPS_GENCAT_MN = 0x21, /* Mn Mark, Non-Spacing */
+ CUPS_GENCAT_MC = 0x22, /* Mc Mark, Spacing Combining */
+ CUPS_GENCAT_ME = 0x23, /* Me Mark, Enclosing */
+ CUPS_GENCAT_N = 0x30, /* Number major class */
+ CUPS_GENCAT_ND = 0x31, /* Nd Number, Decimal Digit */
+ CUPS_GENCAT_NL = 0x32, /* Nl Number, Letter */
+ CUPS_GENCAT_NO = 0x33, /* No Number, Other */
+ CUPS_GENCAT_P = 0x40, /* Punctuation major class */
+ CUPS_GENCAT_PC = 0x41, /* Pc Punctuation, Connector */
+ CUPS_GENCAT_PD = 0x42, /* Pd Punctuation, Dash */
+ CUPS_GENCAT_PS = 0x43, /* Ps Punctuation, Open (start) */
+ CUPS_GENCAT_PE = 0x44, /* Pe Punctuation, Close (end) */
+ CUPS_GENCAT_PI = 0x45, /* Pi Punctuation, Initial Quote */
+ CUPS_GENCAT_PF = 0x46, /* Pf Punctuation, Final Quote */
+ CUPS_GENCAT_PO = 0x47, /* Po Punctuation, Other */
+ CUPS_GENCAT_S = 0x50, /* Symbol major class */
+ CUPS_GENCAT_SM = 0x51, /* Sm Symbol, Math */
+
+ McDonald June 20, 2002 [Page 16]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ CUPS_GENCAT_SC = 0x52, /* Sc Symbol, Currency */
+ CUPS_GENCAT_SK = 0x53, /* Sk Symbol, Modifier */
+ CUPS_GENCAT_SO = 0x54, /* So Symbol, Other */
+ CUPS_GENCAT_Z = 0x60, /* Separator major class */
+ CUPS_GENCAT_ZS = 0x61, /* Zs Separator, Space */
+ CUPS_GENCAT_ZL = 0x62, /* Zl Separator, Line */
+ CUPS_GENCAT_ZP = 0x63, /* Zp Separator, Paragraph */
+ CUPS_GENCAT_C = 0x70, /* Other (miscellaneous) major class */
+ CUPS_GENCAT_CC = 0x71, /* Cc Other, Control */
+ CUPS_GENCAT_CF = 0x72, /* Cf Other, Format */
+ CUPS_GENCAT_CS = 0x73, /* Cs Other, Surrogate */
+ CUPS_GENCAT_CO = 0x74, /* Co Other, Private Use */
+ CUPS_GENCAT_CN = 0x75 /* Cn Other, Not Assigned */
+ } cups_gencat_t;
+
+ /*
+ * Note - parse Unicode char bidi category from 'UnicodeData.txt'
+ * into sparse local table in 'normalize.c'.
+ * Add bidirectional support to 'textcommon.c' - per Mike
+ */
+
+ typedef enum /**** Unicode Bidi Category ****/
+ {
+ CUPS_BIDI_L, /* Left-to-Right (Alpha, Syllabic, Ideographic) */
+ CUPS_BIDI_LRE, /* Left-to-Right Embedding (explicit) */
+ CUPS_BIDI_LRO, /* Left-to-Right Override (explicit) */
+ CUPS_BIDI_R, /* Right-to-Left (Hebrew alphabet and most punct) */
+ CUPS_BIDI_AL, /* Right-to-Left Arabic (Arabic, Thaana, Syriac) */
+ CUPS_BIDI_RLE, /* Right-to-Left Embedding (explicit) */
+ CUPS_BIDI_RLO, /* Right-to-Left Override (explicit) */
+ CUPS_BIDI_PDF, /* Pop Directional Format */
+ CUPS_BIDI_EN, /* Euro Number (Euro and East Arabic-Indic digits) */
+ CUPS_BIDI_ES, /* Euro Number Separator (Slash) */
+ CUPS_BIDI_ET, /* Euro Number Termintor (Plus, Minus, Degree, etc) */
+ CUPS_BIDI_AN, /* Arabic Number (Arabic-Indic digits, separators) */
+ CUPS_BIDI_CS, /* Common Number Separator (Colon, Comma, Dot, etc) */
+ CUPS_BIDI_NSM, /* Non-Spacing Mark (category Mn / Me in UCD) */
+ CUPS_BIDI_BN, /* Boundary Neutral (Formatting / Control chars) */
+ CUPS_BIDI_B, /* Paragraph Separator */
+ CUPS_BIDI_S, /* Segment Separator (Tab) */
+ CUPS_BIDI_WS, /* Whitespace Space (Space, Line Separator, etc) */
+ CUPS_BIDI_ON /* Other Neutrals */
+ } cups_bidicat_t;
+
+ /*
+ * Note - parse Unicode line break class from 'DerivedLineBreak.txt'
+ * into sparse local table (list of class ranges) in 'normalize.c'.
+ * Note - add state table from UAX-14, section 7.3 - Ira
+ * Remember to do BK and SP in outer loop (not in state table).
+ * Consider optimization for CM (combining mark).
+ * See 'LineBreak.txt' (12,875) and 'DerivedLineBreak.txt' (1,350).
+ */
+
+ McDonald June 20, 2002 [Page 17]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ typedef enum /**** Unicode Line Break Class ****/
+ {
+ /*
+ * (A) - Allow Break AFTER
+ * (XA) - Prevent Break AFTER
+ * (B) - Allow Break BEFORE
+ * (XB) - Prevent Break BEFORE
+ * (P) - Allow Break For Pair
+ * (XP) - Prevent Break For Pair
+ */
+ CUPS_BREAK_AI, /* Ambiguous (Alphabetic or Ideograph) */
+ CUPS_BREAK_AL, /* Ordinary Alphabetic / Symbol Chars (XP) */
+ CUPS_BREAK_BA, /* Break Opportunity After Chars (A) */
+ CUPS_BREAK_BB, /* Break Opportunities Before Chars (B) */
+ CUPS_BREAK_B2, /* Break Opportunity Before / After (B/A/XP) */
+ CUPS_BREAK_BK, /* Mandatory Break (A) (normative) */
+ CUPS_BREAK_CB, /* Contingent Break (B/A) (normative) */
+ CUPS_BREAK_CL, /* Closing Punctuation (XB) */
+ CUPS_BREAK_CM, /* Attached Chars / Combining (XB) (normative) */
+ CUPS_BREAK_CR, /* Carriage Return (A) (normative) */
+ CUPS_BREAK_EX, /* Exclamation / Interrogation (XB) */
+ CUPS_BREAK_GL, /* Non-breaking ("Glue") (XB/XA) (normative) */
+ CUPS_BREAK_HY, /* Hyphen (XA) */
+ CUPS_BREAK_ID, /* Ideographic (B/A) */
+ CUPS_BREAK_IN, /* Inseparable chars (XP) */
+ CUPS_BREAK_IS, /* Numeric Separator (Infix) (XB) */
+ CUPS_BREAK_LF, /* Line Feed (A) (normative) */
+ CUPS_BREAK_NS, /* Non-starters (XB) */
+ CUPS_BREAK_NU, /* Numeric (XP) */
+ CUPS_BREAK_OP, /* Opening Punctuation (XA) */
+ CUPS_BREAK_PO, /* Postfix (Numeric) (XB) */
+ CUPS_BREAK_PR, /* Prefix (Numeric) (XA) */
+ CUPS_BREAK_QU, /* Ambiguous Quotation (XB/XA) */
+ CUPS_BREAK_SA, /* Context Dependent (South East Asian) (P) */
+ CUPS_BREAK_SG, /* Surrogates (XP) (normative) */
+ CUPS_BREAK_SP, /* Space (A) (normative) */
+ CUPS_BREAK_SY, /* Symbols Allowing Break After (A) */
+ CUPS_BREAK_XX, /* Unknown (XP) */
+ CUPS_BREAK_ZW /* Zero Width Space (A) (normative) */
+ } cups_breakclass_t;
+
+ typedef int cups_combclass_t; /**** Unicode Combining Class ****/
+ /* 0=base / 1..254=combining char */
+
+ /*
+ * Structures...
+ */
+
+ typedef struct cups_normmap_str /**** Normalize Map Cache Struct ****/
+ {
+ struct cups_normmap_str *next; /* Next normalize in cache */
+
+ McDonald June 20, 2002 [Page 18]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ int used; /* Number of times entry used */
+ cups_normalize_t normalize; /* Normalization type */
+ int normcount; /* Count of Source Chars */
+ ucs2_t *uni2norm; /* Char -> Normalization */
+ /* ...only supports UCS-2 */
+ } cups_normmap_t;
+
+ typedef struct cups_foldmap_str /**** Case Fold Map Cache Struct ****/
+ {
+ struct cups_foldmap_str *next; /* Next case fold in cache */
+ int used; /* Number of times entry used */
+ cups_folding_t fold; /* Case folding type */
+ int foldcount; /* Count of Source Chars */
+ ucs2_t *uni2fold; /* Char -> Folded Char(s) */
+ /* ...only supports UCS-2 */
+ } cups_foldmap_t;
+
+ typedef struct cups_prop_str /**** Char Property Struct ****/
+ {
+ ucs2_t ch; /* Unicode Char as UCS-2 */
+ unsigned char gencat; /* General Category */
+ unsigned char bidicat; /* Bidirectional Category */
+ } cups_prop_t;
+
+ typedef struct /**** Char Property Map Struct ****/
+ {
+ int used; /* Number of times entry used */
+ int propcount; /* Count of Source Chars */
+ cups_prop_t *uni2prop; /* Char -> Properties */
+ } cups_propmap_t;
+
+ typedef struct /**** Line Break Class Map Struct ****/
+ {
+ int used; /* Number of times entry used */
+ int breakcount; /* Count of Source Chars */
+ ucs2_t *uni2break; /* Char -> Line Break Class */
+ } cups_breakmap_t;
+
+ typedef struct cups_comb_str /**** Char Combining Class Struct ****/
+ {
+ ucs2_t ch; /* Unicode Char as UCS-2 */
+ unsigned char combclass; /* Combining Class */
+ unsigned char reserved; /* Reserved for alignment */
+ } cups_comb_t;
+
+ typedef struct /**** Combining Class Map Struct ****/
+ {
+ int used; /* Number of times entry used */
+ int combcount; /* Count of Source Chars */
+ cups_comb_t *uni2comb; /* Char -> Combining Class */
+ } cups_combmap_t;
+
+
+ McDonald June 20, 2002 [Page 19]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ /*
+ * Globals...
+ */
+
+ extern int NzSupportUcs2; /* Support UCS-2 (16-bit) mapping */
+ extern int NzSupportUcs4; /* Support UCS-4 (32-bit) mapping */
+
+ /*
+ * Prototypes...
+ */
+
+ /*
+ * Utility functions for normalization module
+ */
+ extern int cupsNormalizeMapsGet(void);
+ extern int cupsNormalizeMapsFree(void);
+ extern void cupsNormalizeMapsFlush(void);
+
+ /*
+ * Normalize UTF-8 string to Unicode UAX-15 Normalization Form
+ * Note - Compatibility Normalization Forms (NFKD/NFKC) are
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+ extern int cupsUtf8Normalize(utf8_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_normalize_t normalize);
+ /* I - Normalization */
+
+ /*
+ * Normalize UTF-32 string to Unicode UAX-15 Normalization Form
+ * Note - Compatibility Normalization Forms (NFKD/NFKC) are
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+ extern int cupsUtf32Normalize(utf32_t *dest,
+ /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_normalize_t normalize);
+ /* I - Normalization */
+
+ /*
+ * Case Fold UTF-8 string per Unicode UAX-21 Section 2.3
+ * Note - Case folding output is
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+ extern int cupsUtf8CaseFold(utf8_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_folding_t fold); /* I - Fold Mode */
+
+
+ McDonald June 20, 2002 [Page 20]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ /*
+ * Case Fold UTF-32 string per Unicode UAX-21 Section 2.3
+ * Note - Case folding output is
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+ extern int cupsUtf32CaseFold(utf32_t *dest,/* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_folding_t fold); /* I - Fold Mode */
+
+ /*
+ * Compare UTF-8 strings after case folding
+ */
+ extern int cupsUtf8CompareCaseless(const utf8_t *s1,
+ /* I - String1 */
+ const utf8_t *s2); /* I - String2 */
+
+ /*
+ * Compare UTF-32 strings after case folding
+ */
+ extern int cupsUtf32CompareCaseless(const utf32_t *s1,
+ /* I - String1 */
+ const utf32_t *s2); /* I - String2 */
+
+ /*
+ * Compare UTF-8 strings after case folding and NFKC normalization
+ */
+ extern int cupsUtf8CompareIdentifier(const utf8_t *s1,
+ /* I - String1 */
+ const utf8_t *s2); /* I - String2 */
+
+ /*
+ * Compare UTF-32 strings after case folding and NFKC normalization
+ */
+ extern int cupsUtf32CompareIdentifier(const utf32_t *s1,
+ /* I - String1 */
+ const utf32_t *s2); /* I - String2 */
+
+ /*
+ * Get UTF-32 character property
+ */
+ extern int cupsUtf32CharacterProperty(const utf32_t ch,
+ /* I - Source char */
+ const cups_property_t property);
+ /* I - Char Property */
+
+ # ifdef __cplusplus
+ }
+ # endif /* __cplusplus */
+
+ #endif /* !_CUPS_NORMALIZE_H_ */
+
+ McDonald June 20, 2002 [Page 21]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ /*
+ * End of "$Id: i18n_sdd.txt,v 1.1.2.1 2002/08/19 01:15:22 mike Exp $"
+ */
+
+
+
+ 3.2.1.1. cups_normmap_t - Normalize Map Structure
+
+ typedef struct cups_normmap_str /**** Normalize Map Cache Struct ****/
+ {
+ struct cups_normmap_str *next; /* Next normalize in cache */
+ int used; /* Number of times entry used */
+ cups_normalize_t normalize; /* Normalization type */
+ int normcount; /* Count of Source Chars */
+ ucs2_t *uni2norm; /* Char -> Normalization */
+ /* ...only supports UCS-2 */
+ } cups_normmap_t;
+
+ 'uni2norm' is a pointer to an array of _triplets_ of UCS-2 values.
+ 'normcount' is a count of _triplets_ in the 'uni2norm[]' array.
+
+ For decompositions (NFD and NFKD), the triplets are: composed base
+ character, decomposed base character, and decomposed accent character.
+ These are used by 'cupsUtf8Normalize()' and 'cupsUtf32Normalize()' in
+ performing canonical (NFD) or compatibility (NFKD) decomposition.
+
+ For compositions (NFC and NFKC), the triplets are: decomposed base
+ character, decomposed accent character, and composed base character.
+ These are used by 'cupsUtf8Normalize()' and 'cupsUtf32Normalize()' in
+ performing canonical composition (for NFC or NFKC).
+
+
+
+ 3.2.1.2. cups_foldmap_t - Case Fold Map Structure
+
+ typedef struct cups_foldmap_str /**** Case Fold Map Cache Struct ****/
+ {
+ int used; /* Number of times entry used */
+ cups_folding_t fold; /* Case folding type */
+ int foldcount; /* Count of Source Chars */
+ ucs2_t *uni2fold; /* Char -> Folded Char(s) */
+ /* ...only supports UCS-2 */
+ } cups_foldmap_t;
+
+ 'uni2fold' is a pointer to an array of _quadruplets_ of UCS-2 values.
+ 'foldcount' is a count of _quadruplets_ in the 'uni2fold[]' array.
+
+ For simple case folding (without expansion of the size of the output
+ string), the quadruplets are: input base character, output case folded
+ character, zero (unused), and zero (unused).
+
+
+ McDonald June 20, 2002 [Page 22]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ For full case folding (with possible expansion of the size of the output
+ string), the quadruplets are: input base character, output case folded
+ character, second output character or zero, third output character or
+ zero.
+
+
+
+ 3.2.1.3. cups_propmap_t - Char Property Map Structure
+
+ typedef struct /**** Char Property Map Struct ****/
+ {
+ int used; /* Number of times entry used */
+ int propcount; /* Count of Source Chars */
+ cups_prop_t *uni2prop; /* Char -> Properties */
+ } cups_propmap_t;
+
+ 'uni2prop' is a pointer to an array of 'cups_prop_t' (see below).
+ 'propcount' is a count of elements in the 'uni2prop[]' array.
+
+
+
+ 3.2.1.4. cups_prop_t - Char Property Structure
+
+ typedef struct cups_prop_str /**** Char Property Struct ****/
+ {
+ ucs2_t ch; /* Unicode Char as UCS-2 */
+ unsigned char gencat; /* General Category */
+ unsigned char bidicat; /* Bidirectional Category */
+ } cups_prop_t;
+
+
+
+ 3.2.1.5. cups_breakmap_t - Line Break Map Structure
+
+ typedef struct /**** Line Break Class Map Struct ****/
+ {
+ int used; /* Number of times entry used */
+ int breakcount; /* Count of Source Chars */
+ ucs2_t *uni2break; /* Char -> Line Break Class */
+ } cups_breakmap_t;
+
+ 'uni2break' is a pointer to an array of _triplets_ of UCS-2 values.
+ 'breakcount' is a count of _triplets_ in the 'uni2break[]' array.
+
+ The triplets in 'uni2break' are: first UCS-2 value in a range, last
+ UCS-2 value in a range, and line break class stored as UCS-2.
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 23]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 3.2.1.6. cups_combmap_t - Combining Class Map Structure
+
+ typedef struct /**** Combining Class Map Struct ****/
+ {
+ int used; /* Number of times entry used */
+ int combcount; /* Count of Source Chars */
+ cups_comb_t *uni2comb; /* Char -> Combining Class */
+ } cups_combmap_t;
+
+ 'uni2comb' is a pointer to an array of 'cups_comb_t' (see below).
+ 'combcount' is a count of elements in the 'uni2comb[]' array.
+
+
+
+ 3.2.1.7. cups_comb_t - Combining Class Structure
+
+ typedef struct cups_comb_str /**** Char Combining Class Struct ****/
+ {
+ unsigned short ch; /* Unicode Char as UCS-2 */
+ unsigned char combclass; /* Combining Class */
+ unsigned char reserved; /* Reserved for alignment */
+ } cups_comb_t;
+
+
+
+ 3.2.2. normalize.c - Normalization module
+
+ The normalization function 'cupsUtf8Normalize()' and the case folding
+ function 'cupsUtf8CaseFold()' are modelled on the C standard library
+ function 'strncpy()', except that they return the count of the output,
+ like 'strlen()', rather than the (redundant) pointer to the output.
+
+ If the normalization or case folding functions detect invalid input
+ parameters or they detect an encoding error in their input, then they
+ return '-1', rather than the count of output.
+
+ The normalization and case folding functions take an input parameter
+ indicating the maximum output units (for safe operation).
+
+
+
+ 3.2.2.1. cupsUtf8Normalize()
+
+ /*
+ * Normalize UTF-8 string to Unicode UAX-15 Normalization Form
+ * Note - Compatibility Normalization Forms (NFKD/NFKC) are
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+ extern int cupsUtf8Normalize(utf8_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+
+ McDonald June 20, 2002 [Page 24]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ const int maxout, /* I - Max output */
+ const cups_normalize_t normalize);
+ /* I - Normalization */
+
+ <Convert input UTF-8 to internal UCS-4 by calling 'cupsUtf8ToUtf32()'>
+ <Normalize by calling 'cupsUtf32Normalize()'>
+ <Convert normalized UCS-4 to UTF-8 by calling 'cupsUtf32ToUtf8()>
+ <Return length of output UTF-8 string -- size in butes>
+
+
+
+ 3.2.2.2. cupsUtf32Normalize()
+
+ extern int cupsUtf32Normalize(utf32_t *dest,
+ /* O - Target string */
+ const utf32_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_normalize_t normalize);
+ /* I - Normalization */
+
+ <Find normalize maps by calling 'cupsNormalizeMapsGet()'>
+ <...if not found, return '-1'>
+ <Repeatedly traverse internal UCS-4, decomposing (NFD or NFKD)...>
+ <...with 'bsearch()' of 'uni2norm[]' using local 'compare_decompose()'>
+ <...until one pass yields no further decomposition>
+ <Repeatedly traverse internal UCS-4, doing canonical reordering>
+ <...with 'bsearch()' of 'uni2comb[]' using local 'compare_combchar()'>
+ <...until one pass yields no further canonical reordering>
+ <If 'normalize' requests composition (NFC or NFKC)...>
+ <...repeatedly traverse internal UCS-4, composing (NFC or NFKC)...>
+ <...with 'bsearch()' of 'uni2norm[]' using local 'compare_compose()'>
+ <...until one pass yields no further composition>
+ <Release normalize maps by calling 'cupsNormalizeMapsFree()'>
+ <Return count of output UTF-32 string -- NOT memory size in butes>
+
+
+
+ 3.2.2.3. cupsUtf8CaseFold()
+
+ /*
+ * Case Fold UTF-8 string per Unicode UAX-21 Section 2.3
+ * Note - Case folding output is
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+ extern int cupsUtf8CaseFold(utf8_t *dest, /* O - Target string */
+ const utf8_t *src, /* I - Source string */
+ const int maxout, /* I - Max output */
+ const cups_folding_t fold); /* I - Fold Mode */
+
+ <Find normalize maps by calling 'cupsNormalizeMapsGet()'>
+ <...if not found, return '-1'>
+ <Convert input UTF-8 to internal UCS-4 by calling 'cupsUtf8ToUtf32()'>
+
+ McDonald June 20, 2002 [Page 25]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ <Case fold internal UCS-4 by calling 'cupsUtf32CaseFold()'>
+ <Convert internal UCS-4 to output UTF-8 by calling 'cupsUtf32ToUtf8()>
+ <Release normalize maps by calling 'cupsNormalizeMapsFree()'>
+ <Return length of output UTF-8 string -- size in butes>
+
+
+
+ 3.2.2.4. cupsUtf32CaseFold()
+
+ /*
+ * Case Fold UTF-32 string per Unicode UAX-21 Section 2.3
+ * Note - Case folding output is
+ * unsafe for subsequent transcoding to legacy charsets
+ */
+ extern int cupsUtf32CaseFold(utf32_t *dest, /* Target string */
+ const utf32_t *src, /* Source string */
+ const int maxout); /* Max output units */
+
+ <Find case fold maps by calling 'cupsNormalizeMapsGet()'>
+ <...if not found, return '-1'>
+ <Traverse internal UCS-4 once, performing case folding...>
+ <...with 'bsearch()' of 'uni2fold[]' using local 'compare_foldchar()'>
+ <Copy internal UCS-4 to output UTF-32 string>
+ <Release normalize maps by calling 'cupsNormalizeMapsFree()'>
+ <Return count of output UTF-32 string -- NOT memory size in bytes>
+
+
+
+ 3.2.2.5. cupsUtf8CompareCaseless()
+
+ /*
+ * Compare UTF-8 strings after case folding
+ */
+ extern int cupsUtf8CompareCaseless(const utf8_t *s1,
+ /* I - String1 */
+ const utf8_t *s2); /* I - String2 */
+
+ <Case fold both input UTF-8 strings by calling 'cupsUtf8CaseFold()'>
+ <Return compare of case folded first and second strings>
+
+
+
+ 3.2.2.6. cupsUtf32CompareCaseless()
+
+ /*
+ * Compare UTF-32 strings after case folding
+ */
+ extern int cupsUtf32CompareCaseless(const utf32_t *s1,
+ /* I - String1 */
+ const utf32_t *s2); /* I - String2 */
+
+ <Case fold both input UTF-32 strings by calling 'cupsUtf32CaseFold()'>
+
+ McDonald June 20, 2002 [Page 26]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ <Return compare of case folded first and second strings>
+
+
+
+ 3.2.2.7. cupsUtf8CompareIdentifier()
+
+ /*
+ * Compare UTF-8 strings after case folding and NFKC normalization
+ */
+ extern int cupsUtf8CompareIdentifier(const utf8_t *s1,
+ /* I - String1 */
+ const utf8_t *s2); /* I - String2 */
+
+ <Convert input UTF-8 to internal UCS-4 by calling 'cupsUtf8ToUtf32()'>
+ <Case fold both strings by calling 'cupsUtf32CaseFold()'>
+ <Normalize both strings to NFKC by calling 'cupsUtf32Normalize()'>
+ <Return compare of case folded/normalized first and second strings>
+
+
+
+ 3.2.2.8. cupsUtf32CompareIdentifier()
+
+ /*
+ * Compare UTF-32 strings after case folding and NFKC normalization
+ */
+ extern int cupsUtf32CompareIdentifier(const utf32_t *s1,
+ /* I - String1 */
+ const utf32_t *s2); /* I - String2 */
+
+ <Case fold both strings by calling 'cupsUtf32CaseFold()'>
+ <Normalize both strings to NFKC by calling 'cupsUtf32Normalize()'>
+ <Return compare of case folded/normalized first and second strings>
+
+
+
+ 3.2.2.9. cupsUtf32CharacterProperty()
+
+ /*
+ * Get UTF-32 character property
+ */
+ extern int cupsUtf32CharacterProperty(const utf32_t ch,
+ /* I - Source char */
+ const cups_property_t property);
+ /* I - Char Property */
+
+ <Lookup UTF-32 character property in appropriate map...> <...internal
+ functions for each different map lookup>
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 27]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 3.2.2.10. Normalization Utility Functions
+
+
+
+
+ 3.2.2.10.1. cupsNormalizeMapsGet()
+
+ extern void cupsNormalizeMapsMapsGet(void);
+
+ <Find normalize maps in cache>
+ <...If found, increment 'used'>
+ <...and return void>
+ <For each map (normalization, case fold, combining class, etc.)...>
+ <Open (preprocessed form of) Unicode data file...>
+ <...If not found, return void>
+ <Count lines in preprocessed form, for mapping memory alloc>
+ <...Close (preprocessed form of) Unicode data file>
+ <Open (preprocessed form of) Unicode data file...>
+ <...If not found, return void>
+ <Allocate memory for approriate map in cache...>
+ <...If no memory, return void>
+ <Add to appropriate cache by assigning 'next' field>
+ <Assign map type field and count field>
+ <Increment 'used' field>
+ <Read normalize map into memory in loop...>
+ <...Add values to 'uni2xxx[]' array>
+ <Close (preprocessed form of) Unicode data file>
+ <Return void>
+
+
+
+ 3.2.2.10.2. cupsNormalizeMapsFree()
+
+ extern void cupsNormalizeMapsFree(void);
+
+ <Find normalize maps in cache>
+ <...If found, decrement 'used'>
+ <Return void>
+
+
+
+ 3.2.2.10.3. cupsNormalizeMapsFlush()
+
+ extern void cupsNormalizeMapsFlush(void);
+
+ <Loop through normalize maps cache...>
+ <...Free 'uni2norm[]' memory>
+ <...Free normalize map memory>
+ <Loop through case folding cache...>
+ <...Free 'uni2fold[]' memory>
+
+ McDonald June 20, 2002 [Page 28]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ <...Free case folding memory>
+ <Loop through char property map cache...>
+ <...Free 'uni2prop[]' memory>
+ <...Free char property map memory>
+ <Loop through line break class map cache...>
+ <...Free 'uni2break[]' memory>
+ <...Free line break class map memory>
+ <Loop through combining class map cache...>
+ <...Free 'uni2comb[]' memory>
+ <...Free combining class map memory>
+ <Return void>
+
+
+
+ 3.3. Language - Existing
+
+
+
+ 3.3.1. language.h - Language header
+
+ Required Changes:
+
+ (1) Change definition of 'cups_lang_t' to correct length of 'language[]'
+ to 32 characters per [RFC3066] and [ISO639-2] and [ISO3166-1].
+
+
+
+ 3.3.2. language.c - Language module
+
+
+
+ 3.3.2.1. cupsLangEncoding() - Existing
+
+ [No Change]
+
+
+
+ 3.3.2.2. cupsLangFlush() - Existing
+
+ [No Change]
+
+
+
+ 3.3.2.3. cupsLangFree() - Existing
+
+ [No Change]
+
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 29]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 3.3.2.4. cupsLangGet() - Existing
+
+ Required Changes:
+
+ (1) Change length of 'langname[]' and 'real[]' to 64 characters per
+ [RFC3066] and potential length of encoding (charset) names;
+ (2) Change language string normalization to support:
+ (a) 8-character language codes per [RFC3066] and 3-character
+ language codes per [ISO639-2];
+ (b) 8-character country codes per [RFC3066] and 3-character country
+ codes per [ISO3166-1];
+ (c) Support for 'i' (IANA registered) and 'x' (private) language
+ prefixes per [RFC3066];
+ (d) Invariant use of 'utf-8' for encoding in message catalog, but
+ save actual requested encoding name for later use.
+ (3) Correct broken do/while statement for message catalog lookup (while
+ condition is _never_ satisfied).
+
+
+
+ 3.3.2.5. cupsLangPrintf() - New
+
+ extern int cupsLangPrintf(FILE *fp, /* I - File to write */
+ const cups_lang_t *lang, /* I - Language/locale*/
+ const cups_msg_t msg, /* I - Msg to format */
+ ...); /* I - Args to format */
+
+ <Set up variable args by calling 'va_start()'>
+ <Format CUPS message with variable args by calling 'vsnprintf()'>
+ <Clean up variable args by calling 'va_end()'>
+ <Transcode CUPS message by calling 'cupsUtf8ToCharset()'>
+ <Write CUPS message by calling 'fputs()'>
+ <Return transcoded output CUPS message length>
+
+
+
+ 3.3.2.6. cupsLangPuts() - New
+
+ extern int cupsLangPuts(FILE *fp, /* I - File to write */
+ const cups_lang_t *lang, /* I - Language/locale*/
+ const cups_msg_t msg); /* I - Msg to write */
+
+ <Transcode CUPS message by calling 'cupsUtf8ToCharset()'>
+ <Write CUPS message by calling 'fputs()'>
+ <Return transcoded output CUPS message length>
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 30]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 3.3.2.7. cupsEncodingName() - New
+
+ extern char *cupsEncodingName(cups_encoding_t encoding);
+
+ <Lookup encoding name in static 'lang_encodings[]' array>
+ <Return pointer to encoding name (charset map file name)>
+
+
+
+ 3.4. Common Text Filter - Existing
+
+
+
+ 3.4.1. textcommon.h - Common text filter header
+
+ Required changes:
+
+ (1) Revise 'lchar_t' as specified below, adding 'attrx' bit-mask for
+ selected Unicode character properties;
+ (2) Revise 'lchar_t' as specified below, adding 'comblen' and 'combch[]'
+ for Unicode combining/attached chars (accents);
+ (3) Add 'COMBLEN_MAX' limit as specified below;
+ (4) Add 'ATTRX_...' selected Unicode character properties as specified
+ below.
+
+
+
+ 3.4.1.1. lchar_t - Character/Attribute Structure
+
+ typedef struct lchar_str /**** Character / Attribute Structure ****/
+ {
+ unsigned short ch; /* Unicode Char as UCS-2 */
+ /* or 8/16-bit Legacy Char */
+ unsigned short attr; /* Attributes of Char */
+ unsigned short attrx; /* Extended Attributes */
+ unsigned short comblen; /* Combining Char Count */
+ unsigned short combch[8]; /* Combining Chars as UCS-2 */
+ } lchar_t;
+
+ 'ch' is a 16-bit UCS-2 character or a 8/16-bit legacy char. 'attr' is
+ the character attributes defined for the existing 'lchar_t' structure
+ (defined in 'textcommon.h'). 'attrx' is the extended character
+ attributes defined for future selected Unicode character properties (see
+ below). 'comblen' is the number of attached/combining characters.
+ 'combch' is an array of 16-bit UCS-2 attached/combining characters.
+
+ Add to 'textcommon.h' constants:
+
+ COMBLEN_MAX 8
+
+
+ McDonald June 20, 2002 [Page 31]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+ ATTRX_RIGHT2LEFT 0x0001
+
+
+
+ 3.4.2. textcommon.c - Common text filter
+
+ Required Changes:
+
+ (1) Revise 'TextMain()' function as described below.
+
+
+
+ 3.4.2.1. TextMain() - Existing
+
+ Required Changes:
+
+ [Ed Note: Pseudo code below needs more work on bidi handling.]
+
+ (1) In main loop at the _beginning_ of the 'default' clause, add the
+ following code for combining marks:
+ lchar_t *cp;
+
+ cp = Page[line];
+ cp += column;
+ /*
+ * Check for Unicode combining mark (accent)
+ */
+ if (UTF-8 && cupsUtf32CombiningClass(ch) > 0)
+ {
+
+ /*
+ * Save Unicode combining mark in SAME character
+ */
+ if (cp->comblen > COMBLEN_MAX)
+ break;
+ cp->combch[cp->comblen] = ch;
+ cp->comblen ++;
+ break;
+ }
+
+ (2) In main loop _after_ combining chars section in 'default' clause,
+ add the following code for Unicode bidi control characters
+ cups_bidicat_t bidicat;
+
+ /*
+ * Check for Unicode bidi control character
+ */
+ if (UTF-8)
+ {
+ bidicat = (cups_bidicat_t)
+ cupsUtf32CharacterProperty(ch, CUPS_PROP_BIDI_CATEGORY);
+
+ McDonald June 20, 2002 [Page 32]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ if ((bidicat == CUPS_BIDI_LRE) /* Left-to-Right Embedding *
+ || (bidicat == CUPS_BIDI_LRO) /* Left-to-Right Override */
+ || (bidicat == CUPS_BIDI_RLE) /* Right-to-Left Embedding *
+ || (bidicat == CUPS_BIDI_RLO) /* Right-to-Left Override */
+ || (bidicat == CUPS_BIDI_PDF)) /* Pop Directional Format */
+ {
+ /* Do bidi stuff here with memory for NEXT char's direction
+ /* Discard bidi control character and break */
+ }
+ if ((bidicat == CUPS_BIDI_R) /* Right-to-Left Hebrew */
+ || (bidicat == CUPS_BIDI_AL)) /* Right-to-Left Arabic */
+ {
+ /* Set attrx for right-to-left */
+ cp->attrx |= ATTRX_RIGHT2LEFT
+ }
+ }
+
+
+
+ 3.4.2.2. compare_keywords() - Existing
+
+ [No Change]
+
+
+
+ 3.4.2.3. getutf8() - Existing
+
+ [No Change]
+
+ [Ed Note: Future - allow 20-bit UTF-32 code points - requires updates
+ in both 'textcommon.c' and 'texttops.c' for extended PostScript.]
+
+
+
+ 3.5. Text to PostScript Filter - Existing
+
+
+
+ 3.5.1. texttops.c - Text to PostScript filter
+
+ Required Changes:
+
+ (1) Revise local 'write_string()' function as described below.
+
+
+
+ 3.5.1.1. main() - Existing
+
+ [No Change]
+
+
+
+
+ McDonald June 20, 2002 [Page 33]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+
+
+ 3.5.1.2. WriteEpilogue () - Existing
+
+ [No Change]
+
+
+
+ 3.5.1.3. WritePage () - Existing
+
+ [No Change]
+
+
+
+ 3.5.1.4. WriteProlog () - Existing
+
+ [No Change]
+
+
+
+ 3.5.1.5. write_line() - Existing
+
+ [No Change]
+
+
+
+ 3.5.1.6. write_string() - Existing
+
+ Required Changes:
+
+ (1) At the _beginning_ of Multiple Fonts section, _replace_ the while()
+ loop and surrounding 'putchar()' calls with the following code:
+
+ for (; len > 0; len --, s ++)
+ {
+ utf32_t decstr[COMBLEN_MAX * 2];
+ utf32_t cmpstr[COMBLEN_MAX * 2];
+ int cmplen;
+ int i;
+
+ if (s->comblen == 0)
+ {
+ printf("<%04x>", Chars[s->ch]);
+ continue;
+ }
+
+ /*
+ * Normalize decomposed Unicode character to NFKC
+ * (compatibility decomposition, then canonical composition)
+ */
+ decstr[0] = (utf32_t) s->ch;
+ for (i = 0; i < s->comblen; i ++)
+
+ McDonald June 20, 2002 [Page 34]
+\f
+ CUPS Internationalization Software Design Description v0.3
+
+ decstr[i + 1] = (utf32_t) s->combch[i];
+ decstr[i] = 0;
+ cmplen = cupsUtf32Normalize (&cmpstr[0],
+ &decstr[0], COMBLEN_MAX * 2, CUPS_NORM_NFKC);
+ if (cmplen < 1)
+ continue;
+
+ /*
+ * Write combining chars, then composed base, to same location
+ */
+ for (i = 1; i < cmplen; i ++)
+ {
+ printf("<%04x>", Chars[(int) cmpstr[i]);
+ /*
+ * Superimpose glyphs by backing up one column width
+ */
+ printf (" -%.3f ", (72.0f / (float) CharsPerInch));
+ }
+ printf("<%04x>", Chars[(int) cmpstr[0]);
+ }
+
+ [Ed Note: Future - Bidi support - When writing Unicode characters
+ (checking for explicit bidi) convert input string (lchar_t) to display
+ order???]
+
+
+
+ 3.5.1.7. write_text() - Existing
+
+ [No Change]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page 35]
+\f
+ CUPS Internationalization Software Design Description v0.3
+ APPENDIX A
+ Glossary
+
+
+
+ A. Glossary
+
+ Abstract Character: A unit of information used for the organization,
+ control, or representation of textual data.
+
+ Accent Mark: A mark placed above, below, or to the side of a character
+ to alter its phonetic value (also 'diacritic').
+
+ Alphabet: A collection of symbols that, in the context of a particular
+ written language, represent the sounds of that language.
+
+ Base Character: A character that does not graphically combine with
+ preceding characters, and that is neither a control nor a format
+ character.
+
+ Basic Multilingual Plane: The Unicode (or UCS) code values 0x0000
+ through 0xFFFF, specified by [ISO10646] (also 'Plane 0').
+
+ BIDI: Abbreviation for Bidirectional, in reference to mixed
+ left-to-right and right-to-left text.
+
+ Bidirectional Display: The process or result of mixing left-to-right
+ oriented text and right-to-left oriented text in a single line.
+
+ Big-endian: A computer architecture that stores multiple-byte numerical
+ values with the most significant byte (MSB) values first.
+
+ BMP: Abbreviation for Basic Multilingual Plane.
+
+ BOM: Acronym for byte order mark (also 'ZWNBSP').
+
+ Byte Order Mark: The Unicode character U+FEFF Zero Width No-Break Space
+ (ZWNBSP) when used to indicate the byte order of text.
+
+ Canonical: (1) Conforming to the general rules for encoding -- that is,
+ not compressed, compacted, or in any other form specified by a higher
+ protocol. (2) Characteristic of a normative mapping and form of
+ equivalence.
+
+ Canonical Decomposition: The decomposition of a character that results
+ from recursively applying the canonical mappings defined in the Unicode
+ Character Database until no characters can be further decomposed, then
+ reordering nonspacing marks according to section 3.10 of [UNICODE3.2].
+
+ Canonical Equivalent: Two characters are canonical equivalents if their
+ full canonical decompositions are identical.
+
+ Case: (1) Feature of certain alphabets wheere the letters have two
+
+ McDonald June 20, 2002 [Page A-1]
+\f
+ CUPS Internationalization Software Design Description v0.3
+ APPENDIX A
+ Glossary
+
+ distinct forms. These variants are called the 'uppercase' letter (also
+ known as 'capital' or 'majuscule') and the 'lowercase' letter (also
+ known as 'small' or 'minuscule'). (2) Normative property of Unicode
+ characters, consisting of uppercase, lowercase, and titlecase.
+
+ Character: (1) The smallest component of written language that has
+ semantic value; refers to the abstract meaning and/or shape, rather than
+ a specific shape (see also 'glyph'). (2) Synonym for 'abstract
+ character'. (3) The basic unit of encoding for the Unicode character
+ encoding. (4) The English name for the ideographic written elements of
+ Chinese origin (see 'ideograph').
+
+ Character Encoding Form (CEF): Mapping from a character set definition
+ to the actual bits used to represent the data.
+
+ Character Encoding Scheme (CES): A 'character encoding form' plus byte
+ serialization. [UNICODE3.2] defines seven character encoding schemes:
+ UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, and UTF32-LE.
+
+ Character Properties: A set of property names and property values
+ associated with individual characters defined in [UNICODE3.2].
+
+ Character Repertoire: (1) The collection of characters included in a
+ character set. (2) The SUBSET of characters included in a large
+ character set, e.g., [UNICODE3.2], that are necessary to support a
+ complete mapping to another smaller character set, e.g., ISO8859-1 (also
+ called 'Latin-1').
+
+ Character Set: A collection of elements used to represent textual
+ information.
+
+ Coded Character Set: A character set in which each character is
+ assigned a numeric code value. Frequently abbreviated as 'character
+ set', 'charset', or 'code set'.
+
+ Code Point: (1) A numerical index (or position) in an encoding table
+ used for encoding characters. (2) Synonym for 'Unicode scalar value'.
+
+ Collation: The process of ordering units of textual information.
+ Collation is usually specific to a particular language. Also known as
+ 'alphabetizing' or 'alphabetic sorting'.
+
+ Combining Character: A character that graphically combines with a
+ preceding 'base character'. The combining character is said to 'apply'
+ to that base character. (See also 'nonspacing mark'.)
+
+ Compatibility: (1) Consistency with existing practice or preexisting
+ character encoding standards. (2) Characterisitic of a normative
+ mapping and form of equivalence (see 'compatibility decomposition').
+
+
+ McDonald June 20, 2002 [Page A-2]
+\f
+ CUPS Internationalization Software Design Description v0.3
+ APPENDIX A
+ Glossary
+
+
+ Compatibility Character: A character that has a compatibility
+ decomposition.
+
+ Compatibility Decomposition: The decomposition of a character that
+ results from recursively applying BOTH the compatibility mappings AND
+ the canonical mappings found in the Unicode Character Database until no
+ characters can be further decomposed, then reordering nonspacing marks
+ according to section 3.10 of [UNICODE3.2].
+
+ Compatibility Equivalent: Two characters are compatibility equivalents
+ if their full compatibility decompositions are identical.
+
+ Composed Character: (See 'descomposable character'.)
+
+ DBCS: Acronym for 'double-byte character set'.
+
+ Decomposable Character: A character that is equivalent to a sequence of
+ one or more other characters, according to the decomposition mappings
+ found in [UNICODE3.2]. It may also be known as a 'precomposed
+ character' or a 'composite character'.
+
+ Decomposition: (1) The process of separating or analyzing a text
+ element into component units. (2) A sequence of one or more characters
+ that is equivalent to a 'decomposable character'.
+
+ Diacritic: (See 'accent mark'.)
+
+ Double-Byte Character Set (DBCS): One of a number of character sets
+ defined for representing Chinese, Japanese, or Korean text (for example,
+ JIS X 0208-1990). These character sets are often encoded in such a way
+ as to allow double-byte character encodings to be mixed with single-byte
+ character encodings. (See also 'multiple-byte character set'.)
+
+ Font: A collection of glyphs used for visual depication of character
+ data.
+
+ FSS-UTF: Abbreviation for 'File System Safe UCS Transformation Format',
+ originally published by X/Open. Now called 'UTF-8'.
+
+ Fullwidth: Characters of East Asian character sets whose glyph image
+ extends across the entire character display cell. In legacy character
+ sets, fullwidth characters are normally encoded in two or three bytes.
+
+ Glyph: (1) An abstract form that represents one or more glyph images.
+ (2) A synonym for 'glyph image'.
+
+ Glyph Image: The actual, concrete image of a glyph representation
+ having been rasterized or otherwise images onto some display surface.
+
+
+ McDonald June 20, 2002 [Page A-3]
+\f
+ CUPS Internationalization Software Design Description v0.3
+ APPENDIX A
+ Glossary
+
+
+ Halfwidth: Characters of East Asian character sets whose glyph image
+ occupies half of the character display cell. In legacy character sets,
+ halfwidth characters are normally encoded in a single byte.
+
+ Han Characters: Ideographic characters of Chinese origin.
+
+ Hangul: The name of the script used to write the Korean language.
+
+ High-Surrogate: A Unicode code value in the range U+D800 to U+DBFF.
+
+ Hiragana: One of two standard syllabaries associated with the Japanese
+ writing system. Use to write particles, grammatical affixes, and words
+ that have no 'kanji' form.
+
+ IANA: Internet Assigned Numbers Authority.
+
+ Ideograph: (1) Any symbol that denotes an idea (or meaning) in contrast
+ to a sound or pronunciation (for example, a 'smiley face'). (2) A
+ common term used to refer to Han characters.
+
+ IPA: International Phonetic Alphabet.
+
+ IRG: Abbreviation for Ideographic Rapporteur Group, a subgroup of
+ ISO/IEC JTC1/SC2/WG2 (who work on Han unification and submission of new
+ Han characters for inclusion in revised versions of Unicode/ISO 10646).
+
+ Jamo: The Korean name for a single letter of the Hangul script. Jamos
+ are used to form Hangul syllables.
+
+ Joiner: An invisible character that affects the joining behavior of
+ surrounding characters.
+
+ JTC1: Abbreviation for Joint Technical Committee 1 of ISO/IEC,
+ responsible for information technology standardization.
+
+ Kana: The name of a primarily syllabic script used by the Japanese
+ writing system, composed of 'hiragana' and 'katakana'.
+
+ Kanji: The Japanese name for Han characters; derived from the Chinese
+ word 'hanzi'. Also romanized as 'kanzi'.
+
+ Katakana: One of two standard syllabaries associated with the Japanese
+ writing system, typically used in representation of borrowed vocabulary.
+
+ Ligature: A glyph representing a combination of two or more characters,
+ for example in the Latin script the ligature between 'f' and 'i' as
+ 'fi'.
+
+ Logical Order: The order in which text is typed on a keyboard. For the
+
+ McDonald June 20, 2002 [Page A-4]
+\f
+ CUPS Internationalization Software Design Description v0.3
+ APPENDIX A
+ Glossary
+
+ most part, logical order corresponds to phonetic order.
+
+ Lowercase: (See 'case'.)
+
+ Low-Surrogate: A Unicode code value in the range U+DC00 to U+DFFF.
+
+ MBCS: Acronym for 'multiple-byte character set'.
+
+ Multiple-Byte Character Set (MBCS): A character set encoded with a
+ variable number of bytes per character. Many large character sets have
+ been defined as MBCS so as to keep strict compatibility with the
+ US-ASCII subset and/or [ISO2022].
+
+ Normalization: Transformation of data to a normal form.
+
+ Plain Text: Computer-encoded text that consists ONLY of a sequence of
+ code values from a given standard, with no other formatting or
+ structural information.
+
+ Precomposed Character: (See 'decomposable character'.)
+
+ Rendering: (1) The process of selecting and laying out glyphs for the
+ purpose of depicting characters. (2) The process of making glyphs
+ visible on a display device.
+
+ Repertoire: (See 'character repertoire'.)
+
+ Replacement Character: A character used as a substitute for an
+ uninterpretable character from another encoding. [UNICODE3.2] defines
+ U+FFFD REPLACEMENT CHARACTER for this function.
+
+ Rich Text: The result of adding information such as font data, color,
+ formatting, phonetic annotations, etc. to 'plain text' (e.g., HTML).
+
+ SBCS: Acronym for 'single-byte character set'.
+
+ Scalar Value: (See 'Unicode scalar value'.)
+
+ Script: A collection of symbols used to represent textual information
+ in one or more writing systems.
+
+ Single-Byte Character Set (SBCS): One of a number of one-byte character
+ sets defined for representing (mostly) Western languages (for example,
+ ISO 8859-1 'Latin-1'). These character sets are often encoded in such a
+ way as to be strict supersets of 7-bit [US-ASCII].
+
+ Sorting: (See 'collation'.)
+
+ Transcoding: Conversion of character data between different character
+ sets.
+
+ McDonald June 20, 2002 [Page A-5]
+\f
+ CUPS Internationalization Software Design Description v0.3
+ APPENDIX A
+ Glossary
+
+
+ Transformation Format: A mapping from a coded character sequence to a
+ unique sequence of code values (typically octets).
+
+ UCS: Abbreviation for Universal Character Set, specified by [ISO10646].
+
+ UCS-2: UCS encoded in 2 octets, specified by [ISO10646].
+
+ UCS-4: UCS encoded in 4 octets, specified by [ISO10646].
+
+ Unicode Scalar Value: A number between 0 to 0x10FFFF.
+
+ Uppercase: (See 'case'.)
+
+ UTF: Abbreviation for Unicode (or UCS) Transformation Format.
+
+ UTF-8: Unicode (or UCS) Transformation Format, 8-bit encoding form.
+ Serializes a Unicode (or UCS) scalar value (code point) as a sequence of
+ one to four octets. Does NOT suffer from byte-ordering ambiguities.
+
+ UTF-16: Unicode (or UCS) Transformation Format, 16-bit encoding form.
+ Serializes a Unicode (or UCS) scalar value (code point) as a sequence of
+ two octets, in either big-endian or little-endian format. Uses an
+ (optional) prefix of BOM to disambiguate byte-ordering.
+
+ UTF-32: Unicode (or UCS) Transformation Format, 32-bit encoding form.
+ Serializes a Unicode (or UCS) scalar value (code point) as a sequence of
+ four octets, in either big-endian or little-endian format. Uses an
+ (optional) prefix of BOM to disambiguate byte-ordering.
+
+ Zero Width: Characteristic of some spaces or format control characters
+ that do not advance text along the horizontal baseline.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ McDonald June 20, 2002 [Page A-6]
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-1:1998 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-1:1998 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-1 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-1 order.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x00A1 # INVERTED EXCLAMATION MARK\r
+0xA2 0x00A2 # CENT SIGN\r
+0xA3 0x00A3 # POUND SIGN\r
+0xA4 0x00A4 # CURRENCY SIGN\r
+0xA5 0x00A5 # YEN SIGN\r
+0xA6 0x00A6 # BROKEN BAR\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x00A8 # DIAERESIS\r
+0xA9 0x00A9 # COPYRIGHT SIGN\r
+0xAA 0x00AA # FEMININE ORDINAL INDICATOR\r
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC # NOT SIGN\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x00AE # REGISTERED SIGN\r
+0xAF 0x00AF # MACRON\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x00B1 # PLUS-MINUS SIGN\r
+0xB2 0x00B2 # SUPERSCRIPT TWO\r
+0xB3 0x00B3 # SUPERSCRIPT THREE\r
+0xB4 0x00B4 # ACUTE ACCENT\r
+0xB5 0x00B5 # MICRO SIGN\r
+0xB6 0x00B6 # PILCROW SIGN\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x00B8 # CEDILLA\r
+0xB9 0x00B9 # SUPERSCRIPT ONE\r
+0xBA 0x00BA # MASCULINE ORDINAL INDICATOR\r
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC # VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD # VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x00BF # INVERTED QUESTION MARK\r
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE\r
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x00D0 # LATIN CAPITAL LETTER ETH (Icelandic)\r
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE\r
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 # MULTIPLICATION SIGN\r
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE\r
+0xDE 0x00DE # LATIN CAPITAL LETTER THORN (Icelandic)\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S (German)\r
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 # LATIN SMALL LETTER AE\r
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x00F0 # LATIN SMALL LETTER ETH (Icelandic)\r
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE\r
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 # DIVISION SIGN\r
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE\r
+0xFE 0x00FE # LATIN SMALL LETTER THORN (Icelandic)\r
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-10:1998 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.1\r
+# Table format: Format A\r
+# Date: 1999 October 11\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-10:1998 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-10 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-10 order.\r
+#\r
+# Version history\r
+# 1.0 version new.\r
+# 1.1 corrected mistake in mapping of 0xA4\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK\r
+0xA2 0x0112 # LATIN CAPITAL LETTER E WITH MACRON\r
+0xA3 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA\r
+0xA4 0x012A # LATIN CAPITAL LETTER I WITH MACRON\r
+0xA5 0x0128 # LATIN CAPITAL LETTER I WITH TILDE\r
+0xA6 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA\r
+0xA9 0x0110 # LATIN CAPITAL LETTER D WITH STROKE\r
+0xAA 0x0160 # LATIN CAPITAL LETTER S WITH CARON\r
+0xAB 0x0166 # LATIN CAPITAL LETTER T WITH STROKE\r
+0xAC 0x017D # LATIN CAPITAL LETTER Z WITH CARON\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x016A # LATIN CAPITAL LETTER U WITH MACRON\r
+0xAF 0x014A # LATIN CAPITAL LETTER ENG\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK\r
+0xB2 0x0113 # LATIN SMALL LETTER E WITH MACRON\r
+0xB3 0x0123 # LATIN SMALL LETTER G WITH CEDILLA\r
+0xB4 0x012B # LATIN SMALL LETTER I WITH MACRON\r
+0xB5 0x0129 # LATIN SMALL LETTER I WITH TILDE\r
+0xB6 0x0137 # LATIN SMALL LETTER K WITH CEDILLA\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x013C # LATIN SMALL LETTER L WITH CEDILLA\r
+0xB9 0x0111 # LATIN SMALL LETTER D WITH STROKE\r
+0xBA 0x0161 # LATIN SMALL LETTER S WITH CARON\r
+0xBB 0x0167 # LATIN SMALL LETTER T WITH STROKE\r
+0xBC 0x017E # LATIN SMALL LETTER Z WITH CARON\r
+0xBD 0x2015 # HORIZONTAL BAR\r
+0xBE 0x016B # LATIN SMALL LETTER U WITH MACRON\r
+0xBF 0x014B # LATIN SMALL LETTER ENG\r
+0xC0 0x0100 # LATIN CAPITAL LETTER A WITH MACRON\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE\r
+0xC7 0x012E # LATIN CAPITAL LETTER I WITH OGONEK\r
+0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x00D0 # LATIN CAPITAL LETTER ETH (Icelandic)\r
+0xD1 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA\r
+0xD2 0x014C # LATIN CAPITAL LETTER O WITH MACRON\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x0168 # LATIN CAPITAL LETTER U WITH TILDE\r
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE\r
+0xDE 0x00DE # LATIN CAPITAL LETTER THORN (Icelandic)\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S (German)\r
+0xE0 0x0101 # LATIN SMALL LETTER A WITH MACRON\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 # LATIN SMALL LETTER AE\r
+0xE7 0x012F # LATIN SMALL LETTER I WITH OGONEK\r
+0xE8 0x010D # LATIN SMALL LETTER C WITH CARON\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x00F0 # LATIN SMALL LETTER ETH (Icelandic)\r
+0xF1 0x0146 # LATIN SMALL LETTER N WITH CEDILLA\r
+0xF2 0x014D # LATIN SMALL LETTER O WITH MACRON\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x0169 # LATIN SMALL LETTER U WITH TILDE\r
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x0173 # LATIN SMALL LETTER U WITH OGONEK\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE\r
+0xFE 0x00FE # LATIN SMALL LETTER THORN (Icelandic)\r
+0xFF 0x0138 # LATIN SMALL LETTER KRA\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-13:1998 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-13:1998 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-13 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-13 order.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x201D # RIGHT DOUBLE QUOTATION MARK\r
+0xA2 0x00A2 # CENT SIGN\r
+0xA3 0x00A3 # POUND SIGN\r
+0xA4 0x00A4 # CURRENCY SIGN\r
+0xA5 0x201E # DOUBLE LOW-9 QUOTATION MARK\r
+0xA6 0x00A6 # BROKEN BAR\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE\r
+0xA9 0x00A9 # COPYRIGHT SIGN\r
+0xAA 0x0156 # LATIN CAPITAL LETTER R WITH CEDILLA\r
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC # NOT SIGN\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x00AE # REGISTERED SIGN\r
+0xAF 0x00C6 # LATIN CAPITAL LETTER AE\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x00B1 # PLUS-MINUS SIGN\r
+0xB2 0x00B2 # SUPERSCRIPT TWO\r
+0xB3 0x00B3 # SUPERSCRIPT THREE\r
+0xB4 0x201C # LEFT DOUBLE QUOTATION MARK\r
+0xB5 0x00B5 # MICRO SIGN\r
+0xB6 0x00B6 # PILCROW SIGN\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x00F8 # LATIN SMALL LETTER O WITH STROKE\r
+0xB9 0x00B9 # SUPERSCRIPT ONE\r
+0xBA 0x0157 # LATIN SMALL LETTER R WITH CEDILLA\r
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC # VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD # VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x00E6 # LATIN SMALL LETTER AE\r
+0xC0 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK\r
+0xC1 0x012E # LATIN CAPITAL LETTER I WITH OGONEK\r
+0xC2 0x0100 # LATIN CAPITAL LETTER A WITH MACRON\r
+0xC3 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK\r
+0xC7 0x0112 # LATIN CAPITAL LETTER E WITH MACRON\r
+0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x0179 # LATIN CAPITAL LETTER Z WITH ACUTE\r
+0xCB 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE\r
+0xCC 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA\r
+0xCD 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA\r
+0xCE 0x012A # LATIN CAPITAL LETTER I WITH MACRON\r
+0xCF 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA\r
+0xD0 0x0160 # LATIN CAPITAL LETTER S WITH CARON\r
+0xD1 0x0143 # LATIN CAPITAL LETTER N WITH ACUTE\r
+0xD2 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x014C # LATIN CAPITAL LETTER O WITH MACRON\r
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 # MULTIPLICATION SIGN\r
+0xD8 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK\r
+0xD9 0x0141 # LATIN CAPITAL LETTER L WITH STROKE\r
+0xDA 0x015A # LATIN CAPITAL LETTER S WITH ACUTE\r
+0xDB 0x016A # LATIN CAPITAL LETTER U WITH MACRON\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE\r
+0xDE 0x017D # LATIN CAPITAL LETTER Z WITH CARON\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S (German)\r
+0xE0 0x0105 # LATIN SMALL LETTER A WITH OGONEK\r
+0xE1 0x012F # LATIN SMALL LETTER I WITH OGONEK\r
+0xE2 0x0101 # LATIN SMALL LETTER A WITH MACRON\r
+0xE3 0x0107 # LATIN SMALL LETTER C WITH ACUTE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x0119 # LATIN SMALL LETTER E WITH OGONEK\r
+0xE7 0x0113 # LATIN SMALL LETTER E WITH MACRON\r
+0xE8 0x010D # LATIN SMALL LETTER C WITH CARON\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x017A # LATIN SMALL LETTER Z WITH ACUTE\r
+0xEB 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE\r
+0xEC 0x0123 # LATIN SMALL LETTER G WITH CEDILLA\r
+0xED 0x0137 # LATIN SMALL LETTER K WITH CEDILLA\r
+0xEE 0x012B # LATIN SMALL LETTER I WITH MACRON\r
+0xEF 0x013C # LATIN SMALL LETTER L WITH CEDILLA\r
+0xF0 0x0161 # LATIN SMALL LETTER S WITH CARON\r
+0xF1 0x0144 # LATIN SMALL LETTER N WITH ACUTE\r
+0xF2 0x0146 # LATIN SMALL LETTER N WITH CEDILLA\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x014D # LATIN SMALL LETTER O WITH MACRON\r
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 # DIVISION SIGN\r
+0xF8 0x0173 # LATIN SMALL LETTER U WITH OGONEK\r
+0xF9 0x0142 # LATIN SMALL LETTER L WITH STROKE\r
+0xFA 0x015B # LATIN SMALL LETTER S WITH ACUTE\r
+0xFB 0x016B # LATIN SMALL LETTER U WITH MACRON\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE\r
+0xFE 0x017E # LATIN SMALL LETTER Z WITH CARON\r
+0xFF 0x2019 # RIGHT SINGLE QUOTATION MARK\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-14:1998 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Markus Kuhn <mkuhn@acm.org>\r
+# Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-14:1998 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-14 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-14 order.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE\r
+0xA2 0x1E03 # LATIN SMALL LETTER B WITH DOT ABOVE\r
+0xA3 0x00A3 # POUND SIGN\r
+0xA4 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE\r
+0xA5 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE\r
+0xA6 0x1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x1E80 # LATIN CAPITAL LETTER W WITH GRAVE\r
+0xA9 0x00A9 # COPYRIGHT SIGN\r
+0xAA 0x1E82 # LATIN CAPITAL LETTER W WITH ACUTE\r
+0xAB 0x1E0B # LATIN SMALL LETTER D WITH DOT ABOVE\r
+0xAC 0x1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x00AE # REGISTERED SIGN\r
+0xAF 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS\r
+0xB0 0x1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE\r
+0xB1 0x1E1F # LATIN SMALL LETTER F WITH DOT ABOVE\r
+0xB2 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE\r
+0xB3 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE\r
+0xB4 0x1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE\r
+0xB5 0x1E41 # LATIN SMALL LETTER M WITH DOT ABOVE\r
+0xB6 0x00B6 # PILCROW SIGN\r
+0xB7 0x1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE\r
+0xB8 0x1E81 # LATIN SMALL LETTER W WITH GRAVE\r
+0xB9 0x1E57 # LATIN SMALL LETTER P WITH DOT ABOVE\r
+0xBA 0x1E83 # LATIN SMALL LETTER W WITH ACUTE\r
+0xBB 0x1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE\r
+0xBC 0x1EF3 # LATIN SMALL LETTER Y WITH GRAVE\r
+0xBD 0x1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS\r
+0xBE 0x1E85 # LATIN SMALL LETTER W WITH DIAERESIS\r
+0xBF 0x1E61 # LATIN SMALL LETTER S WITH DOT ABOVE\r
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE\r
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX\r
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE\r
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE\r
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE\r
+0xDE 0x0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S\r
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 # LATIN SMALL LETTER AE\r
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX\r
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE\r
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x1E6B # LATIN SMALL LETTER T WITH DOT ABOVE\r
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE\r
+0xFE 0x0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX\r
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS\r
+\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-15:1999 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Markus Kuhn <mkuhn@acm.org>\r
+# Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-15:1999 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-15 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-15 order.\r
+#\r
+# Version history\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x00A1 # INVERTED EXCLAMATION MARK\r
+0xA2 0x00A2 # CENT SIGN\r
+0xA3 0x00A3 # POUND SIGN\r
+0xA4 0x20AC # EURO SIGN\r
+0xA5 0x00A5 # YEN SIGN\r
+0xA6 0x0160 # LATIN CAPITAL LETTER S WITH CARON\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x0161 # LATIN SMALL LETTER S WITH CARON\r
+0xA9 0x00A9 # COPYRIGHT SIGN\r
+0xAA 0x00AA # FEMININE ORDINAL INDICATOR\r
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC # NOT SIGN\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x00AE # REGISTERED SIGN\r
+0xAF 0x00AF # MACRON\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x00B1 # PLUS-MINUS SIGN\r
+0xB2 0x00B2 # SUPERSCRIPT TWO\r
+0xB3 0x00B3 # SUPERSCRIPT THREE\r
+0xB4 0x017D # LATIN CAPITAL LETTER Z WITH CARON\r
+0xB5 0x00B5 # MICRO SIGN\r
+0xB6 0x00B6 # PILCROW SIGN\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x017E # LATIN SMALL LETTER Z WITH CARON\r
+0xB9 0x00B9 # SUPERSCRIPT ONE\r
+0xBA 0x00BA # MASCULINE ORDINAL INDICATOR\r
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x0152 # LATIN CAPITAL LIGATURE OE\r
+0xBD 0x0153 # LATIN SMALL LIGATURE OE\r
+0xBE 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS\r
+0xBF 0x00BF # INVERTED QUESTION MARK\r
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE\r
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x00D0 # LATIN CAPITAL LETTER ETH\r
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE\r
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 # MULTIPLICATION SIGN\r
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE\r
+0xDE 0x00DE # LATIN CAPITAL LETTER THORN\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S\r
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 # LATIN SMALL LETTER AE\r
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x00F0 # LATIN SMALL LETTER ETH\r
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE\r
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 # DIVISION SIGN\r
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE\r
+0xFE 0x00FE # LATIN SMALL LETTER THORN\r
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS\r
+\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-16:2001 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 2001 July 26\r
+# Authors: Markus Kuhn <mkuhn@acm.org>\r
+#\r
+# Copyright (c) 1999-2001 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-16:2001 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-16 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-16 order.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK\r
+0xA2 0x0105 # LATIN SMALL LETTER A WITH OGONEK\r
+0xA3 0x0141 # LATIN CAPITAL LETTER L WITH STROKE\r
+0xA4 0x20AC # EURO SIGN\r
+0xA5 0x201E # DOUBLE LOW-9 QUOTATION MARK\r
+0xA6 0x0160 # LATIN CAPITAL LETTER S WITH CARON\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x0161 # LATIN SMALL LETTER S WITH CARON\r
+0xA9 0x00A9 # COPYRIGHT SIGN\r
+0xAA 0x0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW\r
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x0179 # LATIN CAPITAL LETTER Z WITH ACUTE\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x017A # LATIN SMALL LETTER Z WITH ACUTE\r
+0xAF 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x00B1 # PLUS-MINUS SIGN\r
+0xB2 0x010C # LATIN CAPITAL LETTER C WITH CARON\r
+0xB3 0x0142 # LATIN SMALL LETTER L WITH STROKE\r
+0xB4 0x017D # LATIN CAPITAL LETTER Z WITH CARON\r
+0xB5 0x201D # RIGHT DOUBLE QUOTATION MARK\r
+0xB6 0x00B6 # PILCROW SIGN\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x017E # LATIN SMALL LETTER Z WITH CARON\r
+0xB9 0x010D # LATIN SMALL LETTER C WITH CARON\r
+0xBA 0x0219 # LATIN SMALL LETTER S WITH COMMA BELOW\r
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x0152 # LATIN CAPITAL LIGATURE OE\r
+0xBD 0x0153 # LATIN SMALL LIGATURE OE\r
+0xBE 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS\r
+0xBF 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE\r
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x0102 # LATIN CAPITAL LETTER A WITH BREVE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE\r
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE\r
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE\r
+0xD1 0x0143 # LATIN CAPITAL LETTER N WITH ACUTE\r
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x015A # LATIN CAPITAL LETTER S WITH ACUTE\r
+0xD8 0x0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\r
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK\r
+0xDE 0x021A # LATIN CAPITAL LETTER T WITH COMMA BELOW\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S\r
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x0103 # LATIN SMALL LETTER A WITH BREVE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x0107 # LATIN SMALL LETTER C WITH ACUTE\r
+0xE6 0x00E6 # LATIN SMALL LETTER AE\r
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE\r
+0xF1 0x0144 # LATIN SMALL LETTER N WITH ACUTE\r
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x015B # LATIN SMALL LETTER S WITH ACUTE\r
+0xF8 0x0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE\r
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x0119 # LATIN SMALL LETTER E WITH OGONEK\r
+0xFE 0x021B # LATIN SMALL LETTER T WITH COMMA BELOW\r
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS\r
--- /dev/null
+#\r
+# Name: ISO 8859-2:1999 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-2:1999 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-2 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-2 order.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK\r
+0xA2 0x02D8 # BREVE\r
+0xA3 0x0141 # LATIN CAPITAL LETTER L WITH STROKE\r
+0xA4 0x00A4 # CURRENCY SIGN\r
+0xA5 0x013D # LATIN CAPITAL LETTER L WITH CARON\r
+0xA6 0x015A # LATIN CAPITAL LETTER S WITH ACUTE\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x00A8 # DIAERESIS\r
+0xA9 0x0160 # LATIN CAPITAL LETTER S WITH CARON\r
+0xAA 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA\r
+0xAB 0x0164 # LATIN CAPITAL LETTER T WITH CARON\r
+0xAC 0x0179 # LATIN CAPITAL LETTER Z WITH ACUTE\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x017D # LATIN CAPITAL LETTER Z WITH CARON\r
+0xAF 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK\r
+0xB2 0x02DB # OGONEK\r
+0xB3 0x0142 # LATIN SMALL LETTER L WITH STROKE\r
+0xB4 0x00B4 # ACUTE ACCENT\r
+0xB5 0x013E # LATIN SMALL LETTER L WITH CARON\r
+0xB6 0x015B # LATIN SMALL LETTER S WITH ACUTE\r
+0xB7 0x02C7 # CARON\r
+0xB8 0x00B8 # CEDILLA\r
+0xB9 0x0161 # LATIN SMALL LETTER S WITH CARON\r
+0xBA 0x015F # LATIN SMALL LETTER S WITH CEDILLA\r
+0xBB 0x0165 # LATIN SMALL LETTER T WITH CARON\r
+0xBC 0x017A # LATIN SMALL LETTER Z WITH ACUTE\r
+0xBD 0x02DD # DOUBLE ACUTE ACCENT\r
+0xBE 0x017E # LATIN SMALL LETTER Z WITH CARON\r
+0xBF 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE\r
+0xC0 0x0154 # LATIN CAPITAL LETTER R WITH ACUTE\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x0102 # LATIN CAPITAL LETTER A WITH BREVE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x0139 # LATIN CAPITAL LETTER L WITH ACUTE\r
+0xC6 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE\r
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x011A # LATIN CAPITAL LETTER E WITH CARON\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x010E # LATIN CAPITAL LETTER D WITH CARON\r
+0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE\r
+0xD1 0x0143 # LATIN CAPITAL LETTER N WITH ACUTE\r
+0xD2 0x0147 # LATIN CAPITAL LETTER N WITH CARON\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 # MULTIPLICATION SIGN\r
+0xD8 0x0158 # LATIN CAPITAL LETTER R WITH CARON\r
+0xD9 0x016E # LATIN CAPITAL LETTER U WITH RING ABOVE\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE\r
+0xDE 0x0162 # LATIN CAPITAL LETTER T WITH CEDILLA\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S\r
+0xE0 0x0155 # LATIN SMALL LETTER R WITH ACUTE\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x0103 # LATIN SMALL LETTER A WITH BREVE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x013A # LATIN SMALL LETTER L WITH ACUTE\r
+0xE6 0x0107 # LATIN SMALL LETTER C WITH ACUTE\r
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x010D # LATIN SMALL LETTER C WITH CARON\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x011B # LATIN SMALL LETTER E WITH CARON\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x010F # LATIN SMALL LETTER D WITH CARON\r
+0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE\r
+0xF1 0x0144 # LATIN SMALL LETTER N WITH ACUTE\r
+0xF2 0x0148 # LATIN SMALL LETTER N WITH CARON\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 # DIVISION SIGN\r
+0xF8 0x0159 # LATIN SMALL LETTER R WITH CARON\r
+0xF9 0x016F # LATIN SMALL LETTER U WITH RING ABOVE\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE\r
+0xFE 0x0163 # LATIN SMALL LETTER T WITH CEDILLA\r
+0xFF 0x02D9 # DOT ABOVE\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-3:1999 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-3:1999 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-3 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-3 order.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x0126 # LATIN CAPITAL LETTER H WITH STROKE\r
+0xA2 0x02D8 # BREVE\r
+0xA3 0x00A3 # POUND SIGN\r
+0xA4 0x00A4 # CURRENCY SIGN\r
+0xA6 0x0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x00A8 # DIAERESIS\r
+0xA9 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE\r
+0xAA 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA\r
+0xAB 0x011E # LATIN CAPITAL LETTER G WITH BREVE\r
+0xAC 0x0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAF 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x0127 # LATIN SMALL LETTER H WITH STROKE\r
+0xB2 0x00B2 # SUPERSCRIPT TWO\r
+0xB3 0x00B3 # SUPERSCRIPT THREE\r
+0xB4 0x00B4 # ACUTE ACCENT\r
+0xB5 0x00B5 # MICRO SIGN\r
+0xB6 0x0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x00B8 # CEDILLA\r
+0xB9 0x0131 # LATIN SMALL LETTER DOTLESS I\r
+0xBA 0x015F # LATIN SMALL LETTER S WITH CEDILLA\r
+0xBB 0x011F # LATIN SMALL LETTER G WITH BREVE\r
+0xBC 0x0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX\r
+0xBD 0x00BD # VULGAR FRACTION ONE HALF\r
+0xBF 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE\r
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE\r
+0xC6 0x0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX\r
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE\r
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 # MULTIPLICATION SIGN\r
+0xD8 0x011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX\r
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x016C # LATIN CAPITAL LETTER U WITH BREVE\r
+0xDE 0x015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S\r
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE\r
+0xE6 0x0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX\r
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE\r
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 # DIVISION SIGN\r
+0xF8 0x011D # LATIN SMALL LETTER G WITH CIRCUMFLEX\r
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x016D # LATIN SMALL LETTER U WITH BREVE\r
+0xFE 0x015D # LATIN SMALL LETTER S WITH CIRCUMFLEX\r
+0xFF 0x02D9 # DOT ABOVE\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-4:1998 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-4:1998 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-4 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-4 order.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK\r
+0xA2 0x0138 # LATIN SMALL LETTER KRA\r
+0xA3 0x0156 # LATIN CAPITAL LETTER R WITH CEDILLA\r
+0xA4 0x00A4 # CURRENCY SIGN\r
+0xA5 0x0128 # LATIN CAPITAL LETTER I WITH TILDE\r
+0xA6 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x00A8 # DIAERESIS\r
+0xA9 0x0160 # LATIN CAPITAL LETTER S WITH CARON\r
+0xAA 0x0112 # LATIN CAPITAL LETTER E WITH MACRON\r
+0xAB 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA\r
+0xAC 0x0166 # LATIN CAPITAL LETTER T WITH STROKE\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x017D # LATIN CAPITAL LETTER Z WITH CARON\r
+0xAF 0x00AF # MACRON\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK\r
+0xB2 0x02DB # OGONEK\r
+0xB3 0x0157 # LATIN SMALL LETTER R WITH CEDILLA\r
+0xB4 0x00B4 # ACUTE ACCENT\r
+0xB5 0x0129 # LATIN SMALL LETTER I WITH TILDE\r
+0xB6 0x013C # LATIN SMALL LETTER L WITH CEDILLA\r
+0xB7 0x02C7 # CARON\r
+0xB8 0x00B8 # CEDILLA\r
+0xB9 0x0161 # LATIN SMALL LETTER S WITH CARON\r
+0xBA 0x0113 # LATIN SMALL LETTER E WITH MACRON\r
+0xBB 0x0123 # LATIN SMALL LETTER G WITH CEDILLA\r
+0xBC 0x0167 # LATIN SMALL LETTER T WITH STROKE\r
+0xBD 0x014A # LATIN CAPITAL LETTER ENG\r
+0xBE 0x017E # LATIN SMALL LETTER Z WITH CARON\r
+0xBF 0x014B # LATIN SMALL LETTER ENG\r
+0xC0 0x0100 # LATIN CAPITAL LETTER A WITH MACRON\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE\r
+0xC7 0x012E # LATIN CAPITAL LETTER I WITH OGONEK\r
+0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x012A # LATIN CAPITAL LETTER I WITH MACRON\r
+0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE\r
+0xD1 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA\r
+0xD2 0x014C # LATIN CAPITAL LETTER O WITH MACRON\r
+0xD3 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 # MULTIPLICATION SIGN\r
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x0168 # LATIN CAPITAL LETTER U WITH TILDE\r
+0xDE 0x016A # LATIN CAPITAL LETTER U WITH MACRON\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S\r
+0xE0 0x0101 # LATIN SMALL LETTER A WITH MACRON\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 # LATIN SMALL LETTER AE\r
+0xE7 0x012F # LATIN SMALL LETTER I WITH OGONEK\r
+0xE8 0x010D # LATIN SMALL LETTER C WITH CARON\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x012B # LATIN SMALL LETTER I WITH MACRON\r
+0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE\r
+0xF1 0x0146 # LATIN SMALL LETTER N WITH CEDILLA\r
+0xF2 0x014D # LATIN SMALL LETTER O WITH MACRON\r
+0xF3 0x0137 # LATIN SMALL LETTER K WITH CEDILLA\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 # DIVISION SIGN\r
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x0173 # LATIN SMALL LETTER U WITH OGONEK\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x0169 # LATIN SMALL LETTER U WITH TILDE\r
+0xFE 0x016B # LATIN SMALL LETTER U WITH MACRON\r
+0xFF 0x02D9 # DOT ABOVE\r
--- /dev/null
+#\r
+# Name: ISO 8859-5:1999 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-5:1999 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-5 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-5 order.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x0401 # CYRILLIC CAPITAL LETTER IO\r
+0xA2 0x0402 # CYRILLIC CAPITAL LETTER DJE\r
+0xA3 0x0403 # CYRILLIC CAPITAL LETTER GJE\r
+0xA4 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE\r
+0xA5 0x0405 # CYRILLIC CAPITAL LETTER DZE\r
+0xA6 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I\r
+0xA7 0x0407 # CYRILLIC CAPITAL LETTER YI\r
+0xA8 0x0408 # CYRILLIC CAPITAL LETTER JE\r
+0xA9 0x0409 # CYRILLIC CAPITAL LETTER LJE\r
+0xAA 0x040A # CYRILLIC CAPITAL LETTER NJE\r
+0xAB 0x040B # CYRILLIC CAPITAL LETTER TSHE\r
+0xAC 0x040C # CYRILLIC CAPITAL LETTER KJE\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x040E # CYRILLIC CAPITAL LETTER SHORT U\r
+0xAF 0x040F # CYRILLIC CAPITAL LETTER DZHE\r
+0xB0 0x0410 # CYRILLIC CAPITAL LETTER A\r
+0xB1 0x0411 # CYRILLIC CAPITAL LETTER BE\r
+0xB2 0x0412 # CYRILLIC CAPITAL LETTER VE\r
+0xB3 0x0413 # CYRILLIC CAPITAL LETTER GHE\r
+0xB4 0x0414 # CYRILLIC CAPITAL LETTER DE\r
+0xB5 0x0415 # CYRILLIC CAPITAL LETTER IE\r
+0xB6 0x0416 # CYRILLIC CAPITAL LETTER ZHE\r
+0xB7 0x0417 # CYRILLIC CAPITAL LETTER ZE\r
+0xB8 0x0418 # CYRILLIC CAPITAL LETTER I\r
+0xB9 0x0419 # CYRILLIC CAPITAL LETTER SHORT I\r
+0xBA 0x041A # CYRILLIC CAPITAL LETTER KA\r
+0xBB 0x041B # CYRILLIC CAPITAL LETTER EL\r
+0xBC 0x041C # CYRILLIC CAPITAL LETTER EM\r
+0xBD 0x041D # CYRILLIC CAPITAL LETTER EN\r
+0xBE 0x041E # CYRILLIC CAPITAL LETTER O\r
+0xBF 0x041F # CYRILLIC CAPITAL LETTER PE\r
+0xC0 0x0420 # CYRILLIC CAPITAL LETTER ER\r
+0xC1 0x0421 # CYRILLIC CAPITAL LETTER ES\r
+0xC2 0x0422 # CYRILLIC CAPITAL LETTER TE\r
+0xC3 0x0423 # CYRILLIC CAPITAL LETTER U\r
+0xC4 0x0424 # CYRILLIC CAPITAL LETTER EF\r
+0xC5 0x0425 # CYRILLIC CAPITAL LETTER HA\r
+0xC6 0x0426 # CYRILLIC CAPITAL LETTER TSE\r
+0xC7 0x0427 # CYRILLIC CAPITAL LETTER CHE\r
+0xC8 0x0428 # CYRILLIC CAPITAL LETTER SHA\r
+0xC9 0x0429 # CYRILLIC CAPITAL LETTER SHCHA\r
+0xCA 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN\r
+0xCB 0x042B # CYRILLIC CAPITAL LETTER YERU\r
+0xCC 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN\r
+0xCD 0x042D # CYRILLIC CAPITAL LETTER E\r
+0xCE 0x042E # CYRILLIC CAPITAL LETTER YU\r
+0xCF 0x042F # CYRILLIC CAPITAL LETTER YA\r
+0xD0 0x0430 # CYRILLIC SMALL LETTER A\r
+0xD1 0x0431 # CYRILLIC SMALL LETTER BE\r
+0xD2 0x0432 # CYRILLIC SMALL LETTER VE\r
+0xD3 0x0433 # CYRILLIC SMALL LETTER GHE\r
+0xD4 0x0434 # CYRILLIC SMALL LETTER DE\r
+0xD5 0x0435 # CYRILLIC SMALL LETTER IE\r
+0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE\r
+0xD7 0x0437 # CYRILLIC SMALL LETTER ZE\r
+0xD8 0x0438 # CYRILLIC SMALL LETTER I\r
+0xD9 0x0439 # CYRILLIC SMALL LETTER SHORT I\r
+0xDA 0x043A # CYRILLIC SMALL LETTER KA\r
+0xDB 0x043B # CYRILLIC SMALL LETTER EL\r
+0xDC 0x043C # CYRILLIC SMALL LETTER EM\r
+0xDD 0x043D # CYRILLIC SMALL LETTER EN\r
+0xDE 0x043E # CYRILLIC SMALL LETTER O\r
+0xDF 0x043F # CYRILLIC SMALL LETTER PE\r
+0xE0 0x0440 # CYRILLIC SMALL LETTER ER\r
+0xE1 0x0441 # CYRILLIC SMALL LETTER ES\r
+0xE2 0x0442 # CYRILLIC SMALL LETTER TE\r
+0xE3 0x0443 # CYRILLIC SMALL LETTER U\r
+0xE4 0x0444 # CYRILLIC SMALL LETTER EF\r
+0xE5 0x0445 # CYRILLIC SMALL LETTER HA\r
+0xE6 0x0446 # CYRILLIC SMALL LETTER TSE\r
+0xE7 0x0447 # CYRILLIC SMALL LETTER CHE\r
+0xE8 0x0448 # CYRILLIC SMALL LETTER SHA\r
+0xE9 0x0449 # CYRILLIC SMALL LETTER SHCHA\r
+0xEA 0x044A # CYRILLIC SMALL LETTER HARD SIGN\r
+0xEB 0x044B # CYRILLIC SMALL LETTER YERU\r
+0xEC 0x044C # CYRILLIC SMALL LETTER SOFT SIGN\r
+0xED 0x044D # CYRILLIC SMALL LETTER E\r
+0xEE 0x044E # CYRILLIC SMALL LETTER YU\r
+0xEF 0x044F # CYRILLIC SMALL LETTER YA\r
+0xF0 0x2116 # NUMERO SIGN\r
+0xF1 0x0451 # CYRILLIC SMALL LETTER IO\r
+0xF2 0x0452 # CYRILLIC SMALL LETTER DJE\r
+0xF3 0x0453 # CYRILLIC SMALL LETTER GJE\r
+0xF4 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE\r
+0xF5 0x0455 # CYRILLIC SMALL LETTER DZE\r
+0xF6 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I\r
+0xF7 0x0457 # CYRILLIC SMALL LETTER YI\r
+0xF8 0x0458 # CYRILLIC SMALL LETTER JE\r
+0xF9 0x0459 # CYRILLIC SMALL LETTER LJE\r
+0xFA 0x045A # CYRILLIC SMALL LETTER NJE\r
+0xFB 0x045B # CYRILLIC SMALL LETTER TSHE\r
+0xFC 0x045C # CYRILLIC SMALL LETTER KJE\r
+0xFD 0x00A7 # SECTION SIGN\r
+0xFE 0x045E # CYRILLIC SMALL LETTER SHORT U\r
+0xFF 0x045F # CYRILLIC SMALL LETTER DZHE\r
--- /dev/null
+#\r
+# Name: ISO 8859-6:1999 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-6:1999 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-6 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-6 order.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+# 0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead\r
+# of the Arabic digits (U+0660..U+0669).\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA4 0x00A4 # CURRENCY SIGN\r
+0xAC 0x060C # ARABIC COMMA\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xBB 0x061B # ARABIC SEMICOLON\r
+0xBF 0x061F # ARABIC QUESTION MARK\r
+0xC1 0x0621 # ARABIC LETTER HAMZA\r
+0xC2 0x0622 # ARABIC LETTER ALEF WITH MADDA ABOVE\r
+0xC3 0x0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE\r
+0xC4 0x0624 # ARABIC LETTER WAW WITH HAMZA ABOVE\r
+0xC5 0x0625 # ARABIC LETTER ALEF WITH HAMZA BELOW\r
+0xC6 0x0626 # ARABIC LETTER YEH WITH HAMZA ABOVE\r
+0xC7 0x0627 # ARABIC LETTER ALEF\r
+0xC8 0x0628 # ARABIC LETTER BEH\r
+0xC9 0x0629 # ARABIC LETTER TEH MARBUTA\r
+0xCA 0x062A # ARABIC LETTER TEH\r
+0xCB 0x062B # ARABIC LETTER THEH\r
+0xCC 0x062C # ARABIC LETTER JEEM\r
+0xCD 0x062D # ARABIC LETTER HAH\r
+0xCE 0x062E # ARABIC LETTER KHAH\r
+0xCF 0x062F # ARABIC LETTER DAL\r
+0xD0 0x0630 # ARABIC LETTER THAL\r
+0xD1 0x0631 # ARABIC LETTER REH\r
+0xD2 0x0632 # ARABIC LETTER ZAIN\r
+0xD3 0x0633 # ARABIC LETTER SEEN\r
+0xD4 0x0634 # ARABIC LETTER SHEEN\r
+0xD5 0x0635 # ARABIC LETTER SAD\r
+0xD6 0x0636 # ARABIC LETTER DAD\r
+0xD7 0x0637 # ARABIC LETTER TAH\r
+0xD8 0x0638 # ARABIC LETTER ZAH\r
+0xD9 0x0639 # ARABIC LETTER AIN\r
+0xDA 0x063A # ARABIC LETTER GHAIN\r
+0xE0 0x0640 # ARABIC TATWEEL\r
+0xE1 0x0641 # ARABIC LETTER FEH\r
+0xE2 0x0642 # ARABIC LETTER QAF\r
+0xE3 0x0643 # ARABIC LETTER KAF\r
+0xE4 0x0644 # ARABIC LETTER LAM\r
+0xE5 0x0645 # ARABIC LETTER MEEM\r
+0xE6 0x0646 # ARABIC LETTER NOON\r
+0xE7 0x0647 # ARABIC LETTER HEH\r
+0xE8 0x0648 # ARABIC LETTER WAW\r
+0xE9 0x0649 # ARABIC LETTER ALEF MAKSURA\r
+0xEA 0x064A # ARABIC LETTER YEH\r
+0xEB 0x064B # ARABIC FATHATAN\r
+0xEC 0x064C # ARABIC DAMMATAN\r
+0xED 0x064D # ARABIC KASRATAN\r
+0xEE 0x064E # ARABIC FATHA\r
+0xEF 0x064F # ARABIC DAMMA\r
+0xF0 0x0650 # ARABIC KASRA\r
+0xF1 0x0651 # ARABIC SHADDA\r
+0xF2 0x0652 # ARABIC SUKUN\r
--- /dev/null
+#\r
+# Name: ISO 8859-7:1987 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO 8859-7:1987 characters map into Unicode.\r
+#\r
+# ISO 8859-7:1987 is equivalent to ISO-IR-126, ELOT 928,\r
+# and ECMA 118.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO 8859-7 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO 8859-7 order.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+# Remap 0xA1 to U+2018 (instead of 0x02BD) to match text of 8859-7\r
+# Remap 0xA2 to U+2019 (instead of 0x02BC) to match text of 8859-7\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x2018 # LEFT SINGLE QUOTATION MARK\r
+0xA2 0x2019 # RIGHT SINGLE QUOTATION MARK\r
+0xA3 0x00A3 # POUND SIGN\r
+0xA6 0x00A6 # BROKEN BAR\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x00A8 # DIAERESIS\r
+0xA9 0x00A9 # COPYRIGHT SIGN\r
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC # NOT SIGN\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAF 0x2015 # HORIZONTAL BAR\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x00B1 # PLUS-MINUS SIGN\r
+0xB2 0x00B2 # SUPERSCRIPT TWO\r
+0xB3 0x00B3 # SUPERSCRIPT THREE\r
+0xB4 0x0384 # GREEK TONOS\r
+0xB5 0x0385 # GREEK DIALYTIKA TONOS\r
+0xB6 0x0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS\r
+0xB9 0x0389 # GREEK CAPITAL LETTER ETA WITH TONOS\r
+0xBA 0x038A # GREEK CAPITAL LETTER IOTA WITH TONOS\r
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x038C # GREEK CAPITAL LETTER OMICRON WITH TONOS\r
+0xBD 0x00BD # VULGAR FRACTION ONE HALF\r
+0xBE 0x038E # GREEK CAPITAL LETTER UPSILON WITH TONOS\r
+0xBF 0x038F # GREEK CAPITAL LETTER OMEGA WITH TONOS\r
+0xC0 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS\r
+0xC1 0x0391 # GREEK CAPITAL LETTER ALPHA\r
+0xC2 0x0392 # GREEK CAPITAL LETTER BETA\r
+0xC3 0x0393 # GREEK CAPITAL LETTER GAMMA\r
+0xC4 0x0394 # GREEK CAPITAL LETTER DELTA\r
+0xC5 0x0395 # GREEK CAPITAL LETTER EPSILON\r
+0xC6 0x0396 # GREEK CAPITAL LETTER ZETA\r
+0xC7 0x0397 # GREEK CAPITAL LETTER ETA\r
+0xC8 0x0398 # GREEK CAPITAL LETTER THETA\r
+0xC9 0x0399 # GREEK CAPITAL LETTER IOTA\r
+0xCA 0x039A # GREEK CAPITAL LETTER KAPPA\r
+0xCB 0x039B # GREEK CAPITAL LETTER LAMDA\r
+0xCC 0x039C # GREEK CAPITAL LETTER MU\r
+0xCD 0x039D # GREEK CAPITAL LETTER NU\r
+0xCE 0x039E # GREEK CAPITAL LETTER XI\r
+0xCF 0x039F # GREEK CAPITAL LETTER OMICRON\r
+0xD0 0x03A0 # GREEK CAPITAL LETTER PI\r
+0xD1 0x03A1 # GREEK CAPITAL LETTER RHO\r
+0xD3 0x03A3 # GREEK CAPITAL LETTER SIGMA\r
+0xD4 0x03A4 # GREEK CAPITAL LETTER TAU\r
+0xD5 0x03A5 # GREEK CAPITAL LETTER UPSILON\r
+0xD6 0x03A6 # GREEK CAPITAL LETTER PHI\r
+0xD7 0x03A7 # GREEK CAPITAL LETTER CHI\r
+0xD8 0x03A8 # GREEK CAPITAL LETTER PSI\r
+0xD9 0x03A9 # GREEK CAPITAL LETTER OMEGA\r
+0xDA 0x03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA\r
+0xDB 0x03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA\r
+0xDC 0x03AC # GREEK SMALL LETTER ALPHA WITH TONOS\r
+0xDD 0x03AD # GREEK SMALL LETTER EPSILON WITH TONOS\r
+0xDE 0x03AE # GREEK SMALL LETTER ETA WITH TONOS\r
+0xDF 0x03AF # GREEK SMALL LETTER IOTA WITH TONOS\r
+0xE0 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS\r
+0xE1 0x03B1 # GREEK SMALL LETTER ALPHA\r
+0xE2 0x03B2 # GREEK SMALL LETTER BETA\r
+0xE3 0x03B3 # GREEK SMALL LETTER GAMMA\r
+0xE4 0x03B4 # GREEK SMALL LETTER DELTA\r
+0xE5 0x03B5 # GREEK SMALL LETTER EPSILON\r
+0xE6 0x03B6 # GREEK SMALL LETTER ZETA\r
+0xE7 0x03B7 # GREEK SMALL LETTER ETA\r
+0xE8 0x03B8 # GREEK SMALL LETTER THETA\r
+0xE9 0x03B9 # GREEK SMALL LETTER IOTA\r
+0xEA 0x03BA # GREEK SMALL LETTER KAPPA\r
+0xEB 0x03BB # GREEK SMALL LETTER LAMDA\r
+0xEC 0x03BC # GREEK SMALL LETTER MU\r
+0xED 0x03BD # GREEK SMALL LETTER NU\r
+0xEE 0x03BE # GREEK SMALL LETTER XI\r
+0xEF 0x03BF # GREEK SMALL LETTER OMICRON\r
+0xF0 0x03C0 # GREEK SMALL LETTER PI\r
+0xF1 0x03C1 # GREEK SMALL LETTER RHO\r
+0xF2 0x03C2 # GREEK SMALL LETTER FINAL SIGMA\r
+0xF3 0x03C3 # GREEK SMALL LETTER SIGMA\r
+0xF4 0x03C4 # GREEK SMALL LETTER TAU\r
+0xF5 0x03C5 # GREEK SMALL LETTER UPSILON\r
+0xF6 0x03C6 # GREEK SMALL LETTER PHI\r
+0xF7 0x03C7 # GREEK SMALL LETTER CHI\r
+0xF8 0x03C8 # GREEK SMALL LETTER PSI\r
+0xF9 0x03C9 # GREEK SMALL LETTER OMEGA\r
+0xFA 0x03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA\r
+0xFB 0x03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA\r
+0xFC 0x03CC # GREEK SMALL LETTER OMICRON WITH TONOS\r
+0xFD 0x03CD # GREEK SMALL LETTER UPSILON WITH TONOS\r
+0xFE 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-8:1999 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.1\r
+# Table format: Format A\r
+# Date: 2000-Jan-03\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-8:1999 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-8 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-8 order.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+# 1.1 version updates to the published 8859-8:1999, correcting\r
+# the mapping of 0xAF and adding mappings for LRM and RLM.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA2 0x00A2 # CENT SIGN\r
+0xA3 0x00A3 # POUND SIGN\r
+0xA4 0x00A4 # CURRENCY SIGN\r
+0xA5 0x00A5 # YEN SIGN\r
+0xA6 0x00A6 # BROKEN BAR\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x00A8 # DIAERESIS\r
+0xA9 0x00A9 # COPYRIGHT SIGN\r
+0xAA 0x00D7 # MULTIPLICATION SIGN\r
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC # NOT SIGN\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x00AE # REGISTERED SIGN\r
+0xAF 0x00AF # MACRON\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x00B1 # PLUS-MINUS SIGN\r
+0xB2 0x00B2 # SUPERSCRIPT TWO\r
+0xB3 0x00B3 # SUPERSCRIPT THREE\r
+0xB4 0x00B4 # ACUTE ACCENT\r
+0xB5 0x00B5 # MICRO SIGN\r
+0xB6 0x00B6 # PILCROW SIGN\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x00B8 # CEDILLA\r
+0xB9 0x00B9 # SUPERSCRIPT ONE\r
+0xBA 0x00F7 # DIVISION SIGN\r
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC # VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD # VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS\r
+0xDF 0x2017 # DOUBLE LOW LINE\r
+0xE0 0x05D0 # HEBREW LETTER ALEF\r
+0xE1 0x05D1 # HEBREW LETTER BET\r
+0xE2 0x05D2 # HEBREW LETTER GIMEL\r
+0xE3 0x05D3 # HEBREW LETTER DALET\r
+0xE4 0x05D4 # HEBREW LETTER HE\r
+0xE5 0x05D5 # HEBREW LETTER VAV\r
+0xE6 0x05D6 # HEBREW LETTER ZAYIN\r
+0xE7 0x05D7 # HEBREW LETTER HET\r
+0xE8 0x05D8 # HEBREW LETTER TET\r
+0xE9 0x05D9 # HEBREW LETTER YOD\r
+0xEA 0x05DA # HEBREW LETTER FINAL KAF\r
+0xEB 0x05DB # HEBREW LETTER KAF\r
+0xEC 0x05DC # HEBREW LETTER LAMED\r
+0xED 0x05DD # HEBREW LETTER FINAL MEM\r
+0xEE 0x05DE # HEBREW LETTER MEM\r
+0xEF 0x05DF # HEBREW LETTER FINAL NUN\r
+0xF0 0x05E0 # HEBREW LETTER NUN\r
+0xF1 0x05E1 # HEBREW LETTER SAMEKH\r
+0xF2 0x05E2 # HEBREW LETTER AYIN\r
+0xF3 0x05E3 # HEBREW LETTER FINAL PE\r
+0xF4 0x05E4 # HEBREW LETTER PE\r
+0xF5 0x05E5 # HEBREW LETTER FINAL TSADI\r
+0xF6 0x05E6 # HEBREW LETTER TSADI\r
+0xF7 0x05E7 # HEBREW LETTER QOF\r
+0xF8 0x05E8 # HEBREW LETTER RESH\r
+0xF9 0x05E9 # HEBREW LETTER SHIN\r
+0xFA 0x05EA # HEBREW LETTER TAV\r
+0xFD 0x200E # LEFT-TO-RIGHT MARK\r
+0xFE 0x200F # RIGHT-TO-LEFT MARK\r
+\r
--- /dev/null
+#\r
+# Name: ISO/IEC 8859-9:1999 to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 1999 July 27\r
+# Authors: Ken Whistler <kenw@sybase.com>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on magnetic media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# ISO/IEC 8859-9:1999 characters map into Unicode.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the ISO/IEC 8859-9 code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in ISO/IEC 8859-9 order.\r
+#\r
+# ISO/IEC 8859-9 is also equivalent to ISO-IR-148.\r
+#\r
+# Version history\r
+# 1.0 version updates 0.1 version by adding mappings for all\r
+# control characters.\r
+#\r
+# Updated versions of this file may be found in:\r
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x0080 # <control>\r
+0x81 0x0081 # <control>\r
+0x82 0x0082 # <control>\r
+0x83 0x0083 # <control>\r
+0x84 0x0084 # <control>\r
+0x85 0x0085 # <control>\r
+0x86 0x0086 # <control>\r
+0x87 0x0087 # <control>\r
+0x88 0x0088 # <control>\r
+0x89 0x0089 # <control>\r
+0x8A 0x008A # <control>\r
+0x8B 0x008B # <control>\r
+0x8C 0x008C # <control>\r
+0x8D 0x008D # <control>\r
+0x8E 0x008E # <control>\r
+0x8F 0x008F # <control>\r
+0x90 0x0090 # <control>\r
+0x91 0x0091 # <control>\r
+0x92 0x0092 # <control>\r
+0x93 0x0093 # <control>\r
+0x94 0x0094 # <control>\r
+0x95 0x0095 # <control>\r
+0x96 0x0096 # <control>\r
+0x97 0x0097 # <control>\r
+0x98 0x0098 # <control>\r
+0x99 0x0099 # <control>\r
+0x9A 0x009A # <control>\r
+0x9B 0x009B # <control>\r
+0x9C 0x009C # <control>\r
+0x9D 0x009D # <control>\r
+0x9E 0x009E # <control>\r
+0x9F 0x009F # <control>\r
+0xA0 0x00A0 # NO-BREAK SPACE\r
+0xA1 0x00A1 # INVERTED EXCLAMATION MARK\r
+0xA2 0x00A2 # CENT SIGN\r
+0xA3 0x00A3 # POUND SIGN\r
+0xA4 0x00A4 # CURRENCY SIGN\r
+0xA5 0x00A5 # YEN SIGN\r
+0xA6 0x00A6 # BROKEN BAR\r
+0xA7 0x00A7 # SECTION SIGN\r
+0xA8 0x00A8 # DIAERESIS\r
+0xA9 0x00A9 # COPYRIGHT SIGN\r
+0xAA 0x00AA # FEMININE ORDINAL INDICATOR\r
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC # NOT SIGN\r
+0xAD 0x00AD # SOFT HYPHEN\r
+0xAE 0x00AE # REGISTERED SIGN\r
+0xAF 0x00AF # MACRON\r
+0xB0 0x00B0 # DEGREE SIGN\r
+0xB1 0x00B1 # PLUS-MINUS SIGN\r
+0xB2 0x00B2 # SUPERSCRIPT TWO\r
+0xB3 0x00B3 # SUPERSCRIPT THREE\r
+0xB4 0x00B4 # ACUTE ACCENT\r
+0xB5 0x00B5 # MICRO SIGN\r
+0xB6 0x00B6 # PILCROW SIGN\r
+0xB7 0x00B7 # MIDDLE DOT\r
+0xB8 0x00B8 # CEDILLA\r
+0xB9 0x00B9 # SUPERSCRIPT ONE\r
+0xBA 0x00BA # MASCULINE ORDINAL INDICATOR\r
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC # VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD # VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x00BF # INVERTED QUESTION MARK\r
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE\r
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE\r
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE\r
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x011E # LATIN CAPITAL LETTER G WITH BREVE\r
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE\r
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE\r
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 # MULTIPLICATION SIGN\r
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE\r
+0xDE 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA\r
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S\r
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE\r
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 # LATIN SMALL LETTER AE\r
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE\r
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x011F # LATIN SMALL LETTER G WITH BREVE\r
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE\r
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE\r
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 # DIVISION SIGN\r
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x0131 # LATIN SMALL LETTER DOTLESS I\r
+0xFE 0x015F # LATIN SMALL LETTER S WITH CEDILLA\r
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS\r
+\r
+\r
--- /dev/null
+#\r
+# Name: KOI8-R (RFC1489) to Unicode\r
+# Unicode version: 3.0\r
+# Table version: 1.0\r
+# Table format: Format A\r
+# Date: 18 August 1999\r
+# Authors: Helmut Richter <richter@lrz.de>\r
+#\r
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.\r
+#\r
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).\r
+# No claims are made as to fitness for any particular purpose. No\r
+# warranties of any kind are expressed or implied. The recipient\r
+# agrees to determine applicability of information provided. If this\r
+# file has been provided on optical media by Unicode, Inc., the sole\r
+# remedy for any claim will be exchange of defective media within 90\r
+# days of receipt.\r
+#\r
+# Unicode, Inc. hereby grants the right to freely use the information\r
+# supplied in this file in the creation of products supporting the\r
+# Unicode Standard, and to make copies of this file in any form for\r
+# internal or external distribution as long as this notice remains\r
+# attached.\r
+#\r
+# General notes:\r
+#\r
+# This table contains the data the Unicode Consortium has on how\r
+# KOI8-R characters map into Unicode. The underlying document is the\r
+# mapping described in RFC 1489. No statements are made as to whether\r
+# this mapping is the same as the mapping defined as "Code Page 878"\r
+# with some vendors.\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the KOI8-R code (in hex as 0xXX)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in KOI8-R order.\r
+#\r
+# Version history\r
+# 1.0 version: created.\r
+#\r
+# Any comments or problems, contact <errata@unicode.org>\r
+# Please note that <errata@unicode.org> is an archival address;\r
+# notices will be checked, but do not expect an immediate response.\r
+#\r
+0x00 0x0000 # NULL\r
+0x01 0x0001 # START OF HEADING\r
+0x02 0x0002 # START OF TEXT\r
+0x03 0x0003 # END OF TEXT\r
+0x04 0x0004 # END OF TRANSMISSION\r
+0x05 0x0005 # ENQUIRY\r
+0x06 0x0006 # ACKNOWLEDGE\r
+0x07 0x0007 # BELL\r
+0x08 0x0008 # BACKSPACE\r
+0x09 0x0009 # HORIZONTAL TABULATION\r
+0x0A 0x000A # LINE FEED\r
+0x0B 0x000B # VERTICAL TABULATION\r
+0x0C 0x000C # FORM FEED\r
+0x0D 0x000D # CARRIAGE RETURN\r
+0x0E 0x000E # SHIFT OUT\r
+0x0F 0x000F # SHIFT IN\r
+0x10 0x0010 # DATA LINK ESCAPE\r
+0x11 0x0011 # DEVICE CONTROL ONE\r
+0x12 0x0012 # DEVICE CONTROL TWO\r
+0x13 0x0013 # DEVICE CONTROL THREE\r
+0x14 0x0014 # DEVICE CONTROL FOUR\r
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 # SYNCHRONOUS IDLE\r
+0x17 0x0017 # END OF TRANSMISSION BLOCK\r
+0x18 0x0018 # CANCEL\r
+0x19 0x0019 # END OF MEDIUM\r
+0x1A 0x001A # SUBSTITUTE\r
+0x1B 0x001B # ESCAPE\r
+0x1C 0x001C # FILE SEPARATOR\r
+0x1D 0x001D # GROUP SEPARATOR\r
+0x1E 0x001E # RECORD SEPARATOR\r
+0x1F 0x001F # UNIT SEPARATOR\r
+0x20 0x0020 # SPACE\r
+0x21 0x0021 # EXCLAMATION MARK\r
+0x22 0x0022 # QUOTATION MARK\r
+0x23 0x0023 # NUMBER SIGN\r
+0x24 0x0024 # DOLLAR SIGN\r
+0x25 0x0025 # PERCENT SIGN\r
+0x26 0x0026 # AMPERSAND\r
+0x27 0x0027 # APOSTROPHE\r
+0x28 0x0028 # LEFT PARENTHESIS\r
+0x29 0x0029 # RIGHT PARENTHESIS\r
+0x2A 0x002A # ASTERISK\r
+0x2B 0x002B # PLUS SIGN\r
+0x2C 0x002C # COMMA\r
+0x2D 0x002D # HYPHEN-MINUS\r
+0x2E 0x002E # FULL STOP\r
+0x2F 0x002F # SOLIDUS\r
+0x30 0x0030 # DIGIT ZERO\r
+0x31 0x0031 # DIGIT ONE\r
+0x32 0x0032 # DIGIT TWO\r
+0x33 0x0033 # DIGIT THREE\r
+0x34 0x0034 # DIGIT FOUR\r
+0x35 0x0035 # DIGIT FIVE\r
+0x36 0x0036 # DIGIT SIX\r
+0x37 0x0037 # DIGIT SEVEN\r
+0x38 0x0038 # DIGIT EIGHT\r
+0x39 0x0039 # DIGIT NINE\r
+0x3A 0x003A # COLON\r
+0x3B 0x003B # SEMICOLON\r
+0x3C 0x003C # LESS-THAN SIGN\r
+0x3D 0x003D # EQUALS SIGN\r
+0x3E 0x003E # GREATER-THAN SIGN\r
+0x3F 0x003F # QUESTION MARK\r
+0x40 0x0040 # COMMERCIAL AT\r
+0x41 0x0041 # LATIN CAPITAL LETTER A\r
+0x42 0x0042 # LATIN CAPITAL LETTER B\r
+0x43 0x0043 # LATIN CAPITAL LETTER C\r
+0x44 0x0044 # LATIN CAPITAL LETTER D\r
+0x45 0x0045 # LATIN CAPITAL LETTER E\r
+0x46 0x0046 # LATIN CAPITAL LETTER F\r
+0x47 0x0047 # LATIN CAPITAL LETTER G\r
+0x48 0x0048 # LATIN CAPITAL LETTER H\r
+0x49 0x0049 # LATIN CAPITAL LETTER I\r
+0x4A 0x004A # LATIN CAPITAL LETTER J\r
+0x4B 0x004B # LATIN CAPITAL LETTER K\r
+0x4C 0x004C # LATIN CAPITAL LETTER L\r
+0x4D 0x004D # LATIN CAPITAL LETTER M\r
+0x4E 0x004E # LATIN CAPITAL LETTER N\r
+0x4F 0x004F # LATIN CAPITAL LETTER O\r
+0x50 0x0050 # LATIN CAPITAL LETTER P\r
+0x51 0x0051 # LATIN CAPITAL LETTER Q\r
+0x52 0x0052 # LATIN CAPITAL LETTER R\r
+0x53 0x0053 # LATIN CAPITAL LETTER S\r
+0x54 0x0054 # LATIN CAPITAL LETTER T\r
+0x55 0x0055 # LATIN CAPITAL LETTER U\r
+0x56 0x0056 # LATIN CAPITAL LETTER V\r
+0x57 0x0057 # LATIN CAPITAL LETTER W\r
+0x58 0x0058 # LATIN CAPITAL LETTER X\r
+0x59 0x0059 # LATIN CAPITAL LETTER Y\r
+0x5A 0x005A # LATIN CAPITAL LETTER Z\r
+0x5B 0x005B # LEFT SQUARE BRACKET\r
+0x5C 0x005C # REVERSE SOLIDUS\r
+0x5D 0x005D # RIGHT SQUARE BRACKET\r
+0x5E 0x005E # CIRCUMFLEX ACCENT\r
+0x5F 0x005F # LOW LINE\r
+0x60 0x0060 # GRAVE ACCENT\r
+0x61 0x0061 # LATIN SMALL LETTER A\r
+0x62 0x0062 # LATIN SMALL LETTER B\r
+0x63 0x0063 # LATIN SMALL LETTER C\r
+0x64 0x0064 # LATIN SMALL LETTER D\r
+0x65 0x0065 # LATIN SMALL LETTER E\r
+0x66 0x0066 # LATIN SMALL LETTER F\r
+0x67 0x0067 # LATIN SMALL LETTER G\r
+0x68 0x0068 # LATIN SMALL LETTER H\r
+0x69 0x0069 # LATIN SMALL LETTER I\r
+0x6A 0x006A # LATIN SMALL LETTER J\r
+0x6B 0x006B # LATIN SMALL LETTER K\r
+0x6C 0x006C # LATIN SMALL LETTER L\r
+0x6D 0x006D # LATIN SMALL LETTER M\r
+0x6E 0x006E # LATIN SMALL LETTER N\r
+0x6F 0x006F # LATIN SMALL LETTER O\r
+0x70 0x0070 # LATIN SMALL LETTER P\r
+0x71 0x0071 # LATIN SMALL LETTER Q\r
+0x72 0x0072 # LATIN SMALL LETTER R\r
+0x73 0x0073 # LATIN SMALL LETTER S\r
+0x74 0x0074 # LATIN SMALL LETTER T\r
+0x75 0x0075 # LATIN SMALL LETTER U\r
+0x76 0x0076 # LATIN SMALL LETTER V\r
+0x77 0x0077 # LATIN SMALL LETTER W\r
+0x78 0x0078 # LATIN SMALL LETTER X\r
+0x79 0x0079 # LATIN SMALL LETTER Y\r
+0x7A 0x007A # LATIN SMALL LETTER Z\r
+0x7B 0x007B # LEFT CURLY BRACKET\r
+0x7C 0x007C # VERTICAL LINE\r
+0x7D 0x007D # RIGHT CURLY BRACKET\r
+0x7E 0x007E # TILDE\r
+0x7F 0x007F # DELETE\r
+0x80 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL\r
+0x81 0x2502 # BOX DRAWINGS LIGHT VERTICAL\r
+0x82 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT\r
+0x83 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT\r
+0x84 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT\r
+0x85 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT\r
+0x86 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT\r
+0x87 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT\r
+0x88 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\r
+0x89 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL\r
+0x8A 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\r
+0x8B 0x2580 # UPPER HALF BLOCK\r
+0x8C 0x2584 # LOWER HALF BLOCK\r
+0x8D 0x2588 # FULL BLOCK\r
+0x8E 0x258C # LEFT HALF BLOCK\r
+0x8F 0x2590 # RIGHT HALF BLOCK\r
+0x90 0x2591 # LIGHT SHADE\r
+0x91 0x2592 # MEDIUM SHADE\r
+0x92 0x2593 # DARK SHADE\r
+0x93 0x2320 # TOP HALF INTEGRAL\r
+0x94 0x25A0 # BLACK SQUARE\r
+0x95 0x2219 # BULLET OPERATOR\r
+0x96 0x221A # SQUARE ROOT\r
+0x97 0x2248 # ALMOST EQUAL TO\r
+0x98 0x2264 # LESS-THAN OR EQUAL TO\r
+0x99 0x2265 # GREATER-THAN OR EQUAL TO\r
+0x9A 0x00A0 # NO-BREAK SPACE\r
+0x9B 0x2321 # BOTTOM HALF INTEGRAL\r
+0x9C 0x00B0 # DEGREE SIGN\r
+0x9D 0x00B2 # SUPERSCRIPT TWO\r
+0x9E 0x00B7 # MIDDLE DOT\r
+0x9F 0x00F7 # DIVISION SIGN\r
+0xA0 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL\r
+0xA1 0x2551 # BOX DRAWINGS DOUBLE VERTICAL\r
+0xA2 0x2552 # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\r
+0xA3 0x0451 # CYRILLIC SMALL LETTER IO\r
+0xA4 0x2553 # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\r
+0xA5 0x2554 # BOX DRAWINGS DOUBLE DOWN AND RIGHT\r
+0xA6 0x2555 # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\r
+0xA7 0x2556 # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\r
+0xA8 0x2557 # BOX DRAWINGS DOUBLE DOWN AND LEFT\r
+0xA9 0x2558 # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\r
+0xAA 0x2559 # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\r
+0xAB 0x255A # BOX DRAWINGS DOUBLE UP AND RIGHT\r
+0xAC 0x255B # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\r
+0xAD 0x255C # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\r
+0xAE 0x255D # BOX DRAWINGS DOUBLE UP AND LEFT\r
+0xAF 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\r
+0xB0 0x255F # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\r
+0xB1 0x2560 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\r
+0xB2 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\r
+0xB3 0x0401 # CYRILLIC CAPITAL LETTER IO\r
+0xB4 0x2562 # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\r
+0xB5 0x2563 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT\r
+0xB6 0x2564 # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\r
+0xB7 0x2565 # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\r
+0xB8 0x2566 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\r
+0xB9 0x2567 # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\r
+0xBA 0x2568 # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\r
+0xBB 0x2569 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL\r
+0xBC 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\r
+0xBD 0x256B # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\r
+0xBE 0x256C # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\r
+0xBF 0x00A9 # COPYRIGHT SIGN\r
+0xC0 0x044E # CYRILLIC SMALL LETTER YU\r
+0xC1 0x0430 # CYRILLIC SMALL LETTER A\r
+0xC2 0x0431 # CYRILLIC SMALL LETTER BE\r
+0xC3 0x0446 # CYRILLIC SMALL LETTER TSE\r
+0xC4 0x0434 # CYRILLIC SMALL LETTER DE\r
+0xC5 0x0435 # CYRILLIC SMALL LETTER IE\r
+0xC6 0x0444 # CYRILLIC SMALL LETTER EF\r
+0xC7 0x0433 # CYRILLIC SMALL LETTER GHE\r
+0xC8 0x0445 # CYRILLIC SMALL LETTER HA\r
+0xC9 0x0438 # CYRILLIC SMALL LETTER I\r
+0xCA 0x0439 # CYRILLIC SMALL LETTER SHORT I\r
+0xCB 0x043A # CYRILLIC SMALL LETTER KA\r
+0xCC 0x043B # CYRILLIC SMALL LETTER EL\r
+0xCD 0x043C # CYRILLIC SMALL LETTER EM\r
+0xCE 0x043D # CYRILLIC SMALL LETTER EN\r
+0xCF 0x043E # CYRILLIC SMALL LETTER O\r
+0xD0 0x043F # CYRILLIC SMALL LETTER PE\r
+0xD1 0x044F # CYRILLIC SMALL LETTER YA\r
+0xD2 0x0440 # CYRILLIC SMALL LETTER ER\r
+0xD3 0x0441 # CYRILLIC SMALL LETTER ES\r
+0xD4 0x0442 # CYRILLIC SMALL LETTER TE\r
+0xD5 0x0443 # CYRILLIC SMALL LETTER U\r
+0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE\r
+0xD7 0x0432 # CYRILLIC SMALL LETTER VE\r
+0xD8 0x044C # CYRILLIC SMALL LETTER SOFT SIGN\r
+0xD9 0x044B # CYRILLIC SMALL LETTER YERU\r
+0xDA 0x0437 # CYRILLIC SMALL LETTER ZE\r
+0xDB 0x0448 # CYRILLIC SMALL LETTER SHA\r
+0xDC 0x044D # CYRILLIC SMALL LETTER E\r
+0xDD 0x0449 # CYRILLIC SMALL LETTER SHCHA\r
+0xDE 0x0447 # CYRILLIC SMALL LETTER CHE\r
+0xDF 0x044A # CYRILLIC SMALL LETTER HARD SIGN\r
+0xE0 0x042E # CYRILLIC CAPITAL LETTER YU\r
+0xE1 0x0410 # CYRILLIC CAPITAL LETTER A\r
+0xE2 0x0411 # CYRILLIC CAPITAL LETTER BE\r
+0xE3 0x0426 # CYRILLIC CAPITAL LETTER TSE\r
+0xE4 0x0414 # CYRILLIC CAPITAL LETTER DE\r
+0xE5 0x0415 # CYRILLIC CAPITAL LETTER IE\r
+0xE6 0x0424 # CYRILLIC CAPITAL LETTER EF\r
+0xE7 0x0413 # CYRILLIC CAPITAL LETTER GHE\r
+0xE8 0x0425 # CYRILLIC CAPITAL LETTER HA\r
+0xE9 0x0418 # CYRILLIC CAPITAL LETTER I\r
+0xEA 0x0419 # CYRILLIC CAPITAL LETTER SHORT I\r
+0xEB 0x041A # CYRILLIC CAPITAL LETTER KA\r
+0xEC 0x041B # CYRILLIC CAPITAL LETTER EL\r
+0xED 0x041C # CYRILLIC CAPITAL LETTER EM\r
+0xEE 0x041D # CYRILLIC CAPITAL LETTER EN\r
+0xEF 0x041E # CYRILLIC CAPITAL LETTER O\r
+0xF0 0x041F # CYRILLIC CAPITAL LETTER PE\r
+0xF1 0x042F # CYRILLIC CAPITAL LETTER YA\r
+0xF2 0x0420 # CYRILLIC CAPITAL LETTER ER\r
+0xF3 0x0421 # CYRILLIC CAPITAL LETTER ES\r
+0xF4 0x0422 # CYRILLIC CAPITAL LETTER TE\r
+0xF5 0x0423 # CYRILLIC CAPITAL LETTER U\r
+0xF6 0x0416 # CYRILLIC CAPITAL LETTER ZHE\r
+0xF7 0x0412 # CYRILLIC CAPITAL LETTER VE\r
+0xF8 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN\r
+0xF9 0x042B # CYRILLIC CAPITAL LETTER YERU\r
+0xFA 0x0417 # CYRILLIC CAPITAL LETTER ZE\r
+0xFB 0x0428 # CYRILLIC CAPITAL LETTER SHA\r
+0xFC 0x042D # CYRILLIC CAPITAL LETTER E\r
+0xFD 0x0429 # CYRILLIC CAPITAL LETTER SHCHA\r
+0xFE 0x0427 # CYRILLIC CAPITAL LETTER CHE\r
+0xFF 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN\r
--- /dev/null
+# uni-comb.txt - Unicode combining class\r
+0300;230;NSM;\r
+0301;230;NSM;\r
+0302;230;NSM;\r
+0303;230;NSM;\r
+0304;230;NSM;\r
+0305;230;NSM;\r
+0306;230;NSM;\r
+0307;230;NSM;\r
+0308;230;NSM;\r
+0309;230;NSM;\r
+030A;230;NSM;\r
+030B;230;NSM;\r
+030C;230;NSM;\r
+030D;230;NSM;\r
+030E;230;NSM;\r
+030F;230;NSM;\r
+0310;230;NSM;\r
+0311;230;NSM;\r
+0312;230;NSM;\r
+0313;230;NSM;\r
+0314;230;NSM;\r
+0315;232;NSM;\r
+0316;220;NSM;\r
+0317;220;NSM;\r
+0318;220;NSM;\r
+0319;220;NSM;\r
+031A;232;NSM;\r
+031B;216;NSM;\r
+031C;220;NSM;\r
+031D;220;NSM;\r
+031E;220;NSM;\r
+031F;220;NSM;\r
+0320;220;NSM;\r
+0321;202;NSM;\r
+0322;202;NSM;\r
+0323;220;NSM;\r
+0324;220;NSM;\r
+0325;220;NSM;\r
+0326;220;NSM;\r
+0327;202;NSM;\r
+0328;202;NSM;\r
+0329;220;NSM;\r
+032A;220;NSM;\r
+032B;220;NSM;\r
+032C;220;NSM;\r
+032D;220;NSM;\r
+032E;220;NSM;\r
+032F;220;NSM;\r
+0330;220;NSM;\r
+0331;220;NSM;\r
+0332;220;NSM;\r
+0333;220;NSM;\r
+0334;1;NSM;\r
+0335;1;NSM;\r
+0336;1;NSM;\r
+0337;1;NSM;\r
+0338;1;NSM;\r
+0339;220;NSM;\r
+033A;220;NSM;\r
+033B;220;NSM;\r
+033C;220;NSM;\r
+033D;230;NSM;\r
+033E;230;NSM;\r
+033F;230;NSM;\r
+0340;230;NSM;\r
+0341;230;NSM;\r
+0342;230;NSM;\r
+0343;230;NSM;\r
+0344;230;NSM;\r
+0345;240;NSM;\r
+0346;230;NSM;\r
+0347;220;NSM;\r
+0348;220;NSM;\r
+0349;220;NSM;\r
+034A;230;NSM;\r
+034B;230;NSM;\r
+034C;230;NSM;\r
+034D;220;NSM;\r
+034E;220;NSM;\r
+0360;234;NSM;\r
+0361;234;NSM;\r
+0362;233;NSM;\r
+0483;230;NSM;\r
+0484;230;NSM;\r
+0485;230;NSM;\r
+0486;230;NSM;\r
+0591;220;NSM;\r
+0592;230;NSM;\r
+0593;230;NSM;\r
+0594;230;NSM;\r
+0595;230;NSM;\r
+0596;220;NSM;\r
+0597;230;NSM;\r
+0598;230;NSM;\r
+0599;230;NSM;\r
+059A;222;NSM;\r
+059B;220;NSM;\r
+059C;230;NSM;\r
+059D;230;NSM;\r
+059E;230;NSM;\r
+059F;230;NSM;\r
+05A0;230;NSM;\r
+05A1;230;NSM;\r
+05A3;220;NSM;\r
+05A4;220;NSM;\r
+05A5;220;NSM;\r
+05A6;220;NSM;\r
+05A7;220;NSM;\r
+05A8;230;NSM;\r
+05A9;230;NSM;\r
+05AA;220;NSM;\r
+05AB;230;NSM;\r
+05AC;230;NSM;\r
+05AD;222;NSM;\r
+05AE;228;NSM;\r
+05AF;230;NSM;\r
+05B0;10;NSM;\r
+05B1;11;NSM;\r
+05B2;12;NSM;\r
+05B3;13;NSM;\r
+05B4;14;NSM;\r
+05B5;15;NSM;\r
+05B6;16;NSM;\r
+05B7;17;NSM;\r
+05B8;18;NSM;\r
+05B9;19;NSM;\r
+05BB;20;NSM;\r
+05BC;21;NSM;\r
+05BD;22;NSM;\r
+05BF;23;NSM;\r
+05C1;24;NSM;\r
+05C2;25;NSM;\r
+05C4;230;NSM;\r
+064B;27;NSM;\r
+064C;28;NSM;\r
+064D;29;NSM;\r
+064E;30;NSM;\r
+064F;31;NSM;\r
+0650;32;NSM;\r
+0651;33;NSM;\r
+0652;34;NSM;\r
+0653;230;NSM;\r
+0654;230;NSM;\r
+0655;220;NSM;\r
+0670;35;NSM;\r
+06D6;230;NSM;\r
+06D7;230;NSM;\r
+06D8;230;NSM;\r
+06D9;230;NSM;\r
+06DA;230;NSM;\r
+06DB;230;NSM;\r
+06DC;230;NSM;\r
+06DF;230;NSM;\r
+06E0;230;NSM;\r
+06E1;230;NSM;\r
+06E2;230;NSM;\r
+06E3;220;NSM;\r
+06E4;230;NSM;\r
+06E7;230;NSM;\r
+06E8;230;NSM;\r
+06EA;220;NSM;\r
+06EB;230;NSM;\r
+06EC;230;NSM;\r
+06ED;220;NSM;\r
+0711;36;NSM;\r
+0730;230;NSM;\r
+0731;220;NSM;\r
+0732;230;NSM;\r
+0733;230;NSM;\r
+0734;220;NSM;\r
+0735;230;NSM;\r
+0736;230;NSM;\r
+0737;220;NSM;\r
+0738;220;NSM;\r
+0739;220;NSM;\r
+073A;230;NSM;\r
+073B;220;NSM;\r
+073C;220;NSM;\r
+073D;230;NSM;\r
+073E;220;NSM;\r
+073F;230;NSM;\r
+0740;230;NSM;\r
+0741;230;NSM;\r
+0742;220;NSM;\r
+0743;230;NSM;\r
+0744;220;NSM;\r
+0745;230;NSM;\r
+0746;220;NSM;\r
+0747;230;NSM;\r
+0748;220;NSM;\r
+0749;230;NSM;\r
+074A;230;NSM;\r
+093C;7;NSM;\r
+094D;9;NSM;\r
+0951;230;NSM;\r
+0952;220;NSM;\r
+0953;230;NSM;\r
+0954;230;NSM;\r
+09BC;7;NSM;\r
+09CD;9;NSM;\r
+0A3C;7;NSM;\r
+0A4D;9;NSM;\r
+0ABC;7;NSM;\r
+0ACD;9;NSM;\r
+0B3C;7;NSM;\r
+0B4D;9;NSM;\r
+0BCD;9;NSM;\r
+0C4D;9;NSM;\r
+0C55;84;NSM;\r
+0C56;91;NSM;\r
+0CCD;9;NSM;\r
+0D4D;9;NSM;\r
+0DCA;9;NSM;\r
+0E38;103;NSM;\r
+0E39;103;NSM;\r
+0E3A;9;NSM;\r
+0E48;107;NSM;\r
+0E49;107;NSM;\r
+0E4A;107;NSM;\r
+0E4B;107;NSM;\r
+0EB8;118;NSM;\r
+0EB9;118;NSM;\r
+0EC8;122;NSM;\r
+0EC9;122;NSM;\r
+0ECA;122;NSM;\r
+0ECB;122;NSM;\r
+0F18;220;NSM;\r
+0F19;220;NSM;\r
+0F35;220;NSM;\r
+0F37;220;NSM;\r
+0F39;216;NSM;\r
+0F71;129;NSM;\r
+0F72;130;NSM;\r
+0F74;132;NSM;\r
+0F7A;130;NSM;\r
+0F7B;130;NSM;\r
+0F7C;130;NSM;\r
+0F7D;130;NSM;\r
+0F80;130;NSM;\r
+0F82;230;NSM;\r
+0F83;230;NSM;\r
+0F84;9;NSM;\r
+0F86;230;NSM;\r
+0F87;230;NSM;\r
+0FC6;220;NSM;\r
+1037;7;NSM;\r
+1039;9;NSM;\r
+17D2;9;NSM;\r
+18A9;228;NSM;\r
+20D0;230;NSM;\r
+20D1;230;NSM;\r
+20D2;1;NSM;\r
+20D3;1;NSM;\r
+20D4;230;NSM;\r
+20D5;230;NSM;\r
+20D6;230;NSM;\r
+20D7;230;NSM;\r
+20D8;1;NSM;\r
+20D9;1;NSM;\r
+20DA;1;NSM;\r
+20DB;230;NSM;\r
+20DC;230;NSM;\r
+20E1;230;NSM;\r
+302A;218;NSM;\r
+302B;228;NSM;\r
+302C;232;NSM;\r
+302D;222;NSM;\r
+302E;224;NSM;\r
+302F;224;NSM;\r
+3099;8;NSM;\r
+309A;8;NSM;\r
+FB1E;26;NSM;\r
+FE20;230;NSM;\r
+FE21;230;NSM;\r
+FE22;230;NSM;\r
+FE23;230;NSM;\r
+1D167;1;NSM;\r
+1D168;1;NSM;\r
+1D169;1;NSM;\r
+1D17B;220;NSM;\r
+1D17C;220;NSM;\r
+1D17D;220;NSM;\r
+1D17E;220;NSM;\r
+1D17F;220;NSM;\r
+1D180;220;NSM;\r
+1D181;220;NSM;\r
+1D182;220;NSM;\r
+1D185;230;NSM;\r
+1D186;230;NSM;\r
+1D187;230;NSM;\r
+1D188;230;NSM;\r
+1D189;230;NSM;\r
+1D18A;220;NSM;\r
+1D18B;220;NSM;\r
+1D1AA;230;NSM;\r
+1D1AB;230;NSM;\r
+1D1AC;230;NSM;\r
+1D1AD;230;NSM;\r
--- /dev/null
+# uni-fold.txt - Unicode simple case folding\r
+0041 0061;C;\r
+0042 0062;C;\r
+0043 0063;C;\r
+0044 0064;C;\r
+0045 0065;C;\r
+0046 0066;C;\r
+0047 0067;C;\r
+0048 0068;C;\r
+0049 0069;C;\r
+004A 006A;C;\r
+004B 006B;C;\r
+004C 006C;C;\r
+004D 006D;C;\r
+004E 006E;C;\r
+004F 006F;C;\r
+0050 0070;C;\r
+0051 0071;C;\r
+0052 0072;C;\r
+0053 0073;C;\r
+0054 0074;C;\r
+0055 0075;C;\r
+0056 0076;C;\r
+0057 0077;C;\r
+0058 0078;C;\r
+0059 0079;C;\r
+005A 007A;C;\r
+00B5 03BC;C;\r
+00C0 00E0;C;\r
+00C1 00E1;C;\r
+00C2 00E2;C;\r
+00C3 00E3;C;\r
+00C4 00E4;C;\r
+00C5 00E5;C;\r
+00C6 00E6;C;\r
+00C7 00E7;C;\r
+00C8 00E8;C;\r
+00C9 00E9;C;\r
+00CA 00EA;C;\r
+00CB 00EB;C;\r
+00CC 00EC;C;\r
+00CD 00ED;C;\r
+00CE 00EE;C;\r
+00CF 00EF;C;\r
+00D0 00F0;C;\r
+00D1 00F1;C;\r
+00D2 00F2;C;\r
+00D3 00F3;C;\r
+00D4 00F4;C;\r
+00D5 00F5;C;\r
+00D6 00F6;C;\r
+00D8 00F8;C;\r
+00D9 00F9;C;\r
+00DA 00FA;C;\r
+00DB 00FB;C;\r
+00DC 00FC;C;\r
+00DD 00FD;C;\r
+00DE 00FE;C;\r
+0100 0101;C;\r
+0102 0103;C;\r
+0104 0105;C;\r
+0106 0107;C;\r
+0108 0109;C;\r
+010A 010B;C;\r
+010C 010D;C;\r
+010E 010F;C;\r
+0110 0111;C;\r
+0112 0113;C;\r
+0114 0115;C;\r
+0116 0117;C;\r
+0118 0119;C;\r
+011A 011B;C;\r
+011C 011D;C;\r
+011E 011F;C;\r
+0120 0121;C;\r
+0122 0123;C;\r
+0124 0125;C;\r
+0126 0127;C;\r
+0128 0129;C;\r
+012A 012B;C;\r
+012C 012D;C;\r
+012E 012F;C;\r
+0130 0069;I;\r
+0131 0069;I;\r
+0132 0133;C;\r
+0134 0135;C;\r
+0136 0137;C;\r
+0139 013A;C;\r
+013B 013C;C;\r
+013D 013E;C;\r
+013F 0140;C;\r
+0141 0142;C;\r
+0143 0144;C;\r
+0145 0146;C;\r
+0147 0148;C;\r
+014A 014B;C;\r
+014C 014D;C;\r
+014E 014F;C;\r
+0150 0151;C;\r
+0152 0153;C;\r
+0154 0155;C;\r
+0156 0157;C;\r
+0158 0159;C;\r
+015A 015B;C;\r
+015C 015D;C;\r
+015E 015F;C;\r
+0160 0161;C;\r
+0162 0163;C;\r
+0164 0165;C;\r
+0166 0167;C;\r
+0168 0169;C;\r
+016A 016B;C;\r
+016C 016D;C;\r
+016E 016F;C;\r
+0170 0171;C;\r
+0172 0173;C;\r
+0174 0175;C;\r
+0176 0177;C;\r
+0178 00FF;C;\r
+0179 017A;C;\r
+017B 017C;C;\r
+017D 017E;C;\r
+017F 0073;C;\r
+0181 0253;C;\r
+0182 0183;C;\r
+0184 0185;C;\r
+0186 0254;C;\r
+0187 0188;C;\r
+0189 0256;C;\r
+018A 0257;C;\r
+018B 018C;C;\r
+018E 01DD;C;\r
+018F 0259;C;\r
+0190 025B;C;\r
+0191 0192;C;\r
+0193 0260;C;\r
+0194 0263;C;\r
+0196 0269;C;\r
+0197 0268;C;\r
+0198 0199;C;\r
+019C 026F;C;\r
+019D 0272;C;\r
+019F 0275;C;\r
+01A0 01A1;C;\r
+01A2 01A3;C;\r
+01A4 01A5;C;\r
+01A6 0280;C;\r
+01A7 01A8;C;\r
+01A9 0283;C;\r
+01AC 01AD;C;\r
+01AE 0288;C;\r
+01AF 01B0;C;\r
+01B1 028A;C;\r
+01B2 028B;C;\r
+01B3 01B4;C;\r
+01B5 01B6;C;\r
+01B7 0292;C;\r
+01B8 01B9;C;\r
+01BC 01BD;C;\r
+01C4 01C6;C;\r
+01C5 01C6;C;\r
+01C7 01C9;C;\r
+01C8 01C9;C;\r
+01CA 01CC;C;\r
+01CB 01CC;C;\r
+01CD 01CE;C;\r
+01CF 01D0;C;\r
+01D1 01D2;C;\r
+01D3 01D4;C;\r
+01D5 01D6;C;\r
+01D7 01D8;C;\r
+01D9 01DA;C;\r
+01DB 01DC;C;\r
+01DE 01DF;C;\r
+01E0 01E1;C;\r
+01E2 01E3;C;\r
+01E4 01E5;C;\r
+01E6 01E7;C;\r
+01E8 01E9;C;\r
+01EA 01EB;C;\r
+01EC 01ED;C;\r
+01EE 01EF;C;\r
+01F1 01F3;C;\r
+01F2 01F3;C;\r
+01F4 01F5;C;\r
+01F6 0195;C;\r
+01F7 01BF;C;\r
+01F8 01F9;C;\r
+01FA 01FB;C;\r
+01FC 01FD;C;\r
+01FE 01FF;C;\r
+0200 0201;C;\r
+0202 0203;C;\r
+0204 0205;C;\r
+0206 0207;C;\r
+0208 0209;C;\r
+020A 020B;C;\r
+020C 020D;C;\r
+020E 020F;C;\r
+0210 0211;C;\r
+0212 0213;C;\r
+0214 0215;C;\r
+0216 0217;C;\r
+0218 0219;C;\r
+021A 021B;C;\r
+021C 021D;C;\r
+021E 021F;C;\r
+0222 0223;C;\r
+0224 0225;C;\r
+0226 0227;C;\r
+0228 0229;C;\r
+022A 022B;C;\r
+022C 022D;C;\r
+022E 022F;C;\r
+0230 0231;C;\r
+0232 0233;C;\r
+0345 03B9;C;\r
+0386 03AC;C;\r
+0388 03AD;C;\r
+0389 03AE;C;\r
+038A 03AF;C;\r
+038C 03CC;C;\r
+038E 03CD;C;\r
+038F 03CE;C;\r
+0391 03B1;C;\r
+0392 03B2;C;\r
+0393 03B3;C;\r
+0394 03B4;C;\r
+0395 03B5;C;\r
+0396 03B6;C;\r
+0397 03B7;C;\r
+0398 03B8;C;\r
+0399 03B9;C;\r
+039A 03BA;C;\r
+039B 03BB;C;\r
+039C 03BC;C;\r
+039D 03BD;C;\r
+039E 03BE;C;\r
+039F 03BF;C;\r
+03A0 03C0;C;\r
+03A1 03C1;C;\r
+03A3 03C3;C;\r
+03A4 03C4;C;\r
+03A5 03C5;C;\r
+03A6 03C6;C;\r
+03A7 03C7;C;\r
+03A8 03C8;C;\r
+03A9 03C9;C;\r
+03AA 03CA;C;\r
+03AB 03CB;C;\r
+03C2 03C3;C;\r
+03D0 03B2;C;\r
+03D1 03B8;C;\r
+03D5 03C6;C;\r
+03D6 03C0;C;\r
+03DA 03DB;C;\r
+03DC 03DD;C;\r
+03DE 03DF;C;\r
+03E0 03E1;C;\r
+03E2 03E3;C;\r
+03E4 03E5;C;\r
+03E6 03E7;C;\r
+03E8 03E9;C;\r
+03EA 03EB;C;\r
+03EC 03ED;C;\r
+03EE 03EF;C;\r
+03F0 03BA;C;\r
+03F1 03C1;C;\r
+03F2 03C3;C;\r
+03F4 03B8;C;\r
+03F5 03B5;C;\r
+0400 0450;C;\r
+0401 0451;C;\r
+0402 0452;C;\r
+0403 0453;C;\r
+0404 0454;C;\r
+0405 0455;C;\r
+0406 0456;C;\r
+0407 0457;C;\r
+0408 0458;C;\r
+0409 0459;C;\r
+040A 045A;C;\r
+040B 045B;C;\r
+040C 045C;C;\r
+040D 045D;C;\r
+040E 045E;C;\r
+040F 045F;C;\r
+0410 0430;C;\r
+0411 0431;C;\r
+0412 0432;C;\r
+0413 0433;C;\r
+0414 0434;C;\r
+0415 0435;C;\r
+0416 0436;C;\r
+0417 0437;C;\r
+0418 0438;C;\r
+0419 0439;C;\r
+041A 043A;C;\r
+041B 043B;C;\r
+041C 043C;C;\r
+041D 043D;C;\r
+041E 043E;C;\r
+041F 043F;C;\r
+0420 0440;C;\r
+0421 0441;C;\r
+0422 0442;C;\r
+0423 0443;C;\r
+0424 0444;C;\r
+0425 0445;C;\r
+0426 0446;C;\r
+0427 0447;C;\r
+0428 0448;C;\r
+0429 0449;C;\r
+042A 044A;C;\r
+042B 044B;C;\r
+042C 044C;C;\r
+042D 044D;C;\r
+042E 044E;C;\r
+042F 044F;C;\r
+0460 0461;C;\r
+0462 0463;C;\r
+0464 0465;C;\r
+0466 0467;C;\r
+0468 0469;C;\r
+046A 046B;C;\r
+046C 046D;C;\r
+046E 046F;C;\r
+0470 0471;C;\r
+0472 0473;C;\r
+0474 0475;C;\r
+0476 0477;C;\r
+0478 0479;C;\r
+047A 047B;C;\r
+047C 047D;C;\r
+047E 047F;C;\r
+0480 0481;C;\r
+048C 048D;C;\r
+048E 048F;C;\r
+0490 0491;C;\r
+0492 0493;C;\r
+0494 0495;C;\r
+0496 0497;C;\r
+0498 0499;C;\r
+049A 049B;C;\r
+049C 049D;C;\r
+049E 049F;C;\r
+04A0 04A1;C;\r
+04A2 04A3;C;\r
+04A4 04A5;C;\r
+04A6 04A7;C;\r
+04A8 04A9;C;\r
+04AA 04AB;C;\r
+04AC 04AD;C;\r
+04AE 04AF;C;\r
+04B0 04B1;C;\r
+04B2 04B3;C;\r
+04B4 04B5;C;\r
+04B6 04B7;C;\r
+04B8 04B9;C;\r
+04BA 04BB;C;\r
+04BC 04BD;C;\r
+04BE 04BF;C;\r
+04C1 04C2;C;\r
+04C3 04C4;C;\r
+04C7 04C8;C;\r
+04CB 04CC;C;\r
+04D0 04D1;C;\r
+04D2 04D3;C;\r
+04D4 04D5;C;\r
+04D6 04D7;C;\r
+04D8 04D9;C;\r
+04DA 04DB;C;\r
+04DC 04DD;C;\r
+04DE 04DF;C;\r
+04E0 04E1;C;\r
+04E2 04E3;C;\r
+04E4 04E5;C;\r
+04E6 04E7;C;\r
+04E8 04E9;C;\r
+04EA 04EB;C;\r
+04EC 04ED;C;\r
+04EE 04EF;C;\r
+04F0 04F1;C;\r
+04F2 04F3;C;\r
+04F4 04F5;C;\r
+04F8 04F9;C;\r
+0531 0561;C;\r
+0532 0562;C;\r
+0533 0563;C;\r
+0534 0564;C;\r
+0535 0565;C;\r
+0536 0566;C;\r
+0537 0567;C;\r
+0538 0568;C;\r
+0539 0569;C;\r
+053A 056A;C;\r
+053B 056B;C;\r
+053C 056C;C;\r
+053D 056D;C;\r
+053E 056E;C;\r
+053F 056F;C;\r
+0540 0570;C;\r
+0541 0571;C;\r
+0542 0572;C;\r
+0543 0573;C;\r
+0544 0574;C;\r
+0545 0575;C;\r
+0546 0576;C;\r
+0547 0577;C;\r
+0548 0578;C;\r
+0549 0579;C;\r
+054A 057A;C;\r
+054B 057B;C;\r
+054C 057C;C;\r
+054D 057D;C;\r
+054E 057E;C;\r
+054F 057F;C;\r
+0550 0580;C;\r
+0551 0581;C;\r
+0552 0582;C;\r
+0553 0583;C;\r
+0554 0584;C;\r
+0555 0585;C;\r
+0556 0586;C;\r
+1E00 1E01;C;\r
+1E02 1E03;C;\r
+1E04 1E05;C;\r
+1E06 1E07;C;\r
+1E08 1E09;C;\r
+1E0A 1E0B;C;\r
+1E0C 1E0D;C;\r
+1E0E 1E0F;C;\r
+1E10 1E11;C;\r
+1E12 1E13;C;\r
+1E14 1E15;C;\r
+1E16 1E17;C;\r
+1E18 1E19;C;\r
+1E1A 1E1B;C;\r
+1E1C 1E1D;C;\r
+1E1E 1E1F;C;\r
+1E20 1E21;C;\r
+1E22 1E23;C;\r
+1E24 1E25;C;\r
+1E26 1E27;C;\r
+1E28 1E29;C;\r
+1E2A 1E2B;C;\r
+1E2C 1E2D;C;\r
+1E2E 1E2F;C;\r
+1E30 1E31;C;\r
+1E32 1E33;C;\r
+1E34 1E35;C;\r
+1E36 1E37;C;\r
+1E38 1E39;C;\r
+1E3A 1E3B;C;\r
+1E3C 1E3D;C;\r
+1E3E 1E3F;C;\r
+1E40 1E41;C;\r
+1E42 1E43;C;\r
+1E44 1E45;C;\r
+1E46 1E47;C;\r
+1E48 1E49;C;\r
+1E4A 1E4B;C;\r
+1E4C 1E4D;C;\r
+1E4E 1E4F;C;\r
+1E50 1E51;C;\r
+1E52 1E53;C;\r
+1E54 1E55;C;\r
+1E56 1E57;C;\r
+1E58 1E59;C;\r
+1E5A 1E5B;C;\r
+1E5C 1E5D;C;\r
+1E5E 1E5F;C;\r
+1E60 1E61;C;\r
+1E62 1E63;C;\r
+1E64 1E65;C;\r
+1E66 1E67;C;\r
+1E68 1E69;C;\r
+1E6A 1E6B;C;\r
+1E6C 1E6D;C;\r
+1E6E 1E6F;C;\r
+1E70 1E71;C;\r
+1E72 1E73;C;\r
+1E74 1E75;C;\r
+1E76 1E77;C;\r
+1E78 1E79;C;\r
+1E7A 1E7B;C;\r
+1E7C 1E7D;C;\r
+1E7E 1E7F;C;\r
+1E80 1E81;C;\r
+1E82 1E83;C;\r
+1E84 1E85;C;\r
+1E86 1E87;C;\r
+1E88 1E89;C;\r
+1E8A 1E8B;C;\r
+1E8C 1E8D;C;\r
+1E8E 1E8F;C;\r
+1E90 1E91;C;\r
+1E92 1E93;C;\r
+1E94 1E95;C;\r
+1E9B 1E61;C;\r
+1EA0 1EA1;C;\r
+1EA2 1EA3;C;\r
+1EA4 1EA5;C;\r
+1EA6 1EA7;C;\r
+1EA8 1EA9;C;\r
+1EAA 1EAB;C;\r
+1EAC 1EAD;C;\r
+1EAE 1EAF;C;\r
+1EB0 1EB1;C;\r
+1EB2 1EB3;C;\r
+1EB4 1EB5;C;\r
+1EB6 1EB7;C;\r
+1EB8 1EB9;C;\r
+1EBA 1EBB;C;\r
+1EBC 1EBD;C;\r
+1EBE 1EBF;C;\r
+1EC0 1EC1;C;\r
+1EC2 1EC3;C;\r
+1EC4 1EC5;C;\r
+1EC6 1EC7;C;\r
+1EC8 1EC9;C;\r
+1ECA 1ECB;C;\r
+1ECC 1ECD;C;\r
+1ECE 1ECF;C;\r
+1ED0 1ED1;C;\r
+1ED2 1ED3;C;\r
+1ED4 1ED5;C;\r
+1ED6 1ED7;C;\r
+1ED8 1ED9;C;\r
+1EDA 1EDB;C;\r
+1EDC 1EDD;C;\r
+1EDE 1EDF;C;\r
+1EE0 1EE1;C;\r
+1EE2 1EE3;C;\r
+1EE4 1EE5;C;\r
+1EE6 1EE7;C;\r
+1EE8 1EE9;C;\r
+1EEA 1EEB;C;\r
+1EEC 1EED;C;\r
+1EEE 1EEF;C;\r
+1EF0 1EF1;C;\r
+1EF2 1EF3;C;\r
+1EF4 1EF5;C;\r
+1EF6 1EF7;C;\r
+1EF8 1EF9;C;\r
+1F08 1F00;C;\r
+1F09 1F01;C;\r
+1F0A 1F02;C;\r
+1F0B 1F03;C;\r
+1F0C 1F04;C;\r
+1F0D 1F05;C;\r
+1F0E 1F06;C;\r
+1F0F 1F07;C;\r
+1F18 1F10;C;\r
+1F19 1F11;C;\r
+1F1A 1F12;C;\r
+1F1B 1F13;C;\r
+1F1C 1F14;C;\r
+1F1D 1F15;C;\r
+1F28 1F20;C;\r
+1F29 1F21;C;\r
+1F2A 1F22;C;\r
+1F2B 1F23;C;\r
+1F2C 1F24;C;\r
+1F2D 1F25;C;\r
+1F2E 1F26;C;\r
+1F2F 1F27;C;\r
+1F38 1F30;C;\r
+1F39 1F31;C;\r
+1F3A 1F32;C;\r
+1F3B 1F33;C;\r
+1F3C 1F34;C;\r
+1F3D 1F35;C;\r
+1F3E 1F36;C;\r
+1F3F 1F37;C;\r
+1F48 1F40;C;\r
+1F49 1F41;C;\r
+1F4A 1F42;C;\r
+1F4B 1F43;C;\r
+1F4C 1F44;C;\r
+1F4D 1F45;C;\r
+1F59 1F51;C;\r
+1F5B 1F53;C;\r
+1F5D 1F55;C;\r
+1F5F 1F57;C;\r
+1F68 1F60;C;\r
+1F69 1F61;C;\r
+1F6A 1F62;C;\r
+1F6B 1F63;C;\r
+1F6C 1F64;C;\r
+1F6D 1F65;C;\r
+1F6E 1F66;C;\r
+1F6F 1F67;C;\r
+1F88 1F80;S;\r
+1F89 1F81;S;\r
+1F8A 1F82;S;\r
+1F8B 1F83;S;\r
+1F8C 1F84;S;\r
+1F8D 1F85;S;\r
+1F8E 1F86;S;\r
+1F8F 1F87;S;\r
+1F98 1F90;S;\r
+1F99 1F91;S;\r
+1F9A 1F92;S;\r
+1F9B 1F93;S;\r
+1F9C 1F94;S;\r
+1F9D 1F95;S;\r
+1F9E 1F96;S;\r
+1F9F 1F97;S;\r
+1FA8 1FA0;S;\r
+1FA9 1FA1;S;\r
+1FAA 1FA2;S;\r
+1FAB 1FA3;S;\r
+1FAC 1FA4;S;\r
+1FAD 1FA5;S;\r
+1FAE 1FA6;S;\r
+1FAF 1FA7;S;\r
+1FB8 1FB0;C;\r
+1FB9 1FB1;C;\r
+1FBA 1F70;C;\r
+1FBB 1F71;C;\r
+1FBC 1FB3;S;\r
+1FBE 03B9;C;\r
+1FC8 1F72;C;\r
+1FC9 1F73;C;\r
+1FCA 1F74;C;\r
+1FCB 1F75;C;\r
+1FCC 1FC3;S;\r
+1FD8 1FD0;C;\r
+1FD9 1FD1;C;\r
+1FDA 1F76;C;\r
+1FDB 1F77;C;\r
+1FE8 1FE0;C;\r
+1FE9 1FE1;C;\r
+1FEA 1F7A;C;\r
+1FEB 1F7B;C;\r
+1FEC 1FE5;C;\r
+1FF8 1F78;C;\r
+1FF9 1F79;C;\r
+1FFA 1F7C;C;\r
+1FFB 1F7D;C;\r
+1FFC 1FF3;S;\r
+2126 03C9;C;\r
+212A 006B;C;\r
+212B 00E5;C;\r
+2160 2170;C;\r
+2161 2171;C;\r
+2162 2172;C;\r
+2163 2173;C;\r
+2164 2174;C;\r
+2165 2175;C;\r
+2166 2176;C;\r
+2167 2177;C;\r
+2168 2178;C;\r
+2169 2179;C;\r
+216A 217A;C;\r
+216B 217B;C;\r
+216C 217C;C;\r
+216D 217D;C;\r
+216E 217E;C;\r
+216F 217F;C;\r
+24B6 24D0;C;\r
+24B7 24D1;C;\r
+24B8 24D2;C;\r
+24B9 24D3;C;\r
+24BA 24D4;C;\r
+24BB 24D5;C;\r
+24BC 24D6;C;\r
+24BD 24D7;C;\r
+24BE 24D8;C;\r
+24BF 24D9;C;\r
+24C0 24DA;C;\r
+24C1 24DB;C;\r
+24C2 24DC;C;\r
+24C3 24DD;C;\r
+24C4 24DE;C;\r
+24C5 24DF;C;\r
+24C6 24E0;C;\r
+24C7 24E1;C;\r
+24C8 24E2;C;\r
+24C9 24E3;C;\r
+24CA 24E4;C;\r
+24CB 24E5;C;\r
+24CC 24E6;C;\r
+24CD 24E7;C;\r
+24CE 24E8;C;\r
+24CF 24E9;C;\r
+FF21 FF41;C;\r
+FF22 FF42;C;\r
+FF23 FF43;C;\r
+FF24 FF44;C;\r
+FF25 FF45;C;\r
+FF26 FF46;C;\r
+FF27 FF47;C;\r
+FF28 FF48;C;\r
+FF29 FF49;C;\r
+FF2A FF4A;C;\r
+FF2B FF4B;C;\r
+FF2C FF4C;C;\r
+FF2D FF4D;C;\r
+FF2E FF4E;C;\r
+FF2F FF4F;C;\r
+FF30 FF50;C;\r
+FF31 FF51;C;\r
+FF32 FF52;C;\r
+FF33 FF53;C;\r
+FF34 FF54;C;\r
+FF35 FF55;C;\r
+FF36 FF56;C;\r
+FF37 FF57;C;\r
+FF38 FF58;C;\r
+FF39 FF59;C;\r
+FF3A FF5A;C;\r
--- /dev/null
+# uni-full.txt - Unicode full case folding\r
+0041 0061 0000 0000;C;\r
+0042 0062 0000 0000;C;\r
+0043 0063 0000 0000;C;\r
+0044 0064 0000 0000;C;\r
+0045 0065 0000 0000;C;\r
+0046 0066 0000 0000;C;\r
+0047 0067 0000 0000;C;\r
+0048 0068 0000 0000;C;\r
+0049 0069 0000 0000;C;\r
+004A 006A 0000 0000;C;\r
+004B 006B 0000 0000;C;\r
+004C 006C 0000 0000;C;\r
+004D 006D 0000 0000;C;\r
+004E 006E 0000 0000;C;\r
+004F 006F 0000 0000;C;\r
+0050 0070 0000 0000;C;\r
+0051 0071 0000 0000;C;\r
+0052 0072 0000 0000;C;\r
+0053 0073 0000 0000;C;\r
+0054 0074 0000 0000;C;\r
+0055 0075 0000 0000;C;\r
+0056 0076 0000 0000;C;\r
+0057 0077 0000 0000;C;\r
+0058 0078 0000 0000;C;\r
+0059 0079 0000 0000;C;\r
+005A 007A 0000 0000;C;\r
+00B5 03BC 0000 0000;C;\r
+00C0 00E0 0000 0000;C;\r
+00C1 00E1 0000 0000;C;\r
+00C2 00E2 0000 0000;C;\r
+00C3 00E3 0000 0000;C;\r
+00C4 00E4 0000 0000;C;\r
+00C5 00E5 0000 0000;C;\r
+00C6 00E6 0000 0000;C;\r
+00C7 00E7 0000 0000;C;\r
+00C8 00E8 0000 0000;C;\r
+00C9 00E9 0000 0000;C;\r
+00CA 00EA 0000 0000;C;\r
+00CB 00EB 0000 0000;C;\r
+00CC 00EC 0000 0000;C;\r
+00CD 00ED 0000 0000;C;\r
+00CE 00EE 0000 0000;C;\r
+00CF 00EF 0000 0000;C;\r
+00D0 00F0 0000 0000;C;\r
+00D1 00F1 0000 0000;C;\r
+00D2 00F2 0000 0000;C;\r
+00D3 00F3 0000 0000;C;\r
+00D4 00F4 0000 0000;C;\r
+00D5 00F5 0000 0000;C;\r
+00D6 00F6 0000 0000;C;\r
+00D8 00F8 0000 0000;C;\r
+00D9 00F9 0000 0000;C;\r
+00DA 00FA 0000 0000;C;\r
+00DB 00FB 0000 0000;C;\r
+00DC 00FC 0000 0000;C;\r
+00DD 00FD 0000 0000;C;\r
+00DE 00FE 0000 0000;C;\r
+00DF 0073 0073 0000;F;\r
+0100 0101 0000 0000;C;\r
+0102 0103 0000 0000;C;\r
+0104 0105 0000 0000;C;\r
+0106 0107 0000 0000;C;\r
+0108 0109 0000 0000;C;\r
+010A 010B 0000 0000;C;\r
+010C 010D 0000 0000;C;\r
+010E 010F 0000 0000;C;\r
+0110 0111 0000 0000;C;\r
+0112 0113 0000 0000;C;\r
+0114 0115 0000 0000;C;\r
+0116 0117 0000 0000;C;\r
+0118 0119 0000 0000;C;\r
+011A 011B 0000 0000;C;\r
+011C 011D 0000 0000;C;\r
+011E 011F 0000 0000;C;\r
+0120 0121 0000 0000;C;\r
+0122 0123 0000 0000;C;\r
+0124 0125 0000 0000;C;\r
+0126 0127 0000 0000;C;\r
+0128 0129 0000 0000;C;\r
+012A 012B 0000 0000;C;\r
+012C 012D 0000 0000;C;\r
+012E 012F 0000 0000;C;\r
+0130 0069 0000 0000;I;\r
+0131 0069 0000 0000;I;\r
+0132 0133 0000 0000;C;\r
+0134 0135 0000 0000;C;\r
+0136 0137 0000 0000;C;\r
+0139 013A 0000 0000;C;\r
+013B 013C 0000 0000;C;\r
+013D 013E 0000 0000;C;\r
+013F 0140 0000 0000;C;\r
+0141 0142 0000 0000;C;\r
+0143 0144 0000 0000;C;\r
+0145 0146 0000 0000;C;\r
+0147 0148 0000 0000;C;\r
+0149 02BC 006E 0000;F;\r
+014A 014B 0000 0000;C;\r
+014C 014D 0000 0000;C;\r
+014E 014F 0000 0000;C;\r
+0150 0151 0000 0000;C;\r
+0152 0153 0000 0000;C;\r
+0154 0155 0000 0000;C;\r
+0156 0157 0000 0000;C;\r
+0158 0159 0000 0000;C;\r
+015A 015B 0000 0000;C;\r
+015C 015D 0000 0000;C;\r
+015E 015F 0000 0000;C;\r
+0160 0161 0000 0000;C;\r
+0162 0163 0000 0000;C;\r
+0164 0165 0000 0000;C;\r
+0166 0167 0000 0000;C;\r
+0168 0169 0000 0000;C;\r
+016A 016B 0000 0000;C;\r
+016C 016D 0000 0000;C;\r
+016E 016F 0000 0000;C;\r
+0170 0171 0000 0000;C;\r
+0172 0173 0000 0000;C;\r
+0174 0175 0000 0000;C;\r
+0176 0177 0000 0000;C;\r
+0178 00FF 0000 0000;C;\r
+0179 017A 0000 0000;C;\r
+017B 017C 0000 0000;C;\r
+017D 017E 0000 0000;C;\r
+017F 0073 0000 0000;C;\r
+0181 0253 0000 0000;C;\r
+0182 0183 0000 0000;C;\r
+0184 0185 0000 0000;C;\r
+0186 0254 0000 0000;C;\r
+0187 0188 0000 0000;C;\r
+0189 0256 0000 0000;C;\r
+018A 0257 0000 0000;C;\r
+018B 018C 0000 0000;C;\r
+018E 01DD 0000 0000;C;\r
+018F 0259 0000 0000;C;\r
+0190 025B 0000 0000;C;\r
+0191 0192 0000 0000;C;\r
+0193 0260 0000 0000;C;\r
+0194 0263 0000 0000;C;\r
+0196 0269 0000 0000;C;\r
+0197 0268 0000 0000;C;\r
+0198 0199 0000 0000;C;\r
+019C 026F 0000 0000;C;\r
+019D 0272 0000 0000;C;\r
+019F 0275 0000 0000;C;\r
+01A0 01A1 0000 0000;C;\r
+01A2 01A3 0000 0000;C;\r
+01A4 01A5 0000 0000;C;\r
+01A6 0280 0000 0000;C;\r
+01A7 01A8 0000 0000;C;\r
+01A9 0283 0000 0000;C;\r
+01AC 01AD 0000 0000;C;\r
+01AE 0288 0000 0000;C;\r
+01AF 01B0 0000 0000;C;\r
+01B1 028A 0000 0000;C;\r
+01B2 028B 0000 0000;C;\r
+01B3 01B4 0000 0000;C;\r
+01B5 01B6 0000 0000;C;\r
+01B7 0292 0000 0000;C;\r
+01B8 01B9 0000 0000;C;\r
+01BC 01BD 0000 0000;C;\r
+01C4 01C6 0000 0000;C;\r
+01C5 01C6 0000 0000;C;\r
+01C7 01C9 0000 0000;C;\r
+01C8 01C9 0000 0000;C;\r
+01CA 01CC 0000 0000;C;\r
+01CB 01CC 0000 0000;C;\r
+01CD 01CE 0000 0000;C;\r
+01CF 01D0 0000 0000;C;\r
+01D1 01D2 0000 0000;C;\r
+01D3 01D4 0000 0000;C;\r
+01D5 01D6 0000 0000;C;\r
+01D7 01D8 0000 0000;C;\r
+01D9 01DA 0000 0000;C;\r
+01DB 01DC 0000 0000;C;\r
+01DE 01DF 0000 0000;C;\r
+01E0 01E1 0000 0000;C;\r
+01E2 01E3 0000 0000;C;\r
+01E4 01E5 0000 0000;C;\r
+01E6 01E7 0000 0000;C;\r
+01E8 01E9 0000 0000;C;\r
+01EA 01EB 0000 0000;C;\r
+01EC 01ED 0000 0000;C;\r
+01EE 01EF 0000 0000;C;\r
+01F0 006A 030C 0000;F;\r
+01F1 01F3 0000 0000;C;\r
+01F2 01F3 0000 0000;C;\r
+01F4 01F5 0000 0000;C;\r
+01F6 0195 0000 0000;C;\r
+01F7 01BF 0000 0000;C;\r
+01F8 01F9 0000 0000;C;\r
+01FA 01FB 0000 0000;C;\r
+01FC 01FD 0000 0000;C;\r
+01FE 01FF 0000 0000;C;\r
+0200 0201 0000 0000;C;\r
+0202 0203 0000 0000;C;\r
+0204 0205 0000 0000;C;\r
+0206 0207 0000 0000;C;\r
+0208 0209 0000 0000;C;\r
+020A 020B 0000 0000;C;\r
+020C 020D 0000 0000;C;\r
+020E 020F 0000 0000;C;\r
+0210 0211 0000 0000;C;\r
+0212 0213 0000 0000;C;\r
+0214 0215 0000 0000;C;\r
+0216 0217 0000 0000;C;\r
+0218 0219 0000 0000;C;\r
+021A 021B 0000 0000;C;\r
+021C 021D 0000 0000;C;\r
+021E 021F 0000 0000;C;\r
+0222 0223 0000 0000;C;\r
+0224 0225 0000 0000;C;\r
+0226 0227 0000 0000;C;\r
+0228 0229 0000 0000;C;\r
+022A 022B 0000 0000;C;\r
+022C 022D 0000 0000;C;\r
+022E 022F 0000 0000;C;\r
+0230 0231 0000 0000;C;\r
+0232 0233 0000 0000;C;\r
+0345 03B9 0000 0000;C;\r
+0386 03AC 0000 0000;C;\r
+0388 03AD 0000 0000;C;\r
+0389 03AE 0000 0000;C;\r
+038A 03AF 0000 0000;C;\r
+038C 03CC 0000 0000;C;\r
+038E 03CD 0000 0000;C;\r
+038F 03CE 0000 0000;C;\r
+0390 03B9 0308 0301;F;\r
+0391 03B1 0000 0000;C;\r
+0392 03B2 0000 0000;C;\r
+0393 03B3 0000 0000;C;\r
+0394 03B4 0000 0000;C;\r
+0395 03B5 0000 0000;C;\r
+0396 03B6 0000 0000;C;\r
+0397 03B7 0000 0000;C;\r
+0398 03B8 0000 0000;C;\r
+0399 03B9 0000 0000;C;\r
+039A 03BA 0000 0000;C;\r
+039B 03BB 0000 0000;C;\r
+039C 03BC 0000 0000;C;\r
+039D 03BD 0000 0000;C;\r
+039E 03BE 0000 0000;C;\r
+039F 03BF 0000 0000;C;\r
+03A0 03C0 0000 0000;C;\r
+03A1 03C1 0000 0000;C;\r
+03A3 03C3 0000 0000;C;\r
+03A4 03C4 0000 0000;C;\r
+03A5 03C5 0000 0000;C;\r
+03A6 03C6 0000 0000;C;\r
+03A7 03C7 0000 0000;C;\r
+03A8 03C8 0000 0000;C;\r
+03A9 03C9 0000 0000;C;\r
+03AA 03CA 0000 0000;C;\r
+03AB 03CB 0000 0000;C;\r
+03B0 03C5 0308 0301;F;\r
+03C2 03C3 0000 0000;C;\r
+03D0 03B2 0000 0000;C;\r
+03D1 03B8 0000 0000;C;\r
+03D5 03C6 0000 0000;C;\r
+03D6 03C0 0000 0000;C;\r
+03DA 03DB 0000 0000;C;\r
+03DC 03DD 0000 0000;C;\r
+03DE 03DF 0000 0000;C;\r
+03E0 03E1 0000 0000;C;\r
+03E2 03E3 0000 0000;C;\r
+03E4 03E5 0000 0000;C;\r
+03E6 03E7 0000 0000;C;\r
+03E8 03E9 0000 0000;C;\r
+03EA 03EB 0000 0000;C;\r
+03EC 03ED 0000 0000;C;\r
+03EE 03EF 0000 0000;C;\r
+03F0 03BA 0000 0000;C;\r
+03F1 03C1 0000 0000;C;\r
+03F2 03C3 0000 0000;C;\r
+03F4 03B8 0000 0000;C;\r
+03F5 03B5 0000 0000;C;\r
+0400 0450 0000 0000;C;\r
+0401 0451 0000 0000;C;\r
+0402 0452 0000 0000;C;\r
+0403 0453 0000 0000;C;\r
+0404 0454 0000 0000;C;\r
+0405 0455 0000 0000;C;\r
+0406 0456 0000 0000;C;\r
+0407 0457 0000 0000;C;\r
+0408 0458 0000 0000;C;\r
+0409 0459 0000 0000;C;\r
+040A 045A 0000 0000;C;\r
+040B 045B 0000 0000;C;\r
+040C 045C 0000 0000;C;\r
+040D 045D 0000 0000;C;\r
+040E 045E 0000 0000;C;\r
+040F 045F 0000 0000;C;\r
+0410 0430 0000 0000;C;\r
+0411 0431 0000 0000;C;\r
+0412 0432 0000 0000;C;\r
+0413 0433 0000 0000;C;\r
+0414 0434 0000 0000;C;\r
+0415 0435 0000 0000;C;\r
+0416 0436 0000 0000;C;\r
+0417 0437 0000 0000;C;\r
+0418 0438 0000 0000;C;\r
+0419 0439 0000 0000;C;\r
+041A 043A 0000 0000;C;\r
+041B 043B 0000 0000;C;\r
+041C 043C 0000 0000;C;\r
+041D 043D 0000 0000;C;\r
+041E 043E 0000 0000;C;\r
+041F 043F 0000 0000;C;\r
+0420 0440 0000 0000;C;\r
+0421 0441 0000 0000;C;\r
+0422 0442 0000 0000;C;\r
+0423 0443 0000 0000;C;\r
+0424 0444 0000 0000;C;\r
+0425 0445 0000 0000;C;\r
+0426 0446 0000 0000;C;\r
+0427 0447 0000 0000;C;\r
+0428 0448 0000 0000;C;\r
+0429 0449 0000 0000;C;\r
+042A 044A 0000 0000;C;\r
+042B 044B 0000 0000;C;\r
+042C 044C 0000 0000;C;\r
+042D 044D 0000 0000;C;\r
+042E 044E 0000 0000;C;\r
+042F 044F 0000 0000;C;\r
+0460 0461 0000 0000;C;\r
+0462 0463 0000 0000;C;\r
+0464 0465 0000 0000;C;\r
+0466 0467 0000 0000;C;\r
+0468 0469 0000 0000;C;\r
+046A 046B 0000 0000;C;\r
+046C 046D 0000 0000;C;\r
+046E 046F 0000 0000;C;\r
+0470 0471 0000 0000;C;\r
+0472 0473 0000 0000;C;\r
+0474 0475 0000 0000;C;\r
+0476 0477 0000 0000;C;\r
+0478 0479 0000 0000;C;\r
+047A 047B 0000 0000;C;\r
+047C 047D 0000 0000;C;\r
+047E 047F 0000 0000;C;\r
+0480 0481 0000 0000;C;\r
+048C 048D 0000 0000;C;\r
+048E 048F 0000 0000;C;\r
+0490 0491 0000 0000;C;\r
+0492 0493 0000 0000;C;\r
+0494 0495 0000 0000;C;\r
+0496 0497 0000 0000;C;\r
+0498 0499 0000 0000;C;\r
+049A 049B 0000 0000;C;\r
+049C 049D 0000 0000;C;\r
+049E 049F 0000 0000;C;\r
+04A0 04A1 0000 0000;C;\r
+04A2 04A3 0000 0000;C;\r
+04A4 04A5 0000 0000;C;\r
+04A6 04A7 0000 0000;C;\r
+04A8 04A9 0000 0000;C;\r
+04AA 04AB 0000 0000;C;\r
+04AC 04AD 0000 0000;C;\r
+04AE 04AF 0000 0000;C;\r
+04B0 04B1 0000 0000;C;\r
+04B2 04B3 0000 0000;C;\r
+04B4 04B5 0000 0000;C;\r
+04B6 04B7 0000 0000;C;\r
+04B8 04B9 0000 0000;C;\r
+04BA 04BB 0000 0000;C;\r
+04BC 04BD 0000 0000;C;\r
+04BE 04BF 0000 0000;C;\r
+04C1 04C2 0000 0000;C;\r
+04C3 04C4 0000 0000;C;\r
+04C7 04C8 0000 0000;C;\r
+04CB 04CC 0000 0000;C;\r
+04D0 04D1 0000 0000;C;\r
+04D2 04D3 0000 0000;C;\r
+04D4 04D5 0000 0000;C;\r
+04D6 04D7 0000 0000;C;\r
+04D8 04D9 0000 0000;C;\r
+04DA 04DB 0000 0000;C;\r
+04DC 04DD 0000 0000;C;\r
+04DE 04DF 0000 0000;C;\r
+04E0 04E1 0000 0000;C;\r
+04E2 04E3 0000 0000;C;\r
+04E4 04E5 0000 0000;C;\r
+04E6 04E7 0000 0000;C;\r
+04E8 04E9 0000 0000;C;\r
+04EA 04EB 0000 0000;C;\r
+04EC 04ED 0000 0000;C;\r
+04EE 04EF 0000 0000;C;\r
+04F0 04F1 0000 0000;C;\r
+04F2 04F3 0000 0000;C;\r
+04F4 04F5 0000 0000;C;\r
+04F8 04F9 0000 0000;C;\r
+0531 0561 0000 0000;C;\r
+0532 0562 0000 0000;C;\r
+0533 0563 0000 0000;C;\r
+0534 0564 0000 0000;C;\r
+0535 0565 0000 0000;C;\r
+0536 0566 0000 0000;C;\r
+0537 0567 0000 0000;C;\r
+0538 0568 0000 0000;C;\r
+0539 0569 0000 0000;C;\r
+053A 056A 0000 0000;C;\r
+053B 056B 0000 0000;C;\r
+053C 056C 0000 0000;C;\r
+053D 056D 0000 0000;C;\r
+053E 056E 0000 0000;C;\r
+053F 056F 0000 0000;C;\r
+0540 0570 0000 0000;C;\r
+0541 0571 0000 0000;C;\r
+0542 0572 0000 0000;C;\r
+0543 0573 0000 0000;C;\r
+0544 0574 0000 0000;C;\r
+0545 0575 0000 0000;C;\r
+0546 0576 0000 0000;C;\r
+0547 0577 0000 0000;C;\r
+0548 0578 0000 0000;C;\r
+0549 0579 0000 0000;C;\r
+054A 057A 0000 0000;C;\r
+054B 057B 0000 0000;C;\r
+054C 057C 0000 0000;C;\r
+054D 057D 0000 0000;C;\r
+054E 057E 0000 0000;C;\r
+054F 057F 0000 0000;C;\r
+0550 0580 0000 0000;C;\r
+0551 0581 0000 0000;C;\r
+0552 0582 0000 0000;C;\r
+0553 0583 0000 0000;C;\r
+0554 0584 0000 0000;C;\r
+0555 0585 0000 0000;C;\r
+0556 0586 0000 0000;C;\r
+0587 0565 0582 0000;F;\r
+1E00 1E01 0000 0000;C;\r
+1E02 1E03 0000 0000;C;\r
+1E04 1E05 0000 0000;C;\r
+1E06 1E07 0000 0000;C;\r
+1E08 1E09 0000 0000;C;\r
+1E0A 1E0B 0000 0000;C;\r
+1E0C 1E0D 0000 0000;C;\r
+1E0E 1E0F 0000 0000;C;\r
+1E10 1E11 0000 0000;C;\r
+1E12 1E13 0000 0000;C;\r
+1E14 1E15 0000 0000;C;\r
+1E16 1E17 0000 0000;C;\r
+1E18 1E19 0000 0000;C;\r
+1E1A 1E1B 0000 0000;C;\r
+1E1C 1E1D 0000 0000;C;\r
+1E1E 1E1F 0000 0000;C;\r
+1E20 1E21 0000 0000;C;\r
+1E22 1E23 0000 0000;C;\r
+1E24 1E25 0000 0000;C;\r
+1E26 1E27 0000 0000;C;\r
+1E28 1E29 0000 0000;C;\r
+1E2A 1E2B 0000 0000;C;\r
+1E2C 1E2D 0000 0000;C;\r
+1E2E 1E2F 0000 0000;C;\r
+1E30 1E31 0000 0000;C;\r
+1E32 1E33 0000 0000;C;\r
+1E34 1E35 0000 0000;C;\r
+1E36 1E37 0000 0000;C;\r
+1E38 1E39 0000 0000;C;\r
+1E3A 1E3B 0000 0000;C;\r
+1E3C 1E3D 0000 0000;C;\r
+1E3E 1E3F 0000 0000;C;\r
+1E40 1E41 0000 0000;C;\r
+1E42 1E43 0000 0000;C;\r
+1E44 1E45 0000 0000;C;\r
+1E46 1E47 0000 0000;C;\r
+1E48 1E49 0000 0000;C;\r
+1E4A 1E4B 0000 0000;C;\r
+1E4C 1E4D 0000 0000;C;\r
+1E4E 1E4F 0000 0000;C;\r
+1E50 1E51 0000 0000;C;\r
+1E52 1E53 0000 0000;C;\r
+1E54 1E55 0000 0000;C;\r
+1E56 1E57 0000 0000;C;\r
+1E58 1E59 0000 0000;C;\r
+1E5A 1E5B 0000 0000;C;\r
+1E5C 1E5D 0000 0000;C;\r
+1E5E 1E5F 0000 0000;C;\r
+1E60 1E61 0000 0000;C;\r
+1E62 1E63 0000 0000;C;\r
+1E64 1E65 0000 0000;C;\r
+1E66 1E67 0000 0000;C;\r
+1E68 1E69 0000 0000;C;\r
+1E6A 1E6B 0000 0000;C;\r
+1E6C 1E6D 0000 0000;C;\r
+1E6E 1E6F 0000 0000;C;\r
+1E70 1E71 0000 0000;C;\r
+1E72 1E73 0000 0000;C;\r
+1E74 1E75 0000 0000;C;\r
+1E76 1E77 0000 0000;C;\r
+1E78 1E79 0000 0000;C;\r
+1E7A 1E7B 0000 0000;C;\r
+1E7C 1E7D 0000 0000;C;\r
+1E7E 1E7F 0000 0000;C;\r
+1E80 1E81 0000 0000;C;\r
+1E82 1E83 0000 0000;C;\r
+1E84 1E85 0000 0000;C;\r
+1E86 1E87 0000 0000;C;\r
+1E88 1E89 0000 0000;C;\r
+1E8A 1E8B 0000 0000;C;\r
+1E8C 1E8D 0000 0000;C;\r
+1E8E 1E8F 0000 0000;C;\r
+1E90 1E91 0000 0000;C;\r
+1E92 1E93 0000 0000;C;\r
+1E94 1E95 0000 0000;C;\r
+1E96 0068 0331 0000;F;\r
+1E97 0074 0308 0000;F;\r
+1E98 0077 030A 0000;F;\r
+1E99 0079 030A 0000;F;\r
+1E9A 0061 02BE 0000;F;\r
+1E9B 1E61 0000 0000;C;\r
+1EA0 1EA1 0000 0000;C;\r
+1EA2 1EA3 0000 0000;C;\r
+1EA4 1EA5 0000 0000;C;\r
+1EA6 1EA7 0000 0000;C;\r
+1EA8 1EA9 0000 0000;C;\r
+1EAA 1EAB 0000 0000;C;\r
+1EAC 1EAD 0000 0000;C;\r
+1EAE 1EAF 0000 0000;C;\r
+1EB0 1EB1 0000 0000;C;\r
+1EB2 1EB3 0000 0000;C;\r
+1EB4 1EB5 0000 0000;C;\r
+1EB6 1EB7 0000 0000;C;\r
+1EB8 1EB9 0000 0000;C;\r
+1EBA 1EBB 0000 0000;C;\r
+1EBC 1EBD 0000 0000;C;\r
+1EBE 1EBF 0000 0000;C;\r
+1EC0 1EC1 0000 0000;C;\r
+1EC2 1EC3 0000 0000;C;\r
+1EC4 1EC5 0000 0000;C;\r
+1EC6 1EC7 0000 0000;C;\r
+1EC8 1EC9 0000 0000;C;\r
+1ECA 1ECB 0000 0000;C;\r
+1ECC 1ECD 0000 0000;C;\r
+1ECE 1ECF 0000 0000;C;\r
+1ED0 1ED1 0000 0000;C;\r
+1ED2 1ED3 0000 0000;C;\r
+1ED4 1ED5 0000 0000;C;\r
+1ED6 1ED7 0000 0000;C;\r
+1ED8 1ED9 0000 0000;C;\r
+1EDA 1EDB 0000 0000;C;\r
+1EDC 1EDD 0000 0000;C;\r
+1EDE 1EDF 0000 0000;C;\r
+1EE0 1EE1 0000 0000;C;\r
+1EE2 1EE3 0000 0000;C;\r
+1EE4 1EE5 0000 0000;C;\r
+1EE6 1EE7 0000 0000;C;\r
+1EE8 1EE9 0000 0000;C;\r
+1EEA 1EEB 0000 0000;C;\r
+1EEC 1EED 0000 0000;C;\r
+1EEE 1EEF 0000 0000;C;\r
+1EF0 1EF1 0000 0000;C;\r
+1EF2 1EF3 0000 0000;C;\r
+1EF4 1EF5 0000 0000;C;\r
+1EF6 1EF7 0000 0000;C;\r
+1EF8 1EF9 0000 0000;C;\r
+1F08 1F00 0000 0000;C;\r
+1F09 1F01 0000 0000;C;\r
+1F0A 1F02 0000 0000;C;\r
+1F0B 1F03 0000 0000;C;\r
+1F0C 1F04 0000 0000;C;\r
+1F0D 1F05 0000 0000;C;\r
+1F0E 1F06 0000 0000;C;\r
+1F0F 1F07 0000 0000;C;\r
+1F18 1F10 0000 0000;C;\r
+1F19 1F11 0000 0000;C;\r
+1F1A 1F12 0000 0000;C;\r
+1F1B 1F13 0000 0000;C;\r
+1F1C 1F14 0000 0000;C;\r
+1F1D 1F15 0000 0000;C;\r
+1F28 1F20 0000 0000;C;\r
+1F29 1F21 0000 0000;C;\r
+1F2A 1F22 0000 0000;C;\r
+1F2B 1F23 0000 0000;C;\r
+1F2C 1F24 0000 0000;C;\r
+1F2D 1F25 0000 0000;C;\r
+1F2E 1F26 0000 0000;C;\r
+1F2F 1F27 0000 0000;C;\r
+1F38 1F30 0000 0000;C;\r
+1F39 1F31 0000 0000;C;\r
+1F3A 1F32 0000 0000;C;\r
+1F3B 1F33 0000 0000;C;\r
+1F3C 1F34 0000 0000;C;\r
+1F3D 1F35 0000 0000;C;\r
+1F3E 1F36 0000 0000;C;\r
+1F3F 1F37 0000 0000;C;\r
+1F48 1F40 0000 0000;C;\r
+1F49 1F41 0000 0000;C;\r
+1F4A 1F42 0000 0000;C;\r
+1F4B 1F43 0000 0000;C;\r
+1F4C 1F44 0000 0000;C;\r
+1F4D 1F45 0000 0000;C;\r
+1F50 03C5 0313 0000;F;\r
+1F52 03C5 0313 0300;F;\r
+1F54 03C5 0313 0301;F;\r
+1F56 03C5 0313 0342;F;\r
+1F59 1F51 0000 0000;C;\r
+1F5B 1F53 0000 0000;C;\r
+1F5D 1F55 0000 0000;C;\r
+1F5F 1F57 0000 0000;C;\r
+1F68 1F60 0000 0000;C;\r
+1F69 1F61 0000 0000;C;\r
+1F6A 1F62 0000 0000;C;\r
+1F6B 1F63 0000 0000;C;\r
+1F6C 1F64 0000 0000;C;\r
+1F6D 1F65 0000 0000;C;\r
+1F6E 1F66 0000 0000;C;\r
+1F6F 1F67 0000 0000;C;\r
+1F80 1F00 03B9 0000;F;\r
+1F81 1F01 03B9 0000;F;\r
+1F82 1F02 03B9 0000;F;\r
+1F83 1F03 03B9 0000;F;\r
+1F84 1F04 03B9 0000;F;\r
+1F85 1F05 03B9 0000;F;\r
+1F86 1F06 03B9 0000;F;\r
+1F87 1F07 03B9 0000;F;\r
+1F88 1F00 03B9 0000;F;\r
+1F89 1F01 03B9 0000;F;\r
+1F8A 1F02 03B9 0000;F;\r
+1F8B 1F03 03B9 0000;F;\r
+1F8C 1F04 03B9 0000;F;\r
+1F8D 1F05 03B9 0000;F;\r
+1F8E 1F06 03B9 0000;F;\r
+1F8F 1F07 03B9 0000;F;\r
+1F90 1F20 03B9 0000;F;\r
+1F91 1F21 03B9 0000;F;\r
+1F92 1F22 03B9 0000;F;\r
+1F93 1F23 03B9 0000;F;\r
+1F94 1F24 03B9 0000;F;\r
+1F95 1F25 03B9 0000;F;\r
+1F96 1F26 03B9 0000;F;\r
+1F97 1F27 03B9 0000;F;\r
+1F98 1F20 03B9 0000;F;\r
+1F99 1F21 03B9 0000;F;\r
+1F9A 1F22 03B9 0000;F;\r
+1F9B 1F23 03B9 0000;F;\r
+1F9C 1F24 03B9 0000;F;\r
+1F9D 1F25 03B9 0000;F;\r
+1F9E 1F26 03B9 0000;F;\r
+1F9F 1F27 03B9 0000;F;\r
+1FA0 1F60 03B9 0000;F;\r
+1FA1 1F61 03B9 0000;F;\r
+1FA2 1F62 03B9 0000;F;\r
+1FA3 1F63 03B9 0000;F;\r
+1FA4 1F64 03B9 0000;F;\r
+1FA5 1F65 03B9 0000;F;\r
+1FA6 1F66 03B9 0000;F;\r
+1FA7 1F67 03B9 0000;F;\r
+1FA8 1F60 03B9 0000;F;\r
+1FA9 1F61 03B9 0000;F;\r
+1FAA 1F62 03B9 0000;F;\r
+1FAB 1F63 03B9 0000;F;\r
+1FAC 1F64 03B9 0000;F;\r
+1FAD 1F65 03B9 0000;F;\r
+1FAE 1F66 03B9 0000;F;\r
+1FAF 1F67 03B9 0000;F;\r
+1FB2 1F70 03B9 0000;F;\r
+1FB3 03B1 03B9 0000;F;\r
+1FB4 03AC 03B9 0000;F;\r
+1FB6 03B1 0342 0000;F;\r
+1FB7 03B1 0342 03B9;F;\r
+1FB8 1FB0 0000 0000;C;\r
+1FB9 1FB1 0000 0000;C;\r
+1FBA 1F70 0000 0000;C;\r
+1FBB 1F71 0000 0000;C;\r
+1FBC 03B1 03B9 0000;F;\r
+1FBE 03B9 0000 0000;C;\r
+1FC2 1F74 03B9 0000;F;\r
+1FC3 03B7 03B9 0000;F;\r
+1FC4 03AE 03B9 0000;F;\r
+1FC6 03B7 0342 0000;F;\r
+1FC7 03B7 0342 03B9;F;\r
+1FC8 1F72 0000 0000;C;\r
+1FC9 1F73 0000 0000;C;\r
+1FCA 1F74 0000 0000;C;\r
+1FCB 1F75 0000 0000;C;\r
+1FCC 03B7 03B9 0000;F;\r
+1FD2 03B9 0308 0300;F;\r
+1FD3 03B9 0308 0301;F;\r
+1FD6 03B9 0342 0000;F;\r
+1FD7 03B9 0308 0342;F;\r
+1FD8 1FD0 0000 0000;C;\r
+1FD9 1FD1 0000 0000;C;\r
+1FDA 1F76 0000 0000;C;\r
+1FDB 1F77 0000 0000;C;\r
+1FE2 03C5 0308 0300;F;\r
+1FE3 03C5 0308 0301;F;\r
+1FE4 03C1 0313 0000;F;\r
+1FE6 03C5 0342 0000;F;\r
+1FE7 03C5 0308 0342;F;\r
+1FE8 1FE0 0000 0000;C;\r
+1FE9 1FE1 0000 0000;C;\r
+1FEA 1F7A 0000 0000;C;\r
+1FEB 1F7B 0000 0000;C;\r
+1FEC 1FE5 0000 0000;C;\r
+1FF2 1F7C 03B9 0000;F;\r
+1FF3 03C9 03B9 0000;F;\r
+1FF4 03CE 03B9 0000;F;\r
+1FF6 03C9 0342 0000;F;\r
+1FF7 03C9 0342 03B9;F;\r
+1FF8 1F78 0000 0000;C;\r
+1FF9 1F79 0000 0000;C;\r
+1FFA 1F7C 0000 0000;C;\r
+1FFB 1F7D 0000 0000;C;\r
+1FFC 03C9 03B9 0000;F;\r
+2126 03C9 0000 0000;C;\r
+212A 006B 0000 0000;C;\r
+212B 00E5 0000 0000;C;\r
+2160 2170 0000 0000;C;\r
+2161 2171 0000 0000;C;\r
+2162 2172 0000 0000;C;\r
+2163 2173 0000 0000;C;\r
+2164 2174 0000 0000;C;\r
+2165 2175 0000 0000;C;\r
+2166 2176 0000 0000;C;\r
+2167 2177 0000 0000;C;\r
+2168 2178 0000 0000;C;\r
+2169 2179 0000 0000;C;\r
+216A 217A 0000 0000;C;\r
+216B 217B 0000 0000;C;\r
+216C 217C 0000 0000;C;\r
+216D 217D 0000 0000;C;\r
+216E 217E 0000 0000;C;\r
+216F 217F 0000 0000;C;\r
+24B6 24D0 0000 0000;C;\r
+24B7 24D1 0000 0000;C;\r
+24B8 24D2 0000 0000;C;\r
+24B9 24D3 0000 0000;C;\r
+24BA 24D4 0000 0000;C;\r
+24BB 24D5 0000 0000;C;\r
+24BC 24D6 0000 0000;C;\r
+24BD 24D7 0000 0000;C;\r
+24BE 24D8 0000 0000;C;\r
+24BF 24D9 0000 0000;C;\r
+24C0 24DA 0000 0000;C;\r
+24C1 24DB 0000 0000;C;\r
+24C2 24DC 0000 0000;C;\r
+24C3 24DD 0000 0000;C;\r
+24C4 24DE 0000 0000;C;\r
+24C5 24DF 0000 0000;C;\r
+24C6 24E0 0000 0000;C;\r
+24C7 24E1 0000 0000;C;\r
+24C8 24E2 0000 0000;C;\r
+24C9 24E3 0000 0000;C;\r
+24CA 24E4 0000 0000;C;\r
+24CB 24E5 0000 0000;C;\r
+24CC 24E6 0000 0000;C;\r
+24CD 24E7 0000 0000;C;\r
+24CE 24E8 0000 0000;C;\r
+24CF 24E9 0000 0000;C;\r
+FB00 0066 0066 0000;F;\r
+FB01 0066 0069 0000;F;\r
+FB02 0066 006C 0000;F;\r
+FB03 0066 0066 0069;F;\r
+FB04 0066 0066 006C;F;\r
+FB05 0073 0074 0000;F;\r
+FB06 0073 0074 0000;F;\r
+FB13 0574 0576 0000;F;\r
+FB14 0574 0565 0000;F;\r
+FB15 0574 056B 0000;F;\r
+FB16 057E 0576 0000;F;\r
+FB17 0574 056D 0000;F;\r
+FF21 FF41 0000 0000;C;\r
+FF22 FF42 0000 0000;C;\r
+FF23 FF43 0000 0000;C;\r
+FF24 FF44 0000 0000;C;\r
+FF25 FF45 0000 0000;C;\r
+FF26 FF46 0000 0000;C;\r
+FF27 FF47 0000 0000;C;\r
+FF28 FF48 0000 0000;C;\r
+FF29 FF49 0000 0000;C;\r
+FF2A FF4A 0000 0000;C;\r
+FF2B FF4B 0000 0000;C;\r
+FF2C FF4C 0000 0000;C;\r
+FF2D FF4D 0000 0000;C;\r
+FF2E FF4E 0000 0000;C;\r
+FF2F FF4F 0000 0000;C;\r
+FF30 FF50 0000 0000;C;\r
+FF31 FF51 0000 0000;C;\r
+FF32 FF52 0000 0000;C;\r
+FF33 FF53 0000 0000;C;\r
+FF34 FF54 0000 0000;C;\r
+FF35 FF55 0000 0000;C;\r
+FF36 FF56 0000 0000;C;\r
+FF37 FF57 0000 0000;C;\r
+FF38 FF58 0000 0000;C;\r
+FF39 FF59 0000 0000;C;\r
+FF3A FF5A 0000 0000;C;\r
--- /dev/null
+# uni-line.txt - Unicode line break class\r
+0000 0008;CM\r
+0009 0009;BA\r
+000A 000A;LF\r
+000B 000B;CM\r
+000C 000C;BK\r
+000D 000D;CR\r
+000E 001F;CM\r
+0020 0020;SP\r
+0021 0021;EX\r
+0022 0022;QU\r
+0023 0023;AL\r
+0024 0024;PR\r
+0025 0025;PO\r
+0026 0026;AL\r
+0027 0027;QU\r
+0028 0028;OP\r
+0029 0029;CL\r
+002A 002A;AL\r
+002B 002B;PR\r
+002C 002C;IS\r
+002D 002D;HY\r
+002E 002E;IS\r
+002F 002F;SY\r
+0030 0039;NU\r
+003A 003B;IS\r
+003C 003E;AL\r
+003F 003F;EX\r
+0040 0040;AL\r
+0041 005A;AL\r
+005B 005B;OP\r
+005C 005C;PR\r
+005D 005D;CL\r
+005E 005E;AL\r
+005F 005F;AL\r
+0060 0060;AL\r
+0061 007A;AL\r
+007B 007B;OP\r
+007C 007C;BA\r
+007D 007D;CL\r
+007E 007E;AL\r
+007F 009F;CM\r
+00A0 00A0;GL\r
+00A1 00A1;AI\r
+00A2 00A2;PO\r
+00A3 00A5;PR\r
+00A6 00A6;AL\r
+00A7 00A7;AI\r
+00A8 00A8;AI\r
+00A9 00A9;AL\r
+00AA 00AA;AI\r
+00AB 00AB;QU\r
+00AC 00AC;AL\r
+00AD 00AD;BA\r
+00AE 00AE;AL\r
+00AF 00AF;AL\r
+00B0 00B0;PO\r
+00B1 00B1;PR\r
+00B2 00B3;AI\r
+00B4 00B4;BB\r
+00B5 00B5;AL\r
+00B6 00B6;AI\r
+00B7 00B7;AI\r
+00B8 00B8;AI\r
+00B9 00B9;AI\r
+00BA 00BA;AI\r
+00BB 00BB;QU\r
+00BC 00BE;AI\r
+00BF 00BF;AI\r
+00C0 00C5;AL\r
+00C6 00C6;AI\r
+00C7 00CF;AL\r
+00D0 00D0;AI\r
+00D1 00D6;AL\r
+00D7 00D7;AI\r
+00D8 00D8;AI\r
+00D9 00DD;AL\r
+00DE 00E1;AI\r
+00E2 00E5;AL\r
+00E6 00E6;AI\r
+00E7 00E7;AL\r
+00E8 00EA;AI\r
+00EB 00EB;AL\r
+00EC 00ED;AI\r
+00EE 00EF;AL\r
+00F0 00F0;AI\r
+00F1 00F1;AL\r
+00F2 00F3;AI\r
+00F4 00F6;AL\r
+00F7 00F7;AI\r
+00F8 00FA;AI\r
+00FB 00FB;AL\r
+00FC 00FC;AI\r
+00FD 00FD;AL\r
+00FE 00FE;AI\r
+00FF 0100;AL\r
+0101 0101;AI\r
+0102 0110;AL\r
+0111 0111;AI\r
+0112 0112;AL\r
+0113 0113;AI\r
+0114 011A;AL\r
+011B 011B;AI\r
+011C 0125;AL\r
+0126 0127;AI\r
+0128 012A;AL\r
+012B 012B;AI\r
+012C 0130;AL\r
+0131 0133;AI\r
+0134 0137;AL\r
+0138 0138;AI\r
+0139 013E;AL\r
+013F 0142;AI\r
+0143 0143;AL\r
+0144 0144;AI\r
+0145 0147;AL\r
+0148 014A;AI\r
+014B 014C;AL\r
+014D 014D;AI\r
+014E 0151;AL\r
+0152 0153;AI\r
+0154 0165;AL\r
+0166 0167;AI\r
+0168 016A;AL\r
+016B 016B;AI\r
+016C 01BA;AL\r
+01BB 01BB;AL\r
+01BC 01BF;AL\r
+01C0 01C3;AL\r
+01C4 01CD;AL\r
+01CE 01CE;AI\r
+01CF 01CF;AL\r
+01D0 01D0;AI\r
+01D1 01D1;AL\r
+01D2 01D2;AI\r
+01D3 01D3;AL\r
+01D4 01D4;AI\r
+01D5 01D5;AL\r
+01D6 01D6;AI\r
+01D7 01D7;AL\r
+01D8 01D8;AI\r
+01D9 01D9;AL\r
+01DA 01DA;AI\r
+01DB 01DB;AL\r
+01DC 01DC;AI\r
+01DD 021F;AL\r
+0222 0233;AL\r
+0250 0250;AL\r
+0251 0251;AI\r
+0252 0260;AL\r
+0261 0261;AI\r
+0262 02AD;AL\r
+02B0 02B8;AL\r
+02B9 02BA;AL\r
+02BB 02C1;AL\r
+02C2 02C6;AL\r
+02C7 02C7;AI\r
+02C8 02C8;BB\r
+02C9 02CB;AI\r
+02CC 02CC;BB\r
+02CD 02CD;AI\r
+02CE 02CF;AL\r
+02D0 02D0;AI\r
+02D1 02D1;AL\r
+02D2 02D7;AL\r
+02D8 02DB;AI\r
+02DC 02DC;AL\r
+02DD 02DD;AI\r
+02DE 02DF;AL\r
+02E0 02E4;AL\r
+02E5 02ED;AL\r
+02EE 02EE;AL\r
+0300 034E;CM\r
+0360 0362;CM\r
+0374 0375;AL\r
+037A 037A;AL\r
+037E 037E;AL\r
+0384 0385;AL\r
+0386 0386;AL\r
+0387 0387;AL\r
+0388 038A;AL\r
+038C 038C;AL\r
+038E 0390;AL\r
+0391 03A1;AI\r
+03A3 03A9;AI\r
+03AA 03B0;AL\r
+03B1 03C1;AI\r
+03C2 03C2;AL\r
+03C3 03C9;AI\r
+03CA 03CE;AL\r
+03D0 03D7;AL\r
+03DA 03F5;AL\r
+0400 0400;AL\r
+0401 0401;AI\r
+0402 040F;AL\r
+0410 044F;AI\r
+0450 0450;AL\r
+0451 0451;AI\r
+0452 0481;AL\r
+0482 0482;AL\r
+0483 0486;CM\r
+0488 0489;CM\r
+048C 04C4;AL\r
+04C7 04C8;AL\r
+04CB 04CC;AL\r
+04D0 04F5;AL\r
+04F8 04F9;AL\r
+0531 0556;AL\r
+0559 0559;AL\r
+055A 055F;AL\r
+0561 0587;AL\r
+0589 0589;IS\r
+058A 058A;BA\r
+0591 05A1;CM\r
+05A3 05B9;CM\r
+05BB 05BD;CM\r
+05BE 05BE;AL\r
+05BF 05BF;CM\r
+05C0 05C0;AL\r
+05C1 05C2;CM\r
+05C3 05C3;AL\r
+05C4 05C4;CM\r
+05D0 05EA;AL\r
+05F0 05F2;AL\r
+05F3 05F4;AL\r
+060C 060C;AL\r
+061B 061B;AL\r
+061F 061F;AL\r
+0621 063A;AL\r
+0640 0640;AL\r
+0641 064A;AL\r
+064B 0655;CM\r
+0660 0669;NU\r
+066A 066D;AL\r
+0670 0670;CM\r
+0671 06D3;AL\r
+06D4 06D4;AL\r
+06D5 06D5;AL\r
+06D6 06DC;CM\r
+06DD 06DE;CM\r
+06DF 06E4;CM\r
+06E5 06E6;AL\r
+06E7 06E8;CM\r
+06E9 06E9;AL\r
+06EA 06ED;CM\r
+06F0 06F9;NU\r
+06FA 06FC;AL\r
+06FD 06FE;AL\r
+0700 070D;AL\r
+070F 070F;CM\r
+0710 0710;AL\r
+0711 0711;CM\r
+0712 072C;AL\r
+0730 074A;CM\r
+0780 07A5;AL\r
+07A6 07B0;CM\r
+0901 0902;CM\r
+0903 0903;CM\r
+0905 0939;AL\r
+093C 093C;CM\r
+093D 093D;AL\r
+093E 0940;CM\r
+0941 0948;CM\r
+0949 094C;CM\r
+094D 094D;CM\r
+0950 0950;AL\r
+0951 0954;CM\r
+0958 0961;AL\r
+0962 0963;CM\r
+0964 0965;AL\r
+0966 096F;NU\r
+0970 0970;AL\r
+0981 0981;CM\r
+0982 0983;CM\r
+0985 098C;AL\r
+098F 0990;AL\r
+0993 09A8;AL\r
+09AA 09B0;AL\r
+09B2 09B2;AL\r
+09B6 09B9;AL\r
+09BC 09BC;CM\r
+09BE 09C0;CM\r
+09C1 09C4;CM\r
+09C7 09C8;CM\r
+09CB 09CC;CM\r
+09CD 09CD;CM\r
+09D7 09D7;CM\r
+09DC 09DD;AL\r
+09DF 09E1;AL\r
+09E2 09E3;CM\r
+09E6 09EF;NU\r
+09F0 09F1;AL\r
+09F2 09F3;PR\r
+09F4 09F9;AL\r
+09FA 09FA;AL\r
+0A02 0A02;CM\r
+0A05 0A0A;AL\r
+0A0F 0A10;AL\r
+0A13 0A28;AL\r
+0A2A 0A30;AL\r
+0A32 0A33;AL\r
+0A35 0A36;AL\r
+0A38 0A39;AL\r
+0A3C 0A3C;CM\r
+0A3E 0A40;CM\r
+0A41 0A42;CM\r
+0A47 0A48;CM\r
+0A4B 0A4D;CM\r
+0A59 0A5C;AL\r
+0A5E 0A5E;AL\r
+0A66 0A6F;NU\r
+0A70 0A71;CM\r
+0A72 0A74;AL\r
+0A81 0A82;CM\r
+0A83 0A83;CM\r
+0A85 0A8B;AL\r
+0A8D 0A8D;AL\r
+0A8F 0A91;AL\r
+0A93 0AA8;AL\r
+0AAA 0AB0;AL\r
+0AB2 0AB3;AL\r
+0AB5 0AB9;AL\r
+0ABC 0ABC;CM\r
+0ABD 0ABD;AL\r
+0ABE 0AC0;CM\r
+0AC1 0AC5;CM\r
+0AC7 0AC8;CM\r
+0AC9 0AC9;CM\r
+0ACB 0ACC;CM\r
+0ACD 0ACD;CM\r
+0AD0 0AD0;AL\r
+0AE0 0AE0;AL\r
+0AE6 0AEF;NU\r
+0B01 0B01;CM\r
+0B02 0B03;CM\r
+0B05 0B0C;AL\r
+0B0F 0B10;AL\r
+0B13 0B28;AL\r
+0B2A 0B30;AL\r
+0B32 0B33;AL\r
+0B36 0B39;AL\r
+0B3C 0B3C;CM\r
+0B3D 0B3D;AL\r
+0B3E 0B3E;CM\r
+0B3F 0B3F;CM\r
+0B40 0B40;CM\r
+0B41 0B43;CM\r
+0B47 0B48;CM\r
+0B4B 0B4C;CM\r
+0B4D 0B4D;CM\r
+0B56 0B56;CM\r
+0B57 0B57;CM\r
+0B5C 0B5D;AL\r
+0B5F 0B61;AL\r
+0B66 0B6F;NU\r
+0B70 0B70;AL\r
+0B82 0B82;CM\r
+0B83 0B83;CM\r
+0B85 0B8A;AL\r
+0B8E 0B90;AL\r
+0B92 0B95;AL\r
+0B99 0B9A;AL\r
+0B9C 0B9C;AL\r
+0B9E 0B9F;AL\r
+0BA3 0BA4;AL\r
+0BA8 0BAA;AL\r
+0BAE 0BB5;AL\r
+0BB7 0BB9;AL\r
+0BBE 0BBF;CM\r
+0BC0 0BC0;CM\r
+0BC1 0BC2;CM\r
+0BC6 0BC8;CM\r
+0BCA 0BCC;CM\r
+0BCD 0BCD;CM\r
+0BD7 0BD7;CM\r
+0BE7 0BEF;NU\r
+0BF0 0BF2;AL\r
+0C01 0C03;CM\r
+0C05 0C0C;AL\r
+0C0E 0C10;AL\r
+0C12 0C28;AL\r
+0C2A 0C33;AL\r
+0C35 0C39;AL\r
+0C3E 0C40;CM\r
+0C41 0C44;CM\r
+0C46 0C48;CM\r
+0C4A 0C4D;CM\r
+0C55 0C56;CM\r
+0C60 0C61;AL\r
+0C66 0C6F;NU\r
+0C82 0C83;CM\r
+0C85 0C8C;AL\r
+0C8E 0C90;AL\r
+0C92 0CA8;AL\r
+0CAA 0CB3;AL\r
+0CB5 0CB9;AL\r
+0CBE 0CBE;CM\r
+0CBF 0CBF;CM\r
+0CC0 0CC4;CM\r
+0CC6 0CC6;CM\r
+0CC7 0CC8;CM\r
+0CCA 0CCB;CM\r
+0CCC 0CCD;CM\r
+0CD5 0CD6;CM\r
+0CDE 0CDE;AL\r
+0CE0 0CE1;AL\r
+0CE6 0CEF;NU\r
+0D02 0D03;CM\r
+0D05 0D0C;AL\r
+0D0E 0D10;AL\r
+0D12 0D28;AL\r
+0D2A 0D39;AL\r
+0D3E 0D40;CM\r
+0D41 0D43;CM\r
+0D46 0D48;CM\r
+0D4A 0D4C;CM\r
+0D4D 0D4D;CM\r
+0D57 0D57;CM\r
+0D60 0D61;AL\r
+0D66 0D6F;NU\r
+0D82 0D83;CM\r
+0D85 0D96;AL\r
+0D9A 0DB1;AL\r
+0DB3 0DBB;AL\r
+0DBD 0DBD;AL\r
+0DC0 0DC6;AL\r
+0DCA 0DCA;CM\r
+0DCF 0DD1;CM\r
+0DD2 0DD4;CM\r
+0DD6 0DD6;CM\r
+0DD8 0DDF;CM\r
+0DF2 0DF3;CM\r
+0DF4 0DF4;AL\r
+0E01 0E30;SA\r
+0E31 0E31;CM\r
+0E32 0E33;SA\r
+0E34 0E3A;CM\r
+0E3F 0E3F;PR\r
+0E40 0E45;SA\r
+0E46 0E46;SA\r
+0E47 0E4E;CM\r
+0E4F 0E4F;AL\r
+0E50 0E59;NU\r
+0E5A 0E5B;NS\r
+0E81 0E82;SA\r
+0E84 0E84;SA\r
+0E87 0E88;SA\r
+0E8A 0E8A;SA\r
+0E8D 0E8D;SA\r
+0E94 0E97;SA\r
+0E99 0E9F;SA\r
+0EA1 0EA3;SA\r
+0EA5 0EA5;SA\r
+0EA7 0EA7;SA\r
+0EAA 0EAB;SA\r
+0EAD 0EB0;SA\r
+0EB1 0EB1;CM\r
+0EB2 0EB3;SA\r
+0EB4 0EB9;CM\r
+0EBB 0EBC;CM\r
+0EBD 0EBD;SA\r
+0EC0 0EC4;SA\r
+0EC6 0EC6;SA\r
+0EC8 0ECD;CM\r
+0ED0 0ED9;NU\r
+0EDC 0EDD;SA\r
+0F00 0F00;AL\r
+0F01 0F03;AL\r
+0F04 0F0A;AL\r
+0F0B 0F0B;BA\r
+0F0C 0F0C;GL\r
+0F0D 0F12;AL\r
+0F13 0F17;AL\r
+0F18 0F19;CM\r
+0F1A 0F1F;AL\r
+0F20 0F29;NU\r
+0F2A 0F33;AL\r
+0F34 0F34;AL\r
+0F35 0F35;CM\r
+0F36 0F36;AL\r
+0F37 0F37;CM\r
+0F38 0F38;AL\r
+0F39 0F39;CM\r
+0F3A 0F3A;OP\r
+0F3B 0F3B;CL\r
+0F3C 0F3C;OP\r
+0F3D 0F3D;CL\r
+0F3E 0F3F;CM\r
+0F40 0F47;AL\r
+0F49 0F6A;AL\r
+0F71 0F7E;CM\r
+0F7F 0F7F;CM\r
+0F80 0F84;CM\r
+0F85 0F85;AL\r
+0F86 0F87;CM\r
+0F88 0F8B;AL\r
+0F90 0F97;CM\r
+0F99 0FBC;CM\r
+0FBE 0FC5;AL\r
+0FC6 0FC6;CM\r
+0FC7 0FCC;AL\r
+0FCF 0FCF;AL\r
+1000 1021;SA\r
+1023 1027;SA\r
+1029 102A;SA\r
+102C 102C;CM\r
+102D 1030;CM\r
+1031 1031;CM\r
+1032 1032;CM\r
+1036 1037;CM\r
+1038 1038;CM\r
+1039 1039;CM\r
+1040 1049;NU\r
+104A 104F;AL\r
+1050 1055;SA\r
+1056 1057;CM\r
+1058 1059;CM\r
+10A0 10C5;AL\r
+10D0 10F6;AL\r
+10FB 10FB;AL\r
+1100 1159;ID\r
+115F 115F;ID\r
+1160 11A2;CM\r
+11A8 11F9;CM\r
+1200 1206;AL\r
+1208 1246;AL\r
+1248 1248;AL\r
+124A 124D;AL\r
+1250 1256;AL\r
+1258 1258;AL\r
+125A 125D;AL\r
+1260 1286;AL\r
+1288 1288;AL\r
+128A 128D;AL\r
+1290 12AE;AL\r
+12B0 12B0;AL\r
+12B2 12B5;AL\r
+12B8 12BE;AL\r
+12C0 12C0;AL\r
+12C2 12C5;AL\r
+12C8 12CE;AL\r
+12D0 12D6;AL\r
+12D8 12EE;AL\r
+12F0 130E;AL\r
+1310 1310;AL\r
+1312 1315;AL\r
+1318 131E;AL\r
+1320 1346;AL\r
+1348 135A;AL\r
+1361 1361;BA\r
+1362 1368;AL\r
+1369 1371;NU\r
+1372 137C;AL\r
+13A0 13F4;AL\r
+1401 166C;AL\r
+166D 166E;AL\r
+166F 1676;AL\r
+1680 1680;BA\r
+1681 169A;AL\r
+169B 169B;OP\r
+169C 169C;CL\r
+16A0 16EA;AL\r
+16EB 16ED;AL\r
+16EE 16F0;AL\r
+1780 17B3;SA\r
+17B4 17B6;CM\r
+17B7 17BD;CM\r
+17BE 17C5;CM\r
+17C6 17C6;CM\r
+17C7 17C8;CM\r
+17C9 17D3;CM\r
+17D4 17D4;NS\r
+17D5 17D5;BA\r
+17D6 17DA;NS\r
+17DB 17DB;PR\r
+17DC 17DC;AL\r
+17E0 17E9;NU\r
+1800 1805;AL\r
+1806 1806;BB\r
+1807 180A;AL\r
+180B 180E;CM\r
+1810 1819;NU\r
+1820 1842;AL\r
+1843 1843;AL\r
+1844 1877;AL\r
+1880 18A8;AL\r
+18A9 18A9;CM\r
+1E00 1E9B;AL\r
+1EA0 1EF9;AL\r
+1F00 1F15;AL\r
+1F18 1F1D;AL\r
+1F20 1F45;AL\r
+1F48 1F4D;AL\r
+1F50 1F57;AL\r
+1F59 1F59;AL\r
+1F5B 1F5B;AL\r
+1F5D 1F5D;AL\r
+1F5F 1F7D;AL\r
+1F80 1FB4;AL\r
+1FB6 1FBC;AL\r
+1FBD 1FBD;AL\r
+1FBE 1FBE;AL\r
+1FBF 1FC1;AL\r
+1FC2 1FC4;AL\r
+1FC6 1FCC;AL\r
+1FCD 1FCF;AL\r
+1FD0 1FD3;AL\r
+1FD6 1FDB;AL\r
+1FDD 1FDF;AL\r
+1FE0 1FEC;AL\r
+1FED 1FEF;AL\r
+1FF2 1FF4;AL\r
+1FF6 1FFC;AL\r
+1FFD 1FFE;AL\r
+2000 2006;BA\r
+2007 2007;GL\r
+2008 200A;BA\r
+200B 200B;ZW\r
+200C 200F;CM\r
+2010 2010;BA\r
+2011 2011;GL\r
+2012 2013;BA\r
+2014 2014;B2\r
+2015 2015;AI\r
+2016 2016;AI\r
+2017 2017;AL\r
+2018 2018;QU\r
+2019 2019;QU\r
+201A 201A;OP\r
+201B 201C;QU\r
+201D 201D;QU\r
+201E 201E;OP\r
+201F 201F;QU\r
+2020 2021;AI\r
+2022 2023;AL\r
+2024 2026;IN\r
+2027 2027;BA\r
+2028 2028;BK\r
+2029 2029;BK\r
+202A 202E;CM\r
+202F 202F;GL\r
+2030 2037;PO\r
+2038 2038;AL\r
+2039 2039;QU\r
+203A 203A;QU\r
+203B 203B;AI\r
+203C 203C;NS\r
+203D 203E;AL\r
+203F 2040;AL\r
+2041 2043;AL\r
+2044 2044;NS\r
+2045 2045;OP\r
+2046 2046;CL\r
+2048 204D;AL\r
+206A 206F;CM\r
+2070 2070;AL\r
+2074 2074;AI\r
+2075 2079;AL\r
+207A 207C;AL\r
+207D 207D;OP\r
+207E 207E;CL\r
+207F 207F;AI\r
+2080 2080;AL\r
+2081 2084;AI\r
+2085 2089;AL\r
+208A 208C;AL\r
+208D 208D;OP\r
+208E 208E;CL\r
+20A0 20A6;PR\r
+20A7 20A7;PO\r
+20A8 20AF;PR\r
+20D0 20DC;CM\r
+20DD 20E0;CM\r
+20E1 20E1;CM\r
+20E2 20E3;CM\r
+2100 2101;AL\r
+2102 2102;AL\r
+2103 2103;PO\r
+2104 2104;AL\r
+2105 2105;AI\r
+2106 2106;AL\r
+2107 2107;AL\r
+2108 2108;AL\r
+2109 2109;PO\r
+210A 2112;AL\r
+2113 2113;AI\r
+2114 2114;AL\r
+2115 2115;AL\r
+2116 2116;PR\r
+2117 2118;AL\r
+2119 211D;AL\r
+211E 2120;AL\r
+2121 2122;AI\r
+2123 2123;AL\r
+2124 2124;AL\r
+2125 2125;AL\r
+2126 2126;PO\r
+2127 2127;AL\r
+2128 2128;AL\r
+2129 2129;AL\r
+212A 212A;AL\r
+212B 212B;AI\r
+212C 212D;AL\r
+212E 212E;AL\r
+212F 2131;AL\r
+2132 2132;AL\r
+2133 2134;AL\r
+2135 2138;AL\r
+2139 2139;AL\r
+213A 213A;AL\r
+2153 2153;AL\r
+2154 2155;AI\r
+2156 215A;AL\r
+215B 215B;AI\r
+215C 215D;AL\r
+215E 215E;AI\r
+215F 215F;AL\r
+2160 216B;AI\r
+216C 216F;AL\r
+2170 2179;AI\r
+217A 2183;AL\r
+2190 2194;AI\r
+2195 2199;AI\r
+219A 219B;AL\r
+219C 219F;AL\r
+21A0 21A0;AL\r
+21A1 21A2;AL\r
+21A3 21A3;AL\r
+21A4 21A5;AL\r
+21A6 21A6;AL\r
+21A7 21AD;AL\r
+21AE 21AE;AL\r
+21AF 21CD;AL\r
+21CE 21CF;AL\r
+21D0 21D1;AL\r
+21D2 21D2;AI\r
+21D3 21D3;AL\r
+21D4 21D4;AI\r
+21D5 21F3;AL\r
+2200 2200;AI\r
+2201 2201;AL\r
+2202 2203;AI\r
+2204 2206;AL\r
+2207 2208;AI\r
+2209 220A;AL\r
+220B 220B;AI\r
+220C 220E;AL\r
+220F 220F;AI\r
+2210 2210;AL\r
+2211 2211;AI\r
+2212 2213;PR\r
+2214 2214;AL\r
+2215 2215;AI\r
+2216 2219;AL\r
+221A 221A;AI\r
+221B 221C;AL\r
+221D 2220;AI\r
+2221 2222;AL\r
+2223 2223;AI\r
+2224 2224;AL\r
+2225 2225;AI\r
+2226 2226;AL\r
+2227 222C;AI\r
+222D 222D;AL\r
+222E 222E;AI\r
+222F 2233;AL\r
+2234 2237;AI\r
+2238 223B;AL\r
+223C 223D;AI\r
+223E 2247;AL\r
+2248 2248;AI\r
+2249 224B;AL\r
+224C 224C;AI\r
+224D 2251;AL\r
+2252 2252;AI\r
+2253 225F;AL\r
+2260 2261;AI\r
+2262 2263;AL\r
+2264 2267;AI\r
+2268 2269;AL\r
+226A 226B;AI\r
+226C 226D;AL\r
+226E 226F;AI\r
+2270 2281;AL\r
+2282 2283;AI\r
+2284 2285;AL\r
+2286 2287;AI\r
+2288 2294;AL\r
+2295 2295;AI\r
+2296 2298;AL\r
+2299 2299;AI\r
+229A 22A4;AL\r
+22A5 22A5;AI\r
+22A6 22BE;AL\r
+22BF 22BF;AI\r
+22C0 22F1;AL\r
+2300 2307;AL\r
+2308 230B;AL\r
+230C 2311;AL\r
+2312 2312;AI\r
+2313 231F;AL\r
+2320 2321;AL\r
+2322 2328;AL\r
+2329 2329;OP\r
+232A 232A;CL\r
+232B 237B;AL\r
+237D 239A;AL\r
+2400 2426;AL\r
+2440 244A;AL\r
+2460 249B;AI\r
+249C 24BF;AI\r
+24C0 24CF;AL\r
+24D0 24E9;AI\r
+24EA 24EA;AL\r
+2500 254B;AI\r
+254C 254F;AL\r
+2550 2574;AI\r
+2575 257F;AL\r
+2580 258F;AI\r
+2590 2591;AL\r
+2592 2595;AI\r
+25A0 25A1;AI\r
+25A2 25A2;AL\r
+25A3 25A9;AI\r
+25AA 25B1;AL\r
+25B2 25B3;AI\r
+25B4 25B5;AL\r
+25B6 25B6;AI\r
+25B7 25B7;AI\r
+25B8 25BB;AL\r
+25BC 25BD;AI\r
+25BE 25BF;AL\r
+25C0 25C0;AI\r
+25C1 25C1;AI\r
+25C2 25C5;AL\r
+25C6 25C8;AI\r
+25C9 25CA;AL\r
+25CB 25CB;AI\r
+25CC 25CD;AL\r
+25CE 25D1;AI\r
+25D2 25E1;AL\r
+25E2 25E5;AI\r
+25E6 25EE;AL\r
+25EF 25EF;AI\r
+25F0 25F7;AL\r
+2600 2604;AL\r
+2605 2606;AI\r
+2607 2608;AL\r
+2609 2609;AI\r
+260A 260D;AL\r
+260E 260F;AI\r
+2610 2613;AL\r
+2619 261B;AL\r
+261C 261C;AI\r
+261D 261D;AL\r
+261E 261E;AI\r
+261F 263F;AL\r
+2640 2640;AI\r
+2641 2641;AL\r
+2642 2642;AI\r
+2643 265F;AL\r
+2660 2661;AI\r
+2662 2662;AL\r
+2663 2665;AI\r
+2666 2666;AL\r
+2667 266A;AI\r
+266B 266B;AL\r
+266C 266D;AI\r
+266E 266E;AL\r
+266F 266F;AI\r
+2670 2671;AL\r
+2701 2704;AL\r
+2706 2709;AL\r
+270C 2727;AL\r
+2729 274B;AL\r
+274D 274D;AL\r
+274F 2752;AL\r
+2756 2756;AL\r
+2758 275E;AL\r
+2761 2767;AL\r
+2776 2793;AL\r
+2794 2794;AL\r
+2798 27AF;AL\r
+27B1 27BE;AL\r
+2800 28FF;AL\r
+2E80 2E99;ID\r
+2E9B 2EF3;ID\r
+2F00 2FD5;ID\r
+2FF0 2FFB;ID\r
+3000 3000;ID\r
+3001 3002;CL\r
+3003 3003;ID\r
+3004 3004;ID\r
+3005 3005;NS\r
+3006 3006;ID\r
+3007 3007;ID\r
+3008 3008;OP\r
+3009 3009;CL\r
+300A 300A;OP\r
+300B 300B;CL\r
+300C 300C;OP\r
+300D 300D;CL\r
+300E 300E;OP\r
+300F 300F;CL\r
+3010 3010;OP\r
+3011 3011;CL\r
+3012 3013;ID\r
+3014 3014;OP\r
+3015 3015;CL\r
+3016 3016;OP\r
+3017 3017;CL\r
+3018 3018;OP\r
+3019 3019;CL\r
+301A 301A;OP\r
+301B 301B;CL\r
+301C 301C;NS\r
+301D 301D;OP\r
+301E 301F;CL\r
+3020 3020;ID\r
+3021 3029;ID\r
+302A 302F;CM\r
+3030 3030;ID\r
+3031 3035;ID\r
+3036 3037;ID\r
+3038 303A;ID\r
+303E 303F;ID\r
+3041 3041;NS\r
+3042 3042;ID\r
+3043 3043;NS\r
+3044 3044;ID\r
+3045 3045;NS\r
+3046 3046;ID\r
+3047 3047;NS\r
+3048 3048;ID\r
+3049 3049;NS\r
+304A 3062;ID\r
+3063 3063;NS\r
+3064 3082;ID\r
+3083 3083;NS\r
+3084 3084;ID\r
+3085 3085;NS\r
+3086 3086;ID\r
+3087 3087;NS\r
+3088 308D;ID\r
+308E 308E;NS\r
+308F 3094;ID\r
+3099 309A;CM\r
+309B 309C;NS\r
+309D 309E;NS\r
+30A1 30A1;NS\r
+30A2 30A2;ID\r
+30A3 30A3;NS\r
+30A4 30A4;ID\r
+30A5 30A5;NS\r
+30A6 30A6;ID\r
+30A7 30A7;NS\r
+30A8 30A8;ID\r
+30A9 30A9;NS\r
+30AA 30C2;ID\r
+30C3 30C3;NS\r
+30C4 30E2;ID\r
+30E3 30E3;NS\r
+30E4 30E4;ID\r
+30E5 30E5;NS\r
+30E6 30E6;ID\r
+30E7 30E7;NS\r
+30E8 30ED;ID\r
+30EE 30EE;NS\r
+30EF 30F4;ID\r
+30F5 30F6;NS\r
+30F7 30FA;ID\r
+30FB 30FB;NS\r
+30FC 30FC;ID\r
+30FD 30FD;NS\r
+30FE 30FE;ID\r
+3105 312C;ID\r
+3131 318E;ID\r
+3190 3191;ID\r
+3192 3195;ID\r
+3196 319F;ID\r
+31A0 31B7;ID\r
+3200 321C;ID\r
+3220 3229;ID\r
+322A 3243;ID\r
+3260 327B;ID\r
+327F 327F;ID\r
+3280 3289;ID\r
+328A 32B0;ID\r
+32C0 32CB;ID\r
+32D0 32FE;ID\r
+3300 3376;ID\r
+337B 33DD;ID\r
+33E0 33FE;ID\r
+3400 4DB5;ID\r
+4E00 9FA5;ID\r
+A000 A48C;ID\r
+A490 A4A1;ID\r
+A4A4 A4B3;ID\r
+A4B5 A4C0;ID\r
+A4C2 A4C4;ID\r
+A4C6 A4C6;ID\r
+AC00 D7A3;ID\r
+D800 DFFF;SG\r
+E000 F8FF;XX\r
+F900 FA2D;ID\r
+FB00 FB06;AL\r
+FB13 FB17;AL\r
+FB1D FB1D;AL\r
+FB1E FB1E;CM\r
+FB1F FB28;AL\r
+FB29 FB29;AL\r
+FB2A FB36;AL\r
+FB38 FB3C;AL\r
+FB3E FB3E;AL\r
+FB40 FB41;AL\r
+FB43 FB44;AL\r
+FB46 FBB1;AL\r
+FBD3 FD3D;AL\r
+FD3E FD3E;OP\r
+FD3F FD3F;CL\r
+FD50 FD8F;AL\r
+FD92 FDC7;AL\r
+FDF0 FDFB;AL\r
+FE20 FE23;CM\r
+FE30 FE30;ID\r
+FE31 FE32;ID\r
+FE33 FE34;ID\r
+FE35 FE35;OP\r
+FE36 FE36;CL\r
+FE37 FE37;OP\r
+FE38 FE38;CL\r
+FE39 FE39;OP\r
+FE3A FE3A;CL\r
+FE3B FE3B;OP\r
+FE3C FE3C;CL\r
+FE3D FE3D;OP\r
+FE3E FE3E;CL\r
+FE3F FE3F;OP\r
+FE40 FE40;CL\r
+FE41 FE41;OP\r
+FE42 FE42;CL\r
+FE43 FE43;OP\r
+FE44 FE44;CL\r
+FE49 FE4C;ID\r
+FE4D FE4F;ID\r
+FE50 FE50;CL\r
+FE51 FE51;ID\r
+FE52 FE52;CL\r
+FE54 FE55;NS\r
+FE56 FE57;EX\r
+FE58 FE58;ID\r
+FE59 FE59;OP\r
+FE5A FE5A;CL\r
+FE5B FE5B;OP\r
+FE5C FE5C;CL\r
+FE5D FE5D;OP\r
+FE5E FE5E;CL\r
+FE5F FE61;ID\r
+FE62 FE62;ID\r
+FE63 FE63;ID\r
+FE64 FE66;ID\r
+FE68 FE68;ID\r
+FE69 FE69;PR\r
+FE6A FE6A;PO\r
+FE6B FE6B;ID\r
+FE70 FE72;AL\r
+FE74 FE74;AL\r
+FE76 FEFC;AL\r
+FEFF FEFF;GL\r
+FF01 FF01;EX\r
+FF02 FF03;ID\r
+FF04 FF04;PR\r
+FF05 FF05;PO\r
+FF06 FF07;ID\r
+FF08 FF08;OP\r
+FF09 FF09;CL\r
+FF0A FF0A;ID\r
+FF0B FF0B;ID\r
+FF0C FF0C;CL\r
+FF0D FF0D;ID\r
+FF0E FF0E;CL\r
+FF0F FF0F;ID\r
+FF10 FF19;ID\r
+FF1A FF1B;NS\r
+FF1C FF1E;ID\r
+FF1F FF1F;EX\r
+FF20 FF20;ID\r
+FF21 FF3A;ID\r
+FF3B FF3B;OP\r
+FF3C FF3C;ID\r
+FF3D FF3D;CL\r
+FF3E FF3E;ID\r
+FF3F FF3F;ID\r
+FF40 FF40;ID\r
+FF41 FF5A;ID\r
+FF5B FF5B;OP\r
+FF5C FF5C;ID\r
+FF5D FF5D;CL\r
+FF5E FF5E;ID\r
+FF61 FF61;CL\r
+FF62 FF62;OP\r
+FF63 FF63;CL\r
+FF64 FF64;CL\r
+FF65 FF65;NS\r
+FF66 FF66;AL\r
+FF67 FF6F;NS\r
+FF70 FF70;NS\r
+FF71 FF9D;AL\r
+FF9E FF9F;NS\r
+FFA0 FFBE;AL\r
+FFC2 FFC7;AL\r
+FFCA FFCF;AL\r
+FFD2 FFD7;AL\r
+FFDA FFDC;AL\r
+FFE0 FFE0;PO\r
+FFE1 FFE1;PR\r
+FFE2 FFE2;ID\r
+FFE3 FFE3;ID\r
+FFE4 FFE4;ID\r
+FFE5 FFE6;PR\r
+FFE8 FFE8;AL\r
+FFE9 FFEC;AL\r
+FFED FFEE;AL\r
+FFF9 FFFB;CM\r
+FFFC FFFC;CB\r
+FFFD FFFD;AI\r
--- /dev/null
+# uni-nfc.txt - Unicode composition mapping\r
+003C 0338 226E;\r
+003D 0338 2260;\r
+003E 0338 226F;\r
+0041 0300 00C0;\r
+0041 0301 00C1;\r
+0041 0302 00C2;\r
+0041 0303 00C3;\r
+0041 0304 0100;\r
+0041 0306 0102;\r
+0041 0307 0226;\r
+0041 0308 00C4;\r
+0041 0309 1EA2;\r
+0041 030A 00C5;\r
+0041 030C 01CD;\r
+0041 030F 0200;\r
+0041 0311 0202;\r
+0041 0323 1EA0;\r
+0041 0325 1E00;\r
+0041 0328 0104;\r
+0042 0307 1E02;\r
+0042 0323 1E04;\r
+0042 0331 1E06;\r
+0043 0301 0106;\r
+0043 0302 0108;\r
+0043 0307 010A;\r
+0043 030C 010C;\r
+0043 0327 00C7;\r
+0044 0307 1E0A;\r
+0044 030C 010E;\r
+0044 0323 1E0C;\r
+0044 0327 1E10;\r
+0044 032D 1E12;\r
+0044 0331 1E0E;\r
+0045 0300 00C8;\r
+0045 0301 00C9;\r
+0045 0302 00CA;\r
+0045 0303 1EBC;\r
+0045 0304 0112;\r
+0045 0306 0114;\r
+0045 0307 0116;\r
+0045 0308 00CB;\r
+0045 0309 1EBA;\r
+0045 030C 011A;\r
+0045 030F 0204;\r
+0045 0311 0206;\r
+0045 0323 1EB8;\r
+0045 0327 0228;\r
+0045 0328 0118;\r
+0045 032D 1E18;\r
+0045 0330 1E1A;\r
+0046 0307 1E1E;\r
+0047 0301 01F4;\r
+0047 0302 011C;\r
+0047 0304 1E20;\r
+0047 0306 011E;\r
+0047 0307 0120;\r
+0047 030C 01E6;\r
+0047 0327 0122;\r
+0048 0302 0124;\r
+0048 0307 1E22;\r
+0048 0308 1E26;\r
+0048 030C 021E;\r
+0048 0323 1E24;\r
+0048 0327 1E28;\r
+0048 032E 1E2A;\r
+0049 0300 00CC;\r
+0049 0301 00CD;\r
+0049 0302 00CE;\r
+0049 0303 0128;\r
+0049 0304 012A;\r
+0049 0306 012C;\r
+0049 0307 0130;\r
+0049 0308 00CF;\r
+0049 0309 1EC8;\r
+0049 030C 01CF;\r
+0049 030F 0208;\r
+0049 0311 020A;\r
+0049 0323 1ECA;\r
+0049 0328 012E;\r
+0049 0330 1E2C;\r
+004A 0302 0134;\r
+004B 0301 1E30;\r
+004B 030C 01E8;\r
+004B 0323 1E32;\r
+004B 0327 0136;\r
+004B 0331 1E34;\r
+004C 0301 0139;\r
+004C 030C 013D;\r
+004C 0323 1E36;\r
+004C 0327 013B;\r
+004C 032D 1E3C;\r
+004C 0331 1E3A;\r
+004D 0301 1E3E;\r
+004D 0307 1E40;\r
+004D 0323 1E42;\r
+004E 0300 01F8;\r
+004E 0301 0143;\r
+004E 0303 00D1;\r
+004E 0307 1E44;\r
+004E 030C 0147;\r
+004E 0323 1E46;\r
+004E 0327 0145;\r
+004E 032D 1E4A;\r
+004E 0331 1E48;\r
+004F 0300 00D2;\r
+004F 0301 00D3;\r
+004F 0302 00D4;\r
+004F 0303 00D5;\r
+004F 0304 014C;\r
+004F 0306 014E;\r
+004F 0307 022E;\r
+004F 0308 00D6;\r
+004F 0309 1ECE;\r
+004F 030B 0150;\r
+004F 030C 01D1;\r
+004F 030F 020C;\r
+004F 0311 020E;\r
+004F 031B 01A0;\r
+004F 0323 1ECC;\r
+004F 0328 01EA;\r
+0050 0301 1E54;\r
+0050 0307 1E56;\r
+0052 0301 0154;\r
+0052 0307 1E58;\r
+0052 030C 0158;\r
+0052 030F 0210;\r
+0052 0311 0212;\r
+0052 0323 1E5A;\r
+0052 0327 0156;\r
+0052 0331 1E5E;\r
+0053 0301 015A;\r
+0053 0302 015C;\r
+0053 0307 1E60;\r
+0053 030C 0160;\r
+0053 0323 1E62;\r
+0053 0326 0218;\r
+0053 0327 015E;\r
+0054 0307 1E6A;\r
+0054 030C 0164;\r
+0054 0323 1E6C;\r
+0054 0326 021A;\r
+0054 0327 0162;\r
+0054 032D 1E70;\r
+0054 0331 1E6E;\r
+0055 0300 00D9;\r
+0055 0301 00DA;\r
+0055 0302 00DB;\r
+0055 0303 0168;\r
+0055 0304 016A;\r
+0055 0306 016C;\r
+0055 0308 00DC;\r
+0055 0309 1EE6;\r
+0055 030A 016E;\r
+0055 030B 0170;\r
+0055 030C 01D3;\r
+0055 030F 0214;\r
+0055 0311 0216;\r
+0055 031B 01AF;\r
+0055 0323 1EE4;\r
+0055 0324 1E72;\r
+0055 0328 0172;\r
+0055 032D 1E76;\r
+0055 0330 1E74;\r
+0056 0303 1E7C;\r
+0056 0323 1E7E;\r
+0057 0300 1E80;\r
+0057 0301 1E82;\r
+0057 0302 0174;\r
+0057 0307 1E86;\r
+0057 0308 1E84;\r
+0057 0323 1E88;\r
+0058 0307 1E8A;\r
+0058 0308 1E8C;\r
+0059 0300 1EF2;\r
+0059 0301 00DD;\r
+0059 0302 0176;\r
+0059 0303 1EF8;\r
+0059 0304 0232;\r
+0059 0307 1E8E;\r
+0059 0308 0178;\r
+0059 0309 1EF6;\r
+0059 0323 1EF4;\r
+005A 0301 0179;\r
+005A 0302 1E90;\r
+005A 0307 017B;\r
+005A 030C 017D;\r
+005A 0323 1E92;\r
+005A 0331 1E94;\r
+0061 0300 00E0;\r
+0061 0301 00E1;\r
+0061 0302 00E2;\r
+0061 0303 00E3;\r
+0061 0304 0101;\r
+0061 0306 0103;\r
+0061 0307 0227;\r
+0061 0308 00E4;\r
+0061 0309 1EA3;\r
+0061 030A 00E5;\r
+0061 030C 01CE;\r
+0061 030F 0201;\r
+0061 0311 0203;\r
+0061 0323 1EA1;\r
+0061 0325 1E01;\r
+0061 0328 0105;\r
+0062 0307 1E03;\r
+0062 0323 1E05;\r
+0062 0331 1E07;\r
+0063 0301 0107;\r
+0063 0302 0109;\r
+0063 0307 010B;\r
+0063 030C 010D;\r
+0063 0327 00E7;\r
+0064 0307 1E0B;\r
+0064 030C 010F;\r
+0064 0323 1E0D;\r
+0064 0327 1E11;\r
+0064 032D 1E13;\r
+0064 0331 1E0F;\r
+0065 0300 00E8;\r
+0065 0301 00E9;\r
+0065 0302 00EA;\r
+0065 0303 1EBD;\r
+0065 0304 0113;\r
+0065 0306 0115;\r
+0065 0307 0117;\r
+0065 0308 00EB;\r
+0065 0309 1EBB;\r
+0065 030C 011B;\r
+0065 030F 0205;\r
+0065 0311 0207;\r
+0065 0323 1EB9;\r
+0065 0327 0229;\r
+0065 0328 0119;\r
+0065 032D 1E19;\r
+0065 0330 1E1B;\r
+0066 0307 1E1F;\r
+0067 0301 01F5;\r
+0067 0302 011D;\r
+0067 0304 1E21;\r
+0067 0306 011F;\r
+0067 0307 0121;\r
+0067 030C 01E7;\r
+0067 0327 0123;\r
+0068 0302 0125;\r
+0068 0307 1E23;\r
+0068 0308 1E27;\r
+0068 030C 021F;\r
+0068 0323 1E25;\r
+0068 0327 1E29;\r
+0068 032E 1E2B;\r
+0068 0331 1E96;\r
+0069 0300 00EC;\r
+0069 0301 00ED;\r
+0069 0302 00EE;\r
+0069 0303 0129;\r
+0069 0304 012B;\r
+0069 0306 012D;\r
+0069 0308 00EF;\r
+0069 0309 1EC9;\r
+0069 030C 01D0;\r
+0069 030F 0209;\r
+0069 0311 020B;\r
+0069 0323 1ECB;\r
+0069 0328 012F;\r
+0069 0330 1E2D;\r
+006A 0302 0135;\r
+006A 030C 01F0;\r
+006B 0301 1E31;\r
+006B 030C 01E9;\r
+006B 0323 1E33;\r
+006B 0327 0137;\r
+006B 0331 1E35;\r
+006C 0301 013A;\r
+006C 030C 013E;\r
+006C 0323 1E37;\r
+006C 0327 013C;\r
+006C 032D 1E3D;\r
+006C 0331 1E3B;\r
+006D 0301 1E3F;\r
+006D 0307 1E41;\r
+006D 0323 1E43;\r
+006E 0300 01F9;\r
+006E 0301 0144;\r
+006E 0303 00F1;\r
+006E 0307 1E45;\r
+006E 030C 0148;\r
+006E 0323 1E47;\r
+006E 0327 0146;\r
+006E 032D 1E4B;\r
+006E 0331 1E49;\r
+006F 0300 00F2;\r
+006F 0301 00F3;\r
+006F 0302 00F4;\r
+006F 0303 00F5;\r
+006F 0304 014D;\r
+006F 0306 014F;\r
+006F 0307 022F;\r
+006F 0308 00F6;\r
+006F 0309 1ECF;\r
+006F 030B 0151;\r
+006F 030C 01D2;\r
+006F 030F 020D;\r
+006F 0311 020F;\r
+006F 031B 01A1;\r
+006F 0323 1ECD;\r
+006F 0328 01EB;\r
+0070 0301 1E55;\r
+0070 0307 1E57;\r
+0072 0301 0155;\r
+0072 0307 1E59;\r
+0072 030C 0159;\r
+0072 030F 0211;\r
+0072 0311 0213;\r
+0072 0323 1E5B;\r
+0072 0327 0157;\r
+0072 0331 1E5F;\r
+0073 0301 015B;\r
+0073 0302 015D;\r
+0073 0307 1E61;\r
+0073 030C 0161;\r
+0073 0323 1E63;\r
+0073 0326 0219;\r
+0073 0327 015F;\r
+0074 0307 1E6B;\r
+0074 0308 1E97;\r
+0074 030C 0165;\r
+0074 0323 1E6D;\r
+0074 0326 021B;\r
+0074 0327 0163;\r
+0074 032D 1E71;\r
+0074 0331 1E6F;\r
+0075 0300 00F9;\r
+0075 0301 00FA;\r
+0075 0302 00FB;\r
+0075 0303 0169;\r
+0075 0304 016B;\r
+0075 0306 016D;\r
+0075 0308 00FC;\r
+0075 0309 1EE7;\r
+0075 030A 016F;\r
+0075 030B 0171;\r
+0075 030C 01D4;\r
+0075 030F 0215;\r
+0075 0311 0217;\r
+0075 031B 01B0;\r
+0075 0323 1EE5;\r
+0075 0324 1E73;\r
+0075 0328 0173;\r
+0075 032D 1E77;\r
+0075 0330 1E75;\r
+0076 0303 1E7D;\r
+0076 0323 1E7F;\r
+0077 0300 1E81;\r
+0077 0301 1E83;\r
+0077 0302 0175;\r
+0077 0307 1E87;\r
+0077 0308 1E85;\r
+0077 030A 1E98;\r
+0077 0323 1E89;\r
+0078 0307 1E8B;\r
+0078 0308 1E8D;\r
+0079 0300 1EF3;\r
+0079 0301 00FD;\r
+0079 0302 0177;\r
+0079 0303 1EF9;\r
+0079 0304 0233;\r
+0079 0307 1E8F;\r
+0079 0308 00FF;\r
+0079 0309 1EF7;\r
+0079 030A 1E99;\r
+0079 0323 1EF5;\r
+007A 0301 017A;\r
+007A 0302 1E91;\r
+007A 0307 017C;\r
+007A 030C 017E;\r
+007A 0323 1E93;\r
+007A 0331 1E95;\r
+00A8 0300 1FED;\r
+00A8 0301 0385;\r
+00A8 0342 1FC1;\r
+00C2 0300 1EA6;\r
+00C2 0301 1EA4;\r
+00C2 0303 1EAA;\r
+00C2 0309 1EA8;\r
+00C4 0304 01DE;\r
+00C5 0301 01FA;\r
+00C6 0301 01FC;\r
+00C6 0304 01E2;\r
+00C7 0301 1E08;\r
+00CA 0300 1EC0;\r
+00CA 0301 1EBE;\r
+00CA 0303 1EC4;\r
+00CA 0309 1EC2;\r
+00CF 0301 1E2E;\r
+00D4 0300 1ED2;\r
+00D4 0301 1ED0;\r
+00D4 0303 1ED6;\r
+00D4 0309 1ED4;\r
+00D5 0301 1E4C;\r
+00D5 0304 022C;\r
+00D5 0308 1E4E;\r
+00D6 0304 022A;\r
+00D8 0301 01FE;\r
+00DC 0300 01DB;\r
+00DC 0301 01D7;\r
+00DC 0304 01D5;\r
+00DC 030C 01D9;\r
+00E2 0300 1EA7;\r
+00E2 0301 1EA5;\r
+00E2 0303 1EAB;\r
+00E2 0309 1EA9;\r
+00E4 0304 01DF;\r
+00E5 0301 01FB;\r
+00E6 0301 01FD;\r
+00E6 0304 01E3;\r
+00E7 0301 1E09;\r
+00EA 0300 1EC1;\r
+00EA 0301 1EBF;\r
+00EA 0303 1EC5;\r
+00EA 0309 1EC3;\r
+00EF 0301 1E2F;\r
+00F4 0300 1ED3;\r
+00F4 0301 1ED1;\r
+00F4 0303 1ED7;\r
+00F4 0309 1ED5;\r
+00F5 0301 1E4D;\r
+00F5 0304 022D;\r
+00F5 0308 1E4F;\r
+00F6 0304 022B;\r
+00F8 0301 01FF;\r
+00FC 0300 01DC;\r
+00FC 0301 01D8;\r
+00FC 0304 01D6;\r
+00FC 030C 01DA;\r
+0102 0300 1EB0;\r
+0102 0301 1EAE;\r
+0102 0303 1EB4;\r
+0102 0309 1EB2;\r
+0103 0300 1EB1;\r
+0103 0301 1EAF;\r
+0103 0303 1EB5;\r
+0103 0309 1EB3;\r
+0112 0300 1E14;\r
+0112 0301 1E16;\r
+0113 0300 1E15;\r
+0113 0301 1E17;\r
+014C 0300 1E50;\r
+014C 0301 1E52;\r
+014D 0300 1E51;\r
+014D 0301 1E53;\r
+015A 0307 1E64;\r
+015B 0307 1E65;\r
+0160 0307 1E66;\r
+0161 0307 1E67;\r
+0168 0301 1E78;\r
+0169 0301 1E79;\r
+016A 0308 1E7A;\r
+016B 0308 1E7B;\r
+017F 0307 1E9B;\r
+01A0 0300 1EDC;\r
+01A0 0301 1EDA;\r
+01A0 0303 1EE0;\r
+01A0 0309 1EDE;\r
+01A0 0323 1EE2;\r
+01A1 0300 1EDD;\r
+01A1 0301 1EDB;\r
+01A1 0303 1EE1;\r
+01A1 0309 1EDF;\r
+01A1 0323 1EE3;\r
+01AF 0300 1EEA;\r
+01AF 0301 1EE8;\r
+01AF 0303 1EEE;\r
+01AF 0309 1EEC;\r
+01AF 0323 1EF0;\r
+01B0 0300 1EEB;\r
+01B0 0301 1EE9;\r
+01B0 0303 1EEF;\r
+01B0 0309 1EED;\r
+01B0 0323 1EF1;\r
+01B7 030C 01EE;\r
+01EA 0304 01EC;\r
+01EB 0304 01ED;\r
+0226 0304 01E0;\r
+0227 0304 01E1;\r
+0228 0306 1E1C;\r
+0229 0306 1E1D;\r
+022E 0304 0230;\r
+022F 0304 0231;\r
+0292 030C 01EF;\r
+0308 0301 0344;\r
+0391 0300 1FBA;\r
+0391 0301 0386;\r
+0391 0304 1FB9;\r
+0391 0306 1FB8;\r
+0391 0313 1F08;\r
+0391 0314 1F09;\r
+0391 0345 1FBC;\r
+0395 0300 1FC8;\r
+0395 0301 0388;\r
+0395 0313 1F18;\r
+0395 0314 1F19;\r
+0397 0300 1FCA;\r
+0397 0301 0389;\r
+0397 0313 1F28;\r
+0397 0314 1F29;\r
+0397 0345 1FCC;\r
+0399 0300 1FDA;\r
+0399 0301 038A;\r
+0399 0304 1FD9;\r
+0399 0306 1FD8;\r
+0399 0308 03AA;\r
+0399 0313 1F38;\r
+0399 0314 1F39;\r
+039F 0300 1FF8;\r
+039F 0301 038C;\r
+039F 0313 1F48;\r
+039F 0314 1F49;\r
+03A1 0314 1FEC;\r
+03A5 0300 1FEA;\r
+03A5 0301 038E;\r
+03A5 0304 1FE9;\r
+03A5 0306 1FE8;\r
+03A5 0308 03AB;\r
+03A5 0314 1F59;\r
+03A9 0300 1FFA;\r
+03A9 0301 038F;\r
+03A9 0313 1F68;\r
+03A9 0314 1F69;\r
+03A9 0345 1FFC;\r
+03AC 0345 1FB4;\r
+03AE 0345 1FC4;\r
+03B1 0300 1F70;\r
+03B1 0301 03AC;\r
+03B1 0304 1FB1;\r
+03B1 0306 1FB0;\r
+03B1 0313 1F00;\r
+03B1 0314 1F01;\r
+03B1 0342 1FB6;\r
+03B1 0345 1FB3;\r
+03B5 0300 1F72;\r
+03B5 0301 03AD;\r
+03B5 0313 1F10;\r
+03B5 0314 1F11;\r
+03B7 0300 1F74;\r
+03B7 0301 03AE;\r
+03B7 0313 1F20;\r
+03B7 0314 1F21;\r
+03B7 0342 1FC6;\r
+03B7 0345 1FC3;\r
+03B9 0300 1F76;\r
+03B9 0301 03AF;\r
+03B9 0304 1FD1;\r
+03B9 0306 1FD0;\r
+03B9 0308 03CA;\r
+03B9 0313 1F30;\r
+03B9 0314 1F31;\r
+03B9 0342 1FD6;\r
+03BF 0300 1F78;\r
+03BF 0301 03CC;\r
+03BF 0313 1F40;\r
+03BF 0314 1F41;\r
+03C1 0313 1FE4;\r
+03C1 0314 1FE5;\r
+03C5 0300 1F7A;\r
+03C5 0301 03CD;\r
+03C5 0304 1FE1;\r
+03C5 0306 1FE0;\r
+03C5 0308 03CB;\r
+03C5 0313 1F50;\r
+03C5 0314 1F51;\r
+03C5 0342 1FE6;\r
+03C9 0300 1F7C;\r
+03C9 0301 03CE;\r
+03C9 0313 1F60;\r
+03C9 0314 1F61;\r
+03C9 0342 1FF6;\r
+03C9 0345 1FF3;\r
+03CA 0300 1FD2;\r
+03CA 0301 0390;\r
+03CA 0342 1FD7;\r
+03CB 0300 1FE2;\r
+03CB 0301 03B0;\r
+03CB 0342 1FE7;\r
+03CE 0345 1FF4;\r
+03D2 0301 03D3;\r
+03D2 0308 03D4;\r
+0406 0308 0407;\r
+0410 0306 04D0;\r
+0410 0308 04D2;\r
+0413 0301 0403;\r
+0415 0300 0400;\r
+0415 0306 04D6;\r
+0415 0308 0401;\r
+0416 0306 04C1;\r
+0416 0308 04DC;\r
+0417 0308 04DE;\r
+0418 0300 040D;\r
+0418 0304 04E2;\r
+0418 0306 0419;\r
+0418 0308 04E4;\r
+041A 0301 040C;\r
+041E 0308 04E6;\r
+0423 0304 04EE;\r
+0423 0306 040E;\r
+0423 0308 04F0;\r
+0423 030B 04F2;\r
+0427 0308 04F4;\r
+042B 0308 04F8;\r
+042D 0308 04EC;\r
+0430 0306 04D1;\r
+0430 0308 04D3;\r
+0433 0301 0453;\r
+0435 0300 0450;\r
+0435 0306 04D7;\r
+0435 0308 0451;\r
+0436 0306 04C2;\r
+0436 0308 04DD;\r
+0437 0308 04DF;\r
+0438 0300 045D;\r
+0438 0304 04E3;\r
+0438 0306 0439;\r
+0438 0308 04E5;\r
+043A 0301 045C;\r
+043E 0308 04E7;\r
+0443 0304 04EF;\r
+0443 0306 045E;\r
+0443 0308 04F1;\r
+0443 030B 04F3;\r
+0447 0308 04F5;\r
+044B 0308 04F9;\r
+044D 0308 04ED;\r
+0456 0308 0457;\r
+0474 030F 0476;\r
+0475 030F 0477;\r
+04D8 0308 04DA;\r
+04D9 0308 04DB;\r
+04E8 0308 04EA;\r
+04E9 0308 04EB;\r
+05D0 05B7 FB2E;\r
+05D0 05B8 FB2F;\r
+05D0 05BC FB30;\r
+05D1 05BC FB31;\r
+05D1 05BF FB4C;\r
+05D2 05BC FB32;\r
+05D3 05BC FB33;\r
+05D4 05BC FB34;\r
+05D5 05B9 FB4B;\r
+05D5 05BC FB35;\r
+05D6 05BC FB36;\r
+05D8 05BC FB38;\r
+05D9 05B4 FB1D;\r
+05D9 05BC FB39;\r
+05DA 05BC FB3A;\r
+05DB 05BC FB3B;\r
+05DB 05BF FB4D;\r
+05DC 05BC FB3C;\r
+05DE 05BC FB3E;\r
+05E0 05BC FB40;\r
+05E1 05BC FB41;\r
+05E3 05BC FB43;\r
+05E4 05BC FB44;\r
+05E4 05BF FB4E;\r
+05E6 05BC FB46;\r
+05E7 05BC FB47;\r
+05E8 05BC FB48;\r
+05E9 05BC FB49;\r
+05E9 05C1 FB2A;\r
+05E9 05C2 FB2B;\r
+05EA 05BC FB4A;\r
+05F2 05B7 FB1F;\r
+0627 0653 0622;\r
+0627 0654 0623;\r
+0627 0655 0625;\r
+0648 0654 0624;\r
+064A 0654 0626;\r
+06C1 0654 06C2;\r
+06D2 0654 06D3;\r
+06D5 0654 06C0;\r
+0915 093C 0958;\r
+0916 093C 0959;\r
+0917 093C 095A;\r
+091C 093C 095B;\r
+0921 093C 095C;\r
+0922 093C 095D;\r
+0928 093C 0929;\r
+092B 093C 095E;\r
+092F 093C 095F;\r
+0930 093C 0931;\r
+0933 093C 0934;\r
+09A1 09BC 09DC;\r
+09A2 09BC 09DD;\r
+09AF 09BC 09DF;\r
+09C7 09BE 09CB;\r
+09C7 09D7 09CC;\r
+0A16 0A3C 0A59;\r
+0A17 0A3C 0A5A;\r
+0A1C 0A3C 0A5B;\r
+0A2B 0A3C 0A5E;\r
+0A32 0A3C 0A33;\r
+0A38 0A3C 0A36;\r
+0B21 0B3C 0B5C;\r
+0B22 0B3C 0B5D;\r
+0B47 0B3E 0B4B;\r
+0B47 0B56 0B48;\r
+0B47 0B57 0B4C;\r
+0B92 0BD7 0B94;\r
+0BC6 0BBE 0BCA;\r
+0BC6 0BD7 0BCC;\r
+0BC7 0BBE 0BCB;\r
+0C46 0C56 0C48;\r
+0CBF 0CD5 0CC0;\r
+0CC6 0CC2 0CCA;\r
+0CC6 0CD5 0CC7;\r
+0CC6 0CD6 0CC8;\r
+0CCA 0CD5 0CCB;\r
+0D46 0D3E 0D4A;\r
+0D46 0D57 0D4C;\r
+0D47 0D3E 0D4B;\r
+0DD9 0DCA 0DDA;\r
+0DD9 0DCF 0DDC;\r
+0DD9 0DDF 0DDE;\r
+0DDC 0DCA 0DDD;\r
+0F40 0FB5 0F69;\r
+0F42 0FB7 0F43;\r
+0F4C 0FB7 0F4D;\r
+0F51 0FB7 0F52;\r
+0F56 0FB7 0F57;\r
+0F5B 0FB7 0F5C;\r
+0F71 0F72 0F73;\r
+0F71 0F74 0F75;\r
+0F71 0F80 0F81;\r
+0F90 0FB5 0FB9;\r
+0F92 0FB7 0F93;\r
+0F9C 0FB7 0F9D;\r
+0FA1 0FB7 0FA2;\r
+0FA6 0FB7 0FA7;\r
+0FAB 0FB7 0FAC;\r
+0FB2 0F80 0F76;\r
+0FB3 0F80 0F78;\r
+1025 102E 1026;\r
+1E36 0304 1E38;\r
+1E37 0304 1E39;\r
+1E5A 0304 1E5C;\r
+1E5B 0304 1E5D;\r
+1E62 0307 1E68;\r
+1E63 0307 1E69;\r
+1EA0 0302 1EAC;\r
+1EA0 0306 1EB6;\r
+1EA1 0302 1EAD;\r
+1EA1 0306 1EB7;\r
+1EB8 0302 1EC6;\r
+1EB9 0302 1EC7;\r
+1ECC 0302 1ED8;\r
+1ECD 0302 1ED9;\r
+1F00 0300 1F02;\r
+1F00 0301 1F04;\r
+1F00 0342 1F06;\r
+1F00 0345 1F80;\r
+1F01 0300 1F03;\r
+1F01 0301 1F05;\r
+1F01 0342 1F07;\r
+1F01 0345 1F81;\r
+1F02 0345 1F82;\r
+1F03 0345 1F83;\r
+1F04 0345 1F84;\r
+1F05 0345 1F85;\r
+1F06 0345 1F86;\r
+1F07 0345 1F87;\r
+1F08 0300 1F0A;\r
+1F08 0301 1F0C;\r
+1F08 0342 1F0E;\r
+1F08 0345 1F88;\r
+1F09 0300 1F0B;\r
+1F09 0301 1F0D;\r
+1F09 0342 1F0F;\r
+1F09 0345 1F89;\r
+1F0A 0345 1F8A;\r
+1F0B 0345 1F8B;\r
+1F0C 0345 1F8C;\r
+1F0D 0345 1F8D;\r
+1F0E 0345 1F8E;\r
+1F0F 0345 1F8F;\r
+1F10 0300 1F12;\r
+1F10 0301 1F14;\r
+1F11 0300 1F13;\r
+1F11 0301 1F15;\r
+1F18 0300 1F1A;\r
+1F18 0301 1F1C;\r
+1F19 0300 1F1B;\r
+1F19 0301 1F1D;\r
+1F20 0300 1F22;\r
+1F20 0301 1F24;\r
+1F20 0342 1F26;\r
+1F20 0345 1F90;\r
+1F21 0300 1F23;\r
+1F21 0301 1F25;\r
+1F21 0342 1F27;\r
+1F21 0345 1F91;\r
+1F22 0345 1F92;\r
+1F23 0345 1F93;\r
+1F24 0345 1F94;\r
+1F25 0345 1F95;\r
+1F26 0345 1F96;\r
+1F27 0345 1F97;\r
+1F28 0300 1F2A;\r
+1F28 0301 1F2C;\r
+1F28 0342 1F2E;\r
+1F28 0345 1F98;\r
+1F29 0300 1F2B;\r
+1F29 0301 1F2D;\r
+1F29 0342 1F2F;\r
+1F29 0345 1F99;\r
+1F2A 0345 1F9A;\r
+1F2B 0345 1F9B;\r
+1F2C 0345 1F9C;\r
+1F2D 0345 1F9D;\r
+1F2E 0345 1F9E;\r
+1F2F 0345 1F9F;\r
+1F30 0300 1F32;\r
+1F30 0301 1F34;\r
+1F30 0342 1F36;\r
+1F31 0300 1F33;\r
+1F31 0301 1F35;\r
+1F31 0342 1F37;\r
+1F38 0300 1F3A;\r
+1F38 0301 1F3C;\r
+1F38 0342 1F3E;\r
+1F39 0300 1F3B;\r
+1F39 0301 1F3D;\r
+1F39 0342 1F3F;\r
+1F40 0300 1F42;\r
+1F40 0301 1F44;\r
+1F41 0300 1F43;\r
+1F41 0301 1F45;\r
+1F48 0300 1F4A;\r
+1F48 0301 1F4C;\r
+1F49 0300 1F4B;\r
+1F49 0301 1F4D;\r
+1F50 0300 1F52;\r
+1F50 0301 1F54;\r
+1F50 0342 1F56;\r
+1F51 0300 1F53;\r
+1F51 0301 1F55;\r
+1F51 0342 1F57;\r
+1F59 0300 1F5B;\r
+1F59 0301 1F5D;\r
+1F59 0342 1F5F;\r
+1F60 0300 1F62;\r
+1F60 0301 1F64;\r
+1F60 0342 1F66;\r
+1F60 0345 1FA0;\r
+1F61 0300 1F63;\r
+1F61 0301 1F65;\r
+1F61 0342 1F67;\r
+1F61 0345 1FA1;\r
+1F62 0345 1FA2;\r
+1F63 0345 1FA3;\r
+1F64 0345 1FA4;\r
+1F65 0345 1FA5;\r
+1F66 0345 1FA6;\r
+1F67 0345 1FA7;\r
+1F68 0300 1F6A;\r
+1F68 0301 1F6C;\r
+1F68 0342 1F6E;\r
+1F68 0345 1FA8;\r
+1F69 0300 1F6B;\r
+1F69 0301 1F6D;\r
+1F69 0342 1F6F;\r
+1F69 0345 1FA9;\r
+1F6A 0345 1FAA;\r
+1F6B 0345 1FAB;\r
+1F6C 0345 1FAC;\r
+1F6D 0345 1FAD;\r
+1F6E 0345 1FAE;\r
+1F6F 0345 1FAF;\r
+1F70 0345 1FB2;\r
+1F74 0345 1FC2;\r
+1F7C 0345 1FF2;\r
+1FB6 0345 1FB7;\r
+1FBF 0300 1FCD;\r
+1FBF 0301 1FCE;\r
+1FBF 0342 1FCF;\r
+1FC6 0345 1FC7;\r
+1FF6 0345 1FF7;\r
+1FFE 0300 1FDD;\r
+1FFE 0301 1FDE;\r
+1FFE 0342 1FDF;\r
+2190 0338 219A;\r
+2192 0338 219B;\r
+2194 0338 21AE;\r
+21D0 0338 21CD;\r
+21D2 0338 21CF;\r
+21D4 0338 21CE;\r
+2203 0338 2204;\r
+2208 0338 2209;\r
+220B 0338 220C;\r
+2223 0338 2224;\r
+2225 0338 2226;\r
+223C 0338 2241;\r
+2243 0338 2244;\r
+2245 0338 2247;\r
+2248 0338 2249;\r
+224D 0338 226D;\r
+2261 0338 2262;\r
+2264 0338 2270;\r
+2265 0338 2271;\r
+2272 0338 2274;\r
+2273 0338 2275;\r
+2276 0338 2278;\r
+2277 0338 2279;\r
+227A 0338 2280;\r
+227B 0338 2281;\r
+227C 0338 22E0;\r
+227D 0338 22E1;\r
+2282 0338 2284;\r
+2283 0338 2285;\r
+2286 0338 2288;\r
+2287 0338 2289;\r
+2291 0338 22E2;\r
+2292 0338 22E3;\r
+22A2 0338 22AC;\r
+22A8 0338 22AD;\r
+22A9 0338 22AE;\r
+22AB 0338 22AF;\r
+22B2 0338 22EA;\r
+22B3 0338 22EB;\r
+22B4 0338 22EC;\r
+22B5 0338 22ED;\r
+3046 3099 3094;\r
+304B 3099 304C;\r
+304D 3099 304E;\r
+304F 3099 3050;\r
+3051 3099 3052;\r
+3053 3099 3054;\r
+3055 3099 3056;\r
+3057 3099 3058;\r
+3059 3099 305A;\r
+305B 3099 305C;\r
+305D 3099 305E;\r
+305F 3099 3060;\r
+3061 3099 3062;\r
+3064 3099 3065;\r
+3066 3099 3067;\r
+3068 3099 3069;\r
+306F 3099 3070;\r
+306F 309A 3071;\r
+3072 3099 3073;\r
+3072 309A 3074;\r
+3075 3099 3076;\r
+3075 309A 3077;\r
+3078 3099 3079;\r
+3078 309A 307A;\r
+307B 3099 307C;\r
+307B 309A 307D;\r
+309D 3099 309E;\r
+30A6 3099 30F4;\r
+30AB 3099 30AC;\r
+30AD 3099 30AE;\r
+30AF 3099 30B0;\r
+30B1 3099 30B2;\r
+30B3 3099 30B4;\r
+30B5 3099 30B6;\r
+30B7 3099 30B8;\r
+30B9 3099 30BA;\r
+30BB 3099 30BC;\r
+30BD 3099 30BE;\r
+30BF 3099 30C0;\r
+30C1 3099 30C2;\r
+30C4 3099 30C5;\r
+30C6 3099 30C7;\r
+30C8 3099 30C9;\r
+30CF 3099 30D0;\r
+30CF 309A 30D1;\r
+30D2 3099 30D3;\r
+30D2 309A 30D4;\r
+30D5 3099 30D6;\r
+30D5 309A 30D7;\r
+30D8 3099 30D9;\r
+30D8 309A 30DA;\r
+30DB 3099 30DC;\r
+30DB 309A 30DD;\r
+30EF 3099 30F7;\r
+30F0 3099 30F8;\r
+30F1 3099 30F9;\r
+30F2 3099 30FA;\r
+30FD 3099 30FE;\r
+FB49 05C1 FB2C;\r
+FB49 05C2 FB2D;\r
--- /dev/null
+# uni-nfd.txt - Unicode decomposition mapping\r
+00C0 0041 0300;\r
+00C1 0041 0301;\r
+00C2 0041 0302;\r
+00C3 0041 0303;\r
+00C4 0041 0308;\r
+00C5 0041 030A;\r
+00C7 0043 0327;\r
+00C8 0045 0300;\r
+00C9 0045 0301;\r
+00CA 0045 0302;\r
+00CB 0045 0308;\r
+00CC 0049 0300;\r
+00CD 0049 0301;\r
+00CE 0049 0302;\r
+00CF 0049 0308;\r
+00D1 004E 0303;\r
+00D2 004F 0300;\r
+00D3 004F 0301;\r
+00D4 004F 0302;\r
+00D5 004F 0303;\r
+00D6 004F 0308;\r
+00D9 0055 0300;\r
+00DA 0055 0301;\r
+00DB 0055 0302;\r
+00DC 0055 0308;\r
+00DD 0059 0301;\r
+00E0 0061 0300;\r
+00E1 0061 0301;\r
+00E2 0061 0302;\r
+00E3 0061 0303;\r
+00E4 0061 0308;\r
+00E5 0061 030A;\r
+00E7 0063 0327;\r
+00E8 0065 0300;\r
+00E9 0065 0301;\r
+00EA 0065 0302;\r
+00EB 0065 0308;\r
+00EC 0069 0300;\r
+00ED 0069 0301;\r
+00EE 0069 0302;\r
+00EF 0069 0308;\r
+00F1 006E 0303;\r
+00F2 006F 0300;\r
+00F3 006F 0301;\r
+00F4 006F 0302;\r
+00F5 006F 0303;\r
+00F6 006F 0308;\r
+00F9 0075 0300;\r
+00FA 0075 0301;\r
+00FB 0075 0302;\r
+00FC 0075 0308;\r
+00FD 0079 0301;\r
+00FF 0079 0308;\r
+0100 0041 0304;\r
+0101 0061 0304;\r
+0102 0041 0306;\r
+0103 0061 0306;\r
+0104 0041 0328;\r
+0105 0061 0328;\r
+0106 0043 0301;\r
+0107 0063 0301;\r
+0108 0043 0302;\r
+0109 0063 0302;\r
+010A 0043 0307;\r
+010B 0063 0307;\r
+010C 0043 030C;\r
+010D 0063 030C;\r
+010E 0044 030C;\r
+010F 0064 030C;\r
+0112 0045 0304;\r
+0113 0065 0304;\r
+0114 0045 0306;\r
+0115 0065 0306;\r
+0116 0045 0307;\r
+0117 0065 0307;\r
+0118 0045 0328;\r
+0119 0065 0328;\r
+011A 0045 030C;\r
+011B 0065 030C;\r
+011C 0047 0302;\r
+011D 0067 0302;\r
+011E 0047 0306;\r
+011F 0067 0306;\r
+0120 0047 0307;\r
+0121 0067 0307;\r
+0122 0047 0327;\r
+0123 0067 0327;\r
+0124 0048 0302;\r
+0125 0068 0302;\r
+0128 0049 0303;\r
+0129 0069 0303;\r
+012A 0049 0304;\r
+012B 0069 0304;\r
+012C 0049 0306;\r
+012D 0069 0306;\r
+012E 0049 0328;\r
+012F 0069 0328;\r
+0130 0049 0307;\r
+0134 004A 0302;\r
+0135 006A 0302;\r
+0136 004B 0327;\r
+0137 006B 0327;\r
+0139 004C 0301;\r
+013A 006C 0301;\r
+013B 004C 0327;\r
+013C 006C 0327;\r
+013D 004C 030C;\r
+013E 006C 030C;\r
+0143 004E 0301;\r
+0144 006E 0301;\r
+0145 004E 0327;\r
+0146 006E 0327;\r
+0147 004E 030C;\r
+0148 006E 030C;\r
+014C 004F 0304;\r
+014D 006F 0304;\r
+014E 004F 0306;\r
+014F 006F 0306;\r
+0150 004F 030B;\r
+0151 006F 030B;\r
+0154 0052 0301;\r
+0155 0072 0301;\r
+0156 0052 0327;\r
+0157 0072 0327;\r
+0158 0052 030C;\r
+0159 0072 030C;\r
+015A 0053 0301;\r
+015B 0073 0301;\r
+015C 0053 0302;\r
+015D 0073 0302;\r
+015E 0053 0327;\r
+015F 0073 0327;\r
+0160 0053 030C;\r
+0161 0073 030C;\r
+0162 0054 0327;\r
+0163 0074 0327;\r
+0164 0054 030C;\r
+0165 0074 030C;\r
+0168 0055 0303;\r
+0169 0075 0303;\r
+016A 0055 0304;\r
+016B 0075 0304;\r
+016C 0055 0306;\r
+016D 0075 0306;\r
+016E 0055 030A;\r
+016F 0075 030A;\r
+0170 0055 030B;\r
+0171 0075 030B;\r
+0172 0055 0328;\r
+0173 0075 0328;\r
+0174 0057 0302;\r
+0175 0077 0302;\r
+0176 0059 0302;\r
+0177 0079 0302;\r
+0178 0059 0308;\r
+0179 005A 0301;\r
+017A 007A 0301;\r
+017B 005A 0307;\r
+017C 007A 0307;\r
+017D 005A 030C;\r
+017E 007A 030C;\r
+01A0 004F 031B;\r
+01A1 006F 031B;\r
+01AF 0055 031B;\r
+01B0 0075 031B;\r
+01CD 0041 030C;\r
+01CE 0061 030C;\r
+01CF 0049 030C;\r
+01D0 0069 030C;\r
+01D1 004F 030C;\r
+01D2 006F 030C;\r
+01D3 0055 030C;\r
+01D4 0075 030C;\r
+01D5 00DC 0304;\r
+01D6 00FC 0304;\r
+01D7 00DC 0301;\r
+01D8 00FC 0301;\r
+01D9 00DC 030C;\r
+01DA 00FC 030C;\r
+01DB 00DC 0300;\r
+01DC 00FC 0300;\r
+01DE 00C4 0304;\r
+01DF 00E4 0304;\r
+01E0 0226 0304;\r
+01E1 0227 0304;\r
+01E2 00C6 0304;\r
+01E3 00E6 0304;\r
+01E6 0047 030C;\r
+01E7 0067 030C;\r
+01E8 004B 030C;\r
+01E9 006B 030C;\r
+01EA 004F 0328;\r
+01EB 006F 0328;\r
+01EC 01EA 0304;\r
+01ED 01EB 0304;\r
+01EE 01B7 030C;\r
+01EF 0292 030C;\r
+01F0 006A 030C;\r
+01F4 0047 0301;\r
+01F5 0067 0301;\r
+01F8 004E 0300;\r
+01F9 006E 0300;\r
+01FA 00C5 0301;\r
+01FB 00E5 0301;\r
+01FC 00C6 0301;\r
+01FD 00E6 0301;\r
+01FE 00D8 0301;\r
+01FF 00F8 0301;\r
+0200 0041 030F;\r
+0201 0061 030F;\r
+0202 0041 0311;\r
+0203 0061 0311;\r
+0204 0045 030F;\r
+0205 0065 030F;\r
+0206 0045 0311;\r
+0207 0065 0311;\r
+0208 0049 030F;\r
+0209 0069 030F;\r
+020A 0049 0311;\r
+020B 0069 0311;\r
+020C 004F 030F;\r
+020D 006F 030F;\r
+020E 004F 0311;\r
+020F 006F 0311;\r
+0210 0052 030F;\r
+0211 0072 030F;\r
+0212 0052 0311;\r
+0213 0072 0311;\r
+0214 0055 030F;\r
+0215 0075 030F;\r
+0216 0055 0311;\r
+0217 0075 0311;\r
+0218 0053 0326;\r
+0219 0073 0326;\r
+021A 0054 0326;\r
+021B 0074 0326;\r
+021E 0048 030C;\r
+021F 0068 030C;\r
+0226 0041 0307;\r
+0227 0061 0307;\r
+0228 0045 0327;\r
+0229 0065 0327;\r
+022A 00D6 0304;\r
+022B 00F6 0304;\r
+022C 00D5 0304;\r
+022D 00F5 0304;\r
+022E 004F 0307;\r
+022F 006F 0307;\r
+0230 022E 0304;\r
+0231 022F 0304;\r
+0232 0059 0304;\r
+0233 0079 0304;\r
+0340 0300 0000;\r
+0341 0301 0000;\r
+0343 0313 0000;\r
+0344 0308 0301;\r
+0374 02B9 0000;\r
+037E 003B 0000;\r
+0385 00A8 0301;\r
+0386 0391 0301;\r
+0387 00B7 0000;\r
+0388 0395 0301;\r
+0389 0397 0301;\r
+038A 0399 0301;\r
+038C 039F 0301;\r
+038E 03A5 0301;\r
+038F 03A9 0301;\r
+0390 03CA 0301;\r
+03AA 0399 0308;\r
+03AB 03A5 0308;\r
+03AC 03B1 0301;\r
+03AD 03B5 0301;\r
+03AE 03B7 0301;\r
+03AF 03B9 0301;\r
+03B0 03CB 0301;\r
+03CA 03B9 0308;\r
+03CB 03C5 0308;\r
+03CC 03BF 0301;\r
+03CD 03C5 0301;\r
+03CE 03C9 0301;\r
+03D3 03D2 0301;\r
+03D4 03D2 0308;\r
+0400 0415 0300;\r
+0401 0415 0308;\r
+0403 0413 0301;\r
+0407 0406 0308;\r
+040C 041A 0301;\r
+040D 0418 0300;\r
+040E 0423 0306;\r
+0419 0418 0306;\r
+0439 0438 0306;\r
+0450 0435 0300;\r
+0451 0435 0308;\r
+0453 0433 0301;\r
+0457 0456 0308;\r
+045C 043A 0301;\r
+045D 0438 0300;\r
+045E 0443 0306;\r
+0476 0474 030F;\r
+0477 0475 030F;\r
+04C1 0416 0306;\r
+04C2 0436 0306;\r
+04D0 0410 0306;\r
+04D1 0430 0306;\r
+04D2 0410 0308;\r
+04D3 0430 0308;\r
+04D6 0415 0306;\r
+04D7 0435 0306;\r
+04DA 04D8 0308;\r
+04DB 04D9 0308;\r
+04DC 0416 0308;\r
+04DD 0436 0308;\r
+04DE 0417 0308;\r
+04DF 0437 0308;\r
+04E2 0418 0304;\r
+04E3 0438 0304;\r
+04E4 0418 0308;\r
+04E5 0438 0308;\r
+04E6 041E 0308;\r
+04E7 043E 0308;\r
+04EA 04E8 0308;\r
+04EB 04E9 0308;\r
+04EC 042D 0308;\r
+04ED 044D 0308;\r
+04EE 0423 0304;\r
+04EF 0443 0304;\r
+04F0 0423 0308;\r
+04F1 0443 0308;\r
+04F2 0423 030B;\r
+04F3 0443 030B;\r
+04F4 0427 0308;\r
+04F5 0447 0308;\r
+04F8 042B 0308;\r
+04F9 044B 0308;\r
+0622 0627 0653;\r
+0623 0627 0654;\r
+0624 0648 0654;\r
+0625 0627 0655;\r
+0626 064A 0654;\r
+06C0 06D5 0654;\r
+06C2 06C1 0654;\r
+06D3 06D2 0654;\r
+0929 0928 093C;\r
+0931 0930 093C;\r
+0934 0933 093C;\r
+0958 0915 093C;\r
+0959 0916 093C;\r
+095A 0917 093C;\r
+095B 091C 093C;\r
+095C 0921 093C;\r
+095D 0922 093C;\r
+095E 092B 093C;\r
+095F 092F 093C;\r
+09CB 09C7 09BE;\r
+09CC 09C7 09D7;\r
+09DC 09A1 09BC;\r
+09DD 09A2 09BC;\r
+09DF 09AF 09BC;\r
+0A33 0A32 0A3C;\r
+0A36 0A38 0A3C;\r
+0A59 0A16 0A3C;\r
+0A5A 0A17 0A3C;\r
+0A5B 0A1C 0A3C;\r
+0A5E 0A2B 0A3C;\r
+0B48 0B47 0B56;\r
+0B4B 0B47 0B3E;\r
+0B4C 0B47 0B57;\r
+0B5C 0B21 0B3C;\r
+0B5D 0B22 0B3C;\r
+0B94 0B92 0BD7;\r
+0BCA 0BC6 0BBE;\r
+0BCB 0BC7 0BBE;\r
+0BCC 0BC6 0BD7;\r
+0C48 0C46 0C56;\r
+0CC0 0CBF 0CD5;\r
+0CC7 0CC6 0CD5;\r
+0CC8 0CC6 0CD6;\r
+0CCA 0CC6 0CC2;\r
+0CCB 0CCA 0CD5;\r
+0D4A 0D46 0D3E;\r
+0D4B 0D47 0D3E;\r
+0D4C 0D46 0D57;\r
+0DDA 0DD9 0DCA;\r
+0DDC 0DD9 0DCF;\r
+0DDD 0DDC 0DCA;\r
+0DDE 0DD9 0DDF;\r
+0F43 0F42 0FB7;\r
+0F4D 0F4C 0FB7;\r
+0F52 0F51 0FB7;\r
+0F57 0F56 0FB7;\r
+0F5C 0F5B 0FB7;\r
+0F69 0F40 0FB5;\r
+0F73 0F71 0F72;\r
+0F75 0F71 0F74;\r
+0F76 0FB2 0F80;\r
+0F78 0FB3 0F80;\r
+0F81 0F71 0F80;\r
+0F93 0F92 0FB7;\r
+0F9D 0F9C 0FB7;\r
+0FA2 0FA1 0FB7;\r
+0FA7 0FA6 0FB7;\r
+0FAC 0FAB 0FB7;\r
+0FB9 0F90 0FB5;\r
+1026 1025 102E;\r
+1E00 0041 0325;\r
+1E01 0061 0325;\r
+1E02 0042 0307;\r
+1E03 0062 0307;\r
+1E04 0042 0323;\r
+1E05 0062 0323;\r
+1E06 0042 0331;\r
+1E07 0062 0331;\r
+1E08 00C7 0301;\r
+1E09 00E7 0301;\r
+1E0A 0044 0307;\r
+1E0B 0064 0307;\r
+1E0C 0044 0323;\r
+1E0D 0064 0323;\r
+1E0E 0044 0331;\r
+1E0F 0064 0331;\r
+1E10 0044 0327;\r
+1E11 0064 0327;\r
+1E12 0044 032D;\r
+1E13 0064 032D;\r
+1E14 0112 0300;\r
+1E15 0113 0300;\r
+1E16 0112 0301;\r
+1E17 0113 0301;\r
+1E18 0045 032D;\r
+1E19 0065 032D;\r
+1E1A 0045 0330;\r
+1E1B 0065 0330;\r
+1E1C 0228 0306;\r
+1E1D 0229 0306;\r
+1E1E 0046 0307;\r
+1E1F 0066 0307;\r
+1E20 0047 0304;\r
+1E21 0067 0304;\r
+1E22 0048 0307;\r
+1E23 0068 0307;\r
+1E24 0048 0323;\r
+1E25 0068 0323;\r
+1E26 0048 0308;\r
+1E27 0068 0308;\r
+1E28 0048 0327;\r
+1E29 0068 0327;\r
+1E2A 0048 032E;\r
+1E2B 0068 032E;\r
+1E2C 0049 0330;\r
+1E2D 0069 0330;\r
+1E2E 00CF 0301;\r
+1E2F 00EF 0301;\r
+1E30 004B 0301;\r
+1E31 006B 0301;\r
+1E32 004B 0323;\r
+1E33 006B 0323;\r
+1E34 004B 0331;\r
+1E35 006B 0331;\r
+1E36 004C 0323;\r
+1E37 006C 0323;\r
+1E38 1E36 0304;\r
+1E39 1E37 0304;\r
+1E3A 004C 0331;\r
+1E3B 006C 0331;\r
+1E3C 004C 032D;\r
+1E3D 006C 032D;\r
+1E3E 004D 0301;\r
+1E3F 006D 0301;\r
+1E40 004D 0307;\r
+1E41 006D 0307;\r
+1E42 004D 0323;\r
+1E43 006D 0323;\r
+1E44 004E 0307;\r
+1E45 006E 0307;\r
+1E46 004E 0323;\r
+1E47 006E 0323;\r
+1E48 004E 0331;\r
+1E49 006E 0331;\r
+1E4A 004E 032D;\r
+1E4B 006E 032D;\r
+1E4C 00D5 0301;\r
+1E4D 00F5 0301;\r
+1E4E 00D5 0308;\r
+1E4F 00F5 0308;\r
+1E50 014C 0300;\r
+1E51 014D 0300;\r
+1E52 014C 0301;\r
+1E53 014D 0301;\r
+1E54 0050 0301;\r
+1E55 0070 0301;\r
+1E56 0050 0307;\r
+1E57 0070 0307;\r
+1E58 0052 0307;\r
+1E59 0072 0307;\r
+1E5A 0052 0323;\r
+1E5B 0072 0323;\r
+1E5C 1E5A 0304;\r
+1E5D 1E5B 0304;\r
+1E5E 0052 0331;\r
+1E5F 0072 0331;\r
+1E60 0053 0307;\r
+1E61 0073 0307;\r
+1E62 0053 0323;\r
+1E63 0073 0323;\r
+1E64 015A 0307;\r
+1E65 015B 0307;\r
+1E66 0160 0307;\r
+1E67 0161 0307;\r
+1E68 1E62 0307;\r
+1E69 1E63 0307;\r
+1E6A 0054 0307;\r
+1E6B 0074 0307;\r
+1E6C 0054 0323;\r
+1E6D 0074 0323;\r
+1E6E 0054 0331;\r
+1E6F 0074 0331;\r
+1E70 0054 032D;\r
+1E71 0074 032D;\r
+1E72 0055 0324;\r
+1E73 0075 0324;\r
+1E74 0055 0330;\r
+1E75 0075 0330;\r
+1E76 0055 032D;\r
+1E77 0075 032D;\r
+1E78 0168 0301;\r
+1E79 0169 0301;\r
+1E7A 016A 0308;\r
+1E7B 016B 0308;\r
+1E7C 0056 0303;\r
+1E7D 0076 0303;\r
+1E7E 0056 0323;\r
+1E7F 0076 0323;\r
+1E80 0057 0300;\r
+1E81 0077 0300;\r
+1E82 0057 0301;\r
+1E83 0077 0301;\r
+1E84 0057 0308;\r
+1E85 0077 0308;\r
+1E86 0057 0307;\r
+1E87 0077 0307;\r
+1E88 0057 0323;\r
+1E89 0077 0323;\r
+1E8A 0058 0307;\r
+1E8B 0078 0307;\r
+1E8C 0058 0308;\r
+1E8D 0078 0308;\r
+1E8E 0059 0307;\r
+1E8F 0079 0307;\r
+1E90 005A 0302;\r
+1E91 007A 0302;\r
+1E92 005A 0323;\r
+1E93 007A 0323;\r
+1E94 005A 0331;\r
+1E95 007A 0331;\r
+1E96 0068 0331;\r
+1E97 0074 0308;\r
+1E98 0077 030A;\r
+1E99 0079 030A;\r
+1E9B 017F 0307;\r
+1EA0 0041 0323;\r
+1EA1 0061 0323;\r
+1EA2 0041 0309;\r
+1EA3 0061 0309;\r
+1EA4 00C2 0301;\r
+1EA5 00E2 0301;\r
+1EA6 00C2 0300;\r
+1EA7 00E2 0300;\r
+1EA8 00C2 0309;\r
+1EA9 00E2 0309;\r
+1EAA 00C2 0303;\r
+1EAB 00E2 0303;\r
+1EAC 1EA0 0302;\r
+1EAD 1EA1 0302;\r
+1EAE 0102 0301;\r
+1EAF 0103 0301;\r
+1EB0 0102 0300;\r
+1EB1 0103 0300;\r
+1EB2 0102 0309;\r
+1EB3 0103 0309;\r
+1EB4 0102 0303;\r
+1EB5 0103 0303;\r
+1EB6 1EA0 0306;\r
+1EB7 1EA1 0306;\r
+1EB8 0045 0323;\r
+1EB9 0065 0323;\r
+1EBA 0045 0309;\r
+1EBB 0065 0309;\r
+1EBC 0045 0303;\r
+1EBD 0065 0303;\r
+1EBE 00CA 0301;\r
+1EBF 00EA 0301;\r
+1EC0 00CA 0300;\r
+1EC1 00EA 0300;\r
+1EC2 00CA 0309;\r
+1EC3 00EA 0309;\r
+1EC4 00CA 0303;\r
+1EC5 00EA 0303;\r
+1EC6 1EB8 0302;\r
+1EC7 1EB9 0302;\r
+1EC8 0049 0309;\r
+1EC9 0069 0309;\r
+1ECA 0049 0323;\r
+1ECB 0069 0323;\r
+1ECC 004F 0323;\r
+1ECD 006F 0323;\r
+1ECE 004F 0309;\r
+1ECF 006F 0309;\r
+1ED0 00D4 0301;\r
+1ED1 00F4 0301;\r
+1ED2 00D4 0300;\r
+1ED3 00F4 0300;\r
+1ED4 00D4 0309;\r
+1ED5 00F4 0309;\r
+1ED6 00D4 0303;\r
+1ED7 00F4 0303;\r
+1ED8 1ECC 0302;\r
+1ED9 1ECD 0302;\r
+1EDA 01A0 0301;\r
+1EDB 01A1 0301;\r
+1EDC 01A0 0300;\r
+1EDD 01A1 0300;\r
+1EDE 01A0 0309;\r
+1EDF 01A1 0309;\r
+1EE0 01A0 0303;\r
+1EE1 01A1 0303;\r
+1EE2 01A0 0323;\r
+1EE3 01A1 0323;\r
+1EE4 0055 0323;\r
+1EE5 0075 0323;\r
+1EE6 0055 0309;\r
+1EE7 0075 0309;\r
+1EE8 01AF 0301;\r
+1EE9 01B0 0301;\r
+1EEA 01AF 0300;\r
+1EEB 01B0 0300;\r
+1EEC 01AF 0309;\r
+1EED 01B0 0309;\r
+1EEE 01AF 0303;\r
+1EEF 01B0 0303;\r
+1EF0 01AF 0323;\r
+1EF1 01B0 0323;\r
+1EF2 0059 0300;\r
+1EF3 0079 0300;\r
+1EF4 0059 0323;\r
+1EF5 0079 0323;\r
+1EF6 0059 0309;\r
+1EF7 0079 0309;\r
+1EF8 0059 0303;\r
+1EF9 0079 0303;\r
+1F00 03B1 0313;\r
+1F01 03B1 0314;\r
+1F02 1F00 0300;\r
+1F03 1F01 0300;\r
+1F04 1F00 0301;\r
+1F05 1F01 0301;\r
+1F06 1F00 0342;\r
+1F07 1F01 0342;\r
+1F08 0391 0313;\r
+1F09 0391 0314;\r
+1F0A 1F08 0300;\r
+1F0B 1F09 0300;\r
+1F0C 1F08 0301;\r
+1F0D 1F09 0301;\r
+1F0E 1F08 0342;\r
+1F0F 1F09 0342;\r
+1F10 03B5 0313;\r
+1F11 03B5 0314;\r
+1F12 1F10 0300;\r
+1F13 1F11 0300;\r
+1F14 1F10 0301;\r
+1F15 1F11 0301;\r
+1F18 0395 0313;\r
+1F19 0395 0314;\r
+1F1A 1F18 0300;\r
+1F1B 1F19 0300;\r
+1F1C 1F18 0301;\r
+1F1D 1F19 0301;\r
+1F20 03B7 0313;\r
+1F21 03B7 0314;\r
+1F22 1F20 0300;\r
+1F23 1F21 0300;\r
+1F24 1F20 0301;\r
+1F25 1F21 0301;\r
+1F26 1F20 0342;\r
+1F27 1F21 0342;\r
+1F28 0397 0313;\r
+1F29 0397 0314;\r
+1F2A 1F28 0300;\r
+1F2B 1F29 0300;\r
+1F2C 1F28 0301;\r
+1F2D 1F29 0301;\r
+1F2E 1F28 0342;\r
+1F2F 1F29 0342;\r
+1F30 03B9 0313;\r
+1F31 03B9 0314;\r
+1F32 1F30 0300;\r
+1F33 1F31 0300;\r
+1F34 1F30 0301;\r
+1F35 1F31 0301;\r
+1F36 1F30 0342;\r
+1F37 1F31 0342;\r
+1F38 0399 0313;\r
+1F39 0399 0314;\r
+1F3A 1F38 0300;\r
+1F3B 1F39 0300;\r
+1F3C 1F38 0301;\r
+1F3D 1F39 0301;\r
+1F3E 1F38 0342;\r
+1F3F 1F39 0342;\r
+1F40 03BF 0313;\r
+1F41 03BF 0314;\r
+1F42 1F40 0300;\r
+1F43 1F41 0300;\r
+1F44 1F40 0301;\r
+1F45 1F41 0301;\r
+1F48 039F 0313;\r
+1F49 039F 0314;\r
+1F4A 1F48 0300;\r
+1F4B 1F49 0300;\r
+1F4C 1F48 0301;\r
+1F4D 1F49 0301;\r
+1F50 03C5 0313;\r
+1F51 03C5 0314;\r
+1F52 1F50 0300;\r
+1F53 1F51 0300;\r
+1F54 1F50 0301;\r
+1F55 1F51 0301;\r
+1F56 1F50 0342;\r
+1F57 1F51 0342;\r
+1F59 03A5 0314;\r
+1F5B 1F59 0300;\r
+1F5D 1F59 0301;\r
+1F5F 1F59 0342;\r
+1F60 03C9 0313;\r
+1F61 03C9 0314;\r
+1F62 1F60 0300;\r
+1F63 1F61 0300;\r
+1F64 1F60 0301;\r
+1F65 1F61 0301;\r
+1F66 1F60 0342;\r
+1F67 1F61 0342;\r
+1F68 03A9 0313;\r
+1F69 03A9 0314;\r
+1F6A 1F68 0300;\r
+1F6B 1F69 0300;\r
+1F6C 1F68 0301;\r
+1F6D 1F69 0301;\r
+1F6E 1F68 0342;\r
+1F6F 1F69 0342;\r
+1F70 03B1 0300;\r
+1F71 03AC 0000;\r
+1F72 03B5 0300;\r
+1F73 03AD 0000;\r
+1F74 03B7 0300;\r
+1F75 03AE 0000;\r
+1F76 03B9 0300;\r
+1F77 03AF 0000;\r
+1F78 03BF 0300;\r
+1F79 03CC 0000;\r
+1F7A 03C5 0300;\r
+1F7B 03CD 0000;\r
+1F7C 03C9 0300;\r
+1F7D 03CE 0000;\r
+1F80 1F00 0345;\r
+1F81 1F01 0345;\r
+1F82 1F02 0345;\r
+1F83 1F03 0345;\r
+1F84 1F04 0345;\r
+1F85 1F05 0345;\r
+1F86 1F06 0345;\r
+1F87 1F07 0345;\r
+1F88 1F08 0345;\r
+1F89 1F09 0345;\r
+1F8A 1F0A 0345;\r
+1F8B 1F0B 0345;\r
+1F8C 1F0C 0345;\r
+1F8D 1F0D 0345;\r
+1F8E 1F0E 0345;\r
+1F8F 1F0F 0345;\r
+1F90 1F20 0345;\r
+1F91 1F21 0345;\r
+1F92 1F22 0345;\r
+1F93 1F23 0345;\r
+1F94 1F24 0345;\r
+1F95 1F25 0345;\r
+1F96 1F26 0345;\r
+1F97 1F27 0345;\r
+1F98 1F28 0345;\r
+1F99 1F29 0345;\r
+1F9A 1F2A 0345;\r
+1F9B 1F2B 0345;\r
+1F9C 1F2C 0345;\r
+1F9D 1F2D 0345;\r
+1F9E 1F2E 0345;\r
+1F9F 1F2F 0345;\r
+1FA0 1F60 0345;\r
+1FA1 1F61 0345;\r
+1FA2 1F62 0345;\r
+1FA3 1F63 0345;\r
+1FA4 1F64 0345;\r
+1FA5 1F65 0345;\r
+1FA6 1F66 0345;\r
+1FA7 1F67 0345;\r
+1FA8 1F68 0345;\r
+1FA9 1F69 0345;\r
+1FAA 1F6A 0345;\r
+1FAB 1F6B 0345;\r
+1FAC 1F6C 0345;\r
+1FAD 1F6D 0345;\r
+1FAE 1F6E 0345;\r
+1FAF 1F6F 0345;\r
+1FB0 03B1 0306;\r
+1FB1 03B1 0304;\r
+1FB2 1F70 0345;\r
+1FB3 03B1 0345;\r
+1FB4 03AC 0345;\r
+1FB6 03B1 0342;\r
+1FB7 1FB6 0345;\r
+1FB8 0391 0306;\r
+1FB9 0391 0304;\r
+1FBA 0391 0300;\r
+1FBB 0386 0000;\r
+1FBC 0391 0345;\r
+1FBE 03B9 0000;\r
+1FC1 00A8 0342;\r
+1FC2 1F74 0345;\r
+1FC3 03B7 0345;\r
+1FC4 03AE 0345;\r
+1FC6 03B7 0342;\r
+1FC7 1FC6 0345;\r
+1FC8 0395 0300;\r
+1FC9 0388 0000;\r
+1FCA 0397 0300;\r
+1FCB 0389 0000;\r
+1FCC 0397 0345;\r
+1FCD 1FBF 0300;\r
+1FCE 1FBF 0301;\r
+1FCF 1FBF 0342;\r
+1FD0 03B9 0306;\r
+1FD1 03B9 0304;\r
+1FD2 03CA 0300;\r
+1FD3 0390 0000;\r
+1FD6 03B9 0342;\r
+1FD7 03CA 0342;\r
+1FD8 0399 0306;\r
+1FD9 0399 0304;\r
+1FDA 0399 0300;\r
+1FDB 038A 0000;\r
+1FDD 1FFE 0300;\r
+1FDE 1FFE 0301;\r
+1FDF 1FFE 0342;\r
+1FE0 03C5 0306;\r
+1FE1 03C5 0304;\r
+1FE2 03CB 0300;\r
+1FE3 03B0 0000;\r
+1FE4 03C1 0313;\r
+1FE5 03C1 0314;\r
+1FE6 03C5 0342;\r
+1FE7 03CB 0342;\r
+1FE8 03A5 0306;\r
+1FE9 03A5 0304;\r
+1FEA 03A5 0300;\r
+1FEB 038E 0000;\r
+1FEC 03A1 0314;\r
+1FED 00A8 0300;\r
+1FEE 0385 0000;\r
+1FEF 0060 0000;\r
+1FF2 1F7C 0345;\r
+1FF3 03C9 0345;\r
+1FF4 03CE 0345;\r
+1FF6 03C9 0342;\r
+1FF7 1FF6 0345;\r
+1FF8 039F 0300;\r
+1FF9 038C 0000;\r
+1FFA 03A9 0300;\r
+1FFB 038F 0000;\r
+1FFC 03A9 0345;\r
+1FFD 00B4 0000;\r
+2000 2002 0000;\r
+2001 2003 0000;\r
+2126 03A9 0000;\r
+212A 004B 0000;\r
+212B 00C5 0000;\r
+219A 2190 0338;\r
+219B 2192 0338;\r
+21AE 2194 0338;\r
+21CD 21D0 0338;\r
+21CE 21D4 0338;\r
+21CF 21D2 0338;\r
+2204 2203 0338;\r
+2209 2208 0338;\r
+220C 220B 0338;\r
+2224 2223 0338;\r
+2226 2225 0338;\r
+2241 223C 0338;\r
+2244 2243 0338;\r
+2247 2245 0338;\r
+2249 2248 0338;\r
+2260 003D 0338;\r
+2262 2261 0338;\r
+226D 224D 0338;\r
+226E 003C 0338;\r
+226F 003E 0338;\r
+2270 2264 0338;\r
+2271 2265 0338;\r
+2274 2272 0338;\r
+2275 2273 0338;\r
+2278 2276 0338;\r
+2279 2277 0338;\r
+2280 227A 0338;\r
+2281 227B 0338;\r
+2284 2282 0338;\r
+2285 2283 0338;\r
+2288 2286 0338;\r
+2289 2287 0338;\r
+22AC 22A2 0338;\r
+22AD 22A8 0338;\r
+22AE 22A9 0338;\r
+22AF 22AB 0338;\r
+22E0 227C 0338;\r
+22E1 227D 0338;\r
+22E2 2291 0338;\r
+22E3 2292 0338;\r
+22EA 22B2 0338;\r
+22EB 22B3 0338;\r
+22EC 22B4 0338;\r
+22ED 22B5 0338;\r
+2329 3008 0000;\r
+232A 3009 0000;\r
+304C 304B 3099;\r
+304E 304D 3099;\r
+3050 304F 3099;\r
+3052 3051 3099;\r
+3054 3053 3099;\r
+3056 3055 3099;\r
+3058 3057 3099;\r
+305A 3059 3099;\r
+305C 305B 3099;\r
+305E 305D 3099;\r
+3060 305F 3099;\r
+3062 3061 3099;\r
+3065 3064 3099;\r
+3067 3066 3099;\r
+3069 3068 3099;\r
+3070 306F 3099;\r
+3071 306F 309A;\r
+3073 3072 3099;\r
+3074 3072 309A;\r
+3076 3075 3099;\r
+3077 3075 309A;\r
+3079 3078 3099;\r
+307A 3078 309A;\r
+307C 307B 3099;\r
+307D 307B 309A;\r
+3094 3046 3099;\r
+309E 309D 3099;\r
+30AC 30AB 3099;\r
+30AE 30AD 3099;\r
+30B0 30AF 3099;\r
+30B2 30B1 3099;\r
+30B4 30B3 3099;\r
+30B6 30B5 3099;\r
+30B8 30B7 3099;\r
+30BA 30B9 3099;\r
+30BC 30BB 3099;\r
+30BE 30BD 3099;\r
+30C0 30BF 3099;\r
+30C2 30C1 3099;\r
+30C5 30C4 3099;\r
+30C7 30C6 3099;\r
+30C9 30C8 3099;\r
+30D0 30CF 3099;\r
+30D1 30CF 309A;\r
+30D3 30D2 3099;\r
+30D4 30D2 309A;\r
+30D6 30D5 3099;\r
+30D7 30D5 309A;\r
+30D9 30D8 3099;\r
+30DA 30D8 309A;\r
+30DC 30DB 3099;\r
+30DD 30DB 309A;\r
+30F4 30A6 3099;\r
+30F7 30EF 3099;\r
+30F8 30F0 3099;\r
+30F9 30F1 3099;\r
+30FA 30F2 3099;\r
+30FE 30FD 3099;\r
+F900 8C48 0000;\r
+F901 66F4 0000;\r
+F902 8ECA 0000;\r
+F903 8CC8 0000;\r
+F904 6ED1 0000;\r
+F905 4E32 0000;\r
+F906 53E5 0000;\r
+F907 9F9C 0000;\r
+F908 9F9C 0000;\r
+F909 5951 0000;\r
+F90A 91D1 0000;\r
+F90B 5587 0000;\r
+F90C 5948 0000;\r
+F90D 61F6 0000;\r
+F90E 7669 0000;\r
+F90F 7F85 0000;\r
+F910 863F 0000;\r
+F911 87BA 0000;\r
+F912 88F8 0000;\r
+F913 908F 0000;\r
+F914 6A02 0000;\r
+F915 6D1B 0000;\r
+F916 70D9 0000;\r
+F917 73DE 0000;\r
+F918 843D 0000;\r
+F919 916A 0000;\r
+F91A 99F1 0000;\r
+F91B 4E82 0000;\r
+F91C 5375 0000;\r
+F91D 6B04 0000;\r
+F91E 721B 0000;\r
+F91F 862D 0000;\r
+F920 9E1E 0000;\r
+F921 5D50 0000;\r
+F922 6FEB 0000;\r
+F923 85CD 0000;\r
+F924 8964 0000;\r
+F925 62C9 0000;\r
+F926 81D8 0000;\r
+F927 881F 0000;\r
+F928 5ECA 0000;\r
+F929 6717 0000;\r
+F92A 6D6A 0000;\r
+F92B 72FC 0000;\r
+F92C 90CE 0000;\r
+F92D 4F86 0000;\r
+F92E 51B7 0000;\r
+F92F 52DE 0000;\r
+F930 64C4 0000;\r
+F931 6AD3 0000;\r
+F932 7210 0000;\r
+F933 76E7 0000;\r
+F934 8001 0000;\r
+F935 8606 0000;\r
+F936 865C 0000;\r
+F937 8DEF 0000;\r
+F938 9732 0000;\r
+F939 9B6F 0000;\r
+F93A 9DFA 0000;\r
+F93B 788C 0000;\r
+F93C 797F 0000;\r
+F93D 7DA0 0000;\r
+F93E 83C9 0000;\r
+F93F 9304 0000;\r
+F940 9E7F 0000;\r
+F941 8AD6 0000;\r
+F942 58DF 0000;\r
+F943 5F04 0000;\r
+F944 7C60 0000;\r
+F945 807E 0000;\r
+F946 7262 0000;\r
+F947 78CA 0000;\r
+F948 8CC2 0000;\r
+F949 96F7 0000;\r
+F94A 58D8 0000;\r
+F94B 5C62 0000;\r
+F94C 6A13 0000;\r
+F94D 6DDA 0000;\r
+F94E 6F0F 0000;\r
+F94F 7D2F 0000;\r
+F950 7E37 0000;\r
+F951 96FB 0000;\r
+F952 52D2 0000;\r
+F953 808B 0000;\r
+F954 51DC 0000;\r
+F955 51CC 0000;\r
+F956 7A1C 0000;\r
+F957 7DBE 0000;\r
+F958 83F1 0000;\r
+F959 9675 0000;\r
+F95A 8B80 0000;\r
+F95B 62CF 0000;\r
+F95C 6A02 0000;\r
+F95D 8AFE 0000;\r
+F95E 4E39 0000;\r
+F95F 5BE7 0000;\r
+F960 6012 0000;\r
+F961 7387 0000;\r
+F962 7570 0000;\r
+F963 5317 0000;\r
+F964 78FB 0000;\r
+F965 4FBF 0000;\r
+F966 5FA9 0000;\r
+F967 4E0D 0000;\r
+F968 6CCC 0000;\r
+F969 6578 0000;\r
+F96A 7D22 0000;\r
+F96B 53C3 0000;\r
+F96C 585E 0000;\r
+F96D 7701 0000;\r
+F96E 8449 0000;\r
+F96F 8AAA 0000;\r
+F970 6BBA 0000;\r
+F971 8FB0 0000;\r
+F972 6C88 0000;\r
+F973 62FE 0000;\r
+F974 82E5 0000;\r
+F975 63A0 0000;\r
+F976 7565 0000;\r
+F977 4EAE 0000;\r
+F978 5169 0000;\r
+F979 51C9 0000;\r
+F97A 6881 0000;\r
+F97B 7CE7 0000;\r
+F97C 826F 0000;\r
+F97D 8AD2 0000;\r
+F97E 91CF 0000;\r
+F97F 52F5 0000;\r
+F980 5442 0000;\r
+F981 5973 0000;\r
+F982 5EEC 0000;\r
+F983 65C5 0000;\r
+F984 6FFE 0000;\r
+F985 792A 0000;\r
+F986 95AD 0000;\r
+F987 9A6A 0000;\r
+F988 9E97 0000;\r
+F989 9ECE 0000;\r
+F98A 529B 0000;\r
+F98B 66C6 0000;\r
+F98C 6B77 0000;\r
+F98D 8F62 0000;\r
+F98E 5E74 0000;\r
+F98F 6190 0000;\r
+F990 6200 0000;\r
+F991 649A 0000;\r
+F992 6F23 0000;\r
+F993 7149 0000;\r
+F994 7489 0000;\r
+F995 79CA 0000;\r
+F996 7DF4 0000;\r
+F997 806F 0000;\r
+F998 8F26 0000;\r
+F999 84EE 0000;\r
+F99A 9023 0000;\r
+F99B 934A 0000;\r
+F99C 5217 0000;\r
+F99D 52A3 0000;\r
+F99E 54BD 0000;\r
+F99F 70C8 0000;\r
+F9A0 88C2 0000;\r
+F9A1 8AAA 0000;\r
+F9A2 5EC9 0000;\r
+F9A3 5FF5 0000;\r
+F9A4 637B 0000;\r
+F9A5 6BAE 0000;\r
+F9A6 7C3E 0000;\r
+F9A7 7375 0000;\r
+F9A8 4EE4 0000;\r
+F9A9 56F9 0000;\r
+F9AA 5BE7 0000;\r
+F9AB 5DBA 0000;\r
+F9AC 601C 0000;\r
+F9AD 73B2 0000;\r
+F9AE 7469 0000;\r
+F9AF 7F9A 0000;\r
+F9B0 8046 0000;\r
+F9B1 9234 0000;\r
+F9B2 96F6 0000;\r
+F9B3 9748 0000;\r
+F9B4 9818 0000;\r
+F9B5 4F8B 0000;\r
+F9B6 79AE 0000;\r
+F9B7 91B4 0000;\r
+F9B8 96B8 0000;\r
+F9B9 60E1 0000;\r
+F9BA 4E86 0000;\r
+F9BB 50DA 0000;\r
+F9BC 5BEE 0000;\r
+F9BD 5C3F 0000;\r
+F9BE 6599 0000;\r
+F9BF 6A02 0000;\r
+F9C0 71CE 0000;\r
+F9C1 7642 0000;\r
+F9C2 84FC 0000;\r
+F9C3 907C 0000;\r
+F9C4 9F8D 0000;\r
+F9C5 6688 0000;\r
+F9C6 962E 0000;\r
+F9C7 5289 0000;\r
+F9C8 677B 0000;\r
+F9C9 67F3 0000;\r
+F9CA 6D41 0000;\r
+F9CB 6E9C 0000;\r
+F9CC 7409 0000;\r
+F9CD 7559 0000;\r
+F9CE 786B 0000;\r
+F9CF 7D10 0000;\r
+F9D0 985E 0000;\r
+F9D1 516D 0000;\r
+F9D2 622E 0000;\r
+F9D3 9678 0000;\r
+F9D4 502B 0000;\r
+F9D5 5D19 0000;\r
+F9D6 6DEA 0000;\r
+F9D7 8F2A 0000;\r
+F9D8 5F8B 0000;\r
+F9D9 6144 0000;\r
+F9DA 6817 0000;\r
+F9DB 7387 0000;\r
+F9DC 9686 0000;\r
+F9DD 5229 0000;\r
+F9DE 540F 0000;\r
+F9DF 5C65 0000;\r
+F9E0 6613 0000;\r
+F9E1 674E 0000;\r
+F9E2 68A8 0000;\r
+F9E3 6CE5 0000;\r
+F9E4 7406 0000;\r
+F9E5 75E2 0000;\r
+F9E6 7F79 0000;\r
+F9E7 88CF 0000;\r
+F9E8 88E1 0000;\r
+F9E9 91CC 0000;\r
+F9EA 96E2 0000;\r
+F9EB 533F 0000;\r
+F9EC 6EBA 0000;\r
+F9ED 541D 0000;\r
+F9EE 71D0 0000;\r
+F9EF 7498 0000;\r
+F9F0 85FA 0000;\r
+F9F1 96A3 0000;\r
+F9F2 9C57 0000;\r
+F9F3 9E9F 0000;\r
+F9F4 6797 0000;\r
+F9F5 6DCB 0000;\r
+F9F6 81E8 0000;\r
+F9F7 7ACB 0000;\r
+F9F8 7B20 0000;\r
+F9F9 7C92 0000;\r
+F9FA 72C0 0000;\r
+F9FB 7099 0000;\r
+F9FC 8B58 0000;\r
+F9FD 4EC0 0000;\r
+F9FE 8336 0000;\r
+F9FF 523A 0000;\r
+FA00 5207 0000;\r
+FA01 5EA6 0000;\r
+FA02 62D3 0000;\r
+FA03 7CD6 0000;\r
+FA04 5B85 0000;\r
+FA05 6D1E 0000;\r
+FA06 66B4 0000;\r
+FA07 8F3B 0000;\r
+FA08 884C 0000;\r
+FA09 964D 0000;\r
+FA0A 898B 0000;\r
+FA0B 5ED3 0000;\r
+FA0C 5140 0000;\r
+FA0D 55C0 0000;\r
+FA10 585A 0000;\r
+FA12 6674 0000;\r
+FA15 51DE 0000;\r
+FA16 732A 0000;\r
+FA17 76CA 0000;\r
+FA18 793C 0000;\r
+FA19 795E 0000;\r
+FA1A 7965 0000;\r
+FA1B 798F 0000;\r
+FA1C 9756 0000;\r
+FA1D 7CBE 0000;\r
+FA1E 7FBD 0000;\r
+FA20 8612 0000;\r
+FA22 8AF8 0000;\r
+FA25 9038 0000;\r
+FA26 90FD 0000;\r
+FA2A 98EF 0000;\r
+FA2B 98FC 0000;\r
+FA2C 9928 0000;\r
+FA2D 9DB4 0000;\r
+FB1D 05D9 05B4;\r
+FB1F 05F2 05B7;\r
+FB2A 05E9 05C1;\r
+FB2B 05E9 05C2;\r
+FB2C FB49 05C1;\r
+FB2D FB49 05C2;\r
+FB2E 05D0 05B7;\r
+FB2F 05D0 05B8;\r
+FB30 05D0 05BC;\r
+FB31 05D1 05BC;\r
+FB32 05D2 05BC;\r
+FB33 05D3 05BC;\r
+FB34 05D4 05BC;\r
+FB35 05D5 05BC;\r
+FB36 05D6 05BC;\r
+FB38 05D8 05BC;\r
+FB39 05D9 05BC;\r
+FB3A 05DA 05BC;\r
+FB3B 05DB 05BC;\r
+FB3C 05DC 05BC;\r
+FB3E 05DE 05BC;\r
+FB40 05E0 05BC;\r
+FB41 05E1 05BC;\r
+FB43 05E3 05BC;\r
+FB44 05E4 05BC;\r
+FB46 05E6 05BC;\r
+FB47 05E7 05BC;\r
+FB48 05E8 05BC;\r
+FB49 05E9 05BC;\r
+FB4A 05EA 05BC;\r
+FB4B 05D5 05B9;\r
+FB4C 05D1 05BF;\r
+FB4D 05DB 05BF;\r
+FB4E 05E4 05BF;\r
--- /dev/null
+# uni-nfkd.txt - Unicode decomposition mapping\r
+00A0 0020 0000;<noBreak>;\r
+00A8 0020 0308;<compat>;\r
+00AA 0061 0000;<super>;\r
+00AF 0020 0304;<compat>;\r
+00B2 0032 0000;<super>;\r
+00B3 0033 0000;<super>;\r
+00B4 0020 0301;<compat>;\r
+00B5 03BC 0000;<compat>;\r
+00B8 0020 0327;<compat>;\r
+00B9 0031 0000;<super>;\r
+00BA 006F 0000;<super>;\r
+00BC 0031 2044;<fraction>;\r
+00BD 0031 2044;<fraction>;\r
+00BE 0033 2044;<fraction>;\r
+00C0 0041 0300;\r
+00C1 0041 0301;\r
+00C2 0041 0302;\r
+00C3 0041 0303;\r
+00C4 0041 0308;\r
+00C5 0041 030A;\r
+00C7 0043 0327;\r
+00C8 0045 0300;\r
+00C9 0045 0301;\r
+00CA 0045 0302;\r
+00CB 0045 0308;\r
+00CC 0049 0300;\r
+00CD 0049 0301;\r
+00CE 0049 0302;\r
+00CF 0049 0308;\r
+00D1 004E 0303;\r
+00D2 004F 0300;\r
+00D3 004F 0301;\r
+00D4 004F 0302;\r
+00D5 004F 0303;\r
+00D6 004F 0308;\r
+00D9 0055 0300;\r
+00DA 0055 0301;\r
+00DB 0055 0302;\r
+00DC 0055 0308;\r
+00DD 0059 0301;\r
+00E0 0061 0300;\r
+00E1 0061 0301;\r
+00E2 0061 0302;\r
+00E3 0061 0303;\r
+00E4 0061 0308;\r
+00E5 0061 030A;\r
+00E7 0063 0327;\r
+00E8 0065 0300;\r
+00E9 0065 0301;\r
+00EA 0065 0302;\r
+00EB 0065 0308;\r
+00EC 0069 0300;\r
+00ED 0069 0301;\r
+00EE 0069 0302;\r
+00EF 0069 0308;\r
+00F1 006E 0303;\r
+00F2 006F 0300;\r
+00F3 006F 0301;\r
+00F4 006F 0302;\r
+00F5 006F 0303;\r
+00F6 006F 0308;\r
+00F9 0075 0300;\r
+00FA 0075 0301;\r
+00FB 0075 0302;\r
+00FC 0075 0308;\r
+00FD 0079 0301;\r
+00FF 0079 0308;\r
+0100 0041 0304;\r
+0101 0061 0304;\r
+0102 0041 0306;\r
+0103 0061 0306;\r
+0104 0041 0328;\r
+0105 0061 0328;\r
+0106 0043 0301;\r
+0107 0063 0301;\r
+0108 0043 0302;\r
+0109 0063 0302;\r
+010A 0043 0307;\r
+010B 0063 0307;\r
+010C 0043 030C;\r
+010D 0063 030C;\r
+010E 0044 030C;\r
+010F 0064 030C;\r
+0112 0045 0304;\r
+0113 0065 0304;\r
+0114 0045 0306;\r
+0115 0065 0306;\r
+0116 0045 0307;\r
+0117 0065 0307;\r
+0118 0045 0328;\r
+0119 0065 0328;\r
+011A 0045 030C;\r
+011B 0065 030C;\r
+011C 0047 0302;\r
+011D 0067 0302;\r
+011E 0047 0306;\r
+011F 0067 0306;\r
+0120 0047 0307;\r
+0121 0067 0307;\r
+0122 0047 0327;\r
+0123 0067 0327;\r
+0124 0048 0302;\r
+0125 0068 0302;\r
+0128 0049 0303;\r
+0129 0069 0303;\r
+012A 0049 0304;\r
+012B 0069 0304;\r
+012C 0049 0306;\r
+012D 0069 0306;\r
+012E 0049 0328;\r
+012F 0069 0328;\r
+0130 0049 0307;\r
+0132 0049 004A;<compat>;\r
+0133 0069 006A;<compat>;\r
+0134 004A 0302;\r
+0135 006A 0302;\r
+0136 004B 0327;\r
+0137 006B 0327;\r
+0139 004C 0301;\r
+013A 006C 0301;\r
+013B 004C 0327;\r
+013C 006C 0327;\r
+013D 004C 030C;\r
+013E 006C 030C;\r
+013F 004C 00B7;<compat>;\r
+0140 006C 00B7;<compat>;\r
+0143 004E 0301;\r
+0144 006E 0301;\r
+0145 004E 0327;\r
+0146 006E 0327;\r
+0147 004E 030C;\r
+0148 006E 030C;\r
+0149 02BC 006E;<compat>;\r
+014C 004F 0304;\r
+014D 006F 0304;\r
+014E 004F 0306;\r
+014F 006F 0306;\r
+0150 004F 030B;\r
+0151 006F 030B;\r
+0154 0052 0301;\r
+0155 0072 0301;\r
+0156 0052 0327;\r
+0157 0072 0327;\r
+0158 0052 030C;\r
+0159 0072 030C;\r
+015A 0053 0301;\r
+015B 0073 0301;\r
+015C 0053 0302;\r
+015D 0073 0302;\r
+015E 0053 0327;\r
+015F 0073 0327;\r
+0160 0053 030C;\r
+0161 0073 030C;\r
+0162 0054 0327;\r
+0163 0074 0327;\r
+0164 0054 030C;\r
+0165 0074 030C;\r
+0168 0055 0303;\r
+0169 0075 0303;\r
+016A 0055 0304;\r
+016B 0075 0304;\r
+016C 0055 0306;\r
+016D 0075 0306;\r
+016E 0055 030A;\r
+016F 0075 030A;\r
+0170 0055 030B;\r
+0171 0075 030B;\r
+0172 0055 0328;\r
+0173 0075 0328;\r
+0174 0057 0302;\r
+0175 0077 0302;\r
+0176 0059 0302;\r
+0177 0079 0302;\r
+0178 0059 0308;\r
+0179 005A 0301;\r
+017A 007A 0301;\r
+017B 005A 0307;\r
+017C 007A 0307;\r
+017D 005A 030C;\r
+017E 007A 030C;\r
+017F 0073 0000;<compat>;\r
+01A0 004F 031B;\r
+01A1 006F 031B;\r
+01AF 0055 031B;\r
+01B0 0075 031B;\r
+01C4 0044 017D;<compat>;\r
+01C5 0044 017E;<compat>;\r
+01C6 0064 017E;<compat>;\r
+01C7 004C 004A;<compat>;\r
+01C8 004C 006A;<compat>;\r
+01C9 006C 006A;<compat>;\r
+01CA 004E 004A;<compat>;\r
+01CB 004E 006A;<compat>;\r
+01CC 006E 006A;<compat>;\r
+01CD 0041 030C;\r
+01CE 0061 030C;\r
+01CF 0049 030C;\r
+01D0 0069 030C;\r
+01D1 004F 030C;\r
+01D2 006F 030C;\r
+01D3 0055 030C;\r
+01D4 0075 030C;\r
+01D5 00DC 0304;\r
+01D6 00FC 0304;\r
+01D7 00DC 0301;\r
+01D8 00FC 0301;\r
+01D9 00DC 030C;\r
+01DA 00FC 030C;\r
+01DB 00DC 0300;\r
+01DC 00FC 0300;\r
+01DE 00C4 0304;\r
+01DF 00E4 0304;\r
+01E0 0226 0304;\r
+01E1 0227 0304;\r
+01E2 00C6 0304;\r
+01E3 00E6 0304;\r
+01E6 0047 030C;\r
+01E7 0067 030C;\r
+01E8 004B 030C;\r
+01E9 006B 030C;\r
+01EA 004F 0328;\r
+01EB 006F 0328;\r
+01EC 01EA 0304;\r
+01ED 01EB 0304;\r
+01EE 01B7 030C;\r
+01EF 0292 030C;\r
+01F0 006A 030C;\r
+01F1 0044 005A;<compat>;\r
+01F2 0044 007A;<compat>;\r
+01F3 0064 007A;<compat>;\r
+01F4 0047 0301;\r
+01F5 0067 0301;\r
+01F8 004E 0300;\r
+01F9 006E 0300;\r
+01FA 00C5 0301;\r
+01FB 00E5 0301;\r
+01FC 00C6 0301;\r
+01FD 00E6 0301;\r
+01FE 00D8 0301;\r
+01FF 00F8 0301;\r
+0200 0041 030F;\r
+0201 0061 030F;\r
+0202 0041 0311;\r
+0203 0061 0311;\r
+0204 0045 030F;\r
+0205 0065 030F;\r
+0206 0045 0311;\r
+0207 0065 0311;\r
+0208 0049 030F;\r
+0209 0069 030F;\r
+020A 0049 0311;\r
+020B 0069 0311;\r
+020C 004F 030F;\r
+020D 006F 030F;\r
+020E 004F 0311;\r
+020F 006F 0311;\r
+0210 0052 030F;\r
+0211 0072 030F;\r
+0212 0052 0311;\r
+0213 0072 0311;\r
+0214 0055 030F;\r
+0215 0075 030F;\r
+0216 0055 0311;\r
+0217 0075 0311;\r
+0218 0053 0326;\r
+0219 0073 0326;\r
+021A 0054 0326;\r
+021B 0074 0326;\r
+021E 0048 030C;\r
+021F 0068 030C;\r
+0226 0041 0307;\r
+0227 0061 0307;\r
+0228 0045 0327;\r
+0229 0065 0327;\r
+022A 00D6 0304;\r
+022B 00F6 0304;\r
+022C 00D5 0304;\r
+022D 00F5 0304;\r
+022E 004F 0307;\r
+022F 006F 0307;\r
+0230 022E 0304;\r
+0231 022F 0304;\r
+0232 0059 0304;\r
+0233 0079 0304;\r
+02B0 0068 0000;<super>;\r
+02B1 0266 0000;<super>;\r
+02B2 006A 0000;<super>;\r
+02B3 0072 0000;<super>;\r
+02B4 0279 0000;<super>;\r
+02B5 027B 0000;<super>;\r
+02B6 0281 0000;<super>;\r
+02B7 0077 0000;<super>;\r
+02B8 0079 0000;<super>;\r
+02D8 0020 0306;<compat>;\r
+02D9 0020 0307;<compat>;\r
+02DA 0020 030A;<compat>;\r
+02DB 0020 0328;<compat>;\r
+02DC 0020 0303;<compat>;\r
+02DD 0020 030B;<compat>;\r
+02E0 0263 0000;<super>;\r
+02E1 006C 0000;<super>;\r
+02E2 0073 0000;<super>;\r
+02E3 0078 0000;<super>;\r
+02E4 0295 0000;<super>;\r
+0340 0300 0000;\r
+0341 0301 0000;\r
+0343 0313 0000;\r
+0344 0308 0301;\r
+0374 02B9 0000;\r
+037A 0020 0345;<compat>;\r
+037E 003B 0000;\r
+0384 0020 0301;<compat>;\r
+0385 00A8 0301;\r
+0386 0391 0301;\r
+0387 00B7 0000;\r
+0388 0395 0301;\r
+0389 0397 0301;\r
+038A 0399 0301;\r
+038C 039F 0301;\r
+038E 03A5 0301;\r
+038F 03A9 0301;\r
+0390 03CA 0301;\r
+03AA 0399 0308;\r
+03AB 03A5 0308;\r
+03AC 03B1 0301;\r
+03AD 03B5 0301;\r
+03AE 03B7 0301;\r
+03AF 03B9 0301;\r
+03B0 03CB 0301;\r
+03CA 03B9 0308;\r
+03CB 03C5 0308;\r
+03CC 03BF 0301;\r
+03CD 03C5 0301;\r
+03CE 03C9 0301;\r
+03D0 03B2 0000;<compat>;\r
+03D1 03B8 0000;<compat>;\r
+03D2 03A5 0000;<compat>;\r
+03D3 03D2 0301;\r
+03D4 03D2 0308;\r
+03D5 03C6 0000;<compat>;\r
+03D6 03C0 0000;<compat>;\r
+03F0 03BA 0000;<compat>;\r
+03F1 03C1 0000;<compat>;\r
+03F2 03C2 0000;<compat>;\r
+03F4 0398 0000;<compat>;\r
+03F5 03B5 0000;<compat>;\r
+0400 0415 0300;\r
+0401 0415 0308;\r
+0403 0413 0301;\r
+0407 0406 0308;\r
+040C 041A 0301;\r
+040D 0418 0300;\r
+040E 0423 0306;\r
+0419 0418 0306;\r
+0439 0438 0306;\r
+0450 0435 0300;\r
+0451 0435 0308;\r
+0453 0433 0301;\r
+0457 0456 0308;\r
+045C 043A 0301;\r
+045D 0438 0300;\r
+045E 0443 0306;\r
+0476 0474 030F;\r
+0477 0475 030F;\r
+04C1 0416 0306;\r
+04C2 0436 0306;\r
+04D0 0410 0306;\r
+04D1 0430 0306;\r
+04D2 0410 0308;\r
+04D3 0430 0308;\r
+04D6 0415 0306;\r
+04D7 0435 0306;\r
+04DA 04D8 0308;\r
+04DB 04D9 0308;\r
+04DC 0416 0308;\r
+04DD 0436 0308;\r
+04DE 0417 0308;\r
+04DF 0437 0308;\r
+04E2 0418 0304;\r
+04E3 0438 0304;\r
+04E4 0418 0308;\r
+04E5 0438 0308;\r
+04E6 041E 0308;\r
+04E7 043E 0308;\r
+04EA 04E8 0308;\r
+04EB 04E9 0308;\r
+04EC 042D 0308;\r
+04ED 044D 0308;\r
+04EE 0423 0304;\r
+04EF 0443 0304;\r
+04F0 0423 0308;\r
+04F1 0443 0308;\r
+04F2 0423 030B;\r
+04F3 0443 030B;\r
+04F4 0427 0308;\r
+04F5 0447 0308;\r
+04F8 042B 0308;\r
+04F9 044B 0308;\r
+0587 0565 0582;<compat>;\r
+0622 0627 0653;\r
+0623 0627 0654;\r
+0624 0648 0654;\r
+0625 0627 0655;\r
+0626 064A 0654;\r
+0675 0627 0674;<compat>;\r
+0676 0648 0674;<compat>;\r
+0677 06C7 0674;<compat>;\r
+0678 064A 0674;<compat>;\r
+06C0 06D5 0654;\r
+06C2 06C1 0654;\r
+06D3 06D2 0654;\r
+0929 0928 093C;\r
+0931 0930 093C;\r
+0934 0933 093C;\r
+0958 0915 093C;\r
+0959 0916 093C;\r
+095A 0917 093C;\r
+095B 091C 093C;\r
+095C 0921 093C;\r
+095D 0922 093C;\r
+095E 092B 093C;\r
+095F 092F 093C;\r
+09CB 09C7 09BE;\r
+09CC 09C7 09D7;\r
+09DC 09A1 09BC;\r
+09DD 09A2 09BC;\r
+09DF 09AF 09BC;\r
+0A33 0A32 0A3C;\r
+0A36 0A38 0A3C;\r
+0A59 0A16 0A3C;\r
+0A5A 0A17 0A3C;\r
+0A5B 0A1C 0A3C;\r
+0A5E 0A2B 0A3C;\r
+0B48 0B47 0B56;\r
+0B4B 0B47 0B3E;\r
+0B4C 0B47 0B57;\r
+0B5C 0B21 0B3C;\r
+0B5D 0B22 0B3C;\r
+0B94 0B92 0BD7;\r
+0BCA 0BC6 0BBE;\r
+0BCB 0BC7 0BBE;\r
+0BCC 0BC6 0BD7;\r
+0C48 0C46 0C56;\r
+0CC0 0CBF 0CD5;\r
+0CC7 0CC6 0CD5;\r
+0CC8 0CC6 0CD6;\r
+0CCA 0CC6 0CC2;\r
+0CCB 0CCA 0CD5;\r
+0D4A 0D46 0D3E;\r
+0D4B 0D47 0D3E;\r
+0D4C 0D46 0D57;\r
+0DDA 0DD9 0DCA;\r
+0DDC 0DD9 0DCF;\r
+0DDD 0DDC 0DCA;\r
+0DDE 0DD9 0DDF;\r
+0E33 0E4D 0E32;<compat>;\r
+0EB3 0ECD 0EB2;<compat>;\r
+0EDC 0EAB 0E99;<compat>;\r
+0EDD 0EAB 0EA1;<compat>;\r
+0F0C 0F0B 0000;<noBreak>;\r
+0F43 0F42 0FB7;\r
+0F4D 0F4C 0FB7;\r
+0F52 0F51 0FB7;\r
+0F57 0F56 0FB7;\r
+0F5C 0F5B 0FB7;\r
+0F69 0F40 0FB5;\r
+0F73 0F71 0F72;\r
+0F75 0F71 0F74;\r
+0F76 0FB2 0F80;\r
+0F77 0FB2 0F81;<compat>;\r
+0F78 0FB3 0F80;\r
+0F79 0FB3 0F81;<compat>;\r
+0F81 0F71 0F80;\r
+0F93 0F92 0FB7;\r
+0F9D 0F9C 0FB7;\r
+0FA2 0FA1 0FB7;\r
+0FA7 0FA6 0FB7;\r
+0FAC 0FAB 0FB7;\r
+0FB9 0F90 0FB5;\r
+1026 1025 102E;\r
+1E00 0041 0325;\r
+1E01 0061 0325;\r
+1E02 0042 0307;\r
+1E03 0062 0307;\r
+1E04 0042 0323;\r
+1E05 0062 0323;\r
+1E06 0042 0331;\r
+1E07 0062 0331;\r
+1E08 00C7 0301;\r
+1E09 00E7 0301;\r
+1E0A 0044 0307;\r
+1E0B 0064 0307;\r
+1E0C 0044 0323;\r
+1E0D 0064 0323;\r
+1E0E 0044 0331;\r
+1E0F 0064 0331;\r
+1E10 0044 0327;\r
+1E11 0064 0327;\r
+1E12 0044 032D;\r
+1E13 0064 032D;\r
+1E14 0112 0300;\r
+1E15 0113 0300;\r
+1E16 0112 0301;\r
+1E17 0113 0301;\r
+1E18 0045 032D;\r
+1E19 0065 032D;\r
+1E1A 0045 0330;\r
+1E1B 0065 0330;\r
+1E1C 0228 0306;\r
+1E1D 0229 0306;\r
+1E1E 0046 0307;\r
+1E1F 0066 0307;\r
+1E20 0047 0304;\r
+1E21 0067 0304;\r
+1E22 0048 0307;\r
+1E23 0068 0307;\r
+1E24 0048 0323;\r
+1E25 0068 0323;\r
+1E26 0048 0308;\r
+1E27 0068 0308;\r
+1E28 0048 0327;\r
+1E29 0068 0327;\r
+1E2A 0048 032E;\r
+1E2B 0068 032E;\r
+1E2C 0049 0330;\r
+1E2D 0069 0330;\r
+1E2E 00CF 0301;\r
+1E2F 00EF 0301;\r
+1E30 004B 0301;\r
+1E31 006B 0301;\r
+1E32 004B 0323;\r
+1E33 006B 0323;\r
+1E34 004B 0331;\r
+1E35 006B 0331;\r
+1E36 004C 0323;\r
+1E37 006C 0323;\r
+1E38 1E36 0304;\r
+1E39 1E37 0304;\r
+1E3A 004C 0331;\r
+1E3B 006C 0331;\r
+1E3C 004C 032D;\r
+1E3D 006C 032D;\r
+1E3E 004D 0301;\r
+1E3F 006D 0301;\r
+1E40 004D 0307;\r
+1E41 006D 0307;\r
+1E42 004D 0323;\r
+1E43 006D 0323;\r
+1E44 004E 0307;\r
+1E45 006E 0307;\r
+1E46 004E 0323;\r
+1E47 006E 0323;\r
+1E48 004E 0331;\r
+1E49 006E 0331;\r
+1E4A 004E 032D;\r
+1E4B 006E 032D;\r
+1E4C 00D5 0301;\r
+1E4D 00F5 0301;\r
+1E4E 00D5 0308;\r
+1E4F 00F5 0308;\r
+1E50 014C 0300;\r
+1E51 014D 0300;\r
+1E52 014C 0301;\r
+1E53 014D 0301;\r
+1E54 0050 0301;\r
+1E55 0070 0301;\r
+1E56 0050 0307;\r
+1E57 0070 0307;\r
+1E58 0052 0307;\r
+1E59 0072 0307;\r
+1E5A 0052 0323;\r
+1E5B 0072 0323;\r
+1E5C 1E5A 0304;\r
+1E5D 1E5B 0304;\r
+1E5E 0052 0331;\r
+1E5F 0072 0331;\r
+1E60 0053 0307;\r
+1E61 0073 0307;\r
+1E62 0053 0323;\r
+1E63 0073 0323;\r
+1E64 015A 0307;\r
+1E65 015B 0307;\r
+1E66 0160 0307;\r
+1E67 0161 0307;\r
+1E68 1E62 0307;\r
+1E69 1E63 0307;\r
+1E6A 0054 0307;\r
+1E6B 0074 0307;\r
+1E6C 0054 0323;\r
+1E6D 0074 0323;\r
+1E6E 0054 0331;\r
+1E6F 0074 0331;\r
+1E70 0054 032D;\r
+1E71 0074 032D;\r
+1E72 0055 0324;\r
+1E73 0075 0324;\r
+1E74 0055 0330;\r
+1E75 0075 0330;\r
+1E76 0055 032D;\r
+1E77 0075 032D;\r
+1E78 0168 0301;\r
+1E79 0169 0301;\r
+1E7A 016A 0308;\r
+1E7B 016B 0308;\r
+1E7C 0056 0303;\r
+1E7D 0076 0303;\r
+1E7E 0056 0323;\r
+1E7F 0076 0323;\r
+1E80 0057 0300;\r
+1E81 0077 0300;\r
+1E82 0057 0301;\r
+1E83 0077 0301;\r
+1E84 0057 0308;\r
+1E85 0077 0308;\r
+1E86 0057 0307;\r
+1E87 0077 0307;\r
+1E88 0057 0323;\r
+1E89 0077 0323;\r
+1E8A 0058 0307;\r
+1E8B 0078 0307;\r
+1E8C 0058 0308;\r
+1E8D 0078 0308;\r
+1E8E 0059 0307;\r
+1E8F 0079 0307;\r
+1E90 005A 0302;\r
+1E91 007A 0302;\r
+1E92 005A 0323;\r
+1E93 007A 0323;\r
+1E94 005A 0331;\r
+1E95 007A 0331;\r
+1E96 0068 0331;\r
+1E97 0074 0308;\r
+1E98 0077 030A;\r
+1E99 0079 030A;\r
+1E9A 0061 02BE;<compat>;\r
+1E9B 017F 0307;\r
+1EA0 0041 0323;\r
+1EA1 0061 0323;\r
+1EA2 0041 0309;\r
+1EA3 0061 0309;\r
+1EA4 00C2 0301;\r
+1EA5 00E2 0301;\r
+1EA6 00C2 0300;\r
+1EA7 00E2 0300;\r
+1EA8 00C2 0309;\r
+1EA9 00E2 0309;\r
+1EAA 00C2 0303;\r
+1EAB 00E2 0303;\r
+1EAC 1EA0 0302;\r
+1EAD 1EA1 0302;\r
+1EAE 0102 0301;\r
+1EAF 0103 0301;\r
+1EB0 0102 0300;\r
+1EB1 0103 0300;\r
+1EB2 0102 0309;\r
+1EB3 0103 0309;\r
+1EB4 0102 0303;\r
+1EB5 0103 0303;\r
+1EB6 1EA0 0306;\r
+1EB7 1EA1 0306;\r
+1EB8 0045 0323;\r
+1EB9 0065 0323;\r
+1EBA 0045 0309;\r
+1EBB 0065 0309;\r
+1EBC 0045 0303;\r
+1EBD 0065 0303;\r
+1EBE 00CA 0301;\r
+1EBF 00EA 0301;\r
+1EC0 00CA 0300;\r
+1EC1 00EA 0300;\r
+1EC2 00CA 0309;\r
+1EC3 00EA 0309;\r
+1EC4 00CA 0303;\r
+1EC5 00EA 0303;\r
+1EC6 1EB8 0302;\r
+1EC7 1EB9 0302;\r
+1EC8 0049 0309;\r
+1EC9 0069 0309;\r
+1ECA 0049 0323;\r
+1ECB 0069 0323;\r
+1ECC 004F 0323;\r
+1ECD 006F 0323;\r
+1ECE 004F 0309;\r
+1ECF 006F 0309;\r
+1ED0 00D4 0301;\r
+1ED1 00F4 0301;\r
+1ED2 00D4 0300;\r
+1ED3 00F4 0300;\r
+1ED4 00D4 0309;\r
+1ED5 00F4 0309;\r
+1ED6 00D4 0303;\r
+1ED7 00F4 0303;\r
+1ED8 1ECC 0302;\r
+1ED9 1ECD 0302;\r
+1EDA 01A0 0301;\r
+1EDB 01A1 0301;\r
+1EDC 01A0 0300;\r
+1EDD 01A1 0300;\r
+1EDE 01A0 0309;\r
+1EDF 01A1 0309;\r
+1EE0 01A0 0303;\r
+1EE1 01A1 0303;\r
+1EE2 01A0 0323;\r
+1EE3 01A1 0323;\r
+1EE4 0055 0323;\r
+1EE5 0075 0323;\r
+1EE6 0055 0309;\r
+1EE7 0075 0309;\r
+1EE8 01AF 0301;\r
+1EE9 01B0 0301;\r
+1EEA 01AF 0300;\r
+1EEB 01B0 0300;\r
+1EEC 01AF 0309;\r
+1EED 01B0 0309;\r
+1EEE 01AF 0303;\r
+1EEF 01B0 0303;\r
+1EF0 01AF 0323;\r
+1EF1 01B0 0323;\r
+1EF2 0059 0300;\r
+1EF3 0079 0300;\r
+1EF4 0059 0323;\r
+1EF5 0079 0323;\r
+1EF6 0059 0309;\r
+1EF7 0079 0309;\r
+1EF8 0059 0303;\r
+1EF9 0079 0303;\r
+1F00 03B1 0313;\r
+1F01 03B1 0314;\r
+1F02 1F00 0300;\r
+1F03 1F01 0300;\r
+1F04 1F00 0301;\r
+1F05 1F01 0301;\r
+1F06 1F00 0342;\r
+1F07 1F01 0342;\r
+1F08 0391 0313;\r
+1F09 0391 0314;\r
+1F0A 1F08 0300;\r
+1F0B 1F09 0300;\r
+1F0C 1F08 0301;\r
+1F0D 1F09 0301;\r
+1F0E 1F08 0342;\r
+1F0F 1F09 0342;\r
+1F10 03B5 0313;\r
+1F11 03B5 0314;\r
+1F12 1F10 0300;\r
+1F13 1F11 0300;\r
+1F14 1F10 0301;\r
+1F15 1F11 0301;\r
+1F18 0395 0313;\r
+1F19 0395 0314;\r
+1F1A 1F18 0300;\r
+1F1B 1F19 0300;\r
+1F1C 1F18 0301;\r
+1F1D 1F19 0301;\r
+1F20 03B7 0313;\r
+1F21 03B7 0314;\r
+1F22 1F20 0300;\r
+1F23 1F21 0300;\r
+1F24 1F20 0301;\r
+1F25 1F21 0301;\r
+1F26 1F20 0342;\r
+1F27 1F21 0342;\r
+1F28 0397 0313;\r
+1F29 0397 0314;\r
+1F2A 1F28 0300;\r
+1F2B 1F29 0300;\r
+1F2C 1F28 0301;\r
+1F2D 1F29 0301;\r
+1F2E 1F28 0342;\r
+1F2F 1F29 0342;\r
+1F30 03B9 0313;\r
+1F31 03B9 0314;\r
+1F32 1F30 0300;\r
+1F33 1F31 0300;\r
+1F34 1F30 0301;\r
+1F35 1F31 0301;\r
+1F36 1F30 0342;\r
+1F37 1F31 0342;\r
+1F38 0399 0313;\r
+1F39 0399 0314;\r
+1F3A 1F38 0300;\r
+1F3B 1F39 0300;\r
+1F3C 1F38 0301;\r
+1F3D 1F39 0301;\r
+1F3E 1F38 0342;\r
+1F3F 1F39 0342;\r
+1F40 03BF 0313;\r
+1F41 03BF 0314;\r
+1F42 1F40 0300;\r
+1F43 1F41 0300;\r
+1F44 1F40 0301;\r
+1F45 1F41 0301;\r
+1F48 039F 0313;\r
+1F49 039F 0314;\r
+1F4A 1F48 0300;\r
+1F4B 1F49 0300;\r
+1F4C 1F48 0301;\r
+1F4D 1F49 0301;\r
+1F50 03C5 0313;\r
+1F51 03C5 0314;\r
+1F52 1F50 0300;\r
+1F53 1F51 0300;\r
+1F54 1F50 0301;\r
+1F55 1F51 0301;\r
+1F56 1F50 0342;\r
+1F57 1F51 0342;\r
+1F59 03A5 0314;\r
+1F5B 1F59 0300;\r
+1F5D 1F59 0301;\r
+1F5F 1F59 0342;\r
+1F60 03C9 0313;\r
+1F61 03C9 0314;\r
+1F62 1F60 0300;\r
+1F63 1F61 0300;\r
+1F64 1F60 0301;\r
+1F65 1F61 0301;\r
+1F66 1F60 0342;\r
+1F67 1F61 0342;\r
+1F68 03A9 0313;\r
+1F69 03A9 0314;\r
+1F6A 1F68 0300;\r
+1F6B 1F69 0300;\r
+1F6C 1F68 0301;\r
+1F6D 1F69 0301;\r
+1F6E 1F68 0342;\r
+1F6F 1F69 0342;\r
+1F70 03B1 0300;\r
+1F71 03AC 0000;\r
+1F72 03B5 0300;\r
+1F73 03AD 0000;\r
+1F74 03B7 0300;\r
+1F75 03AE 0000;\r
+1F76 03B9 0300;\r
+1F77 03AF 0000;\r
+1F78 03BF 0300;\r
+1F79 03CC 0000;\r
+1F7A 03C5 0300;\r
+1F7B 03CD 0000;\r
+1F7C 03C9 0300;\r
+1F7D 03CE 0000;\r
+1F80 1F00 0345;\r
+1F81 1F01 0345;\r
+1F82 1F02 0345;\r
+1F83 1F03 0345;\r
+1F84 1F04 0345;\r
+1F85 1F05 0345;\r
+1F86 1F06 0345;\r
+1F87 1F07 0345;\r
+1F88 1F08 0345;\r
+1F89 1F09 0345;\r
+1F8A 1F0A 0345;\r
+1F8B 1F0B 0345;\r
+1F8C 1F0C 0345;\r
+1F8D 1F0D 0345;\r
+1F8E 1F0E 0345;\r
+1F8F 1F0F 0345;\r
+1F90 1F20 0345;\r
+1F91 1F21 0345;\r
+1F92 1F22 0345;\r
+1F93 1F23 0345;\r
+1F94 1F24 0345;\r
+1F95 1F25 0345;\r
+1F96 1F26 0345;\r
+1F97 1F27 0345;\r
+1F98 1F28 0345;\r
+1F99 1F29 0345;\r
+1F9A 1F2A 0345;\r
+1F9B 1F2B 0345;\r
+1F9C 1F2C 0345;\r
+1F9D 1F2D 0345;\r
+1F9E 1F2E 0345;\r
+1F9F 1F2F 0345;\r
+1FA0 1F60 0345;\r
+1FA1 1F61 0345;\r
+1FA2 1F62 0345;\r
+1FA3 1F63 0345;\r
+1FA4 1F64 0345;\r
+1FA5 1F65 0345;\r
+1FA6 1F66 0345;\r
+1FA7 1F67 0345;\r
+1FA8 1F68 0345;\r
+1FA9 1F69 0345;\r
+1FAA 1F6A 0345;\r
+1FAB 1F6B 0345;\r
+1FAC 1F6C 0345;\r
+1FAD 1F6D 0345;\r
+1FAE 1F6E 0345;\r
+1FAF 1F6F 0345;\r
+1FB0 03B1 0306;\r
+1FB1 03B1 0304;\r
+1FB2 1F70 0345;\r
+1FB3 03B1 0345;\r
+1FB4 03AC 0345;\r
+1FB6 03B1 0342;\r
+1FB7 1FB6 0345;\r
+1FB8 0391 0306;\r
+1FB9 0391 0304;\r
+1FBA 0391 0300;\r
+1FBB 0386 0000;\r
+1FBC 0391 0345;\r
+1FBD 0020 0313;<compat>;\r
+1FBE 03B9 0000;\r
+1FBF 0020 0313;<compat>;\r
+1FC0 0020 0342;<compat>;\r
+1FC1 00A8 0342;\r
+1FC2 1F74 0345;\r
+1FC3 03B7 0345;\r
+1FC4 03AE 0345;\r
+1FC6 03B7 0342;\r
+1FC7 1FC6 0345;\r
+1FC8 0395 0300;\r
+1FC9 0388 0000;\r
+1FCA 0397 0300;\r
+1FCB 0389 0000;\r
+1FCC 0397 0345;\r
+1FCD 1FBF 0300;\r
+1FCE 1FBF 0301;\r
+1FCF 1FBF 0342;\r
+1FD0 03B9 0306;\r
+1FD1 03B9 0304;\r
+1FD2 03CA 0300;\r
+1FD3 0390 0000;\r
+1FD6 03B9 0342;\r
+1FD7 03CA 0342;\r
+1FD8 0399 0306;\r
+1FD9 0399 0304;\r
+1FDA 0399 0300;\r
+1FDB 038A 0000;\r
+1FDD 1FFE 0300;\r
+1FDE 1FFE 0301;\r
+1FDF 1FFE 0342;\r
+1FE0 03C5 0306;\r
+1FE1 03C5 0304;\r
+1FE2 03CB 0300;\r
+1FE3 03B0 0000;\r
+1FE4 03C1 0313;\r
+1FE5 03C1 0314;\r
+1FE6 03C5 0342;\r
+1FE7 03CB 0342;\r
+1FE8 03A5 0306;\r
+1FE9 03A5 0304;\r
+1FEA 03A5 0300;\r
+1FEB 038E 0000;\r
+1FEC 03A1 0314;\r
+1FED 00A8 0300;\r
+1FEE 0385 0000;\r
+1FEF 0060 0000;\r
+1FF2 1F7C 0345;\r
+1FF3 03C9 0345;\r
+1FF4 03CE 0345;\r
+1FF6 03C9 0342;\r
+1FF7 1FF6 0345;\r
+1FF8 039F 0300;\r
+1FF9 038C 0000;\r
+1FFA 03A9 0300;\r
+1FFB 038F 0000;\r
+1FFC 03A9 0345;\r
+1FFD 00B4 0000;\r
+1FFE 0020 0314;<compat>;\r
+2000 2002 0000;\r
+2001 2003 0000;\r
+2002 0020 0000;<compat>;\r
+2003 0020 0000;<compat>;\r
+2004 0020 0000;<compat>;\r
+2005 0020 0000;<compat>;\r
+2006 0020 0000;<compat>;\r
+2007 0020 0000;<noBreak>;\r
+2008 0020 0000;<compat>;\r
+2009 0020 0000;<compat>;\r
+200A 0020 0000;<compat>;\r
+2011 2010 0000;<noBreak>;\r
+2017 0020 0333;<compat>;\r
+2024 002E 0000;<compat>;\r
+2025 002E 002E;<compat>;\r
+2026 002E 002E;<compat>;\r
+202F 0020 0000;<noBreak>;\r
+2033 2032 2032;<compat>;\r
+2034 2032 2032;<compat>;\r
+2036 2035 2035;<compat>;\r
+2037 2035 2035;<compat>;\r
+203C 0021 0021;<compat>;\r
+203E 0020 0305;<compat>;\r
+2048 003F 0021;<compat>;\r
+2049 0021 003F;<compat>;\r
+2070 0030 0000;<super>;\r
+2074 0034 0000;<super>;\r
+2075 0035 0000;<super>;\r
+2076 0036 0000;<super>;\r
+2077 0037 0000;<super>;\r
+2078 0038 0000;<super>;\r
+2079 0039 0000;<super>;\r
+207A 002B 0000;<super>;\r
+207B 2212 0000;<super>;\r
+207C 003D 0000;<super>;\r
+207D 0028 0000;<super>;\r
+207E 0029 0000;<super>;\r
+207F 006E 0000;<super>;\r
+2080 0030 0000;<sub>;\r
+2081 0031 0000;<sub>;\r
+2082 0032 0000;<sub>;\r
+2083 0033 0000;<sub>;\r
+2084 0034 0000;<sub>;\r
+2085 0035 0000;<sub>;\r
+2086 0036 0000;<sub>;\r
+2087 0037 0000;<sub>;\r
+2088 0038 0000;<sub>;\r
+2089 0039 0000;<sub>;\r
+208A 002B 0000;<sub>;\r
+208B 2212 0000;<sub>;\r
+208C 003D 0000;<sub>;\r
+208D 0028 0000;<sub>;\r
+208E 0029 0000;<sub>;\r
+20A8 0052 0073;<compat>;\r
+2100 0061 002F;<compat>;\r
+2101 0061 002F;<compat>;\r
+2102 0043 0000;<font>;\r
+2103 00B0 0043;<compat>;\r
+2105 0063 002F;<compat>;\r
+2106 0063 002F;<compat>;\r
+2107 0190 0000;<compat>;\r
+2109 00B0 0046;<compat>;\r
+210A 0067 0000;<font>;\r
+210B 0048 0000;<font>;\r
+210C 0048 0000;<font>;\r
+210D 0048 0000;<font>;\r
+210E 0068 0000;<font>;\r
+210F 0127 0000;<font>;\r
+2110 0049 0000;<font>;\r
+2111 0049 0000;<font>;\r
+2112 004C 0000;<font>;\r
+2113 006C 0000;<font>;\r
+2115 004E 0000;<font>;\r
+2116 004E 006F;<compat>;\r
+2119 0050 0000;<font>;\r
+211A 0051 0000;<font>;\r
+211B 0052 0000;<font>;\r
+211C 0052 0000;<font>;\r
+211D 0052 0000;<font>;\r
+2120 0053 004D;<super>;\r
+2121 0054 0045;<compat>;\r
+2122 0054 004D;<super>;\r
+2124 005A 0000;<font>;\r
+2126 03A9 0000;\r
+2128 005A 0000;<font>;\r
+212A 004B 0000;\r
+212B 00C5 0000;\r
+212C 0042 0000;<font>;\r
+212D 0043 0000;<font>;\r
+212F 0065 0000;<font>;\r
+2130 0045 0000;<font>;\r
+2131 0046 0000;<font>;\r
+2133 004D 0000;<font>;\r
+2134 006F 0000;<font>;\r
+2135 05D0 0000;<compat>;\r
+2136 05D1 0000;<compat>;\r
+2137 05D2 0000;<compat>;\r
+2138 05D3 0000;<compat>;\r
+2139 0069 0000;<font>;\r
+2153 0031 2044;<fraction>;\r
+2154 0032 2044;<fraction>;\r
+2155 0031 2044;<fraction>;\r
+2156 0032 2044;<fraction>;\r
+2157 0033 2044;<fraction>;\r
+2158 0034 2044;<fraction>;\r
+2159 0031 2044;<fraction>;\r
+215A 0035 2044;<fraction>;\r
+215B 0031 2044;<fraction>;\r
+215C 0033 2044;<fraction>;\r
+215D 0035 2044;<fraction>;\r
+215E 0037 2044;<fraction>;\r
+215F 0031 2044;<fraction>;\r
+2160 0049 0000;<compat>;\r
+2161 0049 0049;<compat>;\r
+2162 0049 0049;<compat>;\r
+2163 0049 0056;<compat>;\r
+2164 0056 0000;<compat>;\r
+2165 0056 0049;<compat>;\r
+2166 0056 0049;<compat>;\r
+2167 0056 0049;<compat>;\r
+2168 0049 0058;<compat>;\r
+2169 0058 0000;<compat>;\r
+216A 0058 0049;<compat>;\r
+216B 0058 0049;<compat>;\r
+216C 004C 0000;<compat>;\r
+216D 0043 0000;<compat>;\r
+216E 0044 0000;<compat>;\r
+216F 004D 0000;<compat>;\r
+2170 0069 0000;<compat>;\r
+2171 0069 0069;<compat>;\r
+2172 0069 0069;<compat>;\r
+2173 0069 0076;<compat>;\r
+2174 0076 0000;<compat>;\r
+2175 0076 0069;<compat>;\r
+2176 0076 0069;<compat>;\r
+2177 0076 0069;<compat>;\r
+2178 0069 0078;<compat>;\r
+2179 0078 0000;<compat>;\r
+217A 0078 0069;<compat>;\r
+217B 0078 0069;<compat>;\r
+217C 006C 0000;<compat>;\r
+217D 0063 0000;<compat>;\r
+217E 0064 0000;<compat>;\r
+217F 006D 0000;<compat>;\r
+219A 2190 0338;\r
+219B 2192 0338;\r
+21AE 2194 0338;\r
+21CD 21D0 0338;\r
+21CE 21D4 0338;\r
+21CF 21D2 0338;\r
+2204 2203 0338;\r
+2209 2208 0338;\r
+220C 220B 0338;\r
+2224 2223 0338;\r
+2226 2225 0338;\r
+222C 222B 222B;<compat>;\r
+222D 222B 222B;<compat>;\r
+222F 222E 222E;<compat>;\r
+2230 222E 222E;<compat>;\r
+2241 223C 0338;\r
+2244 2243 0338;\r
+2247 2245 0338;\r
+2249 2248 0338;\r
+2260 003D 0338;\r
+2262 2261 0338;\r
+226D 224D 0338;\r
+226E 003C 0338;\r
+226F 003E 0338;\r
+2270 2264 0338;\r
+2271 2265 0338;\r
+2274 2272 0338;\r
+2275 2273 0338;\r
+2278 2276 0338;\r
+2279 2277 0338;\r
+2280 227A 0338;\r
+2281 227B 0338;\r
+2284 2282 0338;\r
+2285 2283 0338;\r
+2288 2286 0338;\r
+2289 2287 0338;\r
+22AC 22A2 0338;\r
+22AD 22A8 0338;\r
+22AE 22A9 0338;\r
+22AF 22AB 0338;\r
+22E0 227C 0338;\r
+22E1 227D 0338;\r
+22E2 2291 0338;\r
+22E3 2292 0338;\r
+22EA 22B2 0338;\r
+22EB 22B3 0338;\r
+22EC 22B4 0338;\r
+22ED 22B5 0338;\r
+2329 3008 0000;\r
+232A 3009 0000;\r
+2460 0031 0000;<circle>;\r
+2461 0032 0000;<circle>;\r
+2462 0033 0000;<circle>;\r
+2463 0034 0000;<circle>;\r
+2464 0035 0000;<circle>;\r
+2465 0036 0000;<circle>;\r
+2466 0037 0000;<circle>;\r
+2467 0038 0000;<circle>;\r
+2468 0039 0000;<circle>;\r
+2469 0031 0030;<circle>;\r
+246A 0031 0031;<circle>;\r
+246B 0031 0032;<circle>;\r
+246C 0031 0033;<circle>;\r
+246D 0031 0034;<circle>;\r
+246E 0031 0035;<circle>;\r
+246F 0031 0036;<circle>;\r
+2470 0031 0037;<circle>;\r
+2471 0031 0038;<circle>;\r
+2472 0031 0039;<circle>;\r
+2473 0032 0030;<circle>;\r
+2474 0028 0031;<compat>;\r
+2475 0028 0032;<compat>;\r
+2476 0028 0033;<compat>;\r
+2477 0028 0034;<compat>;\r
+2478 0028 0035;<compat>;\r
+2479 0028 0036;<compat>;\r
+247A 0028 0037;<compat>;\r
+247B 0028 0038;<compat>;\r
+247C 0028 0039;<compat>;\r
+247D 0028 0031;<compat>;\r
+247E 0028 0031;<compat>;\r
+247F 0028 0031;<compat>;\r
+2480 0028 0031;<compat>;\r
+2481 0028 0031;<compat>;\r
+2482 0028 0031;<compat>;\r
+2483 0028 0031;<compat>;\r
+2484 0028 0031;<compat>;\r
+2485 0028 0031;<compat>;\r
+2486 0028 0031;<compat>;\r
+2487 0028 0032;<compat>;\r
+2488 0031 002E;<compat>;\r
+2489 0032 002E;<compat>;\r
+248A 0033 002E;<compat>;\r
+248B 0034 002E;<compat>;\r
+248C 0035 002E;<compat>;\r
+248D 0036 002E;<compat>;\r
+248E 0037 002E;<compat>;\r
+248F 0038 002E;<compat>;\r
+2490 0039 002E;<compat>;\r
+2491 0031 0030;<compat>;\r
+2492 0031 0031;<compat>;\r
+2493 0031 0032;<compat>;\r
+2494 0031 0033;<compat>;\r
+2495 0031 0034;<compat>;\r
+2496 0031 0035;<compat>;\r
+2497 0031 0036;<compat>;\r
+2498 0031 0037;<compat>;\r
+2499 0031 0038;<compat>;\r
+249A 0031 0039;<compat>;\r
+249B 0032 0030;<compat>;\r
+249C 0028 0061;<compat>;\r
+249D 0028 0062;<compat>;\r
+249E 0028 0063;<compat>;\r
+249F 0028 0064;<compat>;\r
+24A0 0028 0065;<compat>;\r
+24A1 0028 0066;<compat>;\r
+24A2 0028 0067;<compat>;\r
+24A3 0028 0068;<compat>;\r
+24A4 0028 0069;<compat>;\r
+24A5 0028 006A;<compat>;\r
+24A6 0028 006B;<compat>;\r
+24A7 0028 006C;<compat>;\r
+24A8 0028 006D;<compat>;\r
+24A9 0028 006E;<compat>;\r
+24AA 0028 006F;<compat>;\r
+24AB 0028 0070;<compat>;\r
+24AC 0028 0071;<compat>;\r
+24AD 0028 0072;<compat>;\r
+24AE 0028 0073;<compat>;\r
+24AF 0028 0074;<compat>;\r
+24B0 0028 0075;<compat>;\r
+24B1 0028 0076;<compat>;\r
+24B2 0028 0077;<compat>;\r
+24B3 0028 0078;<compat>;\r
+24B4 0028 0079;<compat>;\r
+24B5 0028 007A;<compat>;\r
+24B6 0041 0000;<circle>;\r
+24B7 0042 0000;<circle>;\r
+24B8 0043 0000;<circle>;\r
+24B9 0044 0000;<circle>;\r
+24BA 0045 0000;<circle>;\r
+24BB 0046 0000;<circle>;\r
+24BC 0047 0000;<circle>;\r
+24BD 0048 0000;<circle>;\r
+24BE 0049 0000;<circle>;\r
+24BF 004A 0000;<circle>;\r
+24C0 004B 0000;<circle>;\r
+24C1 004C 0000;<circle>;\r
+24C2 004D 0000;<circle>;\r
+24C3 004E 0000;<circle>;\r
+24C4 004F 0000;<circle>;\r
+24C5 0050 0000;<circle>;\r
+24C6 0051 0000;<circle>;\r
+24C7 0052 0000;<circle>;\r
+24C8 0053 0000;<circle>;\r
+24C9 0054 0000;<circle>;\r
+24CA 0055 0000;<circle>;\r
+24CB 0056 0000;<circle>;\r
+24CC 0057 0000;<circle>;\r
+24CD 0058 0000;<circle>;\r
+24CE 0059 0000;<circle>;\r
+24CF 005A 0000;<circle>;\r
+24D0 0061 0000;<circle>;\r
+24D1 0062 0000;<circle>;\r
+24D2 0063 0000;<circle>;\r
+24D3 0064 0000;<circle>;\r
+24D4 0065 0000;<circle>;\r
+24D5 0066 0000;<circle>;\r
+24D6 0067 0000;<circle>;\r
+24D7 0068 0000;<circle>;\r
+24D8 0069 0000;<circle>;\r
+24D9 006A 0000;<circle>;\r
+24DA 006B 0000;<circle>;\r
+24DB 006C 0000;<circle>;\r
+24DC 006D 0000;<circle>;\r
+24DD 006E 0000;<circle>;\r
+24DE 006F 0000;<circle>;\r
+24DF 0070 0000;<circle>;\r
+24E0 0071 0000;<circle>;\r
+24E1 0072 0000;<circle>;\r
+24E2 0073 0000;<circle>;\r
+24E3 0074 0000;<circle>;\r
+24E4 0075 0000;<circle>;\r
+24E5 0076 0000;<circle>;\r
+24E6 0077 0000;<circle>;\r
+24E7 0078 0000;<circle>;\r
+24E8 0079 0000;<circle>;\r
+24E9 007A 0000;<circle>;\r
+24EA 0030 0000;<circle>;\r
+2E9F 6BCD 0000;<compat>;\r
+2EF3 9F9F 0000;<compat>;\r
+2F00 4E00 0000;<compat>;\r
+2F01 4E28 0000;<compat>;\r
+2F02 4E36 0000;<compat>;\r
+2F03 4E3F 0000;<compat>;\r
+2F04 4E59 0000;<compat>;\r
+2F05 4E85 0000;<compat>;\r
+2F06 4E8C 0000;<compat>;\r
+2F07 4EA0 0000;<compat>;\r
+2F08 4EBA 0000;<compat>;\r
+2F09 513F 0000;<compat>;\r
+2F0A 5165 0000;<compat>;\r
+2F0B 516B 0000;<compat>;\r
+2F0C 5182 0000;<compat>;\r
+2F0D 5196 0000;<compat>;\r
+2F0E 51AB 0000;<compat>;\r
+2F0F 51E0 0000;<compat>;\r
+2F10 51F5 0000;<compat>;\r
+2F11 5200 0000;<compat>;\r
+2F12 529B 0000;<compat>;\r
+2F13 52F9 0000;<compat>;\r
+2F14 5315 0000;<compat>;\r
+2F15 531A 0000;<compat>;\r
+2F16 5338 0000;<compat>;\r
+2F17 5341 0000;<compat>;\r
+2F18 535C 0000;<compat>;\r
+2F19 5369 0000;<compat>;\r
+2F1A 5382 0000;<compat>;\r
+2F1B 53B6 0000;<compat>;\r
+2F1C 53C8 0000;<compat>;\r
+2F1D 53E3 0000;<compat>;\r
+2F1E 56D7 0000;<compat>;\r
+2F1F 571F 0000;<compat>;\r
+2F20 58EB 0000;<compat>;\r
+2F21 5902 0000;<compat>;\r
+2F22 590A 0000;<compat>;\r
+2F23 5915 0000;<compat>;\r
+2F24 5927 0000;<compat>;\r
+2F25 5973 0000;<compat>;\r
+2F26 5B50 0000;<compat>;\r
+2F27 5B80 0000;<compat>;\r
+2F28 5BF8 0000;<compat>;\r
+2F29 5C0F 0000;<compat>;\r
+2F2A 5C22 0000;<compat>;\r
+2F2B 5C38 0000;<compat>;\r
+2F2C 5C6E 0000;<compat>;\r
+2F2D 5C71 0000;<compat>;\r
+2F2E 5DDB 0000;<compat>;\r
+2F2F 5DE5 0000;<compat>;\r
+2F30 5DF1 0000;<compat>;\r
+2F31 5DFE 0000;<compat>;\r
+2F32 5E72 0000;<compat>;\r
+2F33 5E7A 0000;<compat>;\r
+2F34 5E7F 0000;<compat>;\r
+2F35 5EF4 0000;<compat>;\r
+2F36 5EFE 0000;<compat>;\r
+2F37 5F0B 0000;<compat>;\r
+2F38 5F13 0000;<compat>;\r
+2F39 5F50 0000;<compat>;\r
+2F3A 5F61 0000;<compat>;\r
+2F3B 5F73 0000;<compat>;\r
+2F3C 5FC3 0000;<compat>;\r
+2F3D 6208 0000;<compat>;\r
+2F3E 6236 0000;<compat>;\r
+2F3F 624B 0000;<compat>;\r
+2F40 652F 0000;<compat>;\r
+2F41 6534 0000;<compat>;\r
+2F42 6587 0000;<compat>;\r
+2F43 6597 0000;<compat>;\r
+2F44 65A4 0000;<compat>;\r
+2F45 65B9 0000;<compat>;\r
+2F46 65E0 0000;<compat>;\r
+2F47 65E5 0000;<compat>;\r
+2F48 66F0 0000;<compat>;\r
+2F49 6708 0000;<compat>;\r
+2F4A 6728 0000;<compat>;\r
+2F4B 6B20 0000;<compat>;\r
+2F4C 6B62 0000;<compat>;\r
+2F4D 6B79 0000;<compat>;\r
+2F4E 6BB3 0000;<compat>;\r
+2F4F 6BCB 0000;<compat>;\r
+2F50 6BD4 0000;<compat>;\r
+2F51 6BDB 0000;<compat>;\r
+2F52 6C0F 0000;<compat>;\r
+2F53 6C14 0000;<compat>;\r
+2F54 6C34 0000;<compat>;\r
+2F55 706B 0000;<compat>;\r
+2F56 722A 0000;<compat>;\r
+2F57 7236 0000;<compat>;\r
+2F58 723B 0000;<compat>;\r
+2F59 723F 0000;<compat>;\r
+2F5A 7247 0000;<compat>;\r
+2F5B 7259 0000;<compat>;\r
+2F5C 725B 0000;<compat>;\r
+2F5D 72AC 0000;<compat>;\r
+2F5E 7384 0000;<compat>;\r
+2F5F 7389 0000;<compat>;\r
+2F60 74DC 0000;<compat>;\r
+2F61 74E6 0000;<compat>;\r
+2F62 7518 0000;<compat>;\r
+2F63 751F 0000;<compat>;\r
+2F64 7528 0000;<compat>;\r
+2F65 7530 0000;<compat>;\r
+2F66 758B 0000;<compat>;\r
+2F67 7592 0000;<compat>;\r
+2F68 7676 0000;<compat>;\r
+2F69 767D 0000;<compat>;\r
+2F6A 76AE 0000;<compat>;\r
+2F6B 76BF 0000;<compat>;\r
+2F6C 76EE 0000;<compat>;\r
+2F6D 77DB 0000;<compat>;\r
+2F6E 77E2 0000;<compat>;\r
+2F6F 77F3 0000;<compat>;\r
+2F70 793A 0000;<compat>;\r
+2F71 79B8 0000;<compat>;\r
+2F72 79BE 0000;<compat>;\r
+2F73 7A74 0000;<compat>;\r
+2F74 7ACB 0000;<compat>;\r
+2F75 7AF9 0000;<compat>;\r
+2F76 7C73 0000;<compat>;\r
+2F77 7CF8 0000;<compat>;\r
+2F78 7F36 0000;<compat>;\r
+2F79 7F51 0000;<compat>;\r
+2F7A 7F8A 0000;<compat>;\r
+2F7B 7FBD 0000;<compat>;\r
+2F7C 8001 0000;<compat>;\r
+2F7D 800C 0000;<compat>;\r
+2F7E 8012 0000;<compat>;\r
+2F7F 8033 0000;<compat>;\r
+2F80 807F 0000;<compat>;\r
+2F81 8089 0000;<compat>;\r
+2F82 81E3 0000;<compat>;\r
+2F83 81EA 0000;<compat>;\r
+2F84 81F3 0000;<compat>;\r
+2F85 81FC 0000;<compat>;\r
+2F86 820C 0000;<compat>;\r
+2F87 821B 0000;<compat>;\r
+2F88 821F 0000;<compat>;\r
+2F89 826E 0000;<compat>;\r
+2F8A 8272 0000;<compat>;\r
+2F8B 8278 0000;<compat>;\r
+2F8C 864D 0000;<compat>;\r
+2F8D 866B 0000;<compat>;\r
+2F8E 8840 0000;<compat>;\r
+2F8F 884C 0000;<compat>;\r
+2F90 8863 0000;<compat>;\r
+2F91 897E 0000;<compat>;\r
+2F92 898B 0000;<compat>;\r
+2F93 89D2 0000;<compat>;\r
+2F94 8A00 0000;<compat>;\r
+2F95 8C37 0000;<compat>;\r
+2F96 8C46 0000;<compat>;\r
+2F97 8C55 0000;<compat>;\r
+2F98 8C78 0000;<compat>;\r
+2F99 8C9D 0000;<compat>;\r
+2F9A 8D64 0000;<compat>;\r
+2F9B 8D70 0000;<compat>;\r
+2F9C 8DB3 0000;<compat>;\r
+2F9D 8EAB 0000;<compat>;\r
+2F9E 8ECA 0000;<compat>;\r
+2F9F 8F9B 0000;<compat>;\r
+2FA0 8FB0 0000;<compat>;\r
+2FA1 8FB5 0000;<compat>;\r
+2FA2 9091 0000;<compat>;\r
+2FA3 9149 0000;<compat>;\r
+2FA4 91C6 0000;<compat>;\r
+2FA5 91CC 0000;<compat>;\r
+2FA6 91D1 0000;<compat>;\r
+2FA7 9577 0000;<compat>;\r
+2FA8 9580 0000;<compat>;\r
+2FA9 961C 0000;<compat>;\r
+2FAA 96B6 0000;<compat>;\r
+2FAB 96B9 0000;<compat>;\r
+2FAC 96E8 0000;<compat>;\r
+2FAD 9751 0000;<compat>;\r
+2FAE 975E 0000;<compat>;\r
+2FAF 9762 0000;<compat>;\r
+2FB0 9769 0000;<compat>;\r
+2FB1 97CB 0000;<compat>;\r
+2FB2 97ED 0000;<compat>;\r
+2FB3 97F3 0000;<compat>;\r
+2FB4 9801 0000;<compat>;\r
+2FB5 98A8 0000;<compat>;\r
+2FB6 98DB 0000;<compat>;\r
+2FB7 98DF 0000;<compat>;\r
+2FB8 9996 0000;<compat>;\r
+2FB9 9999 0000;<compat>;\r
+2FBA 99AC 0000;<compat>;\r
+2FBB 9AA8 0000;<compat>;\r
+2FBC 9AD8 0000;<compat>;\r
+2FBD 9ADF 0000;<compat>;\r
+2FBE 9B25 0000;<compat>;\r
+2FBF 9B2F 0000;<compat>;\r
+2FC0 9B32 0000;<compat>;\r
+2FC1 9B3C 0000;<compat>;\r
+2FC2 9B5A 0000;<compat>;\r
+2FC3 9CE5 0000;<compat>;\r
+2FC4 9E75 0000;<compat>;\r
+2FC5 9E7F 0000;<compat>;\r
+2FC6 9EA5 0000;<compat>;\r
+2FC7 9EBB 0000;<compat>;\r
+2FC8 9EC3 0000;<compat>;\r
+2FC9 9ECD 0000;<compat>;\r
+2FCA 9ED1 0000;<compat>;\r
+2FCB 9EF9 0000;<compat>;\r
+2FCC 9EFD 0000;<compat>;\r
+2FCD 9F0E 0000;<compat>;\r
+2FCE 9F13 0000;<compat>;\r
+2FCF 9F20 0000;<compat>;\r
+2FD0 9F3B 0000;<compat>;\r
+2FD1 9F4A 0000;<compat>;\r
+2FD2 9F52 0000;<compat>;\r
+2FD3 9F8D 0000;<compat>;\r
+2FD4 9F9C 0000;<compat>;\r
+2FD5 9FA0 0000;<compat>;\r
+3000 0020 0000;<wide>;\r
+3036 3012 0000;<compat>;\r
+3038 5341 0000;<compat>;\r
+3039 5344 0000;<compat>;\r
+303A 5345 0000;<compat>;\r
+304C 304B 3099;\r
+304E 304D 3099;\r
+3050 304F 3099;\r
+3052 3051 3099;\r
+3054 3053 3099;\r
+3056 3055 3099;\r
+3058 3057 3099;\r
+305A 3059 3099;\r
+305C 305B 3099;\r
+305E 305D 3099;\r
+3060 305F 3099;\r
+3062 3061 3099;\r
+3065 3064 3099;\r
+3067 3066 3099;\r
+3069 3068 3099;\r
+3070 306F 3099;\r
+3071 306F 309A;\r
+3073 3072 3099;\r
+3074 3072 309A;\r
+3076 3075 3099;\r
+3077 3075 309A;\r
+3079 3078 3099;\r
+307A 3078 309A;\r
+307C 307B 3099;\r
+307D 307B 309A;\r
+3094 3046 3099;\r
+309B 0020 3099;<compat>;\r
+309C 0020 309A;<compat>;\r
+309E 309D 3099;\r
+30AC 30AB 3099;\r
+30AE 30AD 3099;\r
+30B0 30AF 3099;\r
+30B2 30B1 3099;\r
+30B4 30B3 3099;\r
+30B6 30B5 3099;\r
+30B8 30B7 3099;\r
+30BA 30B9 3099;\r
+30BC 30BB 3099;\r
+30BE 30BD 3099;\r
+30C0 30BF 3099;\r
+30C2 30C1 3099;\r
+30C5 30C4 3099;\r
+30C7 30C6 3099;\r
+30C9 30C8 3099;\r
+30D0 30CF 3099;\r
+30D1 30CF 309A;\r
+30D3 30D2 3099;\r
+30D4 30D2 309A;\r
+30D6 30D5 3099;\r
+30D7 30D5 309A;\r
+30D9 30D8 3099;\r
+30DA 30D8 309A;\r
+30DC 30DB 3099;\r
+30DD 30DB 309A;\r
+30F4 30A6 3099;\r
+30F7 30EF 3099;\r
+30F8 30F0 3099;\r
+30F9 30F1 3099;\r
+30FA 30F2 3099;\r
+30FE 30FD 3099;\r
+3131 1100 0000;<compat>;\r
+3132 1101 0000;<compat>;\r
+3133 11AA 0000;<compat>;\r
+3134 1102 0000;<compat>;\r
+3135 11AC 0000;<compat>;\r
+3136 11AD 0000;<compat>;\r
+3137 1103 0000;<compat>;\r
+3138 1104 0000;<compat>;\r
+3139 1105 0000;<compat>;\r
+313A 11B0 0000;<compat>;\r
+313B 11B1 0000;<compat>;\r
+313C 11B2 0000;<compat>;\r
+313D 11B3 0000;<compat>;\r
+313E 11B4 0000;<compat>;\r
+313F 11B5 0000;<compat>;\r
+3140 111A 0000;<compat>;\r
+3141 1106 0000;<compat>;\r
+3142 1107 0000;<compat>;\r
+3143 1108 0000;<compat>;\r
+3144 1121 0000;<compat>;\r
+3145 1109 0000;<compat>;\r
+3146 110A 0000;<compat>;\r
+3147 110B 0000;<compat>;\r
+3148 110C 0000;<compat>;\r
+3149 110D 0000;<compat>;\r
+314A 110E 0000;<compat>;\r
+314B 110F 0000;<compat>;\r
+314C 1110 0000;<compat>;\r
+314D 1111 0000;<compat>;\r
+314E 1112 0000;<compat>;\r
+314F 1161 0000;<compat>;\r
+3150 1162 0000;<compat>;\r
+3151 1163 0000;<compat>;\r
+3152 1164 0000;<compat>;\r
+3153 1165 0000;<compat>;\r
+3154 1166 0000;<compat>;\r
+3155 1167 0000;<compat>;\r
+3156 1168 0000;<compat>;\r
+3157 1169 0000;<compat>;\r
+3158 116A 0000;<compat>;\r
+3159 116B 0000;<compat>;\r
+315A 116C 0000;<compat>;\r
+315B 116D 0000;<compat>;\r
+315C 116E 0000;<compat>;\r
+315D 116F 0000;<compat>;\r
+315E 1170 0000;<compat>;\r
+315F 1171 0000;<compat>;\r
+3160 1172 0000;<compat>;\r
+3161 1173 0000;<compat>;\r
+3162 1174 0000;<compat>;\r
+3163 1175 0000;<compat>;\r
+3164 1160 0000;<compat>;\r
+3165 1114 0000;<compat>;\r
+3166 1115 0000;<compat>;\r
+3167 11C7 0000;<compat>;\r
+3168 11C8 0000;<compat>;\r
+3169 11CC 0000;<compat>;\r
+316A 11CE 0000;<compat>;\r
+316B 11D3 0000;<compat>;\r
+316C 11D7 0000;<compat>;\r
+316D 11D9 0000;<compat>;\r
+316E 111C 0000;<compat>;\r
+316F 11DD 0000;<compat>;\r
+3170 11DF 0000;<compat>;\r
+3171 111D 0000;<compat>;\r
+3172 111E 0000;<compat>;\r
+3173 1120 0000;<compat>;\r
+3174 1122 0000;<compat>;\r
+3175 1123 0000;<compat>;\r
+3176 1127 0000;<compat>;\r
+3177 1129 0000;<compat>;\r
+3178 112B 0000;<compat>;\r
+3179 112C 0000;<compat>;\r
+317A 112D 0000;<compat>;\r
+317B 112E 0000;<compat>;\r
+317C 112F 0000;<compat>;\r
+317D 1132 0000;<compat>;\r
+317E 1136 0000;<compat>;\r
+317F 1140 0000;<compat>;\r
+3180 1147 0000;<compat>;\r
+3181 114C 0000;<compat>;\r
+3182 11F1 0000;<compat>;\r
+3183 11F2 0000;<compat>;\r
+3184 1157 0000;<compat>;\r
+3185 1158 0000;<compat>;\r
+3186 1159 0000;<compat>;\r
+3187 1184 0000;<compat>;\r
+3188 1185 0000;<compat>;\r
+3189 1188 0000;<compat>;\r
+318A 1191 0000;<compat>;\r
+318B 1192 0000;<compat>;\r
+318C 1194 0000;<compat>;\r
+318D 119E 0000;<compat>;\r
+318E 11A1 0000;<compat>;\r
+3192 4E00 0000;<super>;\r
+3193 4E8C 0000;<super>;\r
+3194 4E09 0000;<super>;\r
+3195 56DB 0000;<super>;\r
+3196 4E0A 0000;<super>;\r
+3197 4E2D 0000;<super>;\r
+3198 4E0B 0000;<super>;\r
+3199 7532 0000;<super>;\r
+319A 4E59 0000;<super>;\r
+319B 4E19 0000;<super>;\r
+319C 4E01 0000;<super>;\r
+319D 5929 0000;<super>;\r
+319E 5730 0000;<super>;\r
+319F 4EBA 0000;<super>;\r
+3200 0028 1100;<compat>;\r
+3201 0028 1102;<compat>;\r
+3202 0028 1103;<compat>;\r
+3203 0028 1105;<compat>;\r
+3204 0028 1106;<compat>;\r
+3205 0028 1107;<compat>;\r
+3206 0028 1109;<compat>;\r
+3207 0028 110B;<compat>;\r
+3208 0028 110C;<compat>;\r
+3209 0028 110E;<compat>;\r
+320A 0028 110F;<compat>;\r
+320B 0028 1110;<compat>;\r
+320C 0028 1111;<compat>;\r
+320D 0028 1112;<compat>;\r
+320E 0028 1100;<compat>;\r
+320F 0028 1102;<compat>;\r
+3210 0028 1103;<compat>;\r
+3211 0028 1105;<compat>;\r
+3212 0028 1106;<compat>;\r
+3213 0028 1107;<compat>;\r
+3214 0028 1109;<compat>;\r
+3215 0028 110B;<compat>;\r
+3216 0028 110C;<compat>;\r
+3217 0028 110E;<compat>;\r
+3218 0028 110F;<compat>;\r
+3219 0028 1110;<compat>;\r
+321A 0028 1111;<compat>;\r
+321B 0028 1112;<compat>;\r
+321C 0028 110C;<compat>;\r
+3220 0028 4E00;<compat>;\r
+3221 0028 4E8C;<compat>;\r
+3222 0028 4E09;<compat>;\r
+3223 0028 56DB;<compat>;\r
+3224 0028 4E94;<compat>;\r
+3225 0028 516D;<compat>;\r
+3226 0028 4E03;<compat>;\r
+3227 0028 516B;<compat>;\r
+3228 0028 4E5D;<compat>;\r
+3229 0028 5341;<compat>;\r
+322A 0028 6708;<compat>;\r
+322B 0028 706B;<compat>;\r
+322C 0028 6C34;<compat>;\r
+322D 0028 6728;<compat>;\r
+322E 0028 91D1;<compat>;\r
+322F 0028 571F;<compat>;\r
+3230 0028 65E5;<compat>;\r
+3231 0028 682A;<compat>;\r
+3232 0028 6709;<compat>;\r
+3233 0028 793E;<compat>;\r
+3234 0028 540D;<compat>;\r
+3235 0028 7279;<compat>;\r
+3236 0028 8CA1;<compat>;\r
+3237 0028 795D;<compat>;\r
+3238 0028 52B4;<compat>;\r
+3239 0028 4EE3;<compat>;\r
+323A 0028 547C;<compat>;\r
+323B 0028 5B66;<compat>;\r
+323C 0028 76E3;<compat>;\r
+323D 0028 4F01;<compat>;\r
+323E 0028 8CC7;<compat>;\r
+323F 0028 5354;<compat>;\r
+3240 0028 796D;<compat>;\r
+3241 0028 4F11;<compat>;\r
+3242 0028 81EA;<compat>;\r
+3243 0028 81F3;<compat>;\r
+3260 1100 0000;<circle>;\r
+3261 1102 0000;<circle>;\r
+3262 1103 0000;<circle>;\r
+3263 1105 0000;<circle>;\r
+3264 1106 0000;<circle>;\r
+3265 1107 0000;<circle>;\r
+3266 1109 0000;<circle>;\r
+3267 110B 0000;<circle>;\r
+3268 110C 0000;<circle>;\r
+3269 110E 0000;<circle>;\r
+326A 110F 0000;<circle>;\r
+326B 1110 0000;<circle>;\r
+326C 1111 0000;<circle>;\r
+326D 1112 0000;<circle>;\r
+326E 1100 1161;<circle>;\r
+326F 1102 1161;<circle>;\r
+3270 1103 1161;<circle>;\r
+3271 1105 1161;<circle>;\r
+3272 1106 1161;<circle>;\r
+3273 1107 1161;<circle>;\r
+3274 1109 1161;<circle>;\r
+3275 110B 1161;<circle>;\r
+3276 110C 1161;<circle>;\r
+3277 110E 1161;<circle>;\r
+3278 110F 1161;<circle>;\r
+3279 1110 1161;<circle>;\r
+327A 1111 1161;<circle>;\r
+327B 1112 1161;<circle>;\r
+3280 4E00 0000;<circle>;\r
+3281 4E8C 0000;<circle>;\r
+3282 4E09 0000;<circle>;\r
+3283 56DB 0000;<circle>;\r
+3284 4E94 0000;<circle>;\r
+3285 516D 0000;<circle>;\r
+3286 4E03 0000;<circle>;\r
+3287 516B 0000;<circle>;\r
+3288 4E5D 0000;<circle>;\r
+3289 5341 0000;<circle>;\r
+328A 6708 0000;<circle>;\r
+328B 706B 0000;<circle>;\r
+328C 6C34 0000;<circle>;\r
+328D 6728 0000;<circle>;\r
+328E 91D1 0000;<circle>;\r
+328F 571F 0000;<circle>;\r
+3290 65E5 0000;<circle>;\r
+3291 682A 0000;<circle>;\r
+3292 6709 0000;<circle>;\r
+3293 793E 0000;<circle>;\r
+3294 540D 0000;<circle>;\r
+3295 7279 0000;<circle>;\r
+3296 8CA1 0000;<circle>;\r
+3297 795D 0000;<circle>;\r
+3298 52B4 0000;<circle>;\r
+3299 79D8 0000;<circle>;\r
+329A 7537 0000;<circle>;\r
+329B 5973 0000;<circle>;\r
+329C 9069 0000;<circle>;\r
+329D 512A 0000;<circle>;\r
+329E 5370 0000;<circle>;\r
+329F 6CE8 0000;<circle>;\r
+32A0 9805 0000;<circle>;\r
+32A1 4F11 0000;<circle>;\r
+32A2 5199 0000;<circle>;\r
+32A3 6B63 0000;<circle>;\r
+32A4 4E0A 0000;<circle>;\r
+32A5 4E2D 0000;<circle>;\r
+32A6 4E0B 0000;<circle>;\r
+32A7 5DE6 0000;<circle>;\r
+32A8 53F3 0000;<circle>;\r
+32A9 533B 0000;<circle>;\r
+32AA 5B97 0000;<circle>;\r
+32AB 5B66 0000;<circle>;\r
+32AC 76E3 0000;<circle>;\r
+32AD 4F01 0000;<circle>;\r
+32AE 8CC7 0000;<circle>;\r
+32AF 5354 0000;<circle>;\r
+32B0 591C 0000;<circle>;\r
+32C0 0031 6708;<compat>;\r
+32C1 0032 6708;<compat>;\r
+32C2 0033 6708;<compat>;\r
+32C3 0034 6708;<compat>;\r
+32C4 0035 6708;<compat>;\r
+32C5 0036 6708;<compat>;\r
+32C6 0037 6708;<compat>;\r
+32C7 0038 6708;<compat>;\r
+32C8 0039 6708;<compat>;\r
+32C9 0031 0030;<compat>;\r
+32CA 0031 0031;<compat>;\r
+32CB 0031 0032;<compat>;\r
+32D0 30A2 0000;<circle>;\r
+32D1 30A4 0000;<circle>;\r
+32D2 30A6 0000;<circle>;\r
+32D3 30A8 0000;<circle>;\r
+32D4 30AA 0000;<circle>;\r
+32D5 30AB 0000;<circle>;\r
+32D6 30AD 0000;<circle>;\r
+32D7 30AF 0000;<circle>;\r
+32D8 30B1 0000;<circle>;\r
+32D9 30B3 0000;<circle>;\r
+32DA 30B5 0000;<circle>;\r
+32DB 30B7 0000;<circle>;\r
+32DC 30B9 0000;<circle>;\r
+32DD 30BB 0000;<circle>;\r
+32DE 30BD 0000;<circle>;\r
+32DF 30BF 0000;<circle>;\r
+32E0 30C1 0000;<circle>;\r
+32E1 30C4 0000;<circle>;\r
+32E2 30C6 0000;<circle>;\r
+32E3 30C8 0000;<circle>;\r
+32E4 30CA 0000;<circle>;\r
+32E5 30CB 0000;<circle>;\r
+32E6 30CC 0000;<circle>;\r
+32E7 30CD 0000;<circle>;\r
+32E8 30CE 0000;<circle>;\r
+32E9 30CF 0000;<circle>;\r
+32EA 30D2 0000;<circle>;\r
+32EB 30D5 0000;<circle>;\r
+32EC 30D8 0000;<circle>;\r
+32ED 30DB 0000;<circle>;\r
+32EE 30DE 0000;<circle>;\r
+32EF 30DF 0000;<circle>;\r
+32F0 30E0 0000;<circle>;\r
+32F1 30E1 0000;<circle>;\r
+32F2 30E2 0000;<circle>;\r
+32F3 30E4 0000;<circle>;\r
+32F4 30E6 0000;<circle>;\r
+32F5 30E8 0000;<circle>;\r
+32F6 30E9 0000;<circle>;\r
+32F7 30EA 0000;<circle>;\r
+32F8 30EB 0000;<circle>;\r
+32F9 30EC 0000;<circle>;\r
+32FA 30ED 0000;<circle>;\r
+32FB 30EF 0000;<circle>;\r
+32FC 30F0 0000;<circle>;\r
+32FD 30F1 0000;<circle>;\r
+32FE 30F2 0000;<circle>;\r
+3300 30A2 30D1;<square>;\r
+3301 30A2 30EB;<square>;\r
+3302 30A2 30F3;<square>;\r
+3303 30A2 30FC;<square>;\r
+3304 30A4 30CB;<square>;\r
+3305 30A4 30F3;<square>;\r
+3306 30A6 30A9;<square>;\r
+3307 30A8 30B9;<square>;\r
+3308 30A8 30FC;<square>;\r
+3309 30AA 30F3;<square>;\r
+330A 30AA 30FC;<square>;\r
+330B 30AB 30A4;<square>;\r
+330C 30AB 30E9;<square>;\r
+330D 30AB 30ED;<square>;\r
+330E 30AC 30ED;<square>;\r
+330F 30AC 30F3;<square>;\r
+3310 30AE 30AC;<square>;\r
+3311 30AE 30CB;<square>;\r
+3312 30AD 30E5;<square>;\r
+3313 30AE 30EB;<square>;\r
+3314 30AD 30ED;<square>;\r
+3315 30AD 30ED;<square>;\r
+3316 30AD 30ED;<square>;\r
+3317 30AD 30ED;<square>;\r
+3318 30B0 30E9;<square>;\r
+3319 30B0 30E9;<square>;\r
+331A 30AF 30EB;<square>;\r
+331B 30AF 30ED;<square>;\r
+331C 30B1 30FC;<square>;\r
+331D 30B3 30EB;<square>;\r
+331E 30B3 30FC;<square>;\r
+331F 30B5 30A4;<square>;\r
+3320 30B5 30F3;<square>;\r
+3321 30B7 30EA;<square>;\r
+3322 30BB 30F3;<square>;\r
+3323 30BB 30F3;<square>;\r
+3324 30C0 30FC;<square>;\r
+3325 30C7 30B7;<square>;\r
+3326 30C9 30EB;<square>;\r
+3327 30C8 30F3;<square>;\r
+3328 30CA 30CE;<square>;\r
+3329 30CE 30C3;<square>;\r
+332A 30CF 30A4;<square>;\r
+332B 30D1 30FC;<square>;\r
+332C 30D1 30FC;<square>;\r
+332D 30D0 30FC;<square>;\r
+332E 30D4 30A2;<square>;\r
+332F 30D4 30AF;<square>;\r
+3330 30D4 30B3;<square>;\r
+3331 30D3 30EB;<square>;\r
+3332 30D5 30A1;<square>;\r
+3333 30D5 30A3;<square>;\r
+3334 30D6 30C3;<square>;\r
+3335 30D5 30E9;<square>;\r
+3336 30D8 30AF;<square>;\r
+3337 30DA 30BD;<square>;\r
+3338 30DA 30CB;<square>;\r
+3339 30D8 30EB;<square>;\r
+333A 30DA 30F3;<square>;\r
+333B 30DA 30FC;<square>;\r
+333C 30D9 30FC;<square>;\r
+333D 30DD 30A4;<square>;\r
+333E 30DC 30EB;<square>;\r
+333F 30DB 30F3;<square>;\r
+3340 30DD 30F3;<square>;\r
+3341 30DB 30FC;<square>;\r
+3342 30DB 30FC;<square>;\r
+3343 30DE 30A4;<square>;\r
+3344 30DE 30A4;<square>;\r
+3345 30DE 30C3;<square>;\r
+3346 30DE 30EB;<square>;\r
+3347 30DE 30F3;<square>;\r
+3348 30DF 30AF;<square>;\r
+3349 30DF 30EA;<square>;\r
+334A 30DF 30EA;<square>;\r
+334B 30E1 30AC;<square>;\r
+334C 30E1 30AC;<square>;\r
+334D 30E1 30FC;<square>;\r
+334E 30E4 30FC;<square>;\r
+334F 30E4 30FC;<square>;\r
+3350 30E6 30A2;<square>;\r
+3351 30EA 30C3;<square>;\r
+3352 30EA 30E9;<square>;\r
+3353 30EB 30D4;<square>;\r
+3354 30EB 30FC;<square>;\r
+3355 30EC 30E0;<square>;\r
+3356 30EC 30F3;<square>;\r
+3357 30EF 30C3;<square>;\r
+3358 0030 70B9;<compat>;\r
+3359 0031 70B9;<compat>;\r
+335A 0032 70B9;<compat>;\r
+335B 0033 70B9;<compat>;\r
+335C 0034 70B9;<compat>;\r
+335D 0035 70B9;<compat>;\r
+335E 0036 70B9;<compat>;\r
+335F 0037 70B9;<compat>;\r
+3360 0038 70B9;<compat>;\r
+3361 0039 70B9;<compat>;\r
+3362 0031 0030;<compat>;\r
+3363 0031 0031;<compat>;\r
+3364 0031 0032;<compat>;\r
+3365 0031 0033;<compat>;\r
+3366 0031 0034;<compat>;\r
+3367 0031 0035;<compat>;\r
+3368 0031 0036;<compat>;\r
+3369 0031 0037;<compat>;\r
+336A 0031 0038;<compat>;\r
+336B 0031 0039;<compat>;\r
+336C 0032 0030;<compat>;\r
+336D 0032 0031;<compat>;\r
+336E 0032 0032;<compat>;\r
+336F 0032 0033;<compat>;\r
+3370 0032 0034;<compat>;\r
+3371 0068 0050;<square>;\r
+3372 0064 0061;<square>;\r
+3373 0041 0055;<square>;\r
+3374 0062 0061;<square>;\r
+3375 006F 0056;<square>;\r
+3376 0070 0063;<square>;\r
+337B 5E73 6210;<square>;\r
+337C 662D 548C;<square>;\r
+337D 5927 6B63;<square>;\r
+337E 660E 6CBB;<square>;\r
+337F 682A 5F0F;<square>;\r
+3380 0070 0041;<square>;\r
+3381 006E 0041;<square>;\r
+3382 03BC 0041;<square>;\r
+3383 006D 0041;<square>;\r
+3384 006B 0041;<square>;\r
+3385 004B 0042;<square>;\r
+3386 004D 0042;<square>;\r
+3387 0047 0042;<square>;\r
+3388 0063 0061;<square>;\r
+3389 006B 0063;<square>;\r
+338A 0070 0046;<square>;\r
+338B 006E 0046;<square>;\r
+338C 03BC 0046;<square>;\r
+338D 03BC 0067;<square>;\r
+338E 006D 0067;<square>;\r
+338F 006B 0067;<square>;\r
+3390 0048 007A;<square>;\r
+3391 006B 0048;<square>;\r
+3392 004D 0048;<square>;\r
+3393 0047 0048;<square>;\r
+3394 0054 0048;<square>;\r
+3395 03BC 2113;<square>;\r
+3396 006D 2113;<square>;\r
+3397 0064 2113;<square>;\r
+3398 006B 2113;<square>;\r
+3399 0066 006D;<square>;\r
+339A 006E 006D;<square>;\r
+339B 03BC 006D;<square>;\r
+339C 006D 006D;<square>;\r
+339D 0063 006D;<square>;\r
+339E 006B 006D;<square>;\r
+339F 006D 006D;<square>;\r
+33A0 0063 006D;<square>;\r
+33A1 006D 00B2;<square>;\r
+33A2 006B 006D;<square>;\r
+33A3 006D 006D;<square>;\r
+33A4 0063 006D;<square>;\r
+33A5 006D 00B3;<square>;\r
+33A6 006B 006D;<square>;\r
+33A7 006D 2215;<square>;\r
+33A8 006D 2215;<square>;\r
+33A9 0050 0061;<square>;\r
+33AA 006B 0050;<square>;\r
+33AB 004D 0050;<square>;\r
+33AC 0047 0050;<square>;\r
+33AD 0072 0061;<square>;\r
+33AE 0072 0061;<square>;\r
+33AF 0072 0061;<square>;\r
+33B0 0070 0073;<square>;\r
+33B1 006E 0073;<square>;\r
+33B2 03BC 0073;<square>;\r
+33B3 006D 0073;<square>;\r
+33B4 0070 0056;<square>;\r
+33B5 006E 0056;<square>;\r
+33B6 03BC 0056;<square>;\r
+33B7 006D 0056;<square>;\r
+33B8 006B 0056;<square>;\r
+33B9 004D 0056;<square>;\r
+33BA 0070 0057;<square>;\r
+33BB 006E 0057;<square>;\r
+33BC 03BC 0057;<square>;\r
+33BD 006D 0057;<square>;\r
+33BE 006B 0057;<square>;\r
+33BF 004D 0057;<square>;\r
+33C0 006B 03A9;<square>;\r
+33C1 004D 03A9;<square>;\r
+33C2 0061 002E;<square>;\r
+33C3 0042 0071;<square>;\r
+33C4 0063 0063;<square>;\r
+33C5 0063 0064;<square>;\r
+33C6 0043 2215;<square>;\r
+33C7 0043 006F;<square>;\r
+33C8 0064 0042;<square>;\r
+33C9 0047 0079;<square>;\r
+33CA 0068 0061;<square>;\r
+33CB 0048 0050;<square>;\r
+33CC 0069 006E;<square>;\r
+33CD 004B 004B;<square>;\r
+33CE 004B 004D;<square>;\r
+33CF 006B 0074;<square>;\r
+33D0 006C 006D;<square>;\r
+33D1 006C 006E;<square>;\r
+33D2 006C 006F;<square>;\r
+33D3 006C 0078;<square>;\r
+33D4 006D 0062;<square>;\r
+33D5 006D 0069;<square>;\r
+33D6 006D 006F;<square>;\r
+33D7 0050 0048;<square>;\r
+33D8 0070 002E;<square>;\r
+33D9 0050 0050;<square>;\r
+33DA 0050 0052;<square>;\r
+33DB 0073 0072;<square>;\r
+33DC 0053 0076;<square>;\r
+33DD 0057 0062;<square>;\r
+33E0 0031 65E5;<compat>;\r
+33E1 0032 65E5;<compat>;\r
+33E2 0033 65E5;<compat>;\r
+33E3 0034 65E5;<compat>;\r
+33E4 0035 65E5;<compat>;\r
+33E5 0036 65E5;<compat>;\r
+33E6 0037 65E5;<compat>;\r
+33E7 0038 65E5;<compat>;\r
+33E8 0039 65E5;<compat>;\r
+33E9 0031 0030;<compat>;\r
+33EA 0031 0031;<compat>;\r
+33EB 0031 0032;<compat>;\r
+33EC 0031 0033;<compat>;\r
+33ED 0031 0034;<compat>;\r
+33EE 0031 0035;<compat>;\r
+33EF 0031 0036;<compat>;\r
+33F0 0031 0037;<compat>;\r
+33F1 0031 0038;<compat>;\r
+33F2 0031 0039;<compat>;\r
+33F3 0032 0030;<compat>;\r
+33F4 0032 0031;<compat>;\r
+33F5 0032 0032;<compat>;\r
+33F6 0032 0033;<compat>;\r
+33F7 0032 0034;<compat>;\r
+33F8 0032 0035;<compat>;\r
+33F9 0032 0036;<compat>;\r
+33FA 0032 0037;<compat>;\r
+33FB 0032 0038;<compat>;\r
+33FC 0032 0039;<compat>;\r
+33FD 0033 0030;<compat>;\r
+33FE 0033 0031;<compat>;\r
+F900 8C48 0000;\r
+F901 66F4 0000;\r
+F902 8ECA 0000;\r
+F903 8CC8 0000;\r
+F904 6ED1 0000;\r
+F905 4E32 0000;\r
+F906 53E5 0000;\r
+F907 9F9C 0000;\r
+F908 9F9C 0000;\r
+F909 5951 0000;\r
+F90A 91D1 0000;\r
+F90B 5587 0000;\r
+F90C 5948 0000;\r
+F90D 61F6 0000;\r
+F90E 7669 0000;\r
+F90F 7F85 0000;\r
+F910 863F 0000;\r
+F911 87BA 0000;\r
+F912 88F8 0000;\r
+F913 908F 0000;\r
+F914 6A02 0000;\r
+F915 6D1B 0000;\r
+F916 70D9 0000;\r
+F917 73DE 0000;\r
+F918 843D 0000;\r
+F919 916A 0000;\r
+F91A 99F1 0000;\r
+F91B 4E82 0000;\r
+F91C 5375 0000;\r
+F91D 6B04 0000;\r
+F91E 721B 0000;\r
+F91F 862D 0000;\r
+F920 9E1E 0000;\r
+F921 5D50 0000;\r
+F922 6FEB 0000;\r
+F923 85CD 0000;\r
+F924 8964 0000;\r
+F925 62C9 0000;\r
+F926 81D8 0000;\r
+F927 881F 0000;\r
+F928 5ECA 0000;\r
+F929 6717 0000;\r
+F92A 6D6A 0000;\r
+F92B 72FC 0000;\r
+F92C 90CE 0000;\r
+F92D 4F86 0000;\r
+F92E 51B7 0000;\r
+F92F 52DE 0000;\r
+F930 64C4 0000;\r
+F931 6AD3 0000;\r
+F932 7210 0000;\r
+F933 76E7 0000;\r
+F934 8001 0000;\r
+F935 8606 0000;\r
+F936 865C 0000;\r
+F937 8DEF 0000;\r
+F938 9732 0000;\r
+F939 9B6F 0000;\r
+F93A 9DFA 0000;\r
+F93B 788C 0000;\r
+F93C 797F 0000;\r
+F93D 7DA0 0000;\r
+F93E 83C9 0000;\r
+F93F 9304 0000;\r
+F940 9E7F 0000;\r
+F941 8AD6 0000;\r
+F942 58DF 0000;\r
+F943 5F04 0000;\r
+F944 7C60 0000;\r
+F945 807E 0000;\r
+F946 7262 0000;\r
+F947 78CA 0000;\r
+F948 8CC2 0000;\r
+F949 96F7 0000;\r
+F94A 58D8 0000;\r
+F94B 5C62 0000;\r
+F94C 6A13 0000;\r
+F94D 6DDA 0000;\r
+F94E 6F0F 0000;\r
+F94F 7D2F 0000;\r
+F950 7E37 0000;\r
+F951 96FB 0000;\r
+F952 52D2 0000;\r
+F953 808B 0000;\r
+F954 51DC 0000;\r
+F955 51CC 0000;\r
+F956 7A1C 0000;\r
+F957 7DBE 0000;\r
+F958 83F1 0000;\r
+F959 9675 0000;\r
+F95A 8B80 0000;\r
+F95B 62CF 0000;\r
+F95C 6A02 0000;\r
+F95D 8AFE 0000;\r
+F95E 4E39 0000;\r
+F95F 5BE7 0000;\r
+F960 6012 0000;\r
+F961 7387 0000;\r
+F962 7570 0000;\r
+F963 5317 0000;\r
+F964 78FB 0000;\r
+F965 4FBF 0000;\r
+F966 5FA9 0000;\r
+F967 4E0D 0000;\r
+F968 6CCC 0000;\r
+F969 6578 0000;\r
+F96A 7D22 0000;\r
+F96B 53C3 0000;\r
+F96C 585E 0000;\r
+F96D 7701 0000;\r
+F96E 8449 0000;\r
+F96F 8AAA 0000;\r
+F970 6BBA 0000;\r
+F971 8FB0 0000;\r
+F972 6C88 0000;\r
+F973 62FE 0000;\r
+F974 82E5 0000;\r
+F975 63A0 0000;\r
+F976 7565 0000;\r
+F977 4EAE 0000;\r
+F978 5169 0000;\r
+F979 51C9 0000;\r
+F97A 6881 0000;\r
+F97B 7CE7 0000;\r
+F97C 826F 0000;\r
+F97D 8AD2 0000;\r
+F97E 91CF 0000;\r
+F97F 52F5 0000;\r
+F980 5442 0000;\r
+F981 5973 0000;\r
+F982 5EEC 0000;\r
+F983 65C5 0000;\r
+F984 6FFE 0000;\r
+F985 792A 0000;\r
+F986 95AD 0000;\r
+F987 9A6A 0000;\r
+F988 9E97 0000;\r
+F989 9ECE 0000;\r
+F98A 529B 0000;\r
+F98B 66C6 0000;\r
+F98C 6B77 0000;\r
+F98D 8F62 0000;\r
+F98E 5E74 0000;\r
+F98F 6190 0000;\r
+F990 6200 0000;\r
+F991 649A 0000;\r
+F992 6F23 0000;\r
+F993 7149 0000;\r
+F994 7489 0000;\r
+F995 79CA 0000;\r
+F996 7DF4 0000;\r
+F997 806F 0000;\r
+F998 8F26 0000;\r
+F999 84EE 0000;\r
+F99A 9023 0000;\r
+F99B 934A 0000;\r
+F99C 5217 0000;\r
+F99D 52A3 0000;\r
+F99E 54BD 0000;\r
+F99F 70C8 0000;\r
+F9A0 88C2 0000;\r
+F9A1 8AAA 0000;\r
+F9A2 5EC9 0000;\r
+F9A3 5FF5 0000;\r
+F9A4 637B 0000;\r
+F9A5 6BAE 0000;\r
+F9A6 7C3E 0000;\r
+F9A7 7375 0000;\r
+F9A8 4EE4 0000;\r
+F9A9 56F9 0000;\r
+F9AA 5BE7 0000;\r
+F9AB 5DBA 0000;\r
+F9AC 601C 0000;\r
+F9AD 73B2 0000;\r
+F9AE 7469 0000;\r
+F9AF 7F9A 0000;\r
+F9B0 8046 0000;\r
+F9B1 9234 0000;\r
+F9B2 96F6 0000;\r
+F9B3 9748 0000;\r
+F9B4 9818 0000;\r
+F9B5 4F8B 0000;\r
+F9B6 79AE 0000;\r
+F9B7 91B4 0000;\r
+F9B8 96B8 0000;\r
+F9B9 60E1 0000;\r
+F9BA 4E86 0000;\r
+F9BB 50DA 0000;\r
+F9BC 5BEE 0000;\r
+F9BD 5C3F 0000;\r
+F9BE 6599 0000;\r
+F9BF 6A02 0000;\r
+F9C0 71CE 0000;\r
+F9C1 7642 0000;\r
+F9C2 84FC 0000;\r
+F9C3 907C 0000;\r
+F9C4 9F8D 0000;\r
+F9C5 6688 0000;\r
+F9C6 962E 0000;\r
+F9C7 5289 0000;\r
+F9C8 677B 0000;\r
+F9C9 67F3 0000;\r
+F9CA 6D41 0000;\r
+F9CB 6E9C 0000;\r
+F9CC 7409 0000;\r
+F9CD 7559 0000;\r
+F9CE 786B 0000;\r
+F9CF 7D10 0000;\r
+F9D0 985E 0000;\r
+F9D1 516D 0000;\r
+F9D2 622E 0000;\r
+F9D3 9678 0000;\r
+F9D4 502B 0000;\r
+F9D5 5D19 0000;\r
+F9D6 6DEA 0000;\r
+F9D7 8F2A 0000;\r
+F9D8 5F8B 0000;\r
+F9D9 6144 0000;\r
+F9DA 6817 0000;\r
+F9DB 7387 0000;\r
+F9DC 9686 0000;\r
+F9DD 5229 0000;\r
+F9DE 540F 0000;\r
+F9DF 5C65 0000;\r
+F9E0 6613 0000;\r
+F9E1 674E 0000;\r
+F9E2 68A8 0000;\r
+F9E3 6CE5 0000;\r
+F9E4 7406 0000;\r
+F9E5 75E2 0000;\r
+F9E6 7F79 0000;\r
+F9E7 88CF 0000;\r
+F9E8 88E1 0000;\r
+F9E9 91CC 0000;\r
+F9EA 96E2 0000;\r
+F9EB 533F 0000;\r
+F9EC 6EBA 0000;\r
+F9ED 541D 0000;\r
+F9EE 71D0 0000;\r
+F9EF 7498 0000;\r
+F9F0 85FA 0000;\r
+F9F1 96A3 0000;\r
+F9F2 9C57 0000;\r
+F9F3 9E9F 0000;\r
+F9F4 6797 0000;\r
+F9F5 6DCB 0000;\r
+F9F6 81E8 0000;\r
+F9F7 7ACB 0000;\r
+F9F8 7B20 0000;\r
+F9F9 7C92 0000;\r
+F9FA 72C0 0000;\r
+F9FB 7099 0000;\r
+F9FC 8B58 0000;\r
+F9FD 4EC0 0000;\r
+F9FE 8336 0000;\r
+F9FF 523A 0000;\r
+FA00 5207 0000;\r
+FA01 5EA6 0000;\r
+FA02 62D3 0000;\r
+FA03 7CD6 0000;\r
+FA04 5B85 0000;\r
+FA05 6D1E 0000;\r
+FA06 66B4 0000;\r
+FA07 8F3B 0000;\r
+FA08 884C 0000;\r
+FA09 964D 0000;\r
+FA0A 898B 0000;\r
+FA0B 5ED3 0000;\r
+FA0C 5140 0000;\r
+FA0D 55C0 0000;\r
+FA10 585A 0000;\r
+FA12 6674 0000;\r
+FA15 51DE 0000;\r
+FA16 732A 0000;\r
+FA17 76CA 0000;\r
+FA18 793C 0000;\r
+FA19 795E 0000;\r
+FA1A 7965 0000;\r
+FA1B 798F 0000;\r
+FA1C 9756 0000;\r
+FA1D 7CBE 0000;\r
+FA1E 7FBD 0000;\r
+FA20 8612 0000;\r
+FA22 8AF8 0000;\r
+FA25 9038 0000;\r
+FA26 90FD 0000;\r
+FA2A 98EF 0000;\r
+FA2B 98FC 0000;\r
+FA2C 9928 0000;\r
+FA2D 9DB4 0000;\r
+FB00 0066 0066;<compat>;\r
+FB01 0066 0069;<compat>;\r
+FB02 0066 006C;<compat>;\r
+FB03 0066 0066;<compat>;\r
+FB04 0066 0066;<compat>;\r
+FB05 017F 0074;<compat>;\r
+FB06 0073 0074;<compat>;\r
+FB13 0574 0576;<compat>;\r
+FB14 0574 0565;<compat>;\r
+FB15 0574 056B;<compat>;\r
+FB16 057E 0576;<compat>;\r
+FB17 0574 056D;<compat>;\r
+FB1D 05D9 05B4;\r
+FB1F 05F2 05B7;\r
+FB20 05E2 0000;<font>;\r
+FB21 05D0 0000;<font>;\r
+FB22 05D3 0000;<font>;\r
+FB23 05D4 0000;<font>;\r
+FB24 05DB 0000;<font>;\r
+FB25 05DC 0000;<font>;\r
+FB26 05DD 0000;<font>;\r
+FB27 05E8 0000;<font>;\r
+FB28 05EA 0000;<font>;\r
+FB29 002B 0000;<font>;\r
+FB2A 05E9 05C1;\r
+FB2B 05E9 05C2;\r
+FB2C FB49 05C1;\r
+FB2D FB49 05C2;\r
+FB2E 05D0 05B7;\r
+FB2F 05D0 05B8;\r
+FB30 05D0 05BC;\r
+FB31 05D1 05BC;\r
+FB32 05D2 05BC;\r
+FB33 05D3 05BC;\r
+FB34 05D4 05BC;\r
+FB35 05D5 05BC;\r
+FB36 05D6 05BC;\r
+FB38 05D8 05BC;\r
+FB39 05D9 05BC;\r
+FB3A 05DA 05BC;\r
+FB3B 05DB 05BC;\r
+FB3C 05DC 05BC;\r
+FB3E 05DE 05BC;\r
+FB40 05E0 05BC;\r
+FB41 05E1 05BC;\r
+FB43 05E3 05BC;\r
+FB44 05E4 05BC;\r
+FB46 05E6 05BC;\r
+FB47 05E7 05BC;\r
+FB48 05E8 05BC;\r
+FB49 05E9 05BC;\r
+FB4A 05EA 05BC;\r
+FB4B 05D5 05B9;\r
+FB4C 05D1 05BF;\r
+FB4D 05DB 05BF;\r
+FB4E 05E4 05BF;\r
+FB4F 05D0 05DC;<compat>;\r
+FB50 0671 0000;<isolated>;\r
+FB51 0671 0000;<final>;\r
+FB52 067B 0000;<isolated>;\r
+FB53 067B 0000;<final>;\r
+FB54 067B 0000;<initial>;\r
+FB55 067B 0000;<medial>;\r
+FB56 067E 0000;<isolated>;\r
+FB57 067E 0000;<final>;\r
+FB58 067E 0000;<initial>;\r
+FB59 067E 0000;<medial>;\r
+FB5A 0680 0000;<isolated>;\r
+FB5B 0680 0000;<final>;\r
+FB5C 0680 0000;<initial>;\r
+FB5D 0680 0000;<medial>;\r
+FB5E 067A 0000;<isolated>;\r
+FB5F 067A 0000;<final>;\r
+FB60 067A 0000;<initial>;\r
+FB61 067A 0000;<medial>;\r
+FB62 067F 0000;<isolated>;\r
+FB63 067F 0000;<final>;\r
+FB64 067F 0000;<initial>;\r
+FB65 067F 0000;<medial>;\r
+FB66 0679 0000;<isolated>;\r
+FB67 0679 0000;<final>;\r
+FB68 0679 0000;<initial>;\r
+FB69 0679 0000;<medial>;\r
+FB6A 06A4 0000;<isolated>;\r
+FB6B 06A4 0000;<final>;\r
+FB6C 06A4 0000;<initial>;\r
+FB6D 06A4 0000;<medial>;\r
+FB6E 06A6 0000;<isolated>;\r
+FB6F 06A6 0000;<final>;\r
+FB70 06A6 0000;<initial>;\r
+FB71 06A6 0000;<medial>;\r
+FB72 0684 0000;<isolated>;\r
+FB73 0684 0000;<final>;\r
+FB74 0684 0000;<initial>;\r
+FB75 0684 0000;<medial>;\r
+FB76 0683 0000;<isolated>;\r
+FB77 0683 0000;<final>;\r
+FB78 0683 0000;<initial>;\r
+FB79 0683 0000;<medial>;\r
+FB7A 0686 0000;<isolated>;\r
+FB7B 0686 0000;<final>;\r
+FB7C 0686 0000;<initial>;\r
+FB7D 0686 0000;<medial>;\r
+FB7E 0687 0000;<isolated>;\r
+FB7F 0687 0000;<final>;\r
+FB80 0687 0000;<initial>;\r
+FB81 0687 0000;<medial>;\r
+FB82 068D 0000;<isolated>;\r
+FB83 068D 0000;<final>;\r
+FB84 068C 0000;<isolated>;\r
+FB85 068C 0000;<final>;\r
+FB86 068E 0000;<isolated>;\r
+FB87 068E 0000;<final>;\r
+FB88 0688 0000;<isolated>;\r
+FB89 0688 0000;<final>;\r
+FB8A 0698 0000;<isolated>;\r
+FB8B 0698 0000;<final>;\r
+FB8C 0691 0000;<isolated>;\r
+FB8D 0691 0000;<final>;\r
+FB8E 06A9 0000;<isolated>;\r
+FB8F 06A9 0000;<final>;\r
+FB90 06A9 0000;<initial>;\r
+FB91 06A9 0000;<medial>;\r
+FB92 06AF 0000;<isolated>;\r
+FB93 06AF 0000;<final>;\r
+FB94 06AF 0000;<initial>;\r
+FB95 06AF 0000;<medial>;\r
+FB96 06B3 0000;<isolated>;\r
+FB97 06B3 0000;<final>;\r
+FB98 06B3 0000;<initial>;\r
+FB99 06B3 0000;<medial>;\r
+FB9A 06B1 0000;<isolated>;\r
+FB9B 06B1 0000;<final>;\r
+FB9C 06B1 0000;<initial>;\r
+FB9D 06B1 0000;<medial>;\r
+FB9E 06BA 0000;<isolated>;\r
+FB9F 06BA 0000;<final>;\r
+FBA0 06BB 0000;<isolated>;\r
+FBA1 06BB 0000;<final>;\r
+FBA2 06BB 0000;<initial>;\r
+FBA3 06BB 0000;<medial>;\r
+FBA4 06C0 0000;<isolated>;\r
+FBA5 06C0 0000;<final>;\r
+FBA6 06C1 0000;<isolated>;\r
+FBA7 06C1 0000;<final>;\r
+FBA8 06C1 0000;<initial>;\r
+FBA9 06C1 0000;<medial>;\r
+FBAA 06BE 0000;<isolated>;\r
+FBAB 06BE 0000;<final>;\r
+FBAC 06BE 0000;<initial>;\r
+FBAD 06BE 0000;<medial>;\r
+FBAE 06D2 0000;<isolated>;\r
+FBAF 06D2 0000;<final>;\r
+FBB0 06D3 0000;<isolated>;\r
+FBB1 06D3 0000;<final>;\r
+FBD3 06AD 0000;<isolated>;\r
+FBD4 06AD 0000;<final>;\r
+FBD5 06AD 0000;<initial>;\r
+FBD6 06AD 0000;<medial>;\r
+FBD7 06C7 0000;<isolated>;\r
+FBD8 06C7 0000;<final>;\r
+FBD9 06C6 0000;<isolated>;\r
+FBDA 06C6 0000;<final>;\r
+FBDB 06C8 0000;<isolated>;\r
+FBDC 06C8 0000;<final>;\r
+FBDD 0677 0000;<isolated>;\r
+FBDE 06CB 0000;<isolated>;\r
+FBDF 06CB 0000;<final>;\r
+FBE0 06C5 0000;<isolated>;\r
+FBE1 06C5 0000;<final>;\r
+FBE2 06C9 0000;<isolated>;\r
+FBE3 06C9 0000;<final>;\r
+FBE4 06D0 0000;<isolated>;\r
+FBE5 06D0 0000;<final>;\r
+FBE6 06D0 0000;<initial>;\r
+FBE7 06D0 0000;<medial>;\r
+FBE8 0649 0000;<initial>;\r
+FBE9 0649 0000;<medial>;\r
+FBEA 0626 0627;<isolated>;\r
+FBEB 0626 0627;<final>;\r
+FBEC 0626 06D5;<isolated>;\r
+FBED 0626 06D5;<final>;\r
+FBEE 0626 0648;<isolated>;\r
+FBEF 0626 0648;<final>;\r
+FBF0 0626 06C7;<isolated>;\r
+FBF1 0626 06C7;<final>;\r
+FBF2 0626 06C6;<isolated>;\r
+FBF3 0626 06C6;<final>;\r
+FBF4 0626 06C8;<isolated>;\r
+FBF5 0626 06C8;<final>;\r
+FBF6 0626 06D0;<isolated>;\r
+FBF7 0626 06D0;<final>;\r
+FBF8 0626 06D0;<initial>;\r
+FBF9 0626 0649;<isolated>;\r
+FBFA 0626 0649;<final>;\r
+FBFB 0626 0649;<initial>;\r
+FBFC 06CC 0000;<isolated>;\r
+FBFD 06CC 0000;<final>;\r
+FBFE 06CC 0000;<initial>;\r
+FBFF 06CC 0000;<medial>;\r
+FC00 0626 062C;<isolated>;\r
+FC01 0626 062D;<isolated>;\r
+FC02 0626 0645;<isolated>;\r
+FC03 0626 0649;<isolated>;\r
+FC04 0626 064A;<isolated>;\r
+FC05 0628 062C;<isolated>;\r
+FC06 0628 062D;<isolated>;\r
+FC07 0628 062E;<isolated>;\r
+FC08 0628 0645;<isolated>;\r
+FC09 0628 0649;<isolated>;\r
+FC0A 0628 064A;<isolated>;\r
+FC0B 062A 062C;<isolated>;\r
+FC0C 062A 062D;<isolated>;\r
+FC0D 062A 062E;<isolated>;\r
+FC0E 062A 0645;<isolated>;\r
+FC0F 062A 0649;<isolated>;\r
+FC10 062A 064A;<isolated>;\r
+FC11 062B 062C;<isolated>;\r
+FC12 062B 0645;<isolated>;\r
+FC13 062B 0649;<isolated>;\r
+FC14 062B 064A;<isolated>;\r
+FC15 062C 062D;<isolated>;\r
+FC16 062C 0645;<isolated>;\r
+FC17 062D 062C;<isolated>;\r
+FC18 062D 0645;<isolated>;\r
+FC19 062E 062C;<isolated>;\r
+FC1A 062E 062D;<isolated>;\r
+FC1B 062E 0645;<isolated>;\r
+FC1C 0633 062C;<isolated>;\r
+FC1D 0633 062D;<isolated>;\r
+FC1E 0633 062E;<isolated>;\r
+FC1F 0633 0645;<isolated>;\r
+FC20 0635 062D;<isolated>;\r
+FC21 0635 0645;<isolated>;\r
+FC22 0636 062C;<isolated>;\r
+FC23 0636 062D;<isolated>;\r
+FC24 0636 062E;<isolated>;\r
+FC25 0636 0645;<isolated>;\r
+FC26 0637 062D;<isolated>;\r
+FC27 0637 0645;<isolated>;\r
+FC28 0638 0645;<isolated>;\r
+FC29 0639 062C;<isolated>;\r
+FC2A 0639 0645;<isolated>;\r
+FC2B 063A 062C;<isolated>;\r
+FC2C 063A 0645;<isolated>;\r
+FC2D 0641 062C;<isolated>;\r
+FC2E 0641 062D;<isolated>;\r
+FC2F 0641 062E;<isolated>;\r
+FC30 0641 0645;<isolated>;\r
+FC31 0641 0649;<isolated>;\r
+FC32 0641 064A;<isolated>;\r
+FC33 0642 062D;<isolated>;\r
+FC34 0642 0645;<isolated>;\r
+FC35 0642 0649;<isolated>;\r
+FC36 0642 064A;<isolated>;\r
+FC37 0643 0627;<isolated>;\r
+FC38 0643 062C;<isolated>;\r
+FC39 0643 062D;<isolated>;\r
+FC3A 0643 062E;<isolated>;\r
+FC3B 0643 0644;<isolated>;\r
+FC3C 0643 0645;<isolated>;\r
+FC3D 0643 0649;<isolated>;\r
+FC3E 0643 064A;<isolated>;\r
+FC3F 0644 062C;<isolated>;\r
+FC40 0644 062D;<isolated>;\r
+FC41 0644 062E;<isolated>;\r
+FC42 0644 0645;<isolated>;\r
+FC43 0644 0649;<isolated>;\r
+FC44 0644 064A;<isolated>;\r
+FC45 0645 062C;<isolated>;\r
+FC46 0645 062D;<isolated>;\r
+FC47 0645 062E;<isolated>;\r
+FC48 0645 0645;<isolated>;\r
+FC49 0645 0649;<isolated>;\r
+FC4A 0645 064A;<isolated>;\r
+FC4B 0646 062C;<isolated>;\r
+FC4C 0646 062D;<isolated>;\r
+FC4D 0646 062E;<isolated>;\r
+FC4E 0646 0645;<isolated>;\r
+FC4F 0646 0649;<isolated>;\r
+FC50 0646 064A;<isolated>;\r
+FC51 0647 062C;<isolated>;\r
+FC52 0647 0645;<isolated>;\r
+FC53 0647 0649;<isolated>;\r
+FC54 0647 064A;<isolated>;\r
+FC55 064A 062C;<isolated>;\r
+FC56 064A 062D;<isolated>;\r
+FC57 064A 062E;<isolated>;\r
+FC58 064A 0645;<isolated>;\r
+FC59 064A 0649;<isolated>;\r
+FC5A 064A 064A;<isolated>;\r
+FC5B 0630 0670;<isolated>;\r
+FC5C 0631 0670;<isolated>;\r
+FC5D 0649 0670;<isolated>;\r
+FC5E 0020 064C;<isolated>;\r
+FC5F 0020 064D;<isolated>;\r
+FC60 0020 064E;<isolated>;\r
+FC61 0020 064F;<isolated>;\r
+FC62 0020 0650;<isolated>;\r
+FC63 0020 0651;<isolated>;\r
+FC64 0626 0631;<final>;\r
+FC65 0626 0632;<final>;\r
+FC66 0626 0645;<final>;\r
+FC67 0626 0646;<final>;\r
+FC68 0626 0649;<final>;\r
+FC69 0626 064A;<final>;\r
+FC6A 0628 0631;<final>;\r
+FC6B 0628 0632;<final>;\r
+FC6C 0628 0645;<final>;\r
+FC6D 0628 0646;<final>;\r
+FC6E 0628 0649;<final>;\r
+FC6F 0628 064A;<final>;\r
+FC70 062A 0631;<final>;\r
+FC71 062A 0632;<final>;\r
+FC72 062A 0645;<final>;\r
+FC73 062A 0646;<final>;\r
+FC74 062A 0649;<final>;\r
+FC75 062A 064A;<final>;\r
+FC76 062B 0631;<final>;\r
+FC77 062B 0632;<final>;\r
+FC78 062B 0645;<final>;\r
+FC79 062B 0646;<final>;\r
+FC7A 062B 0649;<final>;\r
+FC7B 062B 064A;<final>;\r
+FC7C 0641 0649;<final>;\r
+FC7D 0641 064A;<final>;\r
+FC7E 0642 0649;<final>;\r
+FC7F 0642 064A;<final>;\r
+FC80 0643 0627;<final>;\r
+FC81 0643 0644;<final>;\r
+FC82 0643 0645;<final>;\r
+FC83 0643 0649;<final>;\r
+FC84 0643 064A;<final>;\r
+FC85 0644 0645;<final>;\r
+FC86 0644 0649;<final>;\r
+FC87 0644 064A;<final>;\r
+FC88 0645 0627;<final>;\r
+FC89 0645 0645;<final>;\r
+FC8A 0646 0631;<final>;\r
+FC8B 0646 0632;<final>;\r
+FC8C 0646 0645;<final>;\r
+FC8D 0646 0646;<final>;\r
+FC8E 0646 0649;<final>;\r
+FC8F 0646 064A;<final>;\r
+FC90 0649 0670;<final>;\r
+FC91 064A 0631;<final>;\r
+FC92 064A 0632;<final>;\r
+FC93 064A 0645;<final>;\r
+FC94 064A 0646;<final>;\r
+FC95 064A 0649;<final>;\r
+FC96 064A 064A;<final>;\r
+FC97 0626 062C;<initial>;\r
+FC98 0626 062D;<initial>;\r
+FC99 0626 062E;<initial>;\r
+FC9A 0626 0645;<initial>;\r
+FC9B 0626 0647;<initial>;\r
+FC9C 0628 062C;<initial>;\r
+FC9D 0628 062D;<initial>;\r
+FC9E 0628 062E;<initial>;\r
+FC9F 0628 0645;<initial>;\r
+FCA0 0628 0647;<initial>;\r
+FCA1 062A 062C;<initial>;\r
+FCA2 062A 062D;<initial>;\r
+FCA3 062A 062E;<initial>;\r
+FCA4 062A 0645;<initial>;\r
+FCA5 062A 0647;<initial>;\r
+FCA6 062B 0645;<initial>;\r
+FCA7 062C 062D;<initial>;\r
+FCA8 062C 0645;<initial>;\r
+FCA9 062D 062C;<initial>;\r
+FCAA 062D 0645;<initial>;\r
+FCAB 062E 062C;<initial>;\r
+FCAC 062E 0645;<initial>;\r
+FCAD 0633 062C;<initial>;\r
+FCAE 0633 062D;<initial>;\r
+FCAF 0633 062E;<initial>;\r
+FCB0 0633 0645;<initial>;\r
+FCB1 0635 062D;<initial>;\r
+FCB2 0635 062E;<initial>;\r
+FCB3 0635 0645;<initial>;\r
+FCB4 0636 062C;<initial>;\r
+FCB5 0636 062D;<initial>;\r
+FCB6 0636 062E;<initial>;\r
+FCB7 0636 0645;<initial>;\r
+FCB8 0637 062D;<initial>;\r
+FCB9 0638 0645;<initial>;\r
+FCBA 0639 062C;<initial>;\r
+FCBB 0639 0645;<initial>;\r
+FCBC 063A 062C;<initial>;\r
+FCBD 063A 0645;<initial>;\r
+FCBE 0641 062C;<initial>;\r
+FCBF 0641 062D;<initial>;\r
+FCC0 0641 062E;<initial>;\r
+FCC1 0641 0645;<initial>;\r
+FCC2 0642 062D;<initial>;\r
+FCC3 0642 0645;<initial>;\r
+FCC4 0643 062C;<initial>;\r
+FCC5 0643 062D;<initial>;\r
+FCC6 0643 062E;<initial>;\r
+FCC7 0643 0644;<initial>;\r
+FCC8 0643 0645;<initial>;\r
+FCC9 0644 062C;<initial>;\r
+FCCA 0644 062D;<initial>;\r
+FCCB 0644 062E;<initial>;\r
+FCCC 0644 0645;<initial>;\r
+FCCD 0644 0647;<initial>;\r
+FCCE 0645 062C;<initial>;\r
+FCCF 0645 062D;<initial>;\r
+FCD0 0645 062E;<initial>;\r
+FCD1 0645 0645;<initial>;\r
+FCD2 0646 062C;<initial>;\r
+FCD3 0646 062D;<initial>;\r
+FCD4 0646 062E;<initial>;\r
+FCD5 0646 0645;<initial>;\r
+FCD6 0646 0647;<initial>;\r
+FCD7 0647 062C;<initial>;\r
+FCD8 0647 0645;<initial>;\r
+FCD9 0647 0670;<initial>;\r
+FCDA 064A 062C;<initial>;\r
+FCDB 064A 062D;<initial>;\r
+FCDC 064A 062E;<initial>;\r
+FCDD 064A 0645;<initial>;\r
+FCDE 064A 0647;<initial>;\r
+FCDF 0626 0645;<medial>;\r
+FCE0 0626 0647;<medial>;\r
+FCE1 0628 0645;<medial>;\r
+FCE2 0628 0647;<medial>;\r
+FCE3 062A 0645;<medial>;\r
+FCE4 062A 0647;<medial>;\r
+FCE5 062B 0645;<medial>;\r
+FCE6 062B 0647;<medial>;\r
+FCE7 0633 0645;<medial>;\r
+FCE8 0633 0647;<medial>;\r
+FCE9 0634 0645;<medial>;\r
+FCEA 0634 0647;<medial>;\r
+FCEB 0643 0644;<medial>;\r
+FCEC 0643 0645;<medial>;\r
+FCED 0644 0645;<medial>;\r
+FCEE 0646 0645;<medial>;\r
+FCEF 0646 0647;<medial>;\r
+FCF0 064A 0645;<medial>;\r
+FCF1 064A 0647;<medial>;\r
+FCF2 0640 064E;<medial>;\r
+FCF3 0640 064F;<medial>;\r
+FCF4 0640 0650;<medial>;\r
+FCF5 0637 0649;<isolated>;\r
+FCF6 0637 064A;<isolated>;\r
+FCF7 0639 0649;<isolated>;\r
+FCF8 0639 064A;<isolated>;\r
+FCF9 063A 0649;<isolated>;\r
+FCFA 063A 064A;<isolated>;\r
+FCFB 0633 0649;<isolated>;\r
+FCFC 0633 064A;<isolated>;\r
+FCFD 0634 0649;<isolated>;\r
+FCFE 0634 064A;<isolated>;\r
+FCFF 062D 0649;<isolated>;\r
+FD00 062D 064A;<isolated>;\r
+FD01 062C 0649;<isolated>;\r
+FD02 062C 064A;<isolated>;\r
+FD03 062E 0649;<isolated>;\r
+FD04 062E 064A;<isolated>;\r
+FD05 0635 0649;<isolated>;\r
+FD06 0635 064A;<isolated>;\r
+FD07 0636 0649;<isolated>;\r
+FD08 0636 064A;<isolated>;\r
+FD09 0634 062C;<isolated>;\r
+FD0A 0634 062D;<isolated>;\r
+FD0B 0634 062E;<isolated>;\r
+FD0C 0634 0645;<isolated>;\r
+FD0D 0634 0631;<isolated>;\r
+FD0E 0633 0631;<isolated>;\r
+FD0F 0635 0631;<isolated>;\r
+FD10 0636 0631;<isolated>;\r
+FD11 0637 0649;<final>;\r
+FD12 0637 064A;<final>;\r
+FD13 0639 0649;<final>;\r
+FD14 0639 064A;<final>;\r
+FD15 063A 0649;<final>;\r
+FD16 063A 064A;<final>;\r
+FD17 0633 0649;<final>;\r
+FD18 0633 064A;<final>;\r
+FD19 0634 0649;<final>;\r
+FD1A 0634 064A;<final>;\r
+FD1B 062D 0649;<final>;\r
+FD1C 062D 064A;<final>;\r
+FD1D 062C 0649;<final>;\r
+FD1E 062C 064A;<final>;\r
+FD1F 062E 0649;<final>;\r
+FD20 062E 064A;<final>;\r
+FD21 0635 0649;<final>;\r
+FD22 0635 064A;<final>;\r
+FD23 0636 0649;<final>;\r
+FD24 0636 064A;<final>;\r
+FD25 0634 062C;<final>;\r
+FD26 0634 062D;<final>;\r
+FD27 0634 062E;<final>;\r
+FD28 0634 0645;<final>;\r
+FD29 0634 0631;<final>;\r
+FD2A 0633 0631;<final>;\r
+FD2B 0635 0631;<final>;\r
+FD2C 0636 0631;<final>;\r
+FD2D 0634 062C;<initial>;\r
+FD2E 0634 062D;<initial>;\r
+FD2F 0634 062E;<initial>;\r
+FD30 0634 0645;<initial>;\r
+FD31 0633 0647;<initial>;\r
+FD32 0634 0647;<initial>;\r
+FD33 0637 0645;<initial>;\r
+FD34 0633 062C;<medial>;\r
+FD35 0633 062D;<medial>;\r
+FD36 0633 062E;<medial>;\r
+FD37 0634 062C;<medial>;\r
+FD38 0634 062D;<medial>;\r
+FD39 0634 062E;<medial>;\r
+FD3A 0637 0645;<medial>;\r
+FD3B 0638 0645;<medial>;\r
+FD3C 0627 064B;<final>;\r
+FD3D 0627 064B;<isolated>;\r
+FD50 062A 062C;<initial>;\r
+FD51 062A 062D;<final>;\r
+FD52 062A 062D;<initial>;\r
+FD53 062A 062D;<initial>;\r
+FD54 062A 062E;<initial>;\r
+FD55 062A 0645;<initial>;\r
+FD56 062A 0645;<initial>;\r
+FD57 062A 0645;<initial>;\r
+FD58 062C 0645;<final>;\r
+FD59 062C 0645;<initial>;\r
+FD5A 062D 0645;<final>;\r
+FD5B 062D 0645;<final>;\r
+FD5C 0633 062D;<initial>;\r
+FD5D 0633 062C;<initial>;\r
+FD5E 0633 062C;<final>;\r
+FD5F 0633 0645;<final>;\r
+FD60 0633 0645;<initial>;\r
+FD61 0633 0645;<initial>;\r
+FD62 0633 0645;<final>;\r
+FD63 0633 0645;<initial>;\r
+FD64 0635 062D;<final>;\r
+FD65 0635 062D;<initial>;\r
+FD66 0635 0645;<final>;\r
+FD67 0634 062D;<final>;\r
+FD68 0634 062D;<initial>;\r
+FD69 0634 062C;<final>;\r
+FD6A 0634 0645;<final>;\r
+FD6B 0634 0645;<initial>;\r
+FD6C 0634 0645;<final>;\r
+FD6D 0634 0645;<initial>;\r
+FD6E 0636 062D;<final>;\r
+FD6F 0636 062E;<final>;\r
+FD70 0636 062E;<initial>;\r
+FD71 0637 0645;<final>;\r
+FD72 0637 0645;<initial>;\r
+FD73 0637 0645;<initial>;\r
+FD74 0637 0645;<final>;\r
+FD75 0639 062C;<final>;\r
+FD76 0639 0645;<final>;\r
+FD77 0639 0645;<initial>;\r
+FD78 0639 0645;<final>;\r
+FD79 063A 0645;<final>;\r
+FD7A 063A 0645;<final>;\r
+FD7B 063A 0645;<final>;\r
+FD7C 0641 062E;<final>;\r
+FD7D 0641 062E;<initial>;\r
+FD7E 0642 0645;<final>;\r
+FD7F 0642 0645;<final>;\r
+FD80 0644 062D;<final>;\r
+FD81 0644 062D;<final>;\r
+FD82 0644 062D;<final>;\r
+FD83 0644 062C;<initial>;\r
+FD84 0644 062C;<final>;\r
+FD85 0644 062E;<final>;\r
+FD86 0644 062E;<initial>;\r
+FD87 0644 0645;<final>;\r
+FD88 0644 0645;<initial>;\r
+FD89 0645 062D;<initial>;\r
+FD8A 0645 062D;<initial>;\r
+FD8B 0645 062D;<final>;\r
+FD8C 0645 062C;<initial>;\r
+FD8D 0645 062C;<initial>;\r
+FD8E 0645 062E;<initial>;\r
+FD8F 0645 062E;<initial>;\r
+FD92 0645 062C;<initial>;\r
+FD93 0647 0645;<initial>;\r
+FD94 0647 0645;<initial>;\r
+FD95 0646 062D;<initial>;\r
+FD96 0646 062D;<final>;\r
+FD97 0646 062C;<final>;\r
+FD98 0646 062C;<initial>;\r
+FD99 0646 062C;<final>;\r
+FD9A 0646 0645;<final>;\r
+FD9B 0646 0645;<final>;\r
+FD9C 064A 0645;<final>;\r
+FD9D 064A 0645;<initial>;\r
+FD9E 0628 062E;<final>;\r
+FD9F 062A 062C;<final>;\r
+FDA0 062A 062C;<final>;\r
+FDA1 062A 062E;<final>;\r
+FDA2 062A 062E;<final>;\r
+FDA3 062A 0645;<final>;\r
+FDA4 062A 0645;<final>;\r
+FDA5 062C 0645;<final>;\r
+FDA6 062C 062D;<final>;\r
+FDA7 062C 0645;<final>;\r
+FDA8 0633 062E;<final>;\r
+FDA9 0635 062D;<final>;\r
+FDAA 0634 062D;<final>;\r
+FDAB 0636 062D;<final>;\r
+FDAC 0644 062C;<final>;\r
+FDAD 0644 0645;<final>;\r
+FDAE 064A 062D;<final>;\r
+FDAF 064A 062C;<final>;\r
+FDB0 064A 0645;<final>;\r
+FDB1 0645 0645;<final>;\r
+FDB2 0642 0645;<final>;\r
+FDB3 0646 062D;<final>;\r
+FDB4 0642 0645;<initial>;\r
+FDB5 0644 062D;<initial>;\r
+FDB6 0639 0645;<final>;\r
+FDB7 0643 0645;<final>;\r
+FDB8 0646 062C;<initial>;\r
+FDB9 0645 062E;<final>;\r
+FDBA 0644 062C;<initial>;\r
+FDBB 0643 0645;<final>;\r
+FDBC 0644 062C;<final>;\r
+FDBD 0646 062C;<final>;\r
+FDBE 062C 062D;<final>;\r
+FDBF 062D 062C;<final>;\r
+FDC0 0645 062C;<final>;\r
+FDC1 0641 0645;<final>;\r
+FDC2 0628 062D;<final>;\r
+FDC3 0643 0645;<initial>;\r
+FDC4 0639 062C;<initial>;\r
+FDC5 0635 0645;<initial>;\r
+FDC6 0633 062E;<final>;\r
+FDC7 0646 062C;<final>;\r
+FDF0 0635 0644;<isolated>;\r
+FDF1 0642 0644;<isolated>;\r
+FDF2 0627 0644;<isolated>;\r
+FDF3 0627 0643;<isolated>;\r
+FDF4 0645 062D;<isolated>;\r
+FDF5 0635 0644;<isolated>;\r
+FDF6 0631 0633;<isolated>;\r
+FDF7 0639 0644;<isolated>;\r
+FDF8 0648 0633;<isolated>;\r
+FDF9 0635 0644;<isolated>;\r
+FDFA 0635 0644;<isolated>;\r
+FDFB 062C 0644;<isolated>;\r
+FE30 2025 0000;<vertical>;\r
+FE31 2014 0000;<vertical>;\r
+FE32 2013 0000;<vertical>;\r
+FE33 005F 0000;<vertical>;\r
+FE34 005F 0000;<vertical>;\r
+FE35 0028 0000;<vertical>;\r
+FE36 0029 0000;<vertical>;\r
+FE37 007B 0000;<vertical>;\r
+FE38 007D 0000;<vertical>;\r
+FE39 3014 0000;<vertical>;\r
+FE3A 3015 0000;<vertical>;\r
+FE3B 3010 0000;<vertical>;\r
+FE3C 3011 0000;<vertical>;\r
+FE3D 300A 0000;<vertical>;\r
+FE3E 300B 0000;<vertical>;\r
+FE3F 3008 0000;<vertical>;\r
+FE40 3009 0000;<vertical>;\r
+FE41 300C 0000;<vertical>;\r
+FE42 300D 0000;<vertical>;\r
+FE43 300E 0000;<vertical>;\r
+FE44 300F 0000;<vertical>;\r
+FE49 203E 0000;<compat>;\r
+FE4A 203E 0000;<compat>;\r
+FE4B 203E 0000;<compat>;\r
+FE4C 203E 0000;<compat>;\r
+FE4D 005F 0000;<compat>;\r
+FE4E 005F 0000;<compat>;\r
+FE4F 005F 0000;<compat>;\r
+FE50 002C 0000;<small>;\r
+FE51 3001 0000;<small>;\r
+FE52 002E 0000;<small>;\r
+FE54 003B 0000;<small>;\r
+FE55 003A 0000;<small>;\r
+FE56 003F 0000;<small>;\r
+FE57 0021 0000;<small>;\r
+FE58 2014 0000;<small>;\r
+FE59 0028 0000;<small>;\r
+FE5A 0029 0000;<small>;\r
+FE5B 007B 0000;<small>;\r
+FE5C 007D 0000;<small>;\r
+FE5D 3014 0000;<small>;\r
+FE5E 3015 0000;<small>;\r
+FE5F 0023 0000;<small>;\r
+FE60 0026 0000;<small>;\r
+FE61 002A 0000;<small>;\r
+FE62 002B 0000;<small>;\r
+FE63 002D 0000;<small>;\r
+FE64 003C 0000;<small>;\r
+FE65 003E 0000;<small>;\r
+FE66 003D 0000;<small>;\r
+FE68 005C 0000;<small>;\r
+FE69 0024 0000;<small>;\r
+FE6A 0025 0000;<small>;\r
+FE6B 0040 0000;<small>;\r
+FE70 0020 064B;<isolated>;\r
+FE71 0640 064B;<medial>;\r
+FE72 0020 064C;<isolated>;\r
+FE74 0020 064D;<isolated>;\r
+FE76 0020 064E;<isolated>;\r
+FE77 0640 064E;<medial>;\r
+FE78 0020 064F;<isolated>;\r
+FE79 0640 064F;<medial>;\r
+FE7A 0020 0650;<isolated>;\r
+FE7B 0640 0650;<medial>;\r
+FE7C 0020 0651;<isolated>;\r
+FE7D 0640 0651;<medial>;\r
+FE7E 0020 0652;<isolated>;\r
+FE7F 0640 0652;<medial>;\r
+FE80 0621 0000;<isolated>;\r
+FE81 0622 0000;<isolated>;\r
+FE82 0622 0000;<final>;\r
+FE83 0623 0000;<isolated>;\r
+FE84 0623 0000;<final>;\r
+FE85 0624 0000;<isolated>;\r
+FE86 0624 0000;<final>;\r
+FE87 0625 0000;<isolated>;\r
+FE88 0625 0000;<final>;\r
+FE89 0626 0000;<isolated>;\r
+FE8A 0626 0000;<final>;\r
+FE8B 0626 0000;<initial>;\r
+FE8C 0626 0000;<medial>;\r
+FE8D 0627 0000;<isolated>;\r
+FE8E 0627 0000;<final>;\r
+FE8F 0628 0000;<isolated>;\r
+FE90 0628 0000;<final>;\r
+FE91 0628 0000;<initial>;\r
+FE92 0628 0000;<medial>;\r
+FE93 0629 0000;<isolated>;\r
+FE94 0629 0000;<final>;\r
+FE95 062A 0000;<isolated>;\r
+FE96 062A 0000;<final>;\r
+FE97 062A 0000;<initial>;\r
+FE98 062A 0000;<medial>;\r
+FE99 062B 0000;<isolated>;\r
+FE9A 062B 0000;<final>;\r
+FE9B 062B 0000;<initial>;\r
+FE9C 062B 0000;<medial>;\r
+FE9D 062C 0000;<isolated>;\r
+FE9E 062C 0000;<final>;\r
+FE9F 062C 0000;<initial>;\r
+FEA0 062C 0000;<medial>;\r
+FEA1 062D 0000;<isolated>;\r
+FEA2 062D 0000;<final>;\r
+FEA3 062D 0000;<initial>;\r
+FEA4 062D 0000;<medial>;\r
+FEA5 062E 0000;<isolated>;\r
+FEA6 062E 0000;<final>;\r
+FEA7 062E 0000;<initial>;\r
+FEA8 062E 0000;<medial>;\r
+FEA9 062F 0000;<isolated>;\r
+FEAA 062F 0000;<final>;\r
+FEAB 0630 0000;<isolated>;\r
+FEAC 0630 0000;<final>;\r
+FEAD 0631 0000;<isolated>;\r
+FEAE 0631 0000;<final>;\r
+FEAF 0632 0000;<isolated>;\r
+FEB0 0632 0000;<final>;\r
+FEB1 0633 0000;<isolated>;\r
+FEB2 0633 0000;<final>;\r
+FEB3 0633 0000;<initial>;\r
+FEB4 0633 0000;<medial>;\r
+FEB5 0634 0000;<isolated>;\r
+FEB6 0634 0000;<final>;\r
+FEB7 0634 0000;<initial>;\r
+FEB8 0634 0000;<medial>;\r
+FEB9 0635 0000;<isolated>;\r
+FEBA 0635 0000;<final>;\r
+FEBB 0635 0000;<initial>;\r
+FEBC 0635 0000;<medial>;\r
+FEBD 0636 0000;<isolated>;\r
+FEBE 0636 0000;<final>;\r
+FEBF 0636 0000;<initial>;\r
+FEC0 0636 0000;<medial>;\r
+FEC1 0637 0000;<isolated>;\r
+FEC2 0637 0000;<final>;\r
+FEC3 0637 0000;<initial>;\r
+FEC4 0637 0000;<medial>;\r
+FEC5 0638 0000;<isolated>;\r
+FEC6 0638 0000;<final>;\r
+FEC7 0638 0000;<initial>;\r
+FEC8 0638 0000;<medial>;\r
+FEC9 0639 0000;<isolated>;\r
+FECA 0639 0000;<final>;\r
+FECB 0639 0000;<initial>;\r
+FECC 0639 0000;<medial>;\r
+FECD 063A 0000;<isolated>;\r
+FECE 063A 0000;<final>;\r
+FECF 063A 0000;<initial>;\r
+FED0 063A 0000;<medial>;\r
+FED1 0641 0000;<isolated>;\r
+FED2 0641 0000;<final>;\r
+FED3 0641 0000;<initial>;\r
+FED4 0641 0000;<medial>;\r
+FED5 0642 0000;<isolated>;\r
+FED6 0642 0000;<final>;\r
+FED7 0642 0000;<initial>;\r
+FED8 0642 0000;<medial>;\r
+FED9 0643 0000;<isolated>;\r
+FEDA 0643 0000;<final>;\r
+FEDB 0643 0000;<initial>;\r
+FEDC 0643 0000;<medial>;\r
+FEDD 0644 0000;<isolated>;\r
+FEDE 0644 0000;<final>;\r
+FEDF 0644 0000;<initial>;\r
+FEE0 0644 0000;<medial>;\r
+FEE1 0645 0000;<isolated>;\r
+FEE2 0645 0000;<final>;\r
+FEE3 0645 0000;<initial>;\r
+FEE4 0645 0000;<medial>;\r
+FEE5 0646 0000;<isolated>;\r
+FEE6 0646 0000;<final>;\r
+FEE7 0646 0000;<initial>;\r
+FEE8 0646 0000;<medial>;\r
+FEE9 0647 0000;<isolated>;\r
+FEEA 0647 0000;<final>;\r
+FEEB 0647 0000;<initial>;\r
+FEEC 0647 0000;<medial>;\r
+FEED 0648 0000;<isolated>;\r
+FEEE 0648 0000;<final>;\r
+FEEF 0649 0000;<isolated>;\r
+FEF0 0649 0000;<final>;\r
+FEF1 064A 0000;<isolated>;\r
+FEF2 064A 0000;<final>;\r
+FEF3 064A 0000;<initial>;\r
+FEF4 064A 0000;<medial>;\r
+FEF5 0644 0622;<isolated>;\r
+FEF6 0644 0622;<final>;\r
+FEF7 0644 0623;<isolated>;\r
+FEF8 0644 0623;<final>;\r
+FEF9 0644 0625;<isolated>;\r
+FEFA 0644 0625;<final>;\r
+FEFB 0644 0627;<isolated>;\r
+FEFC 0644 0627;<final>;\r
+FF01 0021 0000;<wide>;\r
+FF02 0022 0000;<wide>;\r
+FF03 0023 0000;<wide>;\r
+FF04 0024 0000;<wide>;\r
+FF05 0025 0000;<wide>;\r
+FF06 0026 0000;<wide>;\r
+FF07 0027 0000;<wide>;\r
+FF08 0028 0000;<wide>;\r
+FF09 0029 0000;<wide>;\r
+FF0A 002A 0000;<wide>;\r
+FF0B 002B 0000;<wide>;\r
+FF0C 002C 0000;<wide>;\r
+FF0D 002D 0000;<wide>;\r
+FF0E 002E 0000;<wide>;\r
+FF0F 002F 0000;<wide>;\r
+FF10 0030 0000;<wide>;\r
+FF11 0031 0000;<wide>;\r
+FF12 0032 0000;<wide>;\r
+FF13 0033 0000;<wide>;\r
+FF14 0034 0000;<wide>;\r
+FF15 0035 0000;<wide>;\r
+FF16 0036 0000;<wide>;\r
+FF17 0037 0000;<wide>;\r
+FF18 0038 0000;<wide>;\r
+FF19 0039 0000;<wide>;\r
+FF1A 003A 0000;<wide>;\r
+FF1B 003B 0000;<wide>;\r
+FF1C 003C 0000;<wide>;\r
+FF1D 003D 0000;<wide>;\r
+FF1E 003E 0000;<wide>;\r
+FF1F 003F 0000;<wide>;\r
+FF20 0040 0000;<wide>;\r
+FF21 0041 0000;<wide>;\r
+FF22 0042 0000;<wide>;\r
+FF23 0043 0000;<wide>;\r
+FF24 0044 0000;<wide>;\r
+FF25 0045 0000;<wide>;\r
+FF26 0046 0000;<wide>;\r
+FF27 0047 0000;<wide>;\r
+FF28 0048 0000;<wide>;\r
+FF29 0049 0000;<wide>;\r
+FF2A 004A 0000;<wide>;\r
+FF2B 004B 0000;<wide>;\r
+FF2C 004C 0000;<wide>;\r
+FF2D 004D 0000;<wide>;\r
+FF2E 004E 0000;<wide>;\r
+FF2F 004F 0000;<wide>;\r
+FF30 0050 0000;<wide>;\r
+FF31 0051 0000;<wide>;\r
+FF32 0052 0000;<wide>;\r
+FF33 0053 0000;<wide>;\r
+FF34 0054 0000;<wide>;\r
+FF35 0055 0000;<wide>;\r
+FF36 0056 0000;<wide>;\r
+FF37 0057 0000;<wide>;\r
+FF38 0058 0000;<wide>;\r
+FF39 0059 0000;<wide>;\r
+FF3A 005A 0000;<wide>;\r
+FF3B 005B 0000;<wide>;\r
+FF3C 005C 0000;<wide>;\r
+FF3D 005D 0000;<wide>;\r
+FF3E 005E 0000;<wide>;\r
+FF3F 005F 0000;<wide>;\r
+FF40 0060 0000;<wide>;\r
+FF41 0061 0000;<wide>;\r
+FF42 0062 0000;<wide>;\r
+FF43 0063 0000;<wide>;\r
+FF44 0064 0000;<wide>;\r
+FF45 0065 0000;<wide>;\r
+FF46 0066 0000;<wide>;\r
+FF47 0067 0000;<wide>;\r
+FF48 0068 0000;<wide>;\r
+FF49 0069 0000;<wide>;\r
+FF4A 006A 0000;<wide>;\r
+FF4B 006B 0000;<wide>;\r
+FF4C 006C 0000;<wide>;\r
+FF4D 006D 0000;<wide>;\r
+FF4E 006E 0000;<wide>;\r
+FF4F 006F 0000;<wide>;\r
+FF50 0070 0000;<wide>;\r
+FF51 0071 0000;<wide>;\r
+FF52 0072 0000;<wide>;\r
+FF53 0073 0000;<wide>;\r
+FF54 0074 0000;<wide>;\r
+FF55 0075 0000;<wide>;\r
+FF56 0076 0000;<wide>;\r
+FF57 0077 0000;<wide>;\r
+FF58 0078 0000;<wide>;\r
+FF59 0079 0000;<wide>;\r
+FF5A 007A 0000;<wide>;\r
+FF5B 007B 0000;<wide>;\r
+FF5C 007C 0000;<wide>;\r
+FF5D 007D 0000;<wide>;\r
+FF5E 007E 0000;<wide>;\r
+FF61 3002 0000;<narrow>;\r
+FF62 300C 0000;<narrow>;\r
+FF63 300D 0000;<narrow>;\r
+FF64 3001 0000;<narrow>;\r
+FF65 30FB 0000;<narrow>;\r
+FF66 30F2 0000;<narrow>;\r
+FF67 30A1 0000;<narrow>;\r
+FF68 30A3 0000;<narrow>;\r
+FF69 30A5 0000;<narrow>;\r
+FF6A 30A7 0000;<narrow>;\r
+FF6B 30A9 0000;<narrow>;\r
+FF6C 30E3 0000;<narrow>;\r
+FF6D 30E5 0000;<narrow>;\r
+FF6E 30E7 0000;<narrow>;\r
+FF6F 30C3 0000;<narrow>;\r
+FF70 30FC 0000;<narrow>;\r
+FF71 30A2 0000;<narrow>;\r
+FF72 30A4 0000;<narrow>;\r
+FF73 30A6 0000;<narrow>;\r
+FF74 30A8 0000;<narrow>;\r
+FF75 30AA 0000;<narrow>;\r
+FF76 30AB 0000;<narrow>;\r
+FF77 30AD 0000;<narrow>;\r
+FF78 30AF 0000;<narrow>;\r
+FF79 30B1 0000;<narrow>;\r
+FF7A 30B3 0000;<narrow>;\r
+FF7B 30B5 0000;<narrow>;\r
+FF7C 30B7 0000;<narrow>;\r
+FF7D 30B9 0000;<narrow>;\r
+FF7E 30BB 0000;<narrow>;\r
+FF7F 30BD 0000;<narrow>;\r
+FF80 30BF 0000;<narrow>;\r
+FF81 30C1 0000;<narrow>;\r
+FF82 30C4 0000;<narrow>;\r
+FF83 30C6 0000;<narrow>;\r
+FF84 30C8 0000;<narrow>;\r
+FF85 30CA 0000;<narrow>;\r
+FF86 30CB 0000;<narrow>;\r
+FF87 30CC 0000;<narrow>;\r
+FF88 30CD 0000;<narrow>;\r
+FF89 30CE 0000;<narrow>;\r
+FF8A 30CF 0000;<narrow>;\r
+FF8B 30D2 0000;<narrow>;\r
+FF8C 30D5 0000;<narrow>;\r
+FF8D 30D8 0000;<narrow>;\r
+FF8E 30DB 0000;<narrow>;\r
+FF8F 30DE 0000;<narrow>;\r
+FF90 30DF 0000;<narrow>;\r
+FF91 30E0 0000;<narrow>;\r
+FF92 30E1 0000;<narrow>;\r
+FF93 30E2 0000;<narrow>;\r
+FF94 30E4 0000;<narrow>;\r
+FF95 30E6 0000;<narrow>;\r
+FF96 30E8 0000;<narrow>;\r
+FF97 30E9 0000;<narrow>;\r
+FF98 30EA 0000;<narrow>;\r
+FF99 30EB 0000;<narrow>;\r
+FF9A 30EC 0000;<narrow>;\r
+FF9B 30ED 0000;<narrow>;\r
+FF9C 30EF 0000;<narrow>;\r
+FF9D 30F3 0000;<narrow>;\r
+FF9E 3099 0000;<narrow>;\r
+FF9F 309A 0000;<narrow>;\r
+FFA0 3164 0000;<narrow>;\r
+FFA1 3131 0000;<narrow>;\r
+FFA2 3132 0000;<narrow>;\r
+FFA3 3133 0000;<narrow>;\r
+FFA4 3134 0000;<narrow>;\r
+FFA5 3135 0000;<narrow>;\r
+FFA6 3136 0000;<narrow>;\r
+FFA7 3137 0000;<narrow>;\r
+FFA8 3138 0000;<narrow>;\r
+FFA9 3139 0000;<narrow>;\r
+FFAA 313A 0000;<narrow>;\r
+FFAB 313B 0000;<narrow>;\r
+FFAC 313C 0000;<narrow>;\r
+FFAD 313D 0000;<narrow>;\r
+FFAE 313E 0000;<narrow>;\r
+FFAF 313F 0000;<narrow>;\r
+FFB0 3140 0000;<narrow>;\r
+FFB1 3141 0000;<narrow>;\r
+FFB2 3142 0000;<narrow>;\r
+FFB3 3143 0000;<narrow>;\r
+FFB4 3144 0000;<narrow>;\r
+FFB5 3145 0000;<narrow>;\r
+FFB6 3146 0000;<narrow>;\r
+FFB7 3147 0000;<narrow>;\r
+FFB8 3148 0000;<narrow>;\r
+FFB9 3149 0000;<narrow>;\r
+FFBA 314A 0000;<narrow>;\r
+FFBB 314B 0000;<narrow>;\r
+FFBC 314C 0000;<narrow>;\r
+FFBD 314D 0000;<narrow>;\r
+FFBE 314E 0000;<narrow>;\r
+FFC2 314F 0000;<narrow>;\r
+FFC3 3150 0000;<narrow>;\r
+FFC4 3151 0000;<narrow>;\r
+FFC5 3152 0000;<narrow>;\r
+FFC6 3153 0000;<narrow>;\r
+FFC7 3154 0000;<narrow>;\r
+FFCA 3155 0000;<narrow>;\r
+FFCB 3156 0000;<narrow>;\r
+FFCC 3157 0000;<narrow>;\r
+FFCD 3158 0000;<narrow>;\r
+FFCE 3159 0000;<narrow>;\r
+FFCF 315A 0000;<narrow>;\r
+FFD2 315B 0000;<narrow>;\r
+FFD3 315C 0000;<narrow>;\r
+FFD4 315D 0000;<narrow>;\r
+FFD5 315E 0000;<narrow>;\r
+FFD6 315F 0000;<narrow>;\r
+FFD7 3160 0000;<narrow>;\r
+FFDA 3161 0000;<narrow>;\r
+FFDB 3162 0000;<narrow>;\r
+FFDC 3163 0000;<narrow>;\r
+FFE0 00A2 0000;<wide>;\r
+FFE1 00A3 0000;<wide>;\r
+FFE2 00AC 0000;<wide>;\r
+FFE3 00AF 0000;<wide>;\r
+FFE4 00A6 0000;<wide>;\r
+FFE5 00A5 0000;<wide>;\r
+FFE6 20A9 0000;<wide>;\r
+FFE8 2502 0000;<narrow>;\r
+FFE9 2190 0000;<narrow>;\r
+FFEA 2191 0000;<narrow>;\r
+FFEB 2192 0000;<narrow>;\r
+FFEC 2193 0000;<narrow>;\r
+FFED 25A0 0000;<narrow>;\r
+FFEE 25CB 0000;<narrow>;\r
--- /dev/null
+# uni-prop.txt - Unicode character properties\r
+0000;Cc;BN;\r
+0001;Cc;BN;\r
+0002;Cc;BN;\r
+0003;Cc;BN;\r
+0004;Cc;BN;\r
+0005;Cc;BN;\r
+0006;Cc;BN;\r
+0007;Cc;BN;\r
+0008;Cc;BN;\r
+0009;Cc;S;\r
+000A;Cc;B;\r
+000B;Cc;S;\r
+000C;Cc;WS;\r
+000D;Cc;B;\r
+000E;Cc;BN;\r
+000F;Cc;BN;\r
+0010;Cc;BN;\r
+0011;Cc;BN;\r
+0012;Cc;BN;\r
+0013;Cc;BN;\r
+0014;Cc;BN;\r
+0015;Cc;BN;\r
+0016;Cc;BN;\r
+0017;Cc;BN;\r
+0018;Cc;BN;\r
+0019;Cc;BN;\r
+001A;Cc;BN;\r
+001B;Cc;BN;\r
+001C;Cc;B;\r
+001D;Cc;B;\r
+001E;Cc;B;\r
+001F;Cc;S;\r
+0020;Zs;WS;\r
+0021;Po;ON;\r
+0022;Po;ON;\r
+0023;Po;ET;\r
+0024;Sc;ET;\r
+0025;Po;ET;\r
+0026;Po;ON;\r
+0027;Po;ON;\r
+0028;Ps;ON;\r
+0029;Pe;ON;\r
+002A;Po;ON;\r
+002B;Sm;ET;\r
+002C;Po;CS;\r
+002D;Pd;ET;\r
+002E;Po;CS;\r
+002F;Po;ES;\r
+0030;Nd;EN;\r
+0031;Nd;EN;\r
+0032;Nd;EN;\r
+0033;Nd;EN;\r
+0034;Nd;EN;\r
+0035;Nd;EN;\r
+0036;Nd;EN;\r
+0037;Nd;EN;\r
+0038;Nd;EN;\r
+0039;Nd;EN;\r
+003A;Po;CS;\r
+003B;Po;ON;\r
+003C;Sm;ON;\r
+003D;Sm;ON;\r
+003E;Sm;ON;\r
+003F;Po;ON;\r
+0040;Po;ON;\r
+0041;Lu;L;\r
+0042;Lu;L;\r
+0043;Lu;L;\r
+0044;Lu;L;\r
+0045;Lu;L;\r
+0046;Lu;L;\r
+0047;Lu;L;\r
+0048;Lu;L;\r
+0049;Lu;L;\r
+004A;Lu;L;\r
+004B;Lu;L;\r
+004C;Lu;L;\r
+004D;Lu;L;\r
+004E;Lu;L;\r
+004F;Lu;L;\r
+0050;Lu;L;\r
+0051;Lu;L;\r
+0052;Lu;L;\r
+0053;Lu;L;\r
+0054;Lu;L;\r
+0055;Lu;L;\r
+0056;Lu;L;\r
+0057;Lu;L;\r
+0058;Lu;L;\r
+0059;Lu;L;\r
+005A;Lu;L;\r
+005B;Ps;ON;\r
+005C;Po;ON;\r
+005D;Pe;ON;\r
+005E;Sk;ON;\r
+005F;Pc;ON;\r
+0060;Sk;ON;\r
+0061;Ll;L;\r
+0062;Ll;L;\r
+0063;Ll;L;\r
+0064;Ll;L;\r
+0065;Ll;L;\r
+0066;Ll;L;\r
+0067;Ll;L;\r
+0068;Ll;L;\r
+0069;Ll;L;\r
+006A;Ll;L;\r
+006B;Ll;L;\r
+006C;Ll;L;\r
+006D;Ll;L;\r
+006E;Ll;L;\r
+006F;Ll;L;\r
+0070;Ll;L;\r
+0071;Ll;L;\r
+0072;Ll;L;\r
+0073;Ll;L;\r
+0074;Ll;L;\r
+0075;Ll;L;\r
+0076;Ll;L;\r
+0077;Ll;L;\r
+0078;Ll;L;\r
+0079;Ll;L;\r
+007A;Ll;L;\r
+007B;Ps;ON;\r
+007C;Sm;ON;\r
+007D;Pe;ON;\r
+007E;Sm;ON;\r
+007F;Cc;BN;\r
+0080;Cc;BN;\r
+0081;Cc;BN;\r
+0082;Cc;BN;\r
+0083;Cc;BN;\r
+0084;Cc;BN;\r
+0085;Cc;B;\r
+0086;Cc;BN;\r
+0087;Cc;BN;\r
+0088;Cc;BN;\r
+0089;Cc;BN;\r
+008A;Cc;BN;\r
+008B;Cc;BN;\r
+008C;Cc;BN;\r
+008D;Cc;BN;\r
+008E;Cc;BN;\r
+008F;Cc;BN;\r
+0090;Cc;BN;\r
+0091;Cc;BN;\r
+0092;Cc;BN;\r
+0093;Cc;BN;\r
+0094;Cc;BN;\r
+0095;Cc;BN;\r
+0096;Cc;BN;\r
+0097;Cc;BN;\r
+0098;Cc;BN;\r
+0099;Cc;BN;\r
+009A;Cc;BN;\r
+009B;Cc;BN;\r
+009C;Cc;BN;\r
+009D;Cc;BN;\r
+009E;Cc;BN;\r
+009F;Cc;BN;\r
+00A0;Zs;CS;\r
+00A1;Po;ON;\r
+00A2;Sc;ET;\r
+00A3;Sc;ET;\r
+00A4;Sc;ET;\r
+00A5;Sc;ET;\r
+00A6;So;ON;\r
+00A7;So;ON;\r
+00A8;Sk;ON;\r
+00A9;So;ON;\r
+00AA;Ll;L;\r
+00AB;Pi;ON;\r
+00AC;Sm;ON;\r
+00AD;Pd;ON;\r
+00AE;So;ON;\r
+00AF;Sk;ON;\r
+00B0;So;ET;\r
+00B1;Sm;ET;\r
+00B2;No;EN;\r
+00B3;No;EN;\r
+00B4;Sk;ON;\r
+00B5;Ll;L;\r
+00B6;So;ON;\r
+00B7;Po;ON;\r
+00B8;Sk;ON;\r
+00B9;No;EN;\r
+00BA;Ll;L;\r
+00BB;Pf;ON;\r
+00BC;No;ON;\r
+00BD;No;ON;\r
+00BE;No;ON;\r
+00BF;Po;ON;\r
+00C0;Lu;L;\r
+00C1;Lu;L;\r
+00C2;Lu;L;\r
+00C3;Lu;L;\r
+00C4;Lu;L;\r
+00C5;Lu;L;\r
+00C6;Lu;L;\r
+00C7;Lu;L;\r
+00C8;Lu;L;\r
+00C9;Lu;L;\r
+00CA;Lu;L;\r
+00CB;Lu;L;\r
+00CC;Lu;L;\r
+00CD;Lu;L;\r
+00CE;Lu;L;\r
+00CF;Lu;L;\r
+00D0;Lu;L;\r
+00D1;Lu;L;\r
+00D2;Lu;L;\r
+00D3;Lu;L;\r
+00D4;Lu;L;\r
+00D5;Lu;L;\r
+00D6;Lu;L;\r
+00D7;Sm;ON;\r
+00D8;Lu;L;\r
+00D9;Lu;L;\r
+00DA;Lu;L;\r
+00DB;Lu;L;\r
+00DC;Lu;L;\r
+00DD;Lu;L;\r
+00DE;Lu;L;\r
+00DF;Ll;L;\r
+00E0;Ll;L;\r
+00E1;Ll;L;\r
+00E2;Ll;L;\r
+00E3;Ll;L;\r
+00E4;Ll;L;\r
+00E5;Ll;L;\r
+00E6;Ll;L;\r
+00E7;Ll;L;\r
+00E8;Ll;L;\r
+00E9;Ll;L;\r
+00EA;Ll;L;\r
+00EB;Ll;L;\r
+00EC;Ll;L;\r
+00ED;Ll;L;\r
+00EE;Ll;L;\r
+00EF;Ll;L;\r
+00F0;Ll;L;\r
+00F1;Ll;L;\r
+00F2;Ll;L;\r
+00F3;Ll;L;\r
+00F4;Ll;L;\r
+00F5;Ll;L;\r
+00F6;Ll;L;\r
+00F7;Sm;ON;\r
+00F8;Ll;L;\r
+00F9;Ll;L;\r
+00FA;Ll;L;\r
+00FB;Ll;L;\r
+00FC;Ll;L;\r
+00FD;Ll;L;\r
+00FE;Ll;L;\r
+00FF;Ll;L;\r
+0100;Lu;L;\r
+0101;Ll;L;\r
+0102;Lu;L;\r
+0103;Ll;L;\r
+0104;Lu;L;\r
+0105;Ll;L;\r
+0106;Lu;L;\r
+0107;Ll;L;\r
+0108;Lu;L;\r
+0109;Ll;L;\r
+010A;Lu;L;\r
+010B;Ll;L;\r
+010C;Lu;L;\r
+010D;Ll;L;\r
+010E;Lu;L;\r
+010F;Ll;L;\r
+0110;Lu;L;\r
+0111;Ll;L;\r
+0112;Lu;L;\r
+0113;Ll;L;\r
+0114;Lu;L;\r
+0115;Ll;L;\r
+0116;Lu;L;\r
+0117;Ll;L;\r
+0118;Lu;L;\r
+0119;Ll;L;\r
+011A;Lu;L;\r
+011B;Ll;L;\r
+011C;Lu;L;\r
+011D;Ll;L;\r
+011E;Lu;L;\r
+011F;Ll;L;\r
+0120;Lu;L;\r
+0121;Ll;L;\r
+0122;Lu;L;\r
+0123;Ll;L;\r
+0124;Lu;L;\r
+0125;Ll;L;\r
+0126;Lu;L;\r
+0127;Ll;L;\r
+0128;Lu;L;\r
+0129;Ll;L;\r
+012A;Lu;L;\r
+012B;Ll;L;\r
+012C;Lu;L;\r
+012D;Ll;L;\r
+012E;Lu;L;\r
+012F;Ll;L;\r
+0130;Lu;L;\r
+0131;Ll;L;\r
+0132;Lu;L;\r
+0133;Ll;L;\r
+0134;Lu;L;\r
+0135;Ll;L;\r
+0136;Lu;L;\r
+0137;Ll;L;\r
+0138;Ll;L;\r
+0139;Lu;L;\r
+013A;Ll;L;\r
+013B;Lu;L;\r
+013C;Ll;L;\r
+013D;Lu;L;\r
+013E;Ll;L;\r
+013F;Lu;L;\r
+0140;Ll;L;\r
+0141;Lu;L;\r
+0142;Ll;L;\r
+0143;Lu;L;\r
+0144;Ll;L;\r
+0145;Lu;L;\r
+0146;Ll;L;\r
+0147;Lu;L;\r
+0148;Ll;L;\r
+0149;Ll;L;\r
+014A;Lu;L;\r
+014B;Ll;L;\r
+014C;Lu;L;\r
+014D;Ll;L;\r
+014E;Lu;L;\r
+014F;Ll;L;\r
+0150;Lu;L;\r
+0151;Ll;L;\r
+0152;Lu;L;\r
+0153;Ll;L;\r
+0154;Lu;L;\r
+0155;Ll;L;\r
+0156;Lu;L;\r
+0157;Ll;L;\r
+0158;Lu;L;\r
+0159;Ll;L;\r
+015A;Lu;L;\r
+015B;Ll;L;\r
+015C;Lu;L;\r
+015D;Ll;L;\r
+015E;Lu;L;\r
+015F;Ll;L;\r
+0160;Lu;L;\r
+0161;Ll;L;\r
+0162;Lu;L;\r
+0163;Ll;L;\r
+0164;Lu;L;\r
+0165;Ll;L;\r
+0166;Lu;L;\r
+0167;Ll;L;\r
+0168;Lu;L;\r
+0169;Ll;L;\r
+016A;Lu;L;\r
+016B;Ll;L;\r
+016C;Lu;L;\r
+016D;Ll;L;\r
+016E;Lu;L;\r
+016F;Ll;L;\r
+0170;Lu;L;\r
+0171;Ll;L;\r
+0172;Lu;L;\r
+0173;Ll;L;\r
+0174;Lu;L;\r
+0175;Ll;L;\r
+0176;Lu;L;\r
+0177;Ll;L;\r
+0178;Lu;L;\r
+0179;Lu;L;\r
+017A;Ll;L;\r
+017B;Lu;L;\r
+017C;Ll;L;\r
+017D;Lu;L;\r
+017E;Ll;L;\r
+017F;Ll;L;\r
+0180;Ll;L;\r
+0181;Lu;L;\r
+0182;Lu;L;\r
+0183;Ll;L;\r
+0184;Lu;L;\r
+0185;Ll;L;\r
+0186;Lu;L;\r
+0187;Lu;L;\r
+0188;Ll;L;\r
+0189;Lu;L;\r
+018A;Lu;L;\r
+018B;Lu;L;\r
+018C;Ll;L;\r
+018D;Ll;L;\r
+018E;Lu;L;\r
+018F;Lu;L;\r
+0190;Lu;L;\r
+0191;Lu;L;\r
+0192;Ll;L;\r
+0193;Lu;L;\r
+0194;Lu;L;\r
+0195;Ll;L;\r
+0196;Lu;L;\r
+0197;Lu;L;\r
+0198;Lu;L;\r
+0199;Ll;L;\r
+019A;Ll;L;\r
+019B;Ll;L;\r
+019C;Lu;L;\r
+019D;Lu;L;\r
+019E;Ll;L;\r
+019F;Lu;L;\r
+01A0;Lu;L;\r
+01A1;Ll;L;\r
+01A2;Lu;L;\r
+01A3;Ll;L;\r
+01A4;Lu;L;\r
+01A5;Ll;L;\r
+01A6;Lu;L;\r
+01A7;Lu;L;\r
+01A8;Ll;L;\r
+01A9;Lu;L;\r
+01AA;Ll;L;\r
+01AB;Ll;L;\r
+01AC;Lu;L;\r
+01AD;Ll;L;\r
+01AE;Lu;L;\r
+01AF;Lu;L;\r
+01B0;Ll;L;\r
+01B1;Lu;L;\r
+01B2;Lu;L;\r
+01B3;Lu;L;\r
+01B4;Ll;L;\r
+01B5;Lu;L;\r
+01B6;Ll;L;\r
+01B7;Lu;L;\r
+01B8;Lu;L;\r
+01B9;Ll;L;\r
+01BA;Ll;L;\r
+01BB;Lo;L;\r
+01BC;Lu;L;\r
+01BD;Ll;L;\r
+01BE;Ll;L;\r
+01BF;Ll;L;\r
+01C0;Lo;L;\r
+01C1;Lo;L;\r
+01C2;Lo;L;\r
+01C3;Lo;L;\r
+01C4;Lu;L;\r
+01C5;Lt;L;\r
+01C6;Ll;L;\r
+01C7;Lu;L;\r
+01C8;Lt;L;\r
+01C9;Ll;L;\r
+01CA;Lu;L;\r
+01CB;Lt;L;\r
+01CC;Ll;L;\r
+01CD;Lu;L;\r
+01CE;Ll;L;\r
+01CF;Lu;L;\r
+01D0;Ll;L;\r
+01D1;Lu;L;\r
+01D2;Ll;L;\r
+01D3;Lu;L;\r
+01D4;Ll;L;\r
+01D5;Lu;L;\r
+01D6;Ll;L;\r
+01D7;Lu;L;\r
+01D8;Ll;L;\r
+01D9;Lu;L;\r
+01DA;Ll;L;\r
+01DB;Lu;L;\r
+01DC;Ll;L;\r
+01DD;Ll;L;\r
+01DE;Lu;L;\r
+01DF;Ll;L;\r
+01E0;Lu;L;\r
+01E1;Ll;L;\r
+01E2;Lu;L;\r
+01E3;Ll;L;\r
+01E4;Lu;L;\r
+01E5;Ll;L;\r
+01E6;Lu;L;\r
+01E7;Ll;L;\r
+01E8;Lu;L;\r
+01E9;Ll;L;\r
+01EA;Lu;L;\r
+01EB;Ll;L;\r
+01EC;Lu;L;\r
+01ED;Ll;L;\r
+01EE;Lu;L;\r
+01EF;Ll;L;\r
+01F0;Ll;L;\r
+01F1;Lu;L;\r
+01F2;Lt;L;\r
+01F3;Ll;L;\r
+01F4;Lu;L;\r
+01F5;Ll;L;\r
+01F6;Lu;L;\r
+01F7;Lu;L;\r
+01F8;Lu;L;\r
+01F9;Ll;L;\r
+01FA;Lu;L;\r
+01FB;Ll;L;\r
+01FC;Lu;L;\r
+01FD;Ll;L;\r
+01FE;Lu;L;\r
+01FF;Ll;L;\r
+0200;Lu;L;\r
+0201;Ll;L;\r
+0202;Lu;L;\r
+0203;Ll;L;\r
+0204;Lu;L;\r
+0205;Ll;L;\r
+0206;Lu;L;\r
+0207;Ll;L;\r
+0208;Lu;L;\r
+0209;Ll;L;\r
+020A;Lu;L;\r
+020B;Ll;L;\r
+020C;Lu;L;\r
+020D;Ll;L;\r
+020E;Lu;L;\r
+020F;Ll;L;\r
+0210;Lu;L;\r
+0211;Ll;L;\r
+0212;Lu;L;\r
+0213;Ll;L;\r
+0214;Lu;L;\r
+0215;Ll;L;\r
+0216;Lu;L;\r
+0217;Ll;L;\r
+0218;Lu;L;\r
+0219;Ll;L;\r
+021A;Lu;L;\r
+021B;Ll;L;\r
+021C;Lu;L;\r
+021D;Ll;L;\r
+021E;Lu;L;\r
+021F;Ll;L;\r
+0222;Lu;L;\r
+0223;Ll;L;\r
+0224;Lu;L;\r
+0225;Ll;L;\r
+0226;Lu;L;\r
+0227;Ll;L;\r
+0228;Lu;L;\r
+0229;Ll;L;\r
+022A;Lu;L;\r
+022B;Ll;L;\r
+022C;Lu;L;\r
+022D;Ll;L;\r
+022E;Lu;L;\r
+022F;Ll;L;\r
+0230;Lu;L;\r
+0231;Ll;L;\r
+0232;Lu;L;\r
+0233;Ll;L;\r
+0250;Ll;L;\r
+0251;Ll;L;\r
+0252;Ll;L;\r
+0253;Ll;L;\r
+0254;Ll;L;\r
+0255;Ll;L;\r
+0256;Ll;L;\r
+0257;Ll;L;\r
+0258;Ll;L;\r
+0259;Ll;L;\r
+025A;Ll;L;\r
+025B;Ll;L;\r
+025C;Ll;L;\r
+025D;Ll;L;\r
+025E;Ll;L;\r
+025F;Ll;L;\r
+0260;Ll;L;\r
+0261;Ll;L;\r
+0262;Ll;L;\r
+0263;Ll;L;\r
+0264;Ll;L;\r
+0265;Ll;L;\r
+0266;Ll;L;\r
+0267;Ll;L;\r
+0268;Ll;L;\r
+0269;Ll;L;\r
+026A;Ll;L;\r
+026B;Ll;L;\r
+026C;Ll;L;\r
+026D;Ll;L;\r
+026E;Ll;L;\r
+026F;Ll;L;\r
+0270;Ll;L;\r
+0271;Ll;L;\r
+0272;Ll;L;\r
+0273;Ll;L;\r
+0274;Ll;L;\r
+0275;Ll;L;\r
+0276;Ll;L;\r
+0277;Ll;L;\r
+0278;Ll;L;\r
+0279;Ll;L;\r
+027A;Ll;L;\r
+027B;Ll;L;\r
+027C;Ll;L;\r
+027D;Ll;L;\r
+027E;Ll;L;\r
+027F;Ll;L;\r
+0280;Ll;L;\r
+0281;Ll;L;\r
+0282;Ll;L;\r
+0283;Ll;L;\r
+0284;Ll;L;\r
+0285;Ll;L;\r
+0286;Ll;L;\r
+0287;Ll;L;\r
+0288;Ll;L;\r
+0289;Ll;L;\r
+028A;Ll;L;\r
+028B;Ll;L;\r
+028C;Ll;L;\r
+028D;Ll;L;\r
+028E;Ll;L;\r
+028F;Ll;L;\r
+0290;Ll;L;\r
+0291;Ll;L;\r
+0292;Ll;L;\r
+0293;Ll;L;\r
+0294;Ll;L;\r
+0295;Ll;L;\r
+0296;Ll;L;\r
+0297;Ll;L;\r
+0298;Ll;L;\r
+0299;Ll;L;\r
+029A;Ll;L;\r
+029B;Ll;L;\r
+029C;Ll;L;\r
+029D;Ll;L;\r
+029E;Ll;L;\r
+029F;Ll;L;\r
+02A0;Ll;L;\r
+02A1;Ll;L;\r
+02A2;Ll;L;\r
+02A3;Ll;L;\r
+02A4;Ll;L;\r
+02A5;Ll;L;\r
+02A6;Ll;L;\r
+02A7;Ll;L;\r
+02A8;Ll;L;\r
+02A9;Ll;L;\r
+02AA;Ll;L;\r
+02AB;Ll;L;\r
+02AC;Ll;L;\r
+02AD;Ll;L;\r
+02B0;Lm;L;\r
+02B1;Lm;L;\r
+02B2;Lm;L;\r
+02B3;Lm;L;\r
+02B4;Lm;L;\r
+02B5;Lm;L;\r
+02B6;Lm;L;\r
+02B7;Lm;L;\r
+02B8;Lm;L;\r
+02B9;Sk;ON;\r
+02BA;Sk;ON;\r
+02BB;Lm;L;\r
+02BC;Lm;L;\r
+02BD;Lm;L;\r
+02BE;Lm;L;\r
+02BF;Lm;L;\r
+02C0;Lm;L;\r
+02C1;Lm;L;\r
+02C2;Sk;ON;\r
+02C3;Sk;ON;\r
+02C4;Sk;ON;\r
+02C5;Sk;ON;\r
+02C6;Sk;ON;\r
+02C7;Sk;ON;\r
+02C8;Sk;ON;\r
+02C9;Sk;ON;\r
+02CA;Sk;ON;\r
+02CB;Sk;ON;\r
+02CC;Sk;ON;\r
+02CD;Sk;ON;\r
+02CE;Sk;ON;\r
+02CF;Sk;ON;\r
+02D0;Lm;L;\r
+02D1;Lm;L;\r
+02D2;Sk;ON;\r
+02D3;Sk;ON;\r
+02D4;Sk;ON;\r
+02D5;Sk;ON;\r
+02D6;Sk;ON;\r
+02D7;Sk;ON;\r
+02D8;Sk;ON;\r
+02D9;Sk;ON;\r
+02DA;Sk;ON;\r
+02DB;Sk;ON;\r
+02DC;Sk;ON;\r
+02DD;Sk;ON;\r
+02DE;Sk;ON;\r
+02DF;Sk;ON;\r
+02E0;Lm;L;\r
+02E1;Lm;L;\r
+02E2;Lm;L;\r
+02E3;Lm;L;\r
+02E4;Lm;L;\r
+02E5;Sk;ON;\r
+02E6;Sk;ON;\r
+02E7;Sk;ON;\r
+02E8;Sk;ON;\r
+02E9;Sk;ON;\r
+02EA;Sk;ON;\r
+02EB;Sk;ON;\r
+02EC;Sk;ON;\r
+02ED;Sk;ON;\r
+02EE;Lm;L;\r
+0300;Mn;NSM;\r
+0301;Mn;NSM;\r
+0302;Mn;NSM;\r
+0303;Mn;NSM;\r
+0304;Mn;NSM;\r
+0305;Mn;NSM;\r
+0306;Mn;NSM;\r
+0307;Mn;NSM;\r
+0308;Mn;NSM;\r
+0309;Mn;NSM;\r
+030A;Mn;NSM;\r
+030B;Mn;NSM;\r
+030C;Mn;NSM;\r
+030D;Mn;NSM;\r
+030E;Mn;NSM;\r
+030F;Mn;NSM;\r
+0310;Mn;NSM;\r
+0311;Mn;NSM;\r
+0312;Mn;NSM;\r
+0313;Mn;NSM;\r
+0314;Mn;NSM;\r
+0315;Mn;NSM;\r
+0316;Mn;NSM;\r
+0317;Mn;NSM;\r
+0318;Mn;NSM;\r
+0319;Mn;NSM;\r
+031A;Mn;NSM;\r
+031B;Mn;NSM;\r
+031C;Mn;NSM;\r
+031D;Mn;NSM;\r
+031E;Mn;NSM;\r
+031F;Mn;NSM;\r
+0320;Mn;NSM;\r
+0321;Mn;NSM;\r
+0322;Mn;NSM;\r
+0323;Mn;NSM;\r
+0324;Mn;NSM;\r
+0325;Mn;NSM;\r
+0326;Mn;NSM;\r
+0327;Mn;NSM;\r
+0328;Mn;NSM;\r
+0329;Mn;NSM;\r
+032A;Mn;NSM;\r
+032B;Mn;NSM;\r
+032C;Mn;NSM;\r
+032D;Mn;NSM;\r
+032E;Mn;NSM;\r
+032F;Mn;NSM;\r
+0330;Mn;NSM;\r
+0331;Mn;NSM;\r
+0332;Mn;NSM;\r
+0333;Mn;NSM;\r
+0334;Mn;NSM;\r
+0335;Mn;NSM;\r
+0336;Mn;NSM;\r
+0337;Mn;NSM;\r
+0338;Mn;NSM;\r
+0339;Mn;NSM;\r
+033A;Mn;NSM;\r
+033B;Mn;NSM;\r
+033C;Mn;NSM;\r
+033D;Mn;NSM;\r
+033E;Mn;NSM;\r
+033F;Mn;NSM;\r
+0340;Mn;NSM;\r
+0341;Mn;NSM;\r
+0342;Mn;NSM;\r
+0343;Mn;NSM;\r
+0344;Mn;NSM;\r
+0345;Mn;NSM;\r
+0346;Mn;NSM;\r
+0347;Mn;NSM;\r
+0348;Mn;NSM;\r
+0349;Mn;NSM;\r
+034A;Mn;NSM;\r
+034B;Mn;NSM;\r
+034C;Mn;NSM;\r
+034D;Mn;NSM;\r
+034E;Mn;NSM;\r
+0360;Mn;NSM;\r
+0361;Mn;NSM;\r
+0362;Mn;NSM;\r
+0374;Sk;ON;\r
+0375;Sk;ON;\r
+037A;Lm;L;\r
+037E;Po;ON;\r
+0384;Sk;ON;\r
+0385;Sk;ON;\r
+0386;Lu;L;\r
+0387;Po;ON;\r
+0388;Lu;L;\r
+0389;Lu;L;\r
+038A;Lu;L;\r
+038C;Lu;L;\r
+038E;Lu;L;\r
+038F;Lu;L;\r
+0390;Ll;L;\r
+0391;Lu;L;\r
+0392;Lu;L;\r
+0393;Lu;L;\r
+0394;Lu;L;\r
+0395;Lu;L;\r
+0396;Lu;L;\r
+0397;Lu;L;\r
+0398;Lu;L;\r
+0399;Lu;L;\r
+039A;Lu;L;\r
+039B;Lu;L;\r
+039C;Lu;L;\r
+039D;Lu;L;\r
+039E;Lu;L;\r
+039F;Lu;L;\r
+03A0;Lu;L;\r
+03A1;Lu;L;\r
+03A3;Lu;L;\r
+03A4;Lu;L;\r
+03A5;Lu;L;\r
+03A6;Lu;L;\r
+03A7;Lu;L;\r
+03A8;Lu;L;\r
+03A9;Lu;L;\r
+03AA;Lu;L;\r
+03AB;Lu;L;\r
+03AC;Ll;L;\r
+03AD;Ll;L;\r
+03AE;Ll;L;\r
+03AF;Ll;L;\r
+03B0;Ll;L;\r
+03B1;Ll;L;\r
+03B2;Ll;L;\r
+03B3;Ll;L;\r
+03B4;Ll;L;\r
+03B5;Ll;L;\r
+03B6;Ll;L;\r
+03B7;Ll;L;\r
+03B8;Ll;L;\r
+03B9;Ll;L;\r
+03BA;Ll;L;\r
+03BB;Ll;L;\r
+03BC;Ll;L;\r
+03BD;Ll;L;\r
+03BE;Ll;L;\r
+03BF;Ll;L;\r
+03C0;Ll;L;\r
+03C1;Ll;L;\r
+03C2;Ll;L;\r
+03C3;Ll;L;\r
+03C4;Ll;L;\r
+03C5;Ll;L;\r
+03C6;Ll;L;\r
+03C7;Ll;L;\r
+03C8;Ll;L;\r
+03C9;Ll;L;\r
+03CA;Ll;L;\r
+03CB;Ll;L;\r
+03CC;Ll;L;\r
+03CD;Ll;L;\r
+03CE;Ll;L;\r
+03D0;Ll;L;\r
+03D1;Ll;L;\r
+03D2;Lu;L;\r
+03D3;Lu;L;\r
+03D4;Lu;L;\r
+03D5;Ll;L;\r
+03D6;Ll;L;\r
+03D7;Ll;L;\r
+03DA;Lu;L;\r
+03DB;Ll;L;\r
+03DC;Lu;L;\r
+03DD;Ll;L;\r
+03DE;Lu;L;\r
+03DF;Ll;L;\r
+03E0;Lu;L;\r
+03E1;Ll;L;\r
+03E2;Lu;L;\r
+03E3;Ll;L;\r
+03E4;Lu;L;\r
+03E5;Ll;L;\r
+03E6;Lu;L;\r
+03E7;Ll;L;\r
+03E8;Lu;L;\r
+03E9;Ll;L;\r
+03EA;Lu;L;\r
+03EB;Ll;L;\r
+03EC;Lu;L;\r
+03ED;Ll;L;\r
+03EE;Lu;L;\r
+03EF;Ll;L;\r
+03F0;Ll;L;\r
+03F1;Ll;L;\r
+03F2;Ll;L;\r
+03F3;Ll;L;\r
+03F4;Lu;L;\r
+03F5;Ll;L;\r
+0400;Lu;L;\r
+0401;Lu;L;\r
+0402;Lu;L;\r
+0403;Lu;L;\r
+0404;Lu;L;\r
+0405;Lu;L;\r
+0406;Lu;L;\r
+0407;Lu;L;\r
+0408;Lu;L;\r
+0409;Lu;L;\r
+040A;Lu;L;\r
+040B;Lu;L;\r
+040C;Lu;L;\r
+040D;Lu;L;\r
+040E;Lu;L;\r
+040F;Lu;L;\r
+0410;Lu;L;\r
+0411;Lu;L;\r
+0412;Lu;L;\r
+0413;Lu;L;\r
+0414;Lu;L;\r
+0415;Lu;L;\r
+0416;Lu;L;\r
+0417;Lu;L;\r
+0418;Lu;L;\r
+0419;Lu;L;\r
+041A;Lu;L;\r
+041B;Lu;L;\r
+041C;Lu;L;\r
+041D;Lu;L;\r
+041E;Lu;L;\r
+041F;Lu;L;\r
+0420;Lu;L;\r
+0421;Lu;L;\r
+0422;Lu;L;\r
+0423;Lu;L;\r
+0424;Lu;L;\r
+0425;Lu;L;\r
+0426;Lu;L;\r
+0427;Lu;L;\r
+0428;Lu;L;\r
+0429;Lu;L;\r
+042A;Lu;L;\r
+042B;Lu;L;\r
+042C;Lu;L;\r
+042D;Lu;L;\r
+042E;Lu;L;\r
+042F;Lu;L;\r
+0430;Ll;L;\r
+0431;Ll;L;\r
+0432;Ll;L;\r
+0433;Ll;L;\r
+0434;Ll;L;\r
+0435;Ll;L;\r
+0436;Ll;L;\r
+0437;Ll;L;\r
+0438;Ll;L;\r
+0439;Ll;L;\r
+043A;Ll;L;\r
+043B;Ll;L;\r
+043C;Ll;L;\r
+043D;Ll;L;\r
+043E;Ll;L;\r
+043F;Ll;L;\r
+0440;Ll;L;\r
+0441;Ll;L;\r
+0442;Ll;L;\r
+0443;Ll;L;\r
+0444;Ll;L;\r
+0445;Ll;L;\r
+0446;Ll;L;\r
+0447;Ll;L;\r
+0448;Ll;L;\r
+0449;Ll;L;\r
+044A;Ll;L;\r
+044B;Ll;L;\r
+044C;Ll;L;\r
+044D;Ll;L;\r
+044E;Ll;L;\r
+044F;Ll;L;\r
+0450;Ll;L;\r
+0451;Ll;L;\r
+0452;Ll;L;\r
+0453;Ll;L;\r
+0454;Ll;L;\r
+0455;Ll;L;\r
+0456;Ll;L;\r
+0457;Ll;L;\r
+0458;Ll;L;\r
+0459;Ll;L;\r
+045A;Ll;L;\r
+045B;Ll;L;\r
+045C;Ll;L;\r
+045D;Ll;L;\r
+045E;Ll;L;\r
+045F;Ll;L;\r
+0460;Lu;L;\r
+0461;Ll;L;\r
+0462;Lu;L;\r
+0463;Ll;L;\r
+0464;Lu;L;\r
+0465;Ll;L;\r
+0466;Lu;L;\r
+0467;Ll;L;\r
+0468;Lu;L;\r
+0469;Ll;L;\r
+046A;Lu;L;\r
+046B;Ll;L;\r
+046C;Lu;L;\r
+046D;Ll;L;\r
+046E;Lu;L;\r
+046F;Ll;L;\r
+0470;Lu;L;\r
+0471;Ll;L;\r
+0472;Lu;L;\r
+0473;Ll;L;\r
+0474;Lu;L;\r
+0475;Ll;L;\r
+0476;Lu;L;\r
+0477;Ll;L;\r
+0478;Lu;L;\r
+0479;Ll;L;\r
+047A;Lu;L;\r
+047B;Ll;L;\r
+047C;Lu;L;\r
+047D;Ll;L;\r
+047E;Lu;L;\r
+047F;Ll;L;\r
+0480;Lu;L;\r
+0481;Ll;L;\r
+0482;So;L;\r
+0483;Mn;NSM;\r
+0484;Mn;NSM;\r
+0485;Mn;NSM;\r
+0486;Mn;NSM;\r
+0488;Me;NSM;\r
+0489;Me;NSM;\r
+048C;Lu;L;\r
+048D;Ll;L;\r
+048E;Lu;L;\r
+048F;Ll;L;\r
+0490;Lu;L;\r
+0491;Ll;L;\r
+0492;Lu;L;\r
+0493;Ll;L;\r
+0494;Lu;L;\r
+0495;Ll;L;\r
+0496;Lu;L;\r
+0497;Ll;L;\r
+0498;Lu;L;\r
+0499;Ll;L;\r
+049A;Lu;L;\r
+049B;Ll;L;\r
+049C;Lu;L;\r
+049D;Ll;L;\r
+049E;Lu;L;\r
+049F;Ll;L;\r
+04A0;Lu;L;\r
+04A1;Ll;L;\r
+04A2;Lu;L;\r
+04A3;Ll;L;\r
+04A4;Lu;L;\r
+04A5;Ll;L;\r
+04A6;Lu;L;\r
+04A7;Ll;L;\r
+04A8;Lu;L;\r
+04A9;Ll;L;\r
+04AA;Lu;L;\r
+04AB;Ll;L;\r
+04AC;Lu;L;\r
+04AD;Ll;L;\r
+04AE;Lu;L;\r
+04AF;Ll;L;\r
+04B0;Lu;L;\r
+04B1;Ll;L;\r
+04B2;Lu;L;\r
+04B3;Ll;L;\r
+04B4;Lu;L;\r
+04B5;Ll;L;\r
+04B6;Lu;L;\r
+04B7;Ll;L;\r
+04B8;Lu;L;\r
+04B9;Ll;L;\r
+04BA;Lu;L;\r
+04BB;Ll;L;\r
+04BC;Lu;L;\r
+04BD;Ll;L;\r
+04BE;Lu;L;\r
+04BF;Ll;L;\r
+04C0;Lu;L;\r
+04C1;Lu;L;\r
+04C2;Ll;L;\r
+04C3;Lu;L;\r
+04C4;Ll;L;\r
+04C7;Lu;L;\r
+04C8;Ll;L;\r
+04CB;Lu;L;\r
+04CC;Ll;L;\r
+04D0;Lu;L;\r
+04D1;Ll;L;\r
+04D2;Lu;L;\r
+04D3;Ll;L;\r
+04D4;Lu;L;\r
+04D5;Ll;L;\r
+04D6;Lu;L;\r
+04D7;Ll;L;\r
+04D8;Lu;L;\r
+04D9;Ll;L;\r
+04DA;Lu;L;\r
+04DB;Ll;L;\r
+04DC;Lu;L;\r
+04DD;Ll;L;\r
+04DE;Lu;L;\r
+04DF;Ll;L;\r
+04E0;Lu;L;\r
+04E1;Ll;L;\r
+04E2;Lu;L;\r
+04E3;Ll;L;\r
+04E4;Lu;L;\r
+04E5;Ll;L;\r
+04E6;Lu;L;\r
+04E7;Ll;L;\r
+04E8;Lu;L;\r
+04E9;Ll;L;\r
+04EA;Lu;L;\r
+04EB;Ll;L;\r
+04EC;Lu;L;\r
+04ED;Ll;L;\r
+04EE;Lu;L;\r
+04EF;Ll;L;\r
+04F0;Lu;L;\r
+04F1;Ll;L;\r
+04F2;Lu;L;\r
+04F3;Ll;L;\r
+04F4;Lu;L;\r
+04F5;Ll;L;\r
+04F8;Lu;L;\r
+04F9;Ll;L;\r
+0531;Lu;L;\r
+0532;Lu;L;\r
+0533;Lu;L;\r
+0534;Lu;L;\r
+0535;Lu;L;\r
+0536;Lu;L;\r
+0537;Lu;L;\r
+0538;Lu;L;\r
+0539;Lu;L;\r
+053A;Lu;L;\r
+053B;Lu;L;\r
+053C;Lu;L;\r
+053D;Lu;L;\r
+053E;Lu;L;\r
+053F;Lu;L;\r
+0540;Lu;L;\r
+0541;Lu;L;\r
+0542;Lu;L;\r
+0543;Lu;L;\r
+0544;Lu;L;\r
+0545;Lu;L;\r
+0546;Lu;L;\r
+0547;Lu;L;\r
+0548;Lu;L;\r
+0549;Lu;L;\r
+054A;Lu;L;\r
+054B;Lu;L;\r
+054C;Lu;L;\r
+054D;Lu;L;\r
+054E;Lu;L;\r
+054F;Lu;L;\r
+0550;Lu;L;\r
+0551;Lu;L;\r
+0552;Lu;L;\r
+0553;Lu;L;\r
+0554;Lu;L;\r
+0555;Lu;L;\r
+0556;Lu;L;\r
+0559;Lm;L;\r
+055A;Po;L;\r
+055B;Po;L;\r
+055C;Po;L;\r
+055D;Po;L;\r
+055E;Po;L;\r
+055F;Po;L;\r
+0561;Ll;L;\r
+0562;Ll;L;\r
+0563;Ll;L;\r
+0564;Ll;L;\r
+0565;Ll;L;\r
+0566;Ll;L;\r
+0567;Ll;L;\r
+0568;Ll;L;\r
+0569;Ll;L;\r
+056A;Ll;L;\r
+056B;Ll;L;\r
+056C;Ll;L;\r
+056D;Ll;L;\r
+056E;Ll;L;\r
+056F;Ll;L;\r
+0570;Ll;L;\r
+0571;Ll;L;\r
+0572;Ll;L;\r
+0573;Ll;L;\r
+0574;Ll;L;\r
+0575;Ll;L;\r
+0576;Ll;L;\r
+0577;Ll;L;\r
+0578;Ll;L;\r
+0579;Ll;L;\r
+057A;Ll;L;\r
+057B;Ll;L;\r
+057C;Ll;L;\r
+057D;Ll;L;\r
+057E;Ll;L;\r
+057F;Ll;L;\r
+0580;Ll;L;\r
+0581;Ll;L;\r
+0582;Ll;L;\r
+0583;Ll;L;\r
+0584;Ll;L;\r
+0585;Ll;L;\r
+0586;Ll;L;\r
+0587;Ll;L;\r
+0589;Po;L;\r
+058A;Pd;ON;\r
+0591;Mn;NSM;\r
+0592;Mn;NSM;\r
+0593;Mn;NSM;\r
+0594;Mn;NSM;\r
+0595;Mn;NSM;\r
+0596;Mn;NSM;\r
+0597;Mn;NSM;\r
+0598;Mn;NSM;\r
+0599;Mn;NSM;\r
+059A;Mn;NSM;\r
+059B;Mn;NSM;\r
+059C;Mn;NSM;\r
+059D;Mn;NSM;\r
+059E;Mn;NSM;\r
+059F;Mn;NSM;\r
+05A0;Mn;NSM;\r
+05A1;Mn;NSM;\r
+05A3;Mn;NSM;\r
+05A4;Mn;NSM;\r
+05A5;Mn;NSM;\r
+05A6;Mn;NSM;\r
+05A7;Mn;NSM;\r
+05A8;Mn;NSM;\r
+05A9;Mn;NSM;\r
+05AA;Mn;NSM;\r
+05AB;Mn;NSM;\r
+05AC;Mn;NSM;\r
+05AD;Mn;NSM;\r
+05AE;Mn;NSM;\r
+05AF;Mn;NSM;\r
+05B0;Mn;NSM;\r
+05B1;Mn;NSM;\r
+05B2;Mn;NSM;\r
+05B3;Mn;NSM;\r
+05B4;Mn;NSM;\r
+05B5;Mn;NSM;\r
+05B6;Mn;NSM;\r
+05B7;Mn;NSM;\r
+05B8;Mn;NSM;\r
+05B9;Mn;NSM;\r
+05BB;Mn;NSM;\r
+05BC;Mn;NSM;\r
+05BD;Mn;NSM;\r
+05BE;Po;R;\r
+05BF;Mn;NSM;\r
+05C0;Po;R;\r
+05C1;Mn;NSM;\r
+05C2;Mn;NSM;\r
+05C3;Po;R;\r
+05C4;Mn;NSM;\r
+05D0;Lo;R;\r
+05D1;Lo;R;\r
+05D2;Lo;R;\r
+05D3;Lo;R;\r
+05D4;Lo;R;\r
+05D5;Lo;R;\r
+05D6;Lo;R;\r
+05D7;Lo;R;\r
+05D8;Lo;R;\r
+05D9;Lo;R;\r
+05DA;Lo;R;\r
+05DB;Lo;R;\r
+05DC;Lo;R;\r
+05DD;Lo;R;\r
+05DE;Lo;R;\r
+05DF;Lo;R;\r
+05E0;Lo;R;\r
+05E1;Lo;R;\r
+05E2;Lo;R;\r
+05E3;Lo;R;\r
+05E4;Lo;R;\r
+05E5;Lo;R;\r
+05E6;Lo;R;\r
+05E7;Lo;R;\r
+05E8;Lo;R;\r
+05E9;Lo;R;\r
+05EA;Lo;R;\r
+05F0;Lo;R;\r
+05F1;Lo;R;\r
+05F2;Lo;R;\r
+05F3;Po;R;\r
+05F4;Po;R;\r
+060C;Po;CS;\r
+061B;Po;AL;\r
+061F;Po;AL;\r
+0621;Lo;AL;\r
+0622;Lo;AL;\r
+0623;Lo;AL;\r
+0624;Lo;AL;\r
+0625;Lo;AL;\r
+0626;Lo;AL;\r
+0627;Lo;AL;\r
+0628;Lo;AL;\r
+0629;Lo;AL;\r
+062A;Lo;AL;\r
+062B;Lo;AL;\r
+062C;Lo;AL;\r
+062D;Lo;AL;\r
+062E;Lo;AL;\r
+062F;Lo;AL;\r
+0630;Lo;AL;\r
+0631;Lo;AL;\r
+0632;Lo;AL;\r
+0633;Lo;AL;\r
+0634;Lo;AL;\r
+0635;Lo;AL;\r
+0636;Lo;AL;\r
+0637;Lo;AL;\r
+0638;Lo;AL;\r
+0639;Lo;AL;\r
+063A;Lo;AL;\r
+0640;Lm;AL;\r
+0641;Lo;AL;\r
+0642;Lo;AL;\r
+0643;Lo;AL;\r
+0644;Lo;AL;\r
+0645;Lo;AL;\r
+0646;Lo;AL;\r
+0647;Lo;AL;\r
+0648;Lo;AL;\r
+0649;Lo;AL;\r
+064A;Lo;AL;\r
+064B;Mn;NSM;\r
+064C;Mn;NSM;\r
+064D;Mn;NSM;\r
+064E;Mn;NSM;\r
+064F;Mn;NSM;\r
+0650;Mn;NSM;\r
+0651;Mn;NSM;\r
+0652;Mn;NSM;\r
+0653;Mn;NSM;\r
+0654;Mn;NSM;\r
+0655;Mn;NSM;\r
+0660;Nd;AN;\r
+0661;Nd;AN;\r
+0662;Nd;AN;\r
+0663;Nd;AN;\r
+0664;Nd;AN;\r
+0665;Nd;AN;\r
+0666;Nd;AN;\r
+0667;Nd;AN;\r
+0668;Nd;AN;\r
+0669;Nd;AN;\r
+066A;Po;ET;\r
+066B;Po;AN;\r
+066C;Po;AN;\r
+066D;Po;AL;\r
+0670;Mn;NSM;\r
+0671;Lo;AL;\r
+0672;Lo;AL;\r
+0673;Lo;AL;\r
+0674;Lo;AL;\r
+0675;Lo;AL;\r
+0676;Lo;AL;\r
+0677;Lo;AL;\r
+0678;Lo;AL;\r
+0679;Lo;AL;\r
+067A;Lo;AL;\r
+067B;Lo;AL;\r
+067C;Lo;AL;\r
+067D;Lo;AL;\r
+067E;Lo;AL;\r
+067F;Lo;AL;\r
+0680;Lo;AL;\r
+0681;Lo;AL;\r
+0682;Lo;AL;\r
+0683;Lo;AL;\r
+0684;Lo;AL;\r
+0685;Lo;AL;\r
+0686;Lo;AL;\r
+0687;Lo;AL;\r
+0688;Lo;AL;\r
+0689;Lo;AL;\r
+068A;Lo;AL;\r
+068B;Lo;AL;\r
+068C;Lo;AL;\r
+068D;Lo;AL;\r
+068E;Lo;AL;\r
+068F;Lo;AL;\r
+0690;Lo;AL;\r
+0691;Lo;AL;\r
+0692;Lo;AL;\r
+0693;Lo;AL;\r
+0694;Lo;AL;\r
+0695;Lo;AL;\r
+0696;Lo;AL;\r
+0697;Lo;AL;\r
+0698;Lo;AL;\r
+0699;Lo;AL;\r
+069A;Lo;AL;\r
+069B;Lo;AL;\r
+069C;Lo;AL;\r
+069D;Lo;AL;\r
+069E;Lo;AL;\r
+069F;Lo;AL;\r
+06A0;Lo;AL;\r
+06A1;Lo;AL;\r
+06A2;Lo;AL;\r
+06A3;Lo;AL;\r
+06A4;Lo;AL;\r
+06A5;Lo;AL;\r
+06A6;Lo;AL;\r
+06A7;Lo;AL;\r
+06A8;Lo;AL;\r
+06A9;Lo;AL;\r
+06AA;Lo;AL;\r
+06AB;Lo;AL;\r
+06AC;Lo;AL;\r
+06AD;Lo;AL;\r
+06AE;Lo;AL;\r
+06AF;Lo;AL;\r
+06B0;Lo;AL;\r
+06B1;Lo;AL;\r
+06B2;Lo;AL;\r
+06B3;Lo;AL;\r
+06B4;Lo;AL;\r
+06B5;Lo;AL;\r
+06B6;Lo;AL;\r
+06B7;Lo;AL;\r
+06B8;Lo;AL;\r
+06B9;Lo;AL;\r
+06BA;Lo;AL;\r
+06BB;Lo;AL;\r
+06BC;Lo;AL;\r
+06BD;Lo;AL;\r
+06BE;Lo;AL;\r
+06BF;Lo;AL;\r
+06C0;Lo;AL;\r
+06C1;Lo;AL;\r
+06C2;Lo;AL;\r
+06C3;Lo;AL;\r
+06C4;Lo;AL;\r
+06C5;Lo;AL;\r
+06C6;Lo;AL;\r
+06C7;Lo;AL;\r
+06C8;Lo;AL;\r
+06C9;Lo;AL;\r
+06CA;Lo;AL;\r
+06CB;Lo;AL;\r
+06CC;Lo;AL;\r
+06CD;Lo;AL;\r
+06CE;Lo;AL;\r
+06CF;Lo;AL;\r
+06D0;Lo;AL;\r
+06D1;Lo;AL;\r
+06D2;Lo;AL;\r
+06D3;Lo;AL;\r
+06D4;Po;AL;\r
+06D5;Lo;AL;\r
+06D6;Mn;NSM;\r
+06D7;Mn;NSM;\r
+06D8;Mn;NSM;\r
+06D9;Mn;NSM;\r
+06DA;Mn;NSM;\r
+06DB;Mn;NSM;\r
+06DC;Mn;NSM;\r
+06DD;Me;NSM;\r
+06DE;Me;NSM;\r
+06DF;Mn;NSM;\r
+06E0;Mn;NSM;\r
+06E1;Mn;NSM;\r
+06E2;Mn;NSM;\r
+06E3;Mn;NSM;\r
+06E4;Mn;NSM;\r
+06E5;Lm;AL;\r
+06E6;Lm;AL;\r
+06E7;Mn;NSM;\r
+06E8;Mn;NSM;\r
+06E9;So;ON;\r
+06EA;Mn;NSM;\r
+06EB;Mn;NSM;\r
+06EC;Mn;NSM;\r
+06ED;Mn;NSM;\r
+06F0;Nd;EN;\r
+06F1;Nd;EN;\r
+06F2;Nd;EN;\r
+06F3;Nd;EN;\r
+06F4;Nd;EN;\r
+06F5;Nd;EN;\r
+06F6;Nd;EN;\r
+06F7;Nd;EN;\r
+06F8;Nd;EN;\r
+06F9;Nd;EN;\r
+06FA;Lo;AL;\r
+06FB;Lo;AL;\r
+06FC;Lo;AL;\r
+06FD;So;AL;\r
+06FE;So;AL;\r
+0700;Po;AL;\r
+0701;Po;AL;\r
+0702;Po;AL;\r
+0703;Po;AL;\r
+0704;Po;AL;\r
+0705;Po;AL;\r
+0706;Po;AL;\r
+0707;Po;AL;\r
+0708;Po;AL;\r
+0709;Po;AL;\r
+070A;Po;AL;\r
+070B;Po;AL;\r
+070C;Po;AL;\r
+070D;Po;AL;\r
+070F;Cf;BN;\r
+0710;Lo;AL;\r
+0711;Mn;NSM;\r
+0712;Lo;AL;\r
+0713;Lo;AL;\r
+0714;Lo;AL;\r
+0715;Lo;AL;\r
+0716;Lo;AL;\r
+0717;Lo;AL;\r
+0718;Lo;AL;\r
+0719;Lo;AL;\r
+071A;Lo;AL;\r
+071B;Lo;AL;\r
+071C;Lo;AL;\r
+071D;Lo;AL;\r
+071E;Lo;AL;\r
+071F;Lo;AL;\r
+0720;Lo;AL;\r
+0721;Lo;AL;\r
+0722;Lo;AL;\r
+0723;Lo;AL;\r
+0724;Lo;AL;\r
+0725;Lo;AL;\r
+0726;Lo;AL;\r
+0727;Lo;AL;\r
+0728;Lo;AL;\r
+0729;Lo;AL;\r
+072A;Lo;AL;\r
+072B;Lo;AL;\r
+072C;Lo;AL;\r
+0730;Mn;NSM;\r
+0731;Mn;NSM;\r
+0732;Mn;NSM;\r
+0733;Mn;NSM;\r
+0734;Mn;NSM;\r
+0735;Mn;NSM;\r
+0736;Mn;NSM;\r
+0737;Mn;NSM;\r
+0738;Mn;NSM;\r
+0739;Mn;NSM;\r
+073A;Mn;NSM;\r
+073B;Mn;NSM;\r
+073C;Mn;NSM;\r
+073D;Mn;NSM;\r
+073E;Mn;NSM;\r
+073F;Mn;NSM;\r
+0740;Mn;NSM;\r
+0741;Mn;NSM;\r
+0742;Mn;NSM;\r
+0743;Mn;NSM;\r
+0744;Mn;NSM;\r
+0745;Mn;NSM;\r
+0746;Mn;NSM;\r
+0747;Mn;NSM;\r
+0748;Mn;NSM;\r
+0749;Mn;NSM;\r
+074A;Mn;NSM;\r
+0780;Lo;AL;\r
+0781;Lo;AL;\r
+0782;Lo;AL;\r
+0783;Lo;AL;\r
+0784;Lo;AL;\r
+0785;Lo;AL;\r
+0786;Lo;AL;\r
+0787;Lo;AL;\r
+0788;Lo;AL;\r
+0789;Lo;AL;\r
+078A;Lo;AL;\r
+078B;Lo;AL;\r
+078C;Lo;AL;\r
+078D;Lo;AL;\r
+078E;Lo;AL;\r
+078F;Lo;AL;\r
+0790;Lo;AL;\r
+0791;Lo;AL;\r
+0792;Lo;AL;\r
+0793;Lo;AL;\r
+0794;Lo;AL;\r
+0795;Lo;AL;\r
+0796;Lo;AL;\r
+0797;Lo;AL;\r
+0798;Lo;AL;\r
+0799;Lo;AL;\r
+079A;Lo;AL;\r
+079B;Lo;AL;\r
+079C;Lo;AL;\r
+079D;Lo;AL;\r
+079E;Lo;AL;\r
+079F;Lo;AL;\r
+07A0;Lo;AL;\r
+07A1;Lo;AL;\r
+07A2;Lo;AL;\r
+07A3;Lo;AL;\r
+07A4;Lo;AL;\r
+07A5;Lo;AL;\r
+07A6;Mn;NSM;\r
+07A7;Mn;NSM;\r
+07A8;Mn;NSM;\r
+07A9;Mn;NSM;\r
+07AA;Mn;NSM;\r
+07AB;Mn;NSM;\r
+07AC;Mn;NSM;\r
+07AD;Mn;NSM;\r
+07AE;Mn;NSM;\r
+07AF;Mn;NSM;\r
+07B0;Mn;NSM;\r
+0901;Mn;NSM;\r
+0902;Mn;NSM;\r
+0903;Mc;L;\r
+0905;Lo;L;\r
+0906;Lo;L;\r
+0907;Lo;L;\r
+0908;Lo;L;\r
+0909;Lo;L;\r
+090A;Lo;L;\r
+090B;Lo;L;\r
+090C;Lo;L;\r
+090D;Lo;L;\r
+090E;Lo;L;\r
+090F;Lo;L;\r
+0910;Lo;L;\r
+0911;Lo;L;\r
+0912;Lo;L;\r
+0913;Lo;L;\r
+0914;Lo;L;\r
+0915;Lo;L;\r
+0916;Lo;L;\r
+0917;Lo;L;\r
+0918;Lo;L;\r
+0919;Lo;L;\r
+091A;Lo;L;\r
+091B;Lo;L;\r
+091C;Lo;L;\r
+091D;Lo;L;\r
+091E;Lo;L;\r
+091F;Lo;L;\r
+0920;Lo;L;\r
+0921;Lo;L;\r
+0922;Lo;L;\r
+0923;Lo;L;\r
+0924;Lo;L;\r
+0925;Lo;L;\r
+0926;Lo;L;\r
+0927;Lo;L;\r
+0928;Lo;L;\r
+0929;Lo;L;\r
+092A;Lo;L;\r
+092B;Lo;L;\r
+092C;Lo;L;\r
+092D;Lo;L;\r
+092E;Lo;L;\r
+092F;Lo;L;\r
+0930;Lo;L;\r
+0931;Lo;L;\r
+0932;Lo;L;\r
+0933;Lo;L;\r
+0934;Lo;L;\r
+0935;Lo;L;\r
+0936;Lo;L;\r
+0937;Lo;L;\r
+0938;Lo;L;\r
+0939;Lo;L;\r
+093C;Mn;NSM;\r
+093D;Lo;L;\r
+093E;Mc;L;\r
+093F;Mc;L;\r
+0940;Mc;L;\r
+0941;Mn;NSM;\r
+0942;Mn;NSM;\r
+0943;Mn;NSM;\r
+0944;Mn;NSM;\r
+0945;Mn;NSM;\r
+0946;Mn;NSM;\r
+0947;Mn;NSM;\r
+0948;Mn;NSM;\r
+0949;Mc;L;\r
+094A;Mc;L;\r
+094B;Mc;L;\r
+094C;Mc;L;\r
+094D;Mn;NSM;\r
+0950;Lo;L;\r
+0951;Mn;NSM;\r
+0952;Mn;NSM;\r
+0953;Mn;NSM;\r
+0954;Mn;NSM;\r
+0958;Lo;L;\r
+0959;Lo;L;\r
+095A;Lo;L;\r
+095B;Lo;L;\r
+095C;Lo;L;\r
+095D;Lo;L;\r
+095E;Lo;L;\r
+095F;Lo;L;\r
+0960;Lo;L;\r
+0961;Lo;L;\r
+0962;Mn;NSM;\r
+0963;Mn;NSM;\r
+0964;Po;L;\r
+0965;Po;L;\r
+0966;Nd;L;\r
+0967;Nd;L;\r
+0968;Nd;L;\r
+0969;Nd;L;\r
+096A;Nd;L;\r
+096B;Nd;L;\r
+096C;Nd;L;\r
+096D;Nd;L;\r
+096E;Nd;L;\r
+096F;Nd;L;\r
+0970;Po;L;\r
+0981;Mn;NSM;\r
+0982;Mc;L;\r
+0983;Mc;L;\r
+0985;Lo;L;\r
+0986;Lo;L;\r
+0987;Lo;L;\r
+0988;Lo;L;\r
+0989;Lo;L;\r
+098A;Lo;L;\r
+098B;Lo;L;\r
+098C;Lo;L;\r
+098F;Lo;L;\r
+0990;Lo;L;\r
+0993;Lo;L;\r
+0994;Lo;L;\r
+0995;Lo;L;\r
+0996;Lo;L;\r
+0997;Lo;L;\r
+0998;Lo;L;\r
+0999;Lo;L;\r
+099A;Lo;L;\r
+099B;Lo;L;\r
+099C;Lo;L;\r
+099D;Lo;L;\r
+099E;Lo;L;\r
+099F;Lo;L;\r
+09A0;Lo;L;\r
+09A1;Lo;L;\r
+09A2;Lo;L;\r
+09A3;Lo;L;\r
+09A4;Lo;L;\r
+09A5;Lo;L;\r
+09A6;Lo;L;\r
+09A7;Lo;L;\r
+09A8;Lo;L;\r
+09AA;Lo;L;\r
+09AB;Lo;L;\r
+09AC;Lo;L;\r
+09AD;Lo;L;\r
+09AE;Lo;L;\r
+09AF;Lo;L;\r
+09B0;Lo;L;\r
+09B2;Lo;L;\r
+09B6;Lo;L;\r
+09B7;Lo;L;\r
+09B8;Lo;L;\r
+09B9;Lo;L;\r
+09BC;Mn;NSM;\r
+09BE;Mc;L;\r
+09BF;Mc;L;\r
+09C0;Mc;L;\r
+09C1;Mn;NSM;\r
+09C2;Mn;NSM;\r
+09C3;Mn;NSM;\r
+09C4;Mn;NSM;\r
+09C7;Mc;L;\r
+09C8;Mc;L;\r
+09CB;Mc;L;\r
+09CC;Mc;L;\r
+09CD;Mn;NSM;\r
+09D7;Mc;L;\r
+09DC;Lo;L;\r
+09DD;Lo;L;\r
+09DF;Lo;L;\r
+09E0;Lo;L;\r
+09E1;Lo;L;\r
+09E2;Mn;NSM;\r
+09E3;Mn;NSM;\r
+09E6;Nd;L;\r
+09E7;Nd;L;\r
+09E8;Nd;L;\r
+09E9;Nd;L;\r
+09EA;Nd;L;\r
+09EB;Nd;L;\r
+09EC;Nd;L;\r
+09ED;Nd;L;\r
+09EE;Nd;L;\r
+09EF;Nd;L;\r
+09F0;Lo;L;\r
+09F1;Lo;L;\r
+09F2;Sc;ET;\r
+09F3;Sc;ET;\r
+09F4;No;L;\r
+09F5;No;L;\r
+09F6;No;L;\r
+09F7;No;L;\r
+09F8;No;L;\r
+09F9;No;L;\r
+09FA;So;L;\r
+0A02;Mn;NSM;\r
+0A05;Lo;L;\r
+0A06;Lo;L;\r
+0A07;Lo;L;\r
+0A08;Lo;L;\r
+0A09;Lo;L;\r
+0A0A;Lo;L;\r
+0A0F;Lo;L;\r
+0A10;Lo;L;\r
+0A13;Lo;L;\r
+0A14;Lo;L;\r
+0A15;Lo;L;\r
+0A16;Lo;L;\r
+0A17;Lo;L;\r
+0A18;Lo;L;\r
+0A19;Lo;L;\r
+0A1A;Lo;L;\r
+0A1B;Lo;L;\r
+0A1C;Lo;L;\r
+0A1D;Lo;L;\r
+0A1E;Lo;L;\r
+0A1F;Lo;L;\r
+0A20;Lo;L;\r
+0A21;Lo;L;\r
+0A22;Lo;L;\r
+0A23;Lo;L;\r
+0A24;Lo;L;\r
+0A25;Lo;L;\r
+0A26;Lo;L;\r
+0A27;Lo;L;\r
+0A28;Lo;L;\r
+0A2A;Lo;L;\r
+0A2B;Lo;L;\r
+0A2C;Lo;L;\r
+0A2D;Lo;L;\r
+0A2E;Lo;L;\r
+0A2F;Lo;L;\r
+0A30;Lo;L;\r
+0A32;Lo;L;\r
+0A33;Lo;L;\r
+0A35;Lo;L;\r
+0A36;Lo;L;\r
+0A38;Lo;L;\r
+0A39;Lo;L;\r
+0A3C;Mn;NSM;\r
+0A3E;Mc;L;\r
+0A3F;Mc;L;\r
+0A40;Mc;L;\r
+0A41;Mn;NSM;\r
+0A42;Mn;NSM;\r
+0A47;Mn;NSM;\r
+0A48;Mn;NSM;\r
+0A4B;Mn;NSM;\r
+0A4C;Mn;NSM;\r
+0A4D;Mn;NSM;\r
+0A59;Lo;L;\r
+0A5A;Lo;L;\r
+0A5B;Lo;L;\r
+0A5C;Lo;L;\r
+0A5E;Lo;L;\r
+0A66;Nd;L;\r
+0A67;Nd;L;\r
+0A68;Nd;L;\r
+0A69;Nd;L;\r
+0A6A;Nd;L;\r
+0A6B;Nd;L;\r
+0A6C;Nd;L;\r
+0A6D;Nd;L;\r
+0A6E;Nd;L;\r
+0A6F;Nd;L;\r
+0A70;Mn;NSM;\r
+0A71;Mn;NSM;\r
+0A72;Lo;L;\r
+0A73;Lo;L;\r
+0A74;Lo;L;\r
+0A81;Mn;NSM;\r
+0A82;Mn;NSM;\r
+0A83;Mc;L;\r
+0A85;Lo;L;\r
+0A86;Lo;L;\r
+0A87;Lo;L;\r
+0A88;Lo;L;\r
+0A89;Lo;L;\r
+0A8A;Lo;L;\r
+0A8B;Lo;L;\r
+0A8D;Lo;L;\r
+0A8F;Lo;L;\r
+0A90;Lo;L;\r
+0A91;Lo;L;\r
+0A93;Lo;L;\r
+0A94;Lo;L;\r
+0A95;Lo;L;\r
+0A96;Lo;L;\r
+0A97;Lo;L;\r
+0A98;Lo;L;\r
+0A99;Lo;L;\r
+0A9A;Lo;L;\r
+0A9B;Lo;L;\r
+0A9C;Lo;L;\r
+0A9D;Lo;L;\r
+0A9E;Lo;L;\r
+0A9F;Lo;L;\r
+0AA0;Lo;L;\r
+0AA1;Lo;L;\r
+0AA2;Lo;L;\r
+0AA3;Lo;L;\r
+0AA4;Lo;L;\r
+0AA5;Lo;L;\r
+0AA6;Lo;L;\r
+0AA7;Lo;L;\r
+0AA8;Lo;L;\r
+0AAA;Lo;L;\r
+0AAB;Lo;L;\r
+0AAC;Lo;L;\r
+0AAD;Lo;L;\r
+0AAE;Lo;L;\r
+0AAF;Lo;L;\r
+0AB0;Lo;L;\r
+0AB2;Lo;L;\r
+0AB3;Lo;L;\r
+0AB5;Lo;L;\r
+0AB6;Lo;L;\r
+0AB7;Lo;L;\r
+0AB8;Lo;L;\r
+0AB9;Lo;L;\r
+0ABC;Mn;NSM;\r
+0ABD;Lo;L;\r
+0ABE;Mc;L;\r
+0ABF;Mc;L;\r
+0AC0;Mc;L;\r
+0AC1;Mn;NSM;\r
+0AC2;Mn;NSM;\r
+0AC3;Mn;NSM;\r
+0AC4;Mn;NSM;\r
+0AC5;Mn;NSM;\r
+0AC7;Mn;NSM;\r
+0AC8;Mn;NSM;\r
+0AC9;Mc;L;\r
+0ACB;Mc;L;\r
+0ACC;Mc;L;\r
+0ACD;Mn;NSM;\r
+0AD0;Lo;L;\r
+0AE0;Lo;L;\r
+0AE6;Nd;L;\r
+0AE7;Nd;L;\r
+0AE8;Nd;L;\r
+0AE9;Nd;L;\r
+0AEA;Nd;L;\r
+0AEB;Nd;L;\r
+0AEC;Nd;L;\r
+0AED;Nd;L;\r
+0AEE;Nd;L;\r
+0AEF;Nd;L;\r
+0B01;Mn;NSM;\r
+0B02;Mc;L;\r
+0B03;Mc;L;\r
+0B05;Lo;L;\r
+0B06;Lo;L;\r
+0B07;Lo;L;\r
+0B08;Lo;L;\r
+0B09;Lo;L;\r
+0B0A;Lo;L;\r
+0B0B;Lo;L;\r
+0B0C;Lo;L;\r
+0B0F;Lo;L;\r
+0B10;Lo;L;\r
+0B13;Lo;L;\r
+0B14;Lo;L;\r
+0B15;Lo;L;\r
+0B16;Lo;L;\r
+0B17;Lo;L;\r
+0B18;Lo;L;\r
+0B19;Lo;L;\r
+0B1A;Lo;L;\r
+0B1B;Lo;L;\r
+0B1C;Lo;L;\r
+0B1D;Lo;L;\r
+0B1E;Lo;L;\r
+0B1F;Lo;L;\r
+0B20;Lo;L;\r
+0B21;Lo;L;\r
+0B22;Lo;L;\r
+0B23;Lo;L;\r
+0B24;Lo;L;\r
+0B25;Lo;L;\r
+0B26;Lo;L;\r
+0B27;Lo;L;\r
+0B28;Lo;L;\r
+0B2A;Lo;L;\r
+0B2B;Lo;L;\r
+0B2C;Lo;L;\r
+0B2D;Lo;L;\r
+0B2E;Lo;L;\r
+0B2F;Lo;L;\r
+0B30;Lo;L;\r
+0B32;Lo;L;\r
+0B33;Lo;L;\r
+0B36;Lo;L;\r
+0B37;Lo;L;\r
+0B38;Lo;L;\r
+0B39;Lo;L;\r
+0B3C;Mn;NSM;\r
+0B3D;Lo;L;\r
+0B3E;Mc;L;\r
+0B3F;Mn;NSM;\r
+0B40;Mc;L;\r
+0B41;Mn;NSM;\r
+0B42;Mn;NSM;\r
+0B43;Mn;NSM;\r
+0B47;Mc;L;\r
+0B48;Mc;L;\r
+0B4B;Mc;L;\r
+0B4C;Mc;L;\r
+0B4D;Mn;NSM;\r
+0B56;Mn;NSM;\r
+0B57;Mc;L;\r
+0B5C;Lo;L;\r
+0B5D;Lo;L;\r
+0B5F;Lo;L;\r
+0B60;Lo;L;\r
+0B61;Lo;L;\r
+0B66;Nd;L;\r
+0B67;Nd;L;\r
+0B68;Nd;L;\r
+0B69;Nd;L;\r
+0B6A;Nd;L;\r
+0B6B;Nd;L;\r
+0B6C;Nd;L;\r
+0B6D;Nd;L;\r
+0B6E;Nd;L;\r
+0B6F;Nd;L;\r
+0B70;So;L;\r
+0B82;Mn;NSM;\r
+0B83;Mc;L;\r
+0B85;Lo;L;\r
+0B86;Lo;L;\r
+0B87;Lo;L;\r
+0B88;Lo;L;\r
+0B89;Lo;L;\r
+0B8A;Lo;L;\r
+0B8E;Lo;L;\r
+0B8F;Lo;L;\r
+0B90;Lo;L;\r
+0B92;Lo;L;\r
+0B93;Lo;L;\r
+0B94;Lo;L;\r
+0B95;Lo;L;\r
+0B99;Lo;L;\r
+0B9A;Lo;L;\r
+0B9C;Lo;L;\r
+0B9E;Lo;L;\r
+0B9F;Lo;L;\r
+0BA3;Lo;L;\r
+0BA4;Lo;L;\r
+0BA8;Lo;L;\r
+0BA9;Lo;L;\r
+0BAA;Lo;L;\r
+0BAE;Lo;L;\r
+0BAF;Lo;L;\r
+0BB0;Lo;L;\r
+0BB1;Lo;L;\r
+0BB2;Lo;L;\r
+0BB3;Lo;L;\r
+0BB4;Lo;L;\r
+0BB5;Lo;L;\r
+0BB7;Lo;L;\r
+0BB8;Lo;L;\r
+0BB9;Lo;L;\r
+0BBE;Mc;L;\r
+0BBF;Mc;L;\r
+0BC0;Mn;NSM;\r
+0BC1;Mc;L;\r
+0BC2;Mc;L;\r
+0BC6;Mc;L;\r
+0BC7;Mc;L;\r
+0BC8;Mc;L;\r
+0BCA;Mc;L;\r
+0BCB;Mc;L;\r
+0BCC;Mc;L;\r
+0BCD;Mn;NSM;\r
+0BD7;Mc;L;\r
+0BE7;Nd;L;\r
+0BE8;Nd;L;\r
+0BE9;Nd;L;\r
+0BEA;Nd;L;\r
+0BEB;Nd;L;\r
+0BEC;Nd;L;\r
+0BED;Nd;L;\r
+0BEE;Nd;L;\r
+0BEF;Nd;L;\r
+0BF0;No;L;\r
+0BF1;No;L;\r
+0BF2;No;L;\r
+0C01;Mc;L;\r
+0C02;Mc;L;\r
+0C03;Mc;L;\r
+0C05;Lo;L;\r
+0C06;Lo;L;\r
+0C07;Lo;L;\r
+0C08;Lo;L;\r
+0C09;Lo;L;\r
+0C0A;Lo;L;\r
+0C0B;Lo;L;\r
+0C0C;Lo;L;\r
+0C0E;Lo;L;\r
+0C0F;Lo;L;\r
+0C10;Lo;L;\r
+0C12;Lo;L;\r
+0C13;Lo;L;\r
+0C14;Lo;L;\r
+0C15;Lo;L;\r
+0C16;Lo;L;\r
+0C17;Lo;L;\r
+0C18;Lo;L;\r
+0C19;Lo;L;\r
+0C1A;Lo;L;\r
+0C1B;Lo;L;\r
+0C1C;Lo;L;\r
+0C1D;Lo;L;\r
+0C1E;Lo;L;\r
+0C1F;Lo;L;\r
+0C20;Lo;L;\r
+0C21;Lo;L;\r
+0C22;Lo;L;\r
+0C23;Lo;L;\r
+0C24;Lo;L;\r
+0C25;Lo;L;\r
+0C26;Lo;L;\r
+0C27;Lo;L;\r
+0C28;Lo;L;\r
+0C2A;Lo;L;\r
+0C2B;Lo;L;\r
+0C2C;Lo;L;\r
+0C2D;Lo;L;\r
+0C2E;Lo;L;\r
+0C2F;Lo;L;\r
+0C30;Lo;L;\r
+0C31;Lo;L;\r
+0C32;Lo;L;\r
+0C33;Lo;L;\r
+0C35;Lo;L;\r
+0C36;Lo;L;\r
+0C37;Lo;L;\r
+0C38;Lo;L;\r
+0C39;Lo;L;\r
+0C3E;Mn;NSM;\r
+0C3F;Mn;NSM;\r
+0C40;Mn;NSM;\r
+0C41;Mc;L;\r
+0C42;Mc;L;\r
+0C43;Mc;L;\r
+0C44;Mc;L;\r
+0C46;Mn;NSM;\r
+0C47;Mn;NSM;\r
+0C48;Mn;NSM;\r
+0C4A;Mn;NSM;\r
+0C4B;Mn;NSM;\r
+0C4C;Mn;NSM;\r
+0C4D;Mn;NSM;\r
+0C55;Mn;NSM;\r
+0C56;Mn;NSM;\r
+0C60;Lo;L;\r
+0C61;Lo;L;\r
+0C66;Nd;L;\r
+0C67;Nd;L;\r
+0C68;Nd;L;\r
+0C69;Nd;L;\r
+0C6A;Nd;L;\r
+0C6B;Nd;L;\r
+0C6C;Nd;L;\r
+0C6D;Nd;L;\r
+0C6E;Nd;L;\r
+0C6F;Nd;L;\r
+0C82;Mc;L;\r
+0C83;Mc;L;\r
+0C85;Lo;L;\r
+0C86;Lo;L;\r
+0C87;Lo;L;\r
+0C88;Lo;L;\r
+0C89;Lo;L;\r
+0C8A;Lo;L;\r
+0C8B;Lo;L;\r
+0C8C;Lo;L;\r
+0C8E;Lo;L;\r
+0C8F;Lo;L;\r
+0C90;Lo;L;\r
+0C92;Lo;L;\r
+0C93;Lo;L;\r
+0C94;Lo;L;\r
+0C95;Lo;L;\r
+0C96;Lo;L;\r
+0C97;Lo;L;\r
+0C98;Lo;L;\r
+0C99;Lo;L;\r
+0C9A;Lo;L;\r
+0C9B;Lo;L;\r
+0C9C;Lo;L;\r
+0C9D;Lo;L;\r
+0C9E;Lo;L;\r
+0C9F;Lo;L;\r
+0CA0;Lo;L;\r
+0CA1;Lo;L;\r
+0CA2;Lo;L;\r
+0CA3;Lo;L;\r
+0CA4;Lo;L;\r
+0CA5;Lo;L;\r
+0CA6;Lo;L;\r
+0CA7;Lo;L;\r
+0CA8;Lo;L;\r
+0CAA;Lo;L;\r
+0CAB;Lo;L;\r
+0CAC;Lo;L;\r
+0CAD;Lo;L;\r
+0CAE;Lo;L;\r
+0CAF;Lo;L;\r
+0CB0;Lo;L;\r
+0CB1;Lo;L;\r
+0CB2;Lo;L;\r
+0CB3;Lo;L;\r
+0CB5;Lo;L;\r
+0CB6;Lo;L;\r
+0CB7;Lo;L;\r
+0CB8;Lo;L;\r
+0CB9;Lo;L;\r
+0CBE;Mc;L;\r
+0CBF;Mn;NSM;\r
+0CC0;Mc;L;\r
+0CC1;Mc;L;\r
+0CC2;Mc;L;\r
+0CC3;Mc;L;\r
+0CC4;Mc;L;\r
+0CC6;Mn;NSM;\r
+0CC7;Mc;L;\r
+0CC8;Mc;L;\r
+0CCA;Mc;L;\r
+0CCB;Mc;L;\r
+0CCC;Mn;NSM;\r
+0CCD;Mn;NSM;\r
+0CD5;Mc;L;\r
+0CD6;Mc;L;\r
+0CDE;Lo;L;\r
+0CE0;Lo;L;\r
+0CE1;Lo;L;\r
+0CE6;Nd;L;\r
+0CE7;Nd;L;\r
+0CE8;Nd;L;\r
+0CE9;Nd;L;\r
+0CEA;Nd;L;\r
+0CEB;Nd;L;\r
+0CEC;Nd;L;\r
+0CED;Nd;L;\r
+0CEE;Nd;L;\r
+0CEF;Nd;L;\r
+0D02;Mc;L;\r
+0D03;Mc;L;\r
+0D05;Lo;L;\r
+0D06;Lo;L;\r
+0D07;Lo;L;\r
+0D08;Lo;L;\r
+0D09;Lo;L;\r
+0D0A;Lo;L;\r
+0D0B;Lo;L;\r
+0D0C;Lo;L;\r
+0D0E;Lo;L;\r
+0D0F;Lo;L;\r
+0D10;Lo;L;\r
+0D12;Lo;L;\r
+0D13;Lo;L;\r
+0D14;Lo;L;\r
+0D15;Lo;L;\r
+0D16;Lo;L;\r
+0D17;Lo;L;\r
+0D18;Lo;L;\r
+0D19;Lo;L;\r
+0D1A;Lo;L;\r
+0D1B;Lo;L;\r
+0D1C;Lo;L;\r
+0D1D;Lo;L;\r
+0D1E;Lo;L;\r
+0D1F;Lo;L;\r
+0D20;Lo;L;\r
+0D21;Lo;L;\r
+0D22;Lo;L;\r
+0D23;Lo;L;\r
+0D24;Lo;L;\r
+0D25;Lo;L;\r
+0D26;Lo;L;\r
+0D27;Lo;L;\r
+0D28;Lo;L;\r
+0D2A;Lo;L;\r
+0D2B;Lo;L;\r
+0D2C;Lo;L;\r
+0D2D;Lo;L;\r
+0D2E;Lo;L;\r
+0D2F;Lo;L;\r
+0D30;Lo;L;\r
+0D31;Lo;L;\r
+0D32;Lo;L;\r
+0D33;Lo;L;\r
+0D34;Lo;L;\r
+0D35;Lo;L;\r
+0D36;Lo;L;\r
+0D37;Lo;L;\r
+0D38;Lo;L;\r
+0D39;Lo;L;\r
+0D3E;Mc;L;\r
+0D3F;Mc;L;\r
+0D40;Mc;L;\r
+0D41;Mn;NSM;\r
+0D42;Mn;NSM;\r
+0D43;Mn;NSM;\r
+0D46;Mc;L;\r
+0D47;Mc;L;\r
+0D48;Mc;L;\r
+0D4A;Mc;L;\r
+0D4B;Mc;L;\r
+0D4C;Mc;L;\r
+0D4D;Mn;NSM;\r
+0D57;Mc;L;\r
+0D60;Lo;L;\r
+0D61;Lo;L;\r
+0D66;Nd;L;\r
+0D67;Nd;L;\r
+0D68;Nd;L;\r
+0D69;Nd;L;\r
+0D6A;Nd;L;\r
+0D6B;Nd;L;\r
+0D6C;Nd;L;\r
+0D6D;Nd;L;\r
+0D6E;Nd;L;\r
+0D6F;Nd;L;\r
+0D82;Mc;L;\r
+0D83;Mc;L;\r
+0D85;Lo;L;\r
+0D86;Lo;L;\r
+0D87;Lo;L;\r
+0D88;Lo;L;\r
+0D89;Lo;L;\r
+0D8A;Lo;L;\r
+0D8B;Lo;L;\r
+0D8C;Lo;L;\r
+0D8D;Lo;L;\r
+0D8E;Lo;L;\r
+0D8F;Lo;L;\r
+0D90;Lo;L;\r
+0D91;Lo;L;\r
+0D92;Lo;L;\r
+0D93;Lo;L;\r
+0D94;Lo;L;\r
+0D95;Lo;L;\r
+0D96;Lo;L;\r
+0D9A;Lo;L;\r
+0D9B;Lo;L;\r
+0D9C;Lo;L;\r
+0D9D;Lo;L;\r
+0D9E;Lo;L;\r
+0D9F;Lo;L;\r
+0DA0;Lo;L;\r
+0DA1;Lo;L;\r
+0DA2;Lo;L;\r
+0DA3;Lo;L;\r
+0DA4;Lo;L;\r
+0DA5;Lo;L;\r
+0DA6;Lo;L;\r
+0DA7;Lo;L;\r
+0DA8;Lo;L;\r
+0DA9;Lo;L;\r
+0DAA;Lo;L;\r
+0DAB;Lo;L;\r
+0DAC;Lo;L;\r
+0DAD;Lo;L;\r
+0DAE;Lo;L;\r
+0DAF;Lo;L;\r
+0DB0;Lo;L;\r
+0DB1;Lo;L;\r
+0DB3;Lo;L;\r
+0DB4;Lo;L;\r
+0DB5;Lo;L;\r
+0DB6;Lo;L;\r
+0DB7;Lo;L;\r
+0DB8;Lo;L;\r
+0DB9;Lo;L;\r
+0DBA;Lo;L;\r
+0DBB;Lo;L;\r
+0DBD;Lo;L;\r
+0DC0;Lo;L;\r
+0DC1;Lo;L;\r
+0DC2;Lo;L;\r
+0DC3;Lo;L;\r
+0DC4;Lo;L;\r
+0DC5;Lo;L;\r
+0DC6;Lo;L;\r
+0DCA;Mn;NSM;\r
+0DCF;Mc;L;\r
+0DD0;Mc;L;\r
+0DD1;Mc;L;\r
+0DD2;Mn;NSM;\r
+0DD3;Mn;NSM;\r
+0DD4;Mn;NSM;\r
+0DD6;Mn;NSM;\r
+0DD8;Mc;L;\r
+0DD9;Mc;L;\r
+0DDA;Mc;L;\r
+0DDB;Mc;L;\r
+0DDC;Mc;L;\r
+0DDD;Mc;L;\r
+0DDE;Mc;L;\r
+0DDF;Mc;L;\r
+0DF2;Mc;L;\r
+0DF3;Mc;L;\r
+0DF4;Po;L;\r
+0E01;Lo;L;\r
+0E02;Lo;L;\r
+0E03;Lo;L;\r
+0E04;Lo;L;\r
+0E05;Lo;L;\r
+0E06;Lo;L;\r
+0E07;Lo;L;\r
+0E08;Lo;L;\r
+0E09;Lo;L;\r
+0E0A;Lo;L;\r
+0E0B;Lo;L;\r
+0E0C;Lo;L;\r
+0E0D;Lo;L;\r
+0E0E;Lo;L;\r
+0E0F;Lo;L;\r
+0E10;Lo;L;\r
+0E11;Lo;L;\r
+0E12;Lo;L;\r
+0E13;Lo;L;\r
+0E14;Lo;L;\r
+0E15;Lo;L;\r
+0E16;Lo;L;\r
+0E17;Lo;L;\r
+0E18;Lo;L;\r
+0E19;Lo;L;\r
+0E1A;Lo;L;\r
+0E1B;Lo;L;\r
+0E1C;Lo;L;\r
+0E1D;Lo;L;\r
+0E1E;Lo;L;\r
+0E1F;Lo;L;\r
+0E20;Lo;L;\r
+0E21;Lo;L;\r
+0E22;Lo;L;\r
+0E23;Lo;L;\r
+0E24;Lo;L;\r
+0E25;Lo;L;\r
+0E26;Lo;L;\r
+0E27;Lo;L;\r
+0E28;Lo;L;\r
+0E29;Lo;L;\r
+0E2A;Lo;L;\r
+0E2B;Lo;L;\r
+0E2C;Lo;L;\r
+0E2D;Lo;L;\r
+0E2E;Lo;L;\r
+0E2F;Lo;L;\r
+0E30;Lo;L;\r
+0E31;Mn;NSM;\r
+0E32;Lo;L;\r
+0E33;Lo;L;\r
+0E34;Mn;NSM;\r
+0E35;Mn;NSM;\r
+0E36;Mn;NSM;\r
+0E37;Mn;NSM;\r
+0E38;Mn;NSM;\r
+0E39;Mn;NSM;\r
+0E3A;Mn;NSM;\r
+0E3F;Sc;ET;\r
+0E40;Lo;L;\r
+0E41;Lo;L;\r
+0E42;Lo;L;\r
+0E43;Lo;L;\r
+0E44;Lo;L;\r
+0E45;Lo;L;\r
+0E46;Lm;L;\r
+0E47;Mn;NSM;\r
+0E48;Mn;NSM;\r
+0E49;Mn;NSM;\r
+0E4A;Mn;NSM;\r
+0E4B;Mn;NSM;\r
+0E4C;Mn;NSM;\r
+0E4D;Mn;NSM;\r
+0E4E;Mn;NSM;\r
+0E4F;Po;L;\r
+0E50;Nd;L;\r
+0E51;Nd;L;\r
+0E52;Nd;L;\r
+0E53;Nd;L;\r
+0E54;Nd;L;\r
+0E55;Nd;L;\r
+0E56;Nd;L;\r
+0E57;Nd;L;\r
+0E58;Nd;L;\r
+0E59;Nd;L;\r
+0E5A;Po;L;\r
+0E5B;Po;L;\r
+0E81;Lo;L;\r
+0E82;Lo;L;\r
+0E84;Lo;L;\r
+0E87;Lo;L;\r
+0E88;Lo;L;\r
+0E8A;Lo;L;\r
+0E8D;Lo;L;\r
+0E94;Lo;L;\r
+0E95;Lo;L;\r
+0E96;Lo;L;\r
+0E97;Lo;L;\r
+0E99;Lo;L;\r
+0E9A;Lo;L;\r
+0E9B;Lo;L;\r
+0E9C;Lo;L;\r
+0E9D;Lo;L;\r
+0E9E;Lo;L;\r
+0E9F;Lo;L;\r
+0EA1;Lo;L;\r
+0EA2;Lo;L;\r
+0EA3;Lo;L;\r
+0EA5;Lo;L;\r
+0EA7;Lo;L;\r
+0EAA;Lo;L;\r
+0EAB;Lo;L;\r
+0EAD;Lo;L;\r
+0EAE;Lo;L;\r
+0EAF;Lo;L;\r
+0EB0;Lo;L;\r
+0EB1;Mn;NSM;\r
+0EB2;Lo;L;\r
+0EB3;Lo;L;\r
+0EB4;Mn;NSM;\r
+0EB5;Mn;NSM;\r
+0EB6;Mn;NSM;\r
+0EB7;Mn;NSM;\r
+0EB8;Mn;NSM;\r
+0EB9;Mn;NSM;\r
+0EBB;Mn;NSM;\r
+0EBC;Mn;NSM;\r
+0EBD;Lo;L;\r
+0EC0;Lo;L;\r
+0EC1;Lo;L;\r
+0EC2;Lo;L;\r
+0EC3;Lo;L;\r
+0EC4;Lo;L;\r
+0EC6;Lm;L;\r
+0EC8;Mn;NSM;\r
+0EC9;Mn;NSM;\r
+0ECA;Mn;NSM;\r
+0ECB;Mn;NSM;\r
+0ECC;Mn;NSM;\r
+0ECD;Mn;NSM;\r
+0ED0;Nd;L;\r
+0ED1;Nd;L;\r
+0ED2;Nd;L;\r
+0ED3;Nd;L;\r
+0ED4;Nd;L;\r
+0ED5;Nd;L;\r
+0ED6;Nd;L;\r
+0ED7;Nd;L;\r
+0ED8;Nd;L;\r
+0ED9;Nd;L;\r
+0EDC;Lo;L;\r
+0EDD;Lo;L;\r
+0F00;Lo;L;\r
+0F01;So;L;\r
+0F02;So;L;\r
+0F03;So;L;\r
+0F04;Po;L;\r
+0F05;Po;L;\r
+0F06;Po;L;\r
+0F07;Po;L;\r
+0F08;Po;L;\r
+0F09;Po;L;\r
+0F0A;Po;L;\r
+0F0B;Po;L;\r
+0F0C;Po;L;\r
+0F0D;Po;L;\r
+0F0E;Po;L;\r
+0F0F;Po;L;\r
+0F10;Po;L;\r
+0F11;Po;L;\r
+0F12;Po;L;\r
+0F13;So;L;\r
+0F14;So;L;\r
+0F15;So;L;\r
+0F16;So;L;\r
+0F17;So;L;\r
+0F18;Mn;NSM;\r
+0F19;Mn;NSM;\r
+0F1A;So;L;\r
+0F1B;So;L;\r
+0F1C;So;L;\r
+0F1D;So;L;\r
+0F1E;So;L;\r
+0F1F;So;L;\r
+0F20;Nd;L;\r
+0F21;Nd;L;\r
+0F22;Nd;L;\r
+0F23;Nd;L;\r
+0F24;Nd;L;\r
+0F25;Nd;L;\r
+0F26;Nd;L;\r
+0F27;Nd;L;\r
+0F28;Nd;L;\r
+0F29;Nd;L;\r
+0F2A;No;L;\r
+0F2B;No;L;\r
+0F2C;No;L;\r
+0F2D;No;L;\r
+0F2E;No;L;\r
+0F2F;No;L;\r
+0F30;No;L;\r
+0F31;No;L;\r
+0F32;No;L;\r
+0F33;No;L;\r
+0F34;So;L;\r
+0F35;Mn;NSM;\r
+0F36;So;L;\r
+0F37;Mn;NSM;\r
+0F38;So;L;\r
+0F39;Mn;NSM;\r
+0F3A;Ps;ON;\r
+0F3B;Pe;ON;\r
+0F3C;Ps;ON;\r
+0F3D;Pe;ON;\r
+0F3E;Mc;L;\r
+0F3F;Mc;L;\r
+0F40;Lo;L;\r
+0F41;Lo;L;\r
+0F42;Lo;L;\r
+0F43;Lo;L;\r
+0F44;Lo;L;\r
+0F45;Lo;L;\r
+0F46;Lo;L;\r
+0F47;Lo;L;\r
+0F49;Lo;L;\r
+0F4A;Lo;L;\r
+0F4B;Lo;L;\r
+0F4C;Lo;L;\r
+0F4D;Lo;L;\r
+0F4E;Lo;L;\r
+0F4F;Lo;L;\r
+0F50;Lo;L;\r
+0F51;Lo;L;\r
+0F52;Lo;L;\r
+0F53;Lo;L;\r
+0F54;Lo;L;\r
+0F55;Lo;L;\r
+0F56;Lo;L;\r
+0F57;Lo;L;\r
+0F58;Lo;L;\r
+0F59;Lo;L;\r
+0F5A;Lo;L;\r
+0F5B;Lo;L;\r
+0F5C;Lo;L;\r
+0F5D;Lo;L;\r
+0F5E;Lo;L;\r
+0F5F;Lo;L;\r
+0F60;Lo;L;\r
+0F61;Lo;L;\r
+0F62;Lo;L;\r
+0F63;Lo;L;\r
+0F64;Lo;L;\r
+0F65;Lo;L;\r
+0F66;Lo;L;\r
+0F67;Lo;L;\r
+0F68;Lo;L;\r
+0F69;Lo;L;\r
+0F6A;Lo;L;\r
+0F71;Mn;NSM;\r
+0F72;Mn;NSM;\r
+0F73;Mn;NSM;\r
+0F74;Mn;NSM;\r
+0F75;Mn;NSM;\r
+0F76;Mn;NSM;\r
+0F77;Mn;NSM;\r
+0F78;Mn;NSM;\r
+0F79;Mn;NSM;\r
+0F7A;Mn;NSM;\r
+0F7B;Mn;NSM;\r
+0F7C;Mn;NSM;\r
+0F7D;Mn;NSM;\r
+0F7E;Mn;NSM;\r
+0F7F;Mc;L;\r
+0F80;Mn;NSM;\r
+0F81;Mn;NSM;\r
+0F82;Mn;NSM;\r
+0F83;Mn;NSM;\r
+0F84;Mn;NSM;\r
+0F85;Po;L;\r
+0F86;Mn;NSM;\r
+0F87;Mn;NSM;\r
+0F88;Lo;L;\r
+0F89;Lo;L;\r
+0F8A;Lo;L;\r
+0F8B;Lo;L;\r
+0F90;Mn;NSM;\r
+0F91;Mn;NSM;\r
+0F92;Mn;NSM;\r
+0F93;Mn;NSM;\r
+0F94;Mn;NSM;\r
+0F95;Mn;NSM;\r
+0F96;Mn;NSM;\r
+0F97;Mn;NSM;\r
+0F99;Mn;NSM;\r
+0F9A;Mn;NSM;\r
+0F9B;Mn;NSM;\r
+0F9C;Mn;NSM;\r
+0F9D;Mn;NSM;\r
+0F9E;Mn;NSM;\r
+0F9F;Mn;NSM;\r
+0FA0;Mn;NSM;\r
+0FA1;Mn;NSM;\r
+0FA2;Mn;NSM;\r
+0FA3;Mn;NSM;\r
+0FA4;Mn;NSM;\r
+0FA5;Mn;NSM;\r
+0FA6;Mn;NSM;\r
+0FA7;Mn;NSM;\r
+0FA8;Mn;NSM;\r
+0FA9;Mn;NSM;\r
+0FAA;Mn;NSM;\r
+0FAB;Mn;NSM;\r
+0FAC;Mn;NSM;\r
+0FAD;Mn;NSM;\r
+0FAE;Mn;NSM;\r
+0FAF;Mn;NSM;\r
+0FB0;Mn;NSM;\r
+0FB1;Mn;NSM;\r
+0FB2;Mn;NSM;\r
+0FB3;Mn;NSM;\r
+0FB4;Mn;NSM;\r
+0FB5;Mn;NSM;\r
+0FB6;Mn;NSM;\r
+0FB7;Mn;NSM;\r
+0FB8;Mn;NSM;\r
+0FB9;Mn;NSM;\r
+0FBA;Mn;NSM;\r
+0FBB;Mn;NSM;\r
+0FBC;Mn;NSM;\r
+0FBE;So;L;\r
+0FBF;So;L;\r
+0FC0;So;L;\r
+0FC1;So;L;\r
+0FC2;So;L;\r
+0FC3;So;L;\r
+0FC4;So;L;\r
+0FC5;So;L;\r
+0FC6;Mn;NSM;\r
+0FC7;So;L;\r
+0FC8;So;L;\r
+0FC9;So;L;\r
+0FCA;So;L;\r
+0FCB;So;L;\r
+0FCC;So;L;\r
+0FCF;So;L;\r
+1000;Lo;L;\r
+1001;Lo;L;\r
+1002;Lo;L;\r
+1003;Lo;L;\r
+1004;Lo;L;\r
+1005;Lo;L;\r
+1006;Lo;L;\r
+1007;Lo;L;\r
+1008;Lo;L;\r
+1009;Lo;L;\r
+100A;Lo;L;\r
+100B;Lo;L;\r
+100C;Lo;L;\r
+100D;Lo;L;\r
+100E;Lo;L;\r
+100F;Lo;L;\r
+1010;Lo;L;\r
+1011;Lo;L;\r
+1012;Lo;L;\r
+1013;Lo;L;\r
+1014;Lo;L;\r
+1015;Lo;L;\r
+1016;Lo;L;\r
+1017;Lo;L;\r
+1018;Lo;L;\r
+1019;Lo;L;\r
+101A;Lo;L;\r
+101B;Lo;L;\r
+101C;Lo;L;\r
+101D;Lo;L;\r
+101E;Lo;L;\r
+101F;Lo;L;\r
+1020;Lo;L;\r
+1021;Lo;L;\r
+1023;Lo;L;\r
+1024;Lo;L;\r
+1025;Lo;L;\r
+1026;Lo;L;\r
+1027;Lo;L;\r
+1029;Lo;L;\r
+102A;Lo;L;\r
+102C;Mc;L;\r
+102D;Mn;NSM;\r
+102E;Mn;NSM;\r
+102F;Mn;NSM;\r
+1030;Mn;NSM;\r
+1031;Mc;L;\r
+1032;Mn;NSM;\r
+1036;Mn;NSM;\r
+1037;Mn;NSM;\r
+1038;Mc;L;\r
+1039;Mn;NSM;\r
+1040;Nd;L;\r
+1041;Nd;L;\r
+1042;Nd;L;\r
+1043;Nd;L;\r
+1044;Nd;L;\r
+1045;Nd;L;\r
+1046;Nd;L;\r
+1047;Nd;L;\r
+1048;Nd;L;\r
+1049;Nd;L;\r
+104A;Po;L;\r
+104B;Po;L;\r
+104C;Po;L;\r
+104D;Po;L;\r
+104E;Po;L;\r
+104F;Po;L;\r
+1050;Lo;L;\r
+1051;Lo;L;\r
+1052;Lo;L;\r
+1053;Lo;L;\r
+1054;Lo;L;\r
+1055;Lo;L;\r
+1056;Mc;L;\r
+1057;Mc;L;\r
+1058;Mn;NSM;\r
+1059;Mn;NSM;\r
+10A0;Lu;L;\r
+10A1;Lu;L;\r
+10A2;Lu;L;\r
+10A3;Lu;L;\r
+10A4;Lu;L;\r
+10A5;Lu;L;\r
+10A6;Lu;L;\r
+10A7;Lu;L;\r
+10A8;Lu;L;\r
+10A9;Lu;L;\r
+10AA;Lu;L;\r
+10AB;Lu;L;\r
+10AC;Lu;L;\r
+10AD;Lu;L;\r
+10AE;Lu;L;\r
+10AF;Lu;L;\r
+10B0;Lu;L;\r
+10B1;Lu;L;\r
+10B2;Lu;L;\r
+10B3;Lu;L;\r
+10B4;Lu;L;\r
+10B5;Lu;L;\r
+10B6;Lu;L;\r
+10B7;Lu;L;\r
+10B8;Lu;L;\r
+10B9;Lu;L;\r
+10BA;Lu;L;\r
+10BB;Lu;L;\r
+10BC;Lu;L;\r
+10BD;Lu;L;\r
+10BE;Lu;L;\r
+10BF;Lu;L;\r
+10C0;Lu;L;\r
+10C1;Lu;L;\r
+10C2;Lu;L;\r
+10C3;Lu;L;\r
+10C4;Lu;L;\r
+10C5;Lu;L;\r
+10D0;Lo;L;\r
+10D1;Lo;L;\r
+10D2;Lo;L;\r
+10D3;Lo;L;\r
+10D4;Lo;L;\r
+10D5;Lo;L;\r
+10D6;Lo;L;\r
+10D7;Lo;L;\r
+10D8;Lo;L;\r
+10D9;Lo;L;\r
+10DA;Lo;L;\r
+10DB;Lo;L;\r
+10DC;Lo;L;\r
+10DD;Lo;L;\r
+10DE;Lo;L;\r
+10DF;Lo;L;\r
+10E0;Lo;L;\r
+10E1;Lo;L;\r
+10E2;Lo;L;\r
+10E3;Lo;L;\r
+10E4;Lo;L;\r
+10E5;Lo;L;\r
+10E6;Lo;L;\r
+10E7;Lo;L;\r
+10E8;Lo;L;\r
+10E9;Lo;L;\r
+10EA;Lo;L;\r
+10EB;Lo;L;\r
+10EC;Lo;L;\r
+10ED;Lo;L;\r
+10EE;Lo;L;\r
+10EF;Lo;L;\r
+10F0;Lo;L;\r
+10F1;Lo;L;\r
+10F2;Lo;L;\r
+10F3;Lo;L;\r
+10F4;Lo;L;\r
+10F5;Lo;L;\r
+10F6;Lo;L;\r
+10FB;Po;L;\r
+1100;Lo;L;\r
+1101;Lo;L;\r
+1102;Lo;L;\r
+1103;Lo;L;\r
+1104;Lo;L;\r
+1105;Lo;L;\r
+1106;Lo;L;\r
+1107;Lo;L;\r
+1108;Lo;L;\r
+1109;Lo;L;\r
+110A;Lo;L;\r
+110B;Lo;L;\r
+110C;Lo;L;\r
+110D;Lo;L;\r
+110E;Lo;L;\r
+110F;Lo;L;\r
+1110;Lo;L;\r
+1111;Lo;L;\r
+1112;Lo;L;\r
+1113;Lo;L;\r
+1114;Lo;L;\r
+1115;Lo;L;\r
+1116;Lo;L;\r
+1117;Lo;L;\r
+1118;Lo;L;\r
+1119;Lo;L;\r
+111A;Lo;L;\r
+111B;Lo;L;\r
+111C;Lo;L;\r
+111D;Lo;L;\r
+111E;Lo;L;\r
+111F;Lo;L;\r
+1120;Lo;L;\r
+1121;Lo;L;\r
+1122;Lo;L;\r
+1123;Lo;L;\r
+1124;Lo;L;\r
+1125;Lo;L;\r
+1126;Lo;L;\r
+1127;Lo;L;\r
+1128;Lo;L;\r
+1129;Lo;L;\r
+112A;Lo;L;\r
+112B;Lo;L;\r
+112C;Lo;L;\r
+112D;Lo;L;\r
+112E;Lo;L;\r
+112F;Lo;L;\r
+1130;Lo;L;\r
+1131;Lo;L;\r
+1132;Lo;L;\r
+1133;Lo;L;\r
+1134;Lo;L;\r
+1135;Lo;L;\r
+1136;Lo;L;\r
+1137;Lo;L;\r
+1138;Lo;L;\r
+1139;Lo;L;\r
+113A;Lo;L;\r
+113B;Lo;L;\r
+113C;Lo;L;\r
+113D;Lo;L;\r
+113E;Lo;L;\r
+113F;Lo;L;\r
+1140;Lo;L;\r
+1141;Lo;L;\r
+1142;Lo;L;\r
+1143;Lo;L;\r
+1144;Lo;L;\r
+1145;Lo;L;\r
+1146;Lo;L;\r
+1147;Lo;L;\r
+1148;Lo;L;\r
+1149;Lo;L;\r
+114A;Lo;L;\r
+114B;Lo;L;\r
+114C;Lo;L;\r
+114D;Lo;L;\r
+114E;Lo;L;\r
+114F;Lo;L;\r
+1150;Lo;L;\r
+1151;Lo;L;\r
+1152;Lo;L;\r
+1153;Lo;L;\r
+1154;Lo;L;\r
+1155;Lo;L;\r
+1156;Lo;L;\r
+1157;Lo;L;\r
+1158;Lo;L;\r
+1159;Lo;L;\r
+115F;Lo;L;\r
+1160;Lo;L;\r
+1161;Lo;L;\r
+1162;Lo;L;\r
+1163;Lo;L;\r
+1164;Lo;L;\r
+1165;Lo;L;\r
+1166;Lo;L;\r
+1167;Lo;L;\r
+1168;Lo;L;\r
+1169;Lo;L;\r
+116A;Lo;L;\r
+116B;Lo;L;\r
+116C;Lo;L;\r
+116D;Lo;L;\r
+116E;Lo;L;\r
+116F;Lo;L;\r
+1170;Lo;L;\r
+1171;Lo;L;\r
+1172;Lo;L;\r
+1173;Lo;L;\r
+1174;Lo;L;\r
+1175;Lo;L;\r
+1176;Lo;L;\r
+1177;Lo;L;\r
+1178;Lo;L;\r
+1179;Lo;L;\r
+117A;Lo;L;\r
+117B;Lo;L;\r
+117C;Lo;L;\r
+117D;Lo;L;\r
+117E;Lo;L;\r
+117F;Lo;L;\r
+1180;Lo;L;\r
+1181;Lo;L;\r
+1182;Lo;L;\r
+1183;Lo;L;\r
+1184;Lo;L;\r
+1185;Lo;L;\r
+1186;Lo;L;\r
+1187;Lo;L;\r
+1188;Lo;L;\r
+1189;Lo;L;\r
+118A;Lo;L;\r
+118B;Lo;L;\r
+118C;Lo;L;\r
+118D;Lo;L;\r
+118E;Lo;L;\r
+118F;Lo;L;\r
+1190;Lo;L;\r
+1191;Lo;L;\r
+1192;Lo;L;\r
+1193;Lo;L;\r
+1194;Lo;L;\r
+1195;Lo;L;\r
+1196;Lo;L;\r
+1197;Lo;L;\r
+1198;Lo;L;\r
+1199;Lo;L;\r
+119A;Lo;L;\r
+119B;Lo;L;\r
+119C;Lo;L;\r
+119D;Lo;L;\r
+119E;Lo;L;\r
+119F;Lo;L;\r
+11A0;Lo;L;\r
+11A1;Lo;L;\r
+11A2;Lo;L;\r
+11A8;Lo;L;\r
+11A9;Lo;L;\r
+11AA;Lo;L;\r
+11AB;Lo;L;\r
+11AC;Lo;L;\r
+11AD;Lo;L;\r
+11AE;Lo;L;\r
+11AF;Lo;L;\r
+11B0;Lo;L;\r
+11B1;Lo;L;\r
+11B2;Lo;L;\r
+11B3;Lo;L;\r
+11B4;Lo;L;\r
+11B5;Lo;L;\r
+11B6;Lo;L;\r
+11B7;Lo;L;\r
+11B8;Lo;L;\r
+11B9;Lo;L;\r
+11BA;Lo;L;\r
+11BB;Lo;L;\r
+11BC;Lo;L;\r
+11BD;Lo;L;\r
+11BE;Lo;L;\r
+11BF;Lo;L;\r
+11C0;Lo;L;\r
+11C1;Lo;L;\r
+11C2;Lo;L;\r
+11C3;Lo;L;\r
+11C4;Lo;L;\r
+11C5;Lo;L;\r
+11C6;Lo;L;\r
+11C7;Lo;L;\r
+11C8;Lo;L;\r
+11C9;Lo;L;\r
+11CA;Lo;L;\r
+11CB;Lo;L;\r
+11CC;Lo;L;\r
+11CD;Lo;L;\r
+11CE;Lo;L;\r
+11CF;Lo;L;\r
+11D0;Lo;L;\r
+11D1;Lo;L;\r
+11D2;Lo;L;\r
+11D3;Lo;L;\r
+11D4;Lo;L;\r
+11D5;Lo;L;\r
+11D6;Lo;L;\r
+11D7;Lo;L;\r
+11D8;Lo;L;\r
+11D9;Lo;L;\r
+11DA;Lo;L;\r
+11DB;Lo;L;\r
+11DC;Lo;L;\r
+11DD;Lo;L;\r
+11DE;Lo;L;\r
+11DF;Lo;L;\r
+11E0;Lo;L;\r
+11E1;Lo;L;\r
+11E2;Lo;L;\r
+11E3;Lo;L;\r
+11E4;Lo;L;\r
+11E5;Lo;L;\r
+11E6;Lo;L;\r
+11E7;Lo;L;\r
+11E8;Lo;L;\r
+11E9;Lo;L;\r
+11EA;Lo;L;\r
+11EB;Lo;L;\r
+11EC;Lo;L;\r
+11ED;Lo;L;\r
+11EE;Lo;L;\r
+11EF;Lo;L;\r
+11F0;Lo;L;\r
+11F1;Lo;L;\r
+11F2;Lo;L;\r
+11F3;Lo;L;\r
+11F4;Lo;L;\r
+11F5;Lo;L;\r
+11F6;Lo;L;\r
+11F7;Lo;L;\r
+11F8;Lo;L;\r
+11F9;Lo;L;\r
+1200;Lo;L;\r
+1201;Lo;L;\r
+1202;Lo;L;\r
+1203;Lo;L;\r
+1204;Lo;L;\r
+1205;Lo;L;\r
+1206;Lo;L;\r
+1208;Lo;L;\r
+1209;Lo;L;\r
+120A;Lo;L;\r
+120B;Lo;L;\r
+120C;Lo;L;\r
+120D;Lo;L;\r
+120E;Lo;L;\r
+120F;Lo;L;\r
+1210;Lo;L;\r
+1211;Lo;L;\r
+1212;Lo;L;\r
+1213;Lo;L;\r
+1214;Lo;L;\r
+1215;Lo;L;\r
+1216;Lo;L;\r
+1217;Lo;L;\r
+1218;Lo;L;\r
+1219;Lo;L;\r
+121A;Lo;L;\r
+121B;Lo;L;\r
+121C;Lo;L;\r
+121D;Lo;L;\r
+121E;Lo;L;\r
+121F;Lo;L;\r
+1220;Lo;L;\r
+1221;Lo;L;\r
+1222;Lo;L;\r
+1223;Lo;L;\r
+1224;Lo;L;\r
+1225;Lo;L;\r
+1226;Lo;L;\r
+1227;Lo;L;\r
+1228;Lo;L;\r
+1229;Lo;L;\r
+122A;Lo;L;\r
+122B;Lo;L;\r
+122C;Lo;L;\r
+122D;Lo;L;\r
+122E;Lo;L;\r
+122F;Lo;L;\r
+1230;Lo;L;\r
+1231;Lo;L;\r
+1232;Lo;L;\r
+1233;Lo;L;\r
+1234;Lo;L;\r
+1235;Lo;L;\r
+1236;Lo;L;\r
+1237;Lo;L;\r
+1238;Lo;L;\r
+1239;Lo;L;\r
+123A;Lo;L;\r
+123B;Lo;L;\r
+123C;Lo;L;\r
+123D;Lo;L;\r
+123E;Lo;L;\r
+123F;Lo;L;\r
+1240;Lo;L;\r
+1241;Lo;L;\r
+1242;Lo;L;\r
+1243;Lo;L;\r
+1244;Lo;L;\r
+1245;Lo;L;\r
+1246;Lo;L;\r
+1248;Lo;L;\r
+124A;Lo;L;\r
+124B;Lo;L;\r
+124C;Lo;L;\r
+124D;Lo;L;\r
+1250;Lo;L;\r
+1251;Lo;L;\r
+1252;Lo;L;\r
+1253;Lo;L;\r
+1254;Lo;L;\r
+1255;Lo;L;\r
+1256;Lo;L;\r
+1258;Lo;L;\r
+125A;Lo;L;\r
+125B;Lo;L;\r
+125C;Lo;L;\r
+125D;Lo;L;\r
+1260;Lo;L;\r
+1261;Lo;L;\r
+1262;Lo;L;\r
+1263;Lo;L;\r
+1264;Lo;L;\r
+1265;Lo;L;\r
+1266;Lo;L;\r
+1267;Lo;L;\r
+1268;Lo;L;\r
+1269;Lo;L;\r
+126A;Lo;L;\r
+126B;Lo;L;\r
+126C;Lo;L;\r
+126D;Lo;L;\r
+126E;Lo;L;\r
+126F;Lo;L;\r
+1270;Lo;L;\r
+1271;Lo;L;\r
+1272;Lo;L;\r
+1273;Lo;L;\r
+1274;Lo;L;\r
+1275;Lo;L;\r
+1276;Lo;L;\r
+1277;Lo;L;\r
+1278;Lo;L;\r
+1279;Lo;L;\r
+127A;Lo;L;\r
+127B;Lo;L;\r
+127C;Lo;L;\r
+127D;Lo;L;\r
+127E;Lo;L;\r
+127F;Lo;L;\r
+1280;Lo;L;\r
+1281;Lo;L;\r
+1282;Lo;L;\r
+1283;Lo;L;\r
+1284;Lo;L;\r
+1285;Lo;L;\r
+1286;Lo;L;\r
+1288;Lo;L;\r
+128A;Lo;L;\r
+128B;Lo;L;\r
+128C;Lo;L;\r
+128D;Lo;L;\r
+1290;Lo;L;\r
+1291;Lo;L;\r
+1292;Lo;L;\r
+1293;Lo;L;\r
+1294;Lo;L;\r
+1295;Lo;L;\r
+1296;Lo;L;\r
+1297;Lo;L;\r
+1298;Lo;L;\r
+1299;Lo;L;\r
+129A;Lo;L;\r
+129B;Lo;L;\r
+129C;Lo;L;\r
+129D;Lo;L;\r
+129E;Lo;L;\r
+129F;Lo;L;\r
+12A0;Lo;L;\r
+12A1;Lo;L;\r
+12A2;Lo;L;\r
+12A3;Lo;L;\r
+12A4;Lo;L;\r
+12A5;Lo;L;\r
+12A6;Lo;L;\r
+12A7;Lo;L;\r
+12A8;Lo;L;\r
+12A9;Lo;L;\r
+12AA;Lo;L;\r
+12AB;Lo;L;\r
+12AC;Lo;L;\r
+12AD;Lo;L;\r
+12AE;Lo;L;\r
+12B0;Lo;L;\r
+12B2;Lo;L;\r
+12B3;Lo;L;\r
+12B4;Lo;L;\r
+12B5;Lo;L;\r
+12B8;Lo;L;\r
+12B9;Lo;L;\r
+12BA;Lo;L;\r
+12BB;Lo;L;\r
+12BC;Lo;L;\r
+12BD;Lo;L;\r
+12BE;Lo;L;\r
+12C0;Lo;L;\r
+12C2;Lo;L;\r
+12C3;Lo;L;\r
+12C4;Lo;L;\r
+12C5;Lo;L;\r
+12C8;Lo;L;\r
+12C9;Lo;L;\r
+12CA;Lo;L;\r
+12CB;Lo;L;\r
+12CC;Lo;L;\r
+12CD;Lo;L;\r
+12CE;Lo;L;\r
+12D0;Lo;L;\r
+12D1;Lo;L;\r
+12D2;Lo;L;\r
+12D3;Lo;L;\r
+12D4;Lo;L;\r
+12D5;Lo;L;\r
+12D6;Lo;L;\r
+12D8;Lo;L;\r
+12D9;Lo;L;\r
+12DA;Lo;L;\r
+12DB;Lo;L;\r
+12DC;Lo;L;\r
+12DD;Lo;L;\r
+12DE;Lo;L;\r
+12DF;Lo;L;\r
+12E0;Lo;L;\r
+12E1;Lo;L;\r
+12E2;Lo;L;\r
+12E3;Lo;L;\r
+12E4;Lo;L;\r
+12E5;Lo;L;\r
+12E6;Lo;L;\r
+12E7;Lo;L;\r
+12E8;Lo;L;\r
+12E9;Lo;L;\r
+12EA;Lo;L;\r
+12EB;Lo;L;\r
+12EC;Lo;L;\r
+12ED;Lo;L;\r
+12EE;Lo;L;\r
+12F0;Lo;L;\r
+12F1;Lo;L;\r
+12F2;Lo;L;\r
+12F3;Lo;L;\r
+12F4;Lo;L;\r
+12F5;Lo;L;\r
+12F6;Lo;L;\r
+12F7;Lo;L;\r
+12F8;Lo;L;\r
+12F9;Lo;L;\r
+12FA;Lo;L;\r
+12FB;Lo;L;\r
+12FC;Lo;L;\r
+12FD;Lo;L;\r
+12FE;Lo;L;\r
+12FF;Lo;L;\r
+1300;Lo;L;\r
+1301;Lo;L;\r
+1302;Lo;L;\r
+1303;Lo;L;\r
+1304;Lo;L;\r
+1305;Lo;L;\r
+1306;Lo;L;\r
+1307;Lo;L;\r
+1308;Lo;L;\r
+1309;Lo;L;\r
+130A;Lo;L;\r
+130B;Lo;L;\r
+130C;Lo;L;\r
+130D;Lo;L;\r
+130E;Lo;L;\r
+1310;Lo;L;\r
+1312;Lo;L;\r
+1313;Lo;L;\r
+1314;Lo;L;\r
+1315;Lo;L;\r
+1318;Lo;L;\r
+1319;Lo;L;\r
+131A;Lo;L;\r
+131B;Lo;L;\r
+131C;Lo;L;\r
+131D;Lo;L;\r
+131E;Lo;L;\r
+1320;Lo;L;\r
+1321;Lo;L;\r
+1322;Lo;L;\r
+1323;Lo;L;\r
+1324;Lo;L;\r
+1325;Lo;L;\r
+1326;Lo;L;\r
+1327;Lo;L;\r
+1328;Lo;L;\r
+1329;Lo;L;\r
+132A;Lo;L;\r
+132B;Lo;L;\r
+132C;Lo;L;\r
+132D;Lo;L;\r
+132E;Lo;L;\r
+132F;Lo;L;\r
+1330;Lo;L;\r
+1331;Lo;L;\r
+1332;Lo;L;\r
+1333;Lo;L;\r
+1334;Lo;L;\r
+1335;Lo;L;\r
+1336;Lo;L;\r
+1337;Lo;L;\r
+1338;Lo;L;\r
+1339;Lo;L;\r
+133A;Lo;L;\r
+133B;Lo;L;\r
+133C;Lo;L;\r
+133D;Lo;L;\r
+133E;Lo;L;\r
+133F;Lo;L;\r
+1340;Lo;L;\r
+1341;Lo;L;\r
+1342;Lo;L;\r
+1343;Lo;L;\r
+1344;Lo;L;\r
+1345;Lo;L;\r
+1346;Lo;L;\r
+1348;Lo;L;\r
+1349;Lo;L;\r
+134A;Lo;L;\r
+134B;Lo;L;\r
+134C;Lo;L;\r
+134D;Lo;L;\r
+134E;Lo;L;\r
+134F;Lo;L;\r
+1350;Lo;L;\r
+1351;Lo;L;\r
+1352;Lo;L;\r
+1353;Lo;L;\r
+1354;Lo;L;\r
+1355;Lo;L;\r
+1356;Lo;L;\r
+1357;Lo;L;\r
+1358;Lo;L;\r
+1359;Lo;L;\r
+135A;Lo;L;\r
+1361;Po;L;\r
+1362;Po;L;\r
+1363;Po;L;\r
+1364;Po;L;\r
+1365;Po;L;\r
+1366;Po;L;\r
+1367;Po;L;\r
+1368;Po;L;\r
+1369;Nd;L;\r
+136A;Nd;L;\r
+136B;Nd;L;\r
+136C;Nd;L;\r
+136D;Nd;L;\r
+136E;Nd;L;\r
+136F;Nd;L;\r
+1370;Nd;L;\r
+1371;Nd;L;\r
+1372;No;L;\r
+1373;No;L;\r
+1374;No;L;\r
+1375;No;L;\r
+1376;No;L;\r
+1377;No;L;\r
+1378;No;L;\r
+1379;No;L;\r
+137A;No;L;\r
+137B;No;L;\r
+137C;No;L;\r
+13A0;Lo;L;\r
+13A1;Lo;L;\r
+13A2;Lo;L;\r
+13A3;Lo;L;\r
+13A4;Lo;L;\r
+13A5;Lo;L;\r
+13A6;Lo;L;\r
+13A7;Lo;L;\r
+13A8;Lo;L;\r
+13A9;Lo;L;\r
+13AA;Lo;L;\r
+13AB;Lo;L;\r
+13AC;Lo;L;\r
+13AD;Lo;L;\r
+13AE;Lo;L;\r
+13AF;Lo;L;\r
+13B0;Lo;L;\r
+13B1;Lo;L;\r
+13B2;Lo;L;\r
+13B3;Lo;L;\r
+13B4;Lo;L;\r
+13B5;Lo;L;\r
+13B6;Lo;L;\r
+13B7;Lo;L;\r
+13B8;Lo;L;\r
+13B9;Lo;L;\r
+13BA;Lo;L;\r
+13BB;Lo;L;\r
+13BC;Lo;L;\r
+13BD;Lo;L;\r
+13BE;Lo;L;\r
+13BF;Lo;L;\r
+13C0;Lo;L;\r
+13C1;Lo;L;\r
+13C2;Lo;L;\r
+13C3;Lo;L;\r
+13C4;Lo;L;\r
+13C5;Lo;L;\r
+13C6;Lo;L;\r
+13C7;Lo;L;\r
+13C8;Lo;L;\r
+13C9;Lo;L;\r
+13CA;Lo;L;\r
+13CB;Lo;L;\r
+13CC;Lo;L;\r
+13CD;Lo;L;\r
+13CE;Lo;L;\r
+13CF;Lo;L;\r
+13D0;Lo;L;\r
+13D1;Lo;L;\r
+13D2;Lo;L;\r
+13D3;Lo;L;\r
+13D4;Lo;L;\r
+13D5;Lo;L;\r
+13D6;Lo;L;\r
+13D7;Lo;L;\r
+13D8;Lo;L;\r
+13D9;Lo;L;\r
+13DA;Lo;L;\r
+13DB;Lo;L;\r
+13DC;Lo;L;\r
+13DD;Lo;L;\r
+13DE;Lo;L;\r
+13DF;Lo;L;\r
+13E0;Lo;L;\r
+13E1;Lo;L;\r
+13E2;Lo;L;\r
+13E3;Lo;L;\r
+13E4;Lo;L;\r
+13E5;Lo;L;\r
+13E6;Lo;L;\r
+13E7;Lo;L;\r
+13E8;Lo;L;\r
+13E9;Lo;L;\r
+13EA;Lo;L;\r
+13EB;Lo;L;\r
+13EC;Lo;L;\r
+13ED;Lo;L;\r
+13EE;Lo;L;\r
+13EF;Lo;L;\r
+13F0;Lo;L;\r
+13F1;Lo;L;\r
+13F2;Lo;L;\r
+13F3;Lo;L;\r
+13F4;Lo;L;\r
+1401;Lo;L;\r
+1402;Lo;L;\r
+1403;Lo;L;\r
+1404;Lo;L;\r
+1405;Lo;L;\r
+1406;Lo;L;\r
+1407;Lo;L;\r
+1408;Lo;L;\r
+1409;Lo;L;\r
+140A;Lo;L;\r
+140B;Lo;L;\r
+140C;Lo;L;\r
+140D;Lo;L;\r
+140E;Lo;L;\r
+140F;Lo;L;\r
+1410;Lo;L;\r
+1411;Lo;L;\r
+1412;Lo;L;\r
+1413;Lo;L;\r
+1414;Lo;L;\r
+1415;Lo;L;\r
+1416;Lo;L;\r
+1417;Lo;L;\r
+1418;Lo;L;\r
+1419;Lo;L;\r
+141A;Lo;L;\r
+141B;Lo;L;\r
+141C;Lo;L;\r
+141D;Lo;L;\r
+141E;Lo;L;\r
+141F;Lo;L;\r
+1420;Lo;L;\r
+1421;Lo;L;\r
+1422;Lo;L;\r
+1423;Lo;L;\r
+1424;Lo;L;\r
+1425;Lo;L;\r
+1426;Lo;L;\r
+1427;Lo;L;\r
+1428;Lo;L;\r
+1429;Lo;L;\r
+142A;Lo;L;\r
+142B;Lo;L;\r
+142C;Lo;L;\r
+142D;Lo;L;\r
+142E;Lo;L;\r
+142F;Lo;L;\r
+1430;Lo;L;\r
+1431;Lo;L;\r
+1432;Lo;L;\r
+1433;Lo;L;\r
+1434;Lo;L;\r
+1435;Lo;L;\r
+1436;Lo;L;\r
+1437;Lo;L;\r
+1438;Lo;L;\r
+1439;Lo;L;\r
+143A;Lo;L;\r
+143B;Lo;L;\r
+143C;Lo;L;\r
+143D;Lo;L;\r
+143E;Lo;L;\r
+143F;Lo;L;\r
+1440;Lo;L;\r
+1441;Lo;L;\r
+1442;Lo;L;\r
+1443;Lo;L;\r
+1444;Lo;L;\r
+1445;Lo;L;\r
+1446;Lo;L;\r
+1447;Lo;L;\r
+1448;Lo;L;\r
+1449;Lo;L;\r
+144A;Lo;L;\r
+144B;Lo;L;\r
+144C;Lo;L;\r
+144D;Lo;L;\r
+144E;Lo;L;\r
+144F;Lo;L;\r
+1450;Lo;L;\r
+1451;Lo;L;\r
+1452;Lo;L;\r
+1453;Lo;L;\r
+1454;Lo;L;\r
+1455;Lo;L;\r
+1456;Lo;L;\r
+1457;Lo;L;\r
+1458;Lo;L;\r
+1459;Lo;L;\r
+145A;Lo;L;\r
+145B;Lo;L;\r
+145C;Lo;L;\r
+145D;Lo;L;\r
+145E;Lo;L;\r
+145F;Lo;L;\r
+1460;Lo;L;\r
+1461;Lo;L;\r
+1462;Lo;L;\r
+1463;Lo;L;\r
+1464;Lo;L;\r
+1465;Lo;L;\r
+1466;Lo;L;\r
+1467;Lo;L;\r
+1468;Lo;L;\r
+1469;Lo;L;\r
+146A;Lo;L;\r
+146B;Lo;L;\r
+146C;Lo;L;\r
+146D;Lo;L;\r
+146E;Lo;L;\r
+146F;Lo;L;\r
+1470;Lo;L;\r
+1471;Lo;L;\r
+1472;Lo;L;\r
+1473;Lo;L;\r
+1474;Lo;L;\r
+1475;Lo;L;\r
+1476;Lo;L;\r
+1477;Lo;L;\r
+1478;Lo;L;\r
+1479;Lo;L;\r
+147A;Lo;L;\r
+147B;Lo;L;\r
+147C;Lo;L;\r
+147D;Lo;L;\r
+147E;Lo;L;\r
+147F;Lo;L;\r
+1480;Lo;L;\r
+1481;Lo;L;\r
+1482;Lo;L;\r
+1483;Lo;L;\r
+1484;Lo;L;\r
+1485;Lo;L;\r
+1486;Lo;L;\r
+1487;Lo;L;\r
+1488;Lo;L;\r
+1489;Lo;L;\r
+148A;Lo;L;\r
+148B;Lo;L;\r
+148C;Lo;L;\r
+148D;Lo;L;\r
+148E;Lo;L;\r
+148F;Lo;L;\r
+1490;Lo;L;\r
+1491;Lo;L;\r
+1492;Lo;L;\r
+1493;Lo;L;\r
+1494;Lo;L;\r
+1495;Lo;L;\r
+1496;Lo;L;\r
+1497;Lo;L;\r
+1498;Lo;L;\r
+1499;Lo;L;\r
+149A;Lo;L;\r
+149B;Lo;L;\r
+149C;Lo;L;\r
+149D;Lo;L;\r
+149E;Lo;L;\r
+149F;Lo;L;\r
+14A0;Lo;L;\r
+14A1;Lo;L;\r
+14A2;Lo;L;\r
+14A3;Lo;L;\r
+14A4;Lo;L;\r
+14A5;Lo;L;\r
+14A6;Lo;L;\r
+14A7;Lo;L;\r
+14A8;Lo;L;\r
+14A9;Lo;L;\r
+14AA;Lo;L;\r
+14AB;Lo;L;\r
+14AC;Lo;L;\r
+14AD;Lo;L;\r
+14AE;Lo;L;\r
+14AF;Lo;L;\r
+14B0;Lo;L;\r
+14B1;Lo;L;\r
+14B2;Lo;L;\r
+14B3;Lo;L;\r
+14B4;Lo;L;\r
+14B5;Lo;L;\r
+14B6;Lo;L;\r
+14B7;Lo;L;\r
+14B8;Lo;L;\r
+14B9;Lo;L;\r
+14BA;Lo;L;\r
+14BB;Lo;L;\r
+14BC;Lo;L;\r
+14BD;Lo;L;\r
+14BE;Lo;L;\r
+14BF;Lo;L;\r
+14C0;Lo;L;\r
+14C1;Lo;L;\r
+14C2;Lo;L;\r
+14C3;Lo;L;\r
+14C4;Lo;L;\r
+14C5;Lo;L;\r
+14C6;Lo;L;\r
+14C7;Lo;L;\r
+14C8;Lo;L;\r
+14C9;Lo;L;\r
+14CA;Lo;L;\r
+14CB;Lo;L;\r
+14CC;Lo;L;\r
+14CD;Lo;L;\r
+14CE;Lo;L;\r
+14CF;Lo;L;\r
+14D0;Lo;L;\r
+14D1;Lo;L;\r
+14D2;Lo;L;\r
+14D3;Lo;L;\r
+14D4;Lo;L;\r
+14D5;Lo;L;\r
+14D6;Lo;L;\r
+14D7;Lo;L;\r
+14D8;Lo;L;\r
+14D9;Lo;L;\r
+14DA;Lo;L;\r
+14DB;Lo;L;\r
+14DC;Lo;L;\r
+14DD;Lo;L;\r
+14DE;Lo;L;\r
+14DF;Lo;L;\r
+14E0;Lo;L;\r
+14E1;Lo;L;\r
+14E2;Lo;L;\r
+14E3;Lo;L;\r
+14E4;Lo;L;\r
+14E5;Lo;L;\r
+14E6;Lo;L;\r
+14E7;Lo;L;\r
+14E8;Lo;L;\r
+14E9;Lo;L;\r
+14EA;Lo;L;\r
+14EB;Lo;L;\r
+14EC;Lo;L;\r
+14ED;Lo;L;\r
+14EE;Lo;L;\r
+14EF;Lo;L;\r
+14F0;Lo;L;\r
+14F1;Lo;L;\r
+14F2;Lo;L;\r
+14F3;Lo;L;\r
+14F4;Lo;L;\r
+14F5;Lo;L;\r
+14F6;Lo;L;\r
+14F7;Lo;L;\r
+14F8;Lo;L;\r
+14F9;Lo;L;\r
+14FA;Lo;L;\r
+14FB;Lo;L;\r
+14FC;Lo;L;\r
+14FD;Lo;L;\r
+14FE;Lo;L;\r
+14FF;Lo;L;\r
+1500;Lo;L;\r
+1501;Lo;L;\r
+1502;Lo;L;\r
+1503;Lo;L;\r
+1504;Lo;L;\r
+1505;Lo;L;\r
+1506;Lo;L;\r
+1507;Lo;L;\r
+1508;Lo;L;\r
+1509;Lo;L;\r
+150A;Lo;L;\r
+150B;Lo;L;\r
+150C;Lo;L;\r
+150D;Lo;L;\r
+150E;Lo;L;\r
+150F;Lo;L;\r
+1510;Lo;L;\r
+1511;Lo;L;\r
+1512;Lo;L;\r
+1513;Lo;L;\r
+1514;Lo;L;\r
+1515;Lo;L;\r
+1516;Lo;L;\r
+1517;Lo;L;\r
+1518;Lo;L;\r
+1519;Lo;L;\r
+151A;Lo;L;\r
+151B;Lo;L;\r
+151C;Lo;L;\r
+151D;Lo;L;\r
+151E;Lo;L;\r
+151F;Lo;L;\r
+1520;Lo;L;\r
+1521;Lo;L;\r
+1522;Lo;L;\r
+1523;Lo;L;\r
+1524;Lo;L;\r
+1525;Lo;L;\r
+1526;Lo;L;\r
+1527;Lo;L;\r
+1528;Lo;L;\r
+1529;Lo;L;\r
+152A;Lo;L;\r
+152B;Lo;L;\r
+152C;Lo;L;\r
+152D;Lo;L;\r
+152E;Lo;L;\r
+152F;Lo;L;\r
+1530;Lo;L;\r
+1531;Lo;L;\r
+1532;Lo;L;\r
+1533;Lo;L;\r
+1534;Lo;L;\r
+1535;Lo;L;\r
+1536;Lo;L;\r
+1537;Lo;L;\r
+1538;Lo;L;\r
+1539;Lo;L;\r
+153A;Lo;L;\r
+153B;Lo;L;\r
+153C;Lo;L;\r
+153D;Lo;L;\r
+153E;Lo;L;\r
+153F;Lo;L;\r
+1540;Lo;L;\r
+1541;Lo;L;\r
+1542;Lo;L;\r
+1543;Lo;L;\r
+1544;Lo;L;\r
+1545;Lo;L;\r
+1546;Lo;L;\r
+1547;Lo;L;\r
+1548;Lo;L;\r
+1549;Lo;L;\r
+154A;Lo;L;\r
+154B;Lo;L;\r
+154C;Lo;L;\r
+154D;Lo;L;\r
+154E;Lo;L;\r
+154F;Lo;L;\r
+1550;Lo;L;\r
+1551;Lo;L;\r
+1552;Lo;L;\r
+1553;Lo;L;\r
+1554;Lo;L;\r
+1555;Lo;L;\r
+1556;Lo;L;\r
+1557;Lo;L;\r
+1558;Lo;L;\r
+1559;Lo;L;\r
+155A;Lo;L;\r
+155B;Lo;L;\r
+155C;Lo;L;\r
+155D;Lo;L;\r
+155E;Lo;L;\r
+155F;Lo;L;\r
+1560;Lo;L;\r
+1561;Lo;L;\r
+1562;Lo;L;\r
+1563;Lo;L;\r
+1564;Lo;L;\r
+1565;Lo;L;\r
+1566;Lo;L;\r
+1567;Lo;L;\r
+1568;Lo;L;\r
+1569;Lo;L;\r
+156A;Lo;L;\r
+156B;Lo;L;\r
+156C;Lo;L;\r
+156D;Lo;L;\r
+156E;Lo;L;\r
+156F;Lo;L;\r
+1570;Lo;L;\r
+1571;Lo;L;\r
+1572;Lo;L;\r
+1573;Lo;L;\r
+1574;Lo;L;\r
+1575;Lo;L;\r
+1576;Lo;L;\r
+1577;Lo;L;\r
+1578;Lo;L;\r
+1579;Lo;L;\r
+157A;Lo;L;\r
+157B;Lo;L;\r
+157C;Lo;L;\r
+157D;Lo;L;\r
+157E;Lo;L;\r
+157F;Lo;L;\r
+1580;Lo;L;\r
+1581;Lo;L;\r
+1582;Lo;L;\r
+1583;Lo;L;\r
+1584;Lo;L;\r
+1585;Lo;L;\r
+1586;Lo;L;\r
+1587;Lo;L;\r
+1588;Lo;L;\r
+1589;Lo;L;\r
+158A;Lo;L;\r
+158B;Lo;L;\r
+158C;Lo;L;\r
+158D;Lo;L;\r
+158E;Lo;L;\r
+158F;Lo;L;\r
+1590;Lo;L;\r
+1591;Lo;L;\r
+1592;Lo;L;\r
+1593;Lo;L;\r
+1594;Lo;L;\r
+1595;Lo;L;\r
+1596;Lo;L;\r
+1597;Lo;L;\r
+1598;Lo;L;\r
+1599;Lo;L;\r
+159A;Lo;L;\r
+159B;Lo;L;\r
+159C;Lo;L;\r
+159D;Lo;L;\r
+159E;Lo;L;\r
+159F;Lo;L;\r
+15A0;Lo;L;\r
+15A1;Lo;L;\r
+15A2;Lo;L;\r
+15A3;Lo;L;\r
+15A4;Lo;L;\r
+15A5;Lo;L;\r
+15A6;Lo;L;\r
+15A7;Lo;L;\r
+15A8;Lo;L;\r
+15A9;Lo;L;\r
+15AA;Lo;L;\r
+15AB;Lo;L;\r
+15AC;Lo;L;\r
+15AD;Lo;L;\r
+15AE;Lo;L;\r
+15AF;Lo;L;\r
+15B0;Lo;L;\r
+15B1;Lo;L;\r
+15B2;Lo;L;\r
+15B3;Lo;L;\r
+15B4;Lo;L;\r
+15B5;Lo;L;\r
+15B6;Lo;L;\r
+15B7;Lo;L;\r
+15B8;Lo;L;\r
+15B9;Lo;L;\r
+15BA;Lo;L;\r
+15BB;Lo;L;\r
+15BC;Lo;L;\r
+15BD;Lo;L;\r
+15BE;Lo;L;\r
+15BF;Lo;L;\r
+15C0;Lo;L;\r
+15C1;Lo;L;\r
+15C2;Lo;L;\r
+15C3;Lo;L;\r
+15C4;Lo;L;\r
+15C5;Lo;L;\r
+15C6;Lo;L;\r
+15C7;Lo;L;\r
+15C8;Lo;L;\r
+15C9;Lo;L;\r
+15CA;Lo;L;\r
+15CB;Lo;L;\r
+15CC;Lo;L;\r
+15CD;Lo;L;\r
+15CE;Lo;L;\r
+15CF;Lo;L;\r
+15D0;Lo;L;\r
+15D1;Lo;L;\r
+15D2;Lo;L;\r
+15D3;Lo;L;\r
+15D4;Lo;L;\r
+15D5;Lo;L;\r
+15D6;Lo;L;\r
+15D7;Lo;L;\r
+15D8;Lo;L;\r
+15D9;Lo;L;\r
+15DA;Lo;L;\r
+15DB;Lo;L;\r
+15DC;Lo;L;\r
+15DD;Lo;L;\r
+15DE;Lo;L;\r
+15DF;Lo;L;\r
+15E0;Lo;L;\r
+15E1;Lo;L;\r
+15E2;Lo;L;\r
+15E3;Lo;L;\r
+15E4;Lo;L;\r
+15E5;Lo;L;\r
+15E6;Lo;L;\r
+15E7;Lo;L;\r
+15E8;Lo;L;\r
+15E9;Lo;L;\r
+15EA;Lo;L;\r
+15EB;Lo;L;\r
+15EC;Lo;L;\r
+15ED;Lo;L;\r
+15EE;Lo;L;\r
+15EF;Lo;L;\r
+15F0;Lo;L;\r
+15F1;Lo;L;\r
+15F2;Lo;L;\r
+15F3;Lo;L;\r
+15F4;Lo;L;\r
+15F5;Lo;L;\r
+15F6;Lo;L;\r
+15F7;Lo;L;\r
+15F8;Lo;L;\r
+15F9;Lo;L;\r
+15FA;Lo;L;\r
+15FB;Lo;L;\r
+15FC;Lo;L;\r
+15FD;Lo;L;\r
+15FE;Lo;L;\r
+15FF;Lo;L;\r
+1600;Lo;L;\r
+1601;Lo;L;\r
+1602;Lo;L;\r
+1603;Lo;L;\r
+1604;Lo;L;\r
+1605;Lo;L;\r
+1606;Lo;L;\r
+1607;Lo;L;\r
+1608;Lo;L;\r
+1609;Lo;L;\r
+160A;Lo;L;\r
+160B;Lo;L;\r
+160C;Lo;L;\r
+160D;Lo;L;\r
+160E;Lo;L;\r
+160F;Lo;L;\r
+1610;Lo;L;\r
+1611;Lo;L;\r
+1612;Lo;L;\r
+1613;Lo;L;\r
+1614;Lo;L;\r
+1615;Lo;L;\r
+1616;Lo;L;\r
+1617;Lo;L;\r
+1618;Lo;L;\r
+1619;Lo;L;\r
+161A;Lo;L;\r
+161B;Lo;L;\r
+161C;Lo;L;\r
+161D;Lo;L;\r
+161E;Lo;L;\r
+161F;Lo;L;\r
+1620;Lo;L;\r
+1621;Lo;L;\r
+1622;Lo;L;\r
+1623;Lo;L;\r
+1624;Lo;L;\r
+1625;Lo;L;\r
+1626;Lo;L;\r
+1627;Lo;L;\r
+1628;Lo;L;\r
+1629;Lo;L;\r
+162A;Lo;L;\r
+162B;Lo;L;\r
+162C;Lo;L;\r
+162D;Lo;L;\r
+162E;Lo;L;\r
+162F;Lo;L;\r
+1630;Lo;L;\r
+1631;Lo;L;\r
+1632;Lo;L;\r
+1633;Lo;L;\r
+1634;Lo;L;\r
+1635;Lo;L;\r
+1636;Lo;L;\r
+1637;Lo;L;\r
+1638;Lo;L;\r
+1639;Lo;L;\r
+163A;Lo;L;\r
+163B;Lo;L;\r
+163C;Lo;L;\r
+163D;Lo;L;\r
+163E;Lo;L;\r
+163F;Lo;L;\r
+1640;Lo;L;\r
+1641;Lo;L;\r
+1642;Lo;L;\r
+1643;Lo;L;\r
+1644;Lo;L;\r
+1645;Lo;L;\r
+1646;Lo;L;\r
+1647;Lo;L;\r
+1648;Lo;L;\r
+1649;Lo;L;\r
+164A;Lo;L;\r
+164B;Lo;L;\r
+164C;Lo;L;\r
+164D;Lo;L;\r
+164E;Lo;L;\r
+164F;Lo;L;\r
+1650;Lo;L;\r
+1651;Lo;L;\r
+1652;Lo;L;\r
+1653;Lo;L;\r
+1654;Lo;L;\r
+1655;Lo;L;\r
+1656;Lo;L;\r
+1657;Lo;L;\r
+1658;Lo;L;\r
+1659;Lo;L;\r
+165A;Lo;L;\r
+165B;Lo;L;\r
+165C;Lo;L;\r
+165D;Lo;L;\r
+165E;Lo;L;\r
+165F;Lo;L;\r
+1660;Lo;L;\r
+1661;Lo;L;\r
+1662;Lo;L;\r
+1663;Lo;L;\r
+1664;Lo;L;\r
+1665;Lo;L;\r
+1666;Lo;L;\r
+1667;Lo;L;\r
+1668;Lo;L;\r
+1669;Lo;L;\r
+166A;Lo;L;\r
+166B;Lo;L;\r
+166C;Lo;L;\r
+166D;Po;L;\r
+166E;Po;L;\r
+166F;Lo;L;\r
+1670;Lo;L;\r
+1671;Lo;L;\r
+1672;Lo;L;\r
+1673;Lo;L;\r
+1674;Lo;L;\r
+1675;Lo;L;\r
+1676;Lo;L;\r
+1680;Zs;WS;\r
+1681;Lo;L;\r
+1682;Lo;L;\r
+1683;Lo;L;\r
+1684;Lo;L;\r
+1685;Lo;L;\r
+1686;Lo;L;\r
+1687;Lo;L;\r
+1688;Lo;L;\r
+1689;Lo;L;\r
+168A;Lo;L;\r
+168B;Lo;L;\r
+168C;Lo;L;\r
+168D;Lo;L;\r
+168E;Lo;L;\r
+168F;Lo;L;\r
+1690;Lo;L;\r
+1691;Lo;L;\r
+1692;Lo;L;\r
+1693;Lo;L;\r
+1694;Lo;L;\r
+1695;Lo;L;\r
+1696;Lo;L;\r
+1697;Lo;L;\r
+1698;Lo;L;\r
+1699;Lo;L;\r
+169A;Lo;L;\r
+169B;Ps;ON;\r
+169C;Pe;ON;\r
+16A0;Lo;L;\r
+16A1;Lo;L;\r
+16A2;Lo;L;\r
+16A3;Lo;L;\r
+16A4;Lo;L;\r
+16A5;Lo;L;\r
+16A6;Lo;L;\r
+16A7;Lo;L;\r
+16A8;Lo;L;\r
+16A9;Lo;L;\r
+16AA;Lo;L;\r
+16AB;Lo;L;\r
+16AC;Lo;L;\r
+16AD;Lo;L;\r
+16AE;Lo;L;\r
+16AF;Lo;L;\r
+16B0;Lo;L;\r
+16B1;Lo;L;\r
+16B2;Lo;L;\r
+16B3;Lo;L;\r
+16B4;Lo;L;\r
+16B5;Lo;L;\r
+16B6;Lo;L;\r
+16B7;Lo;L;\r
+16B8;Lo;L;\r
+16B9;Lo;L;\r
+16BA;Lo;L;\r
+16BB;Lo;L;\r
+16BC;Lo;L;\r
+16BD;Lo;L;\r
+16BE;Lo;L;\r
+16BF;Lo;L;\r
+16C0;Lo;L;\r
+16C1;Lo;L;\r
+16C2;Lo;L;\r
+16C3;Lo;L;\r
+16C4;Lo;L;\r
+16C5;Lo;L;\r
+16C6;Lo;L;\r
+16C7;Lo;L;\r
+16C8;Lo;L;\r
+16C9;Lo;L;\r
+16CA;Lo;L;\r
+16CB;Lo;L;\r
+16CC;Lo;L;\r
+16CD;Lo;L;\r
+16CE;Lo;L;\r
+16CF;Lo;L;\r
+16D0;Lo;L;\r
+16D1;Lo;L;\r
+16D2;Lo;L;\r
+16D3;Lo;L;\r
+16D4;Lo;L;\r
+16D5;Lo;L;\r
+16D6;Lo;L;\r
+16D7;Lo;L;\r
+16D8;Lo;L;\r
+16D9;Lo;L;\r
+16DA;Lo;L;\r
+16DB;Lo;L;\r
+16DC;Lo;L;\r
+16DD;Lo;L;\r
+16DE;Lo;L;\r
+16DF;Lo;L;\r
+16E0;Lo;L;\r
+16E1;Lo;L;\r
+16E2;Lo;L;\r
+16E3;Lo;L;\r
+16E4;Lo;L;\r
+16E5;Lo;L;\r
+16E6;Lo;L;\r
+16E7;Lo;L;\r
+16E8;Lo;L;\r
+16E9;Lo;L;\r
+16EA;Lo;L;\r
+16EB;Po;L;\r
+16EC;Po;L;\r
+16ED;Po;L;\r
+16EE;Nl;L;\r
+16EF;Nl;L;\r
+16F0;Nl;L;\r
+1780;Lo;L;\r
+1781;Lo;L;\r
+1782;Lo;L;\r
+1783;Lo;L;\r
+1784;Lo;L;\r
+1785;Lo;L;\r
+1786;Lo;L;\r
+1787;Lo;L;\r
+1788;Lo;L;\r
+1789;Lo;L;\r
+178A;Lo;L;\r
+178B;Lo;L;\r
+178C;Lo;L;\r
+178D;Lo;L;\r
+178E;Lo;L;\r
+178F;Lo;L;\r
+1790;Lo;L;\r
+1791;Lo;L;\r
+1792;Lo;L;\r
+1793;Lo;L;\r
+1794;Lo;L;\r
+1795;Lo;L;\r
+1796;Lo;L;\r
+1797;Lo;L;\r
+1798;Lo;L;\r
+1799;Lo;L;\r
+179A;Lo;L;\r
+179B;Lo;L;\r
+179C;Lo;L;\r
+179D;Lo;L;\r
+179E;Lo;L;\r
+179F;Lo;L;\r
+17A0;Lo;L;\r
+17A1;Lo;L;\r
+17A2;Lo;L;\r
+17A3;Lo;L;\r
+17A4;Lo;L;\r
+17A5;Lo;L;\r
+17A6;Lo;L;\r
+17A7;Lo;L;\r
+17A8;Lo;L;\r
+17A9;Lo;L;\r
+17AA;Lo;L;\r
+17AB;Lo;L;\r
+17AC;Lo;L;\r
+17AD;Lo;L;\r
+17AE;Lo;L;\r
+17AF;Lo;L;\r
+17B0;Lo;L;\r
+17B1;Lo;L;\r
+17B2;Lo;L;\r
+17B3;Lo;L;\r
+17B4;Mc;L;\r
+17B5;Mc;L;\r
+17B6;Mc;L;\r
+17B7;Mn;NSM;\r
+17B8;Mn;NSM;\r
+17B9;Mn;NSM;\r
+17BA;Mn;NSM;\r
+17BB;Mn;NSM;\r
+17BC;Mn;NSM;\r
+17BD;Mn;NSM;\r
+17BE;Mc;L;\r
+17BF;Mc;L;\r
+17C0;Mc;L;\r
+17C1;Mc;L;\r
+17C2;Mc;L;\r
+17C3;Mc;L;\r
+17C4;Mc;L;\r
+17C5;Mc;L;\r
+17C6;Mn;NSM;\r
+17C7;Mc;L;\r
+17C8;Mc;L;\r
+17C9;Mn;NSM;\r
+17CA;Mn;NSM;\r
+17CB;Mn;NSM;\r
+17CC;Mn;NSM;\r
+17CD;Mn;NSM;\r
+17CE;Mn;NSM;\r
+17CF;Mn;NSM;\r
+17D0;Mn;NSM;\r
+17D1;Mn;NSM;\r
+17D2;Mn;NSM;\r
+17D3;Mn;NSM;\r
+17D4;Po;L;\r
+17D5;Po;L;\r
+17D6;Po;L;\r
+17D7;Po;L;\r
+17D8;Po;L;\r
+17D9;Po;L;\r
+17DA;Po;L;\r
+17DB;Sc;ET;\r
+17DC;Po;L;\r
+17E0;Nd;L;\r
+17E1;Nd;L;\r
+17E2;Nd;L;\r
+17E3;Nd;L;\r
+17E4;Nd;L;\r
+17E5;Nd;L;\r
+17E6;Nd;L;\r
+17E7;Nd;L;\r
+17E8;Nd;L;\r
+17E9;Nd;L;\r
+1800;Po;ON;\r
+1801;Po;ON;\r
+1802;Po;ON;\r
+1803;Po;ON;\r
+1804;Po;ON;\r
+1805;Po;ON;\r
+1806;Pd;ON;\r
+1807;Po;ON;\r
+1808;Po;ON;\r
+1809;Po;ON;\r
+180A;Po;ON;\r
+180B;Cf;BN;\r
+180C;Cf;BN;\r
+180D;Cf;BN;\r
+180E;Cf;BN;\r
+1810;Nd;L;\r
+1811;Nd;L;\r
+1812;Nd;L;\r
+1813;Nd;L;\r
+1814;Nd;L;\r
+1815;Nd;L;\r
+1816;Nd;L;\r
+1817;Nd;L;\r
+1818;Nd;L;\r
+1819;Nd;L;\r
+1820;Lo;L;\r
+1821;Lo;L;\r
+1822;Lo;L;\r
+1823;Lo;L;\r
+1824;Lo;L;\r
+1825;Lo;L;\r
+1826;Lo;L;\r
+1827;Lo;L;\r
+1828;Lo;L;\r
+1829;Lo;L;\r
+182A;Lo;L;\r
+182B;Lo;L;\r
+182C;Lo;L;\r
+182D;Lo;L;\r
+182E;Lo;L;\r
+182F;Lo;L;\r
+1830;Lo;L;\r
+1831;Lo;L;\r
+1832;Lo;L;\r
+1833;Lo;L;\r
+1834;Lo;L;\r
+1835;Lo;L;\r
+1836;Lo;L;\r
+1837;Lo;L;\r
+1838;Lo;L;\r
+1839;Lo;L;\r
+183A;Lo;L;\r
+183B;Lo;L;\r
+183C;Lo;L;\r
+183D;Lo;L;\r
+183E;Lo;L;\r
+183F;Lo;L;\r
+1840;Lo;L;\r
+1841;Lo;L;\r
+1842;Lo;L;\r
+1843;Lm;L;\r
+1844;Lo;L;\r
+1845;Lo;L;\r
+1846;Lo;L;\r
+1847;Lo;L;\r
+1848;Lo;L;\r
+1849;Lo;L;\r
+184A;Lo;L;\r
+184B;Lo;L;\r
+184C;Lo;L;\r
+184D;Lo;L;\r
+184E;Lo;L;\r
+184F;Lo;L;\r
+1850;Lo;L;\r
+1851;Lo;L;\r
+1852;Lo;L;\r
+1853;Lo;L;\r
+1854;Lo;L;\r
+1855;Lo;L;\r
+1856;Lo;L;\r
+1857;Lo;L;\r
+1858;Lo;L;\r
+1859;Lo;L;\r
+185A;Lo;L;\r
+185B;Lo;L;\r
+185C;Lo;L;\r
+185D;Lo;L;\r
+185E;Lo;L;\r
+185F;Lo;L;\r
+1860;Lo;L;\r
+1861;Lo;L;\r
+1862;Lo;L;\r
+1863;Lo;L;\r
+1864;Lo;L;\r
+1865;Lo;L;\r
+1866;Lo;L;\r
+1867;Lo;L;\r
+1868;Lo;L;\r
+1869;Lo;L;\r
+186A;Lo;L;\r
+186B;Lo;L;\r
+186C;Lo;L;\r
+186D;Lo;L;\r
+186E;Lo;L;\r
+186F;Lo;L;\r
+1870;Lo;L;\r
+1871;Lo;L;\r
+1872;Lo;L;\r
+1873;Lo;L;\r
+1874;Lo;L;\r
+1875;Lo;L;\r
+1876;Lo;L;\r
+1877;Lo;L;\r
+1880;Lo;L;\r
+1881;Lo;L;\r
+1882;Lo;L;\r
+1883;Lo;L;\r
+1884;Lo;L;\r
+1885;Lo;L;\r
+1886;Lo;L;\r
+1887;Lo;L;\r
+1888;Lo;L;\r
+1889;Lo;L;\r
+188A;Lo;L;\r
+188B;Lo;L;\r
+188C;Lo;L;\r
+188D;Lo;L;\r
+188E;Lo;L;\r
+188F;Lo;L;\r
+1890;Lo;L;\r
+1891;Lo;L;\r
+1892;Lo;L;\r
+1893;Lo;L;\r
+1894;Lo;L;\r
+1895;Lo;L;\r
+1896;Lo;L;\r
+1897;Lo;L;\r
+1898;Lo;L;\r
+1899;Lo;L;\r
+189A;Lo;L;\r
+189B;Lo;L;\r
+189C;Lo;L;\r
+189D;Lo;L;\r
+189E;Lo;L;\r
+189F;Lo;L;\r
+18A0;Lo;L;\r
+18A1;Lo;L;\r
+18A2;Lo;L;\r
+18A3;Lo;L;\r
+18A4;Lo;L;\r
+18A5;Lo;L;\r
+18A6;Lo;L;\r
+18A7;Lo;L;\r
+18A8;Lo;L;\r
+18A9;Mn;NSM;\r
+1E00;Lu;L;\r
+1E01;Ll;L;\r
+1E02;Lu;L;\r
+1E03;Ll;L;\r
+1E04;Lu;L;\r
+1E05;Ll;L;\r
+1E06;Lu;L;\r
+1E07;Ll;L;\r
+1E08;Lu;L;\r
+1E09;Ll;L;\r
+1E0A;Lu;L;\r
+1E0B;Ll;L;\r
+1E0C;Lu;L;\r
+1E0D;Ll;L;\r
+1E0E;Lu;L;\r
+1E0F;Ll;L;\r
+1E10;Lu;L;\r
+1E11;Ll;L;\r
+1E12;Lu;L;\r
+1E13;Ll;L;\r
+1E14;Lu;L;\r
+1E15;Ll;L;\r
+1E16;Lu;L;\r
+1E17;Ll;L;\r
+1E18;Lu;L;\r
+1E19;Ll;L;\r
+1E1A;Lu;L;\r
+1E1B;Ll;L;\r
+1E1C;Lu;L;\r
+1E1D;Ll;L;\r
+1E1E;Lu;L;\r
+1E1F;Ll;L;\r
+1E20;Lu;L;\r
+1E21;Ll;L;\r
+1E22;Lu;L;\r
+1E23;Ll;L;\r
+1E24;Lu;L;\r
+1E25;Ll;L;\r
+1E26;Lu;L;\r
+1E27;Ll;L;\r
+1E28;Lu;L;\r
+1E29;Ll;L;\r
+1E2A;Lu;L;\r
+1E2B;Ll;L;\r
+1E2C;Lu;L;\r
+1E2D;Ll;L;\r
+1E2E;Lu;L;\r
+1E2F;Ll;L;\r
+1E30;Lu;L;\r
+1E31;Ll;L;\r
+1E32;Lu;L;\r
+1E33;Ll;L;\r
+1E34;Lu;L;\r
+1E35;Ll;L;\r
+1E36;Lu;L;\r
+1E37;Ll;L;\r
+1E38;Lu;L;\r
+1E39;Ll;L;\r
+1E3A;Lu;L;\r
+1E3B;Ll;L;\r
+1E3C;Lu;L;\r
+1E3D;Ll;L;\r
+1E3E;Lu;L;\r
+1E3F;Ll;L;\r
+1E40;Lu;L;\r
+1E41;Ll;L;\r
+1E42;Lu;L;\r
+1E43;Ll;L;\r
+1E44;Lu;L;\r
+1E45;Ll;L;\r
+1E46;Lu;L;\r
+1E47;Ll;L;\r
+1E48;Lu;L;\r
+1E49;Ll;L;\r
+1E4A;Lu;L;\r
+1E4B;Ll;L;\r
+1E4C;Lu;L;\r
+1E4D;Ll;L;\r
+1E4E;Lu;L;\r
+1E4F;Ll;L;\r
+1E50;Lu;L;\r
+1E51;Ll;L;\r
+1E52;Lu;L;\r
+1E53;Ll;L;\r
+1E54;Lu;L;\r
+1E55;Ll;L;\r
+1E56;Lu;L;\r
+1E57;Ll;L;\r
+1E58;Lu;L;\r
+1E59;Ll;L;\r
+1E5A;Lu;L;\r
+1E5B;Ll;L;\r
+1E5C;Lu;L;\r
+1E5D;Ll;L;\r
+1E5E;Lu;L;\r
+1E5F;Ll;L;\r
+1E60;Lu;L;\r
+1E61;Ll;L;\r
+1E62;Lu;L;\r
+1E63;Ll;L;\r
+1E64;Lu;L;\r
+1E65;Ll;L;\r
+1E66;Lu;L;\r
+1E67;Ll;L;\r
+1E68;Lu;L;\r
+1E69;Ll;L;\r
+1E6A;Lu;L;\r
+1E6B;Ll;L;\r
+1E6C;Lu;L;\r
+1E6D;Ll;L;\r
+1E6E;Lu;L;\r
+1E6F;Ll;L;\r
+1E70;Lu;L;\r
+1E71;Ll;L;\r
+1E72;Lu;L;\r
+1E73;Ll;L;\r
+1E74;Lu;L;\r
+1E75;Ll;L;\r
+1E76;Lu;L;\r
+1E77;Ll;L;\r
+1E78;Lu;L;\r
+1E79;Ll;L;\r
+1E7A;Lu;L;\r
+1E7B;Ll;L;\r
+1E7C;Lu;L;\r
+1E7D;Ll;L;\r
+1E7E;Lu;L;\r
+1E7F;Ll;L;\r
+1E80;Lu;L;\r
+1E81;Ll;L;\r
+1E82;Lu;L;\r
+1E83;Ll;L;\r
+1E84;Lu;L;\r
+1E85;Ll;L;\r
+1E86;Lu;L;\r
+1E87;Ll;L;\r
+1E88;Lu;L;\r
+1E89;Ll;L;\r
+1E8A;Lu;L;\r
+1E8B;Ll;L;\r
+1E8C;Lu;L;\r
+1E8D;Ll;L;\r
+1E8E;Lu;L;\r
+1E8F;Ll;L;\r
+1E90;Lu;L;\r
+1E91;Ll;L;\r
+1E92;Lu;L;\r
+1E93;Ll;L;\r
+1E94;Lu;L;\r
+1E95;Ll;L;\r
+1E96;Ll;L;\r
+1E97;Ll;L;\r
+1E98;Ll;L;\r
+1E99;Ll;L;\r
+1E9A;Ll;L;\r
+1E9B;Ll;L;\r
+1EA0;Lu;L;\r
+1EA1;Ll;L;\r
+1EA2;Lu;L;\r
+1EA3;Ll;L;\r
+1EA4;Lu;L;\r
+1EA5;Ll;L;\r
+1EA6;Lu;L;\r
+1EA7;Ll;L;\r
+1EA8;Lu;L;\r
+1EA9;Ll;L;\r
+1EAA;Lu;L;\r
+1EAB;Ll;L;\r
+1EAC;Lu;L;\r
+1EAD;Ll;L;\r
+1EAE;Lu;L;\r
+1EAF;Ll;L;\r
+1EB0;Lu;L;\r
+1EB1;Ll;L;\r
+1EB2;Lu;L;\r
+1EB3;Ll;L;\r
+1EB4;Lu;L;\r
+1EB5;Ll;L;\r
+1EB6;Lu;L;\r
+1EB7;Ll;L;\r
+1EB8;Lu;L;\r
+1EB9;Ll;L;\r
+1EBA;Lu;L;\r
+1EBB;Ll;L;\r
+1EBC;Lu;L;\r
+1EBD;Ll;L;\r
+1EBE;Lu;L;\r
+1EBF;Ll;L;\r
+1EC0;Lu;L;\r
+1EC1;Ll;L;\r
+1EC2;Lu;L;\r
+1EC3;Ll;L;\r
+1EC4;Lu;L;\r
+1EC5;Ll;L;\r
+1EC6;Lu;L;\r
+1EC7;Ll;L;\r
+1EC8;Lu;L;\r
+1EC9;Ll;L;\r
+1ECA;Lu;L;\r
+1ECB;Ll;L;\r
+1ECC;Lu;L;\r
+1ECD;Ll;L;\r
+1ECE;Lu;L;\r
+1ECF;Ll;L;\r
+1ED0;Lu;L;\r
+1ED1;Ll;L;\r
+1ED2;Lu;L;\r
+1ED3;Ll;L;\r
+1ED4;Lu;L;\r
+1ED5;Ll;L;\r
+1ED6;Lu;L;\r
+1ED7;Ll;L;\r
+1ED8;Lu;L;\r
+1ED9;Ll;L;\r
+1EDA;Lu;L;\r
+1EDB;Ll;L;\r
+1EDC;Lu;L;\r
+1EDD;Ll;L;\r
+1EDE;Lu;L;\r
+1EDF;Ll;L;\r
+1EE0;Lu;L;\r
+1EE1;Ll;L;\r
+1EE2;Lu;L;\r
+1EE3;Ll;L;\r
+1EE4;Lu;L;\r
+1EE5;Ll;L;\r
+1EE6;Lu;L;\r
+1EE7;Ll;L;\r
+1EE8;Lu;L;\r
+1EE9;Ll;L;\r
+1EEA;Lu;L;\r
+1EEB;Ll;L;\r
+1EEC;Lu;L;\r
+1EED;Ll;L;\r
+1EEE;Lu;L;\r
+1EEF;Ll;L;\r
+1EF0;Lu;L;\r
+1EF1;Ll;L;\r
+1EF2;Lu;L;\r
+1EF3;Ll;L;\r
+1EF4;Lu;L;\r
+1EF5;Ll;L;\r
+1EF6;Lu;L;\r
+1EF7;Ll;L;\r
+1EF8;Lu;L;\r
+1EF9;Ll;L;\r
+1F00;Ll;L;\r
+1F01;Ll;L;\r
+1F02;Ll;L;\r
+1F03;Ll;L;\r
+1F04;Ll;L;\r
+1F05;Ll;L;\r
+1F06;Ll;L;\r
+1F07;Ll;L;\r
+1F08;Lu;L;\r
+1F09;Lu;L;\r
+1F0A;Lu;L;\r
+1F0B;Lu;L;\r
+1F0C;Lu;L;\r
+1F0D;Lu;L;\r
+1F0E;Lu;L;\r
+1F0F;Lu;L;\r
+1F10;Ll;L;\r
+1F11;Ll;L;\r
+1F12;Ll;L;\r
+1F13;Ll;L;\r
+1F14;Ll;L;\r
+1F15;Ll;L;\r
+1F18;Lu;L;\r
+1F19;Lu;L;\r
+1F1A;Lu;L;\r
+1F1B;Lu;L;\r
+1F1C;Lu;L;\r
+1F1D;Lu;L;\r
+1F20;Ll;L;\r
+1F21;Ll;L;\r
+1F22;Ll;L;\r
+1F23;Ll;L;\r
+1F24;Ll;L;\r
+1F25;Ll;L;\r
+1F26;Ll;L;\r
+1F27;Ll;L;\r
+1F28;Lu;L;\r
+1F29;Lu;L;\r
+1F2A;Lu;L;\r
+1F2B;Lu;L;\r
+1F2C;Lu;L;\r
+1F2D;Lu;L;\r
+1F2E;Lu;L;\r
+1F2F;Lu;L;\r
+1F30;Ll;L;\r
+1F31;Ll;L;\r
+1F32;Ll;L;\r
+1F33;Ll;L;\r
+1F34;Ll;L;\r
+1F35;Ll;L;\r
+1F36;Ll;L;\r
+1F37;Ll;L;\r
+1F38;Lu;L;\r
+1F39;Lu;L;\r
+1F3A;Lu;L;\r
+1F3B;Lu;L;\r
+1F3C;Lu;L;\r
+1F3D;Lu;L;\r
+1F3E;Lu;L;\r
+1F3F;Lu;L;\r
+1F40;Ll;L;\r
+1F41;Ll;L;\r
+1F42;Ll;L;\r
+1F43;Ll;L;\r
+1F44;Ll;L;\r
+1F45;Ll;L;\r
+1F48;Lu;L;\r
+1F49;Lu;L;\r
+1F4A;Lu;L;\r
+1F4B;Lu;L;\r
+1F4C;Lu;L;\r
+1F4D;Lu;L;\r
+1F50;Ll;L;\r
+1F51;Ll;L;\r
+1F52;Ll;L;\r
+1F53;Ll;L;\r
+1F54;Ll;L;\r
+1F55;Ll;L;\r
+1F56;Ll;L;\r
+1F57;Ll;L;\r
+1F59;Lu;L;\r
+1F5B;Lu;L;\r
+1F5D;Lu;L;\r
+1F5F;Lu;L;\r
+1F60;Ll;L;\r
+1F61;Ll;L;\r
+1F62;Ll;L;\r
+1F63;Ll;L;\r
+1F64;Ll;L;\r
+1F65;Ll;L;\r
+1F66;Ll;L;\r
+1F67;Ll;L;\r
+1F68;Lu;L;\r
+1F69;Lu;L;\r
+1F6A;Lu;L;\r
+1F6B;Lu;L;\r
+1F6C;Lu;L;\r
+1F6D;Lu;L;\r
+1F6E;Lu;L;\r
+1F6F;Lu;L;\r
+1F70;Ll;L;\r
+1F71;Ll;L;\r
+1F72;Ll;L;\r
+1F73;Ll;L;\r
+1F74;Ll;L;\r
+1F75;Ll;L;\r
+1F76;Ll;L;\r
+1F77;Ll;L;\r
+1F78;Ll;L;\r
+1F79;Ll;L;\r
+1F7A;Ll;L;\r
+1F7B;Ll;L;\r
+1F7C;Ll;L;\r
+1F7D;Ll;L;\r
+1F80;Ll;L;\r
+1F81;Ll;L;\r
+1F82;Ll;L;\r
+1F83;Ll;L;\r
+1F84;Ll;L;\r
+1F85;Ll;L;\r
+1F86;Ll;L;\r
+1F87;Ll;L;\r
+1F88;Lt;L;\r
+1F89;Lt;L;\r
+1F8A;Lt;L;\r
+1F8B;Lt;L;\r
+1F8C;Lt;L;\r
+1F8D;Lt;L;\r
+1F8E;Lt;L;\r
+1F8F;Lt;L;\r
+1F90;Ll;L;\r
+1F91;Ll;L;\r
+1F92;Ll;L;\r
+1F93;Ll;L;\r
+1F94;Ll;L;\r
+1F95;Ll;L;\r
+1F96;Ll;L;\r
+1F97;Ll;L;\r
+1F98;Lt;L;\r
+1F99;Lt;L;\r
+1F9A;Lt;L;\r
+1F9B;Lt;L;\r
+1F9C;Lt;L;\r
+1F9D;Lt;L;\r
+1F9E;Lt;L;\r
+1F9F;Lt;L;\r
+1FA0;Ll;L;\r
+1FA1;Ll;L;\r
+1FA2;Ll;L;\r
+1FA3;Ll;L;\r
+1FA4;Ll;L;\r
+1FA5;Ll;L;\r
+1FA6;Ll;L;\r
+1FA7;Ll;L;\r
+1FA8;Lt;L;\r
+1FA9;Lt;L;\r
+1FAA;Lt;L;\r
+1FAB;Lt;L;\r
+1FAC;Lt;L;\r
+1FAD;Lt;L;\r
+1FAE;Lt;L;\r
+1FAF;Lt;L;\r
+1FB0;Ll;L;\r
+1FB1;Ll;L;\r
+1FB2;Ll;L;\r
+1FB3;Ll;L;\r
+1FB4;Ll;L;\r
+1FB6;Ll;L;\r
+1FB7;Ll;L;\r
+1FB8;Lu;L;\r
+1FB9;Lu;L;\r
+1FBA;Lu;L;\r
+1FBB;Lu;L;\r
+1FBC;Lt;L;\r
+1FBD;Sk;ON;\r
+1FBE;Ll;L;\r
+1FBF;Sk;ON;\r
+1FC0;Sk;ON;\r
+1FC1;Sk;ON;\r
+1FC2;Ll;L;\r
+1FC3;Ll;L;\r
+1FC4;Ll;L;\r
+1FC6;Ll;L;\r
+1FC7;Ll;L;\r
+1FC8;Lu;L;\r
+1FC9;Lu;L;\r
+1FCA;Lu;L;\r
+1FCB;Lu;L;\r
+1FCC;Lt;L;\r
+1FCD;Sk;ON;\r
+1FCE;Sk;ON;\r
+1FCF;Sk;ON;\r
+1FD0;Ll;L;\r
+1FD1;Ll;L;\r
+1FD2;Ll;L;\r
+1FD3;Ll;L;\r
+1FD6;Ll;L;\r
+1FD7;Ll;L;\r
+1FD8;Lu;L;\r
+1FD9;Lu;L;\r
+1FDA;Lu;L;\r
+1FDB;Lu;L;\r
+1FDD;Sk;ON;\r
+1FDE;Sk;ON;\r
+1FDF;Sk;ON;\r
+1FE0;Ll;L;\r
+1FE1;Ll;L;\r
+1FE2;Ll;L;\r
+1FE3;Ll;L;\r
+1FE4;Ll;L;\r
+1FE5;Ll;L;\r
+1FE6;Ll;L;\r
+1FE7;Ll;L;\r
+1FE8;Lu;L;\r
+1FE9;Lu;L;\r
+1FEA;Lu;L;\r
+1FEB;Lu;L;\r
+1FEC;Lu;L;\r
+1FED;Sk;ON;\r
+1FEE;Sk;ON;\r
+1FEF;Sk;ON;\r
+1FF2;Ll;L;\r
+1FF3;Ll;L;\r
+1FF4;Ll;L;\r
+1FF6;Ll;L;\r
+1FF7;Ll;L;\r
+1FF8;Lu;L;\r
+1FF9;Lu;L;\r
+1FFA;Lu;L;\r
+1FFB;Lu;L;\r
+1FFC;Lt;L;\r
+1FFD;Sk;ON;\r
+1FFE;Sk;ON;\r
+2000;Zs;WS;\r
+2001;Zs;WS;\r
+2002;Zs;WS;\r
+2003;Zs;WS;\r
+2004;Zs;WS;\r
+2005;Zs;WS;\r
+2006;Zs;WS;\r
+2007;Zs;WS;\r
+2008;Zs;WS;\r
+2009;Zs;WS;\r
+200A;Zs;WS;\r
+200B;Zs;BN;\r
+200C;Cf;BN;\r
+200D;Cf;BN;\r
+200E;Cf;L;\r
+200F;Cf;R;\r
+2010;Pd;ON;\r
+2011;Pd;ON;\r
+2012;Pd;ON;\r
+2013;Pd;ON;\r
+2014;Pd;ON;\r
+2015;Pd;ON;\r
+2016;Po;ON;\r
+2017;Po;ON;\r
+2018;Pi;ON;\r
+2019;Pf;ON;\r
+201A;Ps;ON;\r
+201B;Pi;ON;\r
+201C;Pi;ON;\r
+201D;Pf;ON;\r
+201E;Ps;ON;\r
+201F;Pi;ON;\r
+2020;Po;ON;\r
+2021;Po;ON;\r
+2022;Po;ON;\r
+2023;Po;ON;\r
+2024;Po;ON;\r
+2025;Po;ON;\r
+2026;Po;ON;\r
+2027;Po;ON;\r
+2028;Zl;WS;\r
+2029;Zp;B;\r
+202A;Cf;LRE;\r
+202B;Cf;RLE;\r
+202C;Cf;PDF;\r
+202D;Cf;LRO;\r
+202E;Cf;RLO;\r
+202F;Zs;WS;\r
+2030;Po;ET;\r
+2031;Po;ET;\r
+2032;Po;ET;\r
+2033;Po;ET;\r
+2034;Po;ET;\r
+2035;Po;ON;\r
+2036;Po;ON;\r
+2037;Po;ON;\r
+2038;Po;ON;\r
+2039;Pi;ON;\r
+203A;Pf;ON;\r
+203B;Po;ON;\r
+203C;Po;ON;\r
+203D;Po;ON;\r
+203E;Po;ON;\r
+203F;Pc;ON;\r
+2040;Pc;ON;\r
+2041;Po;ON;\r
+2042;Po;ON;\r
+2043;Po;ON;\r
+2044;Sm;ON;\r
+2045;Ps;ON;\r
+2046;Pe;ON;\r
+2048;Po;ON;\r
+2049;Po;ON;\r
+204A;Po;ON;\r
+204B;Po;ON;\r
+204C;Po;ON;\r
+204D;Po;ON;\r
+206A;Cf;BN;\r
+206B;Cf;BN;\r
+206C;Cf;BN;\r
+206D;Cf;BN;\r
+206E;Cf;BN;\r
+206F;Cf;BN;\r
+2070;No;EN;\r
+2074;No;EN;\r
+2075;No;EN;\r
+2076;No;EN;\r
+2077;No;EN;\r
+2078;No;EN;\r
+2079;No;EN;\r
+207A;Sm;ET;\r
+207B;Sm;ET;\r
+207C;Sm;ON;\r
+207D;Ps;ON;\r
+207E;Pe;ON;\r
+207F;Ll;L;\r
+2080;No;EN;\r
+2081;No;EN;\r
+2082;No;EN;\r
+2083;No;EN;\r
+2084;No;EN;\r
+2085;No;EN;\r
+2086;No;EN;\r
+2087;No;EN;\r
+2088;No;EN;\r
+2089;No;EN;\r
+208A;Sm;ET;\r
+208B;Sm;ET;\r
+208C;Sm;ON;\r
+208D;Ps;ON;\r
+208E;Pe;ON;\r
+20A0;Sc;ET;\r
+20A1;Sc;ET;\r
+20A2;Sc;ET;\r
+20A3;Sc;ET;\r
+20A4;Sc;ET;\r
+20A5;Sc;ET;\r
+20A6;Sc;ET;\r
+20A7;Sc;ET;\r
+20A8;Sc;ET;\r
+20A9;Sc;ET;\r
+20AA;Sc;ET;\r
+20AB;Sc;ET;\r
+20AC;Sc;ET;\r
+20AD;Sc;ET;\r
+20AE;Sc;ET;\r
+20AF;Sc;ET;\r
+20D0;Mn;NSM;\r
+20D1;Mn;NSM;\r
+20D2;Mn;NSM;\r
+20D3;Mn;NSM;\r
+20D4;Mn;NSM;\r
+20D5;Mn;NSM;\r
+20D6;Mn;NSM;\r
+20D7;Mn;NSM;\r
+20D8;Mn;NSM;\r
+20D9;Mn;NSM;\r
+20DA;Mn;NSM;\r
+20DB;Mn;NSM;\r
+20DC;Mn;NSM;\r
+20DD;Me;NSM;\r
+20DE;Me;NSM;\r
+20DF;Me;NSM;\r
+20E0;Me;NSM;\r
+20E1;Mn;NSM;\r
+20E2;Me;NSM;\r
+20E3;Me;NSM;\r
+2100;So;ON;\r
+2101;So;ON;\r
+2102;Lu;L;\r
+2103;So;ON;\r
+2104;So;ON;\r
+2105;So;ON;\r
+2106;So;ON;\r
+2107;Lu;L;\r
+2108;So;ON;\r
+2109;So;ON;\r
+210A;Ll;L;\r
+210B;Lu;L;\r
+210C;Lu;L;\r
+210D;Lu;L;\r
+210E;Ll;L;\r
+210F;Ll;L;\r
+2110;Lu;L;\r
+2111;Lu;L;\r
+2112;Lu;L;\r
+2113;Ll;L;\r
+2114;So;ON;\r
+2115;Lu;L;\r
+2116;So;ON;\r
+2117;So;ON;\r
+2118;So;ON;\r
+2119;Lu;L;\r
+211A;Lu;L;\r
+211B;Lu;L;\r
+211C;Lu;L;\r
+211D;Lu;L;\r
+211E;So;ON;\r
+211F;So;ON;\r
+2120;So;ON;\r
+2121;So;ON;\r
+2122;So;ON;\r
+2123;So;ON;\r
+2124;Lu;L;\r
+2125;So;ON;\r
+2126;Lu;L;\r
+2127;So;ON;\r
+2128;Lu;L;\r
+2129;So;ON;\r
+212A;Lu;L;\r
+212B;Lu;L;\r
+212C;Lu;L;\r
+212D;Lu;L;\r
+212E;So;ET;\r
+212F;Ll;L;\r
+2130;Lu;L;\r
+2131;Lu;L;\r
+2132;So;ON;\r
+2133;Lu;L;\r
+2134;Ll;L;\r
+2135;Lo;L;\r
+2136;Lo;L;\r
+2137;Lo;L;\r
+2138;Lo;L;\r
+2139;Ll;L;\r
+213A;So;ON;\r
+2153;No;ON;\r
+2154;No;ON;\r
+2155;No;ON;\r
+2156;No;ON;\r
+2157;No;ON;\r
+2158;No;ON;\r
+2159;No;ON;\r
+215A;No;ON;\r
+215B;No;ON;\r
+215C;No;ON;\r
+215D;No;ON;\r
+215E;No;ON;\r
+215F;No;ON;\r
+2160;Nl;L;\r
+2161;Nl;L;\r
+2162;Nl;L;\r
+2163;Nl;L;\r
+2164;Nl;L;\r
+2165;Nl;L;\r
+2166;Nl;L;\r
+2167;Nl;L;\r
+2168;Nl;L;\r
+2169;Nl;L;\r
+216A;Nl;L;\r
+216B;Nl;L;\r
+216C;Nl;L;\r
+216D;Nl;L;\r
+216E;Nl;L;\r
+216F;Nl;L;\r
+2170;Nl;L;\r
+2171;Nl;L;\r
+2172;Nl;L;\r
+2173;Nl;L;\r
+2174;Nl;L;\r
+2175;Nl;L;\r
+2176;Nl;L;\r
+2177;Nl;L;\r
+2178;Nl;L;\r
+2179;Nl;L;\r
+217A;Nl;L;\r
+217B;Nl;L;\r
+217C;Nl;L;\r
+217D;Nl;L;\r
+217E;Nl;L;\r
+217F;Nl;L;\r
+2180;Nl;L;\r
+2181;Nl;L;\r
+2182;Nl;L;\r
+2183;Nl;L;\r
+2190;Sm;ON;\r
+2191;Sm;ON;\r
+2192;Sm;ON;\r
+2193;Sm;ON;\r
+2194;Sm;ON;\r
+2195;So;ON;\r
+2196;So;ON;\r
+2197;So;ON;\r
+2198;So;ON;\r
+2199;So;ON;\r
+219A;Sm;ON;\r
+219B;Sm;ON;\r
+219C;So;ON;\r
+219D;So;ON;\r
+219E;So;ON;\r
+219F;So;ON;\r
+21A0;Sm;ON;\r
+21A1;So;ON;\r
+21A2;So;ON;\r
+21A3;Sm;ON;\r
+21A4;So;ON;\r
+21A5;So;ON;\r
+21A6;Sm;ON;\r
+21A7;So;ON;\r
+21A8;So;ON;\r
+21A9;So;ON;\r
+21AA;So;ON;\r
+21AB;So;ON;\r
+21AC;So;ON;\r
+21AD;So;ON;\r
+21AE;Sm;ON;\r
+21AF;So;ON;\r
+21B0;So;ON;\r
+21B1;So;ON;\r
+21B2;So;ON;\r
+21B3;So;ON;\r
+21B4;So;ON;\r
+21B5;So;ON;\r
+21B6;So;ON;\r
+21B7;So;ON;\r
+21B8;So;ON;\r
+21B9;So;ON;\r
+21BA;So;ON;\r
+21BB;So;ON;\r
+21BC;So;ON;\r
+21BD;So;ON;\r
+21BE;So;ON;\r
+21BF;So;ON;\r
+21C0;So;ON;\r
+21C1;So;ON;\r
+21C2;So;ON;\r
+21C3;So;ON;\r
+21C4;So;ON;\r
+21C5;So;ON;\r
+21C6;So;ON;\r
+21C7;So;ON;\r
+21C8;So;ON;\r
+21C9;So;ON;\r
+21CA;So;ON;\r
+21CB;So;ON;\r
+21CC;So;ON;\r
+21CD;So;ON;\r
+21CE;Sm;ON;\r
+21CF;Sm;ON;\r
+21D0;So;ON;\r
+21D1;So;ON;\r
+21D2;Sm;ON;\r
+21D3;So;ON;\r
+21D4;Sm;ON;\r
+21D5;So;ON;\r
+21D6;So;ON;\r
+21D7;So;ON;\r
+21D8;So;ON;\r
+21D9;So;ON;\r
+21DA;So;ON;\r
+21DB;So;ON;\r
+21DC;So;ON;\r
+21DD;So;ON;\r
+21DE;So;ON;\r
+21DF;So;ON;\r
+21E0;So;ON;\r
+21E1;So;ON;\r
+21E2;So;ON;\r
+21E3;So;ON;\r
+21E4;So;ON;\r
+21E5;So;ON;\r
+21E6;So;ON;\r
+21E7;So;ON;\r
+21E8;So;ON;\r
+21E9;So;ON;\r
+21EA;So;ON;\r
+21EB;So;ON;\r
+21EC;So;ON;\r
+21ED;So;ON;\r
+21EE;So;ON;\r
+21EF;So;ON;\r
+21F0;So;ON;\r
+21F1;So;ON;\r
+21F2;So;ON;\r
+21F3;So;ON;\r
+2200;Sm;ON;\r
+2201;Sm;ON;\r
+2202;Sm;ON;\r
+2203;Sm;ON;\r
+2204;Sm;ON;\r
+2205;Sm;ON;\r
+2206;Sm;ON;\r
+2207;Sm;ON;\r
+2208;Sm;ON;\r
+2209;Sm;ON;\r
+220A;Sm;ON;\r
+220B;Sm;ON;\r
+220C;Sm;ON;\r
+220D;Sm;ON;\r
+220E;Sm;ON;\r
+220F;Sm;ON;\r
+2210;Sm;ON;\r
+2211;Sm;ON;\r
+2212;Sm;ET;\r
+2213;Sm;ET;\r
+2214;Sm;ON;\r
+2215;Sm;ON;\r
+2216;Sm;ON;\r
+2217;Sm;ON;\r
+2218;Sm;ON;\r
+2219;Sm;ON;\r
+221A;Sm;ON;\r
+221B;Sm;ON;\r
+221C;Sm;ON;\r
+221D;Sm;ON;\r
+221E;Sm;ON;\r
+221F;Sm;ON;\r
+2220;Sm;ON;\r
+2221;Sm;ON;\r
+2222;Sm;ON;\r
+2223;Sm;ON;\r
+2224;Sm;ON;\r
+2225;Sm;ON;\r
+2226;Sm;ON;\r
+2227;Sm;ON;\r
+2228;Sm;ON;\r
+2229;Sm;ON;\r
+222A;Sm;ON;\r
+222B;Sm;ON;\r
+222C;Sm;ON;\r
+222D;Sm;ON;\r
+222E;Sm;ON;\r
+222F;Sm;ON;\r
+2230;Sm;ON;\r
+2231;Sm;ON;\r
+2232;Sm;ON;\r
+2233;Sm;ON;\r
+2234;Sm;ON;\r
+2235;Sm;ON;\r
+2236;Sm;ON;\r
+2237;Sm;ON;\r
+2238;Sm;ON;\r
+2239;Sm;ON;\r
+223A;Sm;ON;\r
+223B;Sm;ON;\r
+223C;Sm;ON;\r
+223D;Sm;ON;\r
+223E;Sm;ON;\r
+223F;Sm;ON;\r
+2240;Sm;ON;\r
+2241;Sm;ON;\r
+2242;Sm;ON;\r
+2243;Sm;ON;\r
+2244;Sm;ON;\r
+2245;Sm;ON;\r
+2246;Sm;ON;\r
+2247;Sm;ON;\r
+2248;Sm;ON;\r
+2249;Sm;ON;\r
+224A;Sm;ON;\r
+224B;Sm;ON;\r
+224C;Sm;ON;\r
+224D;Sm;ON;\r
+224E;Sm;ON;\r
+224F;Sm;ON;\r
+2250;Sm;ON;\r
+2251;Sm;ON;\r
+2252;Sm;ON;\r
+2253;Sm;ON;\r
+2254;Sm;ON;\r
+2255;Sm;ON;\r
+2256;Sm;ON;\r
+2257;Sm;ON;\r
+2258;Sm;ON;\r
+2259;Sm;ON;\r
+225A;Sm;ON;\r
+225B;Sm;ON;\r
+225C;Sm;ON;\r
+225D;Sm;ON;\r
+225E;Sm;ON;\r
+225F;Sm;ON;\r
+2260;Sm;ON;\r
+2261;Sm;ON;\r
+2262;Sm;ON;\r
+2263;Sm;ON;\r
+2264;Sm;ON;\r
+2265;Sm;ON;\r
+2266;Sm;ON;\r
+2267;Sm;ON;\r
+2268;Sm;ON;\r
+2269;Sm;ON;\r
+226A;Sm;ON;\r
+226B;Sm;ON;\r
+226C;Sm;ON;\r
+226D;Sm;ON;\r
+226E;Sm;ON;\r
+226F;Sm;ON;\r
+2270;Sm;ON;\r
+2271;Sm;ON;\r
+2272;Sm;ON;\r
+2273;Sm;ON;\r
+2274;Sm;ON;\r
+2275;Sm;ON;\r
+2276;Sm;ON;\r
+2277;Sm;ON;\r
+2278;Sm;ON;\r
+2279;Sm;ON;\r
+227A;Sm;ON;\r
+227B;Sm;ON;\r
+227C;Sm;ON;\r
+227D;Sm;ON;\r
+227E;Sm;ON;\r
+227F;Sm;ON;\r
+2280;Sm;ON;\r
+2281;Sm;ON;\r
+2282;Sm;ON;\r
+2283;Sm;ON;\r
+2284;Sm;ON;\r
+2285;Sm;ON;\r
+2286;Sm;ON;\r
+2287;Sm;ON;\r
+2288;Sm;ON;\r
+2289;Sm;ON;\r
+228A;Sm;ON;\r
+228B;Sm;ON;\r
+228C;Sm;ON;\r
+228D;Sm;ON;\r
+228E;Sm;ON;\r
+228F;Sm;ON;\r
+2290;Sm;ON;\r
+2291;Sm;ON;\r
+2292;Sm;ON;\r
+2293;Sm;ON;\r
+2294;Sm;ON;\r
+2295;Sm;ON;\r
+2296;Sm;ON;\r
+2297;Sm;ON;\r
+2298;Sm;ON;\r
+2299;Sm;ON;\r
+229A;Sm;ON;\r
+229B;Sm;ON;\r
+229C;Sm;ON;\r
+229D;Sm;ON;\r
+229E;Sm;ON;\r
+229F;Sm;ON;\r
+22A0;Sm;ON;\r
+22A1;Sm;ON;\r
+22A2;Sm;ON;\r
+22A3;Sm;ON;\r
+22A4;Sm;ON;\r
+22A5;Sm;ON;\r
+22A6;Sm;ON;\r
+22A7;Sm;ON;\r
+22A8;Sm;ON;\r
+22A9;Sm;ON;\r
+22AA;Sm;ON;\r
+22AB;Sm;ON;\r
+22AC;Sm;ON;\r
+22AD;Sm;ON;\r
+22AE;Sm;ON;\r
+22AF;Sm;ON;\r
+22B0;Sm;ON;\r
+22B1;Sm;ON;\r
+22B2;Sm;ON;\r
+22B3;Sm;ON;\r
+22B4;Sm;ON;\r
+22B5;Sm;ON;\r
+22B6;Sm;ON;\r
+22B7;Sm;ON;\r
+22B8;Sm;ON;\r
+22B9;Sm;ON;\r
+22BA;Sm;ON;\r
+22BB;Sm;ON;\r
+22BC;Sm;ON;\r
+22BD;Sm;ON;\r
+22BE;Sm;ON;\r
+22BF;Sm;ON;\r
+22C0;Sm;ON;\r
+22C1;Sm;ON;\r
+22C2;Sm;ON;\r
+22C3;Sm;ON;\r
+22C4;Sm;ON;\r
+22C5;Sm;ON;\r
+22C6;Sm;ON;\r
+22C7;Sm;ON;\r
+22C8;Sm;ON;\r
+22C9;Sm;ON;\r
+22CA;Sm;ON;\r
+22CB;Sm;ON;\r
+22CC;Sm;ON;\r
+22CD;Sm;ON;\r
+22CE;Sm;ON;\r
+22CF;Sm;ON;\r
+22D0;Sm;ON;\r
+22D1;Sm;ON;\r
+22D2;Sm;ON;\r
+22D3;Sm;ON;\r
+22D4;Sm;ON;\r
+22D5;Sm;ON;\r
+22D6;Sm;ON;\r
+22D7;Sm;ON;\r
+22D8;Sm;ON;\r
+22D9;Sm;ON;\r
+22DA;Sm;ON;\r
+22DB;Sm;ON;\r
+22DC;Sm;ON;\r
+22DD;Sm;ON;\r
+22DE;Sm;ON;\r
+22DF;Sm;ON;\r
+22E0;Sm;ON;\r
+22E1;Sm;ON;\r
+22E2;Sm;ON;\r
+22E3;Sm;ON;\r
+22E4;Sm;ON;\r
+22E5;Sm;ON;\r
+22E6;Sm;ON;\r
+22E7;Sm;ON;\r
+22E8;Sm;ON;\r
+22E9;Sm;ON;\r
+22EA;Sm;ON;\r
+22EB;Sm;ON;\r
+22EC;Sm;ON;\r
+22ED;Sm;ON;\r
+22EE;Sm;ON;\r
+22EF;Sm;ON;\r
+22F0;Sm;ON;\r
+22F1;Sm;ON;\r
+2300;So;ON;\r
+2301;So;ON;\r
+2302;So;ON;\r
+2303;So;ON;\r
+2304;So;ON;\r
+2305;So;ON;\r
+2306;So;ON;\r
+2307;So;ON;\r
+2308;Sm;ON;\r
+2309;Sm;ON;\r
+230A;Sm;ON;\r
+230B;Sm;ON;\r
+230C;So;ON;\r
+230D;So;ON;\r
+230E;So;ON;\r
+230F;So;ON;\r
+2310;So;ON;\r
+2311;So;ON;\r
+2312;So;ON;\r
+2313;So;ON;\r
+2314;So;ON;\r
+2315;So;ON;\r
+2316;So;ON;\r
+2317;So;ON;\r
+2318;So;ON;\r
+2319;So;ON;\r
+231A;So;ON;\r
+231B;So;ON;\r
+231C;So;ON;\r
+231D;So;ON;\r
+231E;So;ON;\r
+231F;So;ON;\r
+2320;Sm;ON;\r
+2321;Sm;ON;\r
+2322;So;ON;\r
+2323;So;ON;\r
+2324;So;ON;\r
+2325;So;ON;\r
+2326;So;ON;\r
+2327;So;ON;\r
+2328;So;ON;\r
+2329;Ps;ON;\r
+232A;Pe;ON;\r
+232B;So;ON;\r
+232C;So;ON;\r
+232D;So;ON;\r
+232E;So;ON;\r
+232F;So;ON;\r
+2330;So;ON;\r
+2331;So;ON;\r
+2332;So;ON;\r
+2333;So;ON;\r
+2334;So;ON;\r
+2335;So;ON;\r
+2336;So;L;\r
+2337;So;L;\r
+2338;So;L;\r
+2339;So;L;\r
+233A;So;L;\r
+233B;So;L;\r
+233C;So;L;\r
+233D;So;L;\r
+233E;So;L;\r
+233F;So;L;\r
+2340;So;L;\r
+2341;So;L;\r
+2342;So;L;\r
+2343;So;L;\r
+2344;So;L;\r
+2345;So;L;\r
+2346;So;L;\r
+2347;So;L;\r
+2348;So;L;\r
+2349;So;L;\r
+234A;So;L;\r
+234B;So;L;\r
+234C;So;L;\r
+234D;So;L;\r
+234E;So;L;\r
+234F;So;L;\r
+2350;So;L;\r
+2351;So;L;\r
+2352;So;L;\r
+2353;So;L;\r
+2354;So;L;\r
+2355;So;L;\r
+2356;So;L;\r
+2357;So;L;\r
+2358;So;L;\r
+2359;So;L;\r
+235A;So;L;\r
+235B;So;L;\r
+235C;So;L;\r
+235D;So;L;\r
+235E;So;L;\r
+235F;So;L;\r
+2360;So;L;\r
+2361;So;L;\r
+2362;So;L;\r
+2363;So;L;\r
+2364;So;L;\r
+2365;So;L;\r
+2366;So;L;\r
+2367;So;L;\r
+2368;So;L;\r
+2369;So;L;\r
+236A;So;L;\r
+236B;So;L;\r
+236C;So;L;\r
+236D;So;L;\r
+236E;So;L;\r
+236F;So;L;\r
+2370;So;L;\r
+2371;So;L;\r
+2372;So;L;\r
+2373;So;L;\r
+2374;So;L;\r
+2375;So;L;\r
+2376;So;L;\r
+2377;So;L;\r
+2378;So;L;\r
+2379;So;L;\r
+237A;So;L;\r
+237B;So;ON;\r
+237D;So;ON;\r
+237E;So;ON;\r
+237F;So;ON;\r
+2380;So;ON;\r
+2381;So;ON;\r
+2382;So;ON;\r
+2383;So;ON;\r
+2384;So;ON;\r
+2385;So;ON;\r
+2386;So;ON;\r
+2387;So;ON;\r
+2388;So;ON;\r
+2389;So;ON;\r
+238A;So;ON;\r
+238B;So;ON;\r
+238C;So;ON;\r
+238D;So;ON;\r
+238E;So;ON;\r
+238F;So;ON;\r
+2390;So;ON;\r
+2391;So;ON;\r
+2392;So;ON;\r
+2393;So;ON;\r
+2394;So;ON;\r
+2395;So;L;\r
+2396;So;ON;\r
+2397;So;ON;\r
+2398;So;ON;\r
+2399;So;ON;\r
+239A;So;ON;\r
+2400;So;ON;\r
+2401;So;ON;\r
+2402;So;ON;\r
+2403;So;ON;\r
+2404;So;ON;\r
+2405;So;ON;\r
+2406;So;ON;\r
+2407;So;ON;\r
+2408;So;ON;\r
+2409;So;ON;\r
+240A;So;ON;\r
+240B;So;ON;\r
+240C;So;ON;\r
+240D;So;ON;\r
+240E;So;ON;\r
+240F;So;ON;\r
+2410;So;ON;\r
+2411;So;ON;\r
+2412;So;ON;\r
+2413;So;ON;\r
+2414;So;ON;\r
+2415;So;ON;\r
+2416;So;ON;\r
+2417;So;ON;\r
+2418;So;ON;\r
+2419;So;ON;\r
+241A;So;ON;\r
+241B;So;ON;\r
+241C;So;ON;\r
+241D;So;ON;\r
+241E;So;ON;\r
+241F;So;ON;\r
+2420;So;ON;\r
+2421;So;ON;\r
+2422;So;ON;\r
+2423;So;ON;\r
+2424;So;ON;\r
+2425;So;ON;\r
+2426;So;ON;\r
+2440;So;ON;\r
+2441;So;ON;\r
+2442;So;ON;\r
+2443;So;ON;\r
+2444;So;ON;\r
+2445;So;ON;\r
+2446;So;ON;\r
+2447;So;ON;\r
+2448;So;ON;\r
+2449;So;ON;\r
+244A;So;ON;\r
+2460;No;EN;\r
+2461;No;EN;\r
+2462;No;EN;\r
+2463;No;EN;\r
+2464;No;EN;\r
+2465;No;EN;\r
+2466;No;EN;\r
+2467;No;EN;\r
+2468;No;EN;\r
+2469;No;EN;\r
+246A;No;EN;\r
+246B;No;EN;\r
+246C;No;EN;\r
+246D;No;EN;\r
+246E;No;EN;\r
+246F;No;EN;\r
+2470;No;EN;\r
+2471;No;EN;\r
+2472;No;EN;\r
+2473;No;EN;\r
+2474;No;EN;\r
+2475;No;EN;\r
+2476;No;EN;\r
+2477;No;EN;\r
+2478;No;EN;\r
+2479;No;EN;\r
+247A;No;EN;\r
+247B;No;EN;\r
+247C;No;EN;\r
+247D;No;EN;\r
+247E;No;EN;\r
+247F;No;EN;\r
+2480;No;EN;\r
+2481;No;EN;\r
+2482;No;EN;\r
+2483;No;EN;\r
+2484;No;EN;\r
+2485;No;EN;\r
+2486;No;EN;\r
+2487;No;EN;\r
+2488;No;EN;\r
+2489;No;EN;\r
+248A;No;EN;\r
+248B;No;EN;\r
+248C;No;EN;\r
+248D;No;EN;\r
+248E;No;EN;\r
+248F;No;EN;\r
+2490;No;EN;\r
+2491;No;EN;\r
+2492;No;EN;\r
+2493;No;EN;\r
+2494;No;EN;\r
+2495;No;EN;\r
+2496;No;EN;\r
+2497;No;EN;\r
+2498;No;EN;\r
+2499;No;EN;\r
+249A;No;EN;\r
+249B;No;EN;\r
+249C;So;L;\r
+249D;So;L;\r
+249E;So;L;\r
+249F;So;L;\r
+24A0;So;L;\r
+24A1;So;L;\r
+24A2;So;L;\r
+24A3;So;L;\r
+24A4;So;L;\r
+24A5;So;L;\r
+24A6;So;L;\r
+24A7;So;L;\r
+24A8;So;L;\r
+24A9;So;L;\r
+24AA;So;L;\r
+24AB;So;L;\r
+24AC;So;L;\r
+24AD;So;L;\r
+24AE;So;L;\r
+24AF;So;L;\r
+24B0;So;L;\r
+24B1;So;L;\r
+24B2;So;L;\r
+24B3;So;L;\r
+24B4;So;L;\r
+24B5;So;L;\r
+24B6;So;L;\r
+24B7;So;L;\r
+24B8;So;L;\r
+24B9;So;L;\r
+24BA;So;L;\r
+24BB;So;L;\r
+24BC;So;L;\r
+24BD;So;L;\r
+24BE;So;L;\r
+24BF;So;L;\r
+24C0;So;L;\r
+24C1;So;L;\r
+24C2;So;L;\r
+24C3;So;L;\r
+24C4;So;L;\r
+24C5;So;L;\r
+24C6;So;L;\r
+24C7;So;L;\r
+24C8;So;L;\r
+24C9;So;L;\r
+24CA;So;L;\r
+24CB;So;L;\r
+24CC;So;L;\r
+24CD;So;L;\r
+24CE;So;L;\r
+24CF;So;L;\r
+24D0;So;L;\r
+24D1;So;L;\r
+24D2;So;L;\r
+24D3;So;L;\r
+24D4;So;L;\r
+24D5;So;L;\r
+24D6;So;L;\r
+24D7;So;L;\r
+24D8;So;L;\r
+24D9;So;L;\r
+24DA;So;L;\r
+24DB;So;L;\r
+24DC;So;L;\r
+24DD;So;L;\r
+24DE;So;L;\r
+24DF;So;L;\r
+24E0;So;L;\r
+24E1;So;L;\r
+24E2;So;L;\r
+24E3;So;L;\r
+24E4;So;L;\r
+24E5;So;L;\r
+24E6;So;L;\r
+24E7;So;L;\r
+24E8;So;L;\r
+24E9;So;L;\r
+24EA;No;EN;\r
+2500;So;ON;\r
+2501;So;ON;\r
+2502;So;ON;\r
+2503;So;ON;\r
+2504;So;ON;\r
+2505;So;ON;\r
+2506;So;ON;\r
+2507;So;ON;\r
+2508;So;ON;\r
+2509;So;ON;\r
+250A;So;ON;\r
+250B;So;ON;\r
+250C;So;ON;\r
+250D;So;ON;\r
+250E;So;ON;\r
+250F;So;ON;\r
+2510;So;ON;\r
+2511;So;ON;\r
+2512;So;ON;\r
+2513;So;ON;\r
+2514;So;ON;\r
+2515;So;ON;\r
+2516;So;ON;\r
+2517;So;ON;\r
+2518;So;ON;\r
+2519;So;ON;\r
+251A;So;ON;\r
+251B;So;ON;\r
+251C;So;ON;\r
+251D;So;ON;\r
+251E;So;ON;\r
+251F;So;ON;\r
+2520;So;ON;\r
+2521;So;ON;\r
+2522;So;ON;\r
+2523;So;ON;\r
+2524;So;ON;\r
+2525;So;ON;\r
+2526;So;ON;\r
+2527;So;ON;\r
+2528;So;ON;\r
+2529;So;ON;\r
+252A;So;ON;\r
+252B;So;ON;\r
+252C;So;ON;\r
+252D;So;ON;\r
+252E;So;ON;\r
+252F;So;ON;\r
+2530;So;ON;\r
+2531;So;ON;\r
+2532;So;ON;\r
+2533;So;ON;\r
+2534;So;ON;\r
+2535;So;ON;\r
+2536;So;ON;\r
+2537;So;ON;\r
+2538;So;ON;\r
+2539;So;ON;\r
+253A;So;ON;\r
+253B;So;ON;\r
+253C;So;ON;\r
+253D;So;ON;\r
+253E;So;ON;\r
+253F;So;ON;\r
+2540;So;ON;\r
+2541;So;ON;\r
+2542;So;ON;\r
+2543;So;ON;\r
+2544;So;ON;\r
+2545;So;ON;\r
+2546;So;ON;\r
+2547;So;ON;\r
+2548;So;ON;\r
+2549;So;ON;\r
+254A;So;ON;\r
+254B;So;ON;\r
+254C;So;ON;\r
+254D;So;ON;\r
+254E;So;ON;\r
+254F;So;ON;\r
+2550;So;ON;\r
+2551;So;ON;\r
+2552;So;ON;\r
+2553;So;ON;\r
+2554;So;ON;\r
+2555;So;ON;\r
+2556;So;ON;\r
+2557;So;ON;\r
+2558;So;ON;\r
+2559;So;ON;\r
+255A;So;ON;\r
+255B;So;ON;\r
+255C;So;ON;\r
+255D;So;ON;\r
+255E;So;ON;\r
+255F;So;ON;\r
+2560;So;ON;\r
+2561;So;ON;\r
+2562;So;ON;\r
+2563;So;ON;\r
+2564;So;ON;\r
+2565;So;ON;\r
+2566;So;ON;\r
+2567;So;ON;\r
+2568;So;ON;\r
+2569;So;ON;\r
+256A;So;ON;\r
+256B;So;ON;\r
+256C;So;ON;\r
+256D;So;ON;\r
+256E;So;ON;\r
+256F;So;ON;\r
+2570;So;ON;\r
+2571;So;ON;\r
+2572;So;ON;\r
+2573;So;ON;\r
+2574;So;ON;\r
+2575;So;ON;\r
+2576;So;ON;\r
+2577;So;ON;\r
+2578;So;ON;\r
+2579;So;ON;\r
+257A;So;ON;\r
+257B;So;ON;\r
+257C;So;ON;\r
+257D;So;ON;\r
+257E;So;ON;\r
+257F;So;ON;\r
+2580;So;ON;\r
+2581;So;ON;\r
+2582;So;ON;\r
+2583;So;ON;\r
+2584;So;ON;\r
+2585;So;ON;\r
+2586;So;ON;\r
+2587;So;ON;\r
+2588;So;ON;\r
+2589;So;ON;\r
+258A;So;ON;\r
+258B;So;ON;\r
+258C;So;ON;\r
+258D;So;ON;\r
+258E;So;ON;\r
+258F;So;ON;\r
+2590;So;ON;\r
+2591;So;ON;\r
+2592;So;ON;\r
+2593;So;ON;\r
+2594;So;ON;\r
+2595;So;ON;\r
+25A0;So;ON;\r
+25A1;So;ON;\r
+25A2;So;ON;\r
+25A3;So;ON;\r
+25A4;So;ON;\r
+25A5;So;ON;\r
+25A6;So;ON;\r
+25A7;So;ON;\r
+25A8;So;ON;\r
+25A9;So;ON;\r
+25AA;So;ON;\r
+25AB;So;ON;\r
+25AC;So;ON;\r
+25AD;So;ON;\r
+25AE;So;ON;\r
+25AF;So;ON;\r
+25B0;So;ON;\r
+25B1;So;ON;\r
+25B2;So;ON;\r
+25B3;So;ON;\r
+25B4;So;ON;\r
+25B5;So;ON;\r
+25B6;So;ON;\r
+25B7;Sm;ON;\r
+25B8;So;ON;\r
+25B9;So;ON;\r
+25BA;So;ON;\r
+25BB;So;ON;\r
+25BC;So;ON;\r
+25BD;So;ON;\r
+25BE;So;ON;\r
+25BF;So;ON;\r
+25C0;So;ON;\r
+25C1;Sm;ON;\r
+25C2;So;ON;\r
+25C3;So;ON;\r
+25C4;So;ON;\r
+25C5;So;ON;\r
+25C6;So;ON;\r
+25C7;So;ON;\r
+25C8;So;ON;\r
+25C9;So;ON;\r
+25CA;So;ON;\r
+25CB;So;ON;\r
+25CC;So;ON;\r
+25CD;So;ON;\r
+25CE;So;ON;\r
+25CF;So;ON;\r
+25D0;So;ON;\r
+25D1;So;ON;\r
+25D2;So;ON;\r
+25D3;So;ON;\r
+25D4;So;ON;\r
+25D5;So;ON;\r
+25D6;So;ON;\r
+25D7;So;ON;\r
+25D8;So;ON;\r
+25D9;So;ON;\r
+25DA;So;ON;\r
+25DB;So;ON;\r
+25DC;So;ON;\r
+25DD;So;ON;\r
+25DE;So;ON;\r
+25DF;So;ON;\r
+25E0;So;ON;\r
+25E1;So;ON;\r
+25E2;So;ON;\r
+25E3;So;ON;\r
+25E4;So;ON;\r
+25E5;So;ON;\r
+25E6;So;ON;\r
+25E7;So;ON;\r
+25E8;So;ON;\r
+25E9;So;ON;\r
+25EA;So;ON;\r
+25EB;So;ON;\r
+25EC;So;ON;\r
+25ED;So;ON;\r
+25EE;So;ON;\r
+25EF;So;ON;\r
+25F0;So;ON;\r
+25F1;So;ON;\r
+25F2;So;ON;\r
+25F3;So;ON;\r
+25F4;So;ON;\r
+25F5;So;ON;\r
+25F6;So;ON;\r
+25F7;So;ON;\r
+2600;So;ON;\r
+2601;So;ON;\r
+2602;So;ON;\r
+2603;So;ON;\r
+2604;So;ON;\r
+2605;So;ON;\r
+2606;So;ON;\r
+2607;So;ON;\r
+2608;So;ON;\r
+2609;So;ON;\r
+260A;So;ON;\r
+260B;So;ON;\r
+260C;So;ON;\r
+260D;So;ON;\r
+260E;So;ON;\r
+260F;So;ON;\r
+2610;So;ON;\r
+2611;So;ON;\r
+2612;So;ON;\r
+2613;So;ON;\r
+2619;So;ON;\r
+261A;So;ON;\r
+261B;So;ON;\r
+261C;So;ON;\r
+261D;So;ON;\r
+261E;So;ON;\r
+261F;So;ON;\r
+2620;So;ON;\r
+2621;So;ON;\r
+2622;So;ON;\r
+2623;So;ON;\r
+2624;So;ON;\r
+2625;So;ON;\r
+2626;So;ON;\r
+2627;So;ON;\r
+2628;So;ON;\r
+2629;So;ON;\r
+262A;So;ON;\r
+262B;So;ON;\r
+262C;So;ON;\r
+262D;So;ON;\r
+262E;So;ON;\r
+262F;So;ON;\r
+2630;So;ON;\r
+2631;So;ON;\r
+2632;So;ON;\r
+2633;So;ON;\r
+2634;So;ON;\r
+2635;So;ON;\r
+2636;So;ON;\r
+2637;So;ON;\r
+2638;So;ON;\r
+2639;So;ON;\r
+263A;So;ON;\r
+263B;So;ON;\r
+263C;So;ON;\r
+263D;So;ON;\r
+263E;So;ON;\r
+263F;So;ON;\r
+2640;So;ON;\r
+2641;So;ON;\r
+2642;So;ON;\r
+2643;So;ON;\r
+2644;So;ON;\r
+2645;So;ON;\r
+2646;So;ON;\r
+2647;So;ON;\r
+2648;So;ON;\r
+2649;So;ON;\r
+264A;So;ON;\r
+264B;So;ON;\r
+264C;So;ON;\r
+264D;So;ON;\r
+264E;So;ON;\r
+264F;So;ON;\r
+2650;So;ON;\r
+2651;So;ON;\r
+2652;So;ON;\r
+2653;So;ON;\r
+2654;So;ON;\r
+2655;So;ON;\r
+2656;So;ON;\r
+2657;So;ON;\r
+2658;So;ON;\r
+2659;So;ON;\r
+265A;So;ON;\r
+265B;So;ON;\r
+265C;So;ON;\r
+265D;So;ON;\r
+265E;So;ON;\r
+265F;So;ON;\r
+2660;So;ON;\r
+2661;So;ON;\r
+2662;So;ON;\r
+2663;So;ON;\r
+2664;So;ON;\r
+2665;So;ON;\r
+2666;So;ON;\r
+2667;So;ON;\r
+2668;So;ON;\r
+2669;So;ON;\r
+266A;So;ON;\r
+266B;So;ON;\r
+266C;So;ON;\r
+266D;So;ON;\r
+266E;So;ON;\r
+266F;Sm;ON;\r
+2670;So;ON;\r
+2671;So;ON;\r
+2701;So;ON;\r
+2702;So;ON;\r
+2703;So;ON;\r
+2704;So;ON;\r
+2706;So;ON;\r
+2707;So;ON;\r
+2708;So;ON;\r
+2709;So;ON;\r
+270C;So;ON;\r
+270D;So;ON;\r
+270E;So;ON;\r
+270F;So;ON;\r
+2710;So;ON;\r
+2711;So;ON;\r
+2712;So;ON;\r
+2713;So;ON;\r
+2714;So;ON;\r
+2715;So;ON;\r
+2716;So;ON;\r
+2717;So;ON;\r
+2718;So;ON;\r
+2719;So;ON;\r
+271A;So;ON;\r
+271B;So;ON;\r
+271C;So;ON;\r
+271D;So;ON;\r
+271E;So;ON;\r
+271F;So;ON;\r
+2720;So;ON;\r
+2721;So;ON;\r
+2722;So;ON;\r
+2723;So;ON;\r
+2724;So;ON;\r
+2725;So;ON;\r
+2726;So;ON;\r
+2727;So;ON;\r
+2729;So;ON;\r
+272A;So;ON;\r
+272B;So;ON;\r
+272C;So;ON;\r
+272D;So;ON;\r
+272E;So;ON;\r
+272F;So;ON;\r
+2730;So;ON;\r
+2731;So;ON;\r
+2732;So;ON;\r
+2733;So;ON;\r
+2734;So;ON;\r
+2735;So;ON;\r
+2736;So;ON;\r
+2737;So;ON;\r
+2738;So;ON;\r
+2739;So;ON;\r
+273A;So;ON;\r
+273B;So;ON;\r
+273C;So;ON;\r
+273D;So;ON;\r
+273E;So;ON;\r
+273F;So;ON;\r
+2740;So;ON;\r
+2741;So;ON;\r
+2742;So;ON;\r
+2743;So;ON;\r
+2744;So;ON;\r
+2745;So;ON;\r
+2746;So;ON;\r
+2747;So;ON;\r
+2748;So;ON;\r
+2749;So;ON;\r
+274A;So;ON;\r
+274B;So;ON;\r
+274D;So;ON;\r
+274F;So;ON;\r
+2750;So;ON;\r
+2751;So;ON;\r
+2752;So;ON;\r
+2756;So;ON;\r
+2758;So;ON;\r
+2759;So;ON;\r
+275A;So;ON;\r
+275B;So;ON;\r
+275C;So;ON;\r
+275D;So;ON;\r
+275E;So;ON;\r
+2761;So;ON;\r
+2762;So;ON;\r
+2763;So;ON;\r
+2764;So;ON;\r
+2765;So;ON;\r
+2766;So;ON;\r
+2767;So;ON;\r
+2776;No;ON;\r
+2777;No;ON;\r
+2778;No;ON;\r
+2779;No;ON;\r
+277A;No;ON;\r
+277B;No;ON;\r
+277C;No;ON;\r
+277D;No;ON;\r
+277E;No;ON;\r
+277F;No;ON;\r
+2780;No;ON;\r
+2781;No;ON;\r
+2782;No;ON;\r
+2783;No;ON;\r
+2784;No;ON;\r
+2785;No;ON;\r
+2786;No;ON;\r
+2787;No;ON;\r
+2788;No;ON;\r
+2789;No;ON;\r
+278A;No;ON;\r
+278B;No;ON;\r
+278C;No;ON;\r
+278D;No;ON;\r
+278E;No;ON;\r
+278F;No;ON;\r
+2790;No;ON;\r
+2791;No;ON;\r
+2792;No;ON;\r
+2793;No;ON;\r
+2794;So;ON;\r
+2798;So;ON;\r
+2799;So;ON;\r
+279A;So;ON;\r
+279B;So;ON;\r
+279C;So;ON;\r
+279D;So;ON;\r
+279E;So;ON;\r
+279F;So;ON;\r
+27A0;So;ON;\r
+27A1;So;ON;\r
+27A2;So;ON;\r
+27A3;So;ON;\r
+27A4;So;ON;\r
+27A5;So;ON;\r
+27A6;So;ON;\r
+27A7;So;ON;\r
+27A8;So;ON;\r
+27A9;So;ON;\r
+27AA;So;ON;\r
+27AB;So;ON;\r
+27AC;So;ON;\r
+27AD;So;ON;\r
+27AE;So;ON;\r
+27AF;So;ON;\r
+27B1;So;ON;\r
+27B2;So;ON;\r
+27B3;So;ON;\r
+27B4;So;ON;\r
+27B5;So;ON;\r
+27B6;So;ON;\r
+27B7;So;ON;\r
+27B8;So;ON;\r
+27B9;So;ON;\r
+27BA;So;ON;\r
+27BB;So;ON;\r
+27BC;So;ON;\r
+27BD;So;ON;\r
+27BE;So;ON;\r
+2800;So;ON;\r
+2801;So;ON;\r
+2802;So;ON;\r
+2803;So;ON;\r
+2804;So;ON;\r
+2805;So;ON;\r
+2806;So;ON;\r
+2807;So;ON;\r
+2808;So;ON;\r
+2809;So;ON;\r
+280A;So;ON;\r
+280B;So;ON;\r
+280C;So;ON;\r
+280D;So;ON;\r
+280E;So;ON;\r
+280F;So;ON;\r
+2810;So;ON;\r
+2811;So;ON;\r
+2812;So;ON;\r
+2813;So;ON;\r
+2814;So;ON;\r
+2815;So;ON;\r
+2816;So;ON;\r
+2817;So;ON;\r
+2818;So;ON;\r
+2819;So;ON;\r
+281A;So;ON;\r
+281B;So;ON;\r
+281C;So;ON;\r
+281D;So;ON;\r
+281E;So;ON;\r
+281F;So;ON;\r
+2820;So;ON;\r
+2821;So;ON;\r
+2822;So;ON;\r
+2823;So;ON;\r
+2824;So;ON;\r
+2825;So;ON;\r
+2826;So;ON;\r
+2827;So;ON;\r
+2828;So;ON;\r
+2829;So;ON;\r
+282A;So;ON;\r
+282B;So;ON;\r
+282C;So;ON;\r
+282D;So;ON;\r
+282E;So;ON;\r
+282F;So;ON;\r
+2830;So;ON;\r
+2831;So;ON;\r
+2832;So;ON;\r
+2833;So;ON;\r
+2834;So;ON;\r
+2835;So;ON;\r
+2836;So;ON;\r
+2837;So;ON;\r
+2838;So;ON;\r
+2839;So;ON;\r
+283A;So;ON;\r
+283B;So;ON;\r
+283C;So;ON;\r
+283D;So;ON;\r
+283E;So;ON;\r
+283F;So;ON;\r
+2840;So;ON;\r
+2841;So;ON;\r
+2842;So;ON;\r
+2843;So;ON;\r
+2844;So;ON;\r
+2845;So;ON;\r
+2846;So;ON;\r
+2847;So;ON;\r
+2848;So;ON;\r
+2849;So;ON;\r
+284A;So;ON;\r
+284B;So;ON;\r
+284C;So;ON;\r
+284D;So;ON;\r
+284E;So;ON;\r
+284F;So;ON;\r
+2850;So;ON;\r
+2851;So;ON;\r
+2852;So;ON;\r
+2853;So;ON;\r
+2854;So;ON;\r
+2855;So;ON;\r
+2856;So;ON;\r
+2857;So;ON;\r
+2858;So;ON;\r
+2859;So;ON;\r
+285A;So;ON;\r
+285B;So;ON;\r
+285C;So;ON;\r
+285D;So;ON;\r
+285E;So;ON;\r
+285F;So;ON;\r
+2860;So;ON;\r
+2861;So;ON;\r
+2862;So;ON;\r
+2863;So;ON;\r
+2864;So;ON;\r
+2865;So;ON;\r
+2866;So;ON;\r
+2867;So;ON;\r
+2868;So;ON;\r
+2869;So;ON;\r
+286A;So;ON;\r
+286B;So;ON;\r
+286C;So;ON;\r
+286D;So;ON;\r
+286E;So;ON;\r
+286F;So;ON;\r
+2870;So;ON;\r
+2871;So;ON;\r
+2872;So;ON;\r
+2873;So;ON;\r
+2874;So;ON;\r
+2875;So;ON;\r
+2876;So;ON;\r
+2877;So;ON;\r
+2878;So;ON;\r
+2879;So;ON;\r
+287A;So;ON;\r
+287B;So;ON;\r
+287C;So;ON;\r
+287D;So;ON;\r
+287E;So;ON;\r
+287F;So;ON;\r
+2880;So;ON;\r
+2881;So;ON;\r
+2882;So;ON;\r
+2883;So;ON;\r
+2884;So;ON;\r
+2885;So;ON;\r
+2886;So;ON;\r
+2887;So;ON;\r
+2888;So;ON;\r
+2889;So;ON;\r
+288A;So;ON;\r
+288B;So;ON;\r
+288C;So;ON;\r
+288D;So;ON;\r
+288E;So;ON;\r
+288F;So;ON;\r
+2890;So;ON;\r
+2891;So;ON;\r
+2892;So;ON;\r
+2893;So;ON;\r
+2894;So;ON;\r
+2895;So;ON;\r
+2896;So;ON;\r
+2897;So;ON;\r
+2898;So;ON;\r
+2899;So;ON;\r
+289A;So;ON;\r
+289B;So;ON;\r
+289C;So;ON;\r
+289D;So;ON;\r
+289E;So;ON;\r
+289F;So;ON;\r
+28A0;So;ON;\r
+28A1;So;ON;\r
+28A2;So;ON;\r
+28A3;So;ON;\r
+28A4;So;ON;\r
+28A5;So;ON;\r
+28A6;So;ON;\r
+28A7;So;ON;\r
+28A8;So;ON;\r
+28A9;So;ON;\r
+28AA;So;ON;\r
+28AB;So;ON;\r
+28AC;So;ON;\r
+28AD;So;ON;\r
+28AE;So;ON;\r
+28AF;So;ON;\r
+28B0;So;ON;\r
+28B1;So;ON;\r
+28B2;So;ON;\r
+28B3;So;ON;\r
+28B4;So;ON;\r
+28B5;So;ON;\r
+28B6;So;ON;\r
+28B7;So;ON;\r
+28B8;So;ON;\r
+28B9;So;ON;\r
+28BA;So;ON;\r
+28BB;So;ON;\r
+28BC;So;ON;\r
+28BD;So;ON;\r
+28BE;So;ON;\r
+28BF;So;ON;\r
+28C0;So;ON;\r
+28C1;So;ON;\r
+28C2;So;ON;\r
+28C3;So;ON;\r
+28C4;So;ON;\r
+28C5;So;ON;\r
+28C6;So;ON;\r
+28C7;So;ON;\r
+28C8;So;ON;\r
+28C9;So;ON;\r
+28CA;So;ON;\r
+28CB;So;ON;\r
+28CC;So;ON;\r
+28CD;So;ON;\r
+28CE;So;ON;\r
+28CF;So;ON;\r
+28D0;So;ON;\r
+28D1;So;ON;\r
+28D2;So;ON;\r
+28D3;So;ON;\r
+28D4;So;ON;\r
+28D5;So;ON;\r
+28D6;So;ON;\r
+28D7;So;ON;\r
+28D8;So;ON;\r
+28D9;So;ON;\r
+28DA;So;ON;\r
+28DB;So;ON;\r
+28DC;So;ON;\r
+28DD;So;ON;\r
+28DE;So;ON;\r
+28DF;So;ON;\r
+28E0;So;ON;\r
+28E1;So;ON;\r
+28E2;So;ON;\r
+28E3;So;ON;\r
+28E4;So;ON;\r
+28E5;So;ON;\r
+28E6;So;ON;\r
+28E7;So;ON;\r
+28E8;So;ON;\r
+28E9;So;ON;\r
+28EA;So;ON;\r
+28EB;So;ON;\r
+28EC;So;ON;\r
+28ED;So;ON;\r
+28EE;So;ON;\r
+28EF;So;ON;\r
+28F0;So;ON;\r
+28F1;So;ON;\r
+28F2;So;ON;\r
+28F3;So;ON;\r
+28F4;So;ON;\r
+28F5;So;ON;\r
+28F6;So;ON;\r
+28F7;So;ON;\r
+28F8;So;ON;\r
+28F9;So;ON;\r
+28FA;So;ON;\r
+28FB;So;ON;\r
+28FC;So;ON;\r
+28FD;So;ON;\r
+28FE;So;ON;\r
+28FF;So;ON;\r
+2E80;So;ON;\r
+2E81;So;ON;\r
+2E82;So;ON;\r
+2E83;So;ON;\r
+2E84;So;ON;\r
+2E85;So;ON;\r
+2E86;So;ON;\r
+2E87;So;ON;\r
+2E88;So;ON;\r
+2E89;So;ON;\r
+2E8A;So;ON;\r
+2E8B;So;ON;\r
+2E8C;So;ON;\r
+2E8D;So;ON;\r
+2E8E;So;ON;\r
+2E8F;So;ON;\r
+2E90;So;ON;\r
+2E91;So;ON;\r
+2E92;So;ON;\r
+2E93;So;ON;\r
+2E94;So;ON;\r
+2E95;So;ON;\r
+2E96;So;ON;\r
+2E97;So;ON;\r
+2E98;So;ON;\r
+2E99;So;ON;\r
+2E9B;So;ON;\r
+2E9C;So;ON;\r
+2E9D;So;ON;\r
+2E9E;So;ON;\r
+2E9F;So;ON;\r
+2EA0;So;ON;\r
+2EA1;So;ON;\r
+2EA2;So;ON;\r
+2EA3;So;ON;\r
+2EA4;So;ON;\r
+2EA5;So;ON;\r
+2EA6;So;ON;\r
+2EA7;So;ON;\r
+2EA8;So;ON;\r
+2EA9;So;ON;\r
+2EAA;So;ON;\r
+2EAB;So;ON;\r
+2EAC;So;ON;\r
+2EAD;So;ON;\r
+2EAE;So;ON;\r
+2EAF;So;ON;\r
+2EB0;So;ON;\r
+2EB1;So;ON;\r
+2EB2;So;ON;\r
+2EB3;So;ON;\r
+2EB4;So;ON;\r
+2EB5;So;ON;\r
+2EB6;So;ON;\r
+2EB7;So;ON;\r
+2EB8;So;ON;\r
+2EB9;So;ON;\r
+2EBA;So;ON;\r
+2EBB;So;ON;\r
+2EBC;So;ON;\r
+2EBD;So;ON;\r
+2EBE;So;ON;\r
+2EBF;So;ON;\r
+2EC0;So;ON;\r
+2EC1;So;ON;\r
+2EC2;So;ON;\r
+2EC3;So;ON;\r
+2EC4;So;ON;\r
+2EC5;So;ON;\r
+2EC6;So;ON;\r
+2EC7;So;ON;\r
+2EC8;So;ON;\r
+2EC9;So;ON;\r
+2ECA;So;ON;\r
+2ECB;So;ON;\r
+2ECC;So;ON;\r
+2ECD;So;ON;\r
+2ECE;So;ON;\r
+2ECF;So;ON;\r
+2ED0;So;ON;\r
+2ED1;So;ON;\r
+2ED2;So;ON;\r
+2ED3;So;ON;\r
+2ED4;So;ON;\r
+2ED5;So;ON;\r
+2ED6;So;ON;\r
+2ED7;So;ON;\r
+2ED8;So;ON;\r
+2ED9;So;ON;\r
+2EDA;So;ON;\r
+2EDB;So;ON;\r
+2EDC;So;ON;\r
+2EDD;So;ON;\r
+2EDE;So;ON;\r
+2EDF;So;ON;\r
+2EE0;So;ON;\r
+2EE1;So;ON;\r
+2EE2;So;ON;\r
+2EE3;So;ON;\r
+2EE4;So;ON;\r
+2EE5;So;ON;\r
+2EE6;So;ON;\r
+2EE7;So;ON;\r
+2EE8;So;ON;\r
+2EE9;So;ON;\r
+2EEA;So;ON;\r
+2EEB;So;ON;\r
+2EEC;So;ON;\r
+2EED;So;ON;\r
+2EEE;So;ON;\r
+2EEF;So;ON;\r
+2EF0;So;ON;\r
+2EF1;So;ON;\r
+2EF2;So;ON;\r
+2EF3;So;ON;\r
+2F00;So;ON;\r
+2F01;So;ON;\r
+2F02;So;ON;\r
+2F03;So;ON;\r
+2F04;So;ON;\r
+2F05;So;ON;\r
+2F06;So;ON;\r
+2F07;So;ON;\r
+2F08;So;ON;\r
+2F09;So;ON;\r
+2F0A;So;ON;\r
+2F0B;So;ON;\r
+2F0C;So;ON;\r
+2F0D;So;ON;\r
+2F0E;So;ON;\r
+2F0F;So;ON;\r
+2F10;So;ON;\r
+2F11;So;ON;\r
+2F12;So;ON;\r
+2F13;So;ON;\r
+2F14;So;ON;\r
+2F15;So;ON;\r
+2F16;So;ON;\r
+2F17;So;ON;\r
+2F18;So;ON;\r
+2F19;So;ON;\r
+2F1A;So;ON;\r
+2F1B;So;ON;\r
+2F1C;So;ON;\r
+2F1D;So;ON;\r
+2F1E;So;ON;\r
+2F1F;So;ON;\r
+2F20;So;ON;\r
+2F21;So;ON;\r
+2F22;So;ON;\r
+2F23;So;ON;\r
+2F24;So;ON;\r
+2F25;So;ON;\r
+2F26;So;ON;\r
+2F27;So;ON;\r
+2F28;So;ON;\r
+2F29;So;ON;\r
+2F2A;So;ON;\r
+2F2B;So;ON;\r
+2F2C;So;ON;\r
+2F2D;So;ON;\r
+2F2E;So;ON;\r
+2F2F;So;ON;\r
+2F30;So;ON;\r
+2F31;So;ON;\r
+2F32;So;ON;\r
+2F33;So;ON;\r
+2F34;So;ON;\r
+2F35;So;ON;\r
+2F36;So;ON;\r
+2F37;So;ON;\r
+2F38;So;ON;\r
+2F39;So;ON;\r
+2F3A;So;ON;\r
+2F3B;So;ON;\r
+2F3C;So;ON;\r
+2F3D;So;ON;\r
+2F3E;So;ON;\r
+2F3F;So;ON;\r
+2F40;So;ON;\r
+2F41;So;ON;\r
+2F42;So;ON;\r
+2F43;So;ON;\r
+2F44;So;ON;\r
+2F45;So;ON;\r
+2F46;So;ON;\r
+2F47;So;ON;\r
+2F48;So;ON;\r
+2F49;So;ON;\r
+2F4A;So;ON;\r
+2F4B;So;ON;\r
+2F4C;So;ON;\r
+2F4D;So;ON;\r
+2F4E;So;ON;\r
+2F4F;So;ON;\r
+2F50;So;ON;\r
+2F51;So;ON;\r
+2F52;So;ON;\r
+2F53;So;ON;\r
+2F54;So;ON;\r
+2F55;So;ON;\r
+2F56;So;ON;\r
+2F57;So;ON;\r
+2F58;So;ON;\r
+2F59;So;ON;\r
+2F5A;So;ON;\r
+2F5B;So;ON;\r
+2F5C;So;ON;\r
+2F5D;So;ON;\r
+2F5E;So;ON;\r
+2F5F;So;ON;\r
+2F60;So;ON;\r
+2F61;So;ON;\r
+2F62;So;ON;\r
+2F63;So;ON;\r
+2F64;So;ON;\r
+2F65;So;ON;\r
+2F66;So;ON;\r
+2F67;So;ON;\r
+2F68;So;ON;\r
+2F69;So;ON;\r
+2F6A;So;ON;\r
+2F6B;So;ON;\r
+2F6C;So;ON;\r
+2F6D;So;ON;\r
+2F6E;So;ON;\r
+2F6F;So;ON;\r
+2F70;So;ON;\r
+2F71;So;ON;\r
+2F72;So;ON;\r
+2F73;So;ON;\r
+2F74;So;ON;\r
+2F75;So;ON;\r
+2F76;So;ON;\r
+2F77;So;ON;\r
+2F78;So;ON;\r
+2F79;So;ON;\r
+2F7A;So;ON;\r
+2F7B;So;ON;\r
+2F7C;So;ON;\r
+2F7D;So;ON;\r
+2F7E;So;ON;\r
+2F7F;So;ON;\r
+2F80;So;ON;\r
+2F81;So;ON;\r
+2F82;So;ON;\r
+2F83;So;ON;\r
+2F84;So;ON;\r
+2F85;So;ON;\r
+2F86;So;ON;\r
+2F87;So;ON;\r
+2F88;So;ON;\r
+2F89;So;ON;\r
+2F8A;So;ON;\r
+2F8B;So;ON;\r
+2F8C;So;ON;\r
+2F8D;So;ON;\r
+2F8E;So;ON;\r
+2F8F;So;ON;\r
+2F90;So;ON;\r
+2F91;So;ON;\r
+2F92;So;ON;\r
+2F93;So;ON;\r
+2F94;So;ON;\r
+2F95;So;ON;\r
+2F96;So;ON;\r
+2F97;So;ON;\r
+2F98;So;ON;\r
+2F99;So;ON;\r
+2F9A;So;ON;\r
+2F9B;So;ON;\r
+2F9C;So;ON;\r
+2F9D;So;ON;\r
+2F9E;So;ON;\r
+2F9F;So;ON;\r
+2FA0;So;ON;\r
+2FA1;So;ON;\r
+2FA2;So;ON;\r
+2FA3;So;ON;\r
+2FA4;So;ON;\r
+2FA5;So;ON;\r
+2FA6;So;ON;\r
+2FA7;So;ON;\r
+2FA8;So;ON;\r
+2FA9;So;ON;\r
+2FAA;So;ON;\r
+2FAB;So;ON;\r
+2FAC;So;ON;\r
+2FAD;So;ON;\r
+2FAE;So;ON;\r
+2FAF;So;ON;\r
+2FB0;So;ON;\r
+2FB1;So;ON;\r
+2FB2;So;ON;\r
+2FB3;So;ON;\r
+2FB4;So;ON;\r
+2FB5;So;ON;\r
+2FB6;So;ON;\r
+2FB7;So;ON;\r
+2FB8;So;ON;\r
+2FB9;So;ON;\r
+2FBA;So;ON;\r
+2FBB;So;ON;\r
+2FBC;So;ON;\r
+2FBD;So;ON;\r
+2FBE;So;ON;\r
+2FBF;So;ON;\r
+2FC0;So;ON;\r
+2FC1;So;ON;\r
+2FC2;So;ON;\r
+2FC3;So;ON;\r
+2FC4;So;ON;\r
+2FC5;So;ON;\r
+2FC6;So;ON;\r
+2FC7;So;ON;\r
+2FC8;So;ON;\r
+2FC9;So;ON;\r
+2FCA;So;ON;\r
+2FCB;So;ON;\r
+2FCC;So;ON;\r
+2FCD;So;ON;\r
+2FCE;So;ON;\r
+2FCF;So;ON;\r
+2FD0;So;ON;\r
+2FD1;So;ON;\r
+2FD2;So;ON;\r
+2FD3;So;ON;\r
+2FD4;So;ON;\r
+2FD5;So;ON;\r
+2FF0;So;ON;\r
+2FF1;So;ON;\r
+2FF2;So;ON;\r
+2FF3;So;ON;\r
+2FF4;So;ON;\r
+2FF5;So;ON;\r
+2FF6;So;ON;\r
+2FF7;So;ON;\r
+2FF8;So;ON;\r
+2FF9;So;ON;\r
+2FFA;So;ON;\r
+2FFB;So;ON;\r
+3000;Zs;WS;\r
+3001;Po;ON;\r
+3002;Po;ON;\r
+3003;Po;ON;\r
+3004;So;ON;\r
+3005;Lm;L;\r
+3006;Lo;L;\r
+3007;Nl;L;\r
+3008;Ps;ON;\r
+3009;Pe;ON;\r
+300A;Ps;ON;\r
+300B;Pe;ON;\r
+300C;Ps;ON;\r
+300D;Pe;ON;\r
+300E;Ps;ON;\r
+300F;Pe;ON;\r
+3010;Ps;ON;\r
+3011;Pe;ON;\r
+3012;So;ON;\r
+3013;So;ON;\r
+3014;Ps;ON;\r
+3015;Pe;ON;\r
+3016;Ps;ON;\r
+3017;Pe;ON;\r
+3018;Ps;ON;\r
+3019;Pe;ON;\r
+301A;Ps;ON;\r
+301B;Pe;ON;\r
+301C;Pd;ON;\r
+301D;Ps;ON;\r
+301E;Pe;ON;\r
+301F;Pe;ON;\r
+3020;So;ON;\r
+3021;Nl;L;\r
+3022;Nl;L;\r
+3023;Nl;L;\r
+3024;Nl;L;\r
+3025;Nl;L;\r
+3026;Nl;L;\r
+3027;Nl;L;\r
+3028;Nl;L;\r
+3029;Nl;L;\r
+302A;Mn;NSM;\r
+302B;Mn;NSM;\r
+302C;Mn;NSM;\r
+302D;Mn;NSM;\r
+302E;Mn;NSM;\r
+302F;Mn;NSM;\r
+3030;Pd;ON;\r
+3031;Lm;L;\r
+3032;Lm;L;\r
+3033;Lm;L;\r
+3034;Lm;L;\r
+3035;Lm;L;\r
+3036;So;ON;\r
+3037;So;ON;\r
+3038;Nl;L;\r
+3039;Nl;L;\r
+303A;Nl;L;\r
+303E;So;ON;\r
+303F;So;ON;\r
+3041;Lo;L;\r
+3042;Lo;L;\r
+3043;Lo;L;\r
+3044;Lo;L;\r
+3045;Lo;L;\r
+3046;Lo;L;\r
+3047;Lo;L;\r
+3048;Lo;L;\r
+3049;Lo;L;\r
+304A;Lo;L;\r
+304B;Lo;L;\r
+304C;Lo;L;\r
+304D;Lo;L;\r
+304E;Lo;L;\r
+304F;Lo;L;\r
+3050;Lo;L;\r
+3051;Lo;L;\r
+3052;Lo;L;\r
+3053;Lo;L;\r
+3054;Lo;L;\r
+3055;Lo;L;\r
+3056;Lo;L;\r
+3057;Lo;L;\r
+3058;Lo;L;\r
+3059;Lo;L;\r
+305A;Lo;L;\r
+305B;Lo;L;\r
+305C;Lo;L;\r
+305D;Lo;L;\r
+305E;Lo;L;\r
+305F;Lo;L;\r
+3060;Lo;L;\r
+3061;Lo;L;\r
+3062;Lo;L;\r
+3063;Lo;L;\r
+3064;Lo;L;\r
+3065;Lo;L;\r
+3066;Lo;L;\r
+3067;Lo;L;\r
+3068;Lo;L;\r
+3069;Lo;L;\r
+306A;Lo;L;\r
+306B;Lo;L;\r
+306C;Lo;L;\r
+306D;Lo;L;\r
+306E;Lo;L;\r
+306F;Lo;L;\r
+3070;Lo;L;\r
+3071;Lo;L;\r
+3072;Lo;L;\r
+3073;Lo;L;\r
+3074;Lo;L;\r
+3075;Lo;L;\r
+3076;Lo;L;\r
+3077;Lo;L;\r
+3078;Lo;L;\r
+3079;Lo;L;\r
+307A;Lo;L;\r
+307B;Lo;L;\r
+307C;Lo;L;\r
+307D;Lo;L;\r
+307E;Lo;L;\r
+307F;Lo;L;\r
+3080;Lo;L;\r
+3081;Lo;L;\r
+3082;Lo;L;\r
+3083;Lo;L;\r
+3084;Lo;L;\r
+3085;Lo;L;\r
+3086;Lo;L;\r
+3087;Lo;L;\r
+3088;Lo;L;\r
+3089;Lo;L;\r
+308A;Lo;L;\r
+308B;Lo;L;\r
+308C;Lo;L;\r
+308D;Lo;L;\r
+308E;Lo;L;\r
+308F;Lo;L;\r
+3090;Lo;L;\r
+3091;Lo;L;\r
+3092;Lo;L;\r
+3093;Lo;L;\r
+3094;Lo;L;\r
+3099;Mn;NSM;\r
+309A;Mn;NSM;\r
+309B;Sk;ON;\r
+309C;Sk;ON;\r
+309D;Lm;L;\r
+309E;Lm;L;\r
+30A1;Lo;L;\r
+30A2;Lo;L;\r
+30A3;Lo;L;\r
+30A4;Lo;L;\r
+30A5;Lo;L;\r
+30A6;Lo;L;\r
+30A7;Lo;L;\r
+30A8;Lo;L;\r
+30A9;Lo;L;\r
+30AA;Lo;L;\r
+30AB;Lo;L;\r
+30AC;Lo;L;\r
+30AD;Lo;L;\r
+30AE;Lo;L;\r
+30AF;Lo;L;\r
+30B0;Lo;L;\r
+30B1;Lo;L;\r
+30B2;Lo;L;\r
+30B3;Lo;L;\r
+30B4;Lo;L;\r
+30B5;Lo;L;\r
+30B6;Lo;L;\r
+30B7;Lo;L;\r
+30B8;Lo;L;\r
+30B9;Lo;L;\r
+30BA;Lo;L;\r
+30BB;Lo;L;\r
+30BC;Lo;L;\r
+30BD;Lo;L;\r
+30BE;Lo;L;\r
+30BF;Lo;L;\r
+30C0;Lo;L;\r
+30C1;Lo;L;\r
+30C2;Lo;L;\r
+30C3;Lo;L;\r
+30C4;Lo;L;\r
+30C5;Lo;L;\r
+30C6;Lo;L;\r
+30C7;Lo;L;\r
+30C8;Lo;L;\r
+30C9;Lo;L;\r
+30CA;Lo;L;\r
+30CB;Lo;L;\r
+30CC;Lo;L;\r
+30CD;Lo;L;\r
+30CE;Lo;L;\r
+30CF;Lo;L;\r
+30D0;Lo;L;\r
+30D1;Lo;L;\r
+30D2;Lo;L;\r
+30D3;Lo;L;\r
+30D4;Lo;L;\r
+30D5;Lo;L;\r
+30D6;Lo;L;\r
+30D7;Lo;L;\r
+30D8;Lo;L;\r
+30D9;Lo;L;\r
+30DA;Lo;L;\r
+30DB;Lo;L;\r
+30DC;Lo;L;\r
+30DD;Lo;L;\r
+30DE;Lo;L;\r
+30DF;Lo;L;\r
+30E0;Lo;L;\r
+30E1;Lo;L;\r
+30E2;Lo;L;\r
+30E3;Lo;L;\r
+30E4;Lo;L;\r
+30E5;Lo;L;\r
+30E6;Lo;L;\r
+30E7;Lo;L;\r
+30E8;Lo;L;\r
+30E9;Lo;L;\r
+30EA;Lo;L;\r
+30EB;Lo;L;\r
+30EC;Lo;L;\r
+30ED;Lo;L;\r
+30EE;Lo;L;\r
+30EF;Lo;L;\r
+30F0;Lo;L;\r
+30F1;Lo;L;\r
+30F2;Lo;L;\r
+30F3;Lo;L;\r
+30F4;Lo;L;\r
+30F5;Lo;L;\r
+30F6;Lo;L;\r
+30F7;Lo;L;\r
+30F8;Lo;L;\r
+30F9;Lo;L;\r
+30FA;Lo;L;\r
+30FB;Pc;ON;\r
+30FC;Lm;L;\r
+30FD;Lm;L;\r
+30FE;Lm;L;\r
+3105;Lo;L;\r
+3106;Lo;L;\r
+3107;Lo;L;\r
+3108;Lo;L;\r
+3109;Lo;L;\r
+310A;Lo;L;\r
+310B;Lo;L;\r
+310C;Lo;L;\r
+310D;Lo;L;\r
+310E;Lo;L;\r
+310F;Lo;L;\r
+3110;Lo;L;\r
+3111;Lo;L;\r
+3112;Lo;L;\r
+3113;Lo;L;\r
+3114;Lo;L;\r
+3115;Lo;L;\r
+3116;Lo;L;\r
+3117;Lo;L;\r
+3118;Lo;L;\r
+3119;Lo;L;\r
+311A;Lo;L;\r
+311B;Lo;L;\r
+311C;Lo;L;\r
+311D;Lo;L;\r
+311E;Lo;L;\r
+311F;Lo;L;\r
+3120;Lo;L;\r
+3121;Lo;L;\r
+3122;Lo;L;\r
+3123;Lo;L;\r
+3124;Lo;L;\r
+3125;Lo;L;\r
+3126;Lo;L;\r
+3127;Lo;L;\r
+3128;Lo;L;\r
+3129;Lo;L;\r
+312A;Lo;L;\r
+312B;Lo;L;\r
+312C;Lo;L;\r
+3131;Lo;L;\r
+3132;Lo;L;\r
+3133;Lo;L;\r
+3134;Lo;L;\r
+3135;Lo;L;\r
+3136;Lo;L;\r
+3137;Lo;L;\r
+3138;Lo;L;\r
+3139;Lo;L;\r
+313A;Lo;L;\r
+313B;Lo;L;\r
+313C;Lo;L;\r
+313D;Lo;L;\r
+313E;Lo;L;\r
+313F;Lo;L;\r
+3140;Lo;L;\r
+3141;Lo;L;\r
+3142;Lo;L;\r
+3143;Lo;L;\r
+3144;Lo;L;\r
+3145;Lo;L;\r
+3146;Lo;L;\r
+3147;Lo;L;\r
+3148;Lo;L;\r
+3149;Lo;L;\r
+314A;Lo;L;\r
+314B;Lo;L;\r
+314C;Lo;L;\r
+314D;Lo;L;\r
+314E;Lo;L;\r
+314F;Lo;L;\r
+3150;Lo;L;\r
+3151;Lo;L;\r
+3152;Lo;L;\r
+3153;Lo;L;\r
+3154;Lo;L;\r
+3155;Lo;L;\r
+3156;Lo;L;\r
+3157;Lo;L;\r
+3158;Lo;L;\r
+3159;Lo;L;\r
+315A;Lo;L;\r
+315B;Lo;L;\r
+315C;Lo;L;\r
+315D;Lo;L;\r
+315E;Lo;L;\r
+315F;Lo;L;\r
+3160;Lo;L;\r
+3161;Lo;L;\r
+3162;Lo;L;\r
+3163;Lo;L;\r
+3164;Lo;L;\r
+3165;Lo;L;\r
+3166;Lo;L;\r
+3167;Lo;L;\r
+3168;Lo;L;\r
+3169;Lo;L;\r
+316A;Lo;L;\r
+316B;Lo;L;\r
+316C;Lo;L;\r
+316D;Lo;L;\r
+316E;Lo;L;\r
+316F;Lo;L;\r
+3170;Lo;L;\r
+3171;Lo;L;\r
+3172;Lo;L;\r
+3173;Lo;L;\r
+3174;Lo;L;\r
+3175;Lo;L;\r
+3176;Lo;L;\r
+3177;Lo;L;\r
+3178;Lo;L;\r
+3179;Lo;L;\r
+317A;Lo;L;\r
+317B;Lo;L;\r
+317C;Lo;L;\r
+317D;Lo;L;\r
+317E;Lo;L;\r
+317F;Lo;L;\r
+3180;Lo;L;\r
+3181;Lo;L;\r
+3182;Lo;L;\r
+3183;Lo;L;\r
+3184;Lo;L;\r
+3185;Lo;L;\r
+3186;Lo;L;\r
+3187;Lo;L;\r
+3188;Lo;L;\r
+3189;Lo;L;\r
+318A;Lo;L;\r
+318B;Lo;L;\r
+318C;Lo;L;\r
+318D;Lo;L;\r
+318E;Lo;L;\r
+3190;So;L;\r
+3191;So;L;\r
+3192;No;L;\r
+3193;No;L;\r
+3194;No;L;\r
+3195;No;L;\r
+3196;So;L;\r
+3197;So;L;\r
+3198;So;L;\r
+3199;So;L;\r
+319A;So;L;\r
+319B;So;L;\r
+319C;So;L;\r
+319D;So;L;\r
+319E;So;L;\r
+319F;So;L;\r
+31A0;Lo;L;\r
+31A1;Lo;L;\r
+31A2;Lo;L;\r
+31A3;Lo;L;\r
+31A4;Lo;L;\r
+31A5;Lo;L;\r
+31A6;Lo;L;\r
+31A7;Lo;L;\r
+31A8;Lo;L;\r
+31A9;Lo;L;\r
+31AA;Lo;L;\r
+31AB;Lo;L;\r
+31AC;Lo;L;\r
+31AD;Lo;L;\r
+31AE;Lo;L;\r
+31AF;Lo;L;\r
+31B0;Lo;L;\r
+31B1;Lo;L;\r
+31B2;Lo;L;\r
+31B3;Lo;L;\r
+31B4;Lo;L;\r
+31B5;Lo;L;\r
+31B6;Lo;L;\r
+31B7;Lo;L;\r
+3200;So;L;\r
+3201;So;L;\r
+3202;So;L;\r
+3203;So;L;\r
+3204;So;L;\r
+3205;So;L;\r
+3206;So;L;\r
+3207;So;L;\r
+3208;So;L;\r
+3209;So;L;\r
+320A;So;L;\r
+320B;So;L;\r
+320C;So;L;\r
+320D;So;L;\r
+320E;So;L;\r
+320F;So;L;\r
+3210;So;L;\r
+3211;So;L;\r
+3212;So;L;\r
+3213;So;L;\r
+3214;So;L;\r
+3215;So;L;\r
+3216;So;L;\r
+3217;So;L;\r
+3218;So;L;\r
+3219;So;L;\r
+321A;So;L;\r
+321B;So;L;\r
+321C;So;L;\r
+3220;No;L;\r
+3221;No;L;\r
+3222;No;L;\r
+3223;No;L;\r
+3224;No;L;\r
+3225;No;L;\r
+3226;No;L;\r
+3227;No;L;\r
+3228;No;L;\r
+3229;No;L;\r
+322A;So;L;\r
+322B;So;L;\r
+322C;So;L;\r
+322D;So;L;\r
+322E;So;L;\r
+322F;So;L;\r
+3230;So;L;\r
+3231;So;L;\r
+3232;So;L;\r
+3233;So;L;\r
+3234;So;L;\r
+3235;So;L;\r
+3236;So;L;\r
+3237;So;L;\r
+3238;So;L;\r
+3239;So;L;\r
+323A;So;L;\r
+323B;So;L;\r
+323C;So;L;\r
+323D;So;L;\r
+323E;So;L;\r
+323F;So;L;\r
+3240;So;L;\r
+3241;So;L;\r
+3242;So;L;\r
+3243;So;L;\r
+3260;So;L;\r
+3261;So;L;\r
+3262;So;L;\r
+3263;So;L;\r
+3264;So;L;\r
+3265;So;L;\r
+3266;So;L;\r
+3267;So;L;\r
+3268;So;L;\r
+3269;So;L;\r
+326A;So;L;\r
+326B;So;L;\r
+326C;So;L;\r
+326D;So;L;\r
+326E;So;L;\r
+326F;So;L;\r
+3270;So;L;\r
+3271;So;L;\r
+3272;So;L;\r
+3273;So;L;\r
+3274;So;L;\r
+3275;So;L;\r
+3276;So;L;\r
+3277;So;L;\r
+3278;So;L;\r
+3279;So;L;\r
+327A;So;L;\r
+327B;So;L;\r
+327F;So;L;\r
+3280;No;L;\r
+3281;No;L;\r
+3282;No;L;\r
+3283;No;L;\r
+3284;No;L;\r
+3285;No;L;\r
+3286;No;L;\r
+3287;No;L;\r
+3288;No;L;\r
+3289;No;L;\r
+328A;So;L;\r
+328B;So;L;\r
+328C;So;L;\r
+328D;So;L;\r
+328E;So;L;\r
+328F;So;L;\r
+3290;So;L;\r
+3291;So;L;\r
+3292;So;L;\r
+3293;So;L;\r
+3294;So;L;\r
+3295;So;L;\r
+3296;So;L;\r
+3297;So;L;\r
+3298;So;L;\r
+3299;So;L;\r
+329A;So;L;\r
+329B;So;L;\r
+329C;So;L;\r
+329D;So;L;\r
+329E;So;L;\r
+329F;So;L;\r
+32A0;So;L;\r
+32A1;So;L;\r
+32A2;So;L;\r
+32A3;So;L;\r
+32A4;So;L;\r
+32A5;So;L;\r
+32A6;So;L;\r
+32A7;So;L;\r
+32A8;So;L;\r
+32A9;So;L;\r
+32AA;So;L;\r
+32AB;So;L;\r
+32AC;So;L;\r
+32AD;So;L;\r
+32AE;So;L;\r
+32AF;So;L;\r
+32B0;So;L;\r
+32C0;So;L;\r
+32C1;So;L;\r
+32C2;So;L;\r
+32C3;So;L;\r
+32C4;So;L;\r
+32C5;So;L;\r
+32C6;So;L;\r
+32C7;So;L;\r
+32C8;So;L;\r
+32C9;So;L;\r
+32CA;So;L;\r
+32CB;So;L;\r
+32D0;So;L;\r
+32D1;So;L;\r
+32D2;So;L;\r
+32D3;So;L;\r
+32D4;So;L;\r
+32D5;So;L;\r
+32D6;So;L;\r
+32D7;So;L;\r
+32D8;So;L;\r
+32D9;So;L;\r
+32DA;So;L;\r
+32DB;So;L;\r
+32DC;So;L;\r
+32DD;So;L;\r
+32DE;So;L;\r
+32DF;So;L;\r
+32E0;So;L;\r
+32E1;So;L;\r
+32E2;So;L;\r
+32E3;So;L;\r
+32E4;So;L;\r
+32E5;So;L;\r
+32E6;So;L;\r
+32E7;So;L;\r
+32E8;So;L;\r
+32E9;So;L;\r
+32EA;So;L;\r
+32EB;So;L;\r
+32EC;So;L;\r
+32ED;So;L;\r
+32EE;So;L;\r
+32EF;So;L;\r
+32F0;So;L;\r
+32F1;So;L;\r
+32F2;So;L;\r
+32F3;So;L;\r
+32F4;So;L;\r
+32F5;So;L;\r
+32F6;So;L;\r
+32F7;So;L;\r
+32F8;So;L;\r
+32F9;So;L;\r
+32FA;So;L;\r
+32FB;So;L;\r
+32FC;So;L;\r
+32FD;So;L;\r
+32FE;So;L;\r
+3300;So;L;\r
+3301;So;L;\r
+3302;So;L;\r
+3303;So;L;\r
+3304;So;L;\r
+3305;So;L;\r
+3306;So;L;\r
+3307;So;L;\r
+3308;So;L;\r
+3309;So;L;\r
+330A;So;L;\r
+330B;So;L;\r
+330C;So;L;\r
+330D;So;L;\r
+330E;So;L;\r
+330F;So;L;\r
+3310;So;L;\r
+3311;So;L;\r
+3312;So;L;\r
+3313;So;L;\r
+3314;So;L;\r
+3315;So;L;\r
+3316;So;L;\r
+3317;So;L;\r
+3318;So;L;\r
+3319;So;L;\r
+331A;So;L;\r
+331B;So;L;\r
+331C;So;L;\r
+331D;So;L;\r
+331E;So;L;\r
+331F;So;L;\r
+3320;So;L;\r
+3321;So;L;\r
+3322;So;L;\r
+3323;So;L;\r
+3324;So;L;\r
+3325;So;L;\r
+3326;So;L;\r
+3327;So;L;\r
+3328;So;L;\r
+3329;So;L;\r
+332A;So;L;\r
+332B;So;L;\r
+332C;So;L;\r
+332D;So;L;\r
+332E;So;L;\r
+332F;So;L;\r
+3330;So;L;\r
+3331;So;L;\r
+3332;So;L;\r
+3333;So;L;\r
+3334;So;L;\r
+3335;So;L;\r
+3336;So;L;\r
+3337;So;L;\r
+3338;So;L;\r
+3339;So;L;\r
+333A;So;L;\r
+333B;So;L;\r
+333C;So;L;\r
+333D;So;L;\r
+333E;So;L;\r
+333F;So;L;\r
+3340;So;L;\r
+3341;So;L;\r
+3342;So;L;\r
+3343;So;L;\r
+3344;So;L;\r
+3345;So;L;\r
+3346;So;L;\r
+3347;So;L;\r
+3348;So;L;\r
+3349;So;L;\r
+334A;So;L;\r
+334B;So;L;\r
+334C;So;L;\r
+334D;So;L;\r
+334E;So;L;\r
+334F;So;L;\r
+3350;So;L;\r
+3351;So;L;\r
+3352;So;L;\r
+3353;So;L;\r
+3354;So;L;\r
+3355;So;L;\r
+3356;So;L;\r
+3357;So;L;\r
+3358;So;L;\r
+3359;So;L;\r
+335A;So;L;\r
+335B;So;L;\r
+335C;So;L;\r
+335D;So;L;\r
+335E;So;L;\r
+335F;So;L;\r
+3360;So;L;\r
+3361;So;L;\r
+3362;So;L;\r
+3363;So;L;\r
+3364;So;L;\r
+3365;So;L;\r
+3366;So;L;\r
+3367;So;L;\r
+3368;So;L;\r
+3369;So;L;\r
+336A;So;L;\r
+336B;So;L;\r
+336C;So;L;\r
+336D;So;L;\r
+336E;So;L;\r
+336F;So;L;\r
+3370;So;L;\r
+3371;So;L;\r
+3372;So;L;\r
+3373;So;L;\r
+3374;So;L;\r
+3375;So;L;\r
+3376;So;L;\r
+337B;So;L;\r
+337C;So;L;\r
+337D;So;L;\r
+337E;So;L;\r
+337F;So;L;\r
+3380;So;L;\r
+3381;So;L;\r
+3382;So;L;\r
+3383;So;L;\r
+3384;So;L;\r
+3385;So;L;\r
+3386;So;L;\r
+3387;So;L;\r
+3388;So;L;\r
+3389;So;L;\r
+338A;So;L;\r
+338B;So;L;\r
+338C;So;L;\r
+338D;So;L;\r
+338E;So;L;\r
+338F;So;L;\r
+3390;So;L;\r
+3391;So;L;\r
+3392;So;L;\r
+3393;So;L;\r
+3394;So;L;\r
+3395;So;L;\r
+3396;So;L;\r
+3397;So;L;\r
+3398;So;L;\r
+3399;So;L;\r
+339A;So;L;\r
+339B;So;L;\r
+339C;So;L;\r
+339D;So;L;\r
+339E;So;L;\r
+339F;So;L;\r
+33A0;So;L;\r
+33A1;So;L;\r
+33A2;So;L;\r
+33A3;So;L;\r
+33A4;So;L;\r
+33A5;So;L;\r
+33A6;So;L;\r
+33A7;So;L;\r
+33A8;So;L;\r
+33A9;So;L;\r
+33AA;So;L;\r
+33AB;So;L;\r
+33AC;So;L;\r
+33AD;So;L;\r
+33AE;So;L;\r
+33AF;So;L;\r
+33B0;So;L;\r
+33B1;So;L;\r
+33B2;So;L;\r
+33B3;So;L;\r
+33B4;So;L;\r
+33B5;So;L;\r
+33B6;So;L;\r
+33B7;So;L;\r
+33B8;So;L;\r
+33B9;So;L;\r
+33BA;So;L;\r
+33BB;So;L;\r
+33BC;So;L;\r
+33BD;So;L;\r
+33BE;So;L;\r
+33BF;So;L;\r
+33C0;So;L;\r
+33C1;So;L;\r
+33C2;So;L;\r
+33C3;So;L;\r
+33C4;So;L;\r
+33C5;So;L;\r
+33C6;So;L;\r
+33C7;So;L;\r
+33C8;So;L;\r
+33C9;So;L;\r
+33CA;So;L;\r
+33CB;So;L;\r
+33CC;So;L;\r
+33CD;So;L;\r
+33CE;So;L;\r
+33CF;So;L;\r
+33D0;So;L;\r
+33D1;So;L;\r
+33D2;So;L;\r
+33D3;So;L;\r
+33D4;So;L;\r
+33D5;So;L;\r
+33D6;So;L;\r
+33D7;So;L;\r
+33D8;So;L;\r
+33D9;So;L;\r
+33DA;So;L;\r
+33DB;So;L;\r
+33DC;So;L;\r
+33DD;So;L;\r
+33E0;So;L;\r
+33E1;So;L;\r
+33E2;So;L;\r
+33E3;So;L;\r
+33E4;So;L;\r
+33E5;So;L;\r
+33E6;So;L;\r
+33E7;So;L;\r
+33E8;So;L;\r
+33E9;So;L;\r
+33EA;So;L;\r
+33EB;So;L;\r
+33EC;So;L;\r
+33ED;So;L;\r
+33EE;So;L;\r
+33EF;So;L;\r
+33F0;So;L;\r
+33F1;So;L;\r
+33F2;So;L;\r
+33F3;So;L;\r
+33F4;So;L;\r
+33F5;So;L;\r
+33F6;So;L;\r
+33F7;So;L;\r
+33F8;So;L;\r
+33F9;So;L;\r
+33FA;So;L;\r
+33FB;So;L;\r
+33FC;So;L;\r
+33FD;So;L;\r
+33FE;So;L;\r
+3400;Lo;L;\r
+4DB5;Lo;L;\r
+4E00;Lo;L;\r
+9FA5;Lo;L;\r
+A000;Lo;L;\r
+A001;Lo;L;\r
+A002;Lo;L;\r
+A003;Lo;L;\r
+A004;Lo;L;\r
+A005;Lo;L;\r
+A006;Lo;L;\r
+A007;Lo;L;\r
+A008;Lo;L;\r
+A009;Lo;L;\r
+A00A;Lo;L;\r
+A00B;Lo;L;\r
+A00C;Lo;L;\r
+A00D;Lo;L;\r
+A00E;Lo;L;\r
+A00F;Lo;L;\r
+A010;Lo;L;\r
+A011;Lo;L;\r
+A012;Lo;L;\r
+A013;Lo;L;\r
+A014;Lo;L;\r
+A015;Lo;L;\r
+A016;Lo;L;\r
+A017;Lo;L;\r
+A018;Lo;L;\r
+A019;Lo;L;\r
+A01A;Lo;L;\r
+A01B;Lo;L;\r
+A01C;Lo;L;\r
+A01D;Lo;L;\r
+A01E;Lo;L;\r
+A01F;Lo;L;\r
+A020;Lo;L;\r
+A021;Lo;L;\r
+A022;Lo;L;\r
+A023;Lo;L;\r
+A024;Lo;L;\r
+A025;Lo;L;\r
+A026;Lo;L;\r
+A027;Lo;L;\r
+A028;Lo;L;\r
+A029;Lo;L;\r
+A02A;Lo;L;\r
+A02B;Lo;L;\r
+A02C;Lo;L;\r
+A02D;Lo;L;\r
+A02E;Lo;L;\r
+A02F;Lo;L;\r
+A030;Lo;L;\r
+A031;Lo;L;\r
+A032;Lo;L;\r
+A033;Lo;L;\r
+A034;Lo;L;\r
+A035;Lo;L;\r
+A036;Lo;L;\r
+A037;Lo;L;\r
+A038;Lo;L;\r
+A039;Lo;L;\r
+A03A;Lo;L;\r
+A03B;Lo;L;\r
+A03C;Lo;L;\r
+A03D;Lo;L;\r
+A03E;Lo;L;\r
+A03F;Lo;L;\r
+A040;Lo;L;\r
+A041;Lo;L;\r
+A042;Lo;L;\r
+A043;Lo;L;\r
+A044;Lo;L;\r
+A045;Lo;L;\r
+A046;Lo;L;\r
+A047;Lo;L;\r
+A048;Lo;L;\r
+A049;Lo;L;\r
+A04A;Lo;L;\r
+A04B;Lo;L;\r
+A04C;Lo;L;\r
+A04D;Lo;L;\r
+A04E;Lo;L;\r
+A04F;Lo;L;\r
+A050;Lo;L;\r
+A051;Lo;L;\r
+A052;Lo;L;\r
+A053;Lo;L;\r
+A054;Lo;L;\r
+A055;Lo;L;\r
+A056;Lo;L;\r
+A057;Lo;L;\r
+A058;Lo;L;\r
+A059;Lo;L;\r
+A05A;Lo;L;\r
+A05B;Lo;L;\r
+A05C;Lo;L;\r
+A05D;Lo;L;\r
+A05E;Lo;L;\r
+A05F;Lo;L;\r
+A060;Lo;L;\r
+A061;Lo;L;\r
+A062;Lo;L;\r
+A063;Lo;L;\r
+A064;Lo;L;\r
+A065;Lo;L;\r
+A066;Lo;L;\r
+A067;Lo;L;\r
+A068;Lo;L;\r
+A069;Lo;L;\r
+A06A;Lo;L;\r
+A06B;Lo;L;\r
+A06C;Lo;L;\r
+A06D;Lo;L;\r
+A06E;Lo;L;\r
+A06F;Lo;L;\r
+A070;Lo;L;\r
+A071;Lo;L;\r
+A072;Lo;L;\r
+A073;Lo;L;\r
+A074;Lo;L;\r
+A075;Lo;L;\r
+A076;Lo;L;\r
+A077;Lo;L;\r
+A078;Lo;L;\r
+A079;Lo;L;\r
+A07A;Lo;L;\r
+A07B;Lo;L;\r
+A07C;Lo;L;\r
+A07D;Lo;L;\r
+A07E;Lo;L;\r
+A07F;Lo;L;\r
+A080;Lo;L;\r
+A081;Lo;L;\r
+A082;Lo;L;\r
+A083;Lo;L;\r
+A084;Lo;L;\r
+A085;Lo;L;\r
+A086;Lo;L;\r
+A087;Lo;L;\r
+A088;Lo;L;\r
+A089;Lo;L;\r
+A08A;Lo;L;\r
+A08B;Lo;L;\r
+A08C;Lo;L;\r
+A08D;Lo;L;\r
+A08E;Lo;L;\r
+A08F;Lo;L;\r
+A090;Lo;L;\r
+A091;Lo;L;\r
+A092;Lo;L;\r
+A093;Lo;L;\r
+A094;Lo;L;\r
+A095;Lo;L;\r
+A096;Lo;L;\r
+A097;Lo;L;\r
+A098;Lo;L;\r
+A099;Lo;L;\r
+A09A;Lo;L;\r
+A09B;Lo;L;\r
+A09C;Lo;L;\r
+A09D;Lo;L;\r
+A09E;Lo;L;\r
+A09F;Lo;L;\r
+A0A0;Lo;L;\r
+A0A1;Lo;L;\r
+A0A2;Lo;L;\r
+A0A3;Lo;L;\r
+A0A4;Lo;L;\r
+A0A5;Lo;L;\r
+A0A6;Lo;L;\r
+A0A7;Lo;L;\r
+A0A8;Lo;L;\r
+A0A9;Lo;L;\r
+A0AA;Lo;L;\r
+A0AB;Lo;L;\r
+A0AC;Lo;L;\r
+A0AD;Lo;L;\r
+A0AE;Lo;L;\r
+A0AF;Lo;L;\r
+A0B0;Lo;L;\r
+A0B1;Lo;L;\r
+A0B2;Lo;L;\r
+A0B3;Lo;L;\r
+A0B4;Lo;L;\r
+A0B5;Lo;L;\r
+A0B6;Lo;L;\r
+A0B7;Lo;L;\r
+A0B8;Lo;L;\r
+A0B9;Lo;L;\r
+A0BA;Lo;L;\r
+A0BB;Lo;L;\r
+A0BC;Lo;L;\r
+A0BD;Lo;L;\r
+A0BE;Lo;L;\r
+A0BF;Lo;L;\r
+A0C0;Lo;L;\r
+A0C1;Lo;L;\r
+A0C2;Lo;L;\r
+A0C3;Lo;L;\r
+A0C4;Lo;L;\r
+A0C5;Lo;L;\r
+A0C6;Lo;L;\r
+A0C7;Lo;L;\r
+A0C8;Lo;L;\r
+A0C9;Lo;L;\r
+A0CA;Lo;L;\r
+A0CB;Lo;L;\r
+A0CC;Lo;L;\r
+A0CD;Lo;L;\r
+A0CE;Lo;L;\r
+A0CF;Lo;L;\r
+A0D0;Lo;L;\r
+A0D1;Lo;L;\r
+A0D2;Lo;L;\r
+A0D3;Lo;L;\r
+A0D4;Lo;L;\r
+A0D5;Lo;L;\r
+A0D6;Lo;L;\r
+A0D7;Lo;L;\r
+A0D8;Lo;L;\r
+A0D9;Lo;L;\r
+A0DA;Lo;L;\r
+A0DB;Lo;L;\r
+A0DC;Lo;L;\r
+A0DD;Lo;L;\r
+A0DE;Lo;L;\r
+A0DF;Lo;L;\r
+A0E0;Lo;L;\r
+A0E1;Lo;L;\r
+A0E2;Lo;L;\r
+A0E3;Lo;L;\r
+A0E4;Lo;L;\r
+A0E5;Lo;L;\r
+A0E6;Lo;L;\r
+A0E7;Lo;L;\r
+A0E8;Lo;L;\r
+A0E9;Lo;L;\r
+A0EA;Lo;L;\r
+A0EB;Lo;L;\r
+A0EC;Lo;L;\r
+A0ED;Lo;L;\r
+A0EE;Lo;L;\r
+A0EF;Lo;L;\r
+A0F0;Lo;L;\r
+A0F1;Lo;L;\r
+A0F2;Lo;L;\r
+A0F3;Lo;L;\r
+A0F4;Lo;L;\r
+A0F5;Lo;L;\r
+A0F6;Lo;L;\r
+A0F7;Lo;L;\r
+A0F8;Lo;L;\r
+A0F9;Lo;L;\r
+A0FA;Lo;L;\r
+A0FB;Lo;L;\r
+A0FC;Lo;L;\r
+A0FD;Lo;L;\r
+A0FE;Lo;L;\r
+A0FF;Lo;L;\r
+A100;Lo;L;\r
+A101;Lo;L;\r
+A102;Lo;L;\r
+A103;Lo;L;\r
+A104;Lo;L;\r
+A105;Lo;L;\r
+A106;Lo;L;\r
+A107;Lo;L;\r
+A108;Lo;L;\r
+A109;Lo;L;\r
+A10A;Lo;L;\r
+A10B;Lo;L;\r
+A10C;Lo;L;\r
+A10D;Lo;L;\r
+A10E;Lo;L;\r
+A10F;Lo;L;\r
+A110;Lo;L;\r
+A111;Lo;L;\r
+A112;Lo;L;\r
+A113;Lo;L;\r
+A114;Lo;L;\r
+A115;Lo;L;\r
+A116;Lo;L;\r
+A117;Lo;L;\r
+A118;Lo;L;\r
+A119;Lo;L;\r
+A11A;Lo;L;\r
+A11B;Lo;L;\r
+A11C;Lo;L;\r
+A11D;Lo;L;\r
+A11E;Lo;L;\r
+A11F;Lo;L;\r
+A120;Lo;L;\r
+A121;Lo;L;\r
+A122;Lo;L;\r
+A123;Lo;L;\r
+A124;Lo;L;\r
+A125;Lo;L;\r
+A126;Lo;L;\r
+A127;Lo;L;\r
+A128;Lo;L;\r
+A129;Lo;L;\r
+A12A;Lo;L;\r
+A12B;Lo;L;\r
+A12C;Lo;L;\r
+A12D;Lo;L;\r
+A12E;Lo;L;\r
+A12F;Lo;L;\r
+A130;Lo;L;\r
+A131;Lo;L;\r
+A132;Lo;L;\r
+A133;Lo;L;\r
+A134;Lo;L;\r
+A135;Lo;L;\r
+A136;Lo;L;\r
+A137;Lo;L;\r
+A138;Lo;L;\r
+A139;Lo;L;\r
+A13A;Lo;L;\r
+A13B;Lo;L;\r
+A13C;Lo;L;\r
+A13D;Lo;L;\r
+A13E;Lo;L;\r
+A13F;Lo;L;\r
+A140;Lo;L;\r
+A141;Lo;L;\r
+A142;Lo;L;\r
+A143;Lo;L;\r
+A144;Lo;L;\r
+A145;Lo;L;\r
+A146;Lo;L;\r
+A147;Lo;L;\r
+A148;Lo;L;\r
+A149;Lo;L;\r
+A14A;Lo;L;\r
+A14B;Lo;L;\r
+A14C;Lo;L;\r
+A14D;Lo;L;\r
+A14E;Lo;L;\r
+A14F;Lo;L;\r
+A150;Lo;L;\r
+A151;Lo;L;\r
+A152;Lo;L;\r
+A153;Lo;L;\r
+A154;Lo;L;\r
+A155;Lo;L;\r
+A156;Lo;L;\r
+A157;Lo;L;\r
+A158;Lo;L;\r
+A159;Lo;L;\r
+A15A;Lo;L;\r
+A15B;Lo;L;\r
+A15C;Lo;L;\r
+A15D;Lo;L;\r
+A15E;Lo;L;\r
+A15F;Lo;L;\r
+A160;Lo;L;\r
+A161;Lo;L;\r
+A162;Lo;L;\r
+A163;Lo;L;\r
+A164;Lo;L;\r
+A165;Lo;L;\r
+A166;Lo;L;\r
+A167;Lo;L;\r
+A168;Lo;L;\r
+A169;Lo;L;\r
+A16A;Lo;L;\r
+A16B;Lo;L;\r
+A16C;Lo;L;\r
+A16D;Lo;L;\r
+A16E;Lo;L;\r
+A16F;Lo;L;\r
+A170;Lo;L;\r
+A171;Lo;L;\r
+A172;Lo;L;\r
+A173;Lo;L;\r
+A174;Lo;L;\r
+A175;Lo;L;\r
+A176;Lo;L;\r
+A177;Lo;L;\r
+A178;Lo;L;\r
+A179;Lo;L;\r
+A17A;Lo;L;\r
+A17B;Lo;L;\r
+A17C;Lo;L;\r
+A17D;Lo;L;\r
+A17E;Lo;L;\r
+A17F;Lo;L;\r
+A180;Lo;L;\r
+A181;Lo;L;\r
+A182;Lo;L;\r
+A183;Lo;L;\r
+A184;Lo;L;\r
+A185;Lo;L;\r
+A186;Lo;L;\r
+A187;Lo;L;\r
+A188;Lo;L;\r
+A189;Lo;L;\r
+A18A;Lo;L;\r
+A18B;Lo;L;\r
+A18C;Lo;L;\r
+A18D;Lo;L;\r
+A18E;Lo;L;\r
+A18F;Lo;L;\r
+A190;Lo;L;\r
+A191;Lo;L;\r
+A192;Lo;L;\r
+A193;Lo;L;\r
+A194;Lo;L;\r
+A195;Lo;L;\r
+A196;Lo;L;\r
+A197;Lo;L;\r
+A198;Lo;L;\r
+A199;Lo;L;\r
+A19A;Lo;L;\r
+A19B;Lo;L;\r
+A19C;Lo;L;\r
+A19D;Lo;L;\r
+A19E;Lo;L;\r
+A19F;Lo;L;\r
+A1A0;Lo;L;\r
+A1A1;Lo;L;\r
+A1A2;Lo;L;\r
+A1A3;Lo;L;\r
+A1A4;Lo;L;\r
+A1A5;Lo;L;\r
+A1A6;Lo;L;\r
+A1A7;Lo;L;\r
+A1A8;Lo;L;\r
+A1A9;Lo;L;\r
+A1AA;Lo;L;\r
+A1AB;Lo;L;\r
+A1AC;Lo;L;\r
+A1AD;Lo;L;\r
+A1AE;Lo;L;\r
+A1AF;Lo;L;\r
+A1B0;Lo;L;\r
+A1B1;Lo;L;\r
+A1B2;Lo;L;\r
+A1B3;Lo;L;\r
+A1B4;Lo;L;\r
+A1B5;Lo;L;\r
+A1B6;Lo;L;\r
+A1B7;Lo;L;\r
+A1B8;Lo;L;\r
+A1B9;Lo;L;\r
+A1BA;Lo;L;\r
+A1BB;Lo;L;\r
+A1BC;Lo;L;\r
+A1BD;Lo;L;\r
+A1BE;Lo;L;\r
+A1BF;Lo;L;\r
+A1C0;Lo;L;\r
+A1C1;Lo;L;\r
+A1C2;Lo;L;\r
+A1C3;Lo;L;\r
+A1C4;Lo;L;\r
+A1C5;Lo;L;\r
+A1C6;Lo;L;\r
+A1C7;Lo;L;\r
+A1C8;Lo;L;\r
+A1C9;Lo;L;\r
+A1CA;Lo;L;\r
+A1CB;Lo;L;\r
+A1CC;Lo;L;\r
+A1CD;Lo;L;\r
+A1CE;Lo;L;\r
+A1CF;Lo;L;\r
+A1D0;Lo;L;\r
+A1D1;Lo;L;\r
+A1D2;Lo;L;\r
+A1D3;Lo;L;\r
+A1D4;Lo;L;\r
+A1D5;Lo;L;\r
+A1D6;Lo;L;\r
+A1D7;Lo;L;\r
+A1D8;Lo;L;\r
+A1D9;Lo;L;\r
+A1DA;Lo;L;\r
+A1DB;Lo;L;\r
+A1DC;Lo;L;\r
+A1DD;Lo;L;\r
+A1DE;Lo;L;\r
+A1DF;Lo;L;\r
+A1E0;Lo;L;\r
+A1E1;Lo;L;\r
+A1E2;Lo;L;\r
+A1E3;Lo;L;\r
+A1E4;Lo;L;\r
+A1E5;Lo;L;\r
+A1E6;Lo;L;\r
+A1E7;Lo;L;\r
+A1E8;Lo;L;\r
+A1E9;Lo;L;\r
+A1EA;Lo;L;\r
+A1EB;Lo;L;\r
+A1EC;Lo;L;\r
+A1ED;Lo;L;\r
+A1EE;Lo;L;\r
+A1EF;Lo;L;\r
+A1F0;Lo;L;\r
+A1F1;Lo;L;\r
+A1F2;Lo;L;\r
+A1F3;Lo;L;\r
+A1F4;Lo;L;\r
+A1F5;Lo;L;\r
+A1F6;Lo;L;\r
+A1F7;Lo;L;\r
+A1F8;Lo;L;\r
+A1F9;Lo;L;\r
+A1FA;Lo;L;\r
+A1FB;Lo;L;\r
+A1FC;Lo;L;\r
+A1FD;Lo;L;\r
+A1FE;Lo;L;\r
+A1FF;Lo;L;\r
+A200;Lo;L;\r
+A201;Lo;L;\r
+A202;Lo;L;\r
+A203;Lo;L;\r
+A204;Lo;L;\r
+A205;Lo;L;\r
+A206;Lo;L;\r
+A207;Lo;L;\r
+A208;Lo;L;\r
+A209;Lo;L;\r
+A20A;Lo;L;\r
+A20B;Lo;L;\r
+A20C;Lo;L;\r
+A20D;Lo;L;\r
+A20E;Lo;L;\r
+A20F;Lo;L;\r
+A210;Lo;L;\r
+A211;Lo;L;\r
+A212;Lo;L;\r
+A213;Lo;L;\r
+A214;Lo;L;\r
+A215;Lo;L;\r
+A216;Lo;L;\r
+A217;Lo;L;\r
+A218;Lo;L;\r
+A219;Lo;L;\r
+A21A;Lo;L;\r
+A21B;Lo;L;\r
+A21C;Lo;L;\r
+A21D;Lo;L;\r
+A21E;Lo;L;\r
+A21F;Lo;L;\r
+A220;Lo;L;\r
+A221;Lo;L;\r
+A222;Lo;L;\r
+A223;Lo;L;\r
+A224;Lo;L;\r
+A225;Lo;L;\r
+A226;Lo;L;\r
+A227;Lo;L;\r
+A228;Lo;L;\r
+A229;Lo;L;\r
+A22A;Lo;L;\r
+A22B;Lo;L;\r
+A22C;Lo;L;\r
+A22D;Lo;L;\r
+A22E;Lo;L;\r
+A22F;Lo;L;\r
+A230;Lo;L;\r
+A231;Lo;L;\r
+A232;Lo;L;\r
+A233;Lo;L;\r
+A234;Lo;L;\r
+A235;Lo;L;\r
+A236;Lo;L;\r
+A237;Lo;L;\r
+A238;Lo;L;\r
+A239;Lo;L;\r
+A23A;Lo;L;\r
+A23B;Lo;L;\r
+A23C;Lo;L;\r
+A23D;Lo;L;\r
+A23E;Lo;L;\r
+A23F;Lo;L;\r
+A240;Lo;L;\r
+A241;Lo;L;\r
+A242;Lo;L;\r
+A243;Lo;L;\r
+A244;Lo;L;\r
+A245;Lo;L;\r
+A246;Lo;L;\r
+A247;Lo;L;\r
+A248;Lo;L;\r
+A249;Lo;L;\r
+A24A;Lo;L;\r
+A24B;Lo;L;\r
+A24C;Lo;L;\r
+A24D;Lo;L;\r
+A24E;Lo;L;\r
+A24F;Lo;L;\r
+A250;Lo;L;\r
+A251;Lo;L;\r
+A252;Lo;L;\r
+A253;Lo;L;\r
+A254;Lo;L;\r
+A255;Lo;L;\r
+A256;Lo;L;\r
+A257;Lo;L;\r
+A258;Lo;L;\r
+A259;Lo;L;\r
+A25A;Lo;L;\r
+A25B;Lo;L;\r
+A25C;Lo;L;\r
+A25D;Lo;L;\r
+A25E;Lo;L;\r
+A25F;Lo;L;\r
+A260;Lo;L;\r
+A261;Lo;L;\r
+A262;Lo;L;\r
+A263;Lo;L;\r
+A264;Lo;L;\r
+A265;Lo;L;\r
+A266;Lo;L;\r
+A267;Lo;L;\r
+A268;Lo;L;\r
+A269;Lo;L;\r
+A26A;Lo;L;\r
+A26B;Lo;L;\r
+A26C;Lo;L;\r
+A26D;Lo;L;\r
+A26E;Lo;L;\r
+A26F;Lo;L;\r
+A270;Lo;L;\r
+A271;Lo;L;\r
+A272;Lo;L;\r
+A273;Lo;L;\r
+A274;Lo;L;\r
+A275;Lo;L;\r
+A276;Lo;L;\r
+A277;Lo;L;\r
+A278;Lo;L;\r
+A279;Lo;L;\r
+A27A;Lo;L;\r
+A27B;Lo;L;\r
+A27C;Lo;L;\r
+A27D;Lo;L;\r
+A27E;Lo;L;\r
+A27F;Lo;L;\r
+A280;Lo;L;\r
+A281;Lo;L;\r
+A282;Lo;L;\r
+A283;Lo;L;\r
+A284;Lo;L;\r
+A285;Lo;L;\r
+A286;Lo;L;\r
+A287;Lo;L;\r
+A288;Lo;L;\r
+A289;Lo;L;\r
+A28A;Lo;L;\r
+A28B;Lo;L;\r
+A28C;Lo;L;\r
+A28D;Lo;L;\r
+A28E;Lo;L;\r
+A28F;Lo;L;\r
+A290;Lo;L;\r
+A291;Lo;L;\r
+A292;Lo;L;\r
+A293;Lo;L;\r
+A294;Lo;L;\r
+A295;Lo;L;\r
+A296;Lo;L;\r
+A297;Lo;L;\r
+A298;Lo;L;\r
+A299;Lo;L;\r
+A29A;Lo;L;\r
+A29B;Lo;L;\r
+A29C;Lo;L;\r
+A29D;Lo;L;\r
+A29E;Lo;L;\r
+A29F;Lo;L;\r
+A2A0;Lo;L;\r
+A2A1;Lo;L;\r
+A2A2;Lo;L;\r
+A2A3;Lo;L;\r
+A2A4;Lo;L;\r
+A2A5;Lo;L;\r
+A2A6;Lo;L;\r
+A2A7;Lo;L;\r
+A2A8;Lo;L;\r
+A2A9;Lo;L;\r
+A2AA;Lo;L;\r
+A2AB;Lo;L;\r
+A2AC;Lo;L;\r
+A2AD;Lo;L;\r
+A2AE;Lo;L;\r
+A2AF;Lo;L;\r
+A2B0;Lo;L;\r
+A2B1;Lo;L;\r
+A2B2;Lo;L;\r
+A2B3;Lo;L;\r
+A2B4;Lo;L;\r
+A2B5;Lo;L;\r
+A2B6;Lo;L;\r
+A2B7;Lo;L;\r
+A2B8;Lo;L;\r
+A2B9;Lo;L;\r
+A2BA;Lo;L;\r
+A2BB;Lo;L;\r
+A2BC;Lo;L;\r
+A2BD;Lo;L;\r
+A2BE;Lo;L;\r
+A2BF;Lo;L;\r
+A2C0;Lo;L;\r
+A2C1;Lo;L;\r
+A2C2;Lo;L;\r
+A2C3;Lo;L;\r
+A2C4;Lo;L;\r
+A2C5;Lo;L;\r
+A2C6;Lo;L;\r
+A2C7;Lo;L;\r
+A2C8;Lo;L;\r
+A2C9;Lo;L;\r
+A2CA;Lo;L;\r
+A2CB;Lo;L;\r
+A2CC;Lo;L;\r
+A2CD;Lo;L;\r
+A2CE;Lo;L;\r
+A2CF;Lo;L;\r
+A2D0;Lo;L;\r
+A2D1;Lo;L;\r
+A2D2;Lo;L;\r
+A2D3;Lo;L;\r
+A2D4;Lo;L;\r
+A2D5;Lo;L;\r
+A2D6;Lo;L;\r
+A2D7;Lo;L;\r
+A2D8;Lo;L;\r
+A2D9;Lo;L;\r
+A2DA;Lo;L;\r
+A2DB;Lo;L;\r
+A2DC;Lo;L;\r
+A2DD;Lo;L;\r
+A2DE;Lo;L;\r
+A2DF;Lo;L;\r
+A2E0;Lo;L;\r
+A2E1;Lo;L;\r
+A2E2;Lo;L;\r
+A2E3;Lo;L;\r
+A2E4;Lo;L;\r
+A2E5;Lo;L;\r
+A2E6;Lo;L;\r
+A2E7;Lo;L;\r
+A2E8;Lo;L;\r
+A2E9;Lo;L;\r
+A2EA;Lo;L;\r
+A2EB;Lo;L;\r
+A2EC;Lo;L;\r
+A2ED;Lo;L;\r
+A2EE;Lo;L;\r
+A2EF;Lo;L;\r
+A2F0;Lo;L;\r
+A2F1;Lo;L;\r
+A2F2;Lo;L;\r
+A2F3;Lo;L;\r
+A2F4;Lo;L;\r
+A2F5;Lo;L;\r
+A2F6;Lo;L;\r
+A2F7;Lo;L;\r
+A2F8;Lo;L;\r
+A2F9;Lo;L;\r
+A2FA;Lo;L;\r
+A2FB;Lo;L;\r
+A2FC;Lo;L;\r
+A2FD;Lo;L;\r
+A2FE;Lo;L;\r
+A2FF;Lo;L;\r
+A300;Lo;L;\r
+A301;Lo;L;\r
+A302;Lo;L;\r
+A303;Lo;L;\r
+A304;Lo;L;\r
+A305;Lo;L;\r
+A306;Lo;L;\r
+A307;Lo;L;\r
+A308;Lo;L;\r
+A309;Lo;L;\r
+A30A;Lo;L;\r
+A30B;Lo;L;\r
+A30C;Lo;L;\r
+A30D;Lo;L;\r
+A30E;Lo;L;\r
+A30F;Lo;L;\r
+A310;Lo;L;\r
+A311;Lo;L;\r
+A312;Lo;L;\r
+A313;Lo;L;\r
+A314;Lo;L;\r
+A315;Lo;L;\r
+A316;Lo;L;\r
+A317;Lo;L;\r
+A318;Lo;L;\r
+A319;Lo;L;\r
+A31A;Lo;L;\r
+A31B;Lo;L;\r
+A31C;Lo;L;\r
+A31D;Lo;L;\r
+A31E;Lo;L;\r
+A31F;Lo;L;\r
+A320;Lo;L;\r
+A321;Lo;L;\r
+A322;Lo;L;\r
+A323;Lo;L;\r
+A324;Lo;L;\r
+A325;Lo;L;\r
+A326;Lo;L;\r
+A327;Lo;L;\r
+A328;Lo;L;\r
+A329;Lo;L;\r
+A32A;Lo;L;\r
+A32B;Lo;L;\r
+A32C;Lo;L;\r
+A32D;Lo;L;\r
+A32E;Lo;L;\r
+A32F;Lo;L;\r
+A330;Lo;L;\r
+A331;Lo;L;\r
+A332;Lo;L;\r
+A333;Lo;L;\r
+A334;Lo;L;\r
+A335;Lo;L;\r
+A336;Lo;L;\r
+A337;Lo;L;\r
+A338;Lo;L;\r
+A339;Lo;L;\r
+A33A;Lo;L;\r
+A33B;Lo;L;\r
+A33C;Lo;L;\r
+A33D;Lo;L;\r
+A33E;Lo;L;\r
+A33F;Lo;L;\r
+A340;Lo;L;\r
+A341;Lo;L;\r
+A342;Lo;L;\r
+A343;Lo;L;\r
+A344;Lo;L;\r
+A345;Lo;L;\r
+A346;Lo;L;\r
+A347;Lo;L;\r
+A348;Lo;L;\r
+A349;Lo;L;\r
+A34A;Lo;L;\r
+A34B;Lo;L;\r
+A34C;Lo;L;\r
+A34D;Lo;L;\r
+A34E;Lo;L;\r
+A34F;Lo;L;\r
+A350;Lo;L;\r
+A351;Lo;L;\r
+A352;Lo;L;\r
+A353;Lo;L;\r
+A354;Lo;L;\r
+A355;Lo;L;\r
+A356;Lo;L;\r
+A357;Lo;L;\r
+A358;Lo;L;\r
+A359;Lo;L;\r
+A35A;Lo;L;\r
+A35B;Lo;L;\r
+A35C;Lo;L;\r
+A35D;Lo;L;\r
+A35E;Lo;L;\r
+A35F;Lo;L;\r
+A360;Lo;L;\r
+A361;Lo;L;\r
+A362;Lo;L;\r
+A363;Lo;L;\r
+A364;Lo;L;\r
+A365;Lo;L;\r
+A366;Lo;L;\r
+A367;Lo;L;\r
+A368;Lo;L;\r
+A369;Lo;L;\r
+A36A;Lo;L;\r
+A36B;Lo;L;\r
+A36C;Lo;L;\r
+A36D;Lo;L;\r
+A36E;Lo;L;\r
+A36F;Lo;L;\r
+A370;Lo;L;\r
+A371;Lo;L;\r
+A372;Lo;L;\r
+A373;Lo;L;\r
+A374;Lo;L;\r
+A375;Lo;L;\r
+A376;Lo;L;\r
+A377;Lo;L;\r
+A378;Lo;L;\r
+A379;Lo;L;\r
+A37A;Lo;L;\r
+A37B;Lo;L;\r
+A37C;Lo;L;\r
+A37D;Lo;L;\r
+A37E;Lo;L;\r
+A37F;Lo;L;\r
+A380;Lo;L;\r
+A381;Lo;L;\r
+A382;Lo;L;\r
+A383;Lo;L;\r
+A384;Lo;L;\r
+A385;Lo;L;\r
+A386;Lo;L;\r
+A387;Lo;L;\r
+A388;Lo;L;\r
+A389;Lo;L;\r
+A38A;Lo;L;\r
+A38B;Lo;L;\r
+A38C;Lo;L;\r
+A38D;Lo;L;\r
+A38E;Lo;L;\r
+A38F;Lo;L;\r
+A390;Lo;L;\r
+A391;Lo;L;\r
+A392;Lo;L;\r
+A393;Lo;L;\r
+A394;Lo;L;\r
+A395;Lo;L;\r
+A396;Lo;L;\r
+A397;Lo;L;\r
+A398;Lo;L;\r
+A399;Lo;L;\r
+A39A;Lo;L;\r
+A39B;Lo;L;\r
+A39C;Lo;L;\r
+A39D;Lo;L;\r
+A39E;Lo;L;\r
+A39F;Lo;L;\r
+A3A0;Lo;L;\r
+A3A1;Lo;L;\r
+A3A2;Lo;L;\r
+A3A3;Lo;L;\r
+A3A4;Lo;L;\r
+A3A5;Lo;L;\r
+A3A6;Lo;L;\r
+A3A7;Lo;L;\r
+A3A8;Lo;L;\r
+A3A9;Lo;L;\r
+A3AA;Lo;L;\r
+A3AB;Lo;L;\r
+A3AC;Lo;L;\r
+A3AD;Lo;L;\r
+A3AE;Lo;L;\r
+A3AF;Lo;L;\r
+A3B0;Lo;L;\r
+A3B1;Lo;L;\r
+A3B2;Lo;L;\r
+A3B3;Lo;L;\r
+A3B4;Lo;L;\r
+A3B5;Lo;L;\r
+A3B6;Lo;L;\r
+A3B7;Lo;L;\r
+A3B8;Lo;L;\r
+A3B9;Lo;L;\r
+A3BA;Lo;L;\r
+A3BB;Lo;L;\r
+A3BC;Lo;L;\r
+A3BD;Lo;L;\r
+A3BE;Lo;L;\r
+A3BF;Lo;L;\r
+A3C0;Lo;L;\r
+A3C1;Lo;L;\r
+A3C2;Lo;L;\r
+A3C3;Lo;L;\r
+A3C4;Lo;L;\r
+A3C5;Lo;L;\r
+A3C6;Lo;L;\r
+A3C7;Lo;L;\r
+A3C8;Lo;L;\r
+A3C9;Lo;L;\r
+A3CA;Lo;L;\r
+A3CB;Lo;L;\r
+A3CC;Lo;L;\r
+A3CD;Lo;L;\r
+A3CE;Lo;L;\r
+A3CF;Lo;L;\r
+A3D0;Lo;L;\r
+A3D1;Lo;L;\r
+A3D2;Lo;L;\r
+A3D3;Lo;L;\r
+A3D4;Lo;L;\r
+A3D5;Lo;L;\r
+A3D6;Lo;L;\r
+A3D7;Lo;L;\r
+A3D8;Lo;L;\r
+A3D9;Lo;L;\r
+A3DA;Lo;L;\r
+A3DB;Lo;L;\r
+A3DC;Lo;L;\r
+A3DD;Lo;L;\r
+A3DE;Lo;L;\r
+A3DF;Lo;L;\r
+A3E0;Lo;L;\r
+A3E1;Lo;L;\r
+A3E2;Lo;L;\r
+A3E3;Lo;L;\r
+A3E4;Lo;L;\r
+A3E5;Lo;L;\r
+A3E6;Lo;L;\r
+A3E7;Lo;L;\r
+A3E8;Lo;L;\r
+A3E9;Lo;L;\r
+A3EA;Lo;L;\r
+A3EB;Lo;L;\r
+A3EC;Lo;L;\r
+A3ED;Lo;L;\r
+A3EE;Lo;L;\r
+A3EF;Lo;L;\r
+A3F0;Lo;L;\r
+A3F1;Lo;L;\r
+A3F2;Lo;L;\r
+A3F3;Lo;L;\r
+A3F4;Lo;L;\r
+A3F5;Lo;L;\r
+A3F6;Lo;L;\r
+A3F7;Lo;L;\r
+A3F8;Lo;L;\r
+A3F9;Lo;L;\r
+A3FA;Lo;L;\r
+A3FB;Lo;L;\r
+A3FC;Lo;L;\r
+A3FD;Lo;L;\r
+A3FE;Lo;L;\r
+A3FF;Lo;L;\r
+A400;Lo;L;\r
+A401;Lo;L;\r
+A402;Lo;L;\r
+A403;Lo;L;\r
+A404;Lo;L;\r
+A405;Lo;L;\r
+A406;Lo;L;\r
+A407;Lo;L;\r
+A408;Lo;L;\r
+A409;Lo;L;\r
+A40A;Lo;L;\r
+A40B;Lo;L;\r
+A40C;Lo;L;\r
+A40D;Lo;L;\r
+A40E;Lo;L;\r
+A40F;Lo;L;\r
+A410;Lo;L;\r
+A411;Lo;L;\r
+A412;Lo;L;\r
+A413;Lo;L;\r
+A414;Lo;L;\r
+A415;Lo;L;\r
+A416;Lo;L;\r
+A417;Lo;L;\r
+A418;Lo;L;\r
+A419;Lo;L;\r
+A41A;Lo;L;\r
+A41B;Lo;L;\r
+A41C;Lo;L;\r
+A41D;Lo;L;\r
+A41E;Lo;L;\r
+A41F;Lo;L;\r
+A420;Lo;L;\r
+A421;Lo;L;\r
+A422;Lo;L;\r
+A423;Lo;L;\r
+A424;Lo;L;\r
+A425;Lo;L;\r
+A426;Lo;L;\r
+A427;Lo;L;\r
+A428;Lo;L;\r
+A429;Lo;L;\r
+A42A;Lo;L;\r
+A42B;Lo;L;\r
+A42C;Lo;L;\r
+A42D;Lo;L;\r
+A42E;Lo;L;\r
+A42F;Lo;L;\r
+A430;Lo;L;\r
+A431;Lo;L;\r
+A432;Lo;L;\r
+A433;Lo;L;\r
+A434;Lo;L;\r
+A435;Lo;L;\r
+A436;Lo;L;\r
+A437;Lo;L;\r
+A438;Lo;L;\r
+A439;Lo;L;\r
+A43A;Lo;L;\r
+A43B;Lo;L;\r
+A43C;Lo;L;\r
+A43D;Lo;L;\r
+A43E;Lo;L;\r
+A43F;Lo;L;\r
+A440;Lo;L;\r
+A441;Lo;L;\r
+A442;Lo;L;\r
+A443;Lo;L;\r
+A444;Lo;L;\r
+A445;Lo;L;\r
+A446;Lo;L;\r
+A447;Lo;L;\r
+A448;Lo;L;\r
+A449;Lo;L;\r
+A44A;Lo;L;\r
+A44B;Lo;L;\r
+A44C;Lo;L;\r
+A44D;Lo;L;\r
+A44E;Lo;L;\r
+A44F;Lo;L;\r
+A450;Lo;L;\r
+A451;Lo;L;\r
+A452;Lo;L;\r
+A453;Lo;L;\r
+A454;Lo;L;\r
+A455;Lo;L;\r
+A456;Lo;L;\r
+A457;Lo;L;\r
+A458;Lo;L;\r
+A459;Lo;L;\r
+A45A;Lo;L;\r
+A45B;Lo;L;\r
+A45C;Lo;L;\r
+A45D;Lo;L;\r
+A45E;Lo;L;\r
+A45F;Lo;L;\r
+A460;Lo;L;\r
+A461;Lo;L;\r
+A462;Lo;L;\r
+A463;Lo;L;\r
+A464;Lo;L;\r
+A465;Lo;L;\r
+A466;Lo;L;\r
+A467;Lo;L;\r
+A468;Lo;L;\r
+A469;Lo;L;\r
+A46A;Lo;L;\r
+A46B;Lo;L;\r
+A46C;Lo;L;\r
+A46D;Lo;L;\r
+A46E;Lo;L;\r
+A46F;Lo;L;\r
+A470;Lo;L;\r
+A471;Lo;L;\r
+A472;Lo;L;\r
+A473;Lo;L;\r
+A474;Lo;L;\r
+A475;Lo;L;\r
+A476;Lo;L;\r
+A477;Lo;L;\r
+A478;Lo;L;\r
+A479;Lo;L;\r
+A47A;Lo;L;\r
+A47B;Lo;L;\r
+A47C;Lo;L;\r
+A47D;Lo;L;\r
+A47E;Lo;L;\r
+A47F;Lo;L;\r
+A480;Lo;L;\r
+A481;Lo;L;\r
+A482;Lo;L;\r
+A483;Lo;L;\r
+A484;Lo;L;\r
+A485;Lo;L;\r
+A486;Lo;L;\r
+A487;Lo;L;\r
+A488;Lo;L;\r
+A489;Lo;L;\r
+A48A;Lo;L;\r
+A48B;Lo;L;\r
+A48C;Lo;L;\r
+A490;So;ON;\r
+A491;So;ON;\r
+A492;So;ON;\r
+A493;So;ON;\r
+A494;So;ON;\r
+A495;So;ON;\r
+A496;So;ON;\r
+A497;So;ON;\r
+A498;So;ON;\r
+A499;So;ON;\r
+A49A;So;ON;\r
+A49B;So;ON;\r
+A49C;So;ON;\r
+A49D;So;ON;\r
+A49E;So;ON;\r
+A49F;So;ON;\r
+A4A0;So;ON;\r
+A4A1;So;ON;\r
+A4A4;So;ON;\r
+A4A5;So;ON;\r
+A4A6;So;ON;\r
+A4A7;So;ON;\r
+A4A8;So;ON;\r
+A4A9;So;ON;\r
+A4AA;So;ON;\r
+A4AB;So;ON;\r
+A4AC;So;ON;\r
+A4AD;So;ON;\r
+A4AE;So;ON;\r
+A4AF;So;ON;\r
+A4B0;So;ON;\r
+A4B1;So;ON;\r
+A4B2;So;ON;\r
+A4B3;So;ON;\r
+A4B5;So;ON;\r
+A4B6;So;ON;\r
+A4B7;So;ON;\r
+A4B8;So;ON;\r
+A4B9;So;ON;\r
+A4BA;So;ON;\r
+A4BB;So;ON;\r
+A4BC;So;ON;\r
+A4BD;So;ON;\r
+A4BE;So;ON;\r
+A4BF;So;ON;\r
+A4C0;So;ON;\r
+A4C2;So;ON;\r
+A4C3;So;ON;\r
+A4C4;So;ON;\r
+A4C6;So;ON;\r
+AC00;Lo;L;\r
+D7A3;Lo;L;\r
+D800;Cs;L;\r
+DB7F;Cs;L;\r
+DB80;Cs;L;\r
+DBFF;Cs;L;\r
+DC00;Cs;L;\r
+DFFF;Cs;L;\r
+E000;Co;L;\r
+F8FF;Co;L;\r
+F900;Lo;L;\r
+F901;Lo;L;\r
+F902;Lo;L;\r
+F903;Lo;L;\r
+F904;Lo;L;\r
+F905;Lo;L;\r
+F906;Lo;L;\r
+F907;Lo;L;\r
+F908;Lo;L;\r
+F909;Lo;L;\r
+F90A;Lo;L;\r
+F90B;Lo;L;\r
+F90C;Lo;L;\r
+F90D;Lo;L;\r
+F90E;Lo;L;\r
+F90F;Lo;L;\r
+F910;Lo;L;\r
+F911;Lo;L;\r
+F912;Lo;L;\r
+F913;Lo;L;\r
+F914;Lo;L;\r
+F915;Lo;L;\r
+F916;Lo;L;\r
+F917;Lo;L;\r
+F918;Lo;L;\r
+F919;Lo;L;\r
+F91A;Lo;L;\r
+F91B;Lo;L;\r
+F91C;Lo;L;\r
+F91D;Lo;L;\r
+F91E;Lo;L;\r
+F91F;Lo;L;\r
+F920;Lo;L;\r
+F921;Lo;L;\r
+F922;Lo;L;\r
+F923;Lo;L;\r
+F924;Lo;L;\r
+F925;Lo;L;\r
+F926;Lo;L;\r
+F927;Lo;L;\r
+F928;Lo;L;\r
+F929;Lo;L;\r
+F92A;Lo;L;\r
+F92B;Lo;L;\r
+F92C;Lo;L;\r
+F92D;Lo;L;\r
+F92E;Lo;L;\r
+F92F;Lo;L;\r
+F930;Lo;L;\r
+F931;Lo;L;\r
+F932;Lo;L;\r
+F933;Lo;L;\r
+F934;Lo;L;\r
+F935;Lo;L;\r
+F936;Lo;L;\r
+F937;Lo;L;\r
+F938;Lo;L;\r
+F939;Lo;L;\r
+F93A;Lo;L;\r
+F93B;Lo;L;\r
+F93C;Lo;L;\r
+F93D;Lo;L;\r
+F93E;Lo;L;\r
+F93F;Lo;L;\r
+F940;Lo;L;\r
+F941;Lo;L;\r
+F942;Lo;L;\r
+F943;Lo;L;\r
+F944;Lo;L;\r
+F945;Lo;L;\r
+F946;Lo;L;\r
+F947;Lo;L;\r
+F948;Lo;L;\r
+F949;Lo;L;\r
+F94A;Lo;L;\r
+F94B;Lo;L;\r
+F94C;Lo;L;\r
+F94D;Lo;L;\r
+F94E;Lo;L;\r
+F94F;Lo;L;\r
+F950;Lo;L;\r
+F951;Lo;L;\r
+F952;Lo;L;\r
+F953;Lo;L;\r
+F954;Lo;L;\r
+F955;Lo;L;\r
+F956;Lo;L;\r
+F957;Lo;L;\r
+F958;Lo;L;\r
+F959;Lo;L;\r
+F95A;Lo;L;\r
+F95B;Lo;L;\r
+F95C;Lo;L;\r
+F95D;Lo;L;\r
+F95E;Lo;L;\r
+F95F;Lo;L;\r
+F960;Lo;L;\r
+F961;Lo;L;\r
+F962;Lo;L;\r
+F963;Lo;L;\r
+F964;Lo;L;\r
+F965;Lo;L;\r
+F966;Lo;L;\r
+F967;Lo;L;\r
+F968;Lo;L;\r
+F969;Lo;L;\r
+F96A;Lo;L;\r
+F96B;Lo;L;\r
+F96C;Lo;L;\r
+F96D;Lo;L;\r
+F96E;Lo;L;\r
+F96F;Lo;L;\r
+F970;Lo;L;\r
+F971;Lo;L;\r
+F972;Lo;L;\r
+F973;Lo;L;\r
+F974;Lo;L;\r
+F975;Lo;L;\r
+F976;Lo;L;\r
+F977;Lo;L;\r
+F978;Lo;L;\r
+F979;Lo;L;\r
+F97A;Lo;L;\r
+F97B;Lo;L;\r
+F97C;Lo;L;\r
+F97D;Lo;L;\r
+F97E;Lo;L;\r
+F97F;Lo;L;\r
+F980;Lo;L;\r
+F981;Lo;L;\r
+F982;Lo;L;\r
+F983;Lo;L;\r
+F984;Lo;L;\r
+F985;Lo;L;\r
+F986;Lo;L;\r
+F987;Lo;L;\r
+F988;Lo;L;\r
+F989;Lo;L;\r
+F98A;Lo;L;\r
+F98B;Lo;L;\r
+F98C;Lo;L;\r
+F98D;Lo;L;\r
+F98E;Lo;L;\r
+F98F;Lo;L;\r
+F990;Lo;L;\r
+F991;Lo;L;\r
+F992;Lo;L;\r
+F993;Lo;L;\r
+F994;Lo;L;\r
+F995;Lo;L;\r
+F996;Lo;L;\r
+F997;Lo;L;\r
+F998;Lo;L;\r
+F999;Lo;L;\r
+F99A;Lo;L;\r
+F99B;Lo;L;\r
+F99C;Lo;L;\r
+F99D;Lo;L;\r
+F99E;Lo;L;\r
+F99F;Lo;L;\r
+F9A0;Lo;L;\r
+F9A1;Lo;L;\r
+F9A2;Lo;L;\r
+F9A3;Lo;L;\r
+F9A4;Lo;L;\r
+F9A5;Lo;L;\r
+F9A6;Lo;L;\r
+F9A7;Lo;L;\r
+F9A8;Lo;L;\r
+F9A9;Lo;L;\r
+F9AA;Lo;L;\r
+F9AB;Lo;L;\r
+F9AC;Lo;L;\r
+F9AD;Lo;L;\r
+F9AE;Lo;L;\r
+F9AF;Lo;L;\r
+F9B0;Lo;L;\r
+F9B1;Lo;L;\r
+F9B2;Lo;L;\r
+F9B3;Lo;L;\r
+F9B4;Lo;L;\r
+F9B5;Lo;L;\r
+F9B6;Lo;L;\r
+F9B7;Lo;L;\r
+F9B8;Lo;L;\r
+F9B9;Lo;L;\r
+F9BA;Lo;L;\r
+F9BB;Lo;L;\r
+F9BC;Lo;L;\r
+F9BD;Lo;L;\r
+F9BE;Lo;L;\r
+F9BF;Lo;L;\r
+F9C0;Lo;L;\r
+F9C1;Lo;L;\r
+F9C2;Lo;L;\r
+F9C3;Lo;L;\r
+F9C4;Lo;L;\r
+F9C5;Lo;L;\r
+F9C6;Lo;L;\r
+F9C7;Lo;L;\r
+F9C8;Lo;L;\r
+F9C9;Lo;L;\r
+F9CA;Lo;L;\r
+F9CB;Lo;L;\r
+F9CC;Lo;L;\r
+F9CD;Lo;L;\r
+F9CE;Lo;L;\r
+F9CF;Lo;L;\r
+F9D0;Lo;L;\r
+F9D1;Lo;L;\r
+F9D2;Lo;L;\r
+F9D3;Lo;L;\r
+F9D4;Lo;L;\r
+F9D5;Lo;L;\r
+F9D6;Lo;L;\r
+F9D7;Lo;L;\r
+F9D8;Lo;L;\r
+F9D9;Lo;L;\r
+F9DA;Lo;L;\r
+F9DB;Lo;L;\r
+F9DC;Lo;L;\r
+F9DD;Lo;L;\r
+F9DE;Lo;L;\r
+F9DF;Lo;L;\r
+F9E0;Lo;L;\r
+F9E1;Lo;L;\r
+F9E2;Lo;L;\r
+F9E3;Lo;L;\r
+F9E4;Lo;L;\r
+F9E5;Lo;L;\r
+F9E6;Lo;L;\r
+F9E7;Lo;L;\r
+F9E8;Lo;L;\r
+F9E9;Lo;L;\r
+F9EA;Lo;L;\r
+F9EB;Lo;L;\r
+F9EC;Lo;L;\r
+F9ED;Lo;L;\r
+F9EE;Lo;L;\r
+F9EF;Lo;L;\r
+F9F0;Lo;L;\r
+F9F1;Lo;L;\r
+F9F2;Lo;L;\r
+F9F3;Lo;L;\r
+F9F4;Lo;L;\r
+F9F5;Lo;L;\r
+F9F6;Lo;L;\r
+F9F7;Lo;L;\r
+F9F8;Lo;L;\r
+F9F9;Lo;L;\r
+F9FA;Lo;L;\r
+F9FB;Lo;L;\r
+F9FC;Lo;L;\r
+F9FD;Lo;L;\r
+F9FE;Lo;L;\r
+F9FF;Lo;L;\r
+FA00;Lo;L;\r
+FA01;Lo;L;\r
+FA02;Lo;L;\r
+FA03;Lo;L;\r
+FA04;Lo;L;\r
+FA05;Lo;L;\r
+FA06;Lo;L;\r
+FA07;Lo;L;\r
+FA08;Lo;L;\r
+FA09;Lo;L;\r
+FA0A;Lo;L;\r
+FA0B;Lo;L;\r
+FA0C;Lo;L;\r
+FA0D;Lo;L;\r
+FA0E;Lo;L;\r
+FA0F;Lo;L;\r
+FA10;Lo;L;\r
+FA11;Lo;L;\r
+FA12;Lo;L;\r
+FA13;Lo;L;\r
+FA14;Lo;L;\r
+FA15;Lo;L;\r
+FA16;Lo;L;\r
+FA17;Lo;L;\r
+FA18;Lo;L;\r
+FA19;Lo;L;\r
+FA1A;Lo;L;\r
+FA1B;Lo;L;\r
+FA1C;Lo;L;\r
+FA1D;Lo;L;\r
+FA1E;Lo;L;\r
+FA1F;Lo;L;\r
+FA20;Lo;L;\r
+FA21;Lo;L;\r
+FA22;Lo;L;\r
+FA23;Lo;L;\r
+FA24;Lo;L;\r
+FA25;Lo;L;\r
+FA26;Lo;L;\r
+FA27;Lo;L;\r
+FA28;Lo;L;\r
+FA29;Lo;L;\r
+FA2A;Lo;L;\r
+FA2B;Lo;L;\r
+FA2C;Lo;L;\r
+FA2D;Lo;L;\r
+FB00;Ll;L;\r
+FB01;Ll;L;\r
+FB02;Ll;L;\r
+FB03;Ll;L;\r
+FB04;Ll;L;\r
+FB05;Ll;L;\r
+FB06;Ll;L;\r
+FB13;Ll;L;\r
+FB14;Ll;L;\r
+FB15;Ll;L;\r
+FB16;Ll;L;\r
+FB17;Ll;L;\r
+FB1D;Lo;R;\r
+FB1E;Mn;NSM;\r
+FB1F;Lo;R;\r
+FB20;Lo;R;\r
+FB21;Lo;R;\r
+FB22;Lo;R;\r
+FB23;Lo;R;\r
+FB24;Lo;R;\r
+FB25;Lo;R;\r
+FB26;Lo;R;\r
+FB27;Lo;R;\r
+FB28;Lo;R;\r
+FB29;Sm;ET;\r
+FB2A;Lo;R;\r
+FB2B;Lo;R;\r
+FB2C;Lo;R;\r
+FB2D;Lo;R;\r
+FB2E;Lo;R;\r
+FB2F;Lo;R;\r
+FB30;Lo;R;\r
+FB31;Lo;R;\r
+FB32;Lo;R;\r
+FB33;Lo;R;\r
+FB34;Lo;R;\r
+FB35;Lo;R;\r
+FB36;Lo;R;\r
+FB38;Lo;R;\r
+FB39;Lo;R;\r
+FB3A;Lo;R;\r
+FB3B;Lo;R;\r
+FB3C;Lo;R;\r
+FB3E;Lo;R;\r
+FB40;Lo;R;\r
+FB41;Lo;R;\r
+FB43;Lo;R;\r
+FB44;Lo;R;\r
+FB46;Lo;R;\r
+FB47;Lo;R;\r
+FB48;Lo;R;\r
+FB49;Lo;R;\r
+FB4A;Lo;R;\r
+FB4B;Lo;R;\r
+FB4C;Lo;R;\r
+FB4D;Lo;R;\r
+FB4E;Lo;R;\r
+FB4F;Lo;R;\r
+FB50;Lo;AL;\r
+FB51;Lo;AL;\r
+FB52;Lo;AL;\r
+FB53;Lo;AL;\r
+FB54;Lo;AL;\r
+FB55;Lo;AL;\r
+FB56;Lo;AL;\r
+FB57;Lo;AL;\r
+FB58;Lo;AL;\r
+FB59;Lo;AL;\r
+FB5A;Lo;AL;\r
+FB5B;Lo;AL;\r
+FB5C;Lo;AL;\r
+FB5D;Lo;AL;\r
+FB5E;Lo;AL;\r
+FB5F;Lo;AL;\r
+FB60;Lo;AL;\r
+FB61;Lo;AL;\r
+FB62;Lo;AL;\r
+FB63;Lo;AL;\r
+FB64;Lo;AL;\r
+FB65;Lo;AL;\r
+FB66;Lo;AL;\r
+FB67;Lo;AL;\r
+FB68;Lo;AL;\r
+FB69;Lo;AL;\r
+FB6A;Lo;AL;\r
+FB6B;Lo;AL;\r
+FB6C;Lo;AL;\r
+FB6D;Lo;AL;\r
+FB6E;Lo;AL;\r
+FB6F;Lo;AL;\r
+FB70;Lo;AL;\r
+FB71;Lo;AL;\r
+FB72;Lo;AL;\r
+FB73;Lo;AL;\r
+FB74;Lo;AL;\r
+FB75;Lo;AL;\r
+FB76;Lo;AL;\r
+FB77;Lo;AL;\r
+FB78;Lo;AL;\r
+FB79;Lo;AL;\r
+FB7A;Lo;AL;\r
+FB7B;Lo;AL;\r
+FB7C;Lo;AL;\r
+FB7D;Lo;AL;\r
+FB7E;Lo;AL;\r
+FB7F;Lo;AL;\r
+FB80;Lo;AL;\r
+FB81;Lo;AL;\r
+FB82;Lo;AL;\r
+FB83;Lo;AL;\r
+FB84;Lo;AL;\r
+FB85;Lo;AL;\r
+FB86;Lo;AL;\r
+FB87;Lo;AL;\r
+FB88;Lo;AL;\r
+FB89;Lo;AL;\r
+FB8A;Lo;AL;\r
+FB8B;Lo;AL;\r
+FB8C;Lo;AL;\r
+FB8D;Lo;AL;\r
+FB8E;Lo;AL;\r
+FB8F;Lo;AL;\r
+FB90;Lo;AL;\r
+FB91;Lo;AL;\r
+FB92;Lo;AL;\r
+FB93;Lo;AL;\r
+FB94;Lo;AL;\r
+FB95;Lo;AL;\r
+FB96;Lo;AL;\r
+FB97;Lo;AL;\r
+FB98;Lo;AL;\r
+FB99;Lo;AL;\r
+FB9A;Lo;AL;\r
+FB9B;Lo;AL;\r
+FB9C;Lo;AL;\r
+FB9D;Lo;AL;\r
+FB9E;Lo;AL;\r
+FB9F;Lo;AL;\r
+FBA0;Lo;AL;\r
+FBA1;Lo;AL;\r
+FBA2;Lo;AL;\r
+FBA3;Lo;AL;\r
+FBA4;Lo;AL;\r
+FBA5;Lo;AL;\r
+FBA6;Lo;AL;\r
+FBA7;Lo;AL;\r
+FBA8;Lo;AL;\r
+FBA9;Lo;AL;\r
+FBAA;Lo;AL;\r
+FBAB;Lo;AL;\r
+FBAC;Lo;AL;\r
+FBAD;Lo;AL;\r
+FBAE;Lo;AL;\r
+FBAF;Lo;AL;\r
+FBB0;Lo;AL;\r
+FBB1;Lo;AL;\r
+FBD3;Lo;AL;\r
+FBD4;Lo;AL;\r
+FBD5;Lo;AL;\r
+FBD6;Lo;AL;\r
+FBD7;Lo;AL;\r
+FBD8;Lo;AL;\r
+FBD9;Lo;AL;\r
+FBDA;Lo;AL;\r
+FBDB;Lo;AL;\r
+FBDC;Lo;AL;\r
+FBDD;Lo;AL;\r
+FBDE;Lo;AL;\r
+FBDF;Lo;AL;\r
+FBE0;Lo;AL;\r
+FBE1;Lo;AL;\r
+FBE2;Lo;AL;\r
+FBE3;Lo;AL;\r
+FBE4;Lo;AL;\r
+FBE5;Lo;AL;\r
+FBE6;Lo;AL;\r
+FBE7;Lo;AL;\r
+FBE8;Lo;AL;\r
+FBE9;Lo;AL;\r
+FBEA;Lo;AL;\r
+FBEB;Lo;AL;\r
+FBEC;Lo;AL;\r
+FBED;Lo;AL;\r
+FBEE;Lo;AL;\r
+FBEF;Lo;AL;\r
+FBF0;Lo;AL;\r
+FBF1;Lo;AL;\r
+FBF2;Lo;AL;\r
+FBF3;Lo;AL;\r
+FBF4;Lo;AL;\r
+FBF5;Lo;AL;\r
+FBF6;Lo;AL;\r
+FBF7;Lo;AL;\r
+FBF8;Lo;AL;\r
+FBF9;Lo;AL;\r
+FBFA;Lo;AL;\r
+FBFB;Lo;AL;\r
+FBFC;Lo;AL;\r
+FBFD;Lo;AL;\r
+FBFE;Lo;AL;\r
+FBFF;Lo;AL;\r
+FC00;Lo;AL;\r
+FC01;Lo;AL;\r
+FC02;Lo;AL;\r
+FC03;Lo;AL;\r
+FC04;Lo;AL;\r
+FC05;Lo;AL;\r
+FC06;Lo;AL;\r
+FC07;Lo;AL;\r
+FC08;Lo;AL;\r
+FC09;Lo;AL;\r
+FC0A;Lo;AL;\r
+FC0B;Lo;AL;\r
+FC0C;Lo;AL;\r
+FC0D;Lo;AL;\r
+FC0E;Lo;AL;\r
+FC0F;Lo;AL;\r
+FC10;Lo;AL;\r
+FC11;Lo;AL;\r
+FC12;Lo;AL;\r
+FC13;Lo;AL;\r
+FC14;Lo;AL;\r
+FC15;Lo;AL;\r
+FC16;Lo;AL;\r
+FC17;Lo;AL;\r
+FC18;Lo;AL;\r
+FC19;Lo;AL;\r
+FC1A;Lo;AL;\r
+FC1B;Lo;AL;\r
+FC1C;Lo;AL;\r
+FC1D;Lo;AL;\r
+FC1E;Lo;AL;\r
+FC1F;Lo;AL;\r
+FC20;Lo;AL;\r
+FC21;Lo;AL;\r
+FC22;Lo;AL;\r
+FC23;Lo;AL;\r
+FC24;Lo;AL;\r
+FC25;Lo;AL;\r
+FC26;Lo;AL;\r
+FC27;Lo;AL;\r
+FC28;Lo;AL;\r
+FC29;Lo;AL;\r
+FC2A;Lo;AL;\r
+FC2B;Lo;AL;\r
+FC2C;Lo;AL;\r
+FC2D;Lo;AL;\r
+FC2E;Lo;AL;\r
+FC2F;Lo;AL;\r
+FC30;Lo;AL;\r
+FC31;Lo;AL;\r
+FC32;Lo;AL;\r
+FC33;Lo;AL;\r
+FC34;Lo;AL;\r
+FC35;Lo;AL;\r
+FC36;Lo;AL;\r
+FC37;Lo;AL;\r
+FC38;Lo;AL;\r
+FC39;Lo;AL;\r
+FC3A;Lo;AL;\r
+FC3B;Lo;AL;\r
+FC3C;Lo;AL;\r
+FC3D;Lo;AL;\r
+FC3E;Lo;AL;\r
+FC3F;Lo;AL;\r
+FC40;Lo;AL;\r
+FC41;Lo;AL;\r
+FC42;Lo;AL;\r
+FC43;Lo;AL;\r
+FC44;Lo;AL;\r
+FC45;Lo;AL;\r
+FC46;Lo;AL;\r
+FC47;Lo;AL;\r
+FC48;Lo;AL;\r
+FC49;Lo;AL;\r
+FC4A;Lo;AL;\r
+FC4B;Lo;AL;\r
+FC4C;Lo;AL;\r
+FC4D;Lo;AL;\r
+FC4E;Lo;AL;\r
+FC4F;Lo;AL;\r
+FC50;Lo;AL;\r
+FC51;Lo;AL;\r
+FC52;Lo;AL;\r
+FC53;Lo;AL;\r
+FC54;Lo;AL;\r
+FC55;Lo;AL;\r
+FC56;Lo;AL;\r
+FC57;Lo;AL;\r
+FC58;Lo;AL;\r
+FC59;Lo;AL;\r
+FC5A;Lo;AL;\r
+FC5B;Lo;AL;\r
+FC5C;Lo;AL;\r
+FC5D;Lo;AL;\r
+FC5E;Lo;AL;\r
+FC5F;Lo;AL;\r
+FC60;Lo;AL;\r
+FC61;Lo;AL;\r
+FC62;Lo;AL;\r
+FC63;Lo;AL;\r
+FC64;Lo;AL;\r
+FC65;Lo;AL;\r
+FC66;Lo;AL;\r
+FC67;Lo;AL;\r
+FC68;Lo;AL;\r
+FC69;Lo;AL;\r
+FC6A;Lo;AL;\r
+FC6B;Lo;AL;\r
+FC6C;Lo;AL;\r
+FC6D;Lo;AL;\r
+FC6E;Lo;AL;\r
+FC6F;Lo;AL;\r
+FC70;Lo;AL;\r
+FC71;Lo;AL;\r
+FC72;Lo;AL;\r
+FC73;Lo;AL;\r
+FC74;Lo;AL;\r
+FC75;Lo;AL;\r
+FC76;Lo;AL;\r
+FC77;Lo;AL;\r
+FC78;Lo;AL;\r
+FC79;Lo;AL;\r
+FC7A;Lo;AL;\r
+FC7B;Lo;AL;\r
+FC7C;Lo;AL;\r
+FC7D;Lo;AL;\r
+FC7E;Lo;AL;\r
+FC7F;Lo;AL;\r
+FC80;Lo;AL;\r
+FC81;Lo;AL;\r
+FC82;Lo;AL;\r
+FC83;Lo;AL;\r
+FC84;Lo;AL;\r
+FC85;Lo;AL;\r
+FC86;Lo;AL;\r
+FC87;Lo;AL;\r
+FC88;Lo;AL;\r
+FC89;Lo;AL;\r
+FC8A;Lo;AL;\r
+FC8B;Lo;AL;\r
+FC8C;Lo;AL;\r
+FC8D;Lo;AL;\r
+FC8E;Lo;AL;\r
+FC8F;Lo;AL;\r
+FC90;Lo;AL;\r
+FC91;Lo;AL;\r
+FC92;Lo;AL;\r
+FC93;Lo;AL;\r
+FC94;Lo;AL;\r
+FC95;Lo;AL;\r
+FC96;Lo;AL;\r
+FC97;Lo;AL;\r
+FC98;Lo;AL;\r
+FC99;Lo;AL;\r
+FC9A;Lo;AL;\r
+FC9B;Lo;AL;\r
+FC9C;Lo;AL;\r
+FC9D;Lo;AL;\r
+FC9E;Lo;AL;\r
+FC9F;Lo;AL;\r
+FCA0;Lo;AL;\r
+FCA1;Lo;AL;\r
+FCA2;Lo;AL;\r
+FCA3;Lo;AL;\r
+FCA4;Lo;AL;\r
+FCA5;Lo;AL;\r
+FCA6;Lo;AL;\r
+FCA7;Lo;AL;\r
+FCA8;Lo;AL;\r
+FCA9;Lo;AL;\r
+FCAA;Lo;AL;\r
+FCAB;Lo;AL;\r
+FCAC;Lo;AL;\r
+FCAD;Lo;AL;\r
+FCAE;Lo;AL;\r
+FCAF;Lo;AL;\r
+FCB0;Lo;AL;\r
+FCB1;Lo;AL;\r
+FCB2;Lo;AL;\r
+FCB3;Lo;AL;\r
+FCB4;Lo;AL;\r
+FCB5;Lo;AL;\r
+FCB6;Lo;AL;\r
+FCB7;Lo;AL;\r
+FCB8;Lo;AL;\r
+FCB9;Lo;AL;\r
+FCBA;Lo;AL;\r
+FCBB;Lo;AL;\r
+FCBC;Lo;AL;\r
+FCBD;Lo;AL;\r
+FCBE;Lo;AL;\r
+FCBF;Lo;AL;\r
+FCC0;Lo;AL;\r
+FCC1;Lo;AL;\r
+FCC2;Lo;AL;\r
+FCC3;Lo;AL;\r
+FCC4;Lo;AL;\r
+FCC5;Lo;AL;\r
+FCC6;Lo;AL;\r
+FCC7;Lo;AL;\r
+FCC8;Lo;AL;\r
+FCC9;Lo;AL;\r
+FCCA;Lo;AL;\r
+FCCB;Lo;AL;\r
+FCCC;Lo;AL;\r
+FCCD;Lo;AL;\r
+FCCE;Lo;AL;\r
+FCCF;Lo;AL;\r
+FCD0;Lo;AL;\r
+FCD1;Lo;AL;\r
+FCD2;Lo;AL;\r
+FCD3;Lo;AL;\r
+FCD4;Lo;AL;\r
+FCD5;Lo;AL;\r
+FCD6;Lo;AL;\r
+FCD7;Lo;AL;\r
+FCD8;Lo;AL;\r
+FCD9;Lo;AL;\r
+FCDA;Lo;AL;\r
+FCDB;Lo;AL;\r
+FCDC;Lo;AL;\r
+FCDD;Lo;AL;\r
+FCDE;Lo;AL;\r
+FCDF;Lo;AL;\r
+FCE0;Lo;AL;\r
+FCE1;Lo;AL;\r
+FCE2;Lo;AL;\r
+FCE3;Lo;AL;\r
+FCE4;Lo;AL;\r
+FCE5;Lo;AL;\r
+FCE6;Lo;AL;\r
+FCE7;Lo;AL;\r
+FCE8;Lo;AL;\r
+FCE9;Lo;AL;\r
+FCEA;Lo;AL;\r
+FCEB;Lo;AL;\r
+FCEC;Lo;AL;\r
+FCED;Lo;AL;\r
+FCEE;Lo;AL;\r
+FCEF;Lo;AL;\r
+FCF0;Lo;AL;\r
+FCF1;Lo;AL;\r
+FCF2;Lo;AL;\r
+FCF3;Lo;AL;\r
+FCF4;Lo;AL;\r
+FCF5;Lo;AL;\r
+FCF6;Lo;AL;\r
+FCF7;Lo;AL;\r
+FCF8;Lo;AL;\r
+FCF9;Lo;AL;\r
+FCFA;Lo;AL;\r
+FCFB;Lo;AL;\r
+FCFC;Lo;AL;\r
+FCFD;Lo;AL;\r
+FCFE;Lo;AL;\r
+FCFF;Lo;AL;\r
+FD00;Lo;AL;\r
+FD01;Lo;AL;\r
+FD02;Lo;AL;\r
+FD03;Lo;AL;\r
+FD04;Lo;AL;\r
+FD05;Lo;AL;\r
+FD06;Lo;AL;\r
+FD07;Lo;AL;\r
+FD08;Lo;AL;\r
+FD09;Lo;AL;\r
+FD0A;Lo;AL;\r
+FD0B;Lo;AL;\r
+FD0C;Lo;AL;\r
+FD0D;Lo;AL;\r
+FD0E;Lo;AL;\r
+FD0F;Lo;AL;\r
+FD10;Lo;AL;\r
+FD11;Lo;AL;\r
+FD12;Lo;AL;\r
+FD13;Lo;AL;\r
+FD14;Lo;AL;\r
+FD15;Lo;AL;\r
+FD16;Lo;AL;\r
+FD17;Lo;AL;\r
+FD18;Lo;AL;\r
+FD19;Lo;AL;\r
+FD1A;Lo;AL;\r
+FD1B;Lo;AL;\r
+FD1C;Lo;AL;\r
+FD1D;Lo;AL;\r
+FD1E;Lo;AL;\r
+FD1F;Lo;AL;\r
+FD20;Lo;AL;\r
+FD21;Lo;AL;\r
+FD22;Lo;AL;\r
+FD23;Lo;AL;\r
+FD24;Lo;AL;\r
+FD25;Lo;AL;\r
+FD26;Lo;AL;\r
+FD27;Lo;AL;\r
+FD28;Lo;AL;\r
+FD29;Lo;AL;\r
+FD2A;Lo;AL;\r
+FD2B;Lo;AL;\r
+FD2C;Lo;AL;\r
+FD2D;Lo;AL;\r
+FD2E;Lo;AL;\r
+FD2F;Lo;AL;\r
+FD30;Lo;AL;\r
+FD31;Lo;AL;\r
+FD32;Lo;AL;\r
+FD33;Lo;AL;\r
+FD34;Lo;AL;\r
+FD35;Lo;AL;\r
+FD36;Lo;AL;\r
+FD37;Lo;AL;\r
+FD38;Lo;AL;\r
+FD39;Lo;AL;\r
+FD3A;Lo;AL;\r
+FD3B;Lo;AL;\r
+FD3C;Lo;AL;\r
+FD3D;Lo;AL;\r
+FD3E;Ps;ON;\r
+FD3F;Pe;ON;\r
+FD50;Lo;AL;\r
+FD51;Lo;AL;\r
+FD52;Lo;AL;\r
+FD53;Lo;AL;\r
+FD54;Lo;AL;\r
+FD55;Lo;AL;\r
+FD56;Lo;AL;\r
+FD57;Lo;AL;\r
+FD58;Lo;AL;\r
+FD59;Lo;AL;\r
+FD5A;Lo;AL;\r
+FD5B;Lo;AL;\r
+FD5C;Lo;AL;\r
+FD5D;Lo;AL;\r
+FD5E;Lo;AL;\r
+FD5F;Lo;AL;\r
+FD60;Lo;AL;\r
+FD61;Lo;AL;\r
+FD62;Lo;AL;\r
+FD63;Lo;AL;\r
+FD64;Lo;AL;\r
+FD65;Lo;AL;\r
+FD66;Lo;AL;\r
+FD67;Lo;AL;\r
+FD68;Lo;AL;\r
+FD69;Lo;AL;\r
+FD6A;Lo;AL;\r
+FD6B;Lo;AL;\r
+FD6C;Lo;AL;\r
+FD6D;Lo;AL;\r
+FD6E;Lo;AL;\r
+FD6F;Lo;AL;\r
+FD70;Lo;AL;\r
+FD71;Lo;AL;\r
+FD72;Lo;AL;\r
+FD73;Lo;AL;\r
+FD74;Lo;AL;\r
+FD75;Lo;AL;\r
+FD76;Lo;AL;\r
+FD77;Lo;AL;\r
+FD78;Lo;AL;\r
+FD79;Lo;AL;\r
+FD7A;Lo;AL;\r
+FD7B;Lo;AL;\r
+FD7C;Lo;AL;\r
+FD7D;Lo;AL;\r
+FD7E;Lo;AL;\r
+FD7F;Lo;AL;\r
+FD80;Lo;AL;\r
+FD81;Lo;AL;\r
+FD82;Lo;AL;\r
+FD83;Lo;AL;\r
+FD84;Lo;AL;\r
+FD85;Lo;AL;\r
+FD86;Lo;AL;\r
+FD87;Lo;AL;\r
+FD88;Lo;AL;\r
+FD89;Lo;AL;\r
+FD8A;Lo;AL;\r
+FD8B;Lo;AL;\r
+FD8C;Lo;AL;\r
+FD8D;Lo;AL;\r
+FD8E;Lo;AL;\r
+FD8F;Lo;AL;\r
+FD92;Lo;AL;\r
+FD93;Lo;AL;\r
+FD94;Lo;AL;\r
+FD95;Lo;AL;\r
+FD96;Lo;AL;\r
+FD97;Lo;AL;\r
+FD98;Lo;AL;\r
+FD99;Lo;AL;\r
+FD9A;Lo;AL;\r
+FD9B;Lo;AL;\r
+FD9C;Lo;AL;\r
+FD9D;Lo;AL;\r
+FD9E;Lo;AL;\r
+FD9F;Lo;AL;\r
+FDA0;Lo;AL;\r
+FDA1;Lo;AL;\r
+FDA2;Lo;AL;\r
+FDA3;Lo;AL;\r
+FDA4;Lo;AL;\r
+FDA5;Lo;AL;\r
+FDA6;Lo;AL;\r
+FDA7;Lo;AL;\r
+FDA8;Lo;AL;\r
+FDA9;Lo;AL;\r
+FDAA;Lo;AL;\r
+FDAB;Lo;AL;\r
+FDAC;Lo;AL;\r
+FDAD;Lo;AL;\r
+FDAE;Lo;AL;\r
+FDAF;Lo;AL;\r
+FDB0;Lo;AL;\r
+FDB1;Lo;AL;\r
+FDB2;Lo;AL;\r
+FDB3;Lo;AL;\r
+FDB4;Lo;AL;\r
+FDB5;Lo;AL;\r
+FDB6;Lo;AL;\r
+FDB7;Lo;AL;\r
+FDB8;Lo;AL;\r
+FDB9;Lo;AL;\r
+FDBA;Lo;AL;\r
+FDBB;Lo;AL;\r
+FDBC;Lo;AL;\r
+FDBD;Lo;AL;\r
+FDBE;Lo;AL;\r
+FDBF;Lo;AL;\r
+FDC0;Lo;AL;\r
+FDC1;Lo;AL;\r
+FDC2;Lo;AL;\r
+FDC3;Lo;AL;\r
+FDC4;Lo;AL;\r
+FDC5;Lo;AL;\r
+FDC6;Lo;AL;\r
+FDC7;Lo;AL;\r
+FDF0;Lo;AL;\r
+FDF1;Lo;AL;\r
+FDF2;Lo;AL;\r
+FDF3;Lo;AL;\r
+FDF4;Lo;AL;\r
+FDF5;Lo;AL;\r
+FDF6;Lo;AL;\r
+FDF7;Lo;AL;\r
+FDF8;Lo;AL;\r
+FDF9;Lo;AL;\r
+FDFA;Lo;AL;\r
+FDFB;Lo;AL;\r
+FE20;Mn;NSM;\r
+FE21;Mn;NSM;\r
+FE22;Mn;NSM;\r
+FE23;Mn;NSM;\r
+FE30;Po;ON;\r
+FE31;Pd;ON;\r
+FE32;Pd;ON;\r
+FE33;Pc;ON;\r
+FE34;Pc;ON;\r
+FE35;Ps;ON;\r
+FE36;Pe;ON;\r
+FE37;Ps;ON;\r
+FE38;Pe;ON;\r
+FE39;Ps;ON;\r
+FE3A;Pe;ON;\r
+FE3B;Ps;ON;\r
+FE3C;Pe;ON;\r
+FE3D;Ps;ON;\r
+FE3E;Pe;ON;\r
+FE3F;Ps;ON;\r
+FE40;Pe;ON;\r
+FE41;Ps;ON;\r
+FE42;Pe;ON;\r
+FE43;Ps;ON;\r
+FE44;Pe;ON;\r
+FE49;Po;ON;\r
+FE4A;Po;ON;\r
+FE4B;Po;ON;\r
+FE4C;Po;ON;\r
+FE4D;Pc;ON;\r
+FE4E;Pc;ON;\r
+FE4F;Pc;ON;\r
+FE50;Po;CS;\r
+FE51;Po;ON;\r
+FE52;Po;CS;\r
+FE54;Po;ON;\r
+FE55;Po;CS;\r
+FE56;Po;ON;\r
+FE57;Po;ON;\r
+FE58;Pd;ON;\r
+FE59;Ps;ON;\r
+FE5A;Pe;ON;\r
+FE5B;Ps;ON;\r
+FE5C;Pe;ON;\r
+FE5D;Ps;ON;\r
+FE5E;Pe;ON;\r
+FE5F;Po;ET;\r
+FE60;Po;ON;\r
+FE61;Po;ON;\r
+FE62;Sm;ET;\r
+FE63;Pd;ET;\r
+FE64;Sm;ON;\r
+FE65;Sm;ON;\r
+FE66;Sm;ON;\r
+FE68;Po;ON;\r
+FE69;Sc;ET;\r
+FE6A;Po;ET;\r
+FE6B;Po;ON;\r
+FE70;Lo;AL;\r
+FE71;Lo;AL;\r
+FE72;Lo;AL;\r
+FE74;Lo;AL;\r
+FE76;Lo;AL;\r
+FE77;Lo;AL;\r
+FE78;Lo;AL;\r
+FE79;Lo;AL;\r
+FE7A;Lo;AL;\r
+FE7B;Lo;AL;\r
+FE7C;Lo;AL;\r
+FE7D;Lo;AL;\r
+FE7E;Lo;AL;\r
+FE7F;Lo;AL;\r
+FE80;Lo;AL;\r
+FE81;Lo;AL;\r
+FE82;Lo;AL;\r
+FE83;Lo;AL;\r
+FE84;Lo;AL;\r
+FE85;Lo;AL;\r
+FE86;Lo;AL;\r
+FE87;Lo;AL;\r
+FE88;Lo;AL;\r
+FE89;Lo;AL;\r
+FE8A;Lo;AL;\r
+FE8B;Lo;AL;\r
+FE8C;Lo;AL;\r
+FE8D;Lo;AL;\r
+FE8E;Lo;AL;\r
+FE8F;Lo;AL;\r
+FE90;Lo;AL;\r
+FE91;Lo;AL;\r
+FE92;Lo;AL;\r
+FE93;Lo;AL;\r
+FE94;Lo;AL;\r
+FE95;Lo;AL;\r
+FE96;Lo;AL;\r
+FE97;Lo;AL;\r
+FE98;Lo;AL;\r
+FE99;Lo;AL;\r
+FE9A;Lo;AL;\r
+FE9B;Lo;AL;\r
+FE9C;Lo;AL;\r
+FE9D;Lo;AL;\r
+FE9E;Lo;AL;\r
+FE9F;Lo;AL;\r
+FEA0;Lo;AL;\r
+FEA1;Lo;AL;\r
+FEA2;Lo;AL;\r
+FEA3;Lo;AL;\r
+FEA4;Lo;AL;\r
+FEA5;Lo;AL;\r
+FEA6;Lo;AL;\r
+FEA7;Lo;AL;\r
+FEA8;Lo;AL;\r
+FEA9;Lo;AL;\r
+FEAA;Lo;AL;\r
+FEAB;Lo;AL;\r
+FEAC;Lo;AL;\r
+FEAD;Lo;AL;\r
+FEAE;Lo;AL;\r
+FEAF;Lo;AL;\r
+FEB0;Lo;AL;\r
+FEB1;Lo;AL;\r
+FEB2;Lo;AL;\r
+FEB3;Lo;AL;\r
+FEB4;Lo;AL;\r
+FEB5;Lo;AL;\r
+FEB6;Lo;AL;\r
+FEB7;Lo;AL;\r
+FEB8;Lo;AL;\r
+FEB9;Lo;AL;\r
+FEBA;Lo;AL;\r
+FEBB;Lo;AL;\r
+FEBC;Lo;AL;\r
+FEBD;Lo;AL;\r
+FEBE;Lo;AL;\r
+FEBF;Lo;AL;\r
+FEC0;Lo;AL;\r
+FEC1;Lo;AL;\r
+FEC2;Lo;AL;\r
+FEC3;Lo;AL;\r
+FEC4;Lo;AL;\r
+FEC5;Lo;AL;\r
+FEC6;Lo;AL;\r
+FEC7;Lo;AL;\r
+FEC8;Lo;AL;\r
+FEC9;Lo;AL;\r
+FECA;Lo;AL;\r
+FECB;Lo;AL;\r
+FECC;Lo;AL;\r
+FECD;Lo;AL;\r
+FECE;Lo;AL;\r
+FECF;Lo;AL;\r
+FED0;Lo;AL;\r
+FED1;Lo;AL;\r
+FED2;Lo;AL;\r
+FED3;Lo;AL;\r
+FED4;Lo;AL;\r
+FED5;Lo;AL;\r
+FED6;Lo;AL;\r
+FED7;Lo;AL;\r
+FED8;Lo;AL;\r
+FED9;Lo;AL;\r
+FEDA;Lo;AL;\r
+FEDB;Lo;AL;\r
+FEDC;Lo;AL;\r
+FEDD;Lo;AL;\r
+FEDE;Lo;AL;\r
+FEDF;Lo;AL;\r
+FEE0;Lo;AL;\r
+FEE1;Lo;AL;\r
+FEE2;Lo;AL;\r
+FEE3;Lo;AL;\r
+FEE4;Lo;AL;\r
+FEE5;Lo;AL;\r
+FEE6;Lo;AL;\r
+FEE7;Lo;AL;\r
+FEE8;Lo;AL;\r
+FEE9;Lo;AL;\r
+FEEA;Lo;AL;\r
+FEEB;Lo;AL;\r
+FEEC;Lo;AL;\r
+FEED;Lo;AL;\r
+FEEE;Lo;AL;\r
+FEEF;Lo;AL;\r
+FEF0;Lo;AL;\r
+FEF1;Lo;AL;\r
+FEF2;Lo;AL;\r
+FEF3;Lo;AL;\r
+FEF4;Lo;AL;\r
+FEF5;Lo;AL;\r
+FEF6;Lo;AL;\r
+FEF7;Lo;AL;\r
+FEF8;Lo;AL;\r
+FEF9;Lo;AL;\r
+FEFA;Lo;AL;\r
+FEFB;Lo;AL;\r
+FEFC;Lo;AL;\r
+FEFF;Cf;BN;\r
+FF01;Po;ON;\r
+FF02;Po;ON;\r
+FF03;Po;ET;\r
+FF04;Sc;ET;\r
+FF05;Po;ET;\r
+FF06;Po;ON;\r
+FF07;Po;ON;\r
+FF08;Ps;ON;\r
+FF09;Pe;ON;\r
+FF0A;Po;ON;\r
+FF0B;Sm;ET;\r
+FF0C;Po;CS;\r
+FF0D;Pd;ET;\r
+FF0E;Po;CS;\r
+FF0F;Po;ES;\r
+FF10;Nd;EN;\r
+FF11;Nd;EN;\r
+FF12;Nd;EN;\r
+FF13;Nd;EN;\r
+FF14;Nd;EN;\r
+FF15;Nd;EN;\r
+FF16;Nd;EN;\r
+FF17;Nd;EN;\r
+FF18;Nd;EN;\r
+FF19;Nd;EN;\r
+FF1A;Po;CS;\r
+FF1B;Po;ON;\r
+FF1C;Sm;ON;\r
+FF1D;Sm;ON;\r
+FF1E;Sm;ON;\r
+FF1F;Po;ON;\r
+FF20;Po;ON;\r
+FF21;Lu;L;\r
+FF22;Lu;L;\r
+FF23;Lu;L;\r
+FF24;Lu;L;\r
+FF25;Lu;L;\r
+FF26;Lu;L;\r
+FF27;Lu;L;\r
+FF28;Lu;L;\r
+FF29;Lu;L;\r
+FF2A;Lu;L;\r
+FF2B;Lu;L;\r
+FF2C;Lu;L;\r
+FF2D;Lu;L;\r
+FF2E;Lu;L;\r
+FF2F;Lu;L;\r
+FF30;Lu;L;\r
+FF31;Lu;L;\r
+FF32;Lu;L;\r
+FF33;Lu;L;\r
+FF34;Lu;L;\r
+FF35;Lu;L;\r
+FF36;Lu;L;\r
+FF37;Lu;L;\r
+FF38;Lu;L;\r
+FF39;Lu;L;\r
+FF3A;Lu;L;\r
+FF3B;Ps;ON;\r
+FF3C;Po;ON;\r
+FF3D;Pe;ON;\r
+FF3E;Sk;ON;\r
+FF3F;Pc;ON;\r
+FF40;Sk;ON;\r
+FF41;Ll;L;\r
+FF42;Ll;L;\r
+FF43;Ll;L;\r
+FF44;Ll;L;\r
+FF45;Ll;L;\r
+FF46;Ll;L;\r
+FF47;Ll;L;\r
+FF48;Ll;L;\r
+FF49;Ll;L;\r
+FF4A;Ll;L;\r
+FF4B;Ll;L;\r
+FF4C;Ll;L;\r
+FF4D;Ll;L;\r
+FF4E;Ll;L;\r
+FF4F;Ll;L;\r
+FF50;Ll;L;\r
+FF51;Ll;L;\r
+FF52;Ll;L;\r
+FF53;Ll;L;\r
+FF54;Ll;L;\r
+FF55;Ll;L;\r
+FF56;Ll;L;\r
+FF57;Ll;L;\r
+FF58;Ll;L;\r
+FF59;Ll;L;\r
+FF5A;Ll;L;\r
+FF5B;Ps;ON;\r
+FF5C;Sm;ON;\r
+FF5D;Pe;ON;\r
+FF5E;Sm;ON;\r
+FF61;Po;ON;\r
+FF62;Ps;ON;\r
+FF63;Pe;ON;\r
+FF64;Po;ON;\r
+FF65;Pc;ON;\r
+FF66;Lo;L;\r
+FF67;Lo;L;\r
+FF68;Lo;L;\r
+FF69;Lo;L;\r
+FF6A;Lo;L;\r
+FF6B;Lo;L;\r
+FF6C;Lo;L;\r
+FF6D;Lo;L;\r
+FF6E;Lo;L;\r
+FF6F;Lo;L;\r
+FF70;Lm;L;\r
+FF71;Lo;L;\r
+FF72;Lo;L;\r
+FF73;Lo;L;\r
+FF74;Lo;L;\r
+FF75;Lo;L;\r
+FF76;Lo;L;\r
+FF77;Lo;L;\r
+FF78;Lo;L;\r
+FF79;Lo;L;\r
+FF7A;Lo;L;\r
+FF7B;Lo;L;\r
+FF7C;Lo;L;\r
+FF7D;Lo;L;\r
+FF7E;Lo;L;\r
+FF7F;Lo;L;\r
+FF80;Lo;L;\r
+FF81;Lo;L;\r
+FF82;Lo;L;\r
+FF83;Lo;L;\r
+FF84;Lo;L;\r
+FF85;Lo;L;\r
+FF86;Lo;L;\r
+FF87;Lo;L;\r
+FF88;Lo;L;\r
+FF89;Lo;L;\r
+FF8A;Lo;L;\r
+FF8B;Lo;L;\r
+FF8C;Lo;L;\r
+FF8D;Lo;L;\r
+FF8E;Lo;L;\r
+FF8F;Lo;L;\r
+FF90;Lo;L;\r
+FF91;Lo;L;\r
+FF92;Lo;L;\r
+FF93;Lo;L;\r
+FF94;Lo;L;\r
+FF95;Lo;L;\r
+FF96;Lo;L;\r
+FF97;Lo;L;\r
+FF98;Lo;L;\r
+FF99;Lo;L;\r
+FF9A;Lo;L;\r
+FF9B;Lo;L;\r
+FF9C;Lo;L;\r
+FF9D;Lo;L;\r
+FF9E;Lm;L;\r
+FF9F;Lm;L;\r
+FFA0;Lo;L;\r
+FFA1;Lo;L;\r
+FFA2;Lo;L;\r
+FFA3;Lo;L;\r
+FFA4;Lo;L;\r
+FFA5;Lo;L;\r
+FFA6;Lo;L;\r
+FFA7;Lo;L;\r
+FFA8;Lo;L;\r
+FFA9;Lo;L;\r
+FFAA;Lo;L;\r
+FFAB;Lo;L;\r
+FFAC;Lo;L;\r
+FFAD;Lo;L;\r
+FFAE;Lo;L;\r
+FFAF;Lo;L;\r
+FFB0;Lo;L;\r
+FFB1;Lo;L;\r
+FFB2;Lo;L;\r
+FFB3;Lo;L;\r
+FFB4;Lo;L;\r
+FFB5;Lo;L;\r
+FFB6;Lo;L;\r
+FFB7;Lo;L;\r
+FFB8;Lo;L;\r
+FFB9;Lo;L;\r
+FFBA;Lo;L;\r
+FFBB;Lo;L;\r
+FFBC;Lo;L;\r
+FFBD;Lo;L;\r
+FFBE;Lo;L;\r
+FFC2;Lo;L;\r
+FFC3;Lo;L;\r
+FFC4;Lo;L;\r
+FFC5;Lo;L;\r
+FFC6;Lo;L;\r
+FFC7;Lo;L;\r
+FFCA;Lo;L;\r
+FFCB;Lo;L;\r
+FFCC;Lo;L;\r
+FFCD;Lo;L;\r
+FFCE;Lo;L;\r
+FFCF;Lo;L;\r
+FFD2;Lo;L;\r
+FFD3;Lo;L;\r
+FFD4;Lo;L;\r
+FFD5;Lo;L;\r
+FFD6;Lo;L;\r
+FFD7;Lo;L;\r
+FFDA;Lo;L;\r
+FFDB;Lo;L;\r
+FFDC;Lo;L;\r
+FFE0;Sc;ET;\r
+FFE1;Sc;ET;\r
+FFE2;Sm;ON;\r
+FFE3;Sk;ON;\r
+FFE4;So;ON;\r
+FFE5;Sc;ET;\r
+FFE6;Sc;ET;\r
+FFE8;So;ON;\r
+FFE9;Sm;ON;\r
+FFEA;Sm;ON;\r
+FFEB;Sm;ON;\r
+FFEC;Sm;ON;\r
+FFED;So;ON;\r
+FFEE;So;ON;\r
+FFF9;Cf;BN;\r
+FFFA;Cf;BN;\r
+FFFB;Cf;BN;\r
+FFFC;So;ON;\r
+FFFD;So;ON;\r
--- /dev/null
+# DerivedLineBreak-3.1.0.txt\r
+#\r
+# Unicode Character Database: Derived Property Data\r
+# Generated algorithmically from the Unicode Character Database\r
+# For documentation, see DerivedProperties.html\r
+# Date: 2001-03-02 00:05:44.2 GMT [MD]\r
+# Note: Unassigned and Noncharacter codepoints are omitted,\r
+# except when listing Noncharacter or Cn.\r
+# ================================================\r
+\r
+\r
+# ================================================\r
+# Line Break (listing LineBreak.txt, field 1)\r
+# ================================================\r
+\r
+E000..F8FF ; XX # Co [6400] \r
+F0000..FFFFD ; XX # Co [65534] \r
+100000..10FFFD; XX # Co [65534] \r
+\r
+# Total code points: 137468\r
+\r
+# ================================================\r
+\r
+0028 ; OP # Ps LEFT PARENTHESIS\r
+005B ; OP # Ps LEFT SQUARE BRACKET\r
+007B ; OP # Ps LEFT CURLY BRACKET\r
+0F3A ; OP # Ps TIBETAN MARK GUG RTAGS GYON\r
+0F3C ; OP # Ps TIBETAN MARK ANG KHANG GYON\r
+169B ; OP # Ps OGHAM FEATHER MARK\r
+201A ; OP # Ps SINGLE LOW-9 QUOTATION MARK\r
+201E ; OP # Ps DOUBLE LOW-9 QUOTATION MARK\r
+2045 ; OP # Ps LEFT SQUARE BRACKET WITH QUILL\r
+207D ; OP # Ps SUPERSCRIPT LEFT PARENTHESIS\r
+208D ; OP # Ps SUBSCRIPT LEFT PARENTHESIS\r
+2329 ; OP # Ps LEFT-POINTING ANGLE BRACKET\r
+3008 ; OP # Ps LEFT ANGLE BRACKET\r
+300A ; OP # Ps LEFT DOUBLE ANGLE BRACKET\r
+300C ; OP # Ps LEFT CORNER BRACKET\r
+300E ; OP # Ps LEFT WHITE CORNER BRACKET\r
+3010 ; OP # Ps LEFT BLACK LENTICULAR BRACKET\r
+3014 ; OP # Ps LEFT TORTOISE SHELL BRACKET\r
+3016 ; OP # Ps LEFT WHITE LENTICULAR BRACKET\r
+3018 ; OP # Ps LEFT WHITE TORTOISE SHELL BRACKET\r
+301A ; OP # Ps LEFT WHITE SQUARE BRACKET\r
+301D ; OP # Ps REVERSED DOUBLE PRIME QUOTATION MARK\r
+FD3E ; OP # Ps ORNATE LEFT PARENTHESIS\r
+FE35 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS\r
+FE37 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET\r
+FE39 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET\r
+FE3B ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET\r
+FE3D ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET\r
+FE3F ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET\r
+FE41 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET\r
+FE43 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET\r
+FE59 ; OP # Ps SMALL LEFT PARENTHESIS\r
+FE5B ; OP # Ps SMALL LEFT CURLY BRACKET\r
+FE5D ; OP # Ps SMALL LEFT TORTOISE SHELL BRACKET\r
+FF08 ; OP # Ps FULLWIDTH LEFT PARENTHESIS\r
+FF3B ; OP # Ps FULLWIDTH LEFT SQUARE BRACKET\r
+FF5B ; OP # Ps FULLWIDTH LEFT CURLY BRACKET\r
+FF62 ; OP # Ps HALFWIDTH LEFT CORNER BRACKET\r
+\r
+# Total code points: 38\r
+\r
+# ================================================\r
+\r
+0029 ; CL # Pe RIGHT PARENTHESIS\r
+005D ; CL # Pe RIGHT SQUARE BRACKET\r
+007D ; CL # Pe RIGHT CURLY BRACKET\r
+0F3B ; CL # Pe TIBETAN MARK GUG RTAGS GYAS\r
+0F3D ; CL # Pe TIBETAN MARK ANG KHANG GYAS\r
+169C ; CL # Pe OGHAM REVERSED FEATHER MARK\r
+2046 ; CL # Pe RIGHT SQUARE BRACKET WITH QUILL\r
+207E ; CL # Pe SUPERSCRIPT RIGHT PARENTHESIS\r
+208E ; CL # Pe SUBSCRIPT RIGHT PARENTHESIS\r
+232A ; CL # Pe RIGHT-POINTING ANGLE BRACKET\r
+3001..3002 ; CL # Po [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP\r
+3009 ; CL # Pe RIGHT ANGLE BRACKET\r
+300B ; CL # Pe RIGHT DOUBLE ANGLE BRACKET\r
+300D ; CL # Pe RIGHT CORNER BRACKET\r
+300F ; CL # Pe RIGHT WHITE CORNER BRACKET\r
+3011 ; CL # Pe RIGHT BLACK LENTICULAR BRACKET\r
+3015 ; CL # Pe RIGHT TORTOISE SHELL BRACKET\r
+3017 ; CL # Pe RIGHT WHITE LENTICULAR BRACKET\r
+3019 ; CL # Pe RIGHT WHITE TORTOISE SHELL BRACKET\r
+301B ; CL # Pe RIGHT WHITE SQUARE BRACKET\r
+301E..301F ; CL # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK\r
+FD3F ; CL # Pe ORNATE RIGHT PARENTHESIS\r
+FE36 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS\r
+FE38 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET\r
+FE3A ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET\r
+FE3C ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET\r
+FE3E ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET\r
+FE40 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET\r
+FE42 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET\r
+FE44 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET\r
+FE50 ; CL # Po SMALL COMMA\r
+FE52 ; CL # Po SMALL FULL STOP\r
+FE5A ; CL # Pe SMALL RIGHT PARENTHESIS\r
+FE5C ; CL # Pe SMALL RIGHT CURLY BRACKET\r
+FE5E ; CL # Pe SMALL RIGHT TORTOISE SHELL BRACKET\r
+FF09 ; CL # Pe FULLWIDTH RIGHT PARENTHESIS\r
+FF0C ; CL # Po FULLWIDTH COMMA\r
+FF0E ; CL # Po FULLWIDTH FULL STOP\r
+FF3D ; CL # Pe FULLWIDTH RIGHT SQUARE BRACKET\r
+FF5D ; CL # Pe FULLWIDTH RIGHT CURLY BRACKET\r
+FF61 ; CL # Po HALFWIDTH IDEOGRAPHIC FULL STOP\r
+FF63 ; CL # Pe HALFWIDTH RIGHT CORNER BRACKET\r
+FF64 ; CL # Po HALFWIDTH IDEOGRAPHIC COMMA\r
+\r
+# Total code points: 45\r
+\r
+# ================================================\r
+\r
+0022 ; QU # Po QUOTATION MARK\r
+0027 ; QU # Po APOSTROPHE\r
+00AB ; QU # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+00BB ; QU # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+2018 ; QU # Pi LEFT SINGLE QUOTATION MARK\r
+2019 ; QU # Pf RIGHT SINGLE QUOTATION MARK\r
+201B..201C ; QU # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK\r
+201D ; QU # Pf RIGHT DOUBLE QUOTATION MARK\r
+201F ; QU # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK\r
+2039 ; QU # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+203A ; QU # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+\r
+# Total code points: 12\r
+\r
+# ================================================\r
+\r
+00A0 ; GL # Zs NO-BREAK SPACE\r
+0F0C ; GL # Po TIBETAN MARK DELIMITER TSHEG BSTAR\r
+2007 ; GL # Zs FIGURE SPACE\r
+2011 ; GL # Pd NON-BREAKING HYPHEN\r
+202F ; GL # Zs NARROW NO-BREAK SPACE\r
+FEFF ; GL # Cf ZERO WIDTH NO-BREAK SPACE\r
+\r
+# Total code points: 6\r
+\r
+# ================================================\r
+\r
+0E5A..0E5B ; NS # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT\r
+17D4 ; NS # Po KHMER SIGN KHAN\r
+17D6..17DA ; NS # Po [5] KHMER SIGN CAMNUC PII KUUH..KHMER SIGN KOOMUUT\r
+203C ; NS # Po DOUBLE EXCLAMATION MARK\r
+2044 ; NS # Sm FRACTION SLASH\r
+3005 ; NS # Lm IDEOGRAPHIC ITERATION MARK\r
+301C ; NS # Pd WAVE DASH\r
+3041 ; NS # Lo HIRAGANA LETTER SMALL A\r
+3043 ; NS # Lo HIRAGANA LETTER SMALL I\r
+3045 ; NS # Lo HIRAGANA LETTER SMALL U\r
+3047 ; NS # Lo HIRAGANA LETTER SMALL E\r
+3049 ; NS # Lo HIRAGANA LETTER SMALL O\r
+3063 ; NS # Lo HIRAGANA LETTER SMALL TU\r
+3083 ; NS # Lo HIRAGANA LETTER SMALL YA\r
+3085 ; NS # Lo HIRAGANA LETTER SMALL YU\r
+3087 ; NS # Lo HIRAGANA LETTER SMALL YO\r
+308E ; NS # Lo HIRAGANA LETTER SMALL WA\r
+309B..309C ; NS # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK\r
+309D..309E ; NS # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK\r
+30A1 ; NS # Lo KATAKANA LETTER SMALL A\r
+30A3 ; NS # Lo KATAKANA LETTER SMALL I\r
+30A5 ; NS # Lo KATAKANA LETTER SMALL U\r
+30A7 ; NS # Lo KATAKANA LETTER SMALL E\r
+30A9 ; NS # Lo KATAKANA LETTER SMALL O\r
+30C3 ; NS # Lo KATAKANA LETTER SMALL TU\r
+30E3 ; NS # Lo KATAKANA LETTER SMALL YA\r
+30E5 ; NS # Lo KATAKANA LETTER SMALL YU\r
+30E7 ; NS # Lo KATAKANA LETTER SMALL YO\r
+30EE ; NS # Lo KATAKANA LETTER SMALL WA\r
+30F5..30F6 ; NS # Lo [2] KATAKANA LETTER SMALL KA..KATAKANA LETTER SMALL KE\r
+30FB ; NS # Pc KATAKANA MIDDLE DOT\r
+30FD ; NS # Lm KATAKANA ITERATION MARK\r
+FE54..FE55 ; NS # Po [2] SMALL SEMICOLON..SMALL COLON\r
+FF1A..FF1B ; NS # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON\r
+FF65 ; NS # Pc HALFWIDTH KATAKANA MIDDLE DOT\r
+FF67..FF6F ; NS # Lo [9] HALFWIDTH KATAKANA LETTER SMALL A..HALFWIDTH KATAKANA LETTER SMALL TU\r
+FF70 ; NS # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK\r
+FF9E..FF9F ; NS # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK\r
+\r
+# Total code points: 57\r
+\r
+# ================================================\r
+\r
+0021 ; EX # Po EXCLAMATION MARK\r
+003F ; EX # Po QUESTION MARK\r
+FE56..FE57 ; EX # Po [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK\r
+FF01 ; EX # Po FULLWIDTH EXCLAMATION MARK\r
+FF1F ; EX # Po FULLWIDTH QUESTION MARK\r
+\r
+# Total code points: 6\r
+\r
+# ================================================\r
+\r
+002F ; SY # Po SOLIDUS\r
+\r
+# Total code points: 1\r
+\r
+# ================================================\r
+\r
+002C ; IS # Po COMMA\r
+002E ; IS # Po FULL STOP\r
+003A..003B ; IS # Po [2] COLON..SEMICOLON\r
+0589 ; IS # Po ARMENIAN FULL STOP\r
+\r
+# Total code points: 5\r
+\r
+# ================================================\r
+\r
+0024 ; PR # Sc DOLLAR SIGN\r
+002B ; PR # Sm PLUS SIGN\r
+005C ; PR # Po REVERSE SOLIDUS\r
+00A3..00A5 ; PR # Sc [3] POUND SIGN..YEN SIGN\r
+00B1 ; PR # Sm PLUS-MINUS SIGN\r
+09F2..09F3 ; PR # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN\r
+0E3F ; PR # Sc THAI CURRENCY SYMBOL BAHT\r
+17DB ; PR # Sc KHMER CURRENCY SYMBOL RIEL\r
+20A0..20A6 ; PR # Sc [7] EURO-CURRENCY SIGN..NAIRA SIGN\r
+20A8..20AF ; PR # Sc [8] RUPEE SIGN..DRACHMA SIGN\r
+2116 ; PR # So NUMERO SIGN\r
+2212..2213 ; PR # Sm [2] MINUS SIGN..MINUS-OR-PLUS SIGN\r
+FE69 ; PR # Sc SMALL DOLLAR SIGN\r
+FF04 ; PR # Sc FULLWIDTH DOLLAR SIGN\r
+FFE1 ; PR # Sc FULLWIDTH POUND SIGN\r
+FFE5..FFE6 ; PR # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN\r
+\r
+# Total code points: 34\r
+\r
+# ================================================\r
+\r
+0025 ; PO # Po PERCENT SIGN\r
+00A2 ; PO # Sc CENT SIGN\r
+00B0 ; PO # So DEGREE SIGN\r
+2030..2037 ; PO # Po [8] PER MILLE SIGN..REVERSED TRIPLE PRIME\r
+20A7 ; PO # Sc PESETA SIGN\r
+2103 ; PO # So DEGREE CELSIUS\r
+2109 ; PO # So DEGREE FAHRENHEIT\r
+2126 ; PO # L& OHM SIGN\r
+FE6A ; PO # Po SMALL PERCENT SIGN\r
+FF05 ; PO # Po FULLWIDTH PERCENT SIGN\r
+FFE0 ; PO # Sc FULLWIDTH CENT SIGN\r
+\r
+# Total code points: 18\r
+\r
+# ================================================\r
+\r
+0030..0039 ; NU # Nd [10] DIGIT ZERO..DIGIT NINE\r
+0660..0669 ; NU # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE\r
+06F0..06F9 ; NU # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE\r
+0966..096F ; NU # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE\r
+09E6..09EF ; NU # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE\r
+0A66..0A6F ; NU # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE\r
+0AE6..0AEF ; NU # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE\r
+0B66..0B6F ; NU # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE\r
+0BE7..0BEF ; NU # Nd [9] TAMIL DIGIT ONE..TAMIL DIGIT NINE\r
+0C66..0C6F ; NU # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE\r
+0CE6..0CEF ; NU # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE\r
+0D66..0D6F ; NU # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE\r
+0E50..0E59 ; NU # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE\r
+0ED0..0ED9 ; NU # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE\r
+0F20..0F29 ; NU # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE\r
+1040..1049 ; NU # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE\r
+1369..1371 ; NU # Nd [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE\r
+17E0..17E9 ; NU # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE\r
+1810..1819 ; NU # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE\r
+1D7CE..1D7FF ; NU # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE\r
+\r
+# Total code points: 238\r
+\r
+# ================================================\r
+\r
+0023 ; AL # Po NUMBER SIGN\r
+0026 ; AL # Po AMPERSAND\r
+002A ; AL # Po ASTERISK\r
+003C..003E ; AL # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN\r
+0040 ; AL # Po COMMERCIAL AT\r
+0041..005A ; AL # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z\r
+005E ; AL # Sk CIRCUMFLEX ACCENT\r
+005F ; AL # Pc LOW LINE\r
+0060 ; AL # Sk GRAVE ACCENT\r
+0061..007A ; AL # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z\r
+007E ; AL # Sm TILDE\r
+00A6 ; AL # So BROKEN BAR\r
+00A9 ; AL # So COPYRIGHT SIGN\r
+00AC ; AL # Sm NOT SIGN\r
+00AE ; AL # So REGISTERED SIGN\r
+00AF ; AL # Sk MACRON\r
+00B5 ; AL # L& MICRO SIGN\r
+00C0..00C5 ; AL # L& [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE\r
+00C7..00CF ; AL # L& [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS\r
+00D1..00D6 ; AL # L& [6] LATIN CAPITAL LETTER N WITH TILDE..LATIN CAPITAL LETTER O WITH DIAERESIS\r
+00D9..00DD ; AL # L& [5] LATIN CAPITAL LETTER U WITH GRAVE..LATIN CAPITAL LETTER Y WITH ACUTE\r
+00E2..00E5 ; AL # L& [4] LATIN SMALL LETTER A WITH CIRCUMFLEX..LATIN SMALL LETTER A WITH RING ABOVE\r
+00E7 ; AL # L& LATIN SMALL LETTER C WITH CEDILLA\r
+00EB ; AL # L& LATIN SMALL LETTER E WITH DIAERESIS\r
+00EE..00EF ; AL # L& [2] LATIN SMALL LETTER I WITH CIRCUMFLEX..LATIN SMALL LETTER I WITH DIAERESIS\r
+00F1 ; AL # L& LATIN SMALL LETTER N WITH TILDE\r
+00F4..00F6 ; AL # L& [3] LATIN SMALL LETTER O WITH CIRCUMFLEX..LATIN SMALL LETTER O WITH DIAERESIS\r
+00FB ; AL # L& LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+00FD ; AL # L& LATIN SMALL LETTER Y WITH ACUTE\r
+00FF..0100 ; AL # L& [2] LATIN SMALL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER A WITH MACRON\r
+0102..0110 ; AL # L& [15] LATIN CAPITAL LETTER A WITH BREVE..LATIN CAPITAL LETTER D WITH STROKE\r
+0112 ; AL # L& LATIN CAPITAL LETTER E WITH MACRON\r
+0114..011A ; AL # L& [7] LATIN CAPITAL LETTER E WITH BREVE..LATIN CAPITAL LETTER E WITH CARON\r
+011C..0125 ; AL # L& [10] LATIN CAPITAL LETTER G WITH CIRCUMFLEX..LATIN SMALL LETTER H WITH CIRCUMFLEX\r
+0128..012A ; AL # L& [3] LATIN CAPITAL LETTER I WITH TILDE..LATIN CAPITAL LETTER I WITH MACRON\r
+012C..0130 ; AL # L& [5] LATIN CAPITAL LETTER I WITH BREVE..LATIN CAPITAL LETTER I WITH DOT ABOVE\r
+0134..0137 ; AL # L& [4] LATIN CAPITAL LETTER J WITH CIRCUMFLEX..LATIN SMALL LETTER K WITH CEDILLA\r
+0139..013E ; AL # L& [6] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER L WITH CARON\r
+0143 ; AL # L& LATIN CAPITAL LETTER N WITH ACUTE\r
+0145..0147 ; AL # L& [3] LATIN CAPITAL LETTER N WITH CEDILLA..LATIN CAPITAL LETTER N WITH CARON\r
+014B..014C ; AL # L& [2] LATIN SMALL LETTER ENG..LATIN CAPITAL LETTER O WITH MACRON\r
+014E..0151 ; AL # L& [4] LATIN CAPITAL LETTER O WITH BREVE..LATIN SMALL LETTER O WITH DOUBLE ACUTE\r
+0154..0165 ; AL # L& [18] LATIN CAPITAL LETTER R WITH ACUTE..LATIN SMALL LETTER T WITH CARON\r
+0168..016A ; AL # L& [3] LATIN CAPITAL LETTER U WITH TILDE..LATIN CAPITAL LETTER U WITH MACRON\r
+016C..01BA ; AL # L& [79] LATIN CAPITAL LETTER U WITH BREVE..LATIN SMALL LETTER EZH WITH TAIL\r
+01BB ; AL # Lo LATIN LETTER TWO WITH STROKE\r
+01BC..01BF ; AL # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN\r
+01C0..01C3 ; AL # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK\r
+01C4..01CD ; AL # L& [10] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER A WITH CARON\r
+01CF ; AL # L& LATIN CAPITAL LETTER I WITH CARON\r
+01D1 ; AL # L& LATIN CAPITAL LETTER O WITH CARON\r
+01D3 ; AL # L& LATIN CAPITAL LETTER U WITH CARON\r
+01D5 ; AL # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON\r
+01D7 ; AL # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE\r
+01D9 ; AL # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON\r
+01DB ; AL # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE\r
+01DD..021F ; AL # L& [67] LATIN SMALL LETTER TURNED E..LATIN SMALL LETTER H WITH CARON\r
+0222..0233 ; AL # L& [18] LATIN CAPITAL LETTER OU..LATIN SMALL LETTER Y WITH MACRON\r
+0250 ; AL # L& LATIN SMALL LETTER TURNED A\r
+0252..0260 ; AL # L& [15] LATIN SMALL LETTER TURNED ALPHA..LATIN SMALL LETTER G WITH HOOK\r
+0262..02AD ; AL # L& [76] LATIN LETTER SMALL CAPITAL G..LATIN LETTER BIDENTAL PERCUSSIVE\r
+02B0..02B8 ; AL # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y\r
+02B9..02BA ; AL # Sk [2] MODIFIER LETTER PRIME..MODIFIER LETTER DOUBLE PRIME\r
+02BB..02C1 ; AL # Lm [7] MODIFIER LETTER TURNED COMMA..MODIFIER LETTER REVERSED GLOTTAL STOP\r
+02C2..02C6 ; AL # Sk [5] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER CIRCUMFLEX ACCENT\r
+02CE..02CF ; AL # Sk [2] MODIFIER LETTER LOW GRAVE ACCENT..MODIFIER LETTER LOW ACUTE ACCENT\r
+02D1 ; AL # Lm MODIFIER LETTER HALF TRIANGULAR COLON\r
+02D2..02D7 ; AL # Sk [6] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER MINUS SIGN\r
+02DC ; AL # Sk SMALL TILDE\r
+02DE..02DF ; AL # Sk [2] MODIFIER LETTER RHOTIC HOOK..MODIFIER LETTER CROSS ACCENT\r
+02E0..02E4 ; AL # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP\r
+02E5..02ED ; AL # Sk [9] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER UNASPIRATED\r
+02EE ; AL # Lm MODIFIER LETTER DOUBLE APOSTROPHE\r
+0374..0375 ; AL # Sk [2] GREEK NUMERAL SIGN..GREEK LOWER NUMERAL SIGN\r
+037A ; AL # Lm GREEK YPOGEGRAMMENI\r
+037E ; AL # Po GREEK QUESTION MARK\r
+0384..0385 ; AL # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS\r
+0386 ; AL # L& GREEK CAPITAL LETTER ALPHA WITH TONOS\r
+0387 ; AL # Po GREEK ANO TELEIA\r
+0388..038A ; AL # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS\r
+038C ; AL # L& GREEK CAPITAL LETTER OMICRON WITH TONOS\r
+038E..0390 ; AL # L& [3] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS\r
+03AA..03B0 ; AL # L& [7] GREEK CAPITAL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS\r
+03C2 ; AL # L& GREEK SMALL LETTER FINAL SIGMA\r
+03CA..03CE ; AL # L& [5] GREEK SMALL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER OMEGA WITH TONOS\r
+03D0..03D7 ; AL # L& [8] GREEK BETA SYMBOL..GREEK KAI SYMBOL\r
+03DA..03F5 ; AL # L& [28] GREEK LETTER STIGMA..GREEK LUNATE EPSILON SYMBOL\r
+0400 ; AL # L& CYRILLIC CAPITAL LETTER IE WITH GRAVE\r
+0402..040F ; AL # L& [14] CYRILLIC CAPITAL LETTER DJE..CYRILLIC CAPITAL LETTER DZHE\r
+0450 ; AL # L& CYRILLIC SMALL LETTER IE WITH GRAVE\r
+0452..0481 ; AL # L& [48] CYRILLIC SMALL LETTER DJE..CYRILLIC SMALL LETTER KOPPA\r
+0482 ; AL # So CYRILLIC THOUSANDS SIGN\r
+048C..04C4 ; AL # L& [57] CYRILLIC CAPITAL LETTER SEMISOFT SIGN..CYRILLIC SMALL LETTER KA WITH HOOK\r
+04C7..04C8 ; AL # L& [2] CYRILLIC CAPITAL LETTER EN WITH HOOK..CYRILLIC SMALL LETTER EN WITH HOOK\r
+04CB..04CC ; AL # L& [2] CYRILLIC CAPITAL LETTER KHAKASSIAN CHE..CYRILLIC SMALL LETTER KHAKASSIAN CHE\r
+04D0..04F5 ; AL # L& [38] CYRILLIC CAPITAL LETTER A WITH BREVE..CYRILLIC SMALL LETTER CHE WITH DIAERESIS\r
+04F8..04F9 ; AL # L& [2] CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS..CYRILLIC SMALL LETTER YERU WITH DIAERESIS\r
+0531..0556 ; AL # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH\r
+0559 ; AL # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING\r
+055A..055F ; AL # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK\r
+0561..0587 ; AL # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN\r
+05BE ; AL # Po HEBREW PUNCTUATION MAQAF\r
+05C0 ; AL # Po HEBREW PUNCTUATION PASEQ\r
+05C3 ; AL # Po HEBREW PUNCTUATION SOF PASUQ\r
+05D0..05EA ; AL # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV\r
+05F0..05F2 ; AL # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD\r
+05F3..05F4 ; AL # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM\r
+060C ; AL # Po ARABIC COMMA\r
+061B ; AL # Po ARABIC SEMICOLON\r
+061F ; AL # Po ARABIC QUESTION MARK\r
+0621..063A ; AL # Lo [26] ARABIC LETTER HAMZA..ARABIC LETTER GHAIN\r
+0640 ; AL # Lm ARABIC TATWEEL\r
+0641..064A ; AL # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH\r
+066A..066D ; AL # Po [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR\r
+0671..06D3 ; AL # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\r
+06D4 ; AL # Po ARABIC FULL STOP\r
+06D5 ; AL # Lo ARABIC LETTER AE\r
+06E5..06E6 ; AL # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH\r
+06E9 ; AL # So ARABIC PLACE OF SAJDAH\r
+06FA..06FC ; AL # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW\r
+06FD..06FE ; AL # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN\r
+0700..070D ; AL # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS\r
+0710 ; AL # Lo SYRIAC LETTER ALAPH\r
+0712..072C ; AL # Lo [27] SYRIAC LETTER BETH..SYRIAC LETTER TAW\r
+0780..07A5 ; AL # Lo [38] THAANA LETTER HAA..THAANA LETTER WAAVU\r
+0905..0939 ; AL # Lo [53] DEVANAGARI LETTER A..DEVANAGARI LETTER HA\r
+093D ; AL # Lo DEVANAGARI SIGN AVAGRAHA\r
+0950 ; AL # Lo DEVANAGARI OM\r
+0958..0961 ; AL # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL\r
+0964..0965 ; AL # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA\r
+0970 ; AL # Po DEVANAGARI ABBREVIATION SIGN\r
+0985..098C ; AL # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L\r
+098F..0990 ; AL # Lo [2] BENGALI LETTER E..BENGALI LETTER AI\r
+0993..09A8 ; AL # Lo [22] BENGALI LETTER O..BENGALI LETTER NA\r
+09AA..09B0 ; AL # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA\r
+09B2 ; AL # Lo BENGALI LETTER LA\r
+09B6..09B9 ; AL # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA\r
+09DC..09DD ; AL # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA\r
+09DF..09E1 ; AL # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL\r
+09F0..09F1 ; AL # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL\r
+09F4..09F9 ; AL # No [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN\r
+09FA ; AL # So BENGALI ISSHAR\r
+0A05..0A0A ; AL # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU\r
+0A0F..0A10 ; AL # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI\r
+0A13..0A28 ; AL # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA\r
+0A2A..0A30 ; AL # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA\r
+0A32..0A33 ; AL # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA\r
+0A35..0A36 ; AL # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA\r
+0A38..0A39 ; AL # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA\r
+0A59..0A5C ; AL # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA\r
+0A5E ; AL # Lo GURMUKHI LETTER FA\r
+0A72..0A74 ; AL # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR\r
+0A85..0A8B ; AL # Lo [7] GUJARATI LETTER A..GUJARATI LETTER VOCALIC R\r
+0A8D ; AL # Lo GUJARATI VOWEL CANDRA E\r
+0A8F..0A91 ; AL # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O\r
+0A93..0AA8 ; AL # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA\r
+0AAA..0AB0 ; AL # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA\r
+0AB2..0AB3 ; AL # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA\r
+0AB5..0AB9 ; AL # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA\r
+0ABD ; AL # Lo GUJARATI SIGN AVAGRAHA\r
+0AD0 ; AL # Lo GUJARATI OM\r
+0AE0 ; AL # Lo GUJARATI LETTER VOCALIC RR\r
+0B05..0B0C ; AL # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L\r
+0B0F..0B10 ; AL # Lo [2] ORIYA LETTER E..ORIYA LETTER AI\r
+0B13..0B28 ; AL # Lo [22] ORIYA LETTER O..ORIYA LETTER NA\r
+0B2A..0B30 ; AL # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA\r
+0B32..0B33 ; AL # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA\r
+0B36..0B39 ; AL # Lo [4] ORIYA LETTER SHA..ORIYA LETTER HA\r
+0B3D ; AL # Lo ORIYA SIGN AVAGRAHA\r
+0B5C..0B5D ; AL # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA\r
+0B5F..0B61 ; AL # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL\r
+0B70 ; AL # So ORIYA ISSHAR\r
+0B85..0B8A ; AL # Lo [6] TAMIL LETTER A..TAMIL LETTER UU\r
+0B8E..0B90 ; AL # Lo [3] TAMIL LETTER E..TAMIL LETTER AI\r
+0B92..0B95 ; AL # Lo [4] TAMIL LETTER O..TAMIL LETTER KA\r
+0B99..0B9A ; AL # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA\r
+0B9C ; AL # Lo TAMIL LETTER JA\r
+0B9E..0B9F ; AL # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA\r
+0BA3..0BA4 ; AL # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA\r
+0BA8..0BAA ; AL # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA\r
+0BAE..0BB5 ; AL # Lo [8] TAMIL LETTER MA..TAMIL LETTER VA\r
+0BB7..0BB9 ; AL # Lo [3] TAMIL LETTER SSA..TAMIL LETTER HA\r
+0BF0..0BF2 ; AL # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND\r
+0C05..0C0C ; AL # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L\r
+0C0E..0C10 ; AL # Lo [3] TELUGU LETTER E..TELUGU LETTER AI\r
+0C12..0C28 ; AL # Lo [23] TELUGU LETTER O..TELUGU LETTER NA\r
+0C2A..0C33 ; AL # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA\r
+0C35..0C39 ; AL # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA\r
+0C60..0C61 ; AL # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL\r
+0C85..0C8C ; AL # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L\r
+0C8E..0C90 ; AL # Lo [3] KANNADA LETTER E..KANNADA LETTER AI\r
+0C92..0CA8 ; AL # Lo [23] KANNADA LETTER O..KANNADA LETTER NA\r
+0CAA..0CB3 ; AL # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA\r
+0CB5..0CB9 ; AL # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA\r
+0CDE ; AL # Lo KANNADA LETTER FA\r
+0CE0..0CE1 ; AL # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL\r
+0D05..0D0C ; AL # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L\r
+0D0E..0D10 ; AL # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI\r
+0D12..0D28 ; AL # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA\r
+0D2A..0D39 ; AL # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA\r
+0D60..0D61 ; AL # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL\r
+0D85..0D96 ; AL # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA\r
+0D9A..0DB1 ; AL # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA\r
+0DB3..0DBB ; AL # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA\r
+0DBD ; AL # Lo SINHALA LETTER DANTAJA LAYANNA\r
+0DC0..0DC6 ; AL # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA\r
+0DF4 ; AL # Po SINHALA PUNCTUATION KUNDDALIYA\r
+0E4F ; AL # Po THAI CHARACTER FONGMAN\r
+0F00 ; AL # Lo TIBETAN SYLLABLE OM\r
+0F01..0F03 ; AL # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA\r
+0F04..0F0A ; AL # Po [7] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK BKA- SHOG YIG MGO\r
+0F0D..0F12 ; AL # Po [6] TIBETAN MARK SHAD..TIBETAN MARK RGYA GRAM SHAD\r
+0F13..0F17 ; AL # So [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS\r
+0F1A..0F1F ; AL # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG\r
+0F2A..0F33 ; AL # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO\r
+0F34 ; AL # So TIBETAN MARK BSDUS RTAGS\r
+0F36 ; AL # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN\r
+0F38 ; AL # So TIBETAN MARK CHE MGO\r
+0F40..0F47 ; AL # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA\r
+0F49..0F6A ; AL # Lo [34] TIBETAN LETTER NYA..TIBETAN LETTER FIXED-FORM RA\r
+0F85 ; AL # Po TIBETAN MARK PALUTA\r
+0F88..0F8B ; AL # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS\r
+0FBE..0FC5 ; AL # So [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE\r
+0FC7..0FCC ; AL # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL\r
+0FCF ; AL # So TIBETAN SIGN RDEL NAG GSUM\r
+104A..104F ; AL # Po [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE\r
+10A0..10C5 ; AL # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE\r
+10D0..10F6 ; AL # Lo [39] GEORGIAN LETTER AN..GEORGIAN LETTER FI\r
+10FB ; AL # Po GEORGIAN PARAGRAPH SEPARATOR\r
+1200..1206 ; AL # Lo [7] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE HO\r
+1208..1246 ; AL # Lo [63] ETHIOPIC SYLLABLE LA..ETHIOPIC SYLLABLE QO\r
+1248 ; AL # Lo ETHIOPIC SYLLABLE QWA\r
+124A..124D ; AL # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE\r
+1250..1256 ; AL # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO\r
+1258 ; AL # Lo ETHIOPIC SYLLABLE QHWA\r
+125A..125D ; AL # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE\r
+1260..1286 ; AL # Lo [39] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XO\r
+1288 ; AL # Lo ETHIOPIC SYLLABLE XWA\r
+128A..128D ; AL # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE\r
+1290..12AE ; AL # Lo [31] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KO\r
+12B0 ; AL # Lo ETHIOPIC SYLLABLE KWA\r
+12B2..12B5 ; AL # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE\r
+12B8..12BE ; AL # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO\r
+12C0 ; AL # Lo ETHIOPIC SYLLABLE KXWA\r
+12C2..12C5 ; AL # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE\r
+12C8..12CE ; AL # Lo [7] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE WO\r
+12D0..12D6 ; AL # Lo [7] ETHIOPIC SYLLABLE PHARYNGEAL A..ETHIOPIC SYLLABLE PHARYNGEAL O\r
+12D8..12EE ; AL # Lo [23] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE YO\r
+12F0..130E ; AL # Lo [31] ETHIOPIC SYLLABLE DA..ETHIOPIC SYLLABLE GO\r
+1310 ; AL # Lo ETHIOPIC SYLLABLE GWA\r
+1312..1315 ; AL # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE\r
+1318..131E ; AL # Lo [7] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE GGO\r
+1320..1346 ; AL # Lo [39] ETHIOPIC SYLLABLE THA..ETHIOPIC SYLLABLE TZO\r
+1348..135A ; AL # Lo [19] ETHIOPIC SYLLABLE FA..ETHIOPIC SYLLABLE FYA\r
+1362..1368 ; AL # Po [7] ETHIOPIC FULL STOP..ETHIOPIC PARAGRAPH SEPARATOR\r
+1372..137C ; AL # No [11] ETHIOPIC NUMBER TEN..ETHIOPIC NUMBER TEN THOUSAND\r
+13A0..13F4 ; AL # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV\r
+1401..166C ; AL # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA\r
+166D..166E ; AL # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP\r
+166F..1676 ; AL # Lo [8] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS NNGAA\r
+1681..169A ; AL # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH\r
+16A0..16EA ; AL # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X\r
+16EB..16ED ; AL # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION\r
+16EE..16F0 ; AL # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL\r
+17DC ; AL # Po KHMER SIGN AVAKRAHASANYA\r
+1800..1805 ; AL # Po [6] MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS\r
+1807..180A ; AL # Po [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU\r
+1820..1842 ; AL # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI\r
+1843 ; AL # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN\r
+1844..1877 ; AL # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA\r
+1880..18A8 ; AL # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA\r
+1E00..1E9B ; AL # L& [156] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE\r
+1EA0..1EF9 ; AL # L& [90] LATIN CAPITAL LETTER A WITH DOT BELOW..LATIN SMALL LETTER Y WITH TILDE\r
+1F00..1F15 ; AL # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA\r
+1F18..1F1D ; AL # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA\r
+1F20..1F45 ; AL # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA\r
+1F48..1F4D ; AL # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA\r
+1F50..1F57 ; AL # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI\r
+1F59 ; AL # L& GREEK CAPITAL LETTER UPSILON WITH DASIA\r
+1F5B ; AL # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA\r
+1F5D ; AL # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA\r
+1F5F..1F7D ; AL # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA\r
+1F80..1FB4 ; AL # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI\r
+1FB6..1FBC ; AL # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI\r
+1FBD ; AL # Sk GREEK KORONIS\r
+1FBE ; AL # L& GREEK PROSGEGRAMMENI\r
+1FBF..1FC1 ; AL # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI\r
+1FC2..1FC4 ; AL # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI\r
+1FC6..1FCC ; AL # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI\r
+1FCD..1FCF ; AL # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI\r
+1FD0..1FD3 ; AL # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA\r
+1FD6..1FDB ; AL # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA\r
+1FDD..1FDF ; AL # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI\r
+1FE0..1FEC ; AL # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA\r
+1FED..1FEF ; AL # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA\r
+1FF2..1FF4 ; AL # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI\r
+1FF6..1FFC ; AL # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI\r
+1FFD..1FFE ; AL # Sk [2] GREEK OXIA..GREEK DASIA\r
+2017 ; AL # Po DOUBLE LOW LINE\r
+2022..2023 ; AL # Po [2] BULLET..TRIANGULAR BULLET\r
+2038 ; AL # Po CARET\r
+203D..203E ; AL # Po [2] INTERROBANG..OVERLINE\r
+203F..2040 ; AL # Pc [2] UNDERTIE..CHARACTER TIE\r
+2041..2043 ; AL # Po [3] CARET INSERTION POINT..HYPHEN BULLET\r
+2048..204D ; AL # Po [6] QUESTION EXCLAMATION MARK..BLACK RIGHTWARDS BULLET\r
+2070 ; AL # No SUPERSCRIPT ZERO\r
+2075..2079 ; AL # No [5] SUPERSCRIPT FIVE..SUPERSCRIPT NINE\r
+207A..207C ; AL # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN\r
+2080 ; AL # No SUBSCRIPT ZERO\r
+2085..2089 ; AL # No [5] SUBSCRIPT FIVE..SUBSCRIPT NINE\r
+208A..208C ; AL # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN\r
+2100..2101 ; AL # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT\r
+2102 ; AL # L& DOUBLE-STRUCK CAPITAL C\r
+2104 ; AL # So CENTRE LINE SYMBOL\r
+2106 ; AL # So CADA UNA\r
+2107 ; AL # L& EULER CONSTANT\r
+2108 ; AL # So SCRUPLE\r
+210A..2112 ; AL # L& [9] SCRIPT SMALL G..SCRIPT CAPITAL L\r
+2114 ; AL # So L B BAR SYMBOL\r
+2115 ; AL # L& DOUBLE-STRUCK CAPITAL N\r
+2117..2118 ; AL # So [2] SOUND RECORDING COPYRIGHT..SCRIPT CAPITAL P\r
+2119..211D ; AL # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R\r
+211E..2120 ; AL # So [3] PRESCRIPTION TAKE..SERVICE MARK\r
+2123 ; AL # So VERSICLE\r
+2124 ; AL # L& DOUBLE-STRUCK CAPITAL Z\r
+2125 ; AL # So OUNCE SIGN\r
+2127 ; AL # So INVERTED OHM SIGN\r
+2128 ; AL # L& BLACK-LETTER CAPITAL Z\r
+2129 ; AL # So TURNED GREEK SMALL LETTER IOTA\r
+212A ; AL # L& KELVIN SIGN\r
+212C..212D ; AL # L& [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C\r
+212E ; AL # So ESTIMATED SYMBOL\r
+212F..2131 ; AL # L& [3] SCRIPT SMALL E..SCRIPT CAPITAL F\r
+2132 ; AL # So TURNED CAPITAL F\r
+2133..2134 ; AL # L& [2] SCRIPT CAPITAL M..SCRIPT SMALL O\r
+2135..2138 ; AL # Lo [4] ALEF SYMBOL..DALET SYMBOL\r
+2139 ; AL # L& INFORMATION SOURCE\r
+213A ; AL # So ROTATED CAPITAL Q\r
+2153 ; AL # No VULGAR FRACTION ONE THIRD\r
+2156..215A ; AL # No [5] VULGAR FRACTION TWO FIFTHS..VULGAR FRACTION FIVE SIXTHS\r
+215C..215D ; AL # No [2] VULGAR FRACTION THREE EIGHTHS..VULGAR FRACTION FIVE EIGHTHS\r
+215F ; AL # No FRACTION NUMERATOR ONE\r
+216C..216F ; AL # Nl [4] ROMAN NUMERAL FIFTY..ROMAN NUMERAL ONE THOUSAND\r
+217A..2183 ; AL # Nl [10] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL REVERSED ONE HUNDRED\r
+219A..219B ; AL # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE\r
+219C..219F ; AL # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW\r
+21A0 ; AL # Sm RIGHTWARDS TWO HEADED ARROW\r
+21A1..21A2 ; AL # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL\r
+21A3 ; AL # Sm RIGHTWARDS ARROW WITH TAIL\r
+21A4..21A5 ; AL # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR\r
+21A6 ; AL # Sm RIGHTWARDS ARROW FROM BAR\r
+21A7..21AD ; AL # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW\r
+21AE ; AL # Sm LEFT RIGHT ARROW WITH STROKE\r
+21AF..21CD ; AL # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE\r
+21CE..21CF ; AL # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE\r
+21D0..21D1 ; AL # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW\r
+21D3 ; AL # So DOWNWARDS DOUBLE ARROW\r
+21D5..21F3 ; AL # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW\r
+2201 ; AL # Sm COMPLEMENT\r
+2204..2206 ; AL # Sm [3] THERE DOES NOT EXIST..INCREMENT\r
+2209..220A ; AL # Sm [2] NOT AN ELEMENT OF..SMALL ELEMENT OF\r
+220C..220E ; AL # Sm [3] DOES NOT CONTAIN AS MEMBER..END OF PROOF\r
+2210 ; AL # Sm N-ARY COPRODUCT\r
+2214 ; AL # Sm DOT PLUS\r
+2216..2219 ; AL # Sm [4] SET MINUS..BULLET OPERATOR\r
+221B..221C ; AL # Sm [2] CUBE ROOT..FOURTH ROOT\r
+2221..2222 ; AL # Sm [2] MEASURED ANGLE..SPHERICAL ANGLE\r
+2224 ; AL # Sm DOES NOT DIVIDE\r
+2226 ; AL # Sm NOT PARALLEL TO\r
+222D ; AL # Sm TRIPLE INTEGRAL\r
+222F..2233 ; AL # Sm [5] SURFACE INTEGRAL..ANTICLOCKWISE CONTOUR INTEGRAL\r
+2238..223B ; AL # Sm [4] DOT MINUS..HOMOTHETIC\r
+223E..2247 ; AL # Sm [10] INVERTED LAZY S..NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO\r
+2249..224B ; AL # Sm [3] NOT ALMOST EQUAL TO..TRIPLE TILDE\r
+224D..2251 ; AL # Sm [5] EQUIVALENT TO..GEOMETRICALLY EQUAL TO\r
+2253..225F ; AL # Sm [13] IMAGE OF OR APPROXIMATELY EQUAL TO..QUESTIONED EQUAL TO\r
+2262..2263 ; AL # Sm [2] NOT IDENTICAL TO..STRICTLY EQUIVALENT TO\r
+2268..2269 ; AL # Sm [2] LESS-THAN BUT NOT EQUAL TO..GREATER-THAN BUT NOT EQUAL TO\r
+226C..226D ; AL # Sm [2] BETWEEN..NOT EQUIVALENT TO\r
+2270..2281 ; AL # Sm [18] NEITHER LESS-THAN NOR EQUAL TO..DOES NOT SUCCEED\r
+2284..2285 ; AL # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF\r
+2288..2294 ; AL # Sm [13] NEITHER A SUBSET OF NOR EQUAL TO..SQUARE CUP\r
+2296..2298 ; AL # Sm [3] CIRCLED MINUS..CIRCLED DIVISION SLASH\r
+229A..22A4 ; AL # Sm [11] CIRCLED RING OPERATOR..DOWN TACK\r
+22A6..22BE ; AL # Sm [25] ASSERTION..RIGHT ANGLE WITH ARC\r
+22C0..22F1 ; AL # Sm [50] N-ARY LOGICAL AND..DOWN RIGHT DIAGONAL ELLIPSIS\r
+2300..2307 ; AL # So [8] DIAMETER SIGN..WAVY LINE\r
+2308..230B ; AL # Sm [4] LEFT CEILING..RIGHT FLOOR\r
+230C..2311 ; AL # So [6] BOTTOM RIGHT CROP..SQUARE LOZENGE\r
+2313..231F ; AL # So [13] SEGMENT..BOTTOM RIGHT CORNER\r
+2320..2321 ; AL # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL\r
+2322..2328 ; AL # So [7] FROWN..KEYBOARD\r
+232B..237B ; AL # So [81] ERASE TO THE LEFT..NOT CHECK MARK\r
+237D..239A ; AL # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL\r
+2400..2426 ; AL # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO\r
+2440..244A ; AL # So [11] OCR HOOK..OCR DOUBLE BACKSLASH\r
+24C0..24CF ; AL # So [16] CIRCLED LATIN CAPITAL LETTER K..CIRCLED LATIN CAPITAL LETTER Z\r
+24EA ; AL # No CIRCLED DIGIT ZERO\r
+254C..254F ; AL # So [4] BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL..BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL\r
+2575..257F ; AL # So [11] BOX DRAWINGS LIGHT UP..BOX DRAWINGS HEAVY UP AND LIGHT DOWN\r
+2590..2591 ; AL # So [2] RIGHT HALF BLOCK..LIGHT SHADE\r
+25A2 ; AL # So WHITE SQUARE WITH ROUNDED CORNERS\r
+25AA..25B1 ; AL # So [8] BLACK SMALL SQUARE..WHITE PARALLELOGRAM\r
+25B4..25B5 ; AL # So [2] BLACK UP-POINTING SMALL TRIANGLE..WHITE UP-POINTING SMALL TRIANGLE\r
+25B8..25BB ; AL # So [4] BLACK RIGHT-POINTING SMALL TRIANGLE..WHITE RIGHT-POINTING POINTER\r
+25BE..25BF ; AL # So [2] BLACK DOWN-POINTING SMALL TRIANGLE..WHITE DOWN-POINTING SMALL TRIANGLE\r
+25C2..25C5 ; AL # So [4] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE LEFT-POINTING POINTER\r
+25C9..25CA ; AL # So [2] FISHEYE..LOZENGE\r
+25CC..25CD ; AL # So [2] DOTTED CIRCLE..CIRCLE WITH VERTICAL FILL\r
+25D2..25E1 ; AL # So [16] CIRCLE WITH LOWER HALF BLACK..LOWER HALF CIRCLE\r
+25E6..25EE ; AL # So [9] WHITE BULLET..UP-POINTING TRIANGLE WITH RIGHT HALF BLACK\r
+25F0..25F7 ; AL # So [8] WHITE SQUARE WITH UPPER LEFT QUADRANT..WHITE CIRCLE WITH UPPER RIGHT QUADRANT\r
+2600..2604 ; AL # So [5] BLACK SUN WITH RAYS..COMET\r
+2607..2608 ; AL # So [2] LIGHTNING..THUNDERSTORM\r
+260A..260D ; AL # So [4] ASCENDING NODE..OPPOSITION\r
+2610..2613 ; AL # So [4] BALLOT BOX..SALTIRE\r
+2619..261B ; AL # So [3] REVERSED ROTATED FLORAL HEART BULLET..BLACK RIGHT POINTING INDEX\r
+261D ; AL # So WHITE UP POINTING INDEX\r
+261F..263F ; AL # So [33] WHITE DOWN POINTING INDEX..MERCURY\r
+2641 ; AL # So EARTH\r
+2643..265F ; AL # So [29] JUPITER..BLACK CHESS PAWN\r
+2662 ; AL # So WHITE DIAMOND SUIT\r
+2666 ; AL # So BLACK DIAMOND SUIT\r
+266B ; AL # So BEAMED EIGHTH NOTES\r
+266E ; AL # So MUSIC NATURAL SIGN\r
+2670..2671 ; AL # So [2] WEST SYRIAC CROSS..EAST SYRIAC CROSS\r
+2701..2704 ; AL # So [4] UPPER BLADE SCISSORS..WHITE SCISSORS\r
+2706..2709 ; AL # So [4] TELEPHONE LOCATION SIGN..ENVELOPE\r
+270C..2727 ; AL # So [28] VICTORY HAND..WHITE FOUR POINTED STAR\r
+2729..274B ; AL # So [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK\r
+274D ; AL # So SHADOWED WHITE CIRCLE\r
+274F..2752 ; AL # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE\r
+2756 ; AL # So BLACK DIAMOND MINUS WHITE X\r
+2758..275E ; AL # So [7] LIGHT VERTICAL BAR..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT\r
+2761..2767 ; AL # So [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET\r
+2776..2793 ; AL # No [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN\r
+2794 ; AL # So HEAVY WIDE-HEADED RIGHTWARDS ARROW\r
+2798..27AF ; AL # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\r
+27B1..27BE ; AL # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW\r
+2800..28FF ; AL # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678\r
+FB00..FB06 ; AL # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST\r
+FB13..FB17 ; AL # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH\r
+FB1D ; AL # Lo HEBREW LETTER YOD WITH HIRIQ\r
+FB1F..FB28 ; AL # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV\r
+FB29 ; AL # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN\r
+FB2A..FB36 ; AL # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH\r
+FB38..FB3C ; AL # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH\r
+FB3E ; AL # Lo HEBREW LETTER MEM WITH DAGESH\r
+FB40..FB41 ; AL # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH\r
+FB43..FB44 ; AL # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH\r
+FB46..FBB1 ; AL # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM\r
+FBD3..FD3D ; AL # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM\r
+FD50..FD8F ; AL # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM\r
+FD92..FDC7 ; AL # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM\r
+FDF0..FDFB ; AL # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU\r
+FE70..FE72 ; AL # Lo [3] ARABIC FATHATAN ISOLATED FORM..ARABIC DAMMATAN ISOLATED FORM\r
+FE74 ; AL # Lo ARABIC KASRATAN ISOLATED FORM\r
+FE76..FEFC ; AL # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM\r
+FF66 ; AL # Lo HALFWIDTH KATAKANA LETTER WO\r
+FF71..FF9D ; AL # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N\r
+FFA0..FFBE ; AL # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH\r
+FFC2..FFC7 ; AL # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E\r
+FFCA..FFCF ; AL # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE\r
+FFD2..FFD7 ; AL # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU\r
+FFDA..FFDC ; AL # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I\r
+FFE8 ; AL # So HALFWIDTH FORMS LIGHT VERTICAL\r
+FFE9..FFEC ; AL # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW\r
+FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE\r
+10300..1031E ; AL # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU\r
+10320..10323 ; AL # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY\r
+10330..10349 ; AL # Lo [26] GOTHIC LETTER AHSA..GOTHIC LETTER OTHAL\r
+1034A ; AL # Nl GOTHIC LETTER NINE HUNDRED\r
+10400..10425 ; AL # L& [38] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER ENG\r
+10428..1044D ; AL # L& [38] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER ENG\r
+1D000..1D0F5 ; AL # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO\r
+1D100..1D126 ; AL # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2\r
+1D12A..1D164 ; AL # So [59] MUSICAL SYMBOL DOUBLE SHARP..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE\r
+1D16A..1D16C ; AL # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3\r
+1D183..1D184 ; AL # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN\r
+1D18C..1D1A9 ; AL # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH\r
+1D1AE..1D1DD ; AL # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS\r
+1D400..1D454 ; AL # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G\r
+1D456..1D49C ; AL # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A\r
+1D49E..1D49F ; AL # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D\r
+1D4A2 ; AL # L& MATHEMATICAL SCRIPT CAPITAL G\r
+1D4A5..1D4A6 ; AL # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K\r
+1D4A9..1D4AC ; AL # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q\r
+1D4AE..1D4B9 ; AL # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D\r
+1D4BB ; AL # L& MATHEMATICAL SCRIPT SMALL F\r
+1D4BD..1D4C0 ; AL # L& [4] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL K\r
+1D4C2..1D4C3 ; AL # L& [2] MATHEMATICAL SCRIPT SMALL M..MATHEMATICAL SCRIPT SMALL N\r
+1D4C5..1D505 ; AL # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B\r
+1D507..1D50A ; AL # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G\r
+1D50D..1D514 ; AL # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q\r
+1D516..1D51C ; AL # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y\r
+1D51E..1D539 ; AL # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B\r
+1D53B..1D53E ; AL # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G\r
+1D540..1D544 ; AL # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M\r
+1D546 ; AL # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O\r
+1D54A..1D550 ; AL # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y\r
+1D552..1D6A3 ; AL # L& [338] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL MONOSPACE SMALL Z\r
+1D6A8..1D6C0 ; AL # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA\r
+1D6C1 ; AL # Sm MATHEMATICAL BOLD NABLA\r
+1D6C2..1D6DA ; AL # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA\r
+1D6DB ; AL # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL\r
+1D6DC..1D6FA ; AL # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA\r
+1D6FB ; AL # Sm MATHEMATICAL ITALIC NABLA\r
+1D6FC..1D714 ; AL # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA\r
+1D715 ; AL # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL\r
+1D716..1D734 ; AL # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA\r
+1D735 ; AL # Sm MATHEMATICAL BOLD ITALIC NABLA\r
+1D736..1D74E ; AL # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA\r
+1D74F ; AL # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL\r
+1D750..1D76E ; AL # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA\r
+1D76F ; AL # Sm MATHEMATICAL SANS-SERIF BOLD NABLA\r
+1D770..1D788 ; AL # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA\r
+1D789 ; AL # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL\r
+1D78A..1D7A8 ; AL # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA\r
+1D7A9 ; AL # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA\r
+1D7AA..1D7C2 ; AL # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA\r
+1D7C3 ; AL # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL\r
+1D7C4..1D7C9 ; AL # L& [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL\r
+\r
+# Total code points: 7183\r
+\r
+# ================================================\r
+\r
+1100..1159 ; ID # Lo [90] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG YEORINHIEUH\r
+115F ; ID # Lo HANGUL CHOSEONG FILLER\r
+2E80..2E99 ; ID # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP\r
+2E9B..2EF3 ; ID # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE\r
+2F00..2FD5 ; ID # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE\r
+2FF0..2FFB ; ID # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID\r
+3000 ; ID # Zs IDEOGRAPHIC SPACE\r
+3003 ; ID # Po DITTO MARK\r
+3004 ; ID # So JAPANESE INDUSTRIAL STANDARD SYMBOL\r
+3006 ; ID # Lo IDEOGRAPHIC CLOSING MARK\r
+3007 ; ID # Nl IDEOGRAPHIC NUMBER ZERO\r
+3012..3013 ; ID # So [2] POSTAL MARK..GETA MARK\r
+3020 ; ID # So POSTAL MARK FACE\r
+3021..3029 ; ID # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE\r
+3030 ; ID # Pd WAVY DASH\r
+3031..3035 ; ID # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF\r
+3036..3037 ; ID # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL\r
+3038..303A ; ID # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY\r
+303E..303F ; ID # So [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE\r
+3042 ; ID # Lo HIRAGANA LETTER A\r
+3044 ; ID # Lo HIRAGANA LETTER I\r
+3046 ; ID # Lo HIRAGANA LETTER U\r
+3048 ; ID # Lo HIRAGANA LETTER E\r
+304A..3062 ; ID # Lo [25] HIRAGANA LETTER O..HIRAGANA LETTER DI\r
+3064..3082 ; ID # Lo [31] HIRAGANA LETTER TU..HIRAGANA LETTER MO\r
+3084 ; ID # Lo HIRAGANA LETTER YA\r
+3086 ; ID # Lo HIRAGANA LETTER YU\r
+3088..308D ; ID # Lo [6] HIRAGANA LETTER YO..HIRAGANA LETTER RO\r
+308F..3094 ; ID # Lo [6] HIRAGANA LETTER WA..HIRAGANA LETTER VU\r
+30A2 ; ID # Lo KATAKANA LETTER A\r
+30A4 ; ID # Lo KATAKANA LETTER I\r
+30A6 ; ID # Lo KATAKANA LETTER U\r
+30A8 ; ID # Lo KATAKANA LETTER E\r
+30AA..30C2 ; ID # Lo [25] KATAKANA LETTER O..KATAKANA LETTER DI\r
+30C4..30E2 ; ID # Lo [31] KATAKANA LETTER TU..KATAKANA LETTER MO\r
+30E4 ; ID # Lo KATAKANA LETTER YA\r
+30E6 ; ID # Lo KATAKANA LETTER YU\r
+30E8..30ED ; ID # Lo [6] KATAKANA LETTER YO..KATAKANA LETTER RO\r
+30EF..30F4 ; ID # Lo [6] KATAKANA LETTER WA..KATAKANA LETTER VU\r
+30F7..30FA ; ID # Lo [4] KATAKANA LETTER VA..KATAKANA LETTER VO\r
+30FC ; ID # Lm KATAKANA-HIRAGANA PROLONGED SOUND MARK\r
+30FE ; ID # Lm KATAKANA VOICED ITERATION MARK\r
+3105..312C ; ID # Lo [40] BOPOMOFO LETTER B..BOPOMOFO LETTER GN\r
+3131..318E ; ID # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE\r
+3190..3191 ; ID # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK\r
+3192..3195 ; ID # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK\r
+3196..319F ; ID # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK\r
+31A0..31B7 ; ID # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H\r
+3200..321C ; ID # So [29] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED HANGUL CIEUC U\r
+3220..3229 ; ID # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN\r
+322A..3243 ; ID # So [26] PARENTHESIZED IDEOGRAPH MOON..PARENTHESIZED IDEOGRAPH REACH\r
+3260..327B ; ID # So [28] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL HIEUH A\r
+327F ; ID # So KOREAN STANDARD SYMBOL\r
+3280..3289 ; ID # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN\r
+328A..32B0 ; ID # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT\r
+32C0..32CB ; ID # So [12] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER\r
+32D0..32FE ; ID # So [47] CIRCLED KATAKANA A..CIRCLED KATAKANA WO\r
+3300..3376 ; ID # So [119] SQUARE APAATO..SQUARE PC\r
+337B..33DD ; ID # So [99] SQUARE ERA NAME HEISEI..SQUARE WB\r
+33E0..33FE ; ID # So [31] IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE\r
+3400..4DB5 ; ID # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5\r
+4E00..9FA5 ; ID # Lo [20902] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FA5\r
+A000..A48C ; ID # Lo [1165] YI SYLLABLE IT..YI SYLLABLE YYR\r
+A490..A4A1 ; ID # So [18] YI RADICAL QOT..YI RADICAL GA\r
+A4A4..A4B3 ; ID # So [16] YI RADICAL DDUR..YI RADICAL JO\r
+A4B5..A4C0 ; ID # So [12] YI RADICAL JJY..YI RADICAL SHAT\r
+A4C2..A4C4 ; ID # So [3] YI RADICAL SHOP..YI RADICAL ZZIET\r
+A4C6 ; ID # So YI RADICAL KE\r
+AC00..D7A3 ; ID # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH\r
+F900..FA2D ; ID # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D\r
+FE30 ; ID # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER\r
+FE31..FE32 ; ID # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH\r
+FE33..FE34 ; ID # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE\r
+FE49..FE4C ; ID # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE\r
+FE4D..FE4F ; ID # Pc [3] DASHED LOW LINE..WAVY LOW LINE\r
+FE51 ; ID # Po SMALL IDEOGRAPHIC COMMA\r
+FE58 ; ID # Pd SMALL EM DASH\r
+FE5F..FE61 ; ID # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK\r
+FE62 ; ID # Sm SMALL PLUS SIGN\r
+FE63 ; ID # Pd SMALL HYPHEN-MINUS\r
+FE64..FE66 ; ID # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN\r
+FE68 ; ID # Po SMALL REVERSE SOLIDUS\r
+FE6B ; ID # Po SMALL COMMERCIAL AT\r
+FF02..FF03 ; ID # Po [2] FULLWIDTH QUOTATION MARK..FULLWIDTH NUMBER SIGN\r
+FF06..FF07 ; ID # Po [2] FULLWIDTH AMPERSAND..FULLWIDTH APOSTROPHE\r
+FF0A ; ID # Po FULLWIDTH ASTERISK\r
+FF0B ; ID # Sm FULLWIDTH PLUS SIGN\r
+FF0D ; ID # Pd FULLWIDTH HYPHEN-MINUS\r
+FF0F ; ID # Po FULLWIDTH SOLIDUS\r
+FF10..FF19 ; ID # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE\r
+FF1C..FF1E ; ID # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN\r
+FF20 ; ID # Po FULLWIDTH COMMERCIAL AT\r
+FF21..FF3A ; ID # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z\r
+FF3C ; ID # Po FULLWIDTH REVERSE SOLIDUS\r
+FF3E ; ID # Sk FULLWIDTH CIRCUMFLEX ACCENT\r
+FF3F ; ID # Pc FULLWIDTH LOW LINE\r
+FF40 ; ID # Sk FULLWIDTH GRAVE ACCENT\r
+FF41..FF5A ; ID # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z\r
+FF5C ; ID # Sm FULLWIDTH VERTICAL LINE\r
+FF5E ; ID # Sm FULLWIDTH TILDE\r
+FFE2 ; ID # Sm FULLWIDTH NOT SIGN\r
+FFE3 ; ID # Sk FULLWIDTH MACRON\r
+FFE4 ; ID # So FULLWIDTH BROKEN BAR\r
+20000..2A6D6 ; ID # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6\r
+2F800..2FA1D ; ID # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D\r
+\r
+# Total code points: 84774\r
+\r
+# ================================================\r
+\r
+2024..2026 ; IN # Po [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS\r
+\r
+# Total code points: 3\r
+\r
+# ================================================\r
+\r
+002D ; HY # Pd HYPHEN-MINUS\r
+\r
+# Total code points: 1\r
+\r
+# ================================================\r
+\r
+0000..0008 ; CM # Cc [9] <control>..<control>\r
+000B ; CM # Cc <control>\r
+000E..001F ; CM # Cc [18] <control>..<control>\r
+007F..009F ; CM # Cc [33] <control>..<control>\r
+0300..034E ; CM # Mn [79] COMBINING GRAVE ACCENT..COMBINING UPWARDS ARROW BELOW\r
+0360..0362 ; CM # Mn [3] COMBINING DOUBLE TILDE..COMBINING DOUBLE RIGHTWARDS ARROW BELOW\r
+0483..0486 ; CM # Mn [4] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC PSILI PNEUMATA\r
+0488..0489 ; CM # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN\r
+0591..05A1 ; CM # Mn [17] HEBREW ACCENT ETNAHTA..HEBREW ACCENT PAZER\r
+05A3..05B9 ; CM # Mn [23] HEBREW ACCENT MUNAH..HEBREW POINT HOLAM\r
+05BB..05BD ; CM # Mn [3] HEBREW POINT QUBUTS..HEBREW POINT METEG\r
+05BF ; CM # Mn HEBREW POINT RAFE\r
+05C1..05C2 ; CM # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT\r
+05C4 ; CM # Mn HEBREW MARK UPPER DOT\r
+064B..0655 ; CM # Mn [11] ARABIC FATHATAN..ARABIC HAMZA BELOW\r
+0670 ; CM # Mn ARABIC LETTER SUPERSCRIPT ALEF\r
+06D6..06DC ; CM # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN\r
+06DD..06DE ; CM # Me [2] ARABIC END OF AYAH..ARABIC START OF RUB EL HIZB\r
+06DF..06E4 ; CM # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA\r
+06E7..06E8 ; CM # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON\r
+06EA..06ED ; CM # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM\r
+070F ; CM # Cf SYRIAC ABBREVIATION MARK\r
+0711 ; CM # Mn SYRIAC LETTER SUPERSCRIPT ALAPH\r
+0730..074A ; CM # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH\r
+07A6..07B0 ; CM # Mn [11] THAANA ABAFILI..THAANA SUKUN\r
+0901..0902 ; CM # Mn [2] DEVANAGARI SIGN CANDRABINDU..DEVANAGARI SIGN ANUSVARA\r
+0903 ; CM # Mc DEVANAGARI SIGN VISARGA\r
+093C ; CM # Mn DEVANAGARI SIGN NUKTA\r
+093E..0940 ; CM # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II\r
+0941..0948 ; CM # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI\r
+0949..094C ; CM # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU\r
+094D ; CM # Mn DEVANAGARI SIGN VIRAMA\r
+0951..0954 ; CM # Mn [4] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI ACUTE ACCENT\r
+0962..0963 ; CM # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL\r
+0981 ; CM # Mn BENGALI SIGN CANDRABINDU\r
+0982..0983 ; CM # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA\r
+09BC ; CM # Mn BENGALI SIGN NUKTA\r
+09BE..09C0 ; CM # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II\r
+09C1..09C4 ; CM # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR\r
+09C7..09C8 ; CM # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI\r
+09CB..09CC ; CM # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU\r
+09CD ; CM # Mn BENGALI SIGN VIRAMA\r
+09D7 ; CM # Mc BENGALI AU LENGTH MARK\r
+09E2..09E3 ; CM # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL\r
+0A02 ; CM # Mn GURMUKHI SIGN BINDI\r
+0A3C ; CM # Mn GURMUKHI SIGN NUKTA\r
+0A3E..0A40 ; CM # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II\r
+0A41..0A42 ; CM # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU\r
+0A47..0A48 ; CM # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI\r
+0A4B..0A4D ; CM # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA\r
+0A70..0A71 ; CM # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK\r
+0A81..0A82 ; CM # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA\r
+0A83 ; CM # Mc GUJARATI SIGN VISARGA\r
+0ABC ; CM # Mn GUJARATI SIGN NUKTA\r
+0ABE..0AC0 ; CM # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II\r
+0AC1..0AC5 ; CM # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E\r
+0AC7..0AC8 ; CM # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI\r
+0AC9 ; CM # Mc GUJARATI VOWEL SIGN CANDRA O\r
+0ACB..0ACC ; CM # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU\r
+0ACD ; CM # Mn GUJARATI SIGN VIRAMA\r
+0B01 ; CM # Mn ORIYA SIGN CANDRABINDU\r
+0B02..0B03 ; CM # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA\r
+0B3C ; CM # Mn ORIYA SIGN NUKTA\r
+0B3E ; CM # Mc ORIYA VOWEL SIGN AA\r
+0B3F ; CM # Mn ORIYA VOWEL SIGN I\r
+0B40 ; CM # Mc ORIYA VOWEL SIGN II\r
+0B41..0B43 ; CM # Mn [3] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC R\r
+0B47..0B48 ; CM # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI\r
+0B4B..0B4C ; CM # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU\r
+0B4D ; CM # Mn ORIYA SIGN VIRAMA\r
+0B56 ; CM # Mn ORIYA AI LENGTH MARK\r
+0B57 ; CM # Mc ORIYA AU LENGTH MARK\r
+0B82 ; CM # Mn TAMIL SIGN ANUSVARA\r
+0B83 ; CM # Mc TAMIL SIGN VISARGA\r
+0BBE..0BBF ; CM # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I\r
+0BC0 ; CM # Mn TAMIL VOWEL SIGN II\r
+0BC1..0BC2 ; CM # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU\r
+0BC6..0BC8 ; CM # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI\r
+0BCA..0BCC ; CM # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU\r
+0BCD ; CM # Mn TAMIL SIGN VIRAMA\r
+0BD7 ; CM # Mc TAMIL AU LENGTH MARK\r
+0C01..0C03 ; CM # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA\r
+0C3E..0C40 ; CM # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II\r
+0C41..0C44 ; CM # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR\r
+0C46..0C48 ; CM # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI\r
+0C4A..0C4D ; CM # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA\r
+0C55..0C56 ; CM # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK\r
+0C82..0C83 ; CM # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA\r
+0CBE ; CM # Mc KANNADA VOWEL SIGN AA\r
+0CBF ; CM # Mn KANNADA VOWEL SIGN I\r
+0CC0..0CC4 ; CM # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR\r
+0CC6 ; CM # Mn KANNADA VOWEL SIGN E\r
+0CC7..0CC8 ; CM # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI\r
+0CCA..0CCB ; CM # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO\r
+0CCC..0CCD ; CM # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA\r
+0CD5..0CD6 ; CM # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK\r
+0D02..0D03 ; CM # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA\r
+0D3E..0D40 ; CM # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II\r
+0D41..0D43 ; CM # Mn [3] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC R\r
+0D46..0D48 ; CM # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI\r
+0D4A..0D4C ; CM # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU\r
+0D4D ; CM # Mn MALAYALAM SIGN VIRAMA\r
+0D57 ; CM # Mc MALAYALAM AU LENGTH MARK\r
+0D82..0D83 ; CM # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA\r
+0DCA ; CM # Mn SINHALA SIGN AL-LAKUNA\r
+0DCF..0DD1 ; CM # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA\r
+0DD2..0DD4 ; CM # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA\r
+0DD6 ; CM # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA\r
+0DD8..0DDF ; CM # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA\r
+0DF2..0DF3 ; CM # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA\r
+0E31 ; CM # Mn THAI CHARACTER MAI HAN-AKAT\r
+0E34..0E3A ; CM # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU\r
+0E47..0E4E ; CM # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN\r
+0EB1 ; CM # Mn LAO VOWEL SIGN MAI KAN\r
+0EB4..0EB9 ; CM # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU\r
+0EBB..0EBC ; CM # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO\r
+0EC8..0ECD ; CM # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA\r
+0F18..0F19 ; CM # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS\r
+0F35 ; CM # Mn TIBETAN MARK NGAS BZUNG NYI ZLA\r
+0F37 ; CM # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS\r
+0F39 ; CM # Mn TIBETAN MARK TSA -PHRU\r
+0F3E..0F3F ; CM # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES\r
+0F71..0F7E ; CM # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO\r
+0F7F ; CM # Mc TIBETAN SIGN RNAM BCAD\r
+0F80..0F84 ; CM # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA\r
+0F86..0F87 ; CM # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS\r
+0F90..0F97 ; CM # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA\r
+0F99..0FBC ; CM # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA\r
+0FC6 ; CM # Mn TIBETAN SYMBOL PADMA GDAN\r
+102C ; CM # Mc MYANMAR VOWEL SIGN AA\r
+102D..1030 ; CM # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU\r
+1031 ; CM # Mc MYANMAR VOWEL SIGN E\r
+1032 ; CM # Mn MYANMAR VOWEL SIGN AI\r
+1036..1037 ; CM # Mn [2] MYANMAR SIGN ANUSVARA..MYANMAR SIGN DOT BELOW\r
+1038 ; CM # Mc MYANMAR SIGN VISARGA\r
+1039 ; CM # Mn MYANMAR SIGN VIRAMA\r
+1056..1057 ; CM # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR\r
+1058..1059 ; CM # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL\r
+1160..11A2 ; CM # Lo [67] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG SSANGARAEA\r
+11A8..11F9 ; CM # Lo [82] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG YEORINHIEUH\r
+17B4..17B6 ; CM # Mc [3] KHMER VOWEL INHERENT AQ..KHMER VOWEL SIGN AA\r
+17B7..17BD ; CM # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA\r
+17BE..17C5 ; CM # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU\r
+17C6 ; CM # Mn KHMER SIGN NIKAHIT\r
+17C7..17C8 ; CM # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU\r
+17C9..17D3 ; CM # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT\r
+180B..180E ; CM # Cf [4] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN VOWEL SEPARATOR\r
+18A9 ; CM # Mn MONGOLIAN LETTER ALI GALI DAGALGA\r
+200C..200F ; CM # Cf [4] ZERO WIDTH NON-JOINER..RIGHT-TO-LEFT MARK\r
+202A..202E ; CM # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE\r
+206A..206F ; CM # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES\r
+20D0..20DC ; CM # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE\r
+20DD..20E0 ; CM # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH\r
+20E1 ; CM # Mn COMBINING LEFT RIGHT ARROW ABOVE\r
+20E2..20E3 ; CM # Me [2] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING KEYCAP\r
+302A..302F ; CM # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK\r
+3099..309A ; CM # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK\r
+FB1E ; CM # Mn HEBREW POINT JUDEO-SPANISH VARIKA\r
+FE20..FE23 ; CM # Mn [4] COMBINING LIGATURE LEFT HALF..COMBINING DOUBLE TILDE RIGHT HALF\r
+FFF9..FFFB ; CM # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR\r
+1D165..1D166 ; CM # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM\r
+1D167..1D169 ; CM # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3\r
+1D16D..1D172 ; CM # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5\r
+1D173..1D17A ; CM # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE\r
+1D17B..1D182 ; CM # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE\r
+1D185..1D18B ; CM # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE\r
+1D1AA..1D1AD ; CM # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO\r
+E0001 ; CM # Cf LANGUAGE TAG\r
+E0020..E007F ; CM # Cf [96] TAG SPACE..CANCEL TAG\r
+\r
+# Total code points: 943\r
+\r
+# ================================================\r
+\r
+00B4 ; BB # Sk ACUTE ACCENT\r
+02C8 ; BB # Sk MODIFIER LETTER VERTICAL LINE\r
+02CC ; BB # Sk MODIFIER LETTER LOW VERTICAL LINE\r
+1806 ; BB # Pd MONGOLIAN TODO SOFT HYPHEN\r
+\r
+# Total code points: 4\r
+\r
+# ================================================\r
+\r
+0009 ; BA # Cc <control>\r
+007C ; BA # Sm VERTICAL LINE\r
+00AD ; BA # Pd SOFT HYPHEN\r
+058A ; BA # Pd ARMENIAN HYPHEN\r
+0F0B ; BA # Po TIBETAN MARK INTERSYLLABIC TSHEG\r
+1361 ; BA # Po ETHIOPIC WORDSPACE\r
+1680 ; BA # Zs OGHAM SPACE MARK\r
+17D5 ; BA # Po KHMER SIGN BARIYOOSAN\r
+2000..2006 ; BA # Zs [7] EN QUAD..SIX-PER-EM SPACE\r
+2008..200A ; BA # Zs [3] PUNCTUATION SPACE..HAIR SPACE\r
+2010 ; BA # Pd HYPHEN\r
+2012..2013 ; BA # Pd [2] FIGURE DASH..EN DASH\r
+2027 ; BA # Po HYPHENATION POINT\r
+\r
+# Total code points: 22\r
+\r
+# ================================================\r
+\r
+0020 ; SP # Zs SPACE\r
+\r
+# Total code points: 1\r
+\r
+# ================================================\r
+\r
+000C ; BK # Cc <control>\r
+2028 ; BK # Zl LINE SEPARATOR\r
+2029 ; BK # Zp PARAGRAPH SEPARATOR\r
+\r
+# Total code points: 3\r
+\r
+# ================================================\r
+\r
+000D ; CR # Cc <control>\r
+\r
+# Total code points: 1\r
+\r
+# ================================================\r
+\r
+000A ; LF # Cc <control>\r
+\r
+# Total code points: 1\r
+\r
+# ================================================\r
+\r
+FFFC ; CB # So OBJECT REPLACEMENT CHARACTER\r
+\r
+# Total code points: 1\r
+\r
+# ================================================\r
+\r
+0E01..0E30 ; SA # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A\r
+0E32..0E33 ; SA # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM\r
+0E40..0E45 ; SA # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO\r
+0E46 ; SA # Lm THAI CHARACTER MAIYAMOK\r
+0E81..0E82 ; SA # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG\r
+0E84 ; SA # Lo LAO LETTER KHO TAM\r
+0E87..0E88 ; SA # Lo [2] LAO LETTER NGO..LAO LETTER CO\r
+0E8A ; SA # Lo LAO LETTER SO TAM\r
+0E8D ; SA # Lo LAO LETTER NYO\r
+0E94..0E97 ; SA # Lo [4] LAO LETTER DO..LAO LETTER THO TAM\r
+0E99..0E9F ; SA # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG\r
+0EA1..0EA3 ; SA # Lo [3] LAO LETTER MO..LAO LETTER LO LING\r
+0EA5 ; SA # Lo LAO LETTER LO LOOT\r
+0EA7 ; SA # Lo LAO LETTER WO\r
+0EAA..0EAB ; SA # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG\r
+0EAD..0EB0 ; SA # Lo [4] LAO LETTER O..LAO VOWEL SIGN A\r
+0EB2..0EB3 ; SA # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM\r
+0EBD ; SA # Lo LAO SEMIVOWEL SIGN NYO\r
+0EC0..0EC4 ; SA # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI\r
+0EC6 ; SA # Lm LAO KO LA\r
+0EDC..0EDD ; SA # Lo [2] LAO HO NO..LAO HO MO\r
+1000..1021 ; SA # Lo [34] MYANMAR LETTER KA..MYANMAR LETTER A\r
+1023..1027 ; SA # Lo [5] MYANMAR LETTER I..MYANMAR LETTER E\r
+1029..102A ; SA # Lo [2] MYANMAR LETTER O..MYANMAR LETTER AU\r
+1050..1055 ; SA # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL\r
+1780..17B3 ; SA # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU\r
+\r
+# Total code points: 196\r
+\r
+# ================================================\r
+\r
+00A1 ; AI # Po INVERTED EXCLAMATION MARK\r
+00A7 ; AI # So SECTION SIGN\r
+00A8 ; AI # Sk DIAERESIS\r
+00AA ; AI # L& FEMININE ORDINAL INDICATOR\r
+00B2..00B3 ; AI # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE\r
+00B6 ; AI # So PILCROW SIGN\r
+00B7 ; AI # Po MIDDLE DOT\r
+00B8 ; AI # Sk CEDILLA\r
+00B9 ; AI # No SUPERSCRIPT ONE\r
+00BA ; AI # L& MASCULINE ORDINAL INDICATOR\r
+00BC..00BE ; AI # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS\r
+00BF ; AI # Po INVERTED QUESTION MARK\r
+00C6 ; AI # L& LATIN CAPITAL LETTER AE\r
+00D0 ; AI # L& LATIN CAPITAL LETTER ETH\r
+00D7 ; AI # Sm MULTIPLICATION SIGN\r
+00D8 ; AI # L& LATIN CAPITAL LETTER O WITH STROKE\r
+00DE..00E1 ; AI # L& [4] LATIN CAPITAL LETTER THORN..LATIN SMALL LETTER A WITH ACUTE\r
+00E6 ; AI # L& LATIN SMALL LETTER AE\r
+00E8..00EA ; AI # L& [3] LATIN SMALL LETTER E WITH GRAVE..LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+00EC..00ED ; AI # L& [2] LATIN SMALL LETTER I WITH GRAVE..LATIN SMALL LETTER I WITH ACUTE\r
+00F0 ; AI # L& LATIN SMALL LETTER ETH\r
+00F2..00F3 ; AI # L& [2] LATIN SMALL LETTER O WITH GRAVE..LATIN SMALL LETTER O WITH ACUTE\r
+00F7 ; AI # Sm DIVISION SIGN\r
+00F8..00FA ; AI # L& [3] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER U WITH ACUTE\r
+00FC ; AI # L& LATIN SMALL LETTER U WITH DIAERESIS\r
+00FE ; AI # L& LATIN SMALL LETTER THORN\r
+0101 ; AI # L& LATIN SMALL LETTER A WITH MACRON\r
+0111 ; AI # L& LATIN SMALL LETTER D WITH STROKE\r
+0113 ; AI # L& LATIN SMALL LETTER E WITH MACRON\r
+011B ; AI # L& LATIN SMALL LETTER E WITH CARON\r
+0126..0127 ; AI # L& [2] LATIN CAPITAL LETTER H WITH STROKE..LATIN SMALL LETTER H WITH STROKE\r
+012B ; AI # L& LATIN SMALL LETTER I WITH MACRON\r
+0131..0133 ; AI # L& [3] LATIN SMALL LETTER DOTLESS I..LATIN SMALL LIGATURE IJ\r
+0138 ; AI # L& LATIN SMALL LETTER KRA\r
+013F..0142 ; AI # L& [4] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH STROKE\r
+0144 ; AI # L& LATIN SMALL LETTER N WITH ACUTE\r
+0148..014A ; AI # L& [3] LATIN SMALL LETTER N WITH CARON..LATIN CAPITAL LETTER ENG\r
+014D ; AI # L& LATIN SMALL LETTER O WITH MACRON\r
+0152..0153 ; AI # L& [2] LATIN CAPITAL LIGATURE OE..LATIN SMALL LIGATURE OE\r
+0166..0167 ; AI # L& [2] LATIN CAPITAL LETTER T WITH STROKE..LATIN SMALL LETTER T WITH STROKE\r
+016B ; AI # L& LATIN SMALL LETTER U WITH MACRON\r
+01CE ; AI # L& LATIN SMALL LETTER A WITH CARON\r
+01D0 ; AI # L& LATIN SMALL LETTER I WITH CARON\r
+01D2 ; AI # L& LATIN SMALL LETTER O WITH CARON\r
+01D4 ; AI # L& LATIN SMALL LETTER U WITH CARON\r
+01D6 ; AI # L& LATIN SMALL LETTER U WITH DIAERESIS AND MACRON\r
+01D8 ; AI # L& LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE\r
+01DA ; AI # L& LATIN SMALL LETTER U WITH DIAERESIS AND CARON\r
+01DC ; AI # L& LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE\r
+0251 ; AI # L& LATIN SMALL LETTER ALPHA\r
+0261 ; AI # L& LATIN SMALL LETTER SCRIPT G\r
+02C7 ; AI # Sk CARON\r
+02C9..02CB ; AI # Sk [3] MODIFIER LETTER MACRON..MODIFIER LETTER GRAVE ACCENT\r
+02CD ; AI # Sk MODIFIER LETTER LOW MACRON\r
+02D0 ; AI # Lm MODIFIER LETTER TRIANGULAR COLON\r
+02D8..02DB ; AI # Sk [4] BREVE..OGONEK\r
+02DD ; AI # Sk DOUBLE ACUTE ACCENT\r
+0391..03A1 ; AI # L& [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO\r
+03A3..03A9 ; AI # L& [7] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER OMEGA\r
+03B1..03C1 ; AI # L& [17] GREEK SMALL LETTER ALPHA..GREEK SMALL LETTER RHO\r
+03C3..03C9 ; AI # L& [7] GREEK SMALL LETTER SIGMA..GREEK SMALL LETTER OMEGA\r
+0401 ; AI # L& CYRILLIC CAPITAL LETTER IO\r
+0410..044F ; AI # L& [64] CYRILLIC CAPITAL LETTER A..CYRILLIC SMALL LETTER YA\r
+0451 ; AI # L& CYRILLIC SMALL LETTER IO\r
+2015 ; AI # Pd HORIZONTAL BAR\r
+2016 ; AI # Po DOUBLE VERTICAL LINE\r
+2020..2021 ; AI # Po [2] DAGGER..DOUBLE DAGGER\r
+203B ; AI # Po REFERENCE MARK\r
+2074 ; AI # No SUPERSCRIPT FOUR\r
+207F ; AI # L& SUPERSCRIPT LATIN SMALL LETTER N\r
+2081..2084 ; AI # No [4] SUBSCRIPT ONE..SUBSCRIPT FOUR\r
+2105 ; AI # So CARE OF\r
+2113 ; AI # L& SCRIPT SMALL L\r
+2121..2122 ; AI # So [2] TELEPHONE SIGN..TRADE MARK SIGN\r
+212B ; AI # L& ANGSTROM SIGN\r
+2154..2155 ; AI # No [2] VULGAR FRACTION TWO THIRDS..VULGAR FRACTION ONE FIFTH\r
+215B ; AI # No VULGAR FRACTION ONE EIGHTH\r
+215E ; AI # No VULGAR FRACTION SEVEN EIGHTHS\r
+2160..216B ; AI # Nl [12] ROMAN NUMERAL ONE..ROMAN NUMERAL TWELVE\r
+2170..2179 ; AI # Nl [10] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL TEN\r
+2190..2194 ; AI # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW\r
+2195..2199 ; AI # So [5] UP DOWN ARROW..SOUTH WEST ARROW\r
+21D2 ; AI # Sm RIGHTWARDS DOUBLE ARROW\r
+21D4 ; AI # Sm LEFT RIGHT DOUBLE ARROW\r
+2200 ; AI # Sm FOR ALL\r
+2202..2203 ; AI # Sm [2] PARTIAL DIFFERENTIAL..THERE EXISTS\r
+2207..2208 ; AI # Sm [2] NABLA..ELEMENT OF\r
+220B ; AI # Sm CONTAINS AS MEMBER\r
+220F ; AI # Sm N-ARY PRODUCT\r
+2211 ; AI # Sm N-ARY SUMMATION\r
+2215 ; AI # Sm DIVISION SLASH\r
+221A ; AI # Sm SQUARE ROOT\r
+221D..2220 ; AI # Sm [4] PROPORTIONAL TO..ANGLE\r
+2223 ; AI # Sm DIVIDES\r
+2225 ; AI # Sm PARALLEL TO\r
+2227..222C ; AI # Sm [6] LOGICAL AND..DOUBLE INTEGRAL\r
+222E ; AI # Sm CONTOUR INTEGRAL\r
+2234..2237 ; AI # Sm [4] THEREFORE..PROPORTION\r
+223C..223D ; AI # Sm [2] TILDE OPERATOR..REVERSED TILDE\r
+2248 ; AI # Sm ALMOST EQUAL TO\r
+224C ; AI # Sm ALL EQUAL TO\r
+2252 ; AI # Sm APPROXIMATELY EQUAL TO OR THE IMAGE OF\r
+2260..2261 ; AI # Sm [2] NOT EQUAL TO..IDENTICAL TO\r
+2264..2267 ; AI # Sm [4] LESS-THAN OR EQUAL TO..GREATER-THAN OVER EQUAL TO\r
+226A..226B ; AI # Sm [2] MUCH LESS-THAN..MUCH GREATER-THAN\r
+226E..226F ; AI # Sm [2] NOT LESS-THAN..NOT GREATER-THAN\r
+2282..2283 ; AI # Sm [2] SUBSET OF..SUPERSET OF\r
+2286..2287 ; AI # Sm [2] SUBSET OF OR EQUAL TO..SUPERSET OF OR EQUAL TO\r
+2295 ; AI # Sm CIRCLED PLUS\r
+2299 ; AI # Sm CIRCLED DOT OPERATOR\r
+22A5 ; AI # Sm UP TACK\r
+22BF ; AI # Sm RIGHT TRIANGLE\r
+2312 ; AI # So ARC\r
+2460..249B ; AI # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP\r
+249C..24BF ; AI # So [36] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN CAPITAL LETTER J\r
+24D0..24E9 ; AI # So [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z\r
+2500..254B ; AI # So [76] BOX DRAWINGS LIGHT HORIZONTAL..BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL\r
+2550..2574 ; AI # So [37] BOX DRAWINGS DOUBLE HORIZONTAL..BOX DRAWINGS LIGHT LEFT\r
+2580..258F ; AI # So [16] UPPER HALF BLOCK..LEFT ONE EIGHTH BLOCK\r
+2592..2595 ; AI # So [4] MEDIUM SHADE..RIGHT ONE EIGHTH BLOCK\r
+25A0..25A1 ; AI # So [2] BLACK SQUARE..WHITE SQUARE\r
+25A3..25A9 ; AI # So [7] WHITE SQUARE CONTAINING BLACK SMALL SQUARE..SQUARE WITH DIAGONAL CROSSHATCH FILL\r
+25B2..25B3 ; AI # So [2] BLACK UP-POINTING TRIANGLE..WHITE UP-POINTING TRIANGLE\r
+25B6 ; AI # So BLACK RIGHT-POINTING TRIANGLE\r
+25B7 ; AI # Sm WHITE RIGHT-POINTING TRIANGLE\r
+25BC..25BD ; AI # So [2] BLACK DOWN-POINTING TRIANGLE..WHITE DOWN-POINTING TRIANGLE\r
+25C0 ; AI # So BLACK LEFT-POINTING TRIANGLE\r
+25C1 ; AI # Sm WHITE LEFT-POINTING TRIANGLE\r
+25C6..25C8 ; AI # So [3] BLACK DIAMOND..WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND\r
+25CB ; AI # So WHITE CIRCLE\r
+25CE..25D1 ; AI # So [4] BULLSEYE..CIRCLE WITH RIGHT HALF BLACK\r
+25E2..25E5 ; AI # So [4] BLACK LOWER RIGHT TRIANGLE..BLACK UPPER RIGHT TRIANGLE\r
+25EF ; AI # So LARGE CIRCLE\r
+2605..2606 ; AI # So [2] BLACK STAR..WHITE STAR\r
+2609 ; AI # So SUN\r
+260E..260F ; AI # So [2] BLACK TELEPHONE..WHITE TELEPHONE\r
+261C ; AI # So WHITE LEFT POINTING INDEX\r
+261E ; AI # So WHITE RIGHT POINTING INDEX\r
+2640 ; AI # So FEMALE SIGN\r
+2642 ; AI # So MALE SIGN\r
+2660..2661 ; AI # So [2] BLACK SPADE SUIT..WHITE HEART SUIT\r
+2663..2665 ; AI # So [3] BLACK CLUB SUIT..BLACK HEART SUIT\r
+2667..266A ; AI # So [4] WHITE CLUB SUIT..EIGHTH NOTE\r
+266C..266D ; AI # So [2] BEAMED SIXTEENTH NOTES..MUSIC FLAT SIGN\r
+266F ; AI # Sm MUSIC SHARP SIGN\r
+FFFD ; AI # So REPLACEMENT CHARACTER\r
+\r
+# Total code points: 610\r
+\r
+# ================================================\r
+\r
+2014 ; B2 # Pd EM DASH\r
+\r
+# Total code points: 1\r
+\r
+# ================================================\r
+\r
+D800..DFFF ; SG # Cs [2048] \r
+\r
+# Total code points: 2048\r
+\r
+# ================================================\r
+\r
+200B ; ZW # Zs ZERO WIDTH SPACE\r
+\r
+# Total code points: 1\r
+\r
+\r
+\r
+\1a
\ No newline at end of file
--- /dev/null
+#\r
+# Name: cp1250 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 04/15/98\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1250 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1250 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 #UNDEFINED\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 #UNDEFINED\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 #UNDEFINED\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C 0x015A #LATIN CAPITAL LETTER S WITH ACUTE\r
+0x8D 0x0164 #LATIN CAPITAL LETTER T WITH CARON\r
+0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON\r
+0x8F 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE\r
+0x90 #UNDEFINED\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 #UNDEFINED\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C 0x015B #LATIN SMALL LETTER S WITH ACUTE\r
+0x9D 0x0165 #LATIN SMALL LETTER T WITH CARON\r
+0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON\r
+0x9F 0x017A #LATIN SMALL LETTER Z WITH ACUTE\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x02C7 #CARON\r
+0xA2 0x02D8 #BREVE\r
+0xA3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE\r
+0xA4 0x00A4 #CURRENCY SIGN\r
+0xA5 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x00A8 #DIAERESIS\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x02DB #OGONEK\r
+0xB3 0x0142 #LATIN SMALL LETTER L WITH STROKE\r
+0xB4 0x00B4 #ACUTE ACCENT\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x00B8 #CEDILLA\r
+0xB9 0x0105 #LATIN SMALL LETTER A WITH OGONEK\r
+0xBA 0x015F #LATIN SMALL LETTER S WITH CEDILLA\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x013D #LATIN CAPITAL LETTER L WITH CARON\r
+0xBD 0x02DD #DOUBLE ACUTE ACCENT\r
+0xBE 0x013E #LATIN SMALL LETTER L WITH CARON\r
+0xBF 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE\r
+0xC0 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE\r
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE\r
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE\r
+0xC6 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE\r
+0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON\r
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK\r
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x011A #LATIN CAPITAL LETTER E WITH CARON\r
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x010E #LATIN CAPITAL LETTER D WITH CARON\r
+0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE\r
+0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE\r
+0xD2 0x0147 #LATIN CAPITAL LETTER N WITH CARON\r
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\r
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 #MULTIPLICATION SIGN\r
+0xD8 0x0158 #LATIN CAPITAL LETTER R WITH CARON\r
+0xD9 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE\r
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\r
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE\r
+0xDE 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA\r
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S\r
+0xE0 0x0155 #LATIN SMALL LETTER R WITH ACUTE\r
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE\r
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x013A #LATIN SMALL LETTER L WITH ACUTE\r
+0xE6 0x0107 #LATIN SMALL LETTER C WITH ACUTE\r
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x010D #LATIN SMALL LETTER C WITH CARON\r
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x0119 #LATIN SMALL LETTER E WITH OGONEK\r
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x011B #LATIN SMALL LETTER E WITH CARON\r
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x010F #LATIN SMALL LETTER D WITH CARON\r
+0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE\r
+0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE\r
+0xF2 0x0148 #LATIN SMALL LETTER N WITH CARON\r
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE\r
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 #DIVISION SIGN\r
+0xF8 0x0159 #LATIN SMALL LETTER R WITH CARON\r
+0xF9 0x016F #LATIN SMALL LETTER U WITH RING ABOVE\r
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE\r
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE\r
+0xFE 0x0163 #LATIN SMALL LETTER T WITH CEDILLA\r
+0xFF 0x02D9 #DOT ABOVE\r
--- /dev/null
+#\r
+# Name: cp1251 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 04/15/98\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1251 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1251 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x0402 #CYRILLIC CAPITAL LETTER DJE\r
+0x81 0x0403 #CYRILLIC CAPITAL LETTER GJE\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 0x0453 #CYRILLIC SMALL LETTER GJE\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 0x20AC #EURO SIGN\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A 0x0409 #CYRILLIC CAPITAL LETTER LJE\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C 0x040A #CYRILLIC CAPITAL LETTER NJE\r
+0x8D 0x040C #CYRILLIC CAPITAL LETTER KJE\r
+0x8E 0x040B #CYRILLIC CAPITAL LETTER TSHE\r
+0x8F 0x040F #CYRILLIC CAPITAL LETTER DZHE\r
+0x90 0x0452 #CYRILLIC SMALL LETTER DJE\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 #UNDEFINED\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A 0x0459 #CYRILLIC SMALL LETTER LJE\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C 0x045A #CYRILLIC SMALL LETTER NJE\r
+0x9D 0x045C #CYRILLIC SMALL LETTER KJE\r
+0x9E 0x045B #CYRILLIC SMALL LETTER TSHE\r
+0x9F 0x045F #CYRILLIC SMALL LETTER DZHE\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x040E #CYRILLIC CAPITAL LETTER SHORT U\r
+0xA2 0x045E #CYRILLIC SMALL LETTER SHORT U\r
+0xA3 0x0408 #CYRILLIC CAPITAL LETTER JE\r
+0xA4 0x00A4 #CURRENCY SIGN\r
+0xA5 0x0490 #CYRILLIC CAPITAL LETTER GHE WITH UPTURN\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x0401 #CYRILLIC CAPITAL LETTER IO\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x0407 #CYRILLIC CAPITAL LETTER YI\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x0406 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I\r
+0xB3 0x0456 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I\r
+0xB4 0x0491 #CYRILLIC SMALL LETTER GHE WITH UPTURN\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x0451 #CYRILLIC SMALL LETTER IO\r
+0xB9 0x2116 #NUMERO SIGN\r
+0xBA 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x0458 #CYRILLIC SMALL LETTER JE\r
+0xBD 0x0405 #CYRILLIC CAPITAL LETTER DZE\r
+0xBE 0x0455 #CYRILLIC SMALL LETTER DZE\r
+0xBF 0x0457 #CYRILLIC SMALL LETTER YI\r
+0xC0 0x0410 #CYRILLIC CAPITAL LETTER A\r
+0xC1 0x0411 #CYRILLIC CAPITAL LETTER BE\r
+0xC2 0x0412 #CYRILLIC CAPITAL LETTER VE\r
+0xC3 0x0413 #CYRILLIC CAPITAL LETTER GHE\r
+0xC4 0x0414 #CYRILLIC CAPITAL LETTER DE\r
+0xC5 0x0415 #CYRILLIC CAPITAL LETTER IE\r
+0xC6 0x0416 #CYRILLIC CAPITAL LETTER ZHE\r
+0xC7 0x0417 #CYRILLIC CAPITAL LETTER ZE\r
+0xC8 0x0418 #CYRILLIC CAPITAL LETTER I\r
+0xC9 0x0419 #CYRILLIC CAPITAL LETTER SHORT I\r
+0xCA 0x041A #CYRILLIC CAPITAL LETTER KA\r
+0xCB 0x041B #CYRILLIC CAPITAL LETTER EL\r
+0xCC 0x041C #CYRILLIC CAPITAL LETTER EM\r
+0xCD 0x041D #CYRILLIC CAPITAL LETTER EN\r
+0xCE 0x041E #CYRILLIC CAPITAL LETTER O\r
+0xCF 0x041F #CYRILLIC CAPITAL LETTER PE\r
+0xD0 0x0420 #CYRILLIC CAPITAL LETTER ER\r
+0xD1 0x0421 #CYRILLIC CAPITAL LETTER ES\r
+0xD2 0x0422 #CYRILLIC CAPITAL LETTER TE\r
+0xD3 0x0423 #CYRILLIC CAPITAL LETTER U\r
+0xD4 0x0424 #CYRILLIC CAPITAL LETTER EF\r
+0xD5 0x0425 #CYRILLIC CAPITAL LETTER HA\r
+0xD6 0x0426 #CYRILLIC CAPITAL LETTER TSE\r
+0xD7 0x0427 #CYRILLIC CAPITAL LETTER CHE\r
+0xD8 0x0428 #CYRILLIC CAPITAL LETTER SHA\r
+0xD9 0x0429 #CYRILLIC CAPITAL LETTER SHCHA\r
+0xDA 0x042A #CYRILLIC CAPITAL LETTER HARD SIGN\r
+0xDB 0x042B #CYRILLIC CAPITAL LETTER YERU\r
+0xDC 0x042C #CYRILLIC CAPITAL LETTER SOFT SIGN\r
+0xDD 0x042D #CYRILLIC CAPITAL LETTER E\r
+0xDE 0x042E #CYRILLIC CAPITAL LETTER YU\r
+0xDF 0x042F #CYRILLIC CAPITAL LETTER YA\r
+0xE0 0x0430 #CYRILLIC SMALL LETTER A\r
+0xE1 0x0431 #CYRILLIC SMALL LETTER BE\r
+0xE2 0x0432 #CYRILLIC SMALL LETTER VE\r
+0xE3 0x0433 #CYRILLIC SMALL LETTER GHE\r
+0xE4 0x0434 #CYRILLIC SMALL LETTER DE\r
+0xE5 0x0435 #CYRILLIC SMALL LETTER IE\r
+0xE6 0x0436 #CYRILLIC SMALL LETTER ZHE\r
+0xE7 0x0437 #CYRILLIC SMALL LETTER ZE\r
+0xE8 0x0438 #CYRILLIC SMALL LETTER I\r
+0xE9 0x0439 #CYRILLIC SMALL LETTER SHORT I\r
+0xEA 0x043A #CYRILLIC SMALL LETTER KA\r
+0xEB 0x043B #CYRILLIC SMALL LETTER EL\r
+0xEC 0x043C #CYRILLIC SMALL LETTER EM\r
+0xED 0x043D #CYRILLIC SMALL LETTER EN\r
+0xEE 0x043E #CYRILLIC SMALL LETTER O\r
+0xEF 0x043F #CYRILLIC SMALL LETTER PE\r
+0xF0 0x0440 #CYRILLIC SMALL LETTER ER\r
+0xF1 0x0441 #CYRILLIC SMALL LETTER ES\r
+0xF2 0x0442 #CYRILLIC SMALL LETTER TE\r
+0xF3 0x0443 #CYRILLIC SMALL LETTER U\r
+0xF4 0x0444 #CYRILLIC SMALL LETTER EF\r
+0xF5 0x0445 #CYRILLIC SMALL LETTER HA\r
+0xF6 0x0446 #CYRILLIC SMALL LETTER TSE\r
+0xF7 0x0447 #CYRILLIC SMALL LETTER CHE\r
+0xF8 0x0448 #CYRILLIC SMALL LETTER SHA\r
+0xF9 0x0449 #CYRILLIC SMALL LETTER SHCHA\r
+0xFA 0x044A #CYRILLIC SMALL LETTER HARD SIGN\r
+0xFB 0x044B #CYRILLIC SMALL LETTER YERU\r
+0xFC 0x044C #CYRILLIC SMALL LETTER SOFT SIGN\r
+0xFD 0x044D #CYRILLIC SMALL LETTER E\r
+0xFE 0x044E #CYRILLIC SMALL LETTER YU\r
+0xFF 0x044F #CYRILLIC SMALL LETTER YA\r
--- /dev/null
+#\r
+# Name: cp1252 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 04/15/98\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1252 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1252 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 #UNDEFINED\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C 0x0152 #LATIN CAPITAL LIGATURE OE\r
+0x8D #UNDEFINED\r
+0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON\r
+0x8F #UNDEFINED\r
+0x90 #UNDEFINED\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 0x02DC #SMALL TILDE\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C 0x0153 #LATIN SMALL LIGATURE OE\r
+0x9D #UNDEFINED\r
+0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON\r
+0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x00A1 #INVERTED EXCLAMATION MARK\r
+0xA2 0x00A2 #CENT SIGN\r
+0xA3 0x00A3 #POUND SIGN\r
+0xA4 0x00A4 #CURRENCY SIGN\r
+0xA5 0x00A5 #YEN SIGN\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x00A8 #DIAERESIS\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA 0x00AA #FEMININE ORDINAL INDICATOR\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x00AF #MACRON\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x00B2 #SUPERSCRIPT TWO\r
+0xB3 0x00B3 #SUPERSCRIPT THREE\r
+0xB4 0x00B4 #ACUTE ACCENT\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x00B8 #CEDILLA\r
+0xB9 0x00B9 #SUPERSCRIPT ONE\r
+0xBA 0x00BA #MASCULINE ORDINAL INDICATOR\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD #VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x00BF #INVERTED QUESTION MARK\r
+0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE\r
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 #LATIN CAPITAL LETTER AE\r
+0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE\r
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x00D0 #LATIN CAPITAL LETTER ETH\r
+0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE\r
+0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE\r
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 #MULTIPLICATION SIGN\r
+0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE\r
+0xDE 0x00DE #LATIN CAPITAL LETTER THORN\r
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S\r
+0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE\r
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 #LATIN SMALL LETTER AE\r
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE\r
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x00F0 #LATIN SMALL LETTER ETH\r
+0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE\r
+0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE\r
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 #DIVISION SIGN\r
+0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE\r
+0xFE 0x00FE #LATIN SMALL LETTER THORN\r
+0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS\r
--- /dev/null
+#\r
+# Name: cp1253 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 04/15/98\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1253 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1253 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 #UNDEFINED\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 #UNDEFINED\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A #UNDEFINED\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C #UNDEFINED\r
+0x8D #UNDEFINED\r
+0x8E #UNDEFINED\r
+0x8F #UNDEFINED\r
+0x90 #UNDEFINED\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 #UNDEFINED\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A #UNDEFINED\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C #UNDEFINED\r
+0x9D #UNDEFINED\r
+0x9E #UNDEFINED\r
+0x9F #UNDEFINED\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x0385 #GREEK DIALYTIKA TONOS\r
+0xA2 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS\r
+0xA3 0x00A3 #POUND SIGN\r
+0xA4 0x00A4 #CURRENCY SIGN\r
+0xA5 0x00A5 #YEN SIGN\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x00A8 #DIAERESIS\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA #UNDEFINED\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x2015 #HORIZONTAL BAR\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x00B2 #SUPERSCRIPT TWO\r
+0xB3 0x00B3 #SUPERSCRIPT THREE\r
+0xB4 0x0384 #GREEK TONOS\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS\r
+0xB9 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS\r
+0xBA 0x038A #GREEK CAPITAL LETTER IOTA WITH TONOS\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x038C #GREEK CAPITAL LETTER OMICRON WITH TONOS\r
+0xBD 0x00BD #VULGAR FRACTION ONE HALF\r
+0xBE 0x038E #GREEK CAPITAL LETTER UPSILON WITH TONOS\r
+0xBF 0x038F #GREEK CAPITAL LETTER OMEGA WITH TONOS\r
+0xC0 0x0390 #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS\r
+0xC1 0x0391 #GREEK CAPITAL LETTER ALPHA\r
+0xC2 0x0392 #GREEK CAPITAL LETTER BETA\r
+0xC3 0x0393 #GREEK CAPITAL LETTER GAMMA\r
+0xC4 0x0394 #GREEK CAPITAL LETTER DELTA\r
+0xC5 0x0395 #GREEK CAPITAL LETTER EPSILON\r
+0xC6 0x0396 #GREEK CAPITAL LETTER ZETA\r
+0xC7 0x0397 #GREEK CAPITAL LETTER ETA\r
+0xC8 0x0398 #GREEK CAPITAL LETTER THETA\r
+0xC9 0x0399 #GREEK CAPITAL LETTER IOTA\r
+0xCA 0x039A #GREEK CAPITAL LETTER KAPPA\r
+0xCB 0x039B #GREEK CAPITAL LETTER LAMDA\r
+0xCC 0x039C #GREEK CAPITAL LETTER MU\r
+0xCD 0x039D #GREEK CAPITAL LETTER NU\r
+0xCE 0x039E #GREEK CAPITAL LETTER XI\r
+0xCF 0x039F #GREEK CAPITAL LETTER OMICRON\r
+0xD0 0x03A0 #GREEK CAPITAL LETTER PI\r
+0xD1 0x03A1 #GREEK CAPITAL LETTER RHO\r
+0xD2 #UNDEFINED\r
+0xD3 0x03A3 #GREEK CAPITAL LETTER SIGMA\r
+0xD4 0x03A4 #GREEK CAPITAL LETTER TAU\r
+0xD5 0x03A5 #GREEK CAPITAL LETTER UPSILON\r
+0xD6 0x03A6 #GREEK CAPITAL LETTER PHI\r
+0xD7 0x03A7 #GREEK CAPITAL LETTER CHI\r
+0xD8 0x03A8 #GREEK CAPITAL LETTER PSI\r
+0xD9 0x03A9 #GREEK CAPITAL LETTER OMEGA\r
+0xDA 0x03AA #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA\r
+0xDB 0x03AB #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA\r
+0xDC 0x03AC #GREEK SMALL LETTER ALPHA WITH TONOS\r
+0xDD 0x03AD #GREEK SMALL LETTER EPSILON WITH TONOS\r
+0xDE 0x03AE #GREEK SMALL LETTER ETA WITH TONOS\r
+0xDF 0x03AF #GREEK SMALL LETTER IOTA WITH TONOS\r
+0xE0 0x03B0 #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS\r
+0xE1 0x03B1 #GREEK SMALL LETTER ALPHA\r
+0xE2 0x03B2 #GREEK SMALL LETTER BETA\r
+0xE3 0x03B3 #GREEK SMALL LETTER GAMMA\r
+0xE4 0x03B4 #GREEK SMALL LETTER DELTA\r
+0xE5 0x03B5 #GREEK SMALL LETTER EPSILON\r
+0xE6 0x03B6 #GREEK SMALL LETTER ZETA\r
+0xE7 0x03B7 #GREEK SMALL LETTER ETA\r
+0xE8 0x03B8 #GREEK SMALL LETTER THETA\r
+0xE9 0x03B9 #GREEK SMALL LETTER IOTA\r
+0xEA 0x03BA #GREEK SMALL LETTER KAPPA\r
+0xEB 0x03BB #GREEK SMALL LETTER LAMDA\r
+0xEC 0x03BC #GREEK SMALL LETTER MU\r
+0xED 0x03BD #GREEK SMALL LETTER NU\r
+0xEE 0x03BE #GREEK SMALL LETTER XI\r
+0xEF 0x03BF #GREEK SMALL LETTER OMICRON\r
+0xF0 0x03C0 #GREEK SMALL LETTER PI\r
+0xF1 0x03C1 #GREEK SMALL LETTER RHO\r
+0xF2 0x03C2 #GREEK SMALL LETTER FINAL SIGMA\r
+0xF3 0x03C3 #GREEK SMALL LETTER SIGMA\r
+0xF4 0x03C4 #GREEK SMALL LETTER TAU\r
+0xF5 0x03C5 #GREEK SMALL LETTER UPSILON\r
+0xF6 0x03C6 #GREEK SMALL LETTER PHI\r
+0xF7 0x03C7 #GREEK SMALL LETTER CHI\r
+0xF8 0x03C8 #GREEK SMALL LETTER PSI\r
+0xF9 0x03C9 #GREEK SMALL LETTER OMEGA\r
+0xFA 0x03CA #GREEK SMALL LETTER IOTA WITH DIALYTIKA\r
+0xFB 0x03CB #GREEK SMALL LETTER UPSILON WITH DIALYTIKA\r
+0xFC 0x03CC #GREEK SMALL LETTER OMICRON WITH TONOS\r
+0xFD 0x03CD #GREEK SMALL LETTER UPSILON WITH TONOS\r
+0xFE 0x03CE #GREEK SMALL LETTER OMEGA WITH TONOS\r
+0xFF #UNDEFINED\r
--- /dev/null
+#\r
+# Name: cp1254 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 04/15/98\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1254 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1254 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 #UNDEFINED\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C 0x0152 #LATIN CAPITAL LIGATURE OE\r
+0x8D #UNDEFINED\r
+0x8E #UNDEFINED\r
+0x8F #UNDEFINED\r
+0x90 #UNDEFINED\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 0x02DC #SMALL TILDE\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C 0x0153 #LATIN SMALL LIGATURE OE\r
+0x9D #UNDEFINED\r
+0x9E #UNDEFINED\r
+0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x00A1 #INVERTED EXCLAMATION MARK\r
+0xA2 0x00A2 #CENT SIGN\r
+0xA3 0x00A3 #POUND SIGN\r
+0xA4 0x00A4 #CURRENCY SIGN\r
+0xA5 0x00A5 #YEN SIGN\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x00A8 #DIAERESIS\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA 0x00AA #FEMININE ORDINAL INDICATOR\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x00AF #MACRON\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x00B2 #SUPERSCRIPT TWO\r
+0xB3 0x00B3 #SUPERSCRIPT THREE\r
+0xB4 0x00B4 #ACUTE ACCENT\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x00B8 #CEDILLA\r
+0xB9 0x00B9 #SUPERSCRIPT ONE\r
+0xBA 0x00BA #MASCULINE ORDINAL INDICATOR\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD #VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x00BF #INVERTED QUESTION MARK\r
+0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE\r
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 #LATIN CAPITAL LETTER AE\r
+0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE\r
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x011E #LATIN CAPITAL LETTER G WITH BREVE\r
+0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE\r
+0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE\r
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 #MULTIPLICATION SIGN\r
+0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE\r
+0xDE 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA\r
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S\r
+0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE\r
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 #LATIN SMALL LETTER AE\r
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE\r
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x011F #LATIN SMALL LETTER G WITH BREVE\r
+0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE\r
+0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE\r
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 #DIVISION SIGN\r
+0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x0131 #LATIN SMALL LETTER DOTLESS I\r
+0xFE 0x015F #LATIN SMALL LETTER S WITH CEDILLA\r
+0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS\r
--- /dev/null
+#\r
+# Name: cp1255 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 1/7/2000\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1255 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1255 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 #UNDEFINED\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A #UNDEFINED\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C #UNDEFINED\r
+0x8D #UNDEFINED\r
+0x8E #UNDEFINED\r
+0x8F #UNDEFINED\r
+0x90 #UNDEFINED\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 0x02DC #SMALL TILDE\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A #UNDEFINED\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C #UNDEFINED\r
+0x9D #UNDEFINED\r
+0x9E #UNDEFINED\r
+0x9F #UNDEFINED\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x00A1 #INVERTED EXCLAMATION MARK\r
+0xA2 0x00A2 #CENT SIGN\r
+0xA3 0x00A3 #POUND SIGN\r
+0xA4 0x20AA #NEW SHEQEL SIGN\r
+0xA5 0x00A5 #YEN SIGN\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x00A8 #DIAERESIS\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA 0x00D7 #MULTIPLICATION SIGN\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x00AF #MACRON\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x00B2 #SUPERSCRIPT TWO\r
+0xB3 0x00B3 #SUPERSCRIPT THREE\r
+0xB4 0x00B4 #ACUTE ACCENT\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x00B8 #CEDILLA\r
+0xB9 0x00B9 #SUPERSCRIPT ONE\r
+0xBA 0x00F7 #DIVISION SIGN\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD #VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x00BF #INVERTED QUESTION MARK\r
+0xC0 0x05B0 #HEBREW POINT SHEVA\r
+0xC1 0x05B1 #HEBREW POINT HATAF SEGOL\r
+0xC2 0x05B2 #HEBREW POINT HATAF PATAH\r
+0xC3 0x05B3 #HEBREW POINT HATAF QAMATS\r
+0xC4 0x05B4 #HEBREW POINT HIRIQ\r
+0xC5 0x05B5 #HEBREW POINT TSERE\r
+0xC6 0x05B6 #HEBREW POINT SEGOL\r
+0xC7 0x05B7 #HEBREW POINT PATAH\r
+0xC8 0x05B8 #HEBREW POINT QAMATS\r
+0xC9 0x05B9 #HEBREW POINT HOLAM\r
+0xCA #UNDEFINED\r
+0xCB 0x05BB #HEBREW POINT QUBUTS\r
+0xCC 0x05BC #HEBREW POINT DAGESH OR MAPIQ\r
+0xCD 0x05BD #HEBREW POINT METEG\r
+0xCE 0x05BE #HEBREW PUNCTUATION MAQAF\r
+0xCF 0x05BF #HEBREW POINT RAFE\r
+0xD0 0x05C0 #HEBREW PUNCTUATION PASEQ\r
+0xD1 0x05C1 #HEBREW POINT SHIN DOT\r
+0xD2 0x05C2 #HEBREW POINT SIN DOT\r
+0xD3 0x05C3 #HEBREW PUNCTUATION SOF PASUQ\r
+0xD4 0x05F0 #HEBREW LIGATURE YIDDISH DOUBLE VAV\r
+0xD5 0x05F1 #HEBREW LIGATURE YIDDISH VAV YOD\r
+0xD6 0x05F2 #HEBREW LIGATURE YIDDISH DOUBLE YOD\r
+0xD7 0x05F3 #HEBREW PUNCTUATION GERESH\r
+0xD8 0x05F4 #HEBREW PUNCTUATION GERSHAYIM\r
+0xD9 #UNDEFINED\r
+0xDA #UNDEFINED\r
+0xDB #UNDEFINED\r
+0xDC #UNDEFINED\r
+0xDD #UNDEFINED\r
+0xDE #UNDEFINED\r
+0xDF #UNDEFINED\r
+0xE0 0x05D0 #HEBREW LETTER ALEF\r
+0xE1 0x05D1 #HEBREW LETTER BET\r
+0xE2 0x05D2 #HEBREW LETTER GIMEL\r
+0xE3 0x05D3 #HEBREW LETTER DALET\r
+0xE4 0x05D4 #HEBREW LETTER HE\r
+0xE5 0x05D5 #HEBREW LETTER VAV\r
+0xE6 0x05D6 #HEBREW LETTER ZAYIN\r
+0xE7 0x05D7 #HEBREW LETTER HET\r
+0xE8 0x05D8 #HEBREW LETTER TET\r
+0xE9 0x05D9 #HEBREW LETTER YOD\r
+0xEA 0x05DA #HEBREW LETTER FINAL KAF\r
+0xEB 0x05DB #HEBREW LETTER KAF\r
+0xEC 0x05DC #HEBREW LETTER LAMED\r
+0xED 0x05DD #HEBREW LETTER FINAL MEM\r
+0xEE 0x05DE #HEBREW LETTER MEM\r
+0xEF 0x05DF #HEBREW LETTER FINAL NUN\r
+0xF0 0x05E0 #HEBREW LETTER NUN\r
+0xF1 0x05E1 #HEBREW LETTER SAMEKH\r
+0xF2 0x05E2 #HEBREW LETTER AYIN\r
+0xF3 0x05E3 #HEBREW LETTER FINAL PE\r
+0xF4 0x05E4 #HEBREW LETTER PE\r
+0xF5 0x05E5 #HEBREW LETTER FINAL TSADI\r
+0xF6 0x05E6 #HEBREW LETTER TSADI\r
+0xF7 0x05E7 #HEBREW LETTER QOF\r
+0xF8 0x05E8 #HEBREW LETTER RESH\r
+0xF9 0x05E9 #HEBREW LETTER SHIN\r
+0xFA 0x05EA #HEBREW LETTER TAV\r
+0xFB #UNDEFINED\r
+0xFC #UNDEFINED\r
+0xFD 0x200E #LEFT-TO-RIGHT MARK\r
+0xFE 0x200F #RIGHT-TO-LEFT MARK\r
+0xFF #UNDEFINED\r
--- /dev/null
+#\r
+# Name: cp1256 to Unicode table\r
+# Unicode version: 2.1\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 01/5/99\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1256 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1256 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 0x067E #ARABIC LETTER PEH\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A 0x0679 #ARABIC LETTER TTEH\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C 0x0152 #LATIN CAPITAL LIGATURE OE\r
+0x8D 0x0686 #ARABIC LETTER TCHEH\r
+0x8E 0x0698 #ARABIC LETTER JEH\r
+0x8F 0x0688 #ARABIC LETTER DDAL\r
+0x90 0x06AF #ARABIC LETTER GAF\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 0x06A9 #ARABIC LETTER KEHEH\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A 0x0691 #ARABIC LETTER RREH\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C 0x0153 #LATIN SMALL LIGATURE OE\r
+0x9D 0x200C #ZERO WIDTH NON-JOINER\r
+0x9E 0x200D #ZERO WIDTH JOINER\r
+0x9F 0x06BA #ARABIC LETTER NOON GHUNNA\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x060C #ARABIC COMMA\r
+0xA2 0x00A2 #CENT SIGN\r
+0xA3 0x00A3 #POUND SIGN\r
+0xA4 0x00A4 #CURRENCY SIGN\r
+0xA5 0x00A5 #YEN SIGN\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x00A8 #DIAERESIS\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA 0x06BE #ARABIC LETTER HEH DOACHASHMEE\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x00AF #MACRON\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x00B2 #SUPERSCRIPT TWO\r
+0xB3 0x00B3 #SUPERSCRIPT THREE\r
+0xB4 0x00B4 #ACUTE ACCENT\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x00B8 #CEDILLA\r
+0xB9 0x00B9 #SUPERSCRIPT ONE\r
+0xBA 0x061B #ARABIC SEMICOLON\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD #VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x061F #ARABIC QUESTION MARK\r
+0xC0 0x06C1 #ARABIC LETTER HEH GOAL\r
+0xC1 0x0621 #ARABIC LETTER HAMZA\r
+0xC2 0x0622 #ARABIC LETTER ALEF WITH MADDA ABOVE\r
+0xC3 0x0623 #ARABIC LETTER ALEF WITH HAMZA ABOVE\r
+0xC4 0x0624 #ARABIC LETTER WAW WITH HAMZA ABOVE\r
+0xC5 0x0625 #ARABIC LETTER ALEF WITH HAMZA BELOW\r
+0xC6 0x0626 #ARABIC LETTER YEH WITH HAMZA ABOVE\r
+0xC7 0x0627 #ARABIC LETTER ALEF\r
+0xC8 0x0628 #ARABIC LETTER BEH\r
+0xC9 0x0629 #ARABIC LETTER TEH MARBUTA\r
+0xCA 0x062A #ARABIC LETTER TEH\r
+0xCB 0x062B #ARABIC LETTER THEH\r
+0xCC 0x062C #ARABIC LETTER JEEM\r
+0xCD 0x062D #ARABIC LETTER HAH\r
+0xCE 0x062E #ARABIC LETTER KHAH\r
+0xCF 0x062F #ARABIC LETTER DAL\r
+0xD0 0x0630 #ARABIC LETTER THAL\r
+0xD1 0x0631 #ARABIC LETTER REH\r
+0xD2 0x0632 #ARABIC LETTER ZAIN\r
+0xD3 0x0633 #ARABIC LETTER SEEN\r
+0xD4 0x0634 #ARABIC LETTER SHEEN\r
+0xD5 0x0635 #ARABIC LETTER SAD\r
+0xD6 0x0636 #ARABIC LETTER DAD\r
+0xD7 0x00D7 #MULTIPLICATION SIGN\r
+0xD8 0x0637 #ARABIC LETTER TAH\r
+0xD9 0x0638 #ARABIC LETTER ZAH\r
+0xDA 0x0639 #ARABIC LETTER AIN\r
+0xDB 0x063A #ARABIC LETTER GHAIN\r
+0xDC 0x0640 #ARABIC TATWEEL\r
+0xDD 0x0641 #ARABIC LETTER FEH\r
+0xDE 0x0642 #ARABIC LETTER QAF\r
+0xDF 0x0643 #ARABIC LETTER KAF\r
+0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x0644 #ARABIC LETTER LAM\r
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x0645 #ARABIC LETTER MEEM\r
+0xE4 0x0646 #ARABIC LETTER NOON\r
+0xE5 0x0647 #ARABIC LETTER HEH\r
+0xE6 0x0648 #ARABIC LETTER WAW\r
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x0649 #ARABIC LETTER ALEF MAKSURA\r
+0xED 0x064A #ARABIC LETTER YEH\r
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x064B #ARABIC FATHATAN\r
+0xF1 0x064C #ARABIC DAMMATAN\r
+0xF2 0x064D #ARABIC KASRATAN\r
+0xF3 0x064E #ARABIC FATHA\r
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x064F #ARABIC DAMMA\r
+0xF6 0x0650 #ARABIC KASRA\r
+0xF7 0x00F7 #DIVISION SIGN\r
+0xF8 0x0651 #ARABIC SHADDA\r
+0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x0652 #ARABIC SUKUN\r
+0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x200E #LEFT-TO-RIGHT MARK\r
+0xFE 0x200F #RIGHT-TO-LEFT MARK\r
+0xFF 0x06D2 #ARABIC LETTER YEH BARREE\r
--- /dev/null
+#\r
+# Name: cp1257 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 04/15/98\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1257 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1257 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 #UNDEFINED\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 #UNDEFINED\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 #UNDEFINED\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A #UNDEFINED\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C #UNDEFINED\r
+0x8D 0x00A8 #DIAERESIS\r
+0x8E 0x02C7 #CARON\r
+0x8F 0x00B8 #CEDILLA\r
+0x90 #UNDEFINED\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 #UNDEFINED\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A #UNDEFINED\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C #UNDEFINED\r
+0x9D 0x00AF #MACRON\r
+0x9E 0x02DB #OGONEK\r
+0x9F #UNDEFINED\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 #UNDEFINED\r
+0xA2 0x00A2 #CENT SIGN\r
+0xA3 0x00A3 #POUND SIGN\r
+0xA4 0x00A4 #CURRENCY SIGN\r
+0xA5 #UNDEFINED\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x00C6 #LATIN CAPITAL LETTER AE\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x00B2 #SUPERSCRIPT TWO\r
+0xB3 0x00B3 #SUPERSCRIPT THREE\r
+0xB4 0x00B4 #ACUTE ACCENT\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x00F8 #LATIN SMALL LETTER O WITH STROKE\r
+0xB9 0x00B9 #SUPERSCRIPT ONE\r
+0xBA 0x0157 #LATIN SMALL LETTER R WITH CEDILLA\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD #VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x00E6 #LATIN SMALL LETTER AE\r
+0xC0 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK\r
+0xC1 0x012E #LATIN CAPITAL LETTER I WITH OGONEK\r
+0xC2 0x0100 #LATIN CAPITAL LETTER A WITH MACRON\r
+0xC3 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE\r
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK\r
+0xC7 0x0112 #LATIN CAPITAL LETTER E WITH MACRON\r
+0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON\r
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE\r
+0xCB 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE\r
+0xCC 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA\r
+0xCD 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA\r
+0xCE 0x012A #LATIN CAPITAL LETTER I WITH MACRON\r
+0xCF 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA\r
+0xD0 0x0160 #LATIN CAPITAL LETTER S WITH CARON\r
+0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE\r
+0xD2 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA\r
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x014C #LATIN CAPITAL LETTER O WITH MACRON\r
+0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE\r
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 #MULTIPLICATION SIGN\r
+0xD8 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK\r
+0xD9 0x0141 #LATIN CAPITAL LETTER L WITH STROKE\r
+0xDA 0x015A #LATIN CAPITAL LETTER S WITH ACUTE\r
+0xDB 0x016A #LATIN CAPITAL LETTER U WITH MACRON\r
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE\r
+0xDE 0x017D #LATIN CAPITAL LETTER Z WITH CARON\r
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S\r
+0xE0 0x0105 #LATIN SMALL LETTER A WITH OGONEK\r
+0xE1 0x012F #LATIN SMALL LETTER I WITH OGONEK\r
+0xE2 0x0101 #LATIN SMALL LETTER A WITH MACRON\r
+0xE3 0x0107 #LATIN SMALL LETTER C WITH ACUTE\r
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x0119 #LATIN SMALL LETTER E WITH OGONEK\r
+0xE7 0x0113 #LATIN SMALL LETTER E WITH MACRON\r
+0xE8 0x010D #LATIN SMALL LETTER C WITH CARON\r
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x017A #LATIN SMALL LETTER Z WITH ACUTE\r
+0xEB 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE\r
+0xEC 0x0123 #LATIN SMALL LETTER G WITH CEDILLA\r
+0xED 0x0137 #LATIN SMALL LETTER K WITH CEDILLA\r
+0xEE 0x012B #LATIN SMALL LETTER I WITH MACRON\r
+0xEF 0x013C #LATIN SMALL LETTER L WITH CEDILLA\r
+0xF0 0x0161 #LATIN SMALL LETTER S WITH CARON\r
+0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE\r
+0xF2 0x0146 #LATIN SMALL LETTER N WITH CEDILLA\r
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x014D #LATIN SMALL LETTER O WITH MACRON\r
+0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE\r
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 #DIVISION SIGN\r
+0xF8 0x0173 #LATIN SMALL LETTER U WITH OGONEK\r
+0xF9 0x0142 #LATIN SMALL LETTER L WITH STROKE\r
+0xFA 0x015B #LATIN SMALL LETTER S WITH ACUTE\r
+0xFB 0x016B #LATIN SMALL LETTER U WITH MACRON\r
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE\r
+0xFE 0x017E #LATIN SMALL LETTER Z WITH CARON\r
+0xFF 0x02D9 #DOT ABOVE\r
--- /dev/null
+#\r
+# Name: cp1258 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 04/15/98\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp1258 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp1258 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 #UNDEFINED\r
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK\r
+0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK\r
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 0x2020 #DAGGER\r
+0x87 0x2021 #DOUBLE DAGGER\r
+0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT\r
+0x89 0x2030 #PER MILLE SIGN\r
+0x8A #UNDEFINED\r
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK\r
+0x8C 0x0152 #LATIN CAPITAL LIGATURE OE\r
+0x8D #UNDEFINED\r
+0x8E #UNDEFINED\r
+0x8F #UNDEFINED\r
+0x90 #UNDEFINED\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 0x02DC #SMALL TILDE\r
+0x99 0x2122 #TRADE MARK SIGN\r
+0x9A #UNDEFINED\r
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\r
+0x9C 0x0153 #LATIN SMALL LIGATURE OE\r
+0x9D #UNDEFINED\r
+0x9E #UNDEFINED\r
+0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x00A1 #INVERTED EXCLAMATION MARK\r
+0xA2 0x00A2 #CENT SIGN\r
+0xA3 0x00A3 #POUND SIGN\r
+0xA4 0x00A4 #CURRENCY SIGN\r
+0xA5 0x00A5 #YEN SIGN\r
+0xA6 0x00A6 #BROKEN BAR\r
+0xA7 0x00A7 #SECTION SIGN\r
+0xA8 0x00A8 #DIAERESIS\r
+0xA9 0x00A9 #COPYRIGHT SIGN\r
+0xAA 0x00AA #FEMININE ORDINAL INDICATOR\r
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xAC 0x00AC #NOT SIGN\r
+0xAD 0x00AD #SOFT HYPHEN\r
+0xAE 0x00AE #REGISTERED SIGN\r
+0xAF 0x00AF #MACRON\r
+0xB0 0x00B0 #DEGREE SIGN\r
+0xB1 0x00B1 #PLUS-MINUS SIGN\r
+0xB2 0x00B2 #SUPERSCRIPT TWO\r
+0xB3 0x00B3 #SUPERSCRIPT THREE\r
+0xB4 0x00B4 #ACUTE ACCENT\r
+0xB5 0x00B5 #MICRO SIGN\r
+0xB6 0x00B6 #PILCROW SIGN\r
+0xB7 0x00B7 #MIDDLE DOT\r
+0xB8 0x00B8 #CEDILLA\r
+0xB9 0x00B9 #SUPERSCRIPT ONE\r
+0xBA 0x00BA #MASCULINE ORDINAL INDICATOR\r
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\r
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER\r
+0xBD 0x00BD #VULGAR FRACTION ONE HALF\r
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS\r
+0xBF 0x00BF #INVERTED QUESTION MARK\r
+0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE\r
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE\r
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX\r
+0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE\r
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS\r
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE\r
+0xC6 0x00C6 #LATIN CAPITAL LETTER AE\r
+0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA\r
+0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE\r
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE\r
+0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX\r
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS\r
+0xCC 0x0300 #COMBINING GRAVE ACCENT\r
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE\r
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX\r
+0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS\r
+0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE\r
+0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE\r
+0xD2 0x0309 #COMBINING HOOK ABOVE\r
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE\r
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX\r
+0xD5 0x01A0 #LATIN CAPITAL LETTER O WITH HORN\r
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS\r
+0xD7 0x00D7 #MULTIPLICATION SIGN\r
+0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE\r
+0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE\r
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE\r
+0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX\r
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS\r
+0xDD 0x01AF #LATIN CAPITAL LETTER U WITH HORN\r
+0xDE 0x0303 #COMBINING TILDE\r
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S\r
+0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE\r
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE\r
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX\r
+0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE\r
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS\r
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE\r
+0xE6 0x00E6 #LATIN SMALL LETTER AE\r
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA\r
+0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE\r
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE\r
+0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX\r
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS\r
+0xEC 0x0301 #COMBINING ACUTE ACCENT\r
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE\r
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX\r
+0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS\r
+0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE\r
+0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE\r
+0xF2 0x0323 #COMBINING DOT BELOW\r
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE\r
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX\r
+0xF5 0x01A1 #LATIN SMALL LETTER O WITH HORN\r
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS\r
+0xF7 0x00F7 #DIVISION SIGN\r
+0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE\r
+0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE\r
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE\r
+0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX\r
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS\r
+0xFD 0x01B0 #LATIN SMALL LETTER U WITH HORN\r
+0xFE 0x20AB #DONG SIGN\r
+0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS\r
--- /dev/null
+#\r
+# Name: cp874 to Unicode table\r
+# Unicode version: 2.0\r
+# Table version: 2.01\r
+# Table format: Format A\r
+# Date: 02/28/98\r
+#\r
+# Contact: cpxlate@microsoft.com\r
+#\r
+# General notes: none\r
+#\r
+# Format: Three tab-separated columns\r
+# Column #1 is the cp874 code (in hex)\r
+# Column #2 is the Unicode (in hex as 0xXXXX)\r
+# Column #3 is the Unicode name (follows a comment sign, '#')\r
+#\r
+# The entries are in cp874 order\r
+#\r
+0x00 0x0000 #NULL\r
+0x01 0x0001 #START OF HEADING\r
+0x02 0x0002 #START OF TEXT\r
+0x03 0x0003 #END OF TEXT\r
+0x04 0x0004 #END OF TRANSMISSION\r
+0x05 0x0005 #ENQUIRY\r
+0x06 0x0006 #ACKNOWLEDGE\r
+0x07 0x0007 #BELL\r
+0x08 0x0008 #BACKSPACE\r
+0x09 0x0009 #HORIZONTAL TABULATION\r
+0x0A 0x000A #LINE FEED\r
+0x0B 0x000B #VERTICAL TABULATION\r
+0x0C 0x000C #FORM FEED\r
+0x0D 0x000D #CARRIAGE RETURN\r
+0x0E 0x000E #SHIFT OUT\r
+0x0F 0x000F #SHIFT IN\r
+0x10 0x0010 #DATA LINK ESCAPE\r
+0x11 0x0011 #DEVICE CONTROL ONE\r
+0x12 0x0012 #DEVICE CONTROL TWO\r
+0x13 0x0013 #DEVICE CONTROL THREE\r
+0x14 0x0014 #DEVICE CONTROL FOUR\r
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE\r
+0x16 0x0016 #SYNCHRONOUS IDLE\r
+0x17 0x0017 #END OF TRANSMISSION BLOCK\r
+0x18 0x0018 #CANCEL\r
+0x19 0x0019 #END OF MEDIUM\r
+0x1A 0x001A #SUBSTITUTE\r
+0x1B 0x001B #ESCAPE\r
+0x1C 0x001C #FILE SEPARATOR\r
+0x1D 0x001D #GROUP SEPARATOR\r
+0x1E 0x001E #RECORD SEPARATOR\r
+0x1F 0x001F #UNIT SEPARATOR\r
+0x20 0x0020 #SPACE\r
+0x21 0x0021 #EXCLAMATION MARK\r
+0x22 0x0022 #QUOTATION MARK\r
+0x23 0x0023 #NUMBER SIGN\r
+0x24 0x0024 #DOLLAR SIGN\r
+0x25 0x0025 #PERCENT SIGN\r
+0x26 0x0026 #AMPERSAND\r
+0x27 0x0027 #APOSTROPHE\r
+0x28 0x0028 #LEFT PARENTHESIS\r
+0x29 0x0029 #RIGHT PARENTHESIS\r
+0x2A 0x002A #ASTERISK\r
+0x2B 0x002B #PLUS SIGN\r
+0x2C 0x002C #COMMA\r
+0x2D 0x002D #HYPHEN-MINUS\r
+0x2E 0x002E #FULL STOP\r
+0x2F 0x002F #SOLIDUS\r
+0x30 0x0030 #DIGIT ZERO\r
+0x31 0x0031 #DIGIT ONE\r
+0x32 0x0032 #DIGIT TWO\r
+0x33 0x0033 #DIGIT THREE\r
+0x34 0x0034 #DIGIT FOUR\r
+0x35 0x0035 #DIGIT FIVE\r
+0x36 0x0036 #DIGIT SIX\r
+0x37 0x0037 #DIGIT SEVEN\r
+0x38 0x0038 #DIGIT EIGHT\r
+0x39 0x0039 #DIGIT NINE\r
+0x3A 0x003A #COLON\r
+0x3B 0x003B #SEMICOLON\r
+0x3C 0x003C #LESS-THAN SIGN\r
+0x3D 0x003D #EQUALS SIGN\r
+0x3E 0x003E #GREATER-THAN SIGN\r
+0x3F 0x003F #QUESTION MARK\r
+0x40 0x0040 #COMMERCIAL AT\r
+0x41 0x0041 #LATIN CAPITAL LETTER A\r
+0x42 0x0042 #LATIN CAPITAL LETTER B\r
+0x43 0x0043 #LATIN CAPITAL LETTER C\r
+0x44 0x0044 #LATIN CAPITAL LETTER D\r
+0x45 0x0045 #LATIN CAPITAL LETTER E\r
+0x46 0x0046 #LATIN CAPITAL LETTER F\r
+0x47 0x0047 #LATIN CAPITAL LETTER G\r
+0x48 0x0048 #LATIN CAPITAL LETTER H\r
+0x49 0x0049 #LATIN CAPITAL LETTER I\r
+0x4A 0x004A #LATIN CAPITAL LETTER J\r
+0x4B 0x004B #LATIN CAPITAL LETTER K\r
+0x4C 0x004C #LATIN CAPITAL LETTER L\r
+0x4D 0x004D #LATIN CAPITAL LETTER M\r
+0x4E 0x004E #LATIN CAPITAL LETTER N\r
+0x4F 0x004F #LATIN CAPITAL LETTER O\r
+0x50 0x0050 #LATIN CAPITAL LETTER P\r
+0x51 0x0051 #LATIN CAPITAL LETTER Q\r
+0x52 0x0052 #LATIN CAPITAL LETTER R\r
+0x53 0x0053 #LATIN CAPITAL LETTER S\r
+0x54 0x0054 #LATIN CAPITAL LETTER T\r
+0x55 0x0055 #LATIN CAPITAL LETTER U\r
+0x56 0x0056 #LATIN CAPITAL LETTER V\r
+0x57 0x0057 #LATIN CAPITAL LETTER W\r
+0x58 0x0058 #LATIN CAPITAL LETTER X\r
+0x59 0x0059 #LATIN CAPITAL LETTER Y\r
+0x5A 0x005A #LATIN CAPITAL LETTER Z\r
+0x5B 0x005B #LEFT SQUARE BRACKET\r
+0x5C 0x005C #REVERSE SOLIDUS\r
+0x5D 0x005D #RIGHT SQUARE BRACKET\r
+0x5E 0x005E #CIRCUMFLEX ACCENT\r
+0x5F 0x005F #LOW LINE\r
+0x60 0x0060 #GRAVE ACCENT\r
+0x61 0x0061 #LATIN SMALL LETTER A\r
+0x62 0x0062 #LATIN SMALL LETTER B\r
+0x63 0x0063 #LATIN SMALL LETTER C\r
+0x64 0x0064 #LATIN SMALL LETTER D\r
+0x65 0x0065 #LATIN SMALL LETTER E\r
+0x66 0x0066 #LATIN SMALL LETTER F\r
+0x67 0x0067 #LATIN SMALL LETTER G\r
+0x68 0x0068 #LATIN SMALL LETTER H\r
+0x69 0x0069 #LATIN SMALL LETTER I\r
+0x6A 0x006A #LATIN SMALL LETTER J\r
+0x6B 0x006B #LATIN SMALL LETTER K\r
+0x6C 0x006C #LATIN SMALL LETTER L\r
+0x6D 0x006D #LATIN SMALL LETTER M\r
+0x6E 0x006E #LATIN SMALL LETTER N\r
+0x6F 0x006F #LATIN SMALL LETTER O\r
+0x70 0x0070 #LATIN SMALL LETTER P\r
+0x71 0x0071 #LATIN SMALL LETTER Q\r
+0x72 0x0072 #LATIN SMALL LETTER R\r
+0x73 0x0073 #LATIN SMALL LETTER S\r
+0x74 0x0074 #LATIN SMALL LETTER T\r
+0x75 0x0075 #LATIN SMALL LETTER U\r
+0x76 0x0076 #LATIN SMALL LETTER V\r
+0x77 0x0077 #LATIN SMALL LETTER W\r
+0x78 0x0078 #LATIN SMALL LETTER X\r
+0x79 0x0079 #LATIN SMALL LETTER Y\r
+0x7A 0x007A #LATIN SMALL LETTER Z\r
+0x7B 0x007B #LEFT CURLY BRACKET\r
+0x7C 0x007C #VERTICAL LINE\r
+0x7D 0x007D #RIGHT CURLY BRACKET\r
+0x7E 0x007E #TILDE\r
+0x7F 0x007F #DELETE\r
+0x80 0x20AC #EURO SIGN\r
+0x81 #UNDEFINED\r
+0x82 #UNDEFINED\r
+0x83 #UNDEFINED\r
+0x84 #UNDEFINED\r
+0x85 0x2026 #HORIZONTAL ELLIPSIS\r
+0x86 #UNDEFINED\r
+0x87 #UNDEFINED\r
+0x88 #UNDEFINED\r
+0x89 #UNDEFINED\r
+0x8A #UNDEFINED\r
+0x8B #UNDEFINED\r
+0x8C #UNDEFINED\r
+0x8D #UNDEFINED\r
+0x8E #UNDEFINED\r
+0x8F #UNDEFINED\r
+0x90 #UNDEFINED\r
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK\r
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK\r
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK\r
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK\r
+0x95 0x2022 #BULLET\r
+0x96 0x2013 #EN DASH\r
+0x97 0x2014 #EM DASH\r
+0x98 #UNDEFINED\r
+0x99 #UNDEFINED\r
+0x9A #UNDEFINED\r
+0x9B #UNDEFINED\r
+0x9C #UNDEFINED\r
+0x9D #UNDEFINED\r
+0x9E #UNDEFINED\r
+0x9F #UNDEFINED\r
+0xA0 0x00A0 #NO-BREAK SPACE\r
+0xA1 0x0E01 #THAI CHARACTER KO KAI\r
+0xA2 0x0E02 #THAI CHARACTER KHO KHAI\r
+0xA3 0x0E03 #THAI CHARACTER KHO KHUAT\r
+0xA4 0x0E04 #THAI CHARACTER KHO KHWAI\r
+0xA5 0x0E05 #THAI CHARACTER KHO KHON\r
+0xA6 0x0E06 #THAI CHARACTER KHO RAKHANG\r
+0xA7 0x0E07 #THAI CHARACTER NGO NGU\r
+0xA8 0x0E08 #THAI CHARACTER CHO CHAN\r
+0xA9 0x0E09 #THAI CHARACTER CHO CHING\r
+0xAA 0x0E0A #THAI CHARACTER CHO CHANG\r
+0xAB 0x0E0B #THAI CHARACTER SO SO\r
+0xAC 0x0E0C #THAI CHARACTER CHO CHOE\r
+0xAD 0x0E0D #THAI CHARACTER YO YING\r
+0xAE 0x0E0E #THAI CHARACTER DO CHADA\r
+0xAF 0x0E0F #THAI CHARACTER TO PATAK\r
+0xB0 0x0E10 #THAI CHARACTER THO THAN\r
+0xB1 0x0E11 #THAI CHARACTER THO NANGMONTHO\r
+0xB2 0x0E12 #THAI CHARACTER THO PHUTHAO\r
+0xB3 0x0E13 #THAI CHARACTER NO NEN\r
+0xB4 0x0E14 #THAI CHARACTER DO DEK\r
+0xB5 0x0E15 #THAI CHARACTER TO TAO\r
+0xB6 0x0E16 #THAI CHARACTER THO THUNG\r
+0xB7 0x0E17 #THAI CHARACTER THO THAHAN\r
+0xB8 0x0E18 #THAI CHARACTER THO THONG\r
+0xB9 0x0E19 #THAI CHARACTER NO NU\r
+0xBA 0x0E1A #THAI CHARACTER BO BAIMAI\r
+0xBB 0x0E1B #THAI CHARACTER PO PLA\r
+0xBC 0x0E1C #THAI CHARACTER PHO PHUNG\r
+0xBD 0x0E1D #THAI CHARACTER FO FA\r
+0xBE 0x0E1E #THAI CHARACTER PHO PHAN\r
+0xBF 0x0E1F #THAI CHARACTER FO FAN\r
+0xC0 0x0E20 #THAI CHARACTER PHO SAMPHAO\r
+0xC1 0x0E21 #THAI CHARACTER MO MA\r
+0xC2 0x0E22 #THAI CHARACTER YO YAK\r
+0xC3 0x0E23 #THAI CHARACTER RO RUA\r
+0xC4 0x0E24 #THAI CHARACTER RU\r
+0xC5 0x0E25 #THAI CHARACTER LO LING\r
+0xC6 0x0E26 #THAI CHARACTER LU\r
+0xC7 0x0E27 #THAI CHARACTER WO WAEN\r
+0xC8 0x0E28 #THAI CHARACTER SO SALA\r
+0xC9 0x0E29 #THAI CHARACTER SO RUSI\r
+0xCA 0x0E2A #THAI CHARACTER SO SUA\r
+0xCB 0x0E2B #THAI CHARACTER HO HIP\r
+0xCC 0x0E2C #THAI CHARACTER LO CHULA\r
+0xCD 0x0E2D #THAI CHARACTER O ANG\r
+0xCE 0x0E2E #THAI CHARACTER HO NOKHUK\r
+0xCF 0x0E2F #THAI CHARACTER PAIYANNOI\r
+0xD0 0x0E30 #THAI CHARACTER SARA A\r
+0xD1 0x0E31 #THAI CHARACTER MAI HAN-AKAT\r
+0xD2 0x0E32 #THAI CHARACTER SARA AA\r
+0xD3 0x0E33 #THAI CHARACTER SARA AM\r
+0xD4 0x0E34 #THAI CHARACTER SARA I\r
+0xD5 0x0E35 #THAI CHARACTER SARA II\r
+0xD6 0x0E36 #THAI CHARACTER SARA UE\r
+0xD7 0x0E37 #THAI CHARACTER SARA UEE\r
+0xD8 0x0E38 #THAI CHARACTER SARA U\r
+0xD9 0x0E39 #THAI CHARACTER SARA UU\r
+0xDA 0x0E3A #THAI CHARACTER PHINTHU\r
+0xDB #UNDEFINED\r
+0xDC #UNDEFINED\r
+0xDD #UNDEFINED\r
+0xDE #UNDEFINED\r
+0xDF 0x0E3F #THAI CURRENCY SYMBOL BAHT\r
+0xE0 0x0E40 #THAI CHARACTER SARA E\r
+0xE1 0x0E41 #THAI CHARACTER SARA AE\r
+0xE2 0x0E42 #THAI CHARACTER SARA O\r
+0xE3 0x0E43 #THAI CHARACTER SARA AI MAIMUAN\r
+0xE4 0x0E44 #THAI CHARACTER SARA AI MAIMALAI\r
+0xE5 0x0E45 #THAI CHARACTER LAKKHANGYAO\r
+0xE6 0x0E46 #THAI CHARACTER MAIYAMOK\r
+0xE7 0x0E47 #THAI CHARACTER MAITAIKHU\r
+0xE8 0x0E48 #THAI CHARACTER MAI EK\r
+0xE9 0x0E49 #THAI CHARACTER MAI THO\r
+0xEA 0x0E4A #THAI CHARACTER MAI TRI\r
+0xEB 0x0E4B #THAI CHARACTER MAI CHATTAWA\r
+0xEC 0x0E4C #THAI CHARACTER THANTHAKHAT\r
+0xED 0x0E4D #THAI CHARACTER NIKHAHIT\r
+0xEE 0x0E4E #THAI CHARACTER YAMAKKAN\r
+0xEF 0x0E4F #THAI CHARACTER FONGMAN\r
+0xF0 0x0E50 #THAI DIGIT ZERO\r
+0xF1 0x0E51 #THAI DIGIT ONE\r
+0xF2 0x0E52 #THAI DIGIT TWO\r
+0xF3 0x0E53 #THAI DIGIT THREE\r
+0xF4 0x0E54 #THAI DIGIT FOUR\r
+0xF5 0x0E55 #THAI DIGIT FIVE\r
+0xF6 0x0E56 #THAI DIGIT SIX\r
+0xF7 0x0E57 #THAI DIGIT SEVEN\r
+0xF8 0x0E58 #THAI DIGIT EIGHT\r
+0xF9 0x0E59 #THAI DIGIT NINE\r
+0xFA 0x0E5A #THAI CHARACTER ANGKHANKHU\r
+0xFB 0x0E5B #THAI CHARACTER KHOMUT\r
+0xFC #UNDEFINED\r
+0xFD #UNDEFINED\r
+0xFE #UNDEFINED\r
+0xFF #UNDEFINED\r