v/vlib/encoding/utf8/utf8_util.v

1686 lines
92 KiB
V
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**********************************************************************
*
* utf-8 util
*
* Copyright (c) 2019 Dario Deledda. All rights reserved.
* Use of this source code is governed by an MIT license
* that can be found in the LICENSE file.
*
* This file contains utilities for utf8 strings
*
**********************************************************************/
module utf8
/**********************************************************************
*
* Utility functions
*
**********************************************************************/
// len return the leght as number of unicode chars from a string
pub fn len(s string) int {
mut count := 0
mut index := 0
for {
ch_len := utf8util_char_len(s.str[index])
index += ch_len
if index > s.len {
break
}
count++
}
return count
}
// u_len return the leght as number of unicode chars from a ustring
pub fn u_len(s ustring) int {
return len(s.s)
}
// get_uchar convert a unicode glyph in string[index] into a int unicode char
pub fn get_uchar(s string, index int) int {
mut res := 0
mut ch_len := 0
if s.len > 0 {
ch_len = utf8util_char_len(s.str[index])
if ch_len == 1 {
return u16(s.str[0])
}if ch_len > 1 && ch_len < 5{
mut lword := 0
for i:=0; i < ch_len ; i++ {
lword = (lword << 8 ) | int( s.str[index + i] )
}
// 2 byte utf-8
// byte format: 110xxxxx 10xxxxxx
//
if ch_len == 2 {
res = (lword & 0x1f00) >> 2 | (lword & 0x3f)
}
// 3 byte utf-8
// byte format: 1110xxxx 10xxxxxx 10xxxxxx
//
else if ch_len == 3 {
res = ( lword & 0x0f0000 ) >> 4 | ( lword & 0x3f00 ) >> 2 | ( lword & 0x3f )
}
// 4 byte utf-8
// byte format: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
//
else if ch_len == 4 {
res = (( lword & 0x07000000 ) >> 6) | (( lword & 0x003f0000 ) >> 4) |
(( lword & 0x00003F00 ) >> 2 ) | ( lword & 0x0000003f )
}
}
}
return res
}
/**********************************************************************
*
* Conversion functions
*
**********************************************************************/
// to_upper return an uppercase string from a string
pub fn to_upper(s string) string {
return up_low(s, true)
}
// u_to_upper return an uppercase string from a ustring
pub fn u_to_upper(s ustring) ustring {
tmp := up_low(s.s, true)
return tmp.ustring()
}
// to_lower return an lowercase string from a string
pub fn to_lower(s string) string {
return up_low(s, false)
}
// u_to_lower return an lowercase string from a ustring
pub fn u_to_lower(s ustring) ustring {
tmp := up_low(s.s, false)
return tmp.ustring()
}
/**********************************************************************
*
* Punctuation functions
*
* The "western" function search on a small table, that is quicker than
* the global unicode table search. **Use only for western chars**.
*
**********************************************************************/
//
// Western
//
// is_punct return true if the string[index] byte is the start of a unicode western punctuation
pub fn is_punct( s string , index int) bool {
return is_uchar_punct(get_uchar(s, index))
}
// is_uchar_punct return true if the input unicode is a western unicode punctuation
pub fn is_uchar_punct( uchar int ) bool {
return find_punct_in_table(uchar, unicode_punct_western ) != 0
}
//
// Global
//
// is_global_punct return true if the string[index] byte of is the start of a global unicode punctuation
pub fn is_global_punct( s string , index int) bool {
return is_uchar_global_punct(get_uchar(s, index))
}
// is_uchar_global_punct return true if the input unicode is a global unicode punctuation
pub fn is_uchar_global_punct( uchar int ) bool {
return find_punct_in_table( uchar , unicode_punct ) != 0
}
/**********************************************************************
*
* Private functions
*
**********************************************************************/
// utf8util_char_len calculate the length in bytes of a utf8 char
fn utf8util_char_len(b byte) int {
return (( 0xe5000000 >> (( b >> 3 ) & 0x1e )) & 3 ) + 1
}
//
// if upper_flag == true then make low ==> upper conversion
// if upper_flag == false then make upper ==> low conversion
//
// up_low make the dirt job
fn up_low(s string, upper_flag bool) string {
mut index := 0
mut str_res := malloc(s.len + 1)
for {
ch_len := utf8util_char_len(s.str[index])
if ch_len == 1 {
if upper_flag==true {
str_res[index] = byte(C.toupper(s.str[index]))
}else{
str_res[index] = byte(C.tolower(s.str[index]))
}
}
else if ch_len > 1 && ch_len < 5{
mut lword := 0
for i:=0; i < ch_len ; i++ {
lword = (lword << 8 ) | int( s.str[index + i] )
}
//C.printf(" #%d (%x) ", index, lword)
mut res := 0
// 2 byte utf-8
// byte format: 110xxxxx 10xxxxxx
//
if ch_len == 2 {
res = (lword & 0x1f00) >> 2 | (lword & 0x3f)
}
// 3 byte utf-8
// byte format: 1110xxxx 10xxxxxx 10xxxxxx
//
else if ch_len == 3 {
res = ( lword & 0x0f0000 ) >> 4 | ( lword & 0x3f00 ) >> 2 | ( lword & 0x3f )
}
// 4 byte utf-8
// byte format: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
//
else if ch_len == 4 {
res = (( lword & 0x07000000 ) >> 6) | (( lword & 0x003f0000 ) >> 4) |
(( lword & 0x00003F00 ) >> 2 ) | ( lword & 0x0000003f )
}
//C.printf("len: %d code: %04x ",ch_len,res)
ch_index := find_char_in_table(u16(res), upper_flag)
//C.printf(" utf8 index: %d ",ch_index)
// char not in table, no need of conversion
if ch_index == 0 {
for i in 0..ch_len {
str_res[index + i] = s.str[index + i]
}
//C.printf("\n")
}else{
tab_char := unicode_con_table_up_to_low[ch_index]
//C.printf("tab_char: %04x ",tab_char)
if ch_len == 2 {
ch0 := byte( (tab_char >> 6) & 0x1f ) | 0xc0 /*110x xxxx*/
ch1 := byte( (tab_char >> 0) & 0x3f ) | 0x80 /*10xx xxxx*/
//C.printf("[%02x%02x] \n",ch0,ch1)
str_res[ index + 0 ] = ch0
str_res[ index + 1 ] = ch1
//****************************************************************
// BUG: doesn't compile, workaround use shitf to right of 0 bit
//****************************************************************
//str_res[index + 1 ] = byte( tab_char & 0xbf ) /*1011 1111*/
}
else if ch_len == 3 {
ch0 := byte( (tab_char >> 12) & 0x0f ) | 0xe0 /*1110 xxxx*/
ch1 := byte( (tab_char >> 6) & 0x3f ) | 0x80 /*10xx xxxx*/
ch2 := byte( (tab_char >> 0) & 0x3f ) | 0x80 /*10xx xxxx*/
//C.printf("[%02x%02x%02x] \n",ch0,ch1,ch2)
str_res[index + 0 ] = ch0
str_res[index + 1 ] = ch1
str_res[index + 2 ] = ch2
}
// TODO: write if needed
else if ch_len == 4 {
// place holder!!
// at the present time simply copy the utf8 char
for i in 0..ch_len {
str_res[index + i] = s.str[index + i]
}
}
}
}
// other cases, just copy the string
else{
for i in 0..ch_len {
str_res[index + i] = s.str[index + i]
}
}
index += ch_len
// we are done, exit the loop
if index >= s.len {
break
}
}
// for c compatibility set the ending 0
str_res[index]=0
//C.printf("str_res: %s\n--------------\n",str_res)
return tos(str_res, s.len)
}
// find_char_in_table utility function for up_low, search utf8 chars in the conversion table
fn find_char_in_table( in_code u16, upper_flag bool) int {
//
// We will use a simple binary search
//
mut first_index := 0 // first index of our utf8 char range
mut last_index := (unicode_con_table_up_to_low.len >> 1) // last+1 index of our utf8 char range
mut index := 0
mut x := u16(0)
mut offset:=0 // up to low
mut i_step:=1 // up to low
if upper_flag==true {
offset=1 // low to up
i_step=0 // low to up
}
//C.printf("looking for [%04x] in (%d..%d).\n",in_code,first_index,last_index)
for {
index = (first_index+last_index) >> 1
x = unicode_con_table_up_to_low[ (index<<1)+offset ]
//C.printf("(%d..%d) index:%d base[%04x]==>[%04x]\n",first_index,last_index,index,in_code,x)
if x == in_code {
//C.printf(" Found!\n")
return ( (index<<1) + i_step)
}
else if x>in_code {
last_index=index
}else {
first_index=index
}
if (last_index-first_index)<=1 {
break
}
}
//C.printf("not found.\n")
return 0
}
// find punct in lockup table
fn find_punct_in_table( in_code int , in_table []int ) int {
//
// We will use a simple binary search
//
mut first_index := 0
mut last_index := (in_table.len)
mut index := 0
mut x := 0
for {
index = (first_index+last_index) >> 1
x = in_table[ index ]
//C.printf("(%d..%d) index:%d base[%08x]==>[%08x]\n",first_index,last_index,index,in_code,x)
if x == in_code {
return index
}
else if x>in_code {
last_index=index
}else {
first_index=index
}
if (last_index-first_index)<=1 {
break
}
}
//C.printf("not found.\n")
return 0
}
/*****************************************************************************
*
* universal character set 2 level 1 (UCS-2 level-1) between uppercase and lowercase
* [Lowercase code point, Uppercase code point, Lowercase character description, Uppercase character description]
*
* source: https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/nls/rbagslowtoupmaptable.htm?view=embed
* term of use: https://www.ibm.com/legal?lnk=flg-tous-usen
* license: not stated, general fair use license applied
*
* regex expresion => replace from html table to V :
* src: ([A-F\d]+)\s+([A-F\d]+)\s+(.*)
* dst: 0x$1, 0x$2, // $3
*
*****************************************************************************/
const(
unicode_con_table_up_to_low=[
u16(0x0041), 0x0061, //LATIN CAPITAL LETTER A LATIN SMALL LETTER A
0x0042, 0x0062, //LATIN CAPITAL LETTER B LATIN SMALL LETTER B
0x0043, 0x0063, //LATIN CAPITAL LETTER C LATIN SMALL LETTER C
0x0044, 0x0064, //LATIN CAPITAL LETTER D LATIN SMALL LETTER D
0x0045, 0x0065, //LATIN CAPITAL LETTER E LATIN SMALL LETTER E
0x0046, 0x0066, //LATIN CAPITAL LETTER F LATIN SMALL LETTER F
0x0047, 0x0067, //LATIN CAPITAL LETTER G LATIN SMALL LETTER G
0x0048, 0x0068, //LATIN CAPITAL LETTER H LATIN SMALL LETTER H
0x0049, 0x0069, //LATIN CAPITAL LETTER I LATIN SMALL LETTER I
0x004A, 0x006A, //LATIN CAPITAL LETTER J LATIN SMALL LETTER J
0x004B, 0x006B, //LATIN CAPITAL LETTER K LATIN SMALL LETTER K
0x004C, 0x006C, //LATIN CAPITAL LETTER L LATIN SMALL LETTER L
0x004D, 0x006D, //LATIN CAPITAL LETTER M LATIN SMALL LETTER M
0x004E, 0x006E, //LATIN CAPITAL LETTER N LATIN SMALL LETTER N
0x004F, 0x006F, //LATIN CAPITAL LETTER O LATIN SMALL LETTER O
0x0050, 0x0070, //LATIN CAPITAL LETTER P LATIN SMALL LETTER P
0x0051, 0x0071, //LATIN CAPITAL LETTER Q LATIN SMALL LETTER Q
0x0052, 0x0072, //LATIN CAPITAL LETTER R LATIN SMALL LETTER R
0x0053, 0x0073, //LATIN CAPITAL LETTER S LATIN SMALL LETTER S
0x0054, 0x0074, //LATIN CAPITAL LETTER T LATIN SMALL LETTER T
0x0055, 0x0075, //LATIN CAPITAL LETTER U LATIN SMALL LETTER U
0x0056, 0x0076, //LATIN CAPITAL LETTER V LATIN SMALL LETTER V
0x0057, 0x0077, //LATIN CAPITAL LETTER W LATIN SMALL LETTER W
0x0058, 0x0078, //LATIN CAPITAL LETTER X LATIN SMALL LETTER X
0x0059, 0x0079, //LATIN CAPITAL LETTER Y LATIN SMALL LETTER Y
0x005A, 0x007A, //LATIN CAPITAL LETTER Z LATIN SMALL LETTER Z
0x00C0, 0x00E0, //LATIN CAPITAL LETTER A GRAVE LATIN SMALL LETTER A GRAVE
0x00C1, 0x00E1, //LATIN CAPITAL LETTER A ACUTE LATIN SMALL LETTER A GRAVE
0x00C2, 0x00E2, //LATIN CAPITAL LETTER A CIRCUMFLEX LATIN SMALL LETTER A GRAVE
0x00C3, 0x00E3, //LATIN CAPITAL LETTER A TILDE LATIN SMALL LETTER A GRAVE
0x00C4, 0x00E4, //LATIN CAPITAL LETTER A DIAERESIS LATIN SMALL LETTER A GRAVE
0x00C5, 0x00E5, //LATIN CAPITAL LETTER A RING LATIN SMALL LETTER A GRAVE
0x00C6, 0x00E6, //LATIN CAPITAL LETTER A E LATIN SMALL LETTER A GRAVE
0x00C7, 0x00E7, //LATIN CAPITAL LETTER C CEDILLA LATIN SMALL LETTER A GRAVE
0x00C8, 0x00E8, //LATIN CAPITAL LETTER E GRAVE LATIN SMALL LETTER A GRAVE
0x00C9, 0x00E9, //LATIN CAPITAL LETTER E ACUTE LATIN SMALL LETTER A GRAVE
0x00CA, 0x00EA, //LATIN CAPITAL LETTER E CIRCUMFLEX LATIN SMALL LETTER E CIRCUMFLEX
0x00CB, 0x00EB, //LATIN CAPITAL LETTER E DIAERESIS LATIN SMALL LETTER E DIAERESIS
0x00CC, 0x00EC, //LATIN CAPITAL LETTER I GRAVE LATIN SMALL LETTER I GRAVE
0x00CD, 0x00ED, //LATIN CAPITAL LETTER I ACUTE LATIN SMALL LETTER I ACUTE
0x00CE, 0x00EE, //LATIN CAPITAL LETTER I CIRCUMFLEX LATIN SMALL LETTER I CIRCUMFLEX
0x00CF, 0x00EF, //LATIN CAPITAL LETTER I DIAERESIS LATIN SMALL LETTER I DIAERESIS
0x00D0, 0x00F0, //LATIN CAPITAL LETTER ETH LATIN SMALL LETTER ETH
0x00D1, 0x00F1, //LATIN CAPITAL LETTER N TILDE LATIN SMALL LETTER N TILDE
0x00D2, 0x00F2, //LATIN CAPITAL LETTER O GRAVE LATIN SMALL LETTER O GRAVE
0x00D3, 0x00F3, //LATIN CAPITAL LETTER O ACUTE LATIN SMALL LETTER O ACUTE
0x00D4, 0x00F4, //LATIN CAPITAL LETTER O CIRCUMFLEX LATIN SMALL LETTER O CIRCUMFLEX
0x00D5, 0x00F5, //LATIN CAPITAL LETTER O TILDE LATIN SMALL LETTER O TILDE
0x00D6, 0x00F6, //LATIN CAPITAL LETTER O DIAERESIS LATIN SMALL LETTER O DIAERESIS
0x00D8, 0x00F8, //LATIN CAPITAL LETTER O SLASH LATIN SMALL LETTER O SLASH
0x00D9, 0x00F9, //LATIN CAPITAL LETTER U GRAVE LATIN SMALL LETTER U GRAVE
0x00DA, 0x00FA, //LATIN CAPITAL LETTER U ACUTE LATIN SMALL LETTER U ACUTE
0x00DB, 0x00FB, //LATIN CAPITAL LETTER U CIRCUMFLEX LATIN SMALL LETTER U CIRCUMFLEX
0x00DC, 0x00FC, //LATIN CAPITAL LETTER U DIAERESIS LATIN SMALL LETTER U DIAERESIS
0x00DD, 0x00FD, //LATIN CAPITAL LETTER Y ACUTE LATIN SMALL LETTER Y ACUTE
0x00DE, 0x00FE, //LATIN CAPITAL LETTER THORN LATIN SMALL LETTER THORN
0x0100, 0x0101, //LATIN CAPITAL LETTER A WITH MACRON LATIN SMALL LETTER A WITH MACRON
0x0102, 0x0103, //LATIN CAPITAL LETTER A WITH BREVE LATIN SMALL LETTER A WITH BREVE
0x0104, 0x0105, //LATIN CAPITAL LETTER A WITH OGONEK LATIN SMALL LETTER A WITH OGONEK
0x0106, 0x0107, //LATIN CAPITAL LETTER C WITH ACUTE LATIN SMALL LETTER C WITH ACUTE
0x0108, 0x0109, //LATIN CAPITAL LETTER C WITH CIRCUMFLEX LATIN SMALL LETTER C WITH CIRCUMFLEX
0x010A, 0x010B, //LATIN CAPITAL LETTER C WITH DOT ABOVE LATIN SMALL LETTER C WITH DOT ABOVE
0x010C, 0x010D, //LATIN CAPITAL LETTER C WITH CARON LATIN SMALL LETTER C WITH CARON
0x010E, 0x010F, //LATIN CAPITAL LETTER D WITH CARON LATIN SMALL LETTER D WITH CARON
0x0110, 0x0111, //LATIN CAPITAL LETTER D WITH STROKE LATIN SMALL LETTER D WITH STROKE
0x0112, 0x0113, //LATIN CAPITAL LETTER E WITH MACRON LATIN SMALL LETTER E WITH MACRON
0x0114, 0x0115, //LATIN CAPITAL LETTER E WITH BREVE LATIN SMALL LETTER E WITH BREVE
0x0116, 0x0117, //LATIN CAPITAL LETTER E WITH DOT ABOVE LATIN SMALL LETTER E WITH DOT ABOVE
0x0118, 0x0119, //LATIN CAPITAL LETTER E WITH OGONEK LATIN SMALL LETTER E WITH OGONEK
0x011A, 0x011B, //LATIN CAPITAL LETTER E WITH CARON LATIN SMALL LETTER E WITH CARON
0x011C, 0x011D, //LATIN CAPITAL LETTER G WITH CIRCUMFLEX LATIN SMALL LETTER G WITH CIRCUMFLEX
0x011E, 0x011F, //LATIN CAPITAL LETTER G WITH BREVE LATIN SMALL LETTER G WITH BREVE
0x0120, 0x0121, //LATIN CAPITAL LETTER G WITH DOT ABOVE LATIN SMALL LETTER G WITH DOT ABOVE
0x0122, 0x0123, //LATIN CAPITAL LETTER G WITH CEDILLA LATIN SMALL LETTER G WITH CEDILLA
0x0124, 0x0125, //LATIN CAPITAL LETTER H WITH CIRCUMFLEX LATIN SMALL LETTER H WITH CIRCUMFLEX
0x0126, 0x0127, //LATIN CAPITAL LETTER H WITH STROKE LATIN SMALL LETTER H WITH STROKE
0x0128, 0x0129, //LATIN CAPITAL LETTER I WITH TILDE LATIN SMALL LETTER I WITH TILDE
0x012A, 0x012B, //LATIN CAPITAL LETTER I WITH MACRON LATIN SMALL LETTER I WITH MACRON
0x012C, 0x012D, //LATIN CAPITAL LETTER I WITH BREVE LATIN SMALL LETTER I WITH BREVE
0x012E, 0x012F, //LATIN CAPITAL LETTER I WITH OGONEK LATIN SMALL LETTER I WITH OGONEK
0x0130, 0x0069, //LATIN CAPITAL LETTER I WITH DOT ABOVE LATIN SMALL LETTER I
0x0132, 0x0133, //LATIN CAPITAL LIGATURE IJ LATIN SMALL LIGATURE IJ
0x0134, 0x0135, //LATIN CAPITAL LETTER J WITH CIRCUMFLEX LATIN SMALL LETTER J WITH CIRCUMFLEX
0x0136, 0x0137, //LATIN CAPITAL LETTER K WITH CEDILLA LATIN SMALL LETTER K WITH CEDILLA
0x0139, 0x013A, //LATIN CAPITAL LETTER L WITH ACUTE LATIN SMALL LETTER L WITH ACUTE
0x013B, 0x013C, //LATIN CAPITAL LETTER L WITH CEDILLA LATIN SMALL LETTER L WITH CEDILLA
0x013D, 0x013E, //LATIN CAPITAL LETTER L WITH CARON LATIN SMALL LETTER L WITH CARON
0x013F, 0x0140, //LATIN CAPITAL LETTER L WITH MIDDLE DOT LATIN SMALL LETTER L WITH MIDDLE DOT
0x0141, 0x0142, //LATIN CAPITAL LETTER L WITH STROKE LATIN SMALL LETTER L WITH STROKE
0x0143, 0x0144, //LATIN CAPITAL LETTER N WITH ACUTE LATIN SMALL LETTER N WITH ACUTE
0x0145, 0x0146, //LATIN CAPITAL LETTER N WITH CEDILLA LATIN SMALL LETTER N WITH CEDILLA
0x0147, 0x0148, //LATIN CAPITAL LETTER N WITH CARON LATIN SMALL LETTER N WITH CARON
0x014A, 0x014B, //LATIN CAPITAL LETTER ENG (SAMI) LATIN SMALL LETTER ENG (SAMI)
0x014C, 0x014D, //LATIN CAPITAL LETTER O WITH MACRON LATIN SMALL LETTER O WITH MACRON
0x014E, 0x014F, //LATIN CAPITAL LETTER O WITH BREVE LATIN SMALL LETTER O WITH BREVE
0x0150, 0x0151, //LATIN CAPITAL LETTER O WITH DOUBLE ACUTE LATIN SMALL LETTER O WITH DOUBLE ACUTE
0x0152, 0x0153, //LATIN CAPITAL LIGATURE OE LATIN SMALL LIGATURE OE
0x0154, 0x0155, //LATIN CAPITAL LETTER R WITH ACUTE LATIN SMALL LETTER R WITH ACUTE
0x0156, 0x0157, //LATIN CAPITAL LETTER R WITH CEDILLA LATIN SMALL LETTER R WITH CEDILLA
0x0158, 0x0159, //LATIN CAPITAL LETTER R WITH CARON LATIN SMALL LETTER R WITH CARON
0x015A, 0x015B, //LATIN CAPITAL LETTER S WITH ACUTE LATIN SMALL LETTER S WITH ACUTE
0x015C, 0x015D, //LATIN CAPITAL LETTER S WITH CIRCUMFLEX LATIN SMALL LETTER S WITH CIRCUMFLEX
0x015E, 0x015F, //LATIN CAPITAL LETTER S WITH CEDILLA LATIN SMALL LETTER S WITH CEDILLA
0x0160, 0x0161, //LATIN CAPITAL LETTER S WITH CARON LATIN SMALL LETTER S WITH CARON
0x0162, 0x0163, //LATIN CAPITAL LETTER T WITH CEDILLA LATIN SMALL LETTER T WITH CEDILLA
0x0164, 0x0165, //LATIN CAPITAL LETTER T WITH CARON LATIN SMALL LETTER T WITH CARON
0x0166, 0x0167, //LATIN CAPITAL LETTER T WITH STROKE LATIN SMALL LETTER T WITH STROKE
0x0168, 0x0169, //LATIN CAPITAL LETTER U WITH TILDE LATIN SMALL LETTER U WITH TILDE
0x016A, 0x016B, //LATIN CAPITAL LETTER U WITH MACRON LATIN SMALL LETTER U WITH MACRON
0x016C, 0x016D, //LATIN CAPITAL LETTER U WITH BREVE LATIN SMALL LETTER U WITH BREVE
0x016E, 0x016F, //LATIN CAPITAL LETTER U WITH RING ABOVE LATIN SMALL LETTER U WITH RING ABOVE
0x0170, 0x0171, //LATIN CAPITAL LETTER U WITH DOUBLE ACUTE LATIN SMALL LETTER U WITH DOUBLE ACUTE
0x0172, 0x0173, //LATIN CAPITAL LETTER U WITH OGONEK LATIN SMALL LETTER U WITH OGONEK
0x0174, 0x0175, //LATIN CAPITAL LETTER W WITH CIRCUMFLEX LATIN SMALL LETTER W WITH CIRCUMFLEX
0x0176, 0x0177, //LATIN CAPITAL LETTER Y WITH CIRCUMFLEX LATIN SMALL LETTER Y WITH CIRCUMFLEX
0x0178, 0x00FF, //LATIN CAPITAL LETTER Y WITH DIAERESIS LATIN SMALL LETTER Y DIAERESIS
0x0179, 0x017A, //LATIN CAPITAL LETTER Z WITH ACUTE LATIN SMALL LETTER Z WITH ACUTE
0x017B, 0x017C, //LATIN CAPITAL LETTER Z WITH DOT ABOVE LATIN SMALL LETTER Z WITH DOT ABOVE
0x017D, 0x017E, //LATIN CAPITAL LETTER Z WITH CARON LATIN SMALL LETTER Z WITH CARON
0x0181, 0x0253, //LATIN CAPITAL LETTER B WITH HOOK LATIN SMALL LETTER B WITH HOOK
0x0182, 0x0183, //LATIN CAPITAL LETTER B WITH TOPBAR LATIN SMALL LETTER B WITH TOPBAR
0x0184, 0x0185, //LATIN CAPITAL LETTER TONE SIX LATIN SMALL LETTER TONE SIX
0x0186, 0x0254, //LATIN CAPITAL LETTER OPEN O LATIN SMALL LETTER OPEN O
0x0187, 0x0188, //LATIN CAPITAL LETTER C WITH HOOK LATIN SMALL LETTER C WITH HOOK
0x018A, 0x0257, //LATIN CAPITAL LETTER D WITH HOOK LATIN SMALL LETTER D WITH HOOK
0x018B, 0x018C, //LATIN CAPITAL LETTER D WITH TOPBAR LATIN SMALL LETTER D WITH TOPBAR
0x018E, 0x0258, //LATIN CAPITAL LETTER REVERSED E LATIN SMALL LETTER REVERSED E
0x018F, 0x0259, //LATIN CAPITAL LETTER SCHWA LATIN SMALL LETTER SCHWA
0x0190, 0x025B, //LATIN CAPITAL LETTER OPEN E LATIN SMALL LETTER OPEN E
0x0191, 0x0192, //LATIN CAPITAL LETTER F WITH HOOK LATIN SMALL LETTER F WITH HOOK
0x0193, 0x0260, //LATIN CAPITAL LETTER G WITH HOOK LATIN SMALL LETTER G WITH HOOK
0x0194, 0x0263, //LATIN CAPITAL LETTER GAMMA LATIN SMALL LETTER GAMMA
0x0196, 0x0269, //LATIN CAPITAL LETTER IOTA LATIN SMALL LETTER IOTA
0x0197, 0x0268, //LATIN CAPITAL LETTER I WITH STROKE LATIN SMALL LETTER I WITH STROKE
0x0198, 0x0199, //LATIN CAPITAL LETTER K WITH HOOK LATIN SMALL LETTER K WITH HOOK
0x019C, 0x026f, //LATIN CAPITAL LETTER TURNED M LATIN SMALL LETTER TURNED M
0x019D, 0x0272, //LATIN CAPITAL LETTER N WITH LEFT HOOK LATIN SMALL LETTER N WITH LEFT HOOK
0x019F, 0x0275, //LATIN CAPITAL LETTER O WITH MIDDLE TILDE LATIN SMALL LETTER BARRED O
0x01A0, 0x01A1, //LATIN CAPITAL LETTER O WITH HORN LATIN SMALL LETTER O WITH HORN
0x01A2, 0x01A3, //LATIN CAPITAL LETTER OI LATIN SMALL LETTER OI
0x01A4, 0x01A5, //LATIN CAPITAL LETTER P WITH HOOK LATIN SMALL LETTER P WITH HOOK
0x01A7, 0x01A8, //LATIN CAPITAL LETTER TONE TWO LATIN SMALL LETTER TONE TWO
0x01A9, 0x0283, //LATIN CAPITAL LETTER ESH LATIN SMALL LETTER ESH
0x01AC, 0x01AD, //LATIN CAPITAL LETTER T WITH HOOK LATIN SMALL LETTER T WITH HOOK
0x01AE, 0x0288, //LATIN CAPITAL LETTER T WITH RETROFLEX HOOK LATIN SMALL LETTER T WITH RETROFLEX HOOK
0x01AF, 0x01B0, //LATIN CAPITAL LETTER U WITH HORN LATIN SMALL LETTER U WITH HORN
0x01B1, 0x028A, //LATIN CAPITAL LETTER UPSILON LATIN SMALL LETTER UPSILON
0x01B2, 0x028B, //LATIN CAPITAL LETTER V WITH HOOK LATIN SMALL LETTER V WITH HOOK
0x01B3, 0x01B4, //LATIN CAPITAL LETTER Y WITH HOOK LATIN SMALL LETTER Y WITH HOOK
0x01B5, 0x01B6, //LATIN CAPITAL LETTER Z WITH STROKE LATIN SMALL LETTER Z WITH STROKE
0x01B7, 0x0292, //LATIN CAPITAL LETTER EZH LATIN SMALL LETTER EZH
0x01B8, 0x01B9, //LATIN CAPITAL LETTER EZH REVERSED LATIN SMALL LETTER EZH REVERSED
0x01BC, 0x01BD, //LATIN CAPITAL LETTER TONE FIVE LATIN SMALL LETTER TONE FIVE
0x01C4, 0x01C6, //LATIN CAPITAL LETTER DZ WITH CARON LATIN SMALL LETTER DZ WITH CARON
0x01C5, 0x01C6, //LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON LATIN SMALL LETTER DZ WITH CARON
0x01C7, 0x01C9, //LATIN CAPITAL LETTER LJ LATIN SMALL LETTER LJ
0x01C8, 0x01C9, //LATIN CAPITAL LETTER L WITH SMALL LETTER J LATIN SMALL LETTER LJ
0x01CA, 0x01CC, //LATIN CAPITAL LETTER NJ LATIN SMALL LETTER NJ
0x01CB, 0x01CC, //LATIN CAPITAL LETTER N WITH SMALL LETTER J LATIN SMALL LETTER NJ
0x01CD, 0x01CE, //LATIN CAPITAL LETTER A WITH CARON LATIN SMALL LETTER A WITH CARON
0x01CF, 0x01D0, //LATIN CAPITAL LETTER I WITH CARON LATIN SMALL LETTER I WITH CARON
0x01D1, 0x01D2, //LATIN CAPITAL LETTER O WITH CARON LATIN SMALL LETTER O WITH CARON
0x01D3, 0x01D4, //LATIN CAPITAL LETTER U WITH CARON LATIN SMALL LETTER U WITH CARON
0x01D5, 0x01D6, //LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
0x01D7, 0x01D8, //LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
0x01D9, 0x01DA, //LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON LATIN SMALL LETTER U WITH DIAERESIS AND CARON
0x01DB, 0x01DC, //LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
0x01DE, 0x01DF, //LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
0x01E0, 0x01E1, //LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
0x01E2, 0x01E3, //LATIN CAPITAL LIGATURE AE WITH MACRON LATIN SMALL LIGATURE AE WITH MACRON
0x01E4, 0x01E5, //LATIN CAPITAL LETTER G WITH STROKE LATIN SMALL LETTER G WITH STROKE
0x01E6, 0x01E7, //LATIN CAPITAL LETTER G WITH CARON LATIN SMALL LETTER G WITH CARON
0x01E8, 0x01E9, //LATIN CAPITAL LETTER K WITH CARON LATIN SMALL LETTER K WITH CARON
0x01EA, 0x01EB, //LATIN CAPITAL LETTER O WITH OGONEK LATIN SMALL LETTER O WITH OGONEK
0x01EC, 0x01ED, //LATIN CAPITAL LETTER O WITH OGONEK AND MACRON LATIN SMALL LETTER O WITH OGONEK AND MACRON
0x01EE, 0x01EF, //LATIN CAPITAL LETTER EZH WITH CARON LATIN SMALL LETTER EZH WITH CARON
0x01F1, 0x01F3, //LATIN CAPITAL LETTER DZ LATIN SMALL LETTER DZ
0x01F4, 0x01F5, //LATIN CAPITAL LETTER G WITH ACUTE LATIN SMALL LETTER G WITH ACUTE
0x01FA, 0x01FB, //LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
0x01FC, 0x01FD, //LATIN CAPITAL LIGATURE AE WITH ACUTE LATIN SMALL LIGATURE AE WITH ACUTE
0x01FE, 0x01FF, //LATIN CAPITAL LETTER O WITH STROKE AND ACUTE LATIN SMALL LETTER O WITH STROKE AND ACUTE
0x0200, 0x0201, //LATIN CAPITAL LETTER A WITH DOUBLE GRAVE LATIN SMALL LETTER A WITH DOUBLE GRAVE
0x0202, 0x0203, //LATIN CAPITAL LETTER A WITH INVERTED BREVE LATIN SMALL LETTER A WITH INVERTED BREVE
0x0204, 0x0205, //LATIN CAPITAL LETTER E WITH DOUBLE GRAVE LATIN SMALL LETTER E WITH DOUBLE GRAVE
0x0206, 0x0207, //LATIN CAPITAL LETTER E WITH INVERTED BREVE LATIN SMALL LETTER E WITH INVERTED BREVE
0x0208, 0x0209, //LATIN CAPITAL LETTER I WITH DOUBLE GRAVE LATIN SMALL LETTER I WITH DOUBLE GRAVE
0x020A, 0x020B, //LATIN CAPITAL LETTER I WITH INVERTED BREVE LATIN SMALL LETTER I WITH INVERTED BREVE
0x020C, 0x020D, //LATIN CAPITAL LETTER O WITH DOUBLE GRAVE LATIN SMALL LETTER O WITH DOUBLE GRAVE
0x020E, 0x020F, //LATIN CAPITAL LETTER O WITH INVERTED BREVE LATIN SMALL LETTER O WITH INVERTED BREVE
0x0210, 0x0211, //LATIN CAPITAL LETTER R WITH DOUBLE GRAVE LATIN SMALL LETTER R WITH DOUBLE GRAVE
0x0212, 0x0213, //LATIN CAPITAL LETTER R WITH INVERTED BREVE LATIN SMALL LETTER R WITH INVERTED BREVE
0x0214, 0x0215, //LATIN CAPITAL LETTER U WITH DOUBLE GRAVE LATIN SMALL LETTER U WITH DOUBLE GRAVE
0x0216, 0x0217, //LATIN CAPITAL LETTER U WITH INVERTED BREVE LATIN SMALL LETTER U WITH INVERTED BREVE
0x0386, 0x03AC, //GREEK CAPITAL LETTER ALPHA WITH TONOS GREEK SMALL LETTER ALPHA WITH TONOS
0x0388, 0x03AD, //GREEK CAPITAL LETTER EPSILON WITH TONOS GREEK SMALL LETTER EPSILON WITH TONOS
0x0389, 0x03AE, //GREEK CAPITAL LETTER ETA WITH TONOS GREEK SMALL LETTER ETA WITH TONOS
0x038A, 0x03AF, //GREEK CAPITAL LETTER IOTA WITH TONOS GREEK SMALL LETTER IOTA WITH TONOS
0x038C, 0x03CC, //GREEK CAPITAL LETTER OMICRON WITH TONOS GREEK SMALL LETTER OMICRON WITH TONOS
0x038E, 0x03CD, //GREEK CAPITAL LETTER UPSILON WITH TONOS GREEK SMALL LETTER UPSILON WITH TONOS
0x038F, 0x03CE, //GREEK CAPITAL LETTER OMEGA WITH TONOS GREEK SMALL LETTER OMEGA WITH TONOS
0x0391, 0x03B1, //GREEK CAPITAL LETTER ALPHA GREEK SMALL LETTER ALPHA
0x0392, 0x03B2, //GREEK CAPITAL LETTER BETA GREEK SMALL LETTER BETA
0x0393, 0x03B3, //GREEK CAPITAL LETTER GAMMA GREEK SMALL LETTER GAMMA
0x0394, 0x03B4, //GREEK CAPITAL LETTER DELTA GREEK SMALL LETTER DELTA
0x0395, 0x03B5, //GREEK CAPITAL LETTER EPSILON GREEK SMALL LETTER EPSILON
0x0396, 0x03B6, //GREEK CAPITAL LETTER ZETA GREEK SMALL LETTER ZETA
0x0397, 0x03B7, //GREEK CAPITAL LETTER ETA GREEK SMALL LETTER ETA
0x0398, 0x03B8, //GREEK CAPITAL LETTER THETA GREEK SMALL LETTER THETA
0x0399, 0x03B9, //GREEK CAPITAL LETTER IOTA GREEK SMALL LETTER IOTA
0x039A, 0x03BA, //GREEK CAPITAL LETTER KAPPA GREEK SMALL LETTER KAPPA
0x039B, 0x03BB, //GREEK CAPITAL LETTER LAMDA GREEK SMALL LETTER LAMDA
0x039C, 0x03BC, //GREEK CAPITAL LETTER MU GREEK SMALL LETTER MU
0x039D, 0x03BD, //GREEK CAPITAL LETTER NU GREEK SMALL LETTER NU
0x039E, 0x03BE, //GREEK CAPITAL LETTER XI GREEK SMALL LETTER XI
0x039F, 0x03BF, //GREEK CAPITAL LETTER OMICRON GREEK SMALL LETTER OMICRON
0x03A0, 0x03C0, //GREEK CAPITAL LETTER PI GREEK SMALL LETTER PI
0x03A1, 0x03C1, //GREEK CAPITAL LETTER RHO GREEK SMALL LETTER RHO
0x03A3, 0x03C3, //GREEK CAPITAL LETTER SIGMA GREEK SMALL LETTER SIGMA
0x03A4, 0x03C4, //GREEK CAPITAL LETTER TAU GREEK SMALL LETTER TAU
0x03A5, 0x03C5, //GREEK CAPITAL LETTER UPSILON GREEK SMALL LETTER UPSILON
0x03A6, 0x03C6, //GREEK CAPITAL LETTER PHI GREEK SMALL LETTER PHI
0x03A7, 0x03C7, //GREEK CAPITAL LETTER CHI GREEK SMALL LETTER CHI
0x03A8, 0x03C8, //GREEK CAPITAL LETTER PSI GREEK SMALL LETTER PSI
0x03A9, 0x03C9, //GREEK CAPITAL LETTER OMEGA GREEK SMALL LETTER OMEGA
0x03AA, 0x03CA, //GREEK CAPITAL LETTER IOTA WITH DIALYTIKA GREEK SMALL LETTER IOTA WITH DIALYTIKA
0x03AB, 0x03CB, //GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA GREEK SMALL LETTER UPSILON WITH DIALYTIKA
0x03E2, 0x03E3, //COPTIC CAPITAL LETTER SHEI COPTIC SMALL LETTER SHEI
0x03E4, 0x03E5, //COPTIC CAPITAL LETTER FEI COPTIC SMALL LETTER FEI
0x03E6, 0x03E7, //COPTIC CAPITAL LETTER KHEI COPTIC SMALL LETTER KHEI
0x03E8, 0x03E9, //COPTIC CAPITAL LETTER HORI COPTIC SMALL LETTER HORI
0x03EA, 0x03EB, //COPTIC CAPITAL LETTER GANGIA COPTIC SMALL LETTER GANGIA
0x03EC, 0x03ED, //COPTIC CAPITAL LETTER SHIMA COPTIC SMALL LETTER SHIMA
0x03EE, 0x03EF, //COPTIC CAPITAL LETTER DEI COPTIC SMALL LETTER DEI
0x0401, 0x0451, //CYRILLIC CAPITAL LETTER IO CYRILLIC SMALL LETTER IO
0x0402, 0x0452, //CYRILLIC CAPITAL LETTER DJE (SERBOCROATIAN) CYRILLIC SMALL LETTER DJE (SERBOCROATIAN)
0x0403, 0x0453, //CYRILLIC CAPITAL LETTER GJE CYRILLIC SMALL LETTER GJE
0x0404, 0x0454, //CYRILLIC CAPITAL LETTER UKRAINIAN IE CYRILLIC SMALL LETTER UKRAINIAN IE
0x0405, 0x0455, //CYRILLIC CAPITAL LETTER DZE CYRILLIC SMALL LETTER DZE
0x0406, 0x0456, //CYRILLIC CAPITAL LETTER BYELORUSSIAN_UKRAINIAN I CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
0x0407, 0x0457, //CYRILLIC CAPITAL LETTER YI (UKRAINIAN) CYRILLIC SMALL LETTER YI (UKRAINIAN)
0x0408, 0x0458, //CYRILLIC CAPITAL LETTER JE CYRILLIC SMALL LETTER JE
0x0409, 0x0459, //CYRILLIC CAPITAL LETTER LJE CYRILLIC SMALL LETTER LJE
0x040A, 0x045A, //CYRILLIC CAPITAL LETTER NJE CYRILLIC SMALL LETTER NJE
0x040B, 0x045B, //CYRILLIC CAPITAL LETTER TSHE (SERBOCROATIAN) CYRILLIC SMALL LETTER TSHE (SERBOCROATIAN)
0x040C, 0x045C, //CYRILLIC CAPITAL LETTER KJE CYRILLIC SMALL LETTER KJE
0x040E, 0x045E, //CYRILLIC CAPITAL LETTER SHORT U (BYELORUSSIAN) CYRILLIC SMALL LETTER SHORT U (BYELORUSSIAN)
0x040F, 0x045F, //CYRILLIC CAPITAL LETTER DZHE CYRILLIC SMALL LETTER DZHE
0x0410, 0x0430, //CYRILLIC CAPITAL LETTER A CYRILLIC SMALL LETTER A
0x0411, 0x0431, //CYRILLIC CAPITAL LETTER BE CYRILLIC SMALL LETTER BE
0x0412, 0x0432, //CYRILLIC CAPITAL LETTER VE CYRILLIC SMALL LETTER VE
0x0413, 0x0433, //CYRILLIC CAPITAL LETTER GHE CYRILLIC SMALL LETTER GHE
0x0414, 0x0434, //CYRILLIC CAPITAL LETTER DE CYRILLIC SMALL LETTER DE
0x0415, 0x0435, //CYRILLIC CAPITAL LETTER IE CYRILLIC SMALL LETTER IE
0x0416, 0x0436, //CYRILLIC CAPITAL LETTER ZHE CYRILLIC SMALL LETTER ZHE
0x0417, 0x0437, //CYRILLIC CAPITAL LETTER ZE CYRILLIC SMALL LETTER ZE
0x0418, 0x0438, //CYRILLIC CAPITAL LETTER I CYRILLIC SMALL LETTER I
0x0419, 0x0439, //CYRILLIC CAPITAL LETTER SHORT I CYRILLIC SMALL LETTER SHORT I
0x041A, 0x043A, //CYRILLIC CAPITAL LETTER KA CYRILLIC SMALL LETTER KA
0x041B, 0x043B, //CYRILLIC CAPITAL LETTER EL CYRILLIC SMALL LETTER EL
0x041C, 0x043C, //CYRILLIC CAPITAL LETTER EM CYRILLIC SMALL LETTER EM
0x041D, 0x043D, //CYRILLIC CAPITAL LETTER EN CYRILLIC SMALL LETTER EN
0x041E, 0x043E, //CYRILLIC CAPITAL LETTER O CYRILLIC SMALL LETTER O
0x041F, 0x043F, //CYRILLIC CAPITAL LETTER PE CYRILLIC SMALL LETTER PE
0x0420, 0x0440, //CYRILLIC CAPITAL LETTER ER CYRILLIC SMALL LETTER ER
0x0421, 0x0441, //CYRILLIC CAPITAL LETTER ES CYRILLIC SMALL LETTER ES
0x0422, 0x0442, //CYRILLIC CAPITAL LETTER TE CYRILLIC SMALL LETTER TE
0x0423, 0x0443, //CYRILLIC CAPITAL LETTER U CYRILLIC SMALL LETTER U
0x0424, 0x0444, //CYRILLIC CAPITAL LETTER EF CYRILLIC SMALL LETTER EF
0x0425, 0x0445, //CYRILLIC CAPITAL LETTER HA CYRILLIC SMALL LETTER HA
0x0426, 0x0446, //CYRILLIC CAPITAL LETTER TSE CYRILLIC SMALL LETTER TSE
0x0427, 0x0447, //CYRILLIC CAPITAL LETTER CHE CYRILLIC SMALL LETTER CHE
0x0428, 0x0448, //CYRILLIC CAPITAL LETTER SHA CYRILLIC SMALL LETTER SHA
0x0429, 0x0449, //CYRILLIC CAPITAL LETTER SHCHA CYRILLIC SMALL LETTER SHCHA
0x042A, 0x044A, //CYRILLIC CAPITAL LETTER HARD SIGN CYRILLIC SMALL LETTER HARD SIGN
0x042B, 0x044B, //CYRILLIC CAPITAL LETTER YERU CYRILLIC SMALL LETTER YERU
0x042C, 0x044C, //CYRILLIC CAPITAL LETTER SOFT SIGN CYRILLIC SMALL LETTER SOFT SIGN
0x042D, 0x044D, //CYRILLIC CAPITAL LETTER E CYRILLIC SMALL LETTER E
0x042E, 0x044E, //CYRILLIC CAPITAL LETTER YU CYRILLIC SMALL LETTER YU
0x042F, 0x044F, //CYRILLIC CAPITAL LETTER YA CYRILLIC SMALL LETTER YA
0x0460, 0x0461, //CYRILLIC CAPITAL LETTER OMEGA CYRILLIC SMALL LETTER OMEGA
0x0462, 0x0463, //CYRILLIC CAPITAL LETTER YAT CYRILLIC SMALL LETTER YAT
0x0464, 0x0465, //CYRILLIC CAPITAL LETTER IOTIFIED E CYRILLIC SMALL LETTER IOTIFIED E
0x0466, 0x0467, //CYRILLIC CAPITAL LETTER LITTLE YUS CYRILLIC SMALL LETTER LITTLE YUS
0x0468, 0x0469, //CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
0x046A, 0x046B, //CYRILLIC CAPITAL LETTER BIG YUS CYRILLIC SMALL LETTER BIG YUS
0x046C, 0x046D, //CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS CYRILLIC SMALL LETTER IOTIFIED BIG YUS
0x046E, 0x046F, //CYRILLIC CAPITAL LETTER KSI CYRILLIC SMALL LETTER KSI
0x0470, 0x0471, //CYRILLIC CAPITAL LETTER PSI CYRILLIC SMALL LETTER PSI
0x0472, 0x0473, //CYRILLIC CAPITAL LETTER FITA CYRILLIC SMALL LETTER FITA
0x0474, 0x0475, //CYRILLIC CAPITAL LETTER IZHITSA CYRILLIC SMALL LETTER IZHITSA
0x0476, 0x0477, //CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
0x0478, 0x0479, //CYRILLIC CAPITAL LETTER UK CYRILLIC SMALL LETTER UK
0x047A, 0x047B, //CYRILLIC CAPITAL LETTER ROUND OMEGA CYRILLIC SMALL LETTER ROUND OMEGA
0x047C, 0x047D, //CYRILLIC CAPITAL LETTER OMEGA WITH TITLO CYRILLIC SMALL LETTER OMEGA WITH TITLO
0x047E, 0x047F, //CYRILLIC CAPITAL LETTER OT CYRILLIC SMALL LETTER OT
0x0480, 0x0481, //CYRILLIC CAPITAL LETTER KOPPA CYRILLIC SMALL LETTER KOPPA
0x0490, 0x0491, //CYRILLIC CAPITAL LETTER GHE WITH UPTURN CYRILLIC SMALL LETTER GHE WITH UPTURN
0x0492, 0x0493, //CYRILLIC CAPITAL LETTER GHE WITH STROKE CYRILLIC SMALL LETTER GHE WITH STROKE
0x0494, 0x0495, //CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
0x0496, 0x0497, //CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER CYRILLIC SMALL LETTER ZHE WITH DESCENDER
0x0498, 0x0499, //CYRILLIC CAPITAL LETTER ZE WITH DESCENDER CYRILLIC SMALL LETTER ZE WITH DESCENDER
0x049A, 0x049B, //CYRILLIC CAPITAL LETTER KA WITH DESCENDER CYRILLIC SMALL LETTER KA WITH DESCENDER
0x049C, 0x049D, //CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
0x049E, 0x049F, //CYRILLIC CAPITAL LETTER KA WITH STROKE CYRILLIC SMALL LETTER KA WITH STROKE
0x04A0, 0x04A1, //CYRILLIC CAPITAL LETTER BASHKIR KA CYRILLIC SMALL LETTER EASHKIR KA
0x04A2, 0x04A3, //CYRILLIC CAPITAL LETTER EN WITH DESCENDER CYRILLIC SMALL LETTER EN WITH DESCENDER
0x04A4, 0x04A5, //CYRILLIC CAPITAL LIGATURE EN GHF CYRILLIC SMALL LIGATURE EN GHE
0x04A6, 0x04A7, //CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK (ABKHASIAN) CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK (ABKHASIAN)
0x04A8, 0x04A9, //CYRILLIC CAPITAL LETTER ABKHASIAN HA CYRILLIC SMALL LETTER ABKHASIAN HA
0x04AA, 0x04AB, //CYRILLIC CAPITAL LETTER ES WITH DESCENDER CYRILLIC SMALL LETTER ES WITH DESCENDER
0x04AC, 0x04AD, //CYRILLIC CAPITAL LETTER TE WITH DESCENDER CYRILLIC SMALL LETTER TE WITH DESCENDER
0x04AE, 0x04AF, //CYRILLIC CAPITAL LETTER STRAIGHT U CYRILLIC SMALL LETTER STRAIGHT U
0x04B0, 0x04B1, //CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
0x04B2, 0x04B3, //CYRILLIC CAPITAL LETTER HA WITH DESCENDER CYRILLIC SMALL LETTER HA WITH DESCENDER
0x04B4, 0x04B5, //CYRILLIC CAPITAL LIGATURE TE TSE (ABKHASIAN) CYRILLIC SMALL LIGATURE TE TSE (ABKHASIAN)
0x04B6, 0x04B7, //CYRILLIC CAPITAL LETTER CHE WITH DESCENDER CYRILLIC SMALL LETTER CHE WITH DESCENDER
0x04B8, 0x04B9, //CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
0x04BA, 0x04BB, //CYRILLIC CAPITAL LETTER SHHA CYRILLIC SMALL LETTER SHHA
0x04BC, 0x04BD, //CYRILLIC CAPITAL LETTER ABKHASIAN CHE CYRILLIC SMALL LETTER ABKHASIAN CHE
0x04BE, 0x04BF, //CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
0x04C1, 0x04C2, //CYRILLIC CAPITAL LETTER ZHE WITH BREVE CYRILLIC SMALL LETTER ZHE WITH BREVE
0x04C3, 0x04C4, //CYRILLIC CAPITAL LETTER KA WITH HOOK CYRILLIC SMALL LETTER KA WITH HOOK
0x04C7, 0x04C8, //CYRILLIC CAPITAL LETTER EN WITH HOOK CYRILLIC SMALL LETTER EN WITH HOOK
0x04CB, 0x04CC, //CYRILLIC CAPITAL LETTER KHAKASSIAN CHE CYRILLIC SMALL LETTER KHAKASSIAN CHE
0x04D0, 0x04D1, //CYRILLIC CAPITAL LETTER A WITH BREVE CYRILLIC SMALL LETTER A WITH BREVE
0x04D2, 0x04D3, //CYRILLIC CAPITAL LETTER A WITH DIAERESIS CYRILLIC SMALL LETTER A WITH DIAERESIS
0x04D4, 0x04D5, //CYRILLIC CAPITAL LIGATURE A IE CYRILLIC SMALL LIGATURE A IE
0x04D6, 0x04D7, //CYRILLIC CAPITAL LETTER IE WITH BREVE CYRILLIC SMALL LETTER IE WITH BREVE
0x04D8, 0x04D9, //CYRILLIC CAPITAL LETTER SCHWA CYRILLIC SMALL LETTER SCHWA
0x04DA, 0x04DB, //CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
0x04DC, 0x04DD, //CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
0x04DE, 0x04DF, //CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS CYRILLIC SMALL LETTER ZE WITH DIAERESIS
0x04E0, 0x04E1, //CYRILLIC CAPITAL LETTER ABKHASIAN DZE CYRILLIC SMALL LETTER ABKHASIAN DZE
0x04E2, 0x04E3, //CYRILLIC CAPITAL LETTER I WITH MACRON CYRILLIC SMALL LETTER I WITH MACRON
0x04E4, 0x04E5, //CYRILLIC CAPITAL LETTER I WITH DIAERESIS CYRILLIC SMALL LETTER I WITH DIAERESIS
0x04E6, 0x04E7, //CYRILLIC CAPITAL LETTER O WITH DIAERESIS CYRILLIC SMALL LETTER O WITH DIAERESIS
0x04E8, 0x04E9, //CYRILLIC CAPITAL LETTER BARRED O CYRILLIC SMALL LETTER BARRED O
0x04EA, 0x04EB, //CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS CYRILLIC SMALL LETTER BARRED 0 WITH DIAERESIS
0x04EE, 0x04EF, //CYRILLIC CAPITAL LETTER U WITH MACRON CYRILLIC SMALL LETTER U WITH MACRON
0x04F0, 0x04F1, //CYRILLIC CAPITAL LETTER U WITH DIAERESIS CYRILLIC SMALL LETTER U WITH DIAERESIS
0x04F2, 0x04F3, //CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
0x04F4, 0x04F5, //CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS CYRILLIC SMALL LETTER CHE WITH DIAERESIS
0x04F8, 0x04F9, //CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS CYRILLIC SMALL LETTER YERU WITH DIAERESIS
0x0531, 0x0561, //ARMENIAN CAPITAL LETTER AYB ARMENIAN SMALL LETTER AYB
0x0532, 0x0562, //ARMENIAN CAPITAL LETTER BEN ARMENIAN SMALL LETTER BEN
0x0533, 0x0563, //ARMENIAN CAPITAL LETTER GIM ARMENIAN SMALL LETTER GIM
0x0534, 0x0564, //ARMENIAN CAPITAL LETTER DA ARMENIAN SMALL LETTER DA
0x0535, 0x0565, //ARMENIAN CAPITAL LETTER ECH ARMENIAN SMALL LETTER ECH
0x0536, 0x0566, //ARMENIAN CAPITAL LETTER ZA ARMENIAN SMALL LETTER ZA
0x0537, 0x0567, //ARMENIAN CAPITAL LETTER EH ARMENIAN SMALL LETTER EH
0x0538, 0x0568, //ARMENIAN CAPITAL LETTER ET ARMENIAN SMALL LETTER ET
0x0539, 0x0569, //ARMENIAN CAPITAL LETTER TO ARMENIAN SMALL LETTER TO
0x053A, 0x056A, //ARMENIAN CAPITAL LETTER ZHE ARMENIAN SMALL LETTER ZHE
0x053B, 0x056B, //ARMENIAN CAPITAL LETTER INI ARMENIAN SMALL LETTER INI
0x053C, 0x056C, //ARMENIAN CAPITAL LETTER LIWN ARMENIAN SMALL LETTER LIWN
0x053D, 0x056D, //ARMENIAN CAPITAL LETTER XEH ARMENIAN SMALL LETTER XEH
0x053E, 0x056E, //ARMENIAN CAPITAL LETTER CA ARMENIAN SMALL LETTER CA
0x053F, 0x056F, //ARMENIAN CAPITAL LETTER KEN ARMENIAN SMALL LETTER KEN
0x0540, 0x0570, //ARMENIAN CAPITAL LETTER HO ARMENIAN SMALL LETTER HO
0x0541, 0x0571, //ARMENIAN CAPITAL LETTER JA ARMENIAN SMALL LETTER JA
0x0542, 0x0572, //ARMENIAN CAPITAL LETTER GHAD ARMENIAN SMALL LETTER GHAD
0x0543, 0x0573, //ARMENIAN CAPITAL LETTER CHEH ARMENIAN SMALL LETTER CHEH
0x0544, 0x0574, //ARMENIAN CAPITAL LETTER MEN ARMENIAN SMALL LETTER MEN
0x0545, 0x0575, //ARMENIAN CAPITAL LETTER YI ARMENIAN SMALL LETTER YI
0x0546, 0x0576, //ARMENIAN CAPITAL LETTER NOW ARMENIAN SMALL LETTER NOW
0x0547, 0x0577, //ARMENIAN CAPITAL LETTER SHA ARMENIAN SMALL LETTER SNA
0x0548, 0x0578, //ARMENIAN CAPITAL LETTER VO ARMENIAN SMALL LETTER VO
0x0549, 0x0579, //ARMENIAN CAPITAL LETTER CHA ARMENIAN SMALL LETTER CHA
0x054A, 0x057A, //ARMENIAN CAPITAL LETTER PEH ARMENIAN SMALL LETTER PEH
0x054B, 0x057B, //ARMENIAN CAPITAL LETTER JHEH ARMENIAN SMALL LETTER JHEH
0x054C, 0x057C, //ARMENIAN CAPITAL LETTER RA ARMENIAN SMALL LETTER RA
0x054D, 0x057D, //ARMENIAN CAPITAL LETTER SEH ARMENIAN SMALL LETTER SEH
0x054E, 0x057E, //ARMENIAN CAPITAL LETTER VEW ARMENIAN SMALL LETTER VEW
0x054F, 0x057F, //ARMENIAN CAPITAL LETTER TIWN ARMENIAN SMALL LETTER TIWN
0x0550, 0x0580, //ARMENIAN CAPITAL LETTER REH ARMENIAN SMALL LETTER REH
0x0551, 0x0581, //ARMENIAN CAPITAL LETTER CO ARMENIAN SMALL LETTER CO
0x0552, 0x0582, //ARMENIAN CAPITAL LETTER YIWN ARMENIAN SMALL LETTER YIWN
0x0553, 0x0583, //ARMENIAN CAPITAL LETTER PIWR ARMENIAN SMALL LETTER PIWP
0x0554, 0x0584, //ARMENIAN CAPITAL LETTER KEH ARMENIAN SMALL LETTER KEH
0x0555, 0x0585, //ARMENIAN CAPITAL LETTER OH ARMENIAN SMALL LETTER OH
0x0556, 0x0586, //ARMENIAN CAPITAL LETTER FEH ARMENIAN SMALL LETTER FEH
0x10A0, 0x10D0, //GEORGIAN CAPITAL LETTER AN (KHUTSURI) GEORGIAN LETTER AN
0x10A1, 0x10D1, //GEORGIAN CAPITAL LETTER BAN (KHUTSURI) GEORGIAN LETTER BAN
0x10A2, 0x10D2, //GEORGIAN CAPITAL LETTER GAN (KHUTSURI) GEORGIAN LETTER GAN
0x10A3, 0x10D3, //GEORGIAN CAPITAL LETTER DON (KHUTSURI) GEORGIAN LETTER DON
0x10A4, 0x10D4, //GEORGIAN CAPITAL LETTER EN (KHUTSURI) GEORGIAN LETTER EN
0x10A5, 0x10D5, //GEORGIAN CAPITAL LETTER VIN (KHUTSURI) GEORGIAN LETTER VIN
0x10A6, 0x10D6, //GEORGIAN CAPITAL LETTER ZEN (KHUTSURI) GEORGIAN LETTER ZEN
0x10A7, 0x10D7, //GEORGIAN CAPITAL LETTER TAN (KHUTSURI) GEORGIAN LETTER TAN
0x10A8, 0x10D8, //GEORGIAN CAPITAL LETTER IN (KHUTSURI) GEORGIAN LETTER IN
0x10A9, 0x10D9, //GEORGIAN CAPITAL LETTER KAN (KHUTSURI) GEORGIAN LETTER KAN
0x10AA, 0x10DA, //GEORGIAN CAPITAL LETTER LAS (KHUTSURI) GEORGIAN LETTER LAS
0x10AB, 0x10DB, //GEORGIAN CAPITAL LETTER MAN (KHUTSURI) GEORGIAN LETTER MAN
0x10AC, 0x10DC, //GEORGIAN CAPITAL LETTER NAR (KHUTSURI) GEORGIAN LETTER NAR
0x10AD, 0x10DD, //GEORGIAN CAPITAL LETTER ON (KHUTSURI) GEORGIAN LETTER ON
0x10AE, 0x10DE, //GEORGIAN CAPITAL LETTER PAR (KHUTSURI) GEORGIAN LETTER PAR
0x10AF, 0x10DF, //GEORGIAN CAPITAL LETTER ZHAR (KHUTSURI) GEORGIAN LETTER ZHAR
0x10B0, 0x10E0, //GEORGIAN CAPITAL LETTER RAE (KHUTSURI) GEORGIAN LETTER RAE
0x10B1, 0x10E1, //GEORGIAN CAPITAL LETTER SAN (KHUTSURI) GEORGIAN LETTER SAN
0x10B2, 0x10E2, //GEORGIAN CAPITAL LETTER TAR (KHUTSURI) GEORGIAN LETTER TAR
0x10B3, 0x10E3, //GEORGIAN CAPITAL LETTER UN (KHUTSURI) GEORGIAN LETTER UN
0x10B4, 0x10E4, //GEORGIAN CAPITAL LETTER PHAR (KHUTSURI) GEORGIAN LETTER PHAR
0x10B5, 0x10E5, //GEORGIAN CAPITAL LETTER KHAR (KHUTSURI) GEORGIAN LETTER KHAR
0x10B6, 0x10E6, //GEORGIAN CAPITAL LETTER GHAN (KHUTSURI) GEORGIAN LETTER GHAN
0x10B7, 0x10E7, //GEORGIAN CAPITAL LETTER QAR (KHUTSURI) GEORGIAN LETTER QAR
0x10B8, 0x10E8, //GEORGIAN CAPITAL LETTER SHIN (KHUTSURI) GEORGIAN LETTER SHIN
0x10B9, 0x10E9, //GEORGIAN CAPITAL LETTER CHIN (KHUTSURI) GEORGIAN LETTER CHIN
0x10BA, 0x10EA, //GEORGIAN CAPITAL LETTER CAN (KHUTSURI) GEORGIAN LETTER CAN
0x10BB, 0x10EB, //GEORGIAN CAPITAL LETTER JIL (KHUTSURI) GEORGIAN LETTER JIL
0x10BC, 0x10EC, //GEORGIAN CAPITAL LETTER CIL (KHUTSURI) GEORGIAN LETTER CIL
0x10BD, 0x10ED, //GEORGIAN CAPITAL LETTER CHAR (KHUTSURI) GEORGIAN LETTER CHAR
0x10BE, 0x10EE, //GEORGIAN CAPITAL LETTER XAN (KHUTSURI) GEORGIAN LETTER XAN
0x10BF, 0x10EF, //GEORGIAN CAPITAL LETTER JHAN (KHUTSURI) GEORGIAN LETTER JHAN
0x10C0, 0x10F0, //GEORGIAN CAPITAL LETTER HAE (KHUTSURI) GEORGIAN LETTER HAE
0x10C1, 0x10F1, //GEORGIAN CAPITAL LETTER HE (KHUTSURI) GEORGIAN LETTER HE
0x10C2, 0x10F2, //GEORGIAN CAPITAL LETTER HIE (KHUTSURI) GEORGIAN LETTER HIE
0x10C3, 0x10F3, //GEORGIAN CAPITAL LETTER WE (KHUTSURI) GEORGIAN LETTER WE
0x10C4, 0x10F4, //GEORGIAN CAPITAL LETTER HAR (KHUTSURI) GEORGIAN LETTER HAR
0x10C5, 0x10F5, //GEORGIAN CAPITAL LETTER HOE (KHUTSURI) GEORGIAN LETTER HOE
0x1E00, 0x1E01, //LATIN CAPITAL LETTER A WITH RING BELOW LATIN SMALL LETTER A WITH RING BELOW
0x1E02, 0x1E03, //LATIN CAPITAL LETTER B WITH DOT ABOVE LATIN SMALL LETTER B WITH DOT ABOVE
0x1E04, 0x1E05, //LATIN CAPITAL LETTER B WITH DOT BELOW LATIN SMALL LETTER B WITH DOT BELOW
0x1E06, 0x1E07, //LATIN CAPITAL LETTER B WITH LINE BELOW LATIN SMALL LETTER B WITH LINE BELOW
0x1E08, 0x1E09, //LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
0x1E0A, 0x1E0B, //LATIN CAPITAL LETTER D WITH DOT ABOVE LATIN SMALL LETTER D WITH DOT ABOVE
0x1E0C, 0x1E0D, //LATIN CAPITAL LETTER D WITH DOT BELOW LATIN SMALL LETTER D WITH DOT BELOW
0x1E0E, 0x1E0F, //LATIN CAPITAL LETTER D WITH LINE BELOW LATIN SMALL LETTER D WITH LINE BELOW
0x1E10, 0x1E11, //LATIN CAPITAL LETTER D WITH CEDILLA LATIN SMALL LETTER D WITH CEDILLA
0x1E12, 0x1E13, //LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
0x1E14, 0x1E15, //LATIN CAPITAL LETTER E WITH MACRON AND GRAVE LATIN SMALL LETTER E WITH MACRON AND GRAVE
0x1E16, 0x1E17, //LATIN CAPITAL LETTER E WITH MACRON AND ACUTE LATIN SMALL LETTER E WITH MACRON AND ACUTE
0x1E18, 0x1E19, //LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
0x1E1A, 0x1E1B, //LATIN CAPITAL LETTER E WITH TILDE BELOW LATIN SMALL LETTER E WITH TILDE BELOW
0x1E1C, 0x1E1D, //LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE LATIN SMALL LETTER E WITH CEDILLA AND BREVE
0x1E1E, 0x1E1F, //LATIN CAPITAL LETTER F WITH DOT ABOVE LATIN SMALL LETTER F WITH DOT ABOVE
0x1E20, 0x1E21, //LATIN CAPITAL LETTER G WITH MACRON LATIN SMALL LETTER G WITH MACRON
0x1E22, 0x1E23, //LATIN CAPITAL LETTER H WITH DOT ABOVE LATIN SMALL LETTER H WITH DOT ABOVE
0x1E24, 0x1E25, //LATIN CAPITAL LETTER H WITH DOT BELOW LATIN SMALL LETTER H WITH DOT BELOW
0x1E26, 0x1E27, //LATIN CAPITAL LETTER H WITH DIAERESIS LATIN SMALL LETTER H WITH DIAERESIS
0x1E28, 0x1E29, //LATIN CAPITAL LETTER H WITH CEDILLA LATIN SMALL LETTER H WITH CEDILLA
0x1E2A, 0x1E2B, //LATIN CAPITAL LETTER H WITH BREVE BELOW LATIN SMALL LETTER H WITH BREVE BELOW
0x1E2C, 0x1E2D, //LATIN CAPITAL LETTER I WITH TILDE BELOW LATIN SMALL LETTER I WITH TILDE BELOW
0x1E2E, 0x1E2F, //LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
0x1E30, 0x1E31, //LATIN CAPITAL LETTER K WITH ACUTE LATIN SMALL LETTER K WITH ACUTE
0x1E32, 0x1E33, //LATIN CAPITAL LETTER K WITH DOT BELOW LATIN SMALL LETTER K WITH DOT BELOW
0x1E34, 0x1E35, //LATIN CAPITAL LETTER K WITH LINE BELOW LATIN SMALL LETTER K WITH LINE BELOW
0x1E36, 0x1E37, //LATIN CAPITAL LETTER L WITH DOT BELOW LATIN SMALL LETTER L WITH DOT BELOW
0x1E38, 0x1E39, //LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
0x1E3A, 0x1E3B, //LATIN CAPITAL LETTER L WITH LINE BELOW LATIN SMALL LETTER L WITH LINE BELOW
0x1E3C, 0x1E3D, //LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
0x1E3E, 0x1E3F, //LATIN CAPITAL LETTER M WITH ACUTE LATIN SMALL LETTER M WITH ACUTE
0x1E40, 0x1E41, //LATIN CAPITAL LETTER M WITH DOT ABOVE LATIN SMALL LETTER M WITH DOT ABOVE
0x1E42, 0x1E43, //LATIN CAPITAL LETTER M WITH DOT BELOW LATIN SMALL LETTER M WITH DOT BELOW
0x1E44, 0x1E45, //LATIN CAPITAL LETTER N WITH DOT ABOVE LATIN SMALL LETTER N WITH DOT ABOVE
0x1E46, 0x1E47, //LATIN CAPITAL LETTER N WITH DOT BELOW LATIN SMALL LETTER N WITH DOT BELOW
0x1E48, 0x1E49, //LATIN CAPITAL LETTER N WITH LINE BELOW LATIN SMALL LETTER N WITH LINE BELOW
0x1E4A, 0x1E4B, //LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
0x1E4C, 0x1E4D, //LATIN CAPITAL LETTER O WITH TILDE AND ACUTE LATIN SMALL LETTER O WITH TILDE AND ACUTE
0x1E4E, 0x1E4F, //LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
0x1E50, 0x1E51, //LATIN CAPITAL LETTER O WITH MACRON AND GRAVE LATIN SMALL LETTER O WITH MACRON AND GRAVE
0x1E52, 0x1E53, //LATIN CAPITAL LETTER O WITH MACRON AND ACUTE LATIN SMALL LETTER O WITH MACRON AND ACUTE
0x1E54, 0x1E55, //LATIN CAPITAL LETTER P WITH ACUTE LATIN SMALL LETTER P WITH ACUTE
0x1E56, 0x1E57, //LATIN CAPITAL LETTER P WITH DOT ABOVE LATIN SMALL LETTER P WITH DOT ABOVE
0x1E58, 0x1E59, //LATIN CAPITAL LETTER R WITH DOT ABOVE LATIN SMALL LETTER R WITH DOT ABOVE
0x1E5A, 0x1E5B, //LATIN CAPITAL LETTER R WITH DOT BELOW LATIN SMALL LETTER R WITH DOT BELOW
0x1E5C, 0x1E5D, //LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
0x1E5E, 0x1E5F, //LATIN CAPITAL LETTER R WITH LINE BELOW LATIN SMALL LETTER R WITH LINE BELOW
0x1E60, 0x1E61, //LATIN CAPITAL LETTER S WITH DOT ABOVE LATIN SMALL LETTER S WITH DOT ABOVE
0x1E62, 0x1E63, //LATIN CAPITAL LETTER S WITH DOT BELOW LATIN SMALL LETTER S WITH DOT BELOW
0x1E64, 0x1E65, //LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
0x1E66, 0x1E67, //LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
0x1E68, 0x1E69, //LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
0x1E6A, 0x1E6B, //LATIN CAPITAL LETTER T WITH DOT ABOVE LATIN SMALL LETTER T WITH DOT ABOVE
0x1E6C, 0x1E6D, //LATIN CAPITAL LETTER T WITH DOT BELOW LATIN SMALL LETTER T WITH DOT BELOW
0x1E6E, 0x1E6F, //LATIN CAPITAL LETTER T WITH LINE BELOW LATIN SMALL LETTER T WITH LINE BELOW
0x1E70, 0x1E71, //LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
0x1E72, 0x1E73, //LATIN CAPITAL LETTER U WITH DIAERESIS BELOW LATIN SMALL LETTER U WITH DIAERESIS BELOW
0x1E74, 0x1E75, //LATIN CAPITAL LETTER U WITH TILDE BELOW LATIN SMALL LETTER U WITH TILDE BELOW
0x1E76, 0x1E77, //LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
0x1E78, 0x1E79, //LATIN CAPITAL LETTER U WITH TILDE AND ACUTE LATIN SMALL LETTER U WITH TILDE AND ACUTE
0x1E7A, 0x1E7B, //LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
0x1E7C, 0x1E7D, //LATIN CAPITAL LETTER V WITH TILDE LATIN SMALL LETTER V WITH TILDE
0x1E7E, 0x1E7F, //LATIN CAPITAL LETTER V WITH DOT BELOW LATIN SMALL LETTER V WITH DOT BELOW
0x1E80, 0x1E81, //LATIN CAPITAL LETTER W WITH GRAVE LATIN SMALL LETTER W WITH GRAVE
0x1E82, 0x1E83, //LATIN CAPITAL LETTER W WITH ACUTE LATIN SMALL LETTER W WITH ACUTE
0x1E84, 0x1E85, //LATIN CAPITAL LETTER W WITH DIAERESIS LATIN SMALL LETTER W WITH DIAERESIS
0x1E86, 0x1E87, //LATIN CAPITAL LETTER W WITH DOT ABOVE LATIN SMALL LETTER W WITH DOT ABOVE
0x1E88, 0x1E89, //LATIN CAPITAL LETTER W WITH DOT BELOW LATIN SMALL LETTER W WITH DOT BELOW
0x1E8A, 0x1E8B, //LATIN CAPITAL LETTER X WITH DOT ABOVE LATIN SMALL LETTER X WITH DOT ABOVE
0x1E8C, 0x1E8D, //LATIN CAPITAL LETTER X5 WITH DIAERESIS LATIN SMALL LETTER X WITH DIAERESIS
0x1E8E, 0x1E8F, //LATIN CAPITAL LETTER Y WITH DOT ABOVE LATIN SMALL LETTER Y WITH DOT ABOVE
0x1E90, 0x1E91, //LATIN CAPITAL LETTER Z WITH CIRCUMFLEX LATIN SMALL LETTER Z WITH CIRCUMFLEX
0x1E92, 0x1E93, //LATIN CAPITAL LETTER Z WITH DOT BELOW LATIN SMALL LETTER Z WITH DOT BELOW
0x1E94, 0x1E95, //LATIN CAPITAL LETTER Z WITH LINE BELOW LATIN SMALL LETTER Z WITH LINE BELOW
0x1EA0, 0x1EA1, //LATIN CAPITAL LETTER A WITH DOT BELOW LATIN SMALL LETTER A WITH DOT BELOW
0x1EA2, 0x1EA3, //LATIN CAPITAL LETTER A WITH HOOK ABOVE LATIN SMALL LETTER A WITH HOOK ABOVE
0x1EA4, 0x1EA5, //LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
0x1EA6, 0x1EA7, //LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
0x1EA8, 0x1EA9, //LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
0x1EAA, 0x1EAB, //LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
0x1EAC, 0x1EAD, //LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
0x1EAE, 0x1EAF, //LATIN CAPITAL LETTER A WITH BREVE AND ACUTE LATIN SMALL LETTER A WITH BREVE AND ACUTE
0x1EB0, 0x1EB1, //LATIN CAPITAL LETTER A WITH BREVE AND GRAVE LATIN SMALL LETTER A WITH BREVE AND GRAVE
0x1EB2, 0x1EB3, //LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
0x1EB4, 0x1EB5, //LATIN CAPITAL LETTER A WITH BREVE AND TILDE LATIN SMALL LETTER A WITH BREVE AND TILDE
0x1EB6, 0x1EB7, //LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
0x1EB8, 0x1EB9, //LATIN CAPITAL LETTER E WITH DOT BELOW LATIN SMALL LETTER E WITH DOT BELOW
0x1EBA, 0x1EBB, //LATIN CAPITAL LETTER E WITH HOOK ABOVE LATIN SMALL LETTER E WITH HOOK ABOVE
0x1EBC, 0x1EBD, //LATIN CAPITAL LETTER E WITH TILDE LATIN SMALL LETTER E WITH TILDE
0x1EBE, 0x1EBF, //LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
0x1EC0, 0x1EC1, //LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
0x1EC2, 0x1EC3, //LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
0x1EC4, 0x1EC5, //LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
0x1EC6, 0x1EC7, //LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
0x1EC8, 0x1EC9, //LATIN CAPITAL LETTER I WITH HOOK ABOVE LATIN SMALL LETTER I WITH HOOK ABOVE
0x1ECA, 0x1ECB, //LATIN CAPITAL LETTER I WITH DOT BELOW LATIN SMALL LETTER I WITH DOT BELOW
0x1ECC, 0x1ECD, //LATIN CAPITAL LETTER O WITH DOT BELOW LATIN SMALL LETTER O WITH DOT BELOW
0x1ECE, 0x1ECF, //LATIN CAPITAL LETTER O WITH HOOK ABOVE LATIN SMALL LETTER O WITH HOOK ABOVE
0x1ED0, 0x1ED1, //LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
0x1ED2, 0x1ED3, //LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
0x1ED4, 0x1ED5, //LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
0x1ED6, 0x1ED7, //LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
0x1ED8, 0x1ED9, //LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
0x1EDA, 0x1EDB, //LATIN CAPITAL LETTER O WITH HORN AND ACUTE LATIN SMALL LETTER O WITH HORN AND ACUTE
0x1EDC, 0x1EDD, //LATIN CAPITAL LETTER O WITH HORN AND GRAVE LATIN SMALL LETTER O WITH HORN AND GRAVE
0x1EDE, 0x1EDF, //LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
0x1EE0, 0x1EE1, //LATIN CAPITAL LETTER O WITH HORN AND TILDE LATIN SMALL LETTER O WITH HORN AND TILDE
0x1EE2, 0x1EE3, //LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW LATIN SMALL LETTER O WITH HORN AND DOT BELOW
0x1EE4, 0x1EE5, //LATIN CAPITAL LETTER U WITH DOT BELOW LATIN SMALL LETTER U WITH DOT BELOW
0x1EE6, 0x1EE7, //LATIN CAPITAL LETTER U WITH HOOK ABOVE LATIN SMALL LETTER U WITH HOOK ABOVE
0x1EE8, 0x1EE9, //LATIN CAPITAL LETTER U WITH HORN AND ACUTE LATIN SMALL LETTER U WITH HORN AND ACUTE
0x1EEA, 0x1EEB, //LATIN CAPITAL LETTER U WITH HORN AND GRAVE LATIN SMALL LETTER U WITH HORN AND GRAVE
0x1EEC, 0x1EED, //LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
0x1EEE, 0x1EEF, //LATIN CAPITAL LETTER U WITH HORN AND TILDE LATIN SMALL LETTER U WITH HORN AND TILDE
0x1EF0, 0x1EF1, //LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW LATIN SMALL LETTER U WITH HORN AND DOT BELOW
0x1EF2, 0x1EF3, //LATIN CAPITAL LETTER Y WITH GRAVE LATIN SMALL LETTER Y WITH GRAVE
0x1EF4, 0x1EF5, //LATIN CAPITAL LETTER Y WITH DOT BELOW LATIN SMALL LETTER Y WITH DOT BELOW
0x1EF6, 0x1EF7, //LATIN CAPITAL LETTER Y WITH HOOK ABOVE LATIN SMALL LETTER Y WITH HOOK ABOVE
0x1EF8, 0x1EF9, //LATIN CAPITAL LETTER Y WITH TILDE LATIN SMALL LETTER Y WITH TILDE
0x1F08, 0x1F00, //GREEK CAPITAL LETTER ALPHA WITH PSILI GREEK SMALL LETTER ALPHA WITH PSILI
0x1F09, 0x1F01, //GREEK CAPITAL LETTER ALPHA WITH DASIA GREEK SMALL LETTER ALPHA WITH DASIA
0x1F0A, 0x1F02, //GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
0x1F0B, 0x1F03, //GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
0x1F0C, 0x1F04, //GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
0x1F0D, 0x1F05, //GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
0x1F0E, 0x1F06, //GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
0x1F0F, 0x1F07, //GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
0x1F18, 0x1F10, //GREEK CAPITAL LETTER EPSILON WITH PSILI GREEK SMALL LETTER EPSILON WITH PSILI
0x1F19, 0x1F11, //GREEK CAPITAL LETTER EPSILON WITH DASIA GREEK SMALL LETTER EPSILON WITH DASIA
0x1F1A, 0x1F12, //GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
0x1F1B, 0x1F13, //GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
0x1F1C, 0x1F14, //GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
0x1F1D, 0x1F15, //GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
0x1F28, 0x1F20, //GREEK CAPITAL LETTER ETA WITH PSILI GREEK SMALL LETTER ETA WITH PSILI
0x1F29, 0x1F21, //GREEK CAPITAL LETTER ETA WITH DASIA GREEK SMALL LETTER ETA WITH DASIA
0x1F2A, 0x1F22, //GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA GREEK SMALL LETTER ETA WITH PSILI AND VARIA
0x1F2B, 0x1F23, //GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA GREEK SMALL LETTER ETA WITH DASIA AND VARIA
0x1F2C, 0x1F24, //GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA GREEK SMALL LETTER ETA WITH PSILI AND OXIA
0x1F2D, 0x1F25, //GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA GREEK SMALL LETTER ETA WITH DASIA AND OXIA
0x1F2E, 0x1F26, //GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
0x1F2F, 0x1F27, //GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
0x1F38, 0x1F30, //GREEK CAPITAL LETTER IOTA WITH PSILI GREEK SMALL LETTER IOTA WITH PSILI
0x1F39, 0x1F31, //GREEK CAPITAL LETTER IOTA WITH DASIA GREEK SMALL LETTER IOTA WITH DASIA
0x1F3A, 0x1F32, //GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
0x1F3B, 0x1F33, //GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
0x1F3C, 0x1F34, //GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
0x1F3D, 0x1F35, //GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
0x1F3E, 0x1F36, //GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
0x1F3F, 0x1F37, //GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
0x1F48, 0x1F40, //GREEK CAPITAL LETTER OMICRON WITH PSILI GREEK SMALL LETTER OMICRON WITH PSILI
0x1F49, 0x1F41, //GREEK CAPITAL LETTER OMICRON WITH DASIA GREEK SMALL LETTER OMICRON WITH DASIA
0x1F4A, 0x1F42, //GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
0x1F4B, 0x1F43, //GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
0x1F4C, 0x1F44, //GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
0x1F4D, 0x1F45, //GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
0x1F59, 0x1F51, //GREEK CAPITAL LETTER UPSILON WITH OASIS GREEK SMALL LETTER UPSILON WITH DASIA
0x1F5B, 0x1F53, //GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
0x1F5D, 0x1F55, //GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
0x1F5F, 0x1F57, //GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
0x1F68, 0x1F60, //GREEK CAPITAL LETTER OMEGA WITH PSILI GREEK SMALL LETTER OMEGA WITH PSILI
0x1F69, 0x1F61, //GREEK CAPITAL LETTER OMEGA WITH DASIA GREEK SMALL LETTER OMEGA WITH DASIA
0x1F6A, 0x1F62, //GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
0x1F6B, 0x1F63, //GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
0x1F6C, 0x1F64, //GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
0x1F6D, 0x1F65, //GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
0x1F6E, 0x1F66, //GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
0x1F6F, 0x1F67, //GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
0x1F88, 0x1F80, //GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
0x1F89, 0x1F81, //GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
0x1F8A, 0x1F82, //GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
0x1F8B, 0x1F83, //GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
0x1F8C, 0x1F84, //GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMEN GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
0x1F8D, 0x1F85, //GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMEN GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
0x1F8E, 0x1F86, //GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
0x1F8F, 0x1F87, //GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
0x1F98, 0x1F90, //GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
0x1F99, 0x1F91, //GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
0x1F9A, 0x1F92, //GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
0x1F9B, 0x1F93, //GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
0x1F9C, 0x1F94, //GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
0x1F9D, 0x1F95, //GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
0x1F9E, 0x1F96, //GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
0x1F9F, 0x1F97, //GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
0x1FA8, 0x1FA0, //GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
0x1FA9, 0x1FA1, //GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
0x1FAA, 0x1FA2, //GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
0x1FAB, 0x1FA3, //GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
0x1FAC, 0x1FA4, //GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
0x1FAD, 0x1FA5, //GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
0x1FAE, 0x1FA6, //GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
0x1FAF, 0x1FA7, //GREEK CAPITAL LETTER OMECA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI GREEK SMALL LETTER OMEGA WITH DASIA AND PEPISPOMENI AND YPOGEGRAMMENI
0x1FB8, 0x1FB0, //GREEK CAPITAL LETTER ALPHA WITH VRACHY GREEK SMALL LETTER ALPHA WITH VRACHY
0x1FB9, 0x1FB1, //GREEK CAPITAL LETTER ALPHA WITH MACRON GREEK SMALL LETTER ALPHA WITH MACRON
0x1FD8, 0x1FD0, //GREEK CAPITAL LETTER IOTA WITH VRACHY GREEK SMALL LETTER IOTA WITH VRACHY
0x1FD9, 0x1FD1, //GREEK CAPITAL LETTER IOTA WITH MACRON GREEK SMALL LETTER IOTA WITH MACRON
0x1FE8, 0x1FE0, //GREEK CAPITAL LETTER UPSILON WITH VRACHY GREEK SMALL LETTER UPSILON WITH VRACHY
0x1FE9, 0x1FE1, //GREEK CAPITAL LETTER UPSILON WITH MACRON GREEK SMALL LETTER UPSILON WITH MACRON
0x24B6, 0x24D0, //CIRCLED LATIN CAPITAL LETTER A CIRCLED LATIN SMALL LETTER A
0x24B7, 0x24D1, //CIRCLED LATIN CAPITAL LETTER B CIRCLED LATIN SMALL LETTER B
0x24B8, 0x24D2, //CIRCLED LATIN CAPITAL LETTER C CIRCLED LATIN SMALL LETTER C
0x24B9, 0x24D3, //CIRCLED LATIN CAPITAL LETTER D CIRCLED LATIN SMALL LETTER D
0x24BA, 0x24D4, //CIRCLED LATIN CAPITAL LETTER E CIRCLED LATIN SMALL LETTER E
0x24BB, 0x24D5, //CIRCLED LATIN CAPITAL LETTER F CIRCLED LATIN SMALL LETTER F
0x24BC, 0x24D6, //CIRCLED LATIN CAPITAL LETTER G CIRCLED LATIN SMALL LETTER G
0x24BD, 0x24D7, //CIRCLED LATIN CAPITAL LETTER H CIRCLED LATIN SMALL LETTER H
0x24BE, 0x24D8, //CIRCLED LATIN CAPITAL LETTER I CIRCLED LATIN SMALL LETTER I
0x24BF, 0x24D9, //CIRCLED LATIN CAPITAL LETTER J CIRCLED LATIN SMALL LETTER J
0x24C0, 0x24DA, //CIRCLED LATIN CAPITAL LETTER K CIRCLED LATIN SMALL LETTER K
0x24C1, 0x24DB, //CIRCLED LATIN CAPITAL LETTER L CIRCLED LATIN SMALL LETTER L
0x24C2, 0x24DC, //CIRCLED LATIN CAPITAL LETTER M CIRCLED LATIN SMALL LETTER M
0x24C3, 0x24DD, //CIRCLED LATIN CAPITAL LETTER N CIRCLED LATIN SMALL LETTER N
0x24C4, 0x24DE, //CIRCLED LATIN CAPITAL LETTER O CIRCLED LATIN SMALL LETTER O
0x24C5, 0x24DF, //CIRCLED LATIN CAPITAL LETTER P CIRCLED LATIN SMALL LETTER P
0x24C6, 0x24E0, //CIRCLED LATIN CAPITAL LETTER Q CIRCLED LATIN SMALL LETTER Q
0x24C7, 0x24E1, //CIRCLED LATIN CAPITAL LETTER R CIRCLED LATIN SMALL LETTER R
0x24C8, 0x24E2, //CIRCLED LATIN CAPITAL LETTER S CIRCLED LATIN SMALL LETTER S
0x24C9, 0x24E3, //CIRCLED LATIN CAPITAL LETTER T CIRCLED LATIN SMALL LETTER T
0x24CA, 0x24E4, //CIRCLED LATIN CAPITAL LETTER U CIRCLED LATIN SMALL LETTER U
0x24CB, 0x24E5, //CIRCLED LATIN CAPITAL LETTER V CIRCLED LATIN SMALL LETTER V
0x24CC, 0x24E6, //CIRCLED LATIN CAPITAL LETTER W CIRCLED LATIN SMALL LETTER W
0x24CD, 0x24E7, //CIRCLED LATIN CAPITAL LETTER X CIRCLED LATIN SMALL LETTER X
0x24CE, 0x24E8, //CIRCLED LATIN CAPITAL LETTER Y CIRCLED LATIN SMALL LETTER Y
0x24CF, 0x24E9, //CIRCLED LATIN CAPITAL LETTER Z CIRCLED LATIN SMALL LETTER Z
0xFF21, 0xFF41, //FULLWIDTH LATIN CAPITAL LETTER A FULLWIDTH LATIN SMALL LETTER A
0xFF22, 0xFF42, //FULLWIDTH LATIN CAPITAL LETTER B FULLWIDTH LATIN SMALL LETTER B
0xFF23, 0xFF43, //FULLWIDTH LATIN CAPITAL LETTER C FULLWIDTH LATIN SMALL LETTER C
0xFF24, 0xFF44, //FULLWIDTH LATIN CAPITAL LETTER D FULLWIDTH LATIN SMALL LETTER D
0xFF25, 0xFF45, //FULLWIDTH LATIN CAPITAL LETTER E FULLWIDTH LATIN SMALL LETTER E
0xFF26, 0xFF46, //FULLWIDTH LATIN CAPITAL LETTER F FULLWIDTH LATIN SMALL LETTER F
0xFF27, 0xFF47, //FULLWIDTH LATIN CAPITAL LETTER G FULLWIDTH LATIN SMALL LETTER G
0xFF28, 0xFF48, //FULLWIDTH LATIN CAPITAL LETTER H FULLWIDTH LATIN SMALL LETTER H
0xFF29, 0xFF49, //FULLWIDTH LATIN CAPITAL LETTER I FULLWIDTH LATIN SMALL LETTER I
0xFF2A, 0xFF4A, //FULLWIDTH LATIN CAPITAL LETTER J FULLWIDTH LATIN SMALL LETTER J
0xFF2B, 0xFF4B, //FULLWIDTH LATIN CAPITAL LETTER K FULLWIDTH LATIN SMALL LETTER K
0xFF2C, 0xFF4C, //FULLWIDTH LATIN CAPITAL LETTER L FULLWIDTH LATIN SMALL LETTER L
0xFF2D, 0xFF4D, //FULLWIDTH LATIN CAPITAL LETTER M FULLWIDTH LATIN SMALL LETTER M
0xFF2E, 0xFF4E, //FULLWIDTH LATIN CAPITAL LETTER N FULLWIDTH LATIN SMALL LETTER N
0xFF2F, 0xFF4F, //FULLWIDTH LATIN CAPITAL LETTER O FULLWIDTH LATIN SMALL LETTER O
0xFF30, 0xFF50, //FULLWIDTH LATIN CAPITAL LETTER P FULLWIDTH LATIN SMALL LETTER P
0xFF31, 0xFF51, //FULLWIDTH LATIN CAPITAL LETTER Q FULLWIDTH LATIN SMALL LETTER Q
0xFF32, 0xFF52, //FULLWIDTH LATIN CAPITAL LETTER R FULLWIDTH LATIN SMALL LETTER R
0xFF33, 0xFF53, //FULLWIDTH LATIN CAPITAL LETTER S FULLWIDTH LATIN SMALL LETTER S
0xFF34, 0xFF54, //FULLWIDTH LATIN CAPITAL LETTER T FULLWIDTH LATIN SMALL LETTER T
0xFF35, 0xFF55, //FULLWIDTH LATIN CAPITAL LETTER U FULLWIDTH LATIN SMALL LETTER U
0xFF36, 0xFF56, //FULLWIDTH LATIN CAPITAL LETTER V FULLWIDTH LATIN SMALL LETTER V
0xFF37, 0xFF57, //FULLWIDTH LATIN CAPITAL LETTER W FULLWIDTH LATIN SMALL LETTER W
0xFF38, 0xFF58, //FULLWIDTH LATIN CAPITAL LETTER X FULLWIDTH LATIN SMALL LETTER X
0xFF39, 0xFF59, //FULLWIDTH LATIN CAPITAL LETTER Y FULLWIDTH LATIN SMALL LETTER Y
0xFF3A, 0xFF5A, //FULLWIDTH LATIN CAPITAL LETTER Z FULLWIDTH LATIN SMALL LETTER Z
]
)
/*****************************************************************************
*
* Unicode punctuation chars
*
* source: http://www.unicode.org/faq/punctuation_symbols.html
*
*****************************************************************************/
const(
// Western punctuation mark
// Character Name Browser Image
unicode_punct_western=[
0x0021, // EXCLAMATION MARK !
0x0022, // QUOTATION MARK "
0x0027, // APOSTROPHE '
0x002A, // ASTERISK *
0x002C, // COMMA ,
0x002E, // FULL STOP .
0x002F, // SOLIDUS /
0x003A, // COLON :
0x003B, // SEMICOLON ;
0x003F, // QUESTION MARK ?
0x00A1, // INVERTED EXCLAMATION MARK ¡
0x00A7, // SECTION SIGN §
0x00B6, // PILCROW SIGN ¶
0x00B7, // MIDDLE DOT ·
0x00BF, // INVERTED QUESTION MARK ¿
0x037E, // GREEK QUESTION MARK ;
0x0387, // GREEK ANO TELEIA ·
0x055A, // ARMENIAN APOSTROPHE ՚
0x055B, // ARMENIAN EMPHASIS MARK ՛
0x055C, // ARMENIAN EXCLAMATION MARK ՜
0x055D, // ARMENIAN COMMA ՝
0x055E, // ARMENIAN QUESTION MARK ՞
0x055F, // ARMENIAN ABBREVIATION MARK ՟
0x0589, // ARMENIAN FULL STOP ։
0x05C0, // HEBREW PUNCTUATION PASEQ ׀
0x05C3, // HEBREW PUNCTUATION SOF PASUQ ׃
0x05C6, // HEBREW PUNCTUATION NUN HAFUKHA ׆
0x05F3, // HEBREW PUNCTUATION GERESH ׳
0x05F4, // HEBREW PUNCTUATION GERSHAYIM ״
]
// Unicode Characters in the 'Punctuation, Other' Category
// Character Name Browser Image
unicode_punct=[
0x0021, // EXCLAMATION MARK !
0x0022, // QUOTATION MARK "
0x0023, // NUMBER SIGN #
0x0025, // PERCENT SIGN %
0x0026, // AMPERSAND &
0x0027, // APOSTROPHE '
0x002A, // ASTERISK *
0x002C, // COMMA ,
0x002E, // FULL STOP .
0x002F, // SOLIDUS /
0x003A, // COLON :
0x003B, // SEMICOLON ;
0x003F, // QUESTION MARK ?
0x0040, // COMMERCIAL AT @
0x005C, // REVERSE SOLIDUS \
0x00A1, // INVERTED EXCLAMATION MARK ¡
0x00A7, // SECTION SIGN §
0x00B6, // PILCROW SIGN ¶
0x00B7, // MIDDLE DOT ·
0x00BF, // INVERTED QUESTION MARK ¿
0x037E, // GREEK QUESTION MARK ;
0x0387, // GREEK ANO TELEIA ·
0x055A, // ARMENIAN APOSTROPHE ՚
0x055B, // ARMENIAN EMPHASIS MARK ՛
0x055C, // ARMENIAN EXCLAMATION MARK ՜
0x055D, // ARMENIAN COMMA ՝
0x055E, // ARMENIAN QUESTION MARK ՞
0x055F, // ARMENIAN ABBREVIATION MARK ՟
0x0589, // ARMENIAN FULL STOP ։
0x05C0, // HEBREW PUNCTUATION PASEQ ׀
0x05C3, // HEBREW PUNCTUATION SOF PASUQ ׃
0x05C6, // HEBREW PUNCTUATION NUN HAFUKHA ׆
0x05F3, // HEBREW PUNCTUATION GERESH ׳
0x05F4, // HEBREW PUNCTUATION GERSHAYIM ״
0x0609, // ARABIC-INDIC PER MILLE SIGN ؉
0x060A, // ARABIC-INDIC PER TEN THOUSAND SIGN ؊
0x060C, // ARABIC COMMA ،
0x060D, // ARABIC DATE SEPARATOR ؍
0x061B, // ARABIC SEMICOLON ؛
0x061E, // ARABIC TRIPLE DOT PUNCTUATION MARK ؞
0x061F, // ARABIC QUESTION MARK ؟
0x066A, // ARABIC PERCENT SIGN ٪
0x066B, // ARABIC DECIMAL SEPARATOR ٫
0x066C, // ARABIC THOUSANDS SEPARATOR ٬
0x066D, // ARABIC FIVE POINTED STAR ٭
0x06D4, // ARABIC FULL STOP ۔
0x0700, // SYRIAC END OF PARAGRAPH ܀
0x0701, // SYRIAC SUPRALINEAR FULL STOP ܁
0x0702, // SYRIAC SUBLINEAR FULL STOP ܂
0x0703, // SYRIAC SUPRALINEAR COLON ܃
0x0704, // SYRIAC SUBLINEAR COLON ܄
0x0705, // SYRIAC HORIZONTAL COLON ܅
0x0706, // SYRIAC COLON SKEWED LEFT ܆
0x0707, // SYRIAC COLON SKEWED RIGHT ܇
0x0708, // SYRIAC SUPRALINEAR COLON SKEWED LEFT ܈
0x0709, // SYRIAC SUBLINEAR COLON SKEWED RIGHT ܉
0x070A, // SYRIAC CONTRACTION ܊
0x070B, // SYRIAC HARKLEAN OBELUS ܋
0x070C, // SYRIAC HARKLEAN METOBELUS ܌
0x070D, // SYRIAC HARKLEAN ASTERISCUS ܍
0x07F7, // NKO SYMBOL GBAKURUNEN ߷
0x07F8, // NKO COMMA ߸
0x07F9, // NKO EXCLAMATION MARK ߹
0x0830, // SAMARITAN PUNCTUATION NEQUDAA ࠰
0x0831, // SAMARITAN PUNCTUATION AFSAAQ ࠱
0x0832, // SAMARITAN PUNCTUATION ANGED ࠲
0x0833, // SAMARITAN PUNCTUATION BAU ࠳
0x0834, // SAMARITAN PUNCTUATION ATMAAU ࠴
0x0835, // SAMARITAN PUNCTUATION SHIYYAALAA ࠵
0x0836, // SAMARITAN ABBREVIATION MARK ࠶
0x0837, // SAMARITAN PUNCTUATION MELODIC QITSA ࠷
0x0838, // SAMARITAN PUNCTUATION ZIQAA ࠸
0x0839, // SAMARITAN PUNCTUATION QITSA ࠹
0x083A, // SAMARITAN PUNCTUATION ZAEF ࠺
0x083B, // SAMARITAN PUNCTUATION TURU ࠻
0x083C, // SAMARITAN PUNCTUATION ARKAANU ࠼
0x083D, // SAMARITAN PUNCTUATION SOF MASHFAAT ࠽
0x083E, // SAMARITAN PUNCTUATION ANNAAU ࠾
0x085E, // MANDAIC PUNCTUATION ࡞
0x0964, // DEVANAGARI DANDA ।
0x0965, // DEVANAGARI DOUBLE DANDA ॥
0x0970, // DEVANAGARI ABBREVIATION SIGN ॰
0x09FD, // BENGALI ABBREVIATION SIGN ৽
0x0A76, // GURMUKHI ABBREVIATION SIGN ੶
0x0AF0, // GUJARATI ABBREVIATION SIGN ૰
0x0C77, // TELUGU SIGN SIDDHAM ౷
0x0C84, // KANNADA SIGN SIDDHAM ಄
0x0DF4, // SINHALA PUNCTUATION KUNDDALIYA ෴
0x0E4F, // THAI CHARACTER FONGMAN ๏
0x0E5A, // THAI CHARACTER ANGKHANKHU ๚
0x0E5B, // THAI CHARACTER KHOMUT ๛
0x0F04, // TIBETAN MARK INITIAL YIG MGO MDUN MA ༄
0x0F05, // TIBETAN MARK CLOSING YIG MGO SGAB MA ༅
0x0F06, // TIBETAN MARK CARET YIG MGO PHUR SHAD MA ༆
0x0F07, // TIBETAN MARK YIG MGO TSHEG SHAD MA ༇
0x0F08, // TIBETAN MARK SBRUL SHAD ༈
0x0F09, // TIBETAN MARK BSKUR YIG MGO ༉
0x0F0A, // TIBETAN MARK BKA- SHOG YIG MGO ༊
0x0F0B, // TIBETAN MARK INTERSYLLABIC TSHEG ་
0x0F0C, // TIBETAN MARK DELIMITER TSHEG BSTAR ༌
0x0F0D, // TIBETAN MARK SHAD །
0x0F0E, // TIBETAN MARK NYIS SHAD ༎
0x0F0F, // TIBETAN MARK TSHEG SHAD ༏
0x0F10, // TIBETAN MARK NYIS TSHEG SHAD ༐
0x0F11, // TIBETAN MARK RIN CHEN SPUNGS SHAD ༑
0x0F12, // TIBETAN MARK RGYA GRAM SHAD ༒
0x0F14, // TIBETAN MARK GTER TSHEG ༔
0x0F85, // TIBETAN MARK PALUTA ྅
0x0FD0, // TIBETAN MARK BSKA- SHOG GI MGO RGYAN ࿐
0x0FD1, // TIBETAN MARK MNYAM YIG GI MGO RGYAN ࿑
0x0FD2, // TIBETAN MARK NYIS TSHEG ࿒
0x0FD3, // TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA ࿓
0x0FD4, // TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA ࿔
0x0FD9, // TIBETAN MARK LEADING MCHAN RTAGS ࿙
0x0FDA, // TIBETAN MARK TRAILING MCHAN RTAGS ࿚
0x104A, // MYANMAR SIGN LITTLE SECTION ၊
0x104B, // MYANMAR SIGN SECTION ။
0x104C, // MYANMAR SYMBOL LOCATIVE ၌
0x104D, // MYANMAR SYMBOL COMPLETED ၍
0x104E, // MYANMAR SYMBOL AFOREMENTIONED ၎
0x104F, // MYANMAR SYMBOL GENITIVE ၏
0x10FB, // GEORGIAN PARAGRAPH SEPARATOR ჻
0x1360, // ETHIOPIC SECTION MARK ፠
0x1361, // ETHIOPIC WORDSPACE ፡
0x1362, // ETHIOPIC FULL STOP ።
0x1363, // ETHIOPIC COMMA ፣
0x1364, // ETHIOPIC SEMICOLON ፤
0x1365, // ETHIOPIC COLON ፥
0x1366, // ETHIOPIC PREFACE COLON ፦
0x1367, // ETHIOPIC QUESTION MARK ፧
0x1368, // ETHIOPIC PARAGRAPH SEPARATOR ፨
0x166E, // CANADIAN SYLLABICS FULL STOP
0x16EB, // RUNIC SINGLE PUNCTUATION ᛫
0x16EC, // RUNIC MULTIPLE PUNCTUATION
0x16ED, // RUNIC CROSS PUNCTUATION
0x1735, // PHILIPPINE SINGLE PUNCTUATION
0x1736, // PHILIPPINE DOUBLE PUNCTUATION ᜶
0x17D4, // KHMER SIGN KHAN ។
0x17D5, // KHMER SIGN BARIYOOSAN ៕
0x17D6, // KHMER SIGN CAMNUC PII KUUH ៖
0x17D8, // KHMER SIGN BEYYAL ៘
0x17D9, // KHMER SIGN PHNAEK MUAN ៙
0x17DA, // KHMER SIGN KOOMUUT ៚
0x1800, // MONGOLIAN BIRGA ᠀
0x1801, // MONGOLIAN ELLIPSIS ᠁
0x1802, // MONGOLIAN COMMA ᠂
0x1803, // MONGOLIAN FULL STOP
0x1804, // MONGOLIAN COLON ᠄
0x1805, // MONGOLIAN FOUR DOTS ᠅
0x1807, // MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER ᠇
0x1808, // MONGOLIAN MANCHU COMMA ᠈
0x1809, // MONGOLIAN MANCHU FULL STOP
0x180A, // MONGOLIAN NIRUGU ᠊
0x1944, // LIMBU EXCLAMATION MARK ᥄
0x1945, // LIMBU QUESTION MARK ᥅
0x1A1E, // BUGINESE PALLAWA ᨞
0x1A1F, // BUGINESE END OF SECTION ᨟
0x1AA0, // TAI THAM SIGN WIANG ᪠
0x1AA1, // TAI THAM SIGN WIANGWAAK ᪡
0x1AA2, // TAI THAM SIGN SAWAN ᪢
0x1AA3, // TAI THAM SIGN KEOW ᪣
0x1AA4, // TAI THAM SIGN HOY ᪤
0x1AA5, // TAI THAM SIGN DOKMAI ᪥
0x1AA6, // TAI THAM SIGN REVERSED ROTATED RANA ᪦
0x1AA8, // TAI THAM SIGN KAAN ᪨
0x1AA9, // TAI THAM SIGN KAANKUU ᪩
0x1AAA, // TAI THAM SIGN SATKAAN ᪪
0x1AAB, // TAI THAM SIGN SATKAANKUU ᪫
0x1AAC, // TAI THAM SIGN HANG ᪬
0x1AAD, // TAI THAM SIGN CAANG ᪭
0x1B5A, // BALINESE PANTI ᭚
0x1B5B, // BALINESE PAMADA ᭛
0x1B5C, // BALINESE WINDU ᭜
0x1B5D, // BALINESE CARIK PAMUNGKAH ᭝
0x1B5E, // BALINESE CARIK SIKI ᭞
0x1B5F, // BALINESE CARIK PAREREN ᭟
0x1B60, // BALINESE PAMENENG ᭠
0x1BFC, // BATAK SYMBOL BINDU NA METEK ᯼
0x1BFD, // BATAK SYMBOL BINDU PINARBORAS ᯽
0x1BFE, // BATAK SYMBOL BINDU JUDUL ᯾
0x1BFF, // BATAK SYMBOL BINDU PANGOLAT ᯿
0x1C3B, // LEPCHA PUNCTUATION TA-ROL ᰻
0x1C3C, // LEPCHA PUNCTUATION NYET THYOOM TA-ROL ᰼
0x1C3D, // LEPCHA PUNCTUATION CER-WA ᰽
0x1C3E, // LEPCHA PUNCTUATION TSHOOK CER-WA ᰾
0x1C3F, // LEPCHA PUNCTUATION TSHOOK ᰿
0x1C7E, // OL CHIKI PUNCTUATION MUCAAD ᱾
0x1C7F, // OL CHIKI PUNCTUATION DOUBLE MUCAAD ᱿
0x1CC0, // SUNDANESE PUNCTUATION BINDU SURYA ᳀
0x1CC1, // SUNDANESE PUNCTUATION BINDU PANGLONG ᳁
0x1CC2, // SUNDANESE PUNCTUATION BINDU PURNAMA ᳂
0x1CC3, // SUNDANESE PUNCTUATION BINDU CAKRA ᳃
0x1CC4, // SUNDANESE PUNCTUATION BINDU LEU SATANGA ᳄
0x1CC5, // SUNDANESE PUNCTUATION BINDU KA SATANGA ᳅
0x1CC6, // SUNDANESE PUNCTUATION BINDU DA SATANGA ᳆
0x1CC7, // SUNDANESE PUNCTUATION BINDU BA SATANGA ᳇
0x1CD3, // VEDIC SIGN NIHSHVASA ᳓
0x2016, // DOUBLE VERTICAL LINE ‖
0x2017, // DOUBLE LOW LINE ‗
0x2020, // DAGGER †
0x2021, // DOUBLE DAGGER ‡
0x2022, // BULLET •
0x2023, // TRIANGULAR BULLET ‣
0x2024, // ONE DOT LEADER
0x2025, // TWO DOT LEADER ‥
0x2026, // HORIZONTAL ELLIPSIS …
0x2027, // HYPHENATION POINT ‧
0x2030, // PER MILLE SIGN ‰
0x2031, // PER TEN THOUSAND SIGN ‱
0x2032, // PRIME
0x2033, // DOUBLE PRIME ″
0x2034, // TRIPLE PRIME ‴
0x2035, // REVERSED PRIME
0x2036, // REVERSED DOUBLE PRIME ‶
0x2037, // REVERSED TRIPLE PRIME ‷
0x2038, // CARET ‸
0x203B, // REFERENCE MARK ※
0x203C, // DOUBLE EXCLAMATION MARK ‼
0x203D, // INTERROBANG ‽
0x203E, // OVERLINE ‾
0x2041, // CARET INSERTION POINT
0x2042, // ASTERISM ⁂
0x2043, // HYPHEN BULLET
0x2047, // DOUBLE QUESTION MARK ⁇
0x2048, // QUESTION EXCLAMATION MARK ⁈
0x2049, // EXCLAMATION QUESTION MARK ⁉
0x204A, // TIRONIAN SIGN ET ⁊
0x204B, // REVERSED PILCROW SIGN ⁋
0x204C, // BLACK LEFTWARDS BULLET ⁌
0x204D, // BLACK RIGHTWARDS BULLET ⁍
0x204E, // LOW ASTERISK
0x204F, // REVERSED SEMICOLON ⁏
0x2050, // CLOSE UP ⁐
0x2051, // TWO ASTERISKS ALIGNED VERTICALLY ⁑
0x2053, // SWUNG DASH
0x2055, // FLOWER PUNCTUATION MARK ⁕
0x2056, // THREE DOT PUNCTUATION ⁖
0x2057, // QUADRUPLE PRIME ⁗
0x2058, // FOUR DOT PUNCTUATION ⁘
0x2059, // FIVE DOT PUNCTUATION ⁙
0x205A, // TWO DOT PUNCTUATION
0x205B, // FOUR DOT MARK ⁛
0x205C, // DOTTED CROSS ⁜
0x205D, // TRICOLON ⁝
0x205E, // VERTICAL FOUR DOTS ⁞
0x2CF9, // COPTIC OLD NUBIAN FULL STOP ⳹
0x2CFA, // COPTIC OLD NUBIAN DIRECT QUESTION MARK ⳺
0x2CFB, // COPTIC OLD NUBIAN INDIRECT QUESTION MARK ⳻
0x2CFC, // COPTIC OLD NUBIAN VERSE DIVIDER ⳼
0x2CFE, // COPTIC FULL STOP ⳾
0x2CFF, // COPTIC MORPHOLOGICAL DIVIDER ⳿
0x2D70, // TIFINAGH SEPARATOR MARK ⵰
0x2E00, // RIGHT ANGLE SUBSTITUTION MARKER ⸀
0x2E01, // RIGHT ANGLE DOTTED SUBSTITUTION MARKER ⸁
0x2E06, // RAISED INTERPOLATION MARKER ⸆
0x2E07, // RAISED DOTTED INTERPOLATION MARKER ⸇
0x2E08, // DOTTED TRANSPOSITION MARKER ⸈
0x2E0B, // RAISED SQUARE ⸋
0x2E0E, // EDITORIAL CORONIS ⸎
0x2E0F, // PARAGRAPHOS ⸏
0x2E10, // FORKED PARAGRAPHOS ⸐
0x2E11, // REVERSED FORKED PARAGRAPHOS ⸑
0x2E12, // HYPODIASTOLE ⸒
0x2E13, // DOTTED OBELOS ⸓
0x2E14, // DOWNWARDS ANCORA ⸔
0x2E15, // UPWARDS ANCORA ⸕
0x2E16, // DOTTED RIGHT-POINTING ANGLE ⸖
0x2E18, // INVERTED INTERROBANG ⸘
0x2E19, // PALM BRANCH ⸙
0x2E1B, // TILDE WITH RING ABOVE ⸛
0x2E1E, // TILDE WITH DOT ABOVE ⸞
0x2E1F, // TILDE WITH DOT BELOW ⸟
0x2E2A, // TWO DOTS OVER ONE DOT PUNCTUATION ⸪
0x2E2B, // ONE DOT OVER TWO DOTS PUNCTUATION ⸫
0x2E2C, // SQUARED FOUR DOT PUNCTUATION ⸬
0x2E2D, // FIVE DOT MARK ⸭
0x2E2E, // REVERSED QUESTION MARK ⸮
0x2E30, // RING POINT ⸰
0x2E31, // WORD SEPARATOR MIDDLE DOT ⸱
0x2E32, // TURNED COMMA ⸲
0x2E33, // RAISED DOT ⸳
0x2E34, // RAISED COMMA ⸴
0x2E35, // TURNED SEMICOLON ⸵
0x2E36, // DAGGER WITH LEFT GUARD ⸶
0x2E37, // DAGGER WITH RIGHT GUARD ⸷
0x2E38, // TURNED DAGGER ⸸
0x2E39, // TOP HALF SECTION SIGN ⸹
0x2E3C, // STENOGRAPHIC FULL STOP ⸼
0x2E3D, // VERTICAL SIX DOTS ⸽
0x2E3E, // WIGGLY VERTICAL LINE ⸾
0x2E3F, // CAPITULUM ⸿
0x2E41, // REVERSED COMMA ⹁
0x2E43, // DASH WITH LEFT UPTURN ⹃
0x2E44, // DOUBLE SUSPENSION MARK ⹄
0x2E45, // INVERTED LOW KAVYKA ⹅
0x2E46, // INVERTED LOW KAVYKA WITH KAVYKA ABOVE ⹆
0x2E47, // LOW KAVYKA ⹇
0x2E48, // LOW KAVYKA WITH DOT ⹈
0x2E49, // DOUBLE STACKED COMMA ⹉
0x2E4A, // DOTTED SOLIDUS ⹊
0x2E4B, // TRIPLE DAGGER ⹋
0x2E4C, // MEDIEVAL COMMA ⹌
0x2E4D, // PARAGRAPHUS MARK ⹍
0x2E4E, // PUNCTUS ELEVATUS MARK ⹎
0x2E4F, // CORNISH VERSE DIVIDER ⹏
0x3001, // IDEOGRAPHIC COMMA 、
0x3002, // IDEOGRAPHIC FULL STOP 。
0x3003, // DITTO MARK 〃
0x303D, // PART ALTERNATION MARK 〽
0x30FB, // KATAKANA MIDDLE DOT ・
0xA4FE, // LISU PUNCTUATION COMMA ꓾
0xA4FF, // LISU PUNCTUATION FULL STOP
0xA60D, // VAI COMMA ꘍
0xA60E, // VAI FULL STOP
0xA60F, // VAI QUESTION MARK ꘏
0xA673, // SLAVONIC ASTERISK ꙳
0xA67E, // CYRILLIC KAVYKA ꙾
0xA6F2, // BAMUM NJAEMLI ꛲
0xA6F3, // BAMUM FULL STOP ꛳
0xA6F4, // BAMUM COLON ꛴
0xA6F5, // BAMUM COMMA ꛵
0xA6F6, // BAMUM SEMICOLON ꛶
0xA6F7, // BAMUM QUESTION MARK ꛷
0xA874, // PHAGS-PA SINGLE HEAD MARK ꡴
0xA875, // PHAGS-PA DOUBLE HEAD MARK ꡵
0xA876, // PHAGS-PA MARK SHAD ꡶
0xA877, // PHAGS-PA MARK DOUBLE SHAD ꡷
0xA8CE, // SAURASHTRA DANDA ꣎
0xA8CF, // SAURASHTRA DOUBLE DANDA ꣏
0xA8F8, // DEVANAGARI SIGN PUSHPIKA ꣸
0xA8F9, // DEVANAGARI GAP FILLER ꣹
0xA8FA, // DEVANAGARI CARET ꣺
0xA8FC, // DEVANAGARI SIGN SIDDHAM ꣼
0xA92E, // KAYAH LI SIGN CWI ꤮
0xA92F, // KAYAH LI SIGN SHYA ꤯
0xA95F, // REJANG SECTION MARK ꥟
0xA9C1, // JAVANESE LEFT RERENGGAN ꧁
0xA9C2, // JAVANESE RIGHT RERENGGAN ꧂
0xA9C3, // JAVANESE PADA ANDAP ꧃
0xA9C4, // JAVANESE PADA MADYA ꧄
0xA9C5, // JAVANESE PADA LUHUR ꧅
0xA9C6, // JAVANESE PADA WINDU ꧆
0xA9C7, // JAVANESE PADA PANGKAT ꧇
0xA9C8, // JAVANESE PADA LINGSA ꧈
0xA9C9, // JAVANESE PADA LUNGSI ꧉
0xA9CA, // JAVANESE PADA ADEG ꧊
0xA9CB, // JAVANESE PADA ADEG ADEG ꧋
0xA9CC, // JAVANESE PADA PISELEH ꧌
0xA9CD, // JAVANESE TURNED PADA PISELEH ꧍
0xA9DE, // JAVANESE PADA TIRTA TUMETES ꧞
0xA9DF, // JAVANESE PADA ISEN-ISEN ꧟
0xAA5C, // CHAM PUNCTUATION SPIRAL ꩜
0xAA5D, // CHAM PUNCTUATION DANDA ꩝
0xAA5E, // CHAM PUNCTUATION DOUBLE DANDA ꩞
0xAA5F, // CHAM PUNCTUATION TRIPLE DANDA ꩟
0xAADE, // TAI VIET SYMBOL HO HOI ꫞
0xAADF, // TAI VIET SYMBOL KOI KOI ꫟
0xAAF0, // MEETEI MAYEK CHEIKHAN ꫰
0xAAF1, // MEETEI MAYEK AHANG KHUDAM ꫱
0xABEB, // MEETEI MAYEK CHEIKHEI ꯫
0xFE10, // PRESENTATION FORM FOR VERTICAL COMMA ︐
0xFE11, // PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA ︑
0xFE12, // PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP ︒
0xFE13, // PRESENTATION FORM FOR VERTICAL COLON ︓
0xFE14, // PRESENTATION FORM FOR VERTICAL SEMICOLON ︔
0xFE15, // PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK ︕
0xFE16, // PRESENTATION FORM FOR VERTICAL QUESTION MARK ︖
0xFE19, // PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS ︙
0xFE30, // PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
0xFE45, // SESAME DOT ﹅
0xFE46, // WHITE SESAME DOT ﹆
0xFE49, // DASHED OVERLINE ﹉
0xFE4A, // CENTRELINE OVERLINE ﹊
0xFE4B, // WAVY OVERLINE ﹋
0xFE4C, // DOUBLE WAVY OVERLINE ﹌
0xFE50, // SMALL COMMA ﹐
0xFE51, // SMALL IDEOGRAPHIC COMMA ﹑
0xFE52, // SMALL FULL STOP ﹒
0xFE54, // SMALL SEMICOLON ﹔
0xFE55, // SMALL COLON ﹕
0xFE56, // SMALL QUESTION MARK ﹖
0xFE57, // SMALL EXCLAMATION MARK ﹗
0xFE5F, // SMALL NUMBER SIGN ﹟
0xFE60, // SMALL AMPERSAND ﹠
0xFE61, // SMALL ASTERISK ﹡
0xFE68, // SMALL REVERSE SOLIDUS
0xFE6A, // SMALL PERCENT SIGN ﹪
0xFE6B, // SMALL COMMERCIAL AT ﹫
0xFF01, // FULLWIDTH EXCLAMATION MARK
0xFF02, // FULLWIDTH QUOTATION MARK
0xFF03, // FULLWIDTH NUMBER SIGN
0xFF05, // FULLWIDTH PERCENT SIGN
0xFF06, // FULLWIDTH AMPERSAND
0xFF07, // FULLWIDTH APOSTROPHE
0xFF0A, // FULLWIDTH ASTERISK
0xFF0C, // FULLWIDTH COMMA
0xFF0E, // FULLWIDTH FULL STOP
0xFF0F, // FULLWIDTH SOLIDUS
0xFF1A, // FULLWIDTH COLON
0xFF1B, // FULLWIDTH SEMICOLON
0xFF1F, // FULLWIDTH QUESTION MARK
0xFF20, // FULLWIDTH COMMERCIAL AT
0xFF3C, // FULLWIDTH REVERSE SOLIDUS
0xFF61, // HALFWIDTH IDEOGRAPHIC FULL STOP 。
0xFF64, // HALFWIDTH IDEOGRAPHIC COMMA 、
0xFF65, // HALFWIDTH KATAKANA MIDDLE DOT ・
0x10100, // AEGEAN WORD SEPARATOR LINE 𐄀
0x10101, // AEGEAN WORD SEPARATOR DOT 𐄁
0x10102, // AEGEAN CHECK MARK 𐄂
0x1039F, // UGARITIC WORD DIVIDER 𐎟
0x103D0, // OLD PERSIAN WORD DIVIDER 𐏐
0x1056F, // CAUCASIAN ALBANIAN CITATION MARK 𐕯
0x10857, // IMPERIAL ARAMAIC SECTION SIGN 𐡗
0x1091F, // PHOENICIAN WORD SEPARATOR 𐤟
0x1093F, // LYDIAN TRIANGULAR MARK 𐤿
0x10A50, // KHAROSHTHI PUNCTUATION DOT 𐩐
0x10A51, // KHAROSHTHI PUNCTUATION SMALL CIRCLE 𐩑
0x10A52, // KHAROSHTHI PUNCTUATION CIRCLE 𐩒
0x10A53, // KHAROSHTHI PUNCTUATION CRESCENT BAR 𐩓
0x10A54, // KHAROSHTHI PUNCTUATION MANGALAM 𐩔
0x10A55, // KHAROSHTHI PUNCTUATION LOTUS 𐩕
0x10A56, // KHAROSHTHI PUNCTUATION DANDA 𐩖
0x10A57, // KHAROSHTHI PUNCTUATION DOUBLE DANDA 𐩗
0x10A58, // KHAROSHTHI PUNCTUATION LINES 𐩘
0x10A7F, // OLD SOUTH ARABIAN NUMERIC INDICATOR 𐩿
0x10AF0, // MANICHAEAN PUNCTUATION STAR 𐫰
0x10AF1, // MANICHAEAN PUNCTUATION FLEURON 𐫱
0x10AF2, // MANICHAEAN PUNCTUATION DOUBLE DOT WITHIN DOT 𐫲
0x10AF3, // MANICHAEAN PUNCTUATION DOT WITHIN DOT 𐫳
0x10AF4, // MANICHAEAN PUNCTUATION DOT 𐫴
0x10AF5, // MANICHAEAN PUNCTUATION TWO DOTS 𐫵
0x10AF6, // MANICHAEAN PUNCTUATION LINE FILLER 𐫶
0x10B39, // AVESTAN ABBREVIATION MARK 𐬹
0x10B3A, // TINY TWO DOTS OVER ONE DOT PUNCTUATION 𐬺
0x10B3B, // SMALL TWO DOTS OVER ONE DOT PUNCTUATION 𐬻
0x10B3C, // LARGE TWO DOTS OVER ONE DOT PUNCTUATION 𐬼
0x10B3D, // LARGE ONE DOT OVER TWO DOTS PUNCTUATION 𐬽
0x10B3E, // LARGE TWO RINGS OVER ONE RING PUNCTUATION 𐬾
0x10B3F, // LARGE ONE RING OVER TWO RINGS PUNCTUATION 𐬿
0x10B99, // PSALTER PAHLAVI SECTION MARK 𐮙
0x10B9A, // PSALTER PAHLAVI TURNED SECTION MARK 𐮚
0x10B9B, // PSALTER PAHLAVI FOUR DOTS WITH CROSS 𐮛
0x10B9C, // PSALTER PAHLAVI FOUR DOTS WITH DOT 𐮜
0x10F55, // SOGDIAN PUNCTUATION TWO VERTICAL BARS 𐽕
0x10F56, // SOGDIAN PUNCTUATION TWO VERTICAL BARS WITH DOTS 𐽖
0x10F57, // SOGDIAN PUNCTUATION CIRCLE WITH DOT 𐽗
0x10F58, // SOGDIAN PUNCTUATION TWO CIRCLES WITH DOTS 𐽘
0x10F59, // SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT 𐽙
0x11047, // BRAHMI DANDA 𑁇
0x11048, // BRAHMI DOUBLE DANDA 𑁈
0x11049, // BRAHMI PUNCTUATION DOT 𑁉
0x1104A, // BRAHMI PUNCTUATION DOUBLE DOT 𑁊
0x1104B, // BRAHMI PUNCTUATION LINE 𑁋
0x1104C, // BRAHMI PUNCTUATION CRESCENT BAR 𑁌
0x1104D, // BRAHMI PUNCTUATION LOTUS 𑁍
0x110BB, // KAITHI ABBREVIATION SIGN 𑂻
0x110BC, // KAITHI ENUMERATION SIGN 𑂼
0x110BE, // KAITHI SECTION MARK 𑂾
0x110BF, // KAITHI DOUBLE SECTION MARK 𑂿
0x110C0, // KAITHI DANDA 𑃀
0x110C1, // KAITHI DOUBLE DANDA 𑃁
0x11140, // CHAKMA SECTION MARK 𑅀
0x11141, // CHAKMA DANDA 𑅁
0x11142, // CHAKMA DOUBLE DANDA 𑅂
0x11143, // CHAKMA QUESTION MARK 𑅃
0x11174, // MAHAJANI ABBREVIATION SIGN 𑅴
0x11175, // MAHAJANI SECTION MARK 𑅵
0x111C5, // SHARADA DANDA 𑇅
0x111C6, // SHARADA DOUBLE DANDA 𑇆
0x111C7, // SHARADA ABBREVIATION SIGN 𑇇
0x111C8, // SHARADA SEPARATOR 𑇈
0x111CD, // SHARADA SUTRA MARK 𑇍
0x111DB, // SHARADA SIGN SIDDHAM 𑇛
0x111DD, // SHARADA CONTINUATION SIGN 𑇝
0x111DE, // SHARADA SECTION MARK-1 𑇞
0x111DF, // SHARADA SECTION MARK-2 𑇟
0x11238, // KHOJKI DANDA 𑈸
0x11239, // KHOJKI DOUBLE DANDA 𑈹
0x1123A, // KHOJKI WORD SEPARATOR 𑈺
0x1123B, // KHOJKI SECTION MARK 𑈻
0x1123C, // KHOJKI DOUBLE SECTION MARK 𑈼
0x1123D, // KHOJKI ABBREVIATION SIGN 𑈽
0x112A9, // MULTANI SECTION MARK 𑊩
0x1144B, // NEWA DANDA 𑑋
0x1144C, // NEWA DOUBLE DANDA 𑑌
0x1144D, // NEWA COMMA 𑑍
0x1144E, // NEWA GAP FILLER 𑑎
0x1144F, // NEWA ABBREVIATION SIGN 𑑏
0x1145B, // NEWA PLACEHOLDER MARK 𑑛
0x1145D, // NEWA INSERTION SIGN 𑑝
0x114C6, // TIRHUTA ABBREVIATION SIGN 𑓆
0x115C1, // SIDDHAM SIGN SIDDHAM 𑗁
0x115C2, // SIDDHAM DANDA 𑗂
0x115C3, // SIDDHAM DOUBLE DANDA 𑗃
0x115C4, // SIDDHAM SEPARATOR DOT 𑗄
0x115C5, // SIDDHAM SEPARATOR BAR 𑗅
0x115C6, // SIDDHAM REPETITION MARK-1 𑗆
0x115C7, // SIDDHAM REPETITION MARK-2 𑗇
0x115C8, // SIDDHAM REPETITION MARK-3 𑗈
0x115C9, // SIDDHAM END OF TEXT MARK 𑗉
0x115CA, // SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS 𑗊
0x115CB, // SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS 𑗋
0x115CC, // SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS 𑗌
0x115CD, // SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS 𑗍
0x115CE, // SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS 𑗎
0x115CF, // SIDDHAM SECTION MARK DOUBLE RING 𑗏
0x115D0, // SIDDHAM SECTION MARK DOUBLE RING WITH RAYS 𑗐
0x115D1, // SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS 𑗑
0x115D2, // SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS 𑗒
0x115D3, // SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS 𑗓
0x115D4, // SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS 𑗔
0x115D5, // SIDDHAM SECTION MARK WITH CIRCLES AND RAYS 𑗕
0x115D6, // SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES 𑗖
0x115D7, // SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES 𑗗
0x11641, // MODI DANDA 𑙁
0x11642, // MODI DOUBLE DANDA 𑙂
0x11643, // MODI ABBREVIATION SIGN 𑙃
0x11660, // MONGOLIAN BIRGA WITH ORNAMENT 𑙠
0x11661, // MONGOLIAN ROTATED BIRGA 𑙡
0x11662, // MONGOLIAN DOUBLE BIRGA WITH ORNAMENT 𑙢
0x11663, // MONGOLIAN TRIPLE BIRGA WITH ORNAMENT 𑙣
0x11664, // MONGOLIAN BIRGA WITH DOUBLE ORNAMENT 𑙤
0x11665, // MONGOLIAN ROTATED BIRGA WITH ORNAMENT 𑙥
0x11666, // MONGOLIAN ROTATED BIRGA WITH DOUBLE ORNAMENT 𑙦
0x11667, // MONGOLIAN INVERTED BIRGA 𑙧
0x11668, // MONGOLIAN INVERTED BIRGA WITH DOUBLE ORNAMENT 𑙨
0x11669, // MONGOLIAN SWIRL BIRGA 𑙩
0x1166A, // MONGOLIAN SWIRL BIRGA WITH ORNAMENT 𑙪
0x1166B, // MONGOLIAN SWIRL BIRGA WITH DOUBLE ORNAMENT 𑙫
0x1166C, // MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT 𑙬
0x1173C, // AHOM SIGN SMALL SECTION 𑜼
0x1173D, // AHOM SIGN SECTION 𑜽
0x1173E, // AHOM SIGN RULAI 𑜾
0x1183B, // DOGRA ABBREVIATION SIGN 𑠻
0x119E2, // NANDINAGARI SIGN SIDDHAM 𑧢
0x11A3F, // ZANABAZAR SQUARE INITIAL HEAD MARK 𑨿
0x11A40, // ZANABAZAR SQUARE CLOSING HEAD MARK 𑩀
0x11A41, // ZANABAZAR SQUARE MARK TSHEG 𑩁
0x11A42, // ZANABAZAR SQUARE MARK SHAD 𑩂
0x11A43, // ZANABAZAR SQUARE MARK DOUBLE SHAD 𑩃
0x11A44, // ZANABAZAR SQUARE MARK LONG TSHEG 𑩄
0x11A45, // ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK 𑩅
0x11A46, // ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK 𑩆
0x11A9A, // SOYOMBO MARK TSHEG 𑪚
0x11A9B, // SOYOMBO MARK SHAD 𑪛
0x11A9C, // SOYOMBO MARK DOUBLE SHAD 𑪜
0x11A9E, // SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME 𑪞
0x11A9F, // SOYOMBO HEAD MARK WITH MOON AND SUN AND FLAME 𑪟
0x11AA0, // SOYOMBO HEAD MARK WITH MOON AND SUN 𑪠
0x11AA1, // SOYOMBO TERMINAL MARK-1 𑪡
0x11AA2, // SOYOMBO TERMINAL MARK-2 𑪢
0x11C41, // BHAIKSUKI DANDA 𑱁
0x11C42, // BHAIKSUKI DOUBLE DANDA 𑱂
0x11C43, // BHAIKSUKI WORD SEPARATOR 𑱃
0x11C44, // BHAIKSUKI GAP FILLER-1 𑱄
0x11C45, // BHAIKSUKI GAP FILLER-2 𑱅
0x11C70, // MARCHEN HEAD MARK 𑱰
0x11C71, // MARCHEN MARK SHAD 𑱱
0x11EF7, // MAKASAR PASSIMBANG 𑻷
0x11EF8, // MAKASAR END OF SECTION 𑻸
0x11FFF, // TAMIL PUNCTUATION END OF TEXT 𑿿
0x12470, // CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER 𒑰
0x12471, // CUNEIFORM PUNCTUATION SIGN VERTICAL COLON 𒑱
0x12472, // CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON 𒑲
0x12473, // CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON 𒑳
0x12474, // CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON 𒑴
0x16A6E, // MRO DANDA 𖩮
0x16A6F, // MRO DOUBLE DANDA 𖩯
0x16AF5, // BASSA VAH FULL STOP 𖫵
0x16B37, // PAHAWH HMONG SIGN VOS THOM 𖬷
0x16B38, // PAHAWH HMONG SIGN VOS TSHAB CEEB 𖬸
0x16B39, // PAHAWH HMONG SIGN CIM CHEEM 𖬹
0x16B3A, // PAHAWH HMONG SIGN VOS THIAB 𖬺
0x16B3B, // PAHAWH HMONG SIGN VOS FEEM 𖬻
0x16B44, // PAHAWH HMONG SIGN XAUS 𖭄
0x16E97, // MEDEFAIDRIN COMMA 𖺗
0x16E98, // MEDEFAIDRIN FULL STOP 𖺘
0x16E99, // MEDEFAIDRIN SYMBOL AIVA 𖺙
0x16E9A, // MEDEFAIDRIN EXCLAMATION OH 𖺚
0x16FE2, // OLD CHINESE HOOK MARK 𖿢
0x1BC9F, // DUPLOYAN PUNCTUATION CHINOOK FULL STOP 𛲟
0x1DA87, // SIGNWRITING COMMA 𝪇
0x1DA88, // SIGNWRITING FULL STOP 𝪈
0x1DA89, // SIGNWRITING SEMICOLON 𝪉
0x1DA8A, // SIGNWRITING COLON 𝪊
0x1DA8B, // SIGNWRITING PARENTHESIS 𝪋
0x1E95E, // ADLAM INITIAL EXCLAMATION MARK 𞥞
0x1E95F, // ADLAM INITIAL QUESTION MARK
]
)