[BACK]Return to en_US.UTF-8.src CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / share / locale / ctype

File: [cvs.NetBSD.org] / src / share / locale / ctype / en_US.UTF-8.src (download)

Revision 1.4, Thu Feb 10 18:12:42 2005 UTC (15 years, 6 months ago) by tnozaki
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, mjf-devfs2-base, mjf-devfs2, matt-premerge-20091211, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-premerge-20101231, matt-mips64-base2, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-pagecache
Changes since 1.3: +162 -1 lines

merge resent FreeBSD UTF-8 locale.
now support outside BMP area.

/*	$NetBSD: en_US.UTF-8.src,v 1.4 2005/02/10 18:12:42 tnozaki Exp $	*/
/*	$FreeBSD: /repoman/r/ncvs/src/share/mklocale/UTF-8.src,v 1.1 2004/03/27 08:14:14 tjr Exp $	*/

/*
 * UTF-8 locale table for Rune Locale
 *
 * Generated by Hye-Shik Chang <perky@FreeBSD.org>
 */

/*
 * UCD(Unicode Character Database) Terms of Use
 *
 * Disclaimer
 *
 * The Unicode Character Database is provided as is by Unicode, Inc. No claims
 * are made as to fitness for any particular purpose. No warranties of any kind
 * are expressed or implied. The recipient agrees to determine applicability of
 * information provided. If this file has been purchased on magnetic or optical
 * media from Unicode, Inc., the sole remedy for any claim will be exchange of
 * defective media within 90 days of receipt.
 *
 * This disclaimer is applicable for all other data files accompanying the
 * Unicode Character Database, some of which have been compiled by the Unicode
 * Consortium, and some of which have been supplied by other sources.
 *
 * Limitations on Rights to Redistribute This Data
 *
 * Recipient is granted the right to make copies in any form for internal
 * distribution and to freely use the information supplied in the creation of
 * products supporting the UnicodeTM Standard. The files in the Unicode
 * Character Database can be redistributed to third parties or other
 * organizations (whether for profit or not) as long as this notice and the
 * disclaimer notice are retained. Information can be extracted from these
 * files and used in documentation or programs, as long as there is an
 * accompanying notice indicating the source.
 *
 */

ENCODING        "UTF8"
VARIABLE        CODESET=UTF-8


/*
 * U+0000 - U+007F : Basic Latin
 */

ALPHA     'A' - 'Z'  'a' - 'z'
CONTROL   0x0000 - 0x001f  0x007f
DIGIT     '0' - '9'
GRAPH     0x0021 - 0x007e
LOWER     'a' - 'z'
PUNCT     0x0021 - 0x002f  0x003a - 0x0040  0x005b - 0x0060  0x007b - 0x007e
SPACE     0x0009 - 0x000d  0x0020
UPPER     'A' - 'Z'
XDIGIT    '0' - '9'  'A' - 'F'  'a' - 'f'
BLANK     0x0009  0x000b  0x0020
PRINT     0x0020 - 0x007e
SWIDTH1   0x0020 - 0x007e

MAPUPPER  < 'a' - 'z' : 'A' >
MAPLOWER  < 'A' - 'Z' : 'a' >
TODIGIT   < '0' - '9' : 0x0000 >
TODIGIT   < 'A' - 'F' : 10 > < 'a' - 'f' : 10 >


/*
 * U+0080 - U+00FF : Latin-1 Supplement
 */

ALPHA     0x00aa  0x00b5  0x00ba  0x00c0 - 0x00d6  0x00d8 - 0x00f6
ALPHA     0x00f8 - 0x00ff
CONTROL   0x0080 - 0x009f
GRAPH     0x00a1 - 0x00ff
LOWER     0x00aa  0x00b5  0x00ba  0x00df - 0x00f6  0x00f8 - 0x00ff
PUNCT     0x00a1 - 0x00a9  0x00ab - 0x00b1  0x00b4  0x00b6 - 0x00b8
PUNCT     0x00bb  0x00bf  0x00d7  0x00f7
SPACE     0x0085  0x00a0
UPPER     0x00c0 - 0x00d6  0x00d8 - 0x00de
BLANK     0x00a0
PRINT     0x00a0 - 0x00ff
SPECIAL   0x00b2  0x00b3  0x00b9  0x00bc - 0x00be
SWIDTH1   0x00a0 - 0x00ff

MAPUPPER  < 0x00b5 0x039c >
MAPUPPER  < 0x00e0 - 0x00f6 : 0x00c0 >
MAPUPPER  < 0x00f8 - 0x00fe : 0x00d8 >
MAPUPPER  < 0x00ff 0x0178 >
MAPLOWER  < 0x00c0 - 0x00d6 : 0x00e0 >
MAPLOWER  < 0x00d8 - 0x00de : 0x00f8 >
TODIGIT   < 0x00b2 - 0x00b3 : 0x0002 >
TODIGIT   < 0x00b9 0x0001 >


/*
 * U+0100 - U+017F : Latin Extended-A
 */

ALPHA     0x0100 - 0x017f
GRAPH     0x0100 - 0x017f
LOWER     0x0101  0x0103  0x0105  0x0107  0x0109  0x010b  0x010d
LOWER     0x010f  0x0111  0x0113  0x0115  0x0117  0x0119  0x011b
LOWER     0x011d  0x011f  0x0121  0x0123  0x0125  0x0127  0x0129
LOWER     0x012b  0x012d  0x012f  0x0131  0x0133  0x0135  0x0137  0x0138
LOWER     0x013a  0x013c  0x013e  0x0140  0x0142  0x0144  0x0146
LOWER     0x0148  0x0149  0x014b  0x014d  0x014f  0x0151  0x0153
LOWER     0x0155  0x0157  0x0159  0x015b  0x015d  0x015f  0x0161
LOWER     0x0163  0x0165  0x0167  0x0169  0x016b  0x016d  0x016f
LOWER     0x0171  0x0173  0x0175  0x0177  0x017a  0x017c  0x017e  0x017f
UPPER     0x0100  0x0102  0x0104  0x0106  0x0108  0x010a  0x010c
UPPER     0x010e  0x0110  0x0112  0x0114  0x0116  0x0118  0x011a
UPPER     0x011c  0x011e  0x0120  0x0122  0x0124  0x0126  0x0128
UPPER     0x012a  0x012c  0x012e  0x0130  0x0132  0x0134  0x0136
UPPER     0x0139  0x013b  0x013d  0x013f  0x0141  0x0143  0x0145
UPPER     0x0147  0x014a  0x014c  0x014e  0x0150  0x0152  0x0154
UPPER     0x0156  0x0158  0x015a  0x015c  0x015e  0x0160  0x0162
UPPER     0x0164  0x0166  0x0168  0x016a  0x016c  0x016e  0x0170
UPPER     0x0172  0x0174  0x0176  0x0178  0x0179  0x017b  0x017d
PRINT     0x0100 - 0x017f
SWIDTH1   0x0100 - 0x017f

MAPUPPER  < 0x0101 0x0100 >
MAPUPPER  < 0x0103 0x0102 >
MAPUPPER  < 0x0105 0x0104 >
MAPUPPER  < 0x0107 0x0106 >
MAPUPPER  < 0x0109 0x0108 >
MAPUPPER  < 0x010b 0x010a >
MAPUPPER  < 0x010d 0x010c >
MAPUPPER  < 0x010f 0x010e >
MAPUPPER  < 0x0111 0x0110 >
MAPUPPER  < 0x0113 0x0112 >
MAPUPPER  < 0x0115 0x0114 >
MAPUPPER  < 0x0117 0x0116 >
MAPUPPER  < 0x0119 0x0118 >
MAPUPPER  < 0x011b 0x011a >
MAPUPPER  < 0x011d 0x011c >
MAPUPPER  < 0x011f 0x011e >
MAPUPPER  < 0x0121 0x0120 >
MAPUPPER  < 0x0123 0x0122 >
MAPUPPER  < 0x0125 0x0124 >
MAPUPPER  < 0x0127 0x0126 >
MAPUPPER  < 0x0129 0x0128 >
MAPUPPER  < 0x012b 0x012a >
MAPUPPER  < 0x012d 0x012c >
MAPUPPER  < 0x012f 0x012e >
MAPUPPER  < 0x0131 'I' >
MAPUPPER  < 0x0133 0x0132 >
MAPUPPER  < 0x0135 0x0134 >
MAPUPPER  < 0x0137 0x0136 >
MAPUPPER  < 0x013a 0x0139 >
MAPUPPER  < 0x013c 0x013b >
MAPUPPER  < 0x013e 0x013d >
MAPUPPER  < 0x0140 0x013f >
MAPUPPER  < 0x0142 0x0141 >
MAPUPPER  < 0x0144 0x0143 >
MAPUPPER  < 0x0146 0x0145 >
MAPUPPER  < 0x0148 0x0147 >
MAPUPPER  < 0x014b 0x014a >
MAPUPPER  < 0x014d 0x014c >
MAPUPPER  < 0x014f 0x014e >
MAPUPPER  < 0x0151 0x0150 >
MAPUPPER  < 0x0153 0x0152 >
MAPUPPER  < 0x0155 0x0154 >
MAPUPPER  < 0x0157 0x0156 >
MAPUPPER  < 0x0159 0x0158 >
MAPUPPER  < 0x015b 0x015a >
MAPUPPER  < 0x015d 0x015c >
MAPUPPER  < 0x015f 0x015e >
MAPUPPER  < 0x0161 0x0160 >
MAPUPPER  < 0x0163 0x0162 >
MAPUPPER  < 0x0165 0x0164 >
MAPUPPER  < 0x0167 0x0166 >
MAPUPPER  < 0x0169 0x0168 >
MAPUPPER  < 0x016b 0x016a >
MAPUPPER  < 0x016d 0x016c >
MAPUPPER  < 0x016f 0x016e >
MAPUPPER  < 0x0171 0x0170 >
MAPUPPER  < 0x0173 0x0172 >
MAPUPPER  < 0x0175 0x0174 >
MAPUPPER  < 0x0177 0x0176 >
MAPUPPER  < 0x017a 0x0179 >
MAPUPPER  < 0x017c 0x017b >
MAPUPPER  < 0x017e 0x017d >
MAPUPPER  < 0x017f 'S' >
MAPLOWER  < 0x0100 0x0101 >
MAPLOWER  < 0x0102 0x0103 >
MAPLOWER  < 0x0104 0x0105 >
MAPLOWER  < 0x0106 0x0107 >
MAPLOWER  < 0x0108 0x0109 >
MAPLOWER  < 0x010a 0x010b >
MAPLOWER  < 0x010c 0x010d >
MAPLOWER  < 0x010e 0x010f >
MAPLOWER  < 0x0110 0x0111 >
MAPLOWER  < 0x0112 0x0113 >
MAPLOWER  < 0x0114 0x0115 >
MAPLOWER  < 0x0116 0x0117 >
MAPLOWER  < 0x0118 0x0119 >
MAPLOWER  < 0x011a 0x011b >
MAPLOWER  < 0x011c 0x011d >
MAPLOWER  < 0x011e 0x011f >
MAPLOWER  < 0x0120 0x0121 >
MAPLOWER  < 0x0122 0x0123 >
MAPLOWER  < 0x0124 0x0125 >
MAPLOWER  < 0x0126 0x0127 >
MAPLOWER  < 0x0128 0x0129 >
MAPLOWER  < 0x012a 0x012b >
MAPLOWER  < 0x012c 0x012d >
MAPLOWER  < 0x012e 0x012f >
MAPLOWER  < 0x0130 'i' >
MAPLOWER  < 0x0132 0x0133 >
MAPLOWER  < 0x0134 0x0135 >
MAPLOWER  < 0x0136 0x0137 >
MAPLOWER  < 0x0139 0x013a >
MAPLOWER  < 0x013b 0x013c >
MAPLOWER  < 0x013d 0x013e >
MAPLOWER  < 0x013f 0x0140 >
MAPLOWER  < 0x0141 0x0142 >
MAPLOWER  < 0x0143 0x0144 >
MAPLOWER  < 0x0145 0x0146 >
MAPLOWER  < 0x0147 0x0148 >
MAPLOWER  < 0x014a 0x014b >
MAPLOWER  < 0x014c 0x014d >
MAPLOWER  < 0x014e 0x014f >
MAPLOWER  < 0x0150 0x0151 >
MAPLOWER  < 0x0152 0x0153 >
MAPLOWER  < 0x0154 0x0155 >
MAPLOWER  < 0x0156 0x0157 >
MAPLOWER  < 0x0158 0x0159 >
MAPLOWER  < 0x015a 0x015b >
MAPLOWER  < 0x015c 0x015d >
MAPLOWER  < 0x015e 0x015f >
MAPLOWER  < 0x0160 0x0161 >
MAPLOWER  < 0x0162 0x0163 >
MAPLOWER  < 0x0164 0x0165 >
MAPLOWER  < 0x0166 0x0167 >
MAPLOWER  < 0x0168 0x0169 >
MAPLOWER  < 0x016a 0x016b >
MAPLOWER  < 0x016c 0x016d >
MAPLOWER  < 0x016e 0x016f >
MAPLOWER  < 0x0170 0x0171 >
MAPLOWER  < 0x0172 0x0173 >
MAPLOWER  < 0x0174 0x0175 >
MAPLOWER  < 0x0176 0x0177 >
MAPLOWER  < 0x0178 0x00ff >
MAPLOWER  < 0x0179 0x017a >
MAPLOWER  < 0x017b 0x017c >
MAPLOWER  < 0x017d 0x017e >


/*
 * U+0180 - U+024F : Latin Extended-B
 */

ALPHA     0x0180 - 0x01ba  0x01bc - 0x01bf  0x01c4 - 0x0220  0x0222 - 0x0233
GRAPH     0x0180 - 0x0220  0x0222 - 0x0233
LOWER     0x0180  0x0183  0x0185  0x0188  0x018c  0x018d  0x0192
LOWER     0x0195  0x0199 - 0x019b  0x019e  0x01a1  0x01a3  0x01a5
LOWER     0x01a8  0x01aa  0x01ab  0x01ad  0x01b0  0x01b4  0x01b6
LOWER     0x01b9  0x01ba  0x01bd - 0x01bf  0x01c6  0x01c9  0x01cc
LOWER     0x01ce  0x01d0  0x01d2  0x01d4  0x01d6  0x01d8  0x01da
LOWER     0x01dc  0x01dd  0x01df  0x01e1  0x01e3  0x01e5  0x01e7
LOWER     0x01e9  0x01eb  0x01ed  0x01ef  0x01f0  0x01f3  0x01f5
LOWER     0x01f9  0x01fb  0x01fd  0x01ff  0x0201  0x0203  0x0205
LOWER     0x0207  0x0209  0x020b  0x020d  0x020f  0x0211  0x0213
LOWER     0x0215  0x0217  0x0219  0x021b  0x021d  0x021f  0x0223
LOWER     0x0225  0x0227  0x0229  0x022b  0x022d  0x022f  0x0231
LOWER     0x0233
UPPER     0x0181  0x0182  0x0184  0x0186  0x0187  0x0189 - 0x018b
UPPER     0x018e - 0x0191  0x0193  0x0194  0x0196 - 0x0198  0x019c  0x019d
UPPER     0x019f  0x01a0  0x01a2  0x01a4  0x01a6  0x01a7  0x01a9
UPPER     0x01ac  0x01ae  0x01af  0x01b1 - 0x01b3  0x01b5  0x01b7  0x01b8
UPPER     0x01bc  0x01c4  0x01c7  0x01ca  0x01cd  0x01cf  0x01d1
UPPER     0x01d3  0x01d5  0x01d7  0x01d9  0x01db  0x01de  0x01e0
UPPER     0x01e2  0x01e4  0x01e6  0x01e8  0x01ea  0x01ec  0x01ee
UPPER     0x01f1  0x01f4  0x01f6 - 0x01f8  0x01fa  0x01fc  0x01fe
UPPER     0x0200  0x0202  0x0204  0x0206  0x0208  0x020a  0x020c
UPPER     0x020e  0x0210  0x0212  0x0214  0x0216  0x0218  0x021a
UPPER     0x021c  0x021e  0x0220  0x0222  0x0224  0x0226  0x0228
UPPER     0x022a  0x022c  0x022e  0x0230  0x0232
PRINT     0x0180 - 0x0220  0x0222 - 0x0233
SWIDTH1   0x0180 - 0x0220  0x0222 - 0x0233

MAPUPPER  < 0x0183 0x0182 >
MAPUPPER  < 0x0185 0x0184 >
MAPUPPER  < 0x0188 0x0187 >
MAPUPPER  < 0x018c 0x018b >
MAPUPPER  < 0x0192 0x0191 >
MAPUPPER  < 0x0195 0x01f6 >
MAPUPPER  < 0x0199 0x0198 >
MAPUPPER  < 0x019e 0x0220 >
MAPUPPER  < 0x01a1 0x01a0 >
MAPUPPER  < 0x01a3 0x01a2 >
MAPUPPER  < 0x01a5 0x01a4 >
MAPUPPER  < 0x01a8 0x01a7 >
MAPUPPER  < 0x01ad 0x01ac >
MAPUPPER  < 0x01b0 0x01af >
MAPUPPER  < 0x01b4 0x01b3 >
MAPUPPER  < 0x01b6 0x01b5 >
MAPUPPER  < 0x01b9 0x01b8 >
MAPUPPER  < 0x01bd 0x01bc >
MAPUPPER  < 0x01bf 0x01f7 >
MAPUPPER  < 0x01c5 0x01c4 >
MAPUPPER  < 0x01c6 0x01c4 >
MAPUPPER  < 0x01c8 0x01c7 >
MAPUPPER  < 0x01c9 0x01c7 >
MAPUPPER  < 0x01cb 0x01ca >
MAPUPPER  < 0x01cc 0x01ca >
MAPUPPER  < 0x01ce 0x01cd >
MAPUPPER  < 0x01d0 0x01cf >
MAPUPPER  < 0x01d2 0x01d1 >
MAPUPPER  < 0x01d4 0x01d3 >
MAPUPPER  < 0x01d6 0x01d5 >
MAPUPPER  < 0x01d8 0x01d7 >
MAPUPPER  < 0x01da 0x01d9 >
MAPUPPER  < 0x01dc 0x01db >
MAPUPPER  < 0x01dd 0x018e >
MAPUPPER  < 0x01df 0x01de >
MAPUPPER  < 0x01e1 0x01e0 >
MAPUPPER  < 0x01e3 0x01e2 >
MAPUPPER  < 0x01e5 0x01e4 >
MAPUPPER  < 0x01e7 0x01e6 >
MAPUPPER  < 0x01e9 0x01e8 >
MAPUPPER  < 0x01eb 0x01ea >
MAPUPPER  < 0x01ed 0x01ec >
MAPUPPER  < 0x01ef 0x01ee >
MAPUPPER  < 0x01f2 0x01f1 >
MAPUPPER  < 0x01f3 0x01f1 >
MAPUPPER  < 0x01f5 0x01f4 >
MAPUPPER  < 0x01f9 0x01f8 >
MAPUPPER  < 0x01fb 0x01fa >
MAPUPPER  < 0x01fd 0x01fc >
MAPUPPER  < 0x01ff 0x01fe >
MAPUPPER  < 0x0201 0x0200 >
MAPUPPER  < 0x0203 0x0202 >
MAPUPPER  < 0x0205 0x0204 >
MAPUPPER  < 0x0207 0x0206 >
MAPUPPER  < 0x0209 0x0208 >
MAPUPPER  < 0x020b 0x020a >
MAPUPPER  < 0x020d 0x020c >
MAPUPPER  < 0x020f 0x020e >
MAPUPPER  < 0x0211 0x0210 >
MAPUPPER  < 0x0213 0x0212 >
MAPUPPER  < 0x0215 0x0214 >
MAPUPPER  < 0x0217 0x0216 >
MAPUPPER  < 0x0219 0x0218 >
MAPUPPER  < 0x021b 0x021a >
MAPUPPER  < 0x021d 0x021c >
MAPUPPER  < 0x021f 0x021e >
MAPUPPER  < 0x0223 0x0222 >
MAPUPPER  < 0x0225 0x0224 >
MAPUPPER  < 0x0227 0x0226 >
MAPUPPER  < 0x0229 0x0228 >
MAPUPPER  < 0x022b 0x022a >
MAPUPPER  < 0x022d 0x022c >
MAPUPPER  < 0x022f 0x022e >
MAPUPPER  < 0x0231 0x0230 >
MAPUPPER  < 0x0233 0x0232 >
MAPLOWER  < 0x0181 0x0253 >
MAPLOWER  < 0x0182 0x0183 >
MAPLOWER  < 0x0184 0x0185 >
MAPLOWER  < 0x0186 0x0254 >
MAPLOWER  < 0x0187 0x0188 >
MAPLOWER  < 0x0189 - 0x018a : 0x0256 >
MAPLOWER  < 0x018b 0x018c >
MAPLOWER  < 0x018e 0x01dd >
MAPLOWER  < 0x018f 0x0259 >
MAPLOWER  < 0x0190 0x025b >
MAPLOWER  < 0x0191 0x0192 >
MAPLOWER  < 0x0193 0x0260 >
MAPLOWER  < 0x0194 0x0263 >
MAPLOWER  < 0x0196 0x0269 >
MAPLOWER  < 0x0197 0x0268 >
MAPLOWER  < 0x0198 0x0199 >
MAPLOWER  < 0x019c 0x026f >
MAPLOWER  < 0x019d 0x0272 >
MAPLOWER  < 0x019f 0x0275 >
MAPLOWER  < 0x01a0 0x01a1 >
MAPLOWER  < 0x01a2 0x01a3 >
MAPLOWER  < 0x01a4 0x01a5 >
MAPLOWER  < 0x01a6 0x0280 >
MAPLOWER  < 0x01a7 0x01a8 >
MAPLOWER  < 0x01a9 0x0283 >
MAPLOWER  < 0x01ac 0x01ad >
MAPLOWER  < 0x01ae 0x0288 >
MAPLOWER  < 0x01af 0x01b0 >
MAPLOWER  < 0x01b1 - 0x01b2 : 0x028a >
MAPLOWER  < 0x01b3 0x01b4 >
MAPLOWER  < 0x01b5 0x01b6 >
MAPLOWER  < 0x01b7 0x0292 >
MAPLOWER  < 0x01b8 0x01b9 >
MAPLOWER  < 0x01bc 0x01bd >
MAPLOWER  < 0x01c4 0x01c6 >
MAPLOWER  < 0x01c5 0x01c6 >
MAPLOWER  < 0x01c7 0x01c9 >
MAPLOWER  < 0x01c8 0x01c9 >
MAPLOWER  < 0x01ca 0x01cc >
MAPLOWER  < 0x01cb 0x01cc >
MAPLOWER  < 0x01cd 0x01ce >
MAPLOWER  < 0x01cf 0x01d0 >
MAPLOWER  < 0x01d1 0x01d2 >
MAPLOWER  < 0x01d3 0x01d4 >
MAPLOWER  < 0x01d5 0x01d6 >
MAPLOWER  < 0x01d7 0x01d8 >
MAPLOWER  < 0x01d9 0x01da >
MAPLOWER  < 0x01db 0x01dc >
MAPLOWER  < 0x01de 0x01df >
MAPLOWER  < 0x01e0 0x01e1 >
MAPLOWER  < 0x01e2 0x01e3 >
MAPLOWER  < 0x01e4 0x01e5 >
MAPLOWER  < 0x01e6 0x01e7 >
MAPLOWER  < 0x01e8 0x01e9 >
MAPLOWER  < 0x01ea 0x01eb >
MAPLOWER  < 0x01ec 0x01ed >
MAPLOWER  < 0x01ee 0x01ef >
MAPLOWER  < 0x01f1 0x01f3 >
MAPLOWER  < 0x01f2 0x01f3 >
MAPLOWER  < 0x01f4 0x01f5 >
MAPLOWER  < 0x01f6 0x0195 >
MAPLOWER  < 0x01f7 0x01bf >
MAPLOWER  < 0x01f8 0x01f9 >
MAPLOWER  < 0x01fa 0x01fb >
MAPLOWER  < 0x01fc 0x01fd >
MAPLOWER  < 0x01fe 0x01ff >
MAPLOWER  < 0x0200 0x0201 >
MAPLOWER  < 0x0202 0x0203 >
MAPLOWER  < 0x0204 0x0205 >
MAPLOWER  < 0x0206 0x0207 >
MAPLOWER  < 0x0208 0x0209 >
MAPLOWER  < 0x020a 0x020b >
MAPLOWER  < 0x020c 0x020d >
MAPLOWER  < 0x020e 0x020f >
MAPLOWER  < 0x0210 0x0211 >
MAPLOWER  < 0x0212 0x0213 >
MAPLOWER  < 0x0214 0x0215 >
MAPLOWER  < 0x0216 0x0217 >
MAPLOWER  < 0x0218 0x0219 >
MAPLOWER  < 0x021a 0x021b >
MAPLOWER  < 0x021c 0x021d >
MAPLOWER  < 0x021e 0x021f >
MAPLOWER  < 0x0220 0x019e >
MAPLOWER  < 0x0222 0x0223 >
MAPLOWER  < 0x0224 0x0225 >
MAPLOWER  < 0x0226 0x0227 >
MAPLOWER  < 0x0228 0x0229 >
MAPLOWER  < 0x022a 0x022b >
MAPLOWER  < 0x022c 0x022d >
MAPLOWER  < 0x022e 0x022f >
MAPLOWER  < 0x0230 0x0231 >
MAPLOWER  < 0x0232 0x0233 >


/*
 * U+0250 - U+02AF : IPA Extensions
 */

ALPHA     0x0250 - 0x02ad
GRAPH     0x0250 - 0x02ad
LOWER     0x0250 - 0x02ad
PRINT     0x0250 - 0x02ad
SWIDTH1   0x0250 - 0x02ad

MAPUPPER  < 0x0253 0x0181 >
MAPUPPER  < 0x0254 0x0186 >
MAPUPPER  < 0x0256 - 0x0257 : 0x0189 >
MAPUPPER  < 0x0259 0x018f >
MAPUPPER  < 0x025b 0x0190 >
MAPUPPER  < 0x0260 0x0193 >
MAPUPPER  < 0x0263 0x0194 >
MAPUPPER  < 0x0268 0x0197 >
MAPUPPER  < 0x0269 0x0196 >
MAPUPPER  < 0x026f 0x019c >
MAPUPPER  < 0x0272 0x019d >
MAPUPPER  < 0x0275 0x019f >
MAPUPPER  < 0x0280 0x01a6 >
MAPUPPER  < 0x0283 0x01a9 >
MAPUPPER  < 0x0288 0x01ae >
MAPUPPER  < 0x028a - 0x028b : 0x01b1 >
MAPUPPER  < 0x0292 0x01b7 >


/*
 * U+02B0 - U+02FF : Spacing Modifier Letters
 */

GRAPH     0x02b0 - 0x02ee
PUNCT     0x02b9  0x02ba  0x02c2 - 0x02cf  0x02d2 - 0x02df  0x02e5 - 0x02ed
PRINT     0x02b0 - 0x02ee
SWIDTH1   0x02b0 - 0x02ee


/*
 * U+0300 - U+036F : Combining Diacritical Marks
 */

GRAPH     0x0300 - 0x034f  0x0360 - 0x036f
PRINT     0x0300 - 0x034f  0x0360 - 0x036f
SWIDTH1   0x0300 - 0x034f  0x0360 - 0x036f

MAPUPPER  < 0x0345 0x0399 >


/*
 * U+0370 - U+03FF : Greek and Coptic
 */

ALPHA     0x0386  0x0388 - 0x038a  0x038c  0x038e - 0x03a1  0x03a3 - 0x03ce
ALPHA     0x03d0 - 0x03f5
GRAPH     0x0374  0x0375  0x037a  0x037e  0x0384 - 0x038a  0x038c
GRAPH     0x038e - 0x03a1  0x03a3 - 0x03ce  0x03d0 - 0x03f6
LOWER     0x0390  0x03ac - 0x03ce  0x03d0  0x03d1  0x03d5 - 0x03d7
LOWER     0x03d9  0x03db  0x03dd  0x03df  0x03e1  0x03e3  0x03e5
LOWER     0x03e7  0x03e9  0x03eb  0x03ed  0x03ef - 0x03f3  0x03f5
PUNCT     0x0374  0x0375  0x037e  0x0384  0x0385  0x0387  0x03f6
UPPER     0x0386  0x0388 - 0x038a  0x038c  0x038e  0x038f  0x0391 - 0x03a1
UPPER     0x03a3 - 0x03ab  0x03d2 - 0x03d4  0x03d8  0x03da  0x03dc
UPPER     0x03de  0x03e0  0x03e2  0x03e4  0x03e6  0x03e8  0x03ea
UPPER     0x03ec  0x03ee  0x03f4
PRINT     0x0374  0x0375  0x037a  0x037e  0x0384 - 0x038a  0x038c
PRINT     0x038e - 0x03a1  0x03a3 - 0x03ce  0x03d0 - 0x03f6
SWIDTH1   0x0374  0x0375  0x037a  0x037e  0x0384 - 0x038a  0x038c
SWIDTH1   0x038e - 0x03a1  0x03a3 - 0x03ce  0x03d0 - 0x03f6

MAPUPPER  < 0x03ac 0x0386 >
MAPUPPER  < 0x03ad - 0x03af : 0x0388 >
MAPUPPER  < 0x03b1 - 0x03c1 : 0x0391 >
MAPUPPER  < 0x03c2 0x03a3 >
MAPUPPER  < 0x03c3 - 0x03cb : 0x03a3 >
MAPUPPER  < 0x03cc 0x038c >
MAPUPPER  < 0x03cd - 0x03ce : 0x038e >
MAPUPPER  < 0x03d0 0x0392 >
MAPUPPER  < 0x03d1 0x0398 >
MAPUPPER  < 0x03d5 0x03a6 >
MAPUPPER  < 0x03d6 0x03a0 >
MAPUPPER  < 0x03d9 0x03d8 >
MAPUPPER  < 0x03db 0x03da >
MAPUPPER  < 0x03dd 0x03dc >
MAPUPPER  < 0x03df 0x03de >
MAPUPPER  < 0x03e1 0x03e0 >
MAPUPPER  < 0x03e3 0x03e2 >
MAPUPPER  < 0x03e5 0x03e4 >
MAPUPPER  < 0x03e7 0x03e6 >
MAPUPPER  < 0x03e9 0x03e8 >
MAPUPPER  < 0x03eb 0x03ea >
MAPUPPER  < 0x03ed 0x03ec >
MAPUPPER  < 0x03ef 0x03ee >
MAPUPPER  < 0x03f0 0x039a >
MAPUPPER  < 0x03f1 0x03a1 >
MAPUPPER  < 0x03f2 0x03a3 >
MAPUPPER  < 0x03f5 0x0395 >
MAPLOWER  < 0x0386 0x03ac >
MAPLOWER  < 0x0388 - 0x038a : 0x03ad >
MAPLOWER  < 0x038c 0x03cc >
MAPLOWER  < 0x038e - 0x038f : 0x03cd >
MAPLOWER  < 0x0391 - 0x03a1 : 0x03b1 >
MAPLOWER  < 0x03a3 - 0x03ab : 0x03c3 >
MAPLOWER  < 0x03d8 0x03d9 >
MAPLOWER  < 0x03da 0x03db >
MAPLOWER  < 0x03dc 0x03dd >
MAPLOWER  < 0x03de 0x03df >
MAPLOWER  < 0x03e0 0x03e1 >
MAPLOWER  < 0x03e2 0x03e3 >
MAPLOWER  < 0x03e4 0x03e5 >
MAPLOWER  < 0x03e6 0x03e7 >
MAPLOWER  < 0x03e8 0x03e9 >
MAPLOWER  < 0x03ea 0x03eb >
MAPLOWER  < 0x03ec 0x03ed >
MAPLOWER  < 0x03ee 0x03ef >
MAPLOWER  < 0x03f4 0x03b8 >


/*
 * U+0400 - U+04FF : Cyrillic
 */

ALPHA     0x0400 - 0x0481  0x048a - 0x04ce  0x04d0 - 0x04f5  0x04f8  0x04f9
GRAPH     0x0400 - 0x0486  0x0488 - 0x04ce  0x04d0 - 0x04f5  0x04f8  0x04f9
LOWER     0x0430 - 0x045f  0x0461  0x0463  0x0465  0x0467  0x0469
LOWER     0x046b  0x046d  0x046f  0x0471  0x0473  0x0475  0x0477
LOWER     0x0479  0x047b  0x047d  0x047f  0x0481  0x048b  0x048d
LOWER     0x048f  0x0491  0x0493  0x0495  0x0497  0x0499  0x049b
LOWER     0x049d  0x049f  0x04a1  0x04a3  0x04a5  0x04a7  0x04a9
LOWER     0x04ab  0x04ad  0x04af  0x04b1  0x04b3  0x04b5  0x04b7
LOWER     0x04b9  0x04bb  0x04bd  0x04bf  0x04c2  0x04c4  0x04c6
LOWER     0x04c8  0x04ca  0x04cc  0x04ce  0x04d1  0x04d3  0x04d5
LOWER     0x04d7  0x04d9  0x04db  0x04dd  0x04df  0x04e1  0x04e3
LOWER     0x04e5  0x04e7  0x04e9  0x04eb  0x04ed  0x04ef  0x04f1
LOWER     0x04f3  0x04f5  0x04f9
PUNCT     0x0482
UPPER     0x0400 - 0x042f  0x0460  0x0462  0x0464  0x0466  0x0468
UPPER     0x046a  0x046c  0x046e  0x0470  0x0472  0x0474  0x0476
UPPER     0x0478  0x047a  0x047c  0x047e  0x0480  0x048a  0x048c
UPPER     0x048e  0x0490  0x0492  0x0494  0x0496  0x0498  0x049a
UPPER     0x049c  0x049e  0x04a0  0x04a2  0x04a4  0x04a6  0x04a8
UPPER     0x04aa  0x04ac  0x04ae  0x04b0  0x04b2  0x04b4  0x04b6
UPPER     0x04b8  0x04ba  0x04bc  0x04be  0x04c0  0x04c1  0x04c3
UPPER     0x04c5  0x04c7  0x04c9  0x04cb  0x04cd  0x04d0  0x04d2
UPPER     0x04d4  0x04d6  0x04d8  0x04da  0x04dc  0x04de  0x04e0
UPPER     0x04e2  0x04e4  0x04e6  0x04e8  0x04ea  0x04ec  0x04ee
UPPER     0x04f0  0x04f2  0x04f4  0x04f8
PRINT     0x0400 - 0x0486  0x0488 - 0x04ce  0x04d0 - 0x04f5  0x04f8  0x04f9
SWIDTH1   0x0400 - 0x0486  0x0488 - 0x04ce  0x04d0 - 0x04f5  0x04f8  0x04f9

MAPUPPER  < 0x0430 - 0x044f : 0x0410 >
MAPUPPER  < 0x0450 - 0x045f : 0x0400 >
MAPUPPER  < 0x0461 0x0460 >
MAPUPPER  < 0x0463 0x0462 >
MAPUPPER  < 0x0465 0x0464 >
MAPUPPER  < 0x0467 0x0466 >
MAPUPPER  < 0x0469 0x0468 >
MAPUPPER  < 0x046b 0x046a >
MAPUPPER  < 0x046d 0x046c >
MAPUPPER  < 0x046f 0x046e >
MAPUPPER  < 0x0471 0x0470 >
MAPUPPER  < 0x0473 0x0472 >
MAPUPPER  < 0x0475 0x0474 >
MAPUPPER  < 0x0477 0x0476 >
MAPUPPER  < 0x0479 0x0478 >
MAPUPPER  < 0x047b 0x047a >
MAPUPPER  < 0x047d 0x047c >
MAPUPPER  < 0x047f 0x047e >
MAPUPPER  < 0x0481 0x0480 >
MAPUPPER  < 0x048b 0x048a >
MAPUPPER  < 0x048d 0x048c >
MAPUPPER  < 0x048f 0x048e >
MAPUPPER  < 0x0491 0x0490 >
MAPUPPER  < 0x0493 0x0492 >
MAPUPPER  < 0x0495 0x0494 >
MAPUPPER  < 0x0497 0x0496 >
MAPUPPER  < 0x0499 0x0498 >
MAPUPPER  < 0x049b 0x049a >
MAPUPPER  < 0x049d 0x049c >
MAPUPPER  < 0x049f 0x049e >
MAPUPPER  < 0x04a1 0x04a0 >
MAPUPPER  < 0x04a3 0x04a2 >
MAPUPPER  < 0x04a5 0x04a4 >
MAPUPPER  < 0x04a7 0x04a6 >
MAPUPPER  < 0x04a9 0x04a8 >
MAPUPPER  < 0x04ab 0x04aa >
MAPUPPER  < 0x04ad 0x04ac >
MAPUPPER  < 0x04af 0x04ae >
MAPUPPER  < 0x04b1 0x04b0 >
MAPUPPER  < 0x04b3 0x04b2 >
MAPUPPER  < 0x04b5 0x04b4 >
MAPUPPER  < 0x04b7 0x04b6 >
MAPUPPER  < 0x04b9 0x04b8 >
MAPUPPER  < 0x04bb 0x04ba >
MAPUPPER  < 0x04bd 0x04bc >
MAPUPPER  < 0x04bf 0x04be >
MAPUPPER  < 0x04c2 0x04c1 >
MAPUPPER  < 0x04c4 0x04c3 >
MAPUPPER  < 0x04c6 0x04c5 >
MAPUPPER  < 0x04c8 0x04c7 >
MAPUPPER  < 0x04ca 0x04c9 >
MAPUPPER  < 0x04cc 0x04cb >
MAPUPPER  < 0x04ce 0x04cd >
MAPUPPER  < 0x04d1 0x04d0 >
MAPUPPER  < 0x04d3 0x04d2 >
MAPUPPER  < 0x04d5 0x04d4 >
MAPUPPER  < 0x04d7 0x04d6 >
MAPUPPER  < 0x04d9 0x04d8 >
MAPUPPER  < 0x04db 0x04da >
MAPUPPER  < 0x04dd 0x04dc >
MAPUPPER  < 0x04df 0x04de >
MAPUPPER  < 0x04e1 0x04e0 >
MAPUPPER  < 0x04e3 0x04e2 >
MAPUPPER  < 0x04e5 0x04e4 >
MAPUPPER  < 0x04e7 0x04e6 >
MAPUPPER  < 0x04e9 0x04e8 >
MAPUPPER  < 0x04eb 0x04ea >
MAPUPPER  < 0x04ed 0x04ec >
MAPUPPER  < 0x04ef 0x04ee >
MAPUPPER  < 0x04f1 0x04f0 >
MAPUPPER  < 0x04f3 0x04f2 >
MAPUPPER  < 0x04f5 0x04f4 >
MAPUPPER  < 0x04f9 0x04f8 >
MAPLOWER  < 0x0400 - 0x040f : 0x0450 >
MAPLOWER  < 0x0410 - 0x042f : 0x0430 >
MAPLOWER  < 0x0460 0x0461 >
MAPLOWER  < 0x0462 0x0463 >
MAPLOWER  < 0x0464 0x0465 >
MAPLOWER  < 0x0466 0x0467 >
MAPLOWER  < 0x0468 0x0469 >
MAPLOWER  < 0x046a 0x046b >
MAPLOWER  < 0x046c 0x046d >
MAPLOWER  < 0x046e 0x046f >
MAPLOWER  < 0x0470 0x0471 >
MAPLOWER  < 0x0472 0x0473 >
MAPLOWER  < 0x0474 0x0475 >
MAPLOWER  < 0x0476 0x0477 >
MAPLOWER  < 0x0478 0x0479 >
MAPLOWER  < 0x047a 0x047b >
MAPLOWER  < 0x047c 0x047d >
MAPLOWER  < 0x047e 0x047f >
MAPLOWER  < 0x0480 0x0481 >
MAPLOWER  < 0x048a 0x048b >
MAPLOWER  < 0x048c 0x048d >
MAPLOWER  < 0x048e 0x048f >
MAPLOWER  < 0x0490 0x0491 >
MAPLOWER  < 0x0492 0x0493 >
MAPLOWER  < 0x0494 0x0495 >
MAPLOWER  < 0x0496 0x0497 >
MAPLOWER  < 0x0498 0x0499 >
MAPLOWER  < 0x049a 0x049b >
MAPLOWER  < 0x049c 0x049d >
MAPLOWER  < 0x049e 0x049f >
MAPLOWER  < 0x04a0 0x04a1 >
MAPLOWER  < 0x04a2 0x04a3 >
MAPLOWER  < 0x04a4 0x04a5 >
MAPLOWER  < 0x04a6 0x04a7 >
MAPLOWER  < 0x04a8 0x04a9 >
MAPLOWER  < 0x04aa 0x04ab >
MAPLOWER  < 0x04ac 0x04ad >
MAPLOWER  < 0x04ae 0x04af >
MAPLOWER  < 0x04b0 0x04b1 >
MAPLOWER  < 0x04b2 0x04b3 >
MAPLOWER  < 0x04b4 0x04b5 >
MAPLOWER  < 0x04b6 0x04b7 >
MAPLOWER  < 0x04b8 0x04b9 >
MAPLOWER  < 0x04ba 0x04bb >
MAPLOWER  < 0x04bc 0x04bd >
MAPLOWER  < 0x04be 0x04bf >
MAPLOWER  < 0x04c1 0x04c2 >
MAPLOWER  < 0x04c3 0x04c4 >
MAPLOWER  < 0x04c5 0x04c6 >
MAPLOWER  < 0x04c7 0x04c8 >
MAPLOWER  < 0x04c9 0x04ca >
MAPLOWER  < 0x04cb 0x04cc >
MAPLOWER  < 0x04cd 0x04ce >
MAPLOWER  < 0x04d0 0x04d1 >
MAPLOWER  < 0x04d2 0x04d3 >
MAPLOWER  < 0x04d4 0x04d5 >
MAPLOWER  < 0x04d6 0x04d7 >
MAPLOWER  < 0x04d8 0x04d9 >
MAPLOWER  < 0x04da 0x04db >
MAPLOWER  < 0x04dc 0x04dd >
MAPLOWER  < 0x04de 0x04df >
MAPLOWER  < 0x04e0 0x04e1 >
MAPLOWER  < 0x04e2 0x04e3 >
MAPLOWER  < 0x04e4 0x04e5 >
MAPLOWER  < 0x04e6 0x04e7 >
MAPLOWER  < 0x04e8 0x04e9 >
MAPLOWER  < 0x04ea 0x04eb >
MAPLOWER  < 0x04ec 0x04ed >
MAPLOWER  < 0x04ee 0x04ef >
MAPLOWER  < 0x04f0 0x04f1 >
MAPLOWER  < 0x04f2 0x04f3 >
MAPLOWER  < 0x04f4 0x04f5 >
MAPLOWER  < 0x04f8 0x04f9 >


/*
 * U+0500 - U+052F : Cyrillic Supplementary
 */

ALPHA     0x0500 - 0x050f
GRAPH     0x0500 - 0x050f
LOWER     0x0501  0x0503  0x0505  0x0507  0x0509  0x050b  0x050d
LOWER     0x050f
UPPER     0x0500  0x0502  0x0504  0x0506  0x0508  0x050a  0x050c
UPPER     0x050e
PRINT     0x0500 - 0x050f
SWIDTH1   0x0500 - 0x050f

MAPUPPER  < 0x0501 0x0500 >
MAPUPPER  < 0x0503 0x0502 >
MAPUPPER  < 0x0505 0x0504 >
MAPUPPER  < 0x0507 0x0506 >
MAPUPPER  < 0x0509 0x0508 >
MAPUPPER  < 0x050b 0x050a >
MAPUPPER  < 0x050d 0x050c >
MAPUPPER  < 0x050f 0x050e >
MAPLOWER  < 0x0500 0x0501 >
MAPLOWER  < 0x0502 0x0503 >
MAPLOWER  < 0x0504 0x0505 >
MAPLOWER  < 0x0506 0x0507 >
MAPLOWER  < 0x0508 0x0509 >
MAPLOWER  < 0x050a 0x050b >
MAPLOWER  < 0x050c 0x050d >
MAPLOWER  < 0x050e 0x050f >


/*
 * U+0530 - U+058F : Armenian
 */

ALPHA     0x0531 - 0x0556  0x0561 - 0x0587
GRAPH     0x0531 - 0x0556  0x0559 - 0x055f  0x0561 - 0x0587  0x0589  0x058a
LOWER     0x0561 - 0x0587
PUNCT     0x055a - 0x055f  0x0589  0x058a
UPPER     0x0531 - 0x0556
PRINT     0x0531 - 0x0556  0x0559 - 0x055f  0x0561 - 0x0587  0x0589  0x058a
SWIDTH1   0x0531 - 0x0556  0x0559 - 0x055f  0x0561 - 0x0587  0x0589  0x058a

MAPUPPER  < 0x0561 - 0x0586 : 0x0531 >
MAPLOWER  < 0x0531 - 0x0556 : 0x0561 >


/*
 * U+0590 - U+05FF : Hebrew
 */

GRAPH     0x0591 - 0x05a1  0x05a3 - 0x05b9  0x05bb - 0x05c4  0x05d0 - 0x05ea
GRAPH     0x05f0 - 0x05f4
PUNCT     0x05be  0x05c0  0x05c3  0x05f3  0x05f4
PRINT     0x0591 - 0x05a1  0x05a3 - 0x05b9  0x05bb - 0x05c4  0x05d0 - 0x05ea
PRINT     0x05f0 - 0x05f4
SWIDTH1   0x0591 - 0x05a1  0x05a3 - 0x05b9  0x05bb - 0x05c4  0x05d0 - 0x05ea
SWIDTH1   0x05f0 - 0x05f4


/*
 * U+0600 - U+06FF : Arabic
 */

CONTROL   0x06dd
DIGIT     0x0660 - 0x0669  0x06f0 - 0x06f9
GRAPH     0x060c  0x061b  0x061f  0x0621 - 0x063a  0x0640 - 0x0655
GRAPH     0x0660 - 0x06dc  0x06de - 0x06ed  0x06f0 - 0x06fe
PUNCT     0x060c  0x061b  0x061f  0x066a - 0x066d  0x06d4  0x06e9
PUNCT     0x06fd  0x06fe
PRINT     0x060c  0x061b  0x061f  0x0621 - 0x063a  0x0640 - 0x0655
PRINT     0x0660 - 0x06dc  0x06de - 0x06ed  0x06f0 - 0x06fe
SWIDTH1   0x060c  0x061b  0x061f  0x0621 - 0x063a  0x0640 - 0x0655
SWIDTH1   0x0660 - 0x06dc  0x06de - 0x06ed  0x06f0 - 0x06fe

TODIGIT   < 0x0660 - 0x0669 : 0x0000 >
TODIGIT   < 0x06f0 - 0x06f9 : 0x0000 >


/*
 * U+0700 - U+074F : Syriac
 */

CONTROL   0x070f
GRAPH     0x0700 - 0x070d  0x0710 - 0x072c  0x0730 - 0x074a
PUNCT     0x0700 - 0x070d
PRINT     0x0700 - 0x070d  0x0710 - 0x072c  0x0730 - 0x074a
SWIDTH1   0x0700 - 0x070d  0x0710 - 0x072c  0x0730 - 0x074a


/*
 * U+0780 - U+07BF : Thaana
 */

GRAPH     0x0780 - 0x07b1
PRINT     0x0780 - 0x07b1
SWIDTH1   0x0780 - 0x07b1


/*
 * U+0900 - U+097F : Devanagari
 */

DIGIT     0x0966 - 0x096f
GRAPH     0x0901 - 0x0903  0x0905 - 0x0939  0x093c - 0x094d  0x0950 - 0x0954
GRAPH     0x0958 - 0x0970
PUNCT     0x0964  0x0965  0x0970
PRINT     0x0901 - 0x0903  0x0905 - 0x0939  0x093c - 0x094d  0x0950 - 0x0954
PRINT     0x0958 - 0x0970
SWIDTH1   0x0901 - 0x0903  0x0905 - 0x0939  0x093c - 0x094d  0x0950 - 0x0954
SWIDTH1   0x0958 - 0x0970

TODIGIT   < 0x0966 - 0x096f : 0x0000 >


/*
 * U+0980 - U+09FF : Bengali
 */

DIGIT     0x09e6 - 0x09ef
GRAPH     0x0981 - 0x0983  0x0985 - 0x098c  0x098f  0x0990  0x0993 - 0x09a8
GRAPH     0x09aa - 0x09b0  0x09b2  0x09b6 - 0x09b9  0x09bc  0x09be - 0x09c4
GRAPH     0x09c7  0x09c8  0x09cb - 0x09cd  0x09d7  0x09dc  0x09dd
GRAPH     0x09df - 0x09e3  0x09e6 - 0x09fa
PUNCT     0x09f2  0x09f3  0x09fa
PRINT     0x0981 - 0x0983  0x0985 - 0x098c  0x098f  0x0990  0x0993 - 0x09a8
PRINT     0x09aa - 0x09b0  0x09b2  0x09b6 - 0x09b9  0x09bc  0x09be - 0x09c4
PRINT     0x09c7  0x09c8  0x09cb - 0x09cd  0x09d7  0x09dc  0x09dd
PRINT     0x09df - 0x09e3  0x09e6 - 0x09fa
SPECIAL   0x09f4 - 0x09f9
SWIDTH1   0x0981 - 0x0983  0x0985 - 0x098c  0x098f  0x0990  0x0993 - 0x09a8
SWIDTH1   0x09aa - 0x09b0  0x09b2  0x09b6 - 0x09b9  0x09bc  0x09be - 0x09c4
SWIDTH1   0x09c7  0x09c8  0x09cb - 0x09cd  0x09d7  0x09dc  0x09dd
SWIDTH1   0x09df - 0x09e3  0x09e6 - 0x09fa

TODIGIT   < 0x09e6 - 0x09ef : 0x0000 >


/*
 * U+0A00 - U+0A7F : Gurmukhi
 */

DIGIT     0x0a66 - 0x0a6f
GRAPH     0x0a02  0x0a05 - 0x0a0a  0x0a0f  0x0a10  0x0a13 - 0x0a28
GRAPH     0x0a2a - 0x0a30  0x0a32  0x0a33  0x0a35  0x0a36  0x0a38  0x0a39
GRAPH     0x0a3c  0x0a3e - 0x0a42  0x0a47  0x0a48  0x0a4b - 0x0a4d
GRAPH     0x0a59 - 0x0a5c  0x0a5e  0x0a66 - 0x0a74
PRINT     0x0a02  0x0a05 - 0x0a0a  0x0a0f  0x0a10  0x0a13 - 0x0a28
PRINT     0x0a2a - 0x0a30  0x0a32  0x0a33  0x0a35  0x0a36  0x0a38  0x0a39
PRINT     0x0a3c  0x0a3e - 0x0a42  0x0a47  0x0a48  0x0a4b - 0x0a4d
PRINT     0x0a59 - 0x0a5c  0x0a5e  0x0a66 - 0x0a74
SWIDTH1   0x0a02  0x0a05 - 0x0a0a  0x0a0f  0x0a10  0x0a13 - 0x0a28
SWIDTH1   0x0a2a - 0x0a30  0x0a32  0x0a33  0x0a35  0x0a36  0x0a38  0x0a39
SWIDTH1   0x0a3c  0x0a3e - 0x0a42  0x0a47  0x0a48  0x0a4b - 0x0a4d
SWIDTH1   0x0a59 - 0x0a5c  0x0a5e  0x0a66 - 0x0a74

TODIGIT   < 0x0a66 - 0x0a6f : 0x0000 >


/*
 * U+0A80 - U+0AFF : Gujarati
 */

DIGIT     0x0ae6 - 0x0aef
GRAPH     0x0a81 - 0x0a83  0x0a85 - 0x0a8b  0x0a8d  0x0a8f - 0x0a91
GRAPH     0x0a93 - 0x0aa8  0x0aaa - 0x0ab0  0x0ab2  0x0ab3  0x0ab5 - 0x0ab9
GRAPH     0x0abc - 0x0ac5  0x0ac7 - 0x0ac9  0x0acb - 0x0acd  0x0ad0
GRAPH     0x0ae0  0x0ae6 - 0x0aef
PRINT     0x0a81 - 0x0a83  0x0a85 - 0x0a8b  0x0a8d  0x0a8f - 0x0a91
PRINT     0x0a93 - 0x0aa8  0x0aaa - 0x0ab0  0x0ab2  0x0ab3  0x0ab5 - 0x0ab9
PRINT     0x0abc - 0x0ac5  0x0ac7 - 0x0ac9  0x0acb - 0x0acd  0x0ad0
PRINT     0x0ae0  0x0ae6 - 0x0aef
SWIDTH1   0x0a81 - 0x0a83  0x0a85 - 0x0a8b  0x0a8d  0x0a8f - 0x0a91
SWIDTH1   0x0a93 - 0x0aa8  0x0aaa - 0x0ab0  0x0ab2  0x0ab3  0x0ab5 - 0x0ab9
SWIDTH1   0x0abc - 0x0ac5  0x0ac7 - 0x0ac9  0x0acb - 0x0acd  0x0ad0
SWIDTH1   0x0ae0  0x0ae6 - 0x0aef

TODIGIT   < 0x0ae6 - 0x0aef : 0x0000 >


/*
 * U+0B00 - U+0B7F : Oriya
 */

DIGIT     0x0b66 - 0x0b6f
GRAPH     0x0b01 - 0x0b03  0x0b05 - 0x0b0c  0x0b0f  0x0b10  0x0b13 - 0x0b28
GRAPH     0x0b2a - 0x0b30  0x0b32  0x0b33  0x0b36 - 0x0b39  0x0b3c - 0x0b43
GRAPH     0x0b47  0x0b48  0x0b4b - 0x0b4d  0x0b56  0x0b57  0x0b5c  0x0b5d
GRAPH     0x0b5f - 0x0b61  0x0b66 - 0x0b70
PUNCT     0x0b70
PRINT     0x0b01 - 0x0b03  0x0b05 - 0x0b0c  0x0b0f  0x0b10  0x0b13 - 0x0b28
PRINT     0x0b2a - 0x0b30  0x0b32  0x0b33  0x0b36 - 0x0b39  0x0b3c - 0x0b43
PRINT     0x0b47  0x0b48  0x0b4b - 0x0b4d  0x0b56  0x0b57  0x0b5c  0x0b5d
PRINT     0x0b5f - 0x0b61  0x0b66 - 0x0b70
SWIDTH1   0x0b01 - 0x0b03  0x0b05 - 0x0b0c  0x0b0f  0x0b10  0x0b13 - 0x0b28
SWIDTH1   0x0b2a - 0x0b30  0x0b32  0x0b33  0x0b36 - 0x0b39  0x0b3c - 0x0b43
SWIDTH1   0x0b47  0x0b48  0x0b4b - 0x0b4d  0x0b56  0x0b57  0x0b5c  0x0b5d
SWIDTH1   0x0b5f - 0x0b61  0x0b66 - 0x0b70

TODIGIT   < 0x0b66 - 0x0b6f : 0x0000 >


/*
 * U+0B80 - U+0BFF : Tamil
 */

DIGIT     0x0be7 - 0x0bef
GRAPH     0x0b82  0x0b83  0x0b85 - 0x0b8a  0x0b8e - 0x0b90  0x0b92 - 0x0b95
GRAPH     0x0b99  0x0b9a  0x0b9c  0x0b9e  0x0b9f  0x0ba3  0x0ba4
GRAPH     0x0ba8 - 0x0baa  0x0bae - 0x0bb5  0x0bb7 - 0x0bb9  0x0bbe - 0x0bc2
GRAPH     0x0bc6 - 0x0bc8  0x0bca - 0x0bcd  0x0bd7  0x0be7 - 0x0bf2
PRINT     0x0b82  0x0b83  0x0b85 - 0x0b8a  0x0b8e - 0x0b90  0x0b92 - 0x0b95
PRINT     0x0b99  0x0b9a  0x0b9c  0x0b9e  0x0b9f  0x0ba3  0x0ba4
PRINT     0x0ba8 - 0x0baa  0x0bae - 0x0bb5  0x0bb7 - 0x0bb9  0x0bbe - 0x0bc2
PRINT     0x0bc6 - 0x0bc8  0x0bca - 0x0bcd  0x0bd7  0x0be7 - 0x0bf2
SPECIAL   0x0bf0 - 0x0bf2
SWIDTH1   0x0b82  0x0b83  0x0b85 - 0x0b8a  0x0b8e - 0x0b90  0x0b92 - 0x0b95
SWIDTH1   0x0b99  0x0b9a  0x0b9c  0x0b9e  0x0b9f  0x0ba3  0x0ba4
SWIDTH1   0x0ba8 - 0x0baa  0x0bae - 0x0bb5  0x0bb7 - 0x0bb9  0x0bbe - 0x0bc2
SWIDTH1   0x0bc6 - 0x0bc8  0x0bca - 0x0bcd  0x0bd7  0x0be7 - 0x0bf2

TODIGIT   < 0x0be7 - 0x0bef : 0x0001 >


/*
 * U+0C00 - U+0C7F : Telugu
 */

DIGIT     0x0c66 - 0x0c6f
GRAPH     0x0c01 - 0x0c03  0x0c05 - 0x0c0c  0x0c0e - 0x0c10  0x0c12 - 0x0c28
GRAPH     0x0c2a - 0x0c33  0x0c35 - 0x0c39  0x0c3e - 0x0c44  0x0c46 - 0x0c48
GRAPH     0x0c4a - 0x0c4d  0x0c55  0x0c56  0x0c60  0x0c61  0x0c66 - 0x0c6f
PRINT     0x0c01 - 0x0c03  0x0c05 - 0x0c0c  0x0c0e - 0x0c10  0x0c12 - 0x0c28
PRINT     0x0c2a - 0x0c33  0x0c35 - 0x0c39  0x0c3e - 0x0c44  0x0c46 - 0x0c48
PRINT     0x0c4a - 0x0c4d  0x0c55  0x0c56  0x0c60  0x0c61  0x0c66 - 0x0c6f
SWIDTH1   0x0c01 - 0x0c03  0x0c05 - 0x0c0c  0x0c0e - 0x0c10  0x0c12 - 0x0c28
SWIDTH1   0x0c2a - 0x0c33  0x0c35 - 0x0c39  0x0c3e - 0x0c44  0x0c46 - 0x0c48
SWIDTH1   0x0c4a - 0x0c4d  0x0c55  0x0c56  0x0c60  0x0c61  0x0c66 - 0x0c6f

TODIGIT   < 0x0c66 - 0x0c6f : 0x0000 >


/*
 * U+0C80 - U+0CFF : Kannada
 */

DIGIT     0x0ce6 - 0x0cef
GRAPH     0x0c82  0x0c83  0x0c85 - 0x0c8c  0x0c8e - 0x0c90  0x0c92 - 0x0ca8
GRAPH     0x0caa - 0x0cb3  0x0cb5 - 0x0cb9  0x0cbe - 0x0cc4  0x0cc6 - 0x0cc8
GRAPH     0x0cca - 0x0ccd  0x0cd5  0x0cd6  0x0cde  0x0ce0  0x0ce1
GRAPH     0x0ce6 - 0x0cef
PRINT     0x0c82  0x0c83  0x0c85 - 0x0c8c  0x0c8e - 0x0c90  0x0c92 - 0x0ca8
PRINT     0x0caa - 0x0cb3  0x0cb5 - 0x0cb9  0x0cbe - 0x0cc4  0x0cc6 - 0x0cc8
PRINT     0x0cca - 0x0ccd  0x0cd5  0x0cd6  0x0cde  0x0ce0  0x0ce1
PRINT     0x0ce6 - 0x0cef
SWIDTH1   0x0c82  0x0c83  0x0c85 - 0x0c8c  0x0c8e - 0x0c90  0x0c92 - 0x0ca8
SWIDTH1   0x0caa - 0x0cb3  0x0cb5 - 0x0cb9  0x0cbe - 0x0cc4  0x0cc6 - 0x0cc8
SWIDTH1   0x0cca - 0x0ccd  0x0cd5  0x0cd6  0x0cde  0x0ce0  0x0ce1
SWIDTH1   0x0ce6 - 0x0cef

TODIGIT   < 0x0ce6 - 0x0cef : 0x0000 >


/*
 * U+0D00 - U+0D7F : Malayalam
 */

DIGIT     0x0d66 - 0x0d6f
GRAPH     0x0d02  0x0d03  0x0d05 - 0x0d0c  0x0d0e - 0x0d10  0x0d12 - 0x0d28
GRAPH     0x0d2a - 0x0d39  0x0d3e - 0x0d43  0x0d46 - 0x0d48  0x0d4a - 0x0d4d
GRAPH     0x0d57  0x0d60  0x0d61  0x0d66 - 0x0d6f
PRINT     0x0d02  0x0d03  0x0d05 - 0x0d0c  0x0d0e - 0x0d10  0x0d12 - 0x0d28
PRINT     0x0d2a - 0x0d39  0x0d3e - 0x0d43  0x0d46 - 0x0d48  0x0d4a - 0x0d4d
PRINT     0x0d57  0x0d60  0x0d61  0x0d66 - 0x0d6f
SWIDTH1   0x0d02  0x0d03  0x0d05 - 0x0d0c  0x0d0e - 0x0d10  0x0d12 - 0x0d28
SWIDTH1   0x0d2a - 0x0d39  0x0d3e - 0x0d43  0x0d46 - 0x0d48  0x0d4a - 0x0d4d
SWIDTH1   0x0d57  0x0d60  0x0d61  0x0d66 - 0x0d6f

TODIGIT   < 0x0d66 - 0x0d6f : 0x0000 >


/*
 * U+0D80 - U+0DFF : Sinhala
 */

GRAPH     0x0d82  0x0d83  0x0d85 - 0x0d96  0x0d9a - 0x0db1  0x0db3 - 0x0dbb
GRAPH     0x0dbd  0x0dc0 - 0x0dc6  0x0dca  0x0dcf - 0x0dd4  0x0dd6
GRAPH     0x0dd8 - 0x0ddf  0x0df2 - 0x0df4
PUNCT     0x0df4
PRINT     0x0d82  0x0d83  0x0d85 - 0x0d96  0x0d9a - 0x0db1  0x0db3 - 0x0dbb
PRINT     0x0dbd  0x0dc0 - 0x0dc6  0x0dca  0x0dcf - 0x0dd4  0x0dd6
PRINT     0x0dd8 - 0x0ddf  0x0df2 - 0x0df4
SWIDTH1   0x0d82  0x0d83  0x0d85 - 0x0d96  0x0d9a - 0x0db1  0x0db3 - 0x0dbb
SWIDTH1   0x0dbd  0x0dc0 - 0x0dc6  0x0dca  0x0dcf - 0x0dd4  0x0dd6
SWIDTH1   0x0dd8 - 0x0ddf  0x0df2 - 0x0df4


/*
 * U+0E00 - U+0E7F : Thai
 */

DIGIT     0x0e50 - 0x0e59
GRAPH     0x0e01 - 0x0e3a  0x0e3f - 0x0e5b
PUNCT     0x0e3f  0x0e4f  0x0e5a  0x0e5b
PRINT     0x0e01 - 0x0e3a  0x0e3f - 0x0e5b
SWIDTH1   0x0e01 - 0x0e3a  0x0e3f - 0x0e5b

TODIGIT   < 0x0e50 - 0x0e59 : 0x0000 >


/*
 * U+0E80 - U+0EFF : Lao
 */

DIGIT     0x0ed0 - 0x0ed9
GRAPH     0x0e81  0x0e82  0x0e84  0x0e87  0x0e88  0x0e8a  0x0e8d
GRAPH     0x0e94 - 0x0e97  0x0e99 - 0x0e9f  0x0ea1 - 0x0ea3  0x0ea5
GRAPH     0x0ea7  0x0eaa  0x0eab  0x0ead - 0x0eb9  0x0ebb - 0x0ebd
GRAPH     0x0ec0 - 0x0ec4  0x0ec6  0x0ec8 - 0x0ecd  0x0ed0 - 0x0ed9
GRAPH     0x0edc  0x0edd
PRINT     0x0e81  0x0e82  0x0e84  0x0e87  0x0e88  0x0e8a  0x0e8d
PRINT     0x0e94 - 0x0e97  0x0e99 - 0x0e9f  0x0ea1 - 0x0ea3  0x0ea5
PRINT     0x0ea7  0x0eaa  0x0eab  0x0ead - 0x0eb9  0x0ebb - 0x0ebd
PRINT     0x0ec0 - 0x0ec4  0x0ec6  0x0ec8 - 0x0ecd  0x0ed0 - 0x0ed9
PRINT     0x0edc  0x0edd
SWIDTH1   0x0e81  0x0e82  0x0e84  0x0e87  0x0e88  0x0e8a  0x0e8d
SWIDTH1   0x0e94 - 0x0e97  0x0e99 - 0x0e9f  0x0ea1 - 0x0ea3  0x0ea5
SWIDTH1   0x0ea7  0x0eaa  0x0eab  0x0ead - 0x0eb9  0x0ebb - 0x0ebd
SWIDTH1   0x0ec0 - 0x0ec4  0x0ec6  0x0ec8 - 0x0ecd  0x0ed0 - 0x0ed9
SWIDTH1   0x0edc  0x0edd

TODIGIT   < 0x0ed0 - 0x0ed9 : 0x0000 >


/*
 * U+0F00 - U+0FFF : Tibetan
 */

DIGIT     0x0f20 - 0x0f29
GRAPH     0x0f00 - 0x0f47  0x0f49 - 0x0f6a  0x0f71 - 0x0f8b  0x0f90 - 0x0f97
GRAPH     0x0f99 - 0x0fbc  0x0fbe - 0x0fcc  0x0fcf
PUNCT     0x0f01 - 0x0f17  0x0f1a - 0x0f1f  0x0f34  0x0f36  0x0f38
PUNCT     0x0f3a - 0x0f3d  0x0f85  0x0fbe - 0x0fc5  0x0fc7 - 0x0fcc
PUNCT     0x0fcf
PRINT     0x0f00 - 0x0f47  0x0f49 - 0x0f6a  0x0f71 - 0x0f8b  0x0f90 - 0x0f97
PRINT     0x0f99 - 0x0fbc  0x0fbe - 0x0fcc  0x0fcf
SPECIAL   0x0f2a - 0x0f33
PHONOGRAM 0x0f00
SWIDTH1   0x0f00 - 0x0f47  0x0f49 - 0x0f6a  0x0f71 - 0x0f8b  0x0f90 - 0x0f97
SWIDTH1   0x0f99 - 0x0fbc  0x0fbe - 0x0fcc  0x0fcf

TODIGIT   < 0x0f20 - 0x0f29 : 0x0000 >


/*
 * U+1000 - U+109F : Myanmar
 */

DIGIT     0x1040 - 0x1049
GRAPH     0x1000 - 0x1021  0x1023 - 0x1027  0x1029  0x102a  0x102c - 0x1032
GRAPH     0x1036 - 0x1039  0x1040 - 0x1059
PUNCT     0x104a - 0x104f
PRINT     0x1000 - 0x1021  0x1023 - 0x1027  0x1029  0x102a  0x102c - 0x1032
PRINT     0x1036 - 0x1039  0x1040 - 0x1059
SWIDTH1   0x1000 - 0x1021  0x1023 - 0x1027  0x1029  0x102a  0x102c - 0x1032
SWIDTH1   0x1036 - 0x1039  0x1040 - 0x1059

TODIGIT   < 0x1040 - 0x1049 : 0x0000 >


/*
 * U+10A0 - U+10FF : Georgian
 */

ALPHA     0x10a0 - 0x10c5
GRAPH     0x10a0 - 0x10c5  0x10d0 - 0x10f8  0x10fb
PUNCT     0x10fb
UPPER     0x10a0 - 0x10c5
PRINT     0x10a0 - 0x10c5  0x10d0 - 0x10f8  0x10fb
SWIDTH1   0x10a0 - 0x10c5  0x10d0 - 0x10f8  0x10fb


/*
 * U+1100 - U+11FF : Hangul Jamo
 */

GRAPH     0x1100 - 0x1159  0x115f - 0x11a2  0x11a8 - 0x11f9
PRINT     0x1100 - 0x1159  0x115f - 0x11a2  0x11a8 - 0x11f9
SWIDTH1   0x1160 - 0x11a2  0x11a8 - 0x11f9
SWIDTH2   0x1100 - 0x1159  0x115f


/*
 * U+1200 - U+137F : Ethiopic
 */

DIGIT     0x1369 - 0x1371
GRAPH     0x1200 - 0x1206  0x1208 - 0x1246  0x1248  0x124a - 0x124d
GRAPH     0x1250 - 0x1256  0x1258  0x125a - 0x125d  0x1260 - 0x1286
GRAPH     0x1288  0x128a - 0x128d  0x1290 - 0x12ae  0x12b0  0x12b2 - 0x12b5
GRAPH     0x12b8 - 0x12be  0x12c0  0x12c2 - 0x12c5  0x12c8 - 0x12ce
GRAPH     0x12d0 - 0x12d6  0x12d8 - 0x12ee  0x12f0 - 0x130e  0x1310
GRAPH     0x1312 - 0x1315  0x1318 - 0x131e  0x1320 - 0x1346  0x1348 - 0x135a
GRAPH     0x1361 - 0x137c
PUNCT     0x1361 - 0x1368
PRINT     0x1200 - 0x1206  0x1208 - 0x1246  0x1248  0x124a - 0x124d
PRINT     0x1250 - 0x1256  0x1258  0x125a - 0x125d  0x1260 - 0x1286
PRINT     0x1288  0x128a - 0x128d  0x1290 - 0x12ae  0x12b0  0x12b2 - 0x12b5
PRINT     0x12b8 - 0x12be  0x12c0  0x12c2 - 0x12c5  0x12c8 - 0x12ce
PRINT     0x12d0 - 0x12d6  0x12d8 - 0x12ee  0x12f0 - 0x130e  0x1310
PRINT     0x1312 - 0x1315  0x1318 - 0x131e  0x1320 - 0x1346  0x1348 - 0x135a
PRINT     0x1361 - 0x137c
SPECIAL   0x1372 - 0x137c
PHONOGRAM 0x1200 - 0x1206  0x1208 - 0x1246  0x1248  0x124a - 0x124d
PHONOGRAM 0x1250 - 0x1256  0x1258  0x125a - 0x125d  0x1260 - 0x1286
PHONOGRAM 0x1288  0x128a - 0x128d  0x1290 - 0x12ae  0x12b0  0x12b2 - 0x12b5
PHONOGRAM 0x12b8 - 0x12be  0x12c0  0x12c2 - 0x12c5  0x12c8 - 0x12ce
PHONOGRAM 0x12d0 - 0x12d6  0x12d8 - 0x12ee  0x12f0 - 0x130e  0x1310
PHONOGRAM 0x1312 - 0x1315  0x1318 - 0x131e  0x1320 - 0x1346  0x1348 - 0x135a
SWIDTH1   0x1200 - 0x1206  0x1208 - 0x1246  0x1248  0x124a - 0x124d
SWIDTH1   0x1250 - 0x1256  0x1258  0x125a - 0x125d  0x1260 - 0x1286
SWIDTH1   0x1288  0x128a - 0x128d  0x1290 - 0x12ae  0x12b0  0x12b2 - 0x12b5
SWIDTH1   0x12b8 - 0x12be  0x12c0  0x12c2 - 0x12c5  0x12c8 - 0x12ce
SWIDTH1   0x12d0 - 0x12d6  0x12d8 - 0x12ee  0x12f0 - 0x130e  0x1310
SWIDTH1   0x1312 - 0x1315  0x1318 - 0x131e  0x1320 - 0x1346  0x1348 - 0x135a
SWIDTH1   0x1361 - 0x137c

TODIGIT   < 0x1369 - 0x1371 : 0x0001 >


/*
 * U+13A0 - U+13FF : Cherokee
 */

GRAPH     0x13a0 - 0x13f4
PRINT     0x13a0 - 0x13f4
SWIDTH1   0x13a0 - 0x13f4


/*
 * U+1400 - U+167F : Unified Canadian Aboriginal Syllabics
 */

GRAPH     0x1401 - 0x1676
PUNCT     0x166d  0x166e
PRINT     0x1401 - 0x1676
PHONOGRAM 0x1401 - 0x166c  0x166f - 0x1676
SWIDTH1   0x1401 - 0x1676


/*
 * U+1680 - U+169F : Ogham
 */

GRAPH     0x1681 - 0x169c
PUNCT     0x169b  0x169c
SPACE     0x1680
BLANK     0x1680
PRINT     0x1680 - 0x169c
SWIDTH1   0x1680 - 0x169c


/*
 * U+16A0 - U+16FF : Runic
 */

GRAPH     0x16a0 - 0x16f0
PUNCT     0x16eb - 0x16ed
PRINT     0x16a0 - 0x16f0
SPECIAL   0x16ee - 0x16f0
SWIDTH1   0x16a0 - 0x16f0


/*
 * U+1700 - U+171F : Tagalog
 */

GRAPH     0x1700 - 0x170c  0x170e - 0x1714
PRINT     0x1700 - 0x170c  0x170e - 0x1714
SWIDTH1   0x1700 - 0x170c  0x170e - 0x1714


/*
 * U+1720 - U+173F : Hanunoo
 */

GRAPH     0x1720 - 0x1736
PUNCT     0x1735  0x1736
PRINT     0x1720 - 0x1736
SWIDTH1   0x1720 - 0x1736


/*
 * U+1740 - U+175F : Buhid
 */

GRAPH     0x1740 - 0x1753
PRINT     0x1740 - 0x1753
SWIDTH1   0x1740 - 0x1753


/*
 * U+1760 - U+177F : Tagbanwa
 */

GRAPH     0x1760 - 0x176c  0x176e - 0x1770  0x1772  0x1773
PRINT     0x1760 - 0x176c  0x176e - 0x1770  0x1772  0x1773
SWIDTH1   0x1760 - 0x176c  0x176e - 0x1770  0x1772  0x1773


/*
 * U+1780 - U+17FF : Khmer
 */

DIGIT     0x17e0 - 0x17e9
GRAPH     0x1780 - 0x17dc  0x17e0 - 0x17e9
PUNCT     0x17d4 - 0x17d6  0x17d8 - 0x17db
PRINT     0x1780 - 0x17dc  0x17e0 - 0x17e9
SWIDTH1   0x1780 - 0x17dc  0x17e0 - 0x17e9

TODIGIT   < 0x17e0 - 0x17e9 : 0x0000 >


/*
 * U+1800 - U+18AF : Mongolian
 */

CONTROL   0x180e
DIGIT     0x1810 - 0x1819
GRAPH     0x1800 - 0x180d  0x1810 - 0x1819  0x1820 - 0x1877  0x1880 - 0x18a9
PUNCT     0x1800 - 0x180a
PRINT     0x1800 - 0x180d  0x1810 - 0x1819  0x1820 - 0x1877  0x1880 - 0x18a9
SWIDTH1   0x1800 - 0x180d  0x1810 - 0x1819  0x1820 - 0x1877  0x1880 - 0x18a9

TODIGIT   < 0x1810 - 0x1819 : 0x0000 >


/*
 * U+1E00 - U+1EFF : Latin Extended Additional
 */

ALPHA     0x1e00 - 0x1e9b  0x1ea0 - 0x1ef9
GRAPH     0x1e00 - 0x1e9b  0x1ea0 - 0x1ef9
LOWER     0x1e01  0x1e03  0x1e05  0x1e07  0x1e09  0x1e0b  0x1e0d
LOWER     0x1e0f  0x1e11  0x1e13  0x1e15  0x1e17  0x1e19  0x1e1b
LOWER     0x1e1d  0x1e1f  0x1e21  0x1e23  0x1e25  0x1e27  0x1e29
LOWER     0x1e2b  0x1e2d  0x1e2f  0x1e31  0x1e33  0x1e35  0x1e37
LOWER     0x1e39  0x1e3b  0x1e3d  0x1e3f  0x1e41  0x1e43  0x1e45
LOWER     0x1e47  0x1e49  0x1e4b  0x1e4d  0x1e4f  0x1e51  0x1e53
LOWER     0x1e55  0x1e57  0x1e59  0x1e5b  0x1e5d  0x1e5f  0x1e61
LOWER     0x1e63  0x1e65  0x1e67  0x1e69  0x1e6b  0x1e6d  0x1e6f
LOWER     0x1e71  0x1e73  0x1e75  0x1e77  0x1e79  0x1e7b  0x1e7d
LOWER     0x1e7f  0x1e81  0x1e83  0x1e85  0x1e87  0x1e89  0x1e8b
LOWER     0x1e8d  0x1e8f  0x1e91  0x1e93  0x1e95 - 0x1e9b  0x1ea1
LOWER     0x1ea3  0x1ea5  0x1ea7  0x1ea9  0x1eab  0x1ead  0x1eaf
LOWER     0x1eb1  0x1eb3  0x1eb5  0x1eb7  0x1eb9  0x1ebb  0x1ebd
LOWER     0x1ebf  0x1ec1  0x1ec3  0x1ec5  0x1ec7  0x1ec9  0x1ecb
LOWER     0x1ecd  0x1ecf  0x1ed1  0x1ed3  0x1ed5  0x1ed7  0x1ed9
LOWER     0x1edb  0x1edd  0x1edf  0x1ee1  0x1ee3  0x1ee5  0x1ee7
LOWER     0x1ee9  0x1eeb  0x1eed  0x1eef  0x1ef1  0x1ef3  0x1ef5
LOWER     0x1ef7  0x1ef9
UPPER     0x1e00  0x1e02  0x1e04  0x1e06  0x1e08  0x1e0a  0x1e0c
UPPER     0x1e0e  0x1e10  0x1e12  0x1e14  0x1e16  0x1e18  0x1e1a
UPPER     0x1e1c  0x1e1e  0x1e20  0x1e22  0x1e24  0x1e26  0x1e28
UPPER     0x1e2a  0x1e2c  0x1e2e  0x1e30  0x1e32  0x1e34  0x1e36
UPPER     0x1e38  0x1e3a  0x1e3c  0x1e3e  0x1e40  0x1e42  0x1e44
UPPER     0x1e46  0x1e48  0x1e4a  0x1e4c  0x1e4e  0x1e50  0x1e52
UPPER     0x1e54  0x1e56  0x1e58  0x1e5a  0x1e5c  0x1e5e  0x1e60
UPPER     0x1e62  0x1e64  0x1e66  0x1e68  0x1e6a  0x1e6c  0x1e6e
UPPER     0x1e70  0x1e72  0x1e74  0x1e76  0x1e78  0x1e7a  0x1e7c
UPPER     0x1e7e  0x1e80  0x1e82  0x1e84  0x1e86  0x1e88  0x1e8a
UPPER     0x1e8c  0x1e8e  0x1e90  0x1e92  0x1e94  0x1ea0  0x1ea2
UPPER     0x1ea4  0x1ea6  0x1ea8  0x1eaa  0x1eac  0x1eae  0x1eb0
UPPER     0x1eb2  0x1eb4  0x1eb6  0x1eb8  0x1eba  0x1ebc  0x1ebe
UPPER     0x1ec0  0x1ec2  0x1ec4  0x1ec6  0x1ec8  0x1eca  0x1ecc
UPPER     0x1ece  0x1ed0  0x1ed2  0x1ed4  0x1ed6  0x1ed8  0x1eda
UPPER     0x1edc  0x1ede  0x1ee0  0x1ee2  0x1ee4  0x1ee6  0x1ee8
UPPER     0x1eea  0x1eec  0x1eee  0x1ef0  0x1ef2  0x1ef4  0x1ef6
UPPER     0x1ef8
PRINT     0x1e00 - 0x1e9b  0x1ea0 - 0x1ef9
SWIDTH1   0x1e00 - 0x1e9b  0x1ea0 - 0x1ef9

MAPUPPER  < 0x1e01 0x1e00 >
MAPUPPER  < 0x1e03 0x1e02 >
MAPUPPER  < 0x1e05 0x1e04 >
MAPUPPER  < 0x1e07 0x1e06 >
MAPUPPER  < 0x1e09 0x1e08 >
MAPUPPER  < 0x1e0b 0x1e0a >
MAPUPPER  < 0x1e0d 0x1e0c >
MAPUPPER  < 0x1e0f 0x1e0e >
MAPUPPER  < 0x1e11 0x1e10 >
MAPUPPER  < 0x1e13 0x1e12 >
MAPUPPER  < 0x1e15 0x1e14 >
MAPUPPER  < 0x1e17 0x1e16 >
MAPUPPER  < 0x1e19 0x1e18 >
MAPUPPER  < 0x1e1b 0x1e1a >
MAPUPPER  < 0x1e1d 0x1e1c >
MAPUPPER  < 0x1e1f 0x1e1e >
MAPUPPER  < 0x1e21 0x1e20 >
MAPUPPER  < 0x1e23 0x1e22 >
MAPUPPER  < 0x1e25 0x1e24 >
MAPUPPER  < 0x1e27 0x1e26 >
MAPUPPER  < 0x1e29 0x1e28 >
MAPUPPER  < 0x1e2b 0x1e2a >
MAPUPPER  < 0x1e2d 0x1e2c >
MAPUPPER  < 0x1e2f 0x1e2e >
MAPUPPER  < 0x1e31 0x1e30 >
MAPUPPER  < 0x1e33 0x1e32 >
MAPUPPER  < 0x1e35 0x1e34 >
MAPUPPER  < 0x1e37 0x1e36 >
MAPUPPER  < 0x1e39 0x1e38 >
MAPUPPER  < 0x1e3b 0x1e3a >
MAPUPPER  < 0x1e3d 0x1e3c >
MAPUPPER  < 0x1e3f 0x1e3e >
MAPUPPER  < 0x1e41 0x1e40 >
MAPUPPER  < 0x1e43 0x1e42 >
MAPUPPER  < 0x1e45 0x1e44 >
MAPUPPER  < 0x1e47 0x1e46 >
MAPUPPER  < 0x1e49 0x1e48 >
MAPUPPER  < 0x1e4b 0x1e4a >
MAPUPPER  < 0x1e4d 0x1e4c >
MAPUPPER  < 0x1e4f 0x1e4e >
MAPUPPER  < 0x1e51 0x1e50 >
MAPUPPER  < 0x1e53 0x1e52 >
MAPUPPER  < 0x1e55 0x1e54 >
MAPUPPER  < 0x1e57 0x1e56 >
MAPUPPER  < 0x1e59 0x1e58 >
MAPUPPER  < 0x1e5b 0x1e5a >
MAPUPPER  < 0x1e5d 0x1e5c >
MAPUPPER  < 0x1e5f 0x1e5e >
MAPUPPER  < 0x1e61 0x1e60 >
MAPUPPER  < 0x1e63 0x1e62 >
MAPUPPER  < 0x1e65 0x1e64 >
MAPUPPER  < 0x1e67 0x1e66 >
MAPUPPER  < 0x1e69 0x1e68 >
MAPUPPER  < 0x1e6b 0x1e6a >
MAPUPPER  < 0x1e6d 0x1e6c >
MAPUPPER  < 0x1e6f 0x1e6e >
MAPUPPER  < 0x1e71 0x1e70 >
MAPUPPER  < 0x1e73 0x1e72 >
MAPUPPER  < 0x1e75 0x1e74 >
MAPUPPER  < 0x1e77 0x1e76 >
MAPUPPER  < 0x1e79 0x1e78 >
MAPUPPER  < 0x1e7b 0x1e7a >
MAPUPPER  < 0x1e7d 0x1e7c >
MAPUPPER  < 0x1e7f 0x1e7e >
MAPUPPER  < 0x1e81 0x1e80 >
MAPUPPER  < 0x1e83 0x1e82 >
MAPUPPER  < 0x1e85 0x1e84 >
MAPUPPER  < 0x1e87 0x1e86 >
MAPUPPER  < 0x1e89 0x1e88 >
MAPUPPER  < 0x1e8b 0x1e8a >
MAPUPPER  < 0x1e8d 0x1e8c >
MAPUPPER  < 0x1e8f 0x1e8e >
MAPUPPER  < 0x1e91 0x1e90 >
MAPUPPER  < 0x1e93 0x1e92 >
MAPUPPER  < 0x1e95 0x1e94 >
MAPUPPER  < 0x1e9b 0x1e60 >
MAPUPPER  < 0x1ea1 0x1ea0 >
MAPUPPER  < 0x1ea3 0x1ea2 >
MAPUPPER  < 0x1ea5 0x1ea4 >
MAPUPPER  < 0x1ea7 0x1ea6 >
MAPUPPER  < 0x1ea9 0x1ea8 >
MAPUPPER  < 0x1eab 0x1eaa >
MAPUPPER  < 0x1ead 0x1eac >
MAPUPPER  < 0x1eaf 0x1eae >
MAPUPPER  < 0x1eb1 0x1eb0 >
MAPUPPER  < 0x1eb3 0x1eb2 >
MAPUPPER  < 0x1eb5 0x1eb4 >
MAPUPPER  < 0x1eb7 0x1eb6 >
MAPUPPER  < 0x1eb9 0x1eb8 >
MAPUPPER  < 0x1ebb 0x1eba >
MAPUPPER  < 0x1ebd 0x1ebc >
MAPUPPER  < 0x1ebf 0x1ebe >
MAPUPPER  < 0x1ec1 0x1ec0 >
MAPUPPER  < 0x1ec3 0x1ec2 >
MAPUPPER  < 0x1ec5 0x1ec4 >
MAPUPPER  < 0x1ec7 0x1ec6 >
MAPUPPER  < 0x1ec9 0x1ec8 >
MAPUPPER  < 0x1ecb 0x1eca >
MAPUPPER  < 0x1ecd 0x1ecc >
MAPUPPER  < 0x1ecf 0x1ece >
MAPUPPER  < 0x1ed1 0x1ed0 >
MAPUPPER  < 0x1ed3 0x1ed2 >
MAPUPPER  < 0x1ed5 0x1ed4 >
MAPUPPER  < 0x1ed7 0x1ed6 >
MAPUPPER  < 0x1ed9 0x1ed8 >
MAPUPPER  < 0x1edb 0x1eda >
MAPUPPER  < 0x1edd 0x1edc >
MAPUPPER  < 0x1edf 0x1ede >
MAPUPPER  < 0x1ee1 0x1ee0 >
MAPUPPER  < 0x1ee3 0x1ee2 >
MAPUPPER  < 0x1ee5 0x1ee4 >
MAPUPPER  < 0x1ee7 0x1ee6 >
MAPUPPER  < 0x1ee9 0x1ee8 >
MAPUPPER  < 0x1eeb 0x1eea >
MAPUPPER  < 0x1eed 0x1eec >
MAPUPPER  < 0x1eef 0x1eee >
MAPUPPER  < 0x1ef1 0x1ef0 >
MAPUPPER  < 0x1ef3 0x1ef2 >
MAPUPPER  < 0x1ef5 0x1ef4 >
MAPUPPER  < 0x1ef7 0x1ef6 >
MAPUPPER  < 0x1ef9 0x1ef8 >
MAPLOWER  < 0x1e00 0x1e01 >
MAPLOWER  < 0x1e02 0x1e03 >
MAPLOWER  < 0x1e04 0x1e05 >
MAPLOWER  < 0x1e06 0x1e07 >
MAPLOWER  < 0x1e08 0x1e09 >
MAPLOWER  < 0x1e0a 0x1e0b >
MAPLOWER  < 0x1e0c 0x1e0d >
MAPLOWER  < 0x1e0e 0x1e0f >
MAPLOWER  < 0x1e10 0x1e11 >
MAPLOWER  < 0x1e12 0x1e13 >
MAPLOWER  < 0x1e14 0x1e15 >
MAPLOWER  < 0x1e16 0x1e17 >
MAPLOWER  < 0x1e18 0x1e19 >
MAPLOWER  < 0x1e1a 0x1e1b >
MAPLOWER  < 0x1e1c 0x1e1d >
MAPLOWER  < 0x1e1e 0x1e1f >
MAPLOWER  < 0x1e20 0x1e21 >
MAPLOWER  < 0x1e22 0x1e23 >
MAPLOWER  < 0x1e24 0x1e25 >
MAPLOWER  < 0x1e26 0x1e27 >
MAPLOWER  < 0x1e28 0x1e29 >
MAPLOWER  < 0x1e2a 0x1e2b >
MAPLOWER  < 0x1e2c 0x1e2d >
MAPLOWER  < 0x1e2e 0x1e2f >
MAPLOWER  < 0x1e30 0x1e31 >
MAPLOWER  < 0x1e32 0x1e33 >
MAPLOWER  < 0x1e34 0x1e35 >
MAPLOWER  < 0x1e36 0x1e37 >
MAPLOWER  < 0x1e38 0x1e39 >
MAPLOWER  < 0x1e3a 0x1e3b >
MAPLOWER  < 0x1e3c 0x1e3d >
MAPLOWER  < 0x1e3e 0x1e3f >
MAPLOWER  < 0x1e40 0x1e41 >
MAPLOWER  < 0x1e42 0x1e43 >
MAPLOWER  < 0x1e44 0x1e45 >
MAPLOWER  < 0x1e46 0x1e47 >
MAPLOWER  < 0x1e48 0x1e49 >
MAPLOWER  < 0x1e4a 0x1e4b >
MAPLOWER  < 0x1e4c 0x1e4d >
MAPLOWER  < 0x1e4e 0x1e4f >
MAPLOWER  < 0x1e50 0x1e51 >
MAPLOWER  < 0x1e52 0x1e53 >
MAPLOWER  < 0x1e54 0x1e55 >
MAPLOWER  < 0x1e56 0x1e57 >
MAPLOWER  < 0x1e58 0x1e59 >
MAPLOWER  < 0x1e5a 0x1e5b >
MAPLOWER  < 0x1e5c 0x1e5d >
MAPLOWER  < 0x1e5e 0x1e5f >
MAPLOWER  < 0x1e60 0x1e61 >
MAPLOWER  < 0x1e62 0x1e63 >
MAPLOWER  < 0x1e64 0x1e65 >
MAPLOWER  < 0x1e66 0x1e67 >
MAPLOWER  < 0x1e68 0x1e69 >
MAPLOWER  < 0x1e6a 0x1e6b >
MAPLOWER  < 0x1e6c 0x1e6d >
MAPLOWER  < 0x1e6e 0x1e6f >
MAPLOWER  < 0x1e70 0x1e71 >
MAPLOWER  < 0x1e72 0x1e73 >
MAPLOWER  < 0x1e74 0x1e75 >
MAPLOWER  < 0x1e76 0x1e77 >
MAPLOWER  < 0x1e78 0x1e79 >
MAPLOWER  < 0x1e7a 0x1e7b >
MAPLOWER  < 0x1e7c 0x1e7d >
MAPLOWER  < 0x1e7e 0x1e7f >
MAPLOWER  < 0x1e80 0x1e81 >
MAPLOWER  < 0x1e82 0x1e83 >
MAPLOWER  < 0x1e84 0x1e85 >
MAPLOWER  < 0x1e86 0x1e87 >
MAPLOWER  < 0x1e88 0x1e89 >
MAPLOWER  < 0x1e8a 0x1e8b >
MAPLOWER  < 0x1e8c 0x1e8d >
MAPLOWER  < 0x1e8e 0x1e8f >
MAPLOWER  < 0x1e90 0x1e91 >
MAPLOWER  < 0x1e92 0x1e93 >
MAPLOWER  < 0x1e94 0x1e95 >
MAPLOWER  < 0x1ea0 0x1ea1 >
MAPLOWER  < 0x1ea2 0x1ea3 >
MAPLOWER  < 0x1ea4 0x1ea5 >
MAPLOWER  < 0x1ea6 0x1ea7 >
MAPLOWER  < 0x1ea8 0x1ea9 >
MAPLOWER  < 0x1eaa 0x1eab >
MAPLOWER  < 0x1eac 0x1ead >
MAPLOWER  < 0x1eae 0x1eaf >
MAPLOWER  < 0x1eb0 0x1eb1 >
MAPLOWER  < 0x1eb2 0x1eb3 >
MAPLOWER  < 0x1eb4 0x1eb5 >
MAPLOWER  < 0x1eb6 0x1eb7 >
MAPLOWER  < 0x1eb8 0x1eb9 >
MAPLOWER  < 0x1eba 0x1ebb >
MAPLOWER  < 0x1ebc 0x1ebd >
MAPLOWER  < 0x1ebe 0x1ebf >
MAPLOWER  < 0x1ec0 0x1ec1 >
MAPLOWER  < 0x1ec2 0x1ec3 >
MAPLOWER  < 0x1ec4 0x1ec5 >
MAPLOWER  < 0x1ec6 0x1ec7 >
MAPLOWER  < 0x1ec8 0x1ec9 >
MAPLOWER  < 0x1eca 0x1ecb >
MAPLOWER  < 0x1ecc 0x1ecd >
MAPLOWER  < 0x1ece 0x1ecf >
MAPLOWER  < 0x1ed0 0x1ed1 >
MAPLOWER  < 0x1ed2 0x1ed3 >
MAPLOWER  < 0x1ed4 0x1ed5 >
MAPLOWER  < 0x1ed6 0x1ed7 >
MAPLOWER  < 0x1ed8 0x1ed9 >
MAPLOWER  < 0x1eda 0x1edb >
MAPLOWER  < 0x1edc 0x1edd >
MAPLOWER  < 0x1ede 0x1edf >
MAPLOWER  < 0x1ee0 0x1ee1 >
MAPLOWER  < 0x1ee2 0x1ee3 >
MAPLOWER  < 0x1ee4 0x1ee5 >
MAPLOWER  < 0x1ee6 0x1ee7 >
MAPLOWER  < 0x1ee8 0x1ee9 >
MAPLOWER  < 0x1eea 0x1eeb >
MAPLOWER  < 0x1eec 0x1eed >
MAPLOWER  < 0x1eee 0x1eef >
MAPLOWER  < 0x1ef0 0x1ef1 >
MAPLOWER  < 0x1ef2 0x1ef3 >
MAPLOWER  < 0x1ef4 0x1ef5 >
MAPLOWER  < 0x1ef6 0x1ef7 >
MAPLOWER  < 0x1ef8 0x1ef9 >


/*
 * U+1F00 - U+1FFF : Greek Extended
 */

ALPHA     0x1f00 - 0x1f15  0x1f18 - 0x1f1d  0x1f20 - 0x1f45  0x1f48 - 0x1f4d
ALPHA     0x1f50 - 0x1f57  0x1f59  0x1f5b  0x1f5d  0x1f5f - 0x1f7d
ALPHA     0x1f80 - 0x1fb4  0x1fb6 - 0x1fbc  0x1fbe  0x1fc2 - 0x1fc4
ALPHA     0x1fc6 - 0x1fcc  0x1fd0 - 0x1fd3  0x1fd6 - 0x1fdb  0x1fe0 - 0x1fec
ALPHA     0x1ff2 - 0x1ff4  0x1ff6 - 0x1ffc
GRAPH     0x1f00 - 0x1f15  0x1f18 - 0x1f1d  0x1f20 - 0x1f45  0x1f48 - 0x1f4d
GRAPH     0x1f50 - 0x1f57  0x1f59  0x1f5b  0x1f5d  0x1f5f - 0x1f7d
GRAPH     0x1f80 - 0x1fb4  0x1fb6 - 0x1fc4  0x1fc6 - 0x1fd3  0x1fd6 - 0x1fdb
GRAPH     0x1fdd - 0x1fef  0x1ff2 - 0x1ff4  0x1ff6 - 0x1ffe
LOWER     0x1f00 - 0x1f07  0x1f10 - 0x1f15  0x1f20 - 0x1f27  0x1f30 - 0x1f37
LOWER     0x1f40 - 0x1f45  0x1f50 - 0x1f57  0x1f60 - 0x1f67  0x1f70 - 0x1f7d
LOWER     0x1f80 - 0x1f87  0x1f90 - 0x1f97  0x1fa0 - 0x1fa7  0x1fb0 - 0x1fb4
LOWER     0x1fb6  0x1fb7  0x1fbe  0x1fc2 - 0x1fc4  0x1fc6  0x1fc7
LOWER     0x1fd0 - 0x1fd3  0x1fd6  0x1fd7  0x1fe0 - 0x1fe7  0x1ff2 - 0x1ff4
LOWER     0x1ff6  0x1ff7
PUNCT     0x1fbd  0x1fbf - 0x1fc1  0x1fcd - 0x1fcf  0x1fdd - 0x1fdf
PUNCT     0x1fed - 0x1fef  0x1ffd  0x1ffe
UPPER     0x1f08 - 0x1f0f  0x1f18 - 0x1f1d  0x1f28 - 0x1f2f  0x1f38 - 0x1f3f
UPPER     0x1f48 - 0x1f4d  0x1f59  0x1f5b  0x1f5d  0x1f5f  0x1f68 - 0x1f6f
UPPER     0x1fb8 - 0x1fbb  0x1fc8 - 0x1fcb  0x1fd8 - 0x1fdb  0x1fe8 - 0x1fec
UPPER     0x1ff8 - 0x1ffb
PRINT     0x1f00 - 0x1f15  0x1f18 - 0x1f1d  0x1f20 - 0x1f45  0x1f48 - 0x1f4d
PRINT     0x1f50 - 0x1f57  0x1f59  0x1f5b  0x1f5d  0x1f5f - 0x1f7d
PRINT     0x1f80 - 0x1fb4  0x1fb6 - 0x1fc4  0x1fc6 - 0x1fd3  0x1fd6 - 0x1fdb
PRINT     0x1fdd - 0x1fef  0x1ff2 - 0x1ff4  0x1ff6 - 0x1ffe
SWIDTH1   0x1f00 - 0x1f15  0x1f18 - 0x1f1d  0x1f20 - 0x1f45  0x1f48 - 0x1f4d
SWIDTH1   0x1f50 - 0x1f57  0x1f59  0x1f5b  0x1f5d  0x1f5f - 0x1f7d
SWIDTH1   0x1f80 - 0x1fb4  0x1fb6 - 0x1fc4  0x1fc6 - 0x1fd3  0x1fd6 - 0x1fdb
SWIDTH1   0x1fdd - 0x1fef  0x1ff2 - 0x1ff4  0x1ff6 - 0x1ffe

MAPUPPER  < 0x1f00 - 0x1f07 : 0x1f08 >
MAPUPPER  < 0x1f10 - 0x1f15 : 0x1f18 >
MAPUPPER  < 0x1f20 - 0x1f27 : 0x1f28 >
MAPUPPER  < 0x1f30 - 0x1f37 : 0x1f38 >
MAPUPPER  < 0x1f40 - 0x1f45 : 0x1f48 >
MAPUPPER  < 0x1f51 0x1f59 >
MAPUPPER  < 0x1f53 0x1f5b >
MAPUPPER  < 0x1f55 0x1f5d >
MAPUPPER  < 0x1f57 0x1f5f >
MAPUPPER  < 0x1f60 - 0x1f67 : 0x1f68 >
MAPUPPER  < 0x1f70 - 0x1f71 : 0x1fba >
MAPUPPER  < 0x1f72 - 0x1f75 : 0x1fc8 >
MAPUPPER  < 0x1f76 - 0x1f77 : 0x1fda >
MAPUPPER  < 0x1f78 - 0x1f79 : 0x1ff8 >
MAPUPPER  < 0x1f7a - 0x1f7b : 0x1fea >
MAPUPPER  < 0x1f7c - 0x1f7d : 0x1ffa >
MAPUPPER  < 0x1f80 - 0x1f87 : 0x1f88 >
MAPUPPER  < 0x1f90 - 0x1f97 : 0x1f98 >
MAPUPPER  < 0x1fa0 - 0x1fa7 : 0x1fa8 >
MAPUPPER  < 0x1fb0 - 0x1fb1 : 0x1fb8 >
MAPUPPER  < 0x1fb3 0x1fbc >
MAPUPPER  < 0x1fbe 0x0399 >
MAPUPPER  < 0x1fc3 0x1fcc >
MAPUPPER  < 0x1fd0 - 0x1fd1 : 0x1fd8 >
MAPUPPER  < 0x1fe0 - 0x1fe1 : 0x1fe8 >
MAPUPPER  < 0x1fe5 0x1fec >
MAPUPPER  < 0x1ff3 0x1ffc >
MAPLOWER  < 0x1f08 - 0x1f0f : 0x1f00 >
MAPLOWER  < 0x1f18 - 0x1f1d : 0x1f10 >
MAPLOWER  < 0x1f28 - 0x1f2f : 0x1f20 >
MAPLOWER  < 0x1f38 - 0x1f3f : 0x1f30 >
MAPLOWER  < 0x1f48 - 0x1f4d : 0x1f40 >
MAPLOWER  < 0x1f59 0x1f51 >
MAPLOWER  < 0x1f5b 0x1f53 >
MAPLOWER  < 0x1f5d 0x1f55 >
MAPLOWER  < 0x1f5f 0x1f57 >
MAPLOWER  < 0x1f68 - 0x1f6f : 0x1f60 >
MAPLOWER  < 0x1f88 - 0x1f8f : 0x1f80 >
MAPLOWER  < 0x1f98 - 0x1f9f : 0x1f90 >
MAPLOWER  < 0x1fa8 - 0x1faf : 0x1fa0 >
MAPLOWER  < 0x1fb8 - 0x1fb9 : 0x1fb0 >
MAPLOWER  < 0x1fba - 0x1fbb : 0x1f70 >
MAPLOWER  < 0x1fbc 0x1fb3 >
MAPLOWER  < 0x1fc8 - 0x1fcb : 0x1f72 >
MAPLOWER  < 0x1fcc 0x1fc3 >
MAPLOWER  < 0x1fd8 - 0x1fd9 : 0x1fd0 >
MAPLOWER  < 0x1fda - 0x1fdb : 0x1f76 >
MAPLOWER  < 0x1fe8 - 0x1fe9 : 0x1fe0 >
MAPLOWER  < 0x1fea - 0x1feb : 0x1f7a >
MAPLOWER  < 0x1fec 0x1fe5 >
MAPLOWER  < 0x1ff8 - 0x1ff9 : 0x1f78 >
MAPLOWER  < 0x1ffa - 0x1ffb : 0x1f7c >
MAPLOWER  < 0x1ffc 0x1ff3 >


/*
 * U+2000 - U+206F : General Punctuation
 */

CONTROL   0x200c - 0x200f  0x202a - 0x202e  0x2060 - 0x2063  0x206a - 0x206f
GRAPH     0x2010 - 0x2027  0x2030 - 0x2052  0x2057
PUNCT     0x2010 - 0x2027  0x2030 - 0x2052  0x2057
SPACE     0x2000 - 0x200b  0x2028  0x2029  0x202f  0x205f
BLANK     0x2000 - 0x200b  0x202f  0x205f
PRINT     0x2000 - 0x200b  0x2010 - 0x2029  0x202f - 0x2052  0x2057
PRINT     0x205f
SWIDTH1   0x2000 - 0x200b  0x2010 - 0x2029  0x202f - 0x2052  0x2057
SWIDTH1   0x205f


/*
 * U+2070 - U+209F : Superscripts and Subscripts
 */

ALPHA     0x2071  0x207f
GRAPH     0x2070  0x2071  0x2074 - 0x208e
LOWER     0x2071  0x207f
PUNCT     0x207a - 0x207e  0x208a - 0x208e
PRINT     0x2070  0x2071  0x2074 - 0x208e
SPECIAL   0x2070  0x2074 - 0x2079  0x2080 - 0x2089
SWIDTH1   0x2070  0x2071  0x2074 - 0x208e

TODIGIT   < 0x2070 0x0000 >
TODIGIT   < 0x2074 - 0x2079 : 0x0004 >
TODIGIT   < 0x2080 - 0x2089 : 0x0000 >


/*
 * U+20A0 - U+20CF : Currency Symbols
 */

GRAPH     0x20a0 - 0x20b1
PUNCT     0x20a0 - 0x20b1
PRINT     0x20a0 - 0x20b1
SWIDTH1   0x20a0 - 0x20b1


/*
 * U+20D0 - U+20FF : Combining Diacritical Marks for Symbols
 */

GRAPH     0x20d0 - 0x20ea
PRINT     0x20d0 - 0x20ea
SWIDTH1   0x20d0 - 0x20ea


/*
 * U+2100 - U+214F : Letterlike Symbols
 */

ALPHA     0x2102  0x2107  0x210a - 0x2113  0x2115  0x2119 - 0x211d
ALPHA     0x2124  0x2126  0x2128  0x212a - 0x212d  0x212f - 0x2131
ALPHA     0x2133  0x2134  0x2139  0x213d - 0x213f  0x2145 - 0x2149
GRAPH     0x2100 - 0x213a  0x213d - 0x214b
LOWER     0x210a  0x210e  0x210f  0x2113  0x212f  0x2134  0x2139
LOWER     0x213d  0x2146 - 0x2149
PUNCT     0x2100  0x2101  0x2103 - 0x2106  0x2108  0x2109  0x2114
PUNCT     0x2116 - 0x2118  0x211e - 0x2123  0x2125  0x2127  0x2129
PUNCT     0x212e  0x2132  0x213a  0x2140 - 0x2144  0x214a  0x214b
UPPER     0x2102  0x2107  0x210b - 0x210d  0x2110 - 0x2112  0x2115
UPPER     0x2119 - 0x211d  0x2124  0x2126  0x2128  0x212a - 0x212d
UPPER     0x2130  0x2131  0x2133  0x213e  0x213f  0x2145
PRINT     0x2100 - 0x213a  0x213d - 0x214b
SWIDTH1   0x2100 - 0x213a  0x213d - 0x214b

MAPLOWER  < 0x2126 0x03c9 >
MAPLOWER  < 0x212a 'k' >
MAPLOWER  < 0x212b 0x00e5 >


/*
 * U+2150 - U+218F : Number Forms
 */

GRAPH     0x2153 - 0x2183
PRINT     0x2153 - 0x2183
SPECIAL   0x2153 - 0x2183
SWIDTH1   0x2153 - 0x2183

MAPUPPER  < 0x2170 - 0x217f : 0x2160 >
MAPLOWER  < 0x2160 - 0x216f : 0x2170 >


/*
 * U+2190 - U+21FF : Arrows
 */

GRAPH     0x2190 - 0x21ff
PUNCT     0x2190 - 0x21ff
PRINT     0x2190 - 0x21ff
SWIDTH1   0x2190 - 0x21ff


/*
 * U+2200 - U+22FF : Mathematical Operators
 */

GRAPH     0x2200 - 0x22ff
PUNCT     0x2200 - 0x22ff
PRINT     0x2200 - 0x22ff
SWIDTH1   0x2200 - 0x22ff


/*
 * U+2300 - U+23FF : Miscellaneous Technical
 */

GRAPH     0x2300 - 0x23ce
PUNCT     0x2300 - 0x23ce
PRINT     0x2300 - 0x23ce
SWIDTH1   0x2300 - 0x2328  0x232b - 0x23ce
SWIDTH2   0x2329  0x232a


/*
 * U+2400 - U+243F : Control Pictures
 */

GRAPH     0x2400 - 0x2426
PUNCT     0x2400 - 0x2426
PRINT     0x2400 - 0x2426
SWIDTH1   0x2400 - 0x2426


/*
 * U+2440 - U+245F : Optical Character Recognition
 */

GRAPH     0x2440 - 0x244a
PUNCT     0x2440 - 0x244a
PRINT     0x2440 - 0x244a
SWIDTH1   0x2440 - 0x244a


/*
 * U+2460 - U+24FF : Enclosed Alphanumerics
 */

GRAPH     0x2460 - 0x24fe
PUNCT     0x249c - 0x24e9
PRINT     0x2460 - 0x24fe
SPECIAL   0x2460 - 0x249b  0x24ea - 0x24fe
SWIDTH1   0x2460 - 0x24fe

MAPUPPER  < 0x24d0 - 0x24e9 : 0x24b6 >
MAPLOWER  < 0x24b6 - 0x24cf : 0x24d0 >


/*
 * U+2500 - U+257F : Box Drawing
 */

GRAPH     0x2500 - 0x257f
PUNCT     0x2500 - 0x257f
PRINT     0x2500 - 0x257f
SWIDTH1   0x2500 - 0x257f


/*
 * U+2580 - U+259F : Block Elements
 */

GRAPH     0x2580 - 0x259f
PUNCT     0x2580 - 0x259f
PRINT     0x2580 - 0x259f
SWIDTH1   0x2580 - 0x259f


/*
 * U+25A0 - U+25FF : Geometric Shapes
 */

GRAPH     0x25a0 - 0x25ff
PUNCT     0x25a0 - 0x25ff
PRINT     0x25a0 - 0x25ff
SWIDTH1   0x25a0 - 0x25ff


/*
 * U+2600 - U+26FF : Miscellaneous Symbols
 */

GRAPH     0x2600 - 0x2613  0x2616  0x2617  0x2619 - 0x267d  0x2680 - 0x2689
PUNCT     0x2600 - 0x2613  0x2616  0x2617  0x2619 - 0x267d  0x2680 - 0x2689
PRINT     0x2600 - 0x2613  0x2616  0x2617  0x2619 - 0x267d  0x2680 - 0x2689
SWIDTH1   0x2600 - 0x2613  0x2616  0x2617  0x2619 - 0x267d  0x2680 - 0x2689


/*
 * U+2700 - U+27BF : Dingbats
 */

GRAPH     0x2701 - 0x2704  0x2706 - 0x2709  0x270c - 0x2727  0x2729 - 0x274b
GRAPH     0x274d  0x274f - 0x2752  0x2756  0x2758 - 0x275e  0x2761 - 0x2794
GRAPH     0x2798 - 0x27af  0x27b1 - 0x27be
PUNCT     0x2701 - 0x2704  0x2706 - 0x2709  0x270c - 0x2727  0x2729 - 0x274b
PUNCT     0x274d  0x274f - 0x2752  0x2756  0x2758 - 0x275e  0x2761 - 0x2775
PUNCT     0x2794  0x2798 - 0x27af  0x27b1 - 0x27be
PRINT     0x2701 - 0x2704  0x2706 - 0x2709  0x270c - 0x2727  0x2729 - 0x274b
PRINT     0x274d  0x274f - 0x2752  0x2756  0x2758 - 0x275e  0x2761 - 0x2794
PRINT     0x2798 - 0x27af  0x27b1 - 0x27be
SPECIAL   0x2776 - 0x2793
SWIDTH1   0x2701 - 0x2704  0x2706 - 0x2709  0x270c - 0x2727  0x2729 - 0x274b
SWIDTH1   0x274d  0x274f - 0x2752  0x2756  0x2758 - 0x275e  0x2761 - 0x2794
SWIDTH1   0x2798 - 0x27af  0x27b1 - 0x27be


/*
 * U+27C0 - U+27EF : Miscellaneous Mathematical Symbols-A
 */

GRAPH     0x27d0 - 0x27eb
PUNCT     0x27d0 - 0x27eb
PRINT     0x27d0 - 0x27eb
SWIDTH1   0x27d0 - 0x27eb


/*
 * U+27F0 - U+27FF : Supplemental Arrows-A
 */

GRAPH     0x27f0 - 0x27ff
PUNCT     0x27f0 - 0x27ff
PRINT     0x27f0 - 0x27ff
SWIDTH1   0x27f0 - 0x27ff


/*
 * U+2800 - U+28FF : Braille Patterns
 */

GRAPH     0x2800 - 0x28ff
PUNCT     0x2800 - 0x28ff
PRINT     0x2800 - 0x28ff
SWIDTH1   0x2800 - 0x28ff


/*
 * U+2900 - U+297F : Supplemental Arrows-B
 */

GRAPH     0x2900 - 0x297f
PUNCT     0x2900 - 0x297f
PRINT     0x2900 - 0x297f
SWIDTH1   0x2900 - 0x297f


/*
 * U+2980 - U+29FF : Miscellaneous Mathematical Symbols-B
 */

GRAPH     0x2980 - 0x29ff
PUNCT     0x2980 - 0x29ff
PRINT     0x2980 - 0x29ff
SWIDTH1   0x2980 - 0x29ff


/*
 * U+2A00 - U+2AFF : Supplemental Mathematical Operators
 */

GRAPH     0x2a00 - 0x2aff
PUNCT     0x2a00 - 0x2aff
PRINT     0x2a00 - 0x2aff
SWIDTH1   0x2a00 - 0x2aff


/*
 * U+2E80 - U+2EFF : CJK Radicals Supplement
 */

GRAPH     0x2e80 - 0x2e99  0x2e9b - 0x2ef3
PUNCT     0x2e80 - 0x2e99  0x2e9b - 0x2ef3
PRINT     0x2e80 - 0x2e99  0x2e9b - 0x2ef3
SWIDTH2   0x2e80 - 0x2e99  0x2e9b - 0x2ef3


/*
 * U+2F00 - U+2FDF : Kangxi Radicals
 */

GRAPH     0x2f00 - 0x2fd5
PUNCT     0x2f00 - 0x2fd5
PRINT     0x2f00 - 0x2fd5
SWIDTH2   0x2f00 - 0x2fd5


/*
 * U+2FF0 - U+2FFF : Ideographic Description Characters
 */

GRAPH     0x2ff0 - 0x2ffb
PUNCT     0x2ff0 - 0x2ffb
PRINT     0x2ff0 - 0x2ffb
SWIDTH2   0x2ff0 - 0x2ffb


/*
 * U+3000 - U+303F : CJK Symbols and Punctuation
 */

GRAPH     0x3001 - 0x303f
PUNCT     0x3001 - 0x3004  0x3008 - 0x3020  0x3030  0x3036  0x3037
PUNCT     0x303d - 0x303f
SPACE     0x3000
BLANK     0x3000
PRINT     0x3000 - 0x303f
IDEOGRAM  0x3006
SPECIAL   0x3007  0x3021 - 0x3029  0x3038 - 0x303a
SWIDTH1   0x303f
SWIDTH2   0x3000 - 0x303e


/*
 * U+3040 - U+309F : Hiragana
 */

GRAPH     0x3041 - 0x3096  0x3099 - 0x309f
PUNCT     0x309b  0x309c
PRINT     0x3041 - 0x3096  0x3099 - 0x309f
PHONOGRAM 0x3041 - 0x3096  0x309f
SWIDTH2   0x3041 - 0x3096  0x3099 - 0x309f


/*
 * U+30A0 - U+30FF : Katakana
 */

GRAPH     0x30a0 - 0x30ff
PUNCT     0x30a0  0x30fb
PRINT     0x30a0 - 0x30ff
PHONOGRAM 0x30a1 - 0x30fa  0x30ff
SWIDTH2   0x30a0 - 0x30ff


/*
 * U+3100 - U+312F : Bopomofo
 */

GRAPH     0x3105 - 0x312c
PRINT     0x3105 - 0x312c
SWIDTH2   0x3105 - 0x312c


/*
 * U+3130 - U+318F : Hangul Compatibility Jamo
 */

GRAPH     0x3131 - 0x318e
PRINT     0x3131 - 0x318e
PHONOGRAM 0x3131 - 0x3163  0x3165 - 0x318e
SWIDTH2   0x3131 - 0x318e


/*
 * U+3190 - U+319F : Kanbun
 */

GRAPH     0x3190 - 0x319f
PUNCT     0x3190  0x3191  0x3196 - 0x319f
PRINT     0x3190 - 0x319f
SPECIAL   0x3192 - 0x3195
SWIDTH2   0x3190 - 0x319f


/*
 * U+31A0 - U+31BF : Bopomofo Extended
 */

GRAPH     0x31a0 - 0x31b7
PRINT     0x31a0 - 0x31b7
SWIDTH2   0x31a0 - 0x31b7


/*
 * U+31F0 - U+31FF : Katakana Phonetic Extensions
 */

GRAPH     0x31f0 - 0x31ff
PRINT     0x31f0 - 0x31ff
PHONOGRAM 0x31f0 - 0x31ff
SWIDTH2   0x31f0 - 0x31ff


/*
 * U+3200 - U+32FF : Enclosed CJK Letters and Months
 */

GRAPH     0x3200 - 0x321c  0x3220 - 0x3243  0x3251 - 0x327b  0x327f - 0x32cb
GRAPH     0x32d0 - 0x32fe
PUNCT     0x3200 - 0x321c  0x322a - 0x3243  0x3260 - 0x327b  0x327f
PUNCT     0x328a - 0x32b0  0x32c0 - 0x32cb  0x32d0 - 0x32fe
PRINT     0x3200 - 0x321c  0x3220 - 0x3243  0x3251 - 0x327b  0x327f - 0x32cb
PRINT     0x32d0 - 0x32fe
SPECIAL   0x3220 - 0x3229  0x3251 - 0x325f  0x3280 - 0x3289  0x32b1 - 0x32bf
SWIDTH2   0x3200 - 0x321c  0x3220 - 0x3243  0x3251 - 0x327b  0x327f - 0x32cb
SWIDTH2   0x32d0 - 0x32fe


/*
 * U+3300 - U+33FF : CJK Compatibility
 */

GRAPH     0x3300 - 0x3376  0x337b - 0x33dd  0x33e0 - 0x33fe
PUNCT     0x3300 - 0x3376  0x337b - 0x33dd  0x33e0 - 0x33fe
PRINT     0x3300 - 0x3376  0x337b - 0x33dd  0x33e0 - 0x33fe
SWIDTH2   0x3300 - 0x3376  0x337b - 0x33dd  0x33e0 - 0x33fe


/*
 * U+3400 - U+4DBF : CJK Unified Ideographs Extension A
 */

GRAPH     0x3400 - 0x4db5
PRINT     0x3400 - 0x4db5
IDEOGRAM  0x3400 - 0x4db5
SWIDTH2   0x3400 - 0x4db5


/*
 * U+4E00 - U+9FFF : CJK Unified Ideographs
 */

GRAPH     0x4e00 - 0x9fa5
PRINT     0x4e00 - 0x9fa5
IDEOGRAM  0x4e00 - 0x9fa5
SWIDTH2   0x4e00 - 0x9fa5


/*
 * U+A000 - U+A48F : Yi Syllables
 */

GRAPH     0xa000 - 0xa48c
PRINT     0xa000 - 0xa48c
PHONOGRAM 0xa000 - 0xa48c
SWIDTH2   0xa000 - 0xa48c


/*
 * U+A490 - U+A4CF : Yi Radicals
 */

GRAPH     0xa490 - 0xa4c6
PUNCT     0xa490 - 0xa4c6
PRINT     0xa490 - 0xa4c6
SWIDTH2   0xa490 - 0xa4c6


/*
 * U+AC00 - U+D7AF : Hangul Syllables
 */

GRAPH     0xac00 - 0xd7a3
PRINT     0xac00 - 0xd7a3
PHONOGRAM 0xac00 - 0xd7a3
SWIDTH2   0xac00 - 0xd7a3


/*
 * U+D800 - U+DB7F : High Surrogates
 */

PRINT     0xd800 - 0xdb7f
SWIDTH1   0xd800 - 0xdb7f


/*
 * U+DB80 - U+DBFF : High Private Use Surrogates
 */

PRINT     0xdb80 - 0xdbff
SWIDTH1   0xdb80 - 0xdbff


/*
 * U+DC00 - U+DFFF : Low Surrogates
 */

PRINT     0xdc00 - 0xdfff
SWIDTH1   0xdc00 - 0xdfff


/*
 * U+E000 - U+F8FF : Private Use Area
 */

GRAPH     0xe000 - 0xf8ff
PRINT     0xe000 - 0xf8ff
SWIDTH1   0xe000 - 0xf8ff


/*
 * U+F900 - U+FAFF : CJK Compatibility Ideographs
 */

GRAPH     0xf900 - 0xfa2d  0xfa30 - 0xfa6a
PRINT     0xf900 - 0xfa2d  0xfa30 - 0xfa6a
IDEOGRAM  0xf900 - 0xfa2d  0xfa30 - 0xfa6a
SWIDTH2   0xf900 - 0xfa2d  0xfa30 - 0xfa6a


/*
 * U+FB00 - U+FB4F : Alphabetic Presentation Forms
 */

ALPHA     0xfb00 - 0xfb06  0xfb13 - 0xfb17
GRAPH     0xfb00 - 0xfb06  0xfb13 - 0xfb17  0xfb1d - 0xfb36  0xfb38 - 0xfb3c
GRAPH     0xfb3e  0xfb40  0xfb41  0xfb43  0xfb44  0xfb46 - 0xfb4f
LOWER     0xfb00 - 0xfb06  0xfb13 - 0xfb17
PUNCT     0xfb29
PRINT     0xfb00 - 0xfb06  0xfb13 - 0xfb17  0xfb1d - 0xfb36  0xfb38 - 0xfb3c
PRINT     0xfb3e  0xfb40  0xfb41  0xfb43  0xfb44  0xfb46 - 0xfb4f
SWIDTH1   0xfb00 - 0xfb06  0xfb13 - 0xfb17  0xfb1d - 0xfb36  0xfb38 - 0xfb3c
SWIDTH1   0xfb3e  0xfb40  0xfb41  0xfb43  0xfb44  0xfb46 - 0xfb4f


/*
 * U+FB50 - U+FDFF : Arabic Presentation Forms-A
 */

GRAPH     0xfb50 - 0xfbb1  0xfbd3 - 0xfd3f  0xfd50 - 0xfd8f  0xfd92 - 0xfdc7
GRAPH     0xfdf0 - 0xfdfc
PUNCT     0xfd3e  0xfd3f  0xfdfc
PRINT     0xfb50 - 0xfbb1  0xfbd3 - 0xfd3f  0xfd50 - 0xfd8f  0xfd92 - 0xfdc7
PRINT     0xfdf0 - 0xfdfc
SWIDTH1   0xfb50 - 0xfbb1  0xfbd3 - 0xfd3f  0xfd50 - 0xfd8f  0xfd92 - 0xfdc7
SWIDTH1   0xfdf0 - 0xfdfc


/*
 * U+FE00 - U+FE0F : Variation Selectors
 */

GRAPH     0xfe00 - 0xfe0f
PRINT     0xfe00 - 0xfe0f
SWIDTH1   0xfe00 - 0xfe0f


/*
 * U+FE20 - U+FE2F : Combining Half Marks
 */

GRAPH     0xfe20 - 0xfe23
PRINT     0xfe20 - 0xfe23
SWIDTH1   0xfe20 - 0xfe23


/*
 * U+FE30 - U+FE4F : CJK Compatibility Forms
 */

GRAPH     0xfe30 - 0xfe46  0xfe49 - 0xfe4f
PUNCT     0xfe30 - 0xfe46  0xfe49 - 0xfe4f
PRINT     0xfe30 - 0xfe46  0xfe49 - 0xfe4f
SWIDTH2   0xfe30 - 0xfe46  0xfe49 - 0xfe4f


/*
 * U+FE50 - U+FE6F : Small Form Variants
 */

GRAPH     0xfe50 - 0xfe52  0xfe54 - 0xfe66  0xfe68 - 0xfe6b
PUNCT     0xfe50 - 0xfe52  0xfe54 - 0xfe66  0xfe68 - 0xfe6b
PRINT     0xfe50 - 0xfe52  0xfe54 - 0xfe66  0xfe68 - 0xfe6b
SWIDTH2   0xfe50 - 0xfe52  0xfe54 - 0xfe66  0xfe68 - 0xfe6b


/*
 * U+FE70 - U+FEFF : Arabic Presentation Forms-B
 */

CONTROL   0xfeff
GRAPH     0xfe70 - 0xfe74  0xfe76 - 0xfefc
PRINT     0xfe70 - 0xfe74  0xfe76 - 0xfefc
SWIDTH1   0xfe70 - 0xfe74  0xfe76 - 0xfefc


/*
 * U+FF00 - U+FFEF : Halfwidth and Fullwidth Forms
 */

ALPHA     0xff21 - 0xff3a  0xff41 - 0xff5a
DIGIT     0xff10 - 0xff19
GRAPH     0xff01 - 0xffbe  0xffc2 - 0xffc7  0xffca - 0xffcf  0xffd2 - 0xffd7
GRAPH     0xffda - 0xffdc  0xffe0 - 0xffe6  0xffe8 - 0xffee
LOWER     0xff41 - 0xff5a
PUNCT     0xff01 - 0xff0f  0xff1a - 0xff20  0xff3b - 0xff40  0xff5b - 0xff65
PUNCT     0xffe0 - 0xffe6  0xffe8 - 0xffee
UPPER     0xff21 - 0xff3a
PRINT     0xff01 - 0xffbe  0xffc2 - 0xffc7  0xffca - 0xffcf  0xffd2 - 0xffd7
PRINT     0xffda - 0xffdc  0xffe0 - 0xffe6  0xffe8 - 0xffee
PHONOGRAM 0xff66 - 0xff6f  0xff71 - 0xff9d  0xffa1 - 0xffbe  0xffc2 - 0xffc7
PHONOGRAM 0xffca - 0xffcf  0xffd2 - 0xffd7  0xffda - 0xffdc
SWIDTH1   0xff61 - 0xffbe  0xffc2 - 0xffc7  0xffca - 0xffcf  0xffd2 - 0xffd7
SWIDTH1   0xffda - 0xffdc  0xffe8 - 0xffee
SWIDTH2   0xff01 - 0xff60  0xffe0 - 0xffe6

MAPUPPER  < 0xff41 - 0xff5a : 0xff21 >
MAPLOWER  < 0xff21 - 0xff3a : 0xff41 >
TODIGIT   < 0xff10 - 0xff19 : 0x0000 >


/*
 * U+FFF0 - U+FFFF : Specials
 */

CONTROL   0xfff9 - 0xfffb
GRAPH     0xfffc  0xfffd
PUNCT     0xfffc  0xfffd
PRINT     0xfffc  0xfffd
SWIDTH1   0xfffc  0xfffd


/*
 * U+10300 - U+1032F : Old Italic
 */

GRAPH     0x10300 - 0x1031e  0x10320 - 0x10323
PRINT     0x10300 - 0x1031e  0x10320 - 0x10323
SPECIAL   0x10320 - 0x10323
SWIDTH1   0x10300 - 0x1031e  0x10320 - 0x10323


/*
 * U+10330 - U+1034F : Gothic
 */

GRAPH     0x10330 - 0x1034a
PRINT     0x10330 - 0x1034a
SPECIAL   0x1034a
SWIDTH1   0x10330 - 0x1034a


/*
 * U+10400 - U+1044F : Deseret
 */

ALPHA     0x10400 - 0x10425  0x10428 - 0x1044d
GRAPH     0x10400 - 0x10425  0x10428 - 0x1044d
LOWER     0x10428 - 0x1044d
UPPER     0x10400 - 0x10425
PRINT     0x10400 - 0x10425  0x10428 - 0x1044d
SWIDTH1   0x10400 - 0x10425  0x10428 - 0x1044d

MAPUPPER  < 0x10428 - 0x1044d : 0x10400 >
MAPLOWER  < 0x10400 - 0x10425 : 0x10428 >


/*
 * U+1D000 - U+1D0FF : Byzantine Musical Symbols
 */

GRAPH     0x1d000 - 0x1d0f5
PUNCT     0x1d000 - 0x1d0f5
PRINT     0x1d000 - 0x1d0f5
SWIDTH1   0x1d000 - 0x1d0f5


/*
 * U+1D100 - U+1D1FF : Musical Symbols
 */

CONTROL   0x1d173 - 0x1d17a
GRAPH     0x1d100 - 0x1d126  0x1d12a - 0x1d172  0x1d17b - 0x1d1dd
PUNCT     0x1d100 - 0x1d126  0x1d12a - 0x1d164  0x1d16a - 0x1d16c
PUNCT     0x1d183  0x1d184  0x1d18c - 0x1d1a9  0x1d1ae - 0x1d1dd
PRINT     0x1d100 - 0x1d126  0x1d12a - 0x1d172  0x1d17b - 0x1d1dd
SWIDTH1   0x1d100 - 0x1d126  0x1d12a - 0x1d172  0x1d17b - 0x1d1dd


/*
 * U+1D400 - U+1D7FF : Mathematical Alphanumeric Symbols
 */

ALPHA     0x1d400 - 0x1d454  0x1d456 - 0x1d49c  0x1d49e  0x1d49f
ALPHA     0x1d4a2  0x1d4a5  0x1d4a6  0x1d4a9 - 0x1d4ac  0x1d4ae - 0x1d4b9
ALPHA     0x1d4bb  0x1d4bd - 0x1d4c0  0x1d4c2  0x1d4c3  0x1d4c5 - 0x1d505
ALPHA     0x1d507 - 0x1d50a  0x1d50d - 0x1d514  0x1d516 - 0x1d51c
ALPHA     0x1d51e - 0x1d539  0x1d53b - 0x1d53e  0x1d540 - 0x1d544
ALPHA     0x1d546  0x1d54a - 0x1d550  0x1d552 - 0x1d6a3  0x1d6a8 - 0x1d6c0
ALPHA     0x1d6c2 - 0x1d6da  0x1d6dc - 0x1d6fa  0x1d6fc - 0x1d714
ALPHA     0x1d716 - 0x1d734  0x1d736 - 0x1d74e  0x1d750 - 0x1d76e
ALPHA     0x1d770 - 0x1d788  0x1d78a - 0x1d7a8  0x1d7aa - 0x1d7c2
ALPHA     0x1d7c4 - 0x1d7c9
GRAPH     0x1d400 - 0x1d454  0x1d456 - 0x1d49c  0x1d49e  0x1d49f
GRAPH     0x1d4a2  0x1d4a5  0x1d4a6  0x1d4a9 - 0x1d4ac  0x1d4ae - 0x1d4b9
GRAPH     0x1d4bb  0x1d4bd - 0x1d4c0  0x1d4c2  0x1d4c3  0x1d4c5 - 0x1d505
GRAPH     0x1d507 - 0x1d50a  0x1d50d - 0x1d514  0x1d516 - 0x1d51c
GRAPH     0x1d51e - 0x1d539  0x1d53b - 0x1d53e  0x1d540 - 0x1d544
GRAPH     0x1d546  0x1d54a - 0x1d550  0x1d552 - 0x1d6a3  0x1d6a8 - 0x1d7c9
GRAPH     0x1d7ce - 0x1d7ff
LOWER     0x1d41a - 0x1d433  0x1d44e - 0x1d454  0x1d456 - 0x1d467
LOWER     0x1d482 - 0x1d49b  0x1d4b6 - 0x1d4b9  0x1d4bb  0x1d4bd - 0x1d4c0
LOWER     0x1d4c2  0x1d4c3  0x1d4c5 - 0x1d4cf  0x1d4ea - 0x1d503
LOWER     0x1d51e - 0x1d537  0x1d552 - 0x1d56b  0x1d586 - 0x1d59f
LOWER     0x1d5ba - 0x1d5d3  0x1d5ee - 0x1d607  0x1d622 - 0x1d63b
LOWER     0x1d656 - 0x1d66f  0x1d68a - 0x1d6a3  0x1d6c2 - 0x1d6da
LOWER     0x1d6dc - 0x1d6e1  0x1d6fc - 0x1d714  0x1d716 - 0x1d71b
LOWER     0x1d736 - 0x1d74e  0x1d750 - 0x1d755  0x1d770 - 0x1d788
LOWER     0x1d78a - 0x1d78f  0x1d7aa - 0x1d7c2  0x1d7c4 - 0x1d7c9
PUNCT     0x1d6c1  0x1d6db  0x1d6fb  0x1d715  0x1d735  0x1d74f
PUNCT     0x1d76f  0x1d789  0x1d7a9  0x1d7c3
UPPER     0x1d400 - 0x1d419  0x1d434 - 0x1d44d  0x1d468 - 0x1d481
UPPER     0x1d49c  0x1d49e  0x1d49f  0x1d4a2  0x1d4a5  0x1d4a6
UPPER     0x1d4a9 - 0x1d4ac  0x1d4ae - 0x1d4b5  0x1d4d0 - 0x1d4e9
UPPER     0x1d504  0x1d505  0x1d507 - 0x1d50a  0x1d50d - 0x1d514
UPPER     0x1d516 - 0x1d51c  0x1d538  0x1d539  0x1d53b - 0x1d53e
UPPER     0x1d540 - 0x1d544  0x1d546  0x1d54a - 0x1d550  0x1d56c - 0x1d585
UPPER     0x1d5a0 - 0x1d5b9  0x1d5d4 - 0x1d5ed  0x1d608 - 0x1d621
UPPER     0x1d63c - 0x1d655  0x1d670 - 0x1d689  0x1d6a8 - 0x1d6c0
UPPER     0x1d6e2 - 0x1d6fa  0x1d71c - 0x1d734  0x1d756 - 0x1d76e
UPPER     0x1d790 - 0x1d7a8
PRINT     0x1d400 - 0x1d454  0x1d456 - 0x1d49c  0x1d49e  0x1d49f
PRINT     0x1d4a2  0x1d4a5  0x1d4a6  0x1d4a9 - 0x1d4ac  0x1d4ae - 0x1d4b9
PRINT     0x1d4bb  0x1d4bd - 0x1d4c0  0x1d4c2  0x1d4c3  0x1d4c5 - 0x1d505
PRINT     0x1d507 - 0x1d50a  0x1d50d - 0x1d514  0x1d516 - 0x1d51c
PRINT     0x1d51e - 0x1d539  0x1d53b - 0x1d53e  0x1d540 - 0x1d544
PRINT     0x1d546  0x1d54a - 0x1d550  0x1d552 - 0x1d6a3  0x1d6a8 - 0x1d7c9
PRINT     0x1d7ce - 0x1d7ff
SWIDTH1   0x1d400 - 0x1d454  0x1d456 - 0x1d49c  0x1d49e  0x1d49f
SWIDTH1   0x1d4a2  0x1d4a5  0x1d4a6  0x1d4a9 - 0x1d4ac  0x1d4ae - 0x1d4b9
SWIDTH1   0x1d4bb  0x1d4bd - 0x1d4c0  0x1d4c2  0x1d4c3  0x1d4c5 - 0x1d505
SWIDTH1   0x1d507 - 0x1d50a  0x1d50d - 0x1d514  0x1d516 - 0x1d51c
SWIDTH1   0x1d51e - 0x1d539  0x1d53b - 0x1d53e  0x1d540 - 0x1d544
SWIDTH1   0x1d546  0x1d54a - 0x1d550  0x1d552 - 0x1d6a3  0x1d6a8 - 0x1d7c9
SWIDTH1   0x1d7ce - 0x1d7ff


/*
 * U+20000 - U+2A6DF : CJK Unified Ideographs Extension B
 */

GRAPH     0x20000 - 0x2a6d6
PRINT     0x20000 - 0x2a6d6
IDEOGRAM  0x20000 - 0x2a6d6
SWIDTH2   0x20000 - 0x2a6d6


/*
 * U+2F800 - U+2FA1F : CJK Compatibility Ideographs Supplement
 */

GRAPH     0x2f800 - 0x2fa1d
PRINT     0x2f800 - 0x2fa1d
IDEOGRAM  0x2f800 - 0x2fa1d
SWIDTH2   0x2f800 - 0x2fa1d


/*
 * U+E0000 - U+E007F : Tags
 */

CONTROL   0xe0001  0xe0020 - 0xe007f


/*
 * U+F0000 - U+FFFFF : Supplementary Private Use Area-A
 */

GRAPH     0xf0000 - 0xffffd
PRINT     0xf0000 - 0xffffd
SWIDTH1   0xf0000 - 0xffffd


/*
 * U+100000 - U+10FFFF : Supplementary Private Use Area-B
 */

GRAPH     0x100000 - 0x10fffd
PRINT     0x100000 - 0x10fffd
SWIDTH1   0x100000 - 0x10fffd