/**********************************************************************
*
* utf-8 util
*
* This file contains utilities for utf8 strings
*
**********************************************************************/
module builtin

//
// utf8_to_upper
// Parameters:
//
// Output:
//  string
//
// Convert a utf8 string to uppercase
//
pub fn (s string) utf8_to_upper() string {
	return s.utf8_up_low(true)
}

//
// utf8_to_lower
// Parameters:
//
// Output:
//  string
//
// Convert a utf8 string to lowercase
// 
pub fn (s string) utf8_to_lower() string {
	return s.utf8_up_low(false) 
}

// Private function, calculate the lenght in bytes of a utf8 rune
fn utf8util_char_len(b byte) int {
	return (( 0xe5000000 >> (( b >> 3 ) & 0x1e )) & 3 ) + 1
}

// Private function, make the dir jobs
fn (s string) utf8_up_low(uppper_flag bool) string {
	mut _index := 0
	mut old_index := 0
	mut str_res := malloc(s.len + 1)
	
	mut offset:=1 		// default to upper
	mut test_result:=1 	// default to upper
	if uppper_flag == false {
		offset=-1
		test_result=0
	}
	//C.printf("offset: %d tr: %d\n",offset,test_result)

	for {
		ch_len := utf8util_char_len(s.str[_index])

		if ch_len == 1 {
			if uppper_flag==true {
				str_res[_index] = C.toupper(s.str[_index])
			}else{
				str_res[_index] = C.tolower(s.str[_index])
			}
		}
		else if ch_len > 1 && ch_len < 5{
			mut lword := int(0)

			for i:=0; i < ch_len ; i++ {
				lword = (lword << 8 ) | int( s.str[_index + i] ) 
			}

			//C.printf(" #%d (%x) ", _index, lword)
			
			mut res := int(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 & 0x0f00 ) >> 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("code %d %x",ch_len,res)
			ch_index := find_char(u16(res))
			//C.printf(" utf8 index: %d",ch_index)

			// char not in table no need of conversion
			//****************************************************************
			//BUG: need round brackets for & condition, otherwise priority ignored!!!
			//****************************************************************
			if ch_index==0 || ( ch_index & 1 )== test_result { 
				for i in 0..ch_len {
					str_res[_index + i] = s.str[_index + i] 
				}
			}else{
				tab_char := u16(unicode_con_table[ch_index+offset])
				//C.printf("Old char: %04x, New char: %04x, index: %d, offset: %d\n",unicode_con_table[ch_index],tab_char,ch_index,offset)
				
				if ch_len == 2 {
					ch0:=( (tab_char >> 6) & 0x1f ) | 0xc0  	/*110x xxxx*/
					ch1:=( (tab_char >> 0) & 0x3f ) | 0x80		/*10xx xxxx*/
					//C.printf("[%02x%02x]",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:=( (tab_char >> 12) & 0x0f ) | 0xe0  	/*1110 xxxx*/
					ch1:=( (tab_char >> 6) & 0x3f ) | 0x80		/*10xx xxxx*/
					ch2:=( (tab_char >> 0) & 0x3f ) | 0x80		/*10xx xxxx*/

					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!!
					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] 
			}
		}
		old_index = _index
		_index += ch_len
		my_substr:=s.substr(old_index,_index)
		//println("#: $ch_len ==> $my_substr")
		
		uct := unicode_con_table[0]

		if _index >= s.len {
			break
		}
	}

	return tos(str_res, s.len)
}

fn find_char( inCode u16 ) int {
	for c,x in unicode_con_table {
		if x==inCode {
			return int(c)
		}
	}
	return int(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
*
*****************************************************************************/

const(
unicode_con_table = [
u16(0x0061), 0x0041, // LATIN SMALL LETTER A	LATIN CAPITAL LETTER A, 
0x0062, 0x0042,	// LATIN SMALL LETTER B	LATIN CAPITAL LETTER B
0x0063, 0x0043, // LATIN SMALL LETTER C	LATIN CAPITAL LETTER C
0x0064, 0x0044, // LATIN SMALL LETTER D	LATIN CAPITAL LETTER D
0x0065, 0x0045, // LATIN SMALL LETTER E	LATIN CAPITAL LETTER E
0x0066, 0x0046, // LATIN SMALL LETTER F	LATIN CAPITAL LETTER F
0x0067, 0x0047, // LATIN SMALL LETTER G	LATIN CAPITAL LETTER G
0x0068, 0x0048, // LATIN SMALL LETTER H	LATIN CAPITAL LETTER H
0x0069, 0x0049, // LATIN SMALL LETTER I	LATIN CAPITAL LETTER I
0x006A, 0x004A, // LATIN SMALL LETTER J	LATIN CAPITAL LETTER J
0x006B, 0x004B, // LATIN SMALL LETTER K	LATIN CAPITAL LETTER K
0x006C, 0x004C, // LATIN SMALL LETTER L	LATIN CAPITAL LETTER L
0x006D, 0x004D, // LATIN SMALL LETTER M	LATIN CAPITAL LETTER M
0x006E, 0x004E, // LATIN SMALL LETTER N	LATIN CAPITAL LETTER N
0x006F, 0x004F, // LATIN SMALL LETTER O	LATIN CAPITAL LETTER O
0x0070, 0x0050, // LATIN SMALL LETTER P	LATIN CAPITAL LETTER P
0x0071, 0x0051, // LATIN SMALL LETTER Q	LATIN CAPITAL LETTER Q
0x0072, 0x0052, // LATIN SMALL LETTER R	LATIN CAPITAL LETTER R
0x0073, 0x0053, // LATIN SMALL LETTER S	LATIN CAPITAL LETTER S
0x0074, 0x0054, // LATIN SMALL LETTER T	LATIN CAPITAL LETTER T
0x0075, 0x0055, // LATIN SMALL LETTER U	LATIN CAPITAL LETTER U
0x0076, 0x0056, // LATIN SMALL LETTER V	LATIN CAPITAL LETTER V
0x0077, 0x0057, // LATIN SMALL LETTER W	LATIN CAPITAL LETTER W
0x0078, 0x0058, // LATIN SMALL LETTER X	LATIN CAPITAL LETTER X
0x0079, 0x0059, // LATIN SMALL LETTER Y	LATIN CAPITAL LETTER Y
0x007A, 0x005A, // LATIN SMALL LETTER Z	LATIN CAPITAL LETTER Z
0x00E0, 0x00C0, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER A GRAVE
0x00E1, 0x00C1, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER A ACUTE
0x00E2, 0x00C2, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER A CIRCUMFLEX
0x00E3, 0x00C3, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER A TILDE
0x00E4, 0x00C4, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER A DIAERESIS
0x00E5, 0x00C5, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER A RING
0x00E6, 0x00C6, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER A E
0x00E7, 0x00C7, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER C CEDILLA
0x00E8, 0x00C8, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER E GRAVE
0x00E9, 0x00C9, // LATIN SMALL LETTER A GRAVE	LATIN CAPITAL LETTER E ACUTE
0x00EA, 0x00CA, // LATIN SMALL LETTER E CIRCUMFLEX	LATIN CAPITAL LETTER E CIRCUMFLEX
0x00EB, 0x00CB, // LATIN SMALL LETTER E DIAERESIS	LATIN CAPITAL LETTER E DIAERESIS
0x00EC, 0x00CC, // LATIN SMALL LETTER I GRAVE	LATIN CAPITAL LETTER I GRAVE
0x00ED, 0x00CD, // LATIN SMALL LETTER I ACUTE	LATIN CAPITAL LETTER I ACUTE
0x00EE, 0x00CE, // LATIN SMALL LETTER I CIRCUMFLEX	LATIN CAPITAL LETTER I CIRCUMFLEX
0x00EF, 0x00CF, // LATIN SMALL LETTER I DIAERESIS	LATIN CAPITAL LETTER I DIAERESIS
0x00F0, 0x00D0, // LATIN SMALL LETTER ETH	LATIN CAPITAL LETTER ETH
0x00F1, 0x00D1, // LATIN SMALL LETTER N TILDE	LATIN CAPITAL LETTER N TILDE
0x00F2, 0x00D2, // LATIN SMALL LETTER O GRAVE	LATIN CAPITAL LETTER O GRAVE
0x00F3, 0x00D3, // LATIN SMALL LETTER O ACUTE	LATIN CAPITAL LETTER O ACUTE
0x00F4, 0x00D4, // LATIN SMALL LETTER O CIRCUMFLEX	LATIN CAPITAL LETTER O CIRCUMFLEX
0x00F5, 0x00D5, // LATIN SMALL LETTER O TILDE	LATIN CAPITAL LETTER O TILDE
0x00F6, 0x00D6, // LATIN SMALL LETTER O DIAERESIS	LATIN CAPITAL LETTER O DIAERESIS
0x00F8, 0x00D8, // LATIN SMALL LETTER O SLASH	LATIN CAPITAL LETTER O SLASH
0x00F9, 0x00D9, // LATIN SMALL LETTER U GRAVE	LATIN CAPITAL LETTER U GRAVE
0x00FA, 0x00DA, // LATIN SMALL LETTER U ACUTE	LATIN CAPITAL LETTER U ACUTE
0x00FB, 0x00DB, // LATIN SMALL LETTER U CIRCUMFLEX	LATIN CAPITAL LETTER U CIRCUMFLEX
0x00FC, 0x00DC, // LATIN SMALL LETTER U DIAERESIS	LATIN CAPITAL LETTER U DIAERESIS
0x00FD, 0x00DD, // LATIN SMALL LETTER Y ACUTE	LATIN CAPITAL LETTER Y ACUTE
0x00FE, 0x00DE, // LATIN SMALL LETTER THORN	LATIN CAPITAL LETTER THORN
0x00FF, 0x0178, // LATIN SMALL LETTER Y DIAERESIS	LATIN CAPITAL LETTER Y WITH DIAERESIS
0x0101, 0x0100, // LATIN SMALL LETTER A WITH MACRON	LATIN CAPITAL LETTER A WITH MACRON
0x0103, 0x0102, // LATIN SMALL LETTER A WITH BREVE	LATIN CAPITAL LETTER A WITH BREVE
0x0105, 0x0104, // LATIN SMALL LETTER A WITH OGONEK	LATIN CAPITAL LETTER A WITH OGONEK
0x0107, 0x0106, // LATIN SMALL LETTER C WITH ACUTE	LATIN CAPITAL LETTER C WITH ACUTE
0x0109, 0x0108, // LATIN SMALL LETTER C WITH CIRCUMFLEX	LATIN CAPITAL LETTER C WITH CIRCUMFLEX
0x010B, 0x010A, // LATIN SMALL LETTER C WITH DOT ABOVE	LATIN CAPITAL LETTER C WITH DOT ABOVE
0x010D, 0x010C, // LATIN SMALL LETTER C WITH CARON	LATIN CAPITAL LETTER C WITH CARON
0x010F, 0x010E, // LATIN SMALL LETTER D WITH CARON	LATIN CAPITAL LETTER D WITH CARON
0x0111, 0x0110, // LATIN SMALL LETTER D WITH STROKE	LATIN CAPITAL LETTER D WITH STROKE
0x0113, 0x0112, // LATIN SMALL LETTER E WITH MACRON	LATIN CAPITAL LETTER E WITH MACRON
0x0115, 0x0114, // LATIN SMALL LETTER E WITH BREVE	LATIN CAPITAL LETTER E WITH BREVE
0x0117, 0x0116, // LATIN SMALL LETTER E WITH DOT ABOVE	LATIN CAPITAL LETTER E WITH DOT ABOVE
0x0119, 0x0118, // LATIN SMALL LETTER E WITH OGONEK	LATIN CAPITAL LETTER E WITH OGONEK
0x011B, 0x011A, // LATIN SMALL LETTER E WITH CARON	LATIN CAPITAL LETTER E WITH CARON
0x011D, 0x011C, // LATIN SMALL LETTER G WITH CIRCUMFLEX	LATIN CAPITAL LETTER G WITH CIRCUMFLEX
0x011F, 0x011E, // LATIN SMALL LETTER G WITH BREVE	LATIN CAPITAL LETTER G WITH BREVE
0x0121, 0x0120, // LATIN SMALL LETTER G WITH DOT ABOVE	LATIN CAPITAL LETTER G WITH DOT ABOVE
0x0123, 0x0122, // LATIN SMALL LETTER G WITH CEDILLA	LATIN CAPITAL LETTER G WITH CEDILLA
0x0125, 0x0124, // LATIN SMALL LETTER H WITH CIRCUMFLEX	LATIN CAPITAL LETTER H WITH CIRCUMFLEX
0x0127, 0x0126, // LATIN SMALL LETTER H WITH STROKE	LATIN CAPITAL LETTER H WITH STROKE
0x0129, 0x0128, // LATIN SMALL LETTER I WITH TILDE	LATIN CAPITAL LETTER I WITH TILDE
0x012B, 0x012A, // LATIN SMALL LETTER I WITH MACRON	LATIN CAPITAL LETTER I WITH MACRON
0x012D, 0x012C, // LATIN SMALL LETTER I WITH BREVE	LATIN CAPITAL LETTER I WITH BREVE
0x012F, 0x012E, // LATIN SMALL LETTER I WITH OGONEK	LATIN CAPITAL LETTER I WITH OGONEK
0x0131, 0x0049, // LATIN SMALL LETTER DOTLESS I	LATIN CAPITAL LETTER I
0x0133, 0x0132, // LATIN SMALL LIGATURE IJ	LATIN CAPITAL LIGATURE IJ
0x0135, 0x0134, // LATIN SMALL LETTER J WITH CIRCUMFLEX	LATIN CAPITAL LETTER J WITH CIRCUMFLEX
0x0137, 0x0136, // LATIN SMALL LETTER K WITH CEDILLA	LATIN CAPITAL LETTER K WITH CEDILLA
0x013A, 0x0139, // LATIN SMALL LETTER L WITH ACUTE	LATIN CAPITAL LETTER L WITH ACUTE
0x013C, 0x013B, // LATIN SMALL LETTER L WITH CEDILLA	LATIN CAPITAL LETTER L WITH CEDILLA
0x013E, 0x013D, // LATIN SMALL LETTER L WITH CARON	LATIN CAPITAL LETTER L WITH CARON
0x0140, 0x013F, // LATIN SMALL LETTER L WITH MIDDLE DOT	LATIN CAPITAL LETTER L WITH MIDDLE DOT
0x0142, 0x0141, // LATIN SMALL LETTER L WITH STROKE	LATIN CAPITAL LETTER L WITH STROKE
0x0144, 0x0143, // LATIN SMALL LETTER N WITH ACUTE	LATIN CAPITAL LETTER N WITH ACUTE
0x0146, 0x0145, // LATIN SMALL LETTER N WITH CEDILLA	LATIN CAPITAL LETTER N WITH CEDILLA
0x0148, 0x0147, // LATIN SMALL LETTER N WITH CARON	LATIN CAPITAL LETTER N WITH CARON
0x014B, 0x014A, // LATIN SMALL LETTER ENG (SAMI)	LATIN CAPITAL LETTER ENG (SAMI)
0x014D, 0x014C, // LATIN SMALL LETTER O WITH MACRON	LATIN CAPITAL LETTER O WITH MACRON
0x014F, 0x014E, // LATIN SMALL LETTER O WITH BREVE	LATIN CAPITAL LETTER O WITH BREVE
0x0151, 0x0150, // LATIN SMALL LETTER O WITH DOUBLE ACUTE	LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
0x0153, 0x0152, // LATIN SMALL LIGATURE OE	LATIN CAPITAL LIGATURE OE
0x0155, 0x0154, // LATIN SMALL LETTER R WITH ACUTE	LATIN CAPITAL LETTER R WITH ACUTE
0x0157, 0x0156, // LATIN SMALL LETTER R WITH CEDILLA	LATIN CAPITAL LETTER R WITH CEDILLA
0x0159, 0x0158, // LATIN SMALL LETTER R WITH CARON	LATIN CAPITAL LETTER R WITH CARON
0x015B, 0x015A, // LATIN SMALL LETTER S WITH ACUTE	LATIN CAPITAL LETTER S WITH ACUTE
0x015D, 0x015C, // LATIN SMALL LETTER S WITH CIRCUMFLEX	LATIN CAPITAL LETTER S WITH CIRCUMFLEX
0x015F, 0x015E, // LATIN SMALL LETTER S WITH CEDILLA	LATIN CAPITAL LETTER S WITH CEDILLA
0x0161, 0x0160, // LATIN SMALL LETTER S WITH CARON	LATIN CAPITAL LETTER S WITH CARON
0x0163, 0x0162, // LATIN SMALL LETTER T WITH CEDILLA	LATIN CAPITAL LETTER T WITH CEDILLA
0x0165, 0x0164, // LATIN SMALL LETTER T WITH CARON	LATIN CAPITAL LETTER T WITH CARON
0x0167, 0x0166, // LATIN SMALL LETTER T WITH STROKE	LATIN CAPITAL LETTER T WITH STROKE
0x0169, 0x0168, // LATIN SMALL LETTER U WITH TILDE	LATIN CAPITAL LETTER U WITH TILDE
0x016B, 0x016A, // LATIN SMALL LETTER U WITH MACRON	LATIN CAPITAL LETTER U WITH MACRON
0x016D, 0x016C, // LATIN SMALL LETTER U WITH BREVE	LATIN CAPITAL LETTER U WITH BREVE
0x016F, 0x016E, // LATIN SMALL LETTER U WITH RING ABOVE	LATIN CAPITAL LETTER U WITH RING ABOVE
0x0171, 0x0170, // LATIN SMALL LETTER U WITH DOUBLE ACUTE	LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
0x0173, 0x0172, // LATIN SMALL LETTER U WITH OGONEK	LATIN CAPITAL LETTER U WITH OGONEK
0x0175, 0x0174, // LATIN SMALL LETTER W WITH CIRCUMFLEX	LATIN CAPITAL LETTER W WITH CIRCUMFLEX
0x0177, 0x0176, // LATIN SMALL LETTER Y WITH CIRCUMFLEX	LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
0x017A, 0x0179, // LATIN SMALL LETTER Z WITH ACUTE	LATIN CAPITAL LETTER Z WITH ACUTE
0x017C, 0x017B, // LATIN SMALL LETTER Z WITH DOT ABOVE	LATIN CAPITAL LETTER Z WITH DOT ABOVE
0x017E, 0x017D, // LATIN SMALL LETTER Z WITH CARON	LATIN CAPITAL LETTER Z WITH CARON
0x0183, 0x0182, // LATIN SMALL LETTER B WITH TOPBAR	LATIN CAPITAL LETTER B WITH TOPBAR
0x0185, 0x0184, // LATIN SMALL LETTER TONE SIX	LATIN CAPITAL LETTER TONE SIX
0x0188, 0x0187, // LATIN SMALL LETTER C WITH HOOK	LATIN CAPITAL LETTER C WITH HOOK
0x018C, 0x018B, // LATIN SMALL LETTER D WITH TOPBAR	LATIN CAPITAL LETTER D WITH TOPBAR
0x0192, 0x0191, // LATIN SMALL LETTER F WITH HOOK	LATIN CAPITAL LETTER F WITH HOOK
0x0199, 0x0198, // LATIN SMALL LETTER K WITH HOOK	LATIN CAPITAL LETTER K WITH HOOK
0x01A1, 0x01A0, // LATIN SMALL LETTER O WITH HORN	LATIN CAPITAL LETTER O WITH HORN
0x01A3, 0x01A2, // LATIN SMALL LETTER OI	LATIN CAPITAL LETTER OI
0x01A5, 0x01A4, // LATIN SMALL LETTER P WITH HOOK	LATIN CAPITAL LETTER P WITH HOOK
0x01A8, 0x01A7, // LATIN SMALL LETTER TONE TWO	LATIN CAPITAL LETTER TONE TWO
0x01AD, 0x01AC, // LATIN SMALL LETTER T WITH HOOK	LATIN CAPITAL LETTER T WITH HOOK
0x01B0, 0x01AF, // LATIN SMALL LETTER U WITH HORN	LATIN CAPITAL LETTER U WITH HORN
0x01B4, 0x01B3, // LATIN SMALL LETTER Y WITH HOOK	LATIN CAPITAL LETTER Y WITH HOOK
0x01B6, 0x01B5, // LATIN SMALL LETTER Z WITH STROKE	LATIN CAPITAL LETTER Z WITH STROKE
0x01B9, 0x01B8, // LATIN SMALL LETTER EZH REVERSED	LATIN CAPITAL LETTER EZH REVERSED
0x01BD, 0x01BC, // LATIN SMALL LETTER TONE FIVE	LATIN CAPITAL LETTER TONE FIVE
0x01C6, 0x01C4, // LATIN SMALL LETTER DZ WITH CARON	LATIN CAPITAL LETTER DZ WITH CARON
0x01C9, 0x01C7, // LATIN SMALL LETTER LJ	LATIN CAPITAL LETTER LJ
0x01CC, 0x01CA, // LATIN SMALL LETTER NJ	LATIN CAPITAL LETTER NJ
0x01CE, 0x01CD, // LATIN SMALL LETTER A WITH CARON	LATIN CAPITAL LETTER A WITH CARON
0x01D0, 0x01CF, // LATIN SMALL LETTER I WITH CARON	LATIN CAPITAL LETTER I WITH CARON
0x01D2, 0x01D1, // LATIN SMALL LETTER O WITH CARON	LATIN CAPITAL LETTER O WITH CARON
0x01D4, 0x01D3, // LATIN SMALL LETTER U WITH CARON	LATIN CAPITAL LETTER U WITH CARON
0x01D6, 0x01D5, // LATIN SMALL LETTER U WITH DIAERESIS AND MACRON	LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
0x01D8, 0x01D7, // LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE	LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
0x01DA, 0x01D9, // LATIN SMALL LETTER U WITH DIAERESIS AND CARON	LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
0x01DC, 0x01DB, // LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE	LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
0x01DF, 0x01DE, // LATIN SMALL LETTER A WITH DIAERESIS AND MACRON	LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
0x01E1, 0x01E0, // LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON	LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
0x01E3, 0x01E2, // LATIN SMALL LIGATURE AE WITH MACRON	LATIN CAPITAL LIGATURE AE MTH MACRON
0x01E5, 0x01E4, // LATIN SMALL LETTER G WITH STROKE	LATIN CAPITAL LETTER G WITH STROKE
0x01E7, 0x01E6, // LATIN SMALL LETTER G WITH CARON	LATIN CAPITAL LETTER G WITH CARON
0x01E9, 0x01E8, // LATIN SMALL LETTER K WITH CARON	LATIN CAPITAL LETTER K WITH CARON
0x01EB, 0x01EA, // LATIN SMALL LETTER O WITH OGONEK	LATIN CAPITAL LETTER O WITH OGONEK
0x01ED, 0x01EC, // LATIN SMALL LETTER O WITH OGONEK AND MACRON	LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
0x01EF, 0x01EE, // LATIN SMALL LETTER EZH WITH CARON	LATIN CAPITAL LETTER EZH WITH CARON
0x01F3, 0x01F1, // LATIN SMALL LETTER DZ	LATIN CAPITAL LETTER DZ
0x01F5, 0x01F4, // LATIN SMALL LETTER G WITH ACUTE	LATIN CAPITAL LETTER G WITH ACUTE
0x01FB, 0x01FA, // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE	LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
0x01FD, 0x01FC, // LATIN SMALL LIGATURE AE WITH ACUTE	LATIN CAPITAL LIGATURE AE WITH ACUTE
0x01FF, 0x01FE, // LATIN SMALL LETTER O WITH STROKE AND ACUTE	LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
0x0201, 0x0200, // LATIN SMALL LETTER A WITH DOUBLE GRAVE	LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
0x0203, 0x0202, // LATIN SMALL LETTER A WITH INVERTED BREVE	LATIN CAPITAL LETTER A WITH INVERTED BREVE
0x0205, 0x0204, // LATIN SMALL LETTER E WITH DOUBLE GRAVE	LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
0x0207, 0x0206, // LATIN SMALL LETTER E WITH INVERTED BREVE	LATIN CAPITAL LETTER E WITH INVERTED BREVE
0x0209, 0x0208, // LATIN SMALL LETTER I WITH DOUBLE GRAVE	LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
0x020B, 0x020A, // LATIN SMALL LETTER I WITH INVERTED BREVE	LATIN CAPITAL LETTER I WITH INVERTED BREVE
0x020D, 0x020C, // LATIN SMALL LETTER O WITH DOUBLE GRAVE	LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
0x020F, 0x020E, // LATIN SMALL LETTER O WITH INVERTED BREVE	LATIN CAPITAL LETTER O WITH INVERTED BREVE
0x0211, 0x0210, // LATIN SMALL LETTER R WITH DOUBLE GRAVE	LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
0x0213, 0x0212, // LATIN SMALL LETTER R WITH INVERTED BREVE	LATIN CAPITAL LETTER R WITH INVERTED BREVE
0x0215, 0x0214, // LATIN SMALL LETTER U WITH DOUBLE GRAVE	LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
0x0217, 0x0216, // LATIN SMALL LETTER U WITH INVERTED BREVE	LATIN CAPITAL LETTER U WITH INVERTED BREVE
0x0253, 0x0181, // LATIN SMALL LETTER B WITH HOOK	LATIN CAPITAL LETTER B WITH HOOK
0x0254, 0x0186, // LATIN SMALL LETTER OPEN O	LATIN CAPITAL LETTER OPEN O
0x0257, 0x018A, // LATIN SMALL LETTER D WITH HOOK	LATIN CAPITAL LETTER D WITH HOOK
0x0258, 0x018E, // LATIN SMALL LETTER REVERSED E	LATIN CAPITAL LETTER REVERSED E
0x0259, 0x018F, // LATIN SMALL LETTER SCHWA	LATIN CAPITAL LETTER SCHWA
0x025B, 0x0190, // LATIN SMALL LETTER OPEN E	LATIN CAPITAL LETTER OPEN E
0x0260, 0x0193, // LATIN SMALL LETTER G WITH HOOK	LATIN CAPITAL LETTER G WITH HOOK
0x0263, 0x0194, // LATIN SMALL LETTER GAMMA	LATIN CAPITAL LETTER GAMMA
0x0268, 0x0197, // LATIN SMALL LETTER I WITH STROKE	LATIN CAPITAL LETTER I WITH STROKE
0x0269, 0x0196, // LATIN SMALL LETTER IOTA	LATIN CAPITAL LETTER IOTA
0x026F, 0x019C, // LATIN SMALL LETTER TURNED M	LATIN CAPITAL LETTER TURNED M
0x0272, 0x019D, // LATIN SMALL LETTER N WITH LEFT HOOK	LATIN CAPITAL LETTER N WITH LEFT HOOK
0x0275, 0x019F, // LATIN SMALL LETTER BARRED O	LATIN CAPITAL LETTER O WITH MIDDLE TILDE
0x0283, 0x01A9, // LATIN SMALL LETTER ESH	LATIN CAPITAL LETTER ESH
0x0288, 0x01AE, // LATIN SMALL LETTER T WITH RETROFLEX HOOK	LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
0x028A, 0x01B1, // LATIN SMALL LETTER UPSILON	LATIN CAPITAL LETTER UPSILON
0x028B, 0x01B2, // LATIN SMALL LETTER V WITH HOOK	LATIN CAPITAL LETTER V WITH HOOK
0x0292, 0x01B7, // LATIN SMALL LETTER EZH	LATIN CAPITAL LETTER EZH
0x03AC, 0x0386, // GREEK SMALL LETTER ALPHA WITH TONOS	GREEK CAPITAL LETTER ALPHA WITH TONOS
0x03AD, 0x0388, // GREEK SMALL LETTER EPSILON WITH TONOS	GREEK CAPITAL LETTER EPSILON WITH TONOS
0x03AE, 0x0389, // GREEK SMALL LETTER ETA WITH TONOS	GREEK CAPITAL LETTER ETA WITH TONOS
0x03AF, 0x038A, // GREEK SMALL LETTER IOTA WITH TONOS	GREEK CAPITAL LETTER IOTA WITH TONOS
0x03B1, 0x0391, // GREEK SMALL LETTER ALPHA	GREEK CAPITAL LETTER ALPHA
0x03B2, 0x0392, // GREEK SMALL LETTER BETA	GREEK CAPITAL LETTER BETA
0x03B3, 0x0393, // GREEK SMALL LETTER GAMMA	GREEK CAPITAL LETTER GAMMA
0x03B4, 0x0394, // GREEK SMALL LETTER DELTA	GREEK CAPITAL LETTER DELTA
0x03B5, 0x0395, // GREEK SMALL LETTER EPSILON	GREEK CAPITAL LETTER EPSILON
0x03B6, 0x0396, // GREEK SMALL LETTER ZETA	GREEK CAPITAL LETTER ZETA
0x03B7, 0x0397, // GREEK SMALL LETTER ETA	GREEK CAPITAL LETTER ETA
0x03B8, 0x0398, // GREEK SMALL LETTER THETA	GREEK CAPITAL LETTER THETA
0x03B9, 0x0399, // GREEK SMALL LETTER IOTA	GREEK CAPITAL LETTER IOTA
0x03BA, 0x039A, // GREEK SMALL LETTER KAPPA	GREEK CAPITAL LETTER KAPPA
0x03BB, 0x039B, // GREEK SMALL LETTER LAMDA	GREEK CAPITAL LETTER LAMDA
0x03BC, 0x039C, // GREEK SMALL LETTER MU	GREEK CAPITAL LETTER MU
0x03BD, 0x039D, // GREEK SMALL LETTER NU	GREEK CAPITAL LETTER NU
0x03BE, 0x039E, // GREEK SMALL LETTER XI	GREEK CAPITAL LETTER XI
0x03BF, 0x039F, // GREEK SMALL LETTER OMICRON	GREEK CAPITAL LETTER OMICRON
0x03C0, 0x03A0, // GREEK SMALL LETTER PI	GREEK CAPITAL LETTER PI
0x03C1, 0x03A1, // GREEK SMALL LETTER RHO	GREEK CAPITAL LETTER RHO
0x03C3, 0x03A3, // GREEK SMALL LETTER SIGMA	GREEK CAPITAL LETTER SIGMA
0x03C4, 0x03A4, // GREEK SMALL LETTER TAU	GREEK CAPITAL LETTER TAU
0x03C5, 0x03A5, // GREEK SMALL LETTER UPSILON	GREEK CAPITAL LETTER UPSILON
0x03C6, 0x03A6, // GREEK SMALL LETTER PHI	GREEK CAPITAL LETTER PHI
0x03C7, 0x03A7, // GREEK SMALL LETTER CHI	GREEK CAPITAL LETTER CHI
0x03C8, 0x03A8, // GREEK SMALL LETTER PSI	GREEK CAPITAL LETTER PSI
0x03C9, 0x03A9, // GREEK SMALL LETTER OMEGA	GREEK CAPITAL LETTER OMEGA
0x03CA, 0x03AA, // GREEK SMALL LETTER IOTA WITH DIALYTIKA	GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
0x03CB, 0x03AB, // GREEK SMALL LETTER UPSILON WITH DIALYTIKA	GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
0x03CC, 0x038C, // GREEK SMALL LETTER OMICRON WITH TONOS	GREEK CAPITAL LETTER OMICRON WITH TONOS
0x03CD, 0x038E, // GREEK SMALL LETTER UPSILON WITH TONOS	GREEK CAPITAL LETTER UPSILON WITH TONOS
0x03CE, 0x038F, // GREEK SMALL LETTER OMEGA WITH TONOS	GREEK CAPITAL LETTER OMEGA WITH TONOS
0x03E3, 0x03E2, // COPTIC SMALL LETTER SHEI	COPTIC CAPITAL LETTER SHEI
0x03E5, 0x03E4, // COPTIC SMALL LETTER FEI	COPTIC CAPITAL LETTER FEI
0x03E7, 0x03E6, // COPTIC SMALL LETTER KHEI	COPTIC CAPITAL LETTER KHEI
0x03E9, 0x03E8, // COPTIC SMALL LETTER HORI	COPTIC CAPITAL LETTER HORI
0x03EB, 0x03EA, // COPTIC SMALL LETTER GANGIA	COPTIC CAPITAL LETTER GANGIA
0x03ED, 0x03EC, // COPTIC SMALL LETTER SHIMA	COPTIC CAPITAL LETTER SHIMA
0x03EF, 0x03EE, // COPTIC SMALL LETTER DEI	COPTIC CAPITAL LETTER DEI
0x0430, 0x0410, // CYRILLIC SMALL LETTER A	CYRILLIC CAPITAL LETTER A
0x0431, 0x0411, // CYRILLIC SMALL LETTER BE	CYRILLIC CAPITAL LETTER BE
0x0432, 0x0412, // CYRILLIC SMALL LETTER VE	CYRILLIC CAPITAL LETTER VE
0x0433, 0x0413, // CYRILLIC SMALL LETTER GHE	CYRILLIC CAPITAL LETTER GHE
0x0434, 0x0414, // CYRILLIC SMALL LETTER DE	CYRILLIC CAPITAL LETTER DE
0x0435, 0x0415, // CYRILLIC SMALL LETTER IE	CYRILLIC CAPITAL LETTER IE
0x0436, 0x0416, // CYRILLIC SMALL LETTER ZHE	CYRILLIC CAPITAL LETTER ZHE
0x0437, 0x0417, // CYRILLIC SMALL LETTER ZE	CYRILLIC CAPITAL LETTER ZE
0x0438, 0x0418, // CYRILLIC SMALL LETTER I	CYRILLIC CAPITAL LETTER I
0x0439, 0x0419, // CYRILLIC SMALL LETTER SHORT I	CYRILLIC CAPITAL LETTER SHORT I
0x043A, 0x041A, // CYRILLIC SMALL LETTER KA	CYRILLIC CAPITAL LETTER KA
0x043B, 0x041B, // CYRILLIC SMALL LETTER EL	CYRILLIC CAPITAL LETTER EL
0x043C, 0x041C, // CYRILLIC SMALL LETTER EM	CYRILLIC CAPITAL LETTER EM
0x043D, 0x041D, // CYRILLIC SMALL LETTER EN	CYRILLIC CAPITAL LETTER EN
0x043E, 0x041E, // CYRILLIC SMALL LETTER O	CYRILLIC CAPITAL LETTER O
0x043F, 0x041F, // CYRILLIC SMALL LETTER PE	CYRILLIC CAPITAL LETTER PE
0x0440, 0x0420, // CYRILLIC SMALL LETTER ER	CYRILLIC CAPITAL LETTER ER
0x0441, 0x0421, // CYRILLIC SMALL LETTER ES	CYRILLIC CAPITAL LETTER ES
0x0442, 0x0422, // CYRILLIC SMALL LETTER TE	CYRILLIC CAPITAL LETTER TE
0x0443, 0x0423, // CYRILLIC SMALL LETTER U	CYRILLIC CAPITAL LETTER U
0x0444, 0x0424, // CYRILLIC SMALL LETTER EF	CYRILLIC CAPITAL LETTER EF
0x0445, 0x0425, // CYRILLIC SMALL LETTER HA	CYRILLIC CAPITAL LETTER HA
0x0446, 0x0426, // CYRILLIC SMALL LETTER TSE	CYRILLIC CAPITAL LETTER TSE
0x0447, 0x0427, // CYRILLIC SMALL LETTER CHE	CYRILLIC CAPITAL LETTER CHE
0x0448, 0x0428, // CYRILLIC SMALL LETTER SHA	CYRILLIC CAPITAL LETTER SHA
0x0449, 0x0429, // CYRILLIC SMALL LETTER SHCHA	CYRILLIC CAPITAL LETTER SHCHA
0x044A, 0x042A, // CYRILLIC SMALL LETTER HARD SIGN	CYRILLIC CAPITAL LETTER HARD SIGN
0x044B, 0x042B, // CYRILLIC SMALL LETTER YERU	CYRILLIC CAPITAL LETTER YERU
0x044C, 0x042C, // CYRILLIC SMALL LETTER SOFT SIGN	CYRILLIC CAPITAL LETTER SOFT SIGN
0x044D, 0x042D, // CYRILLIC SMALL LETTER E	CYRILLIC CAPITAL LETTER E
0x044E, 0x042E, // CYRILLIC SMALL LETTER YU	CYRILLIC CAPITAL LETTER YU
0x044F, 0x042F, // CYRILLIC SMALL LETTER YA	CYRILLIC CAPITAL LETTER YA
0x0451, 0x0401, // CYRILLIC SMALL LETTER IO	CYRILLIC CAPITAL LETTER IO
0x0452, 0x0402, // CYRILLIC SMALL LETTER DJE (SERBOCROATIAN)	CYRILLIC CAPITAL LETTER DJE (SERBOCROATIAN)
0x0453, 0x0403, // CYRILLIC SMALL LETTER GJE	CYRILLIC CAPITAL LETTER GJE
0x0454, 0x0404, // CYRILLIC SMALL LETTER UKRAINIAN IE	CYRILLIC CAPITAL LETTER UKRAINIAN IE
0x0455, 0x0405, // CYRILLIC SMALL LETTER DZE	CYRILLIC CAPITAL LETTER DZE
0x0456, 0x0406, // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I	CYRILLIC CAPITAL LETTER BYELORUSSIAN_UKRAINIAN I
0x0457, 0x0407, // CYRILLIC SMALL LETTER YI (UKRAINIAN)	CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
0x0458, 0x0408, // CYRILLIC SMALL LETTER JE	CYRILLIC CAPITAL LETTER JE
0x0459, 0x0409, // CYRILLIC SMALL LETTER LJE	CYRILLIC CAPITAL LETTER LJE
0x045A, 0x040A, // CYRILLIC SMALL LETTER NJE	CYRILLIC CAPITAL LETTER NJE
0x045B, 0x040B, // CYRILLIC SMALL LETTER TSHE (SERBOCROATIAN)	CYRILLIC CAPITAL LETTER TSHE (SERBOCROATIAN)
0x045C, 0x040C, // CYRILLIC SMALL LETTER KJE	CYRILLIC CAPITAL LETTER KJE
0x045E, 0x040E, // CYRILLIC SMALL LETTER SHORT U (BYELORUSSIAN)	CYRILLIC CAPITAL LETTER SHORT U (BYELORUSSIAN)
0x045F, 0x040F, // CYRILLIC SMALL LETTER DZHE	CYRILLIC CAPITAL LETTER DZHE
0x0461, 0x0460, // CYRILLIC SMALL LETTER OMEGA	CYRILLIC CAPITAL LETTER OMEGA
0x0463, 0x0462, // CYRILLIC SMALL LETTER YAT	CYRILLIC CAPITAL LETTER YAT
0x0465, 0x0464, // CYRILLIC SMALL LETTER IOTIFIED E	CYRILLIC CAPITAL LETTER IOTIFIED E
0x0467, 0x0466, // CYRILLIC SMALL LETTER LITTLE YUS	CYRILLIC CAPITAL LETTER LITTLE YUS
0x0469, 0x0468, // CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS	CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
0x046B, 0x046A, // CYRILLIC SMALL LETTER BIG YUS	CYRILLIC CAPITAL LETTER BIG YUS
0x046D, 0x046C, // CYRILLIC SMALL LETTER IOTIFIED BIG YUS	CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
0x046F, 0x046E, // CYRILLIC SMALL LETTER KSI	CYRILLIC CAPITAL LETTER KSI
0x0471, 0x0470, // CYRILLIC SMALL LETTER PSI	CYRILLIC CAPITAL LETTER PSI
0x0473, 0x0472, // CYRILLIC SMALL LETTER FITA	CYRILLIC CAPITAL LETTER FITA
0x0475, 0x0474, // CYRILLIC SMALL LETTER IZHITSA	CYRILLIC CAPITAL LETTER IZHITSA
0x0477, 0x0476, // CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT	CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
0x0479, 0x0478, // CYRILLIC SMALL LETTER UK	CYRILLIC CAPITAL LETTER UK
0x047B, 0x047A, // CYRILLIC SMALL LETTER ROUND OMEGA	CYRILLIC CAPITAL LETTER ROUND OMEGA
0x047D, 0x047C, // CYRILLIC SMALL LETTER OMEGA WITH TITLO	CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
0x047F, 0x047E, // CYRILLIC SMALL LETTER OT	CYRILLIC CAPITAL LETTER OT
0x0481, 0x0480, // CYRILLIC SMALL LETTER KOPPA	CYRILLIC CAPITAL LETTER KOPPA
0x0491, 0x0490, // CYRILLIC SMALL LETTER GHE WITH UPTURN	CYRILLIC CAPITAL LETTER GHE WITH UPTURN
0x0493, 0x0492, // CYRILLIC SMALL LETTER GHE WITH STROKE	CYRILLIC CAPITAL LETTER GHE WITH STROKE
0x0495, 0x0494, // CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK	CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
0x0497, 0x0496, // CYRILLIC SMALL LETTER ZHE WITH DESCENDER	CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
0x0499, 0x0498, // CYRILLIC SMALL LETTER ZE WITH DESCENDER	CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
0x049B, 0x049A, // CYRILLIC SMALL LETTER KA WITH DESCENDER	CYRILLIC CAPITAL LETTER KA WITH DESCENDER
0x049D, 0x049C, // CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE	CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
0x049F, 0x049E, // CYRILLIC SMALL LETTER KA WITH STROKE	CYRILLIC CAPITAL LETTER KA WITH STROKE
0x04A1, 0x04A0, // CYRILLIC SMALL LETTER EASHKIR KA	CYRILLIC CAPITAL LETTER BASHKIR KA
0x04A3, 0x04A2, // CYRILLIC SMALL LETTER EN WITH DESCENOER	CYRILLIC CAPITAL LETTER EN WITH DESCENDER
0x04A5, 0x04A4, // CYRILLIC SMALL LIGATURE EN GHE	CYRILLIC CAPITAL LIGATURE EN GHF
0x04A7, 0x04A6, // CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK (ABKHASIAN)	CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK (ABKHASIAN)
0x04A9, 0x04A8, // CYRILLIC SMALL LETTER ABKHASIAN HA	CYRILLIC CAPITAL LETTER ABKHASIAN HA
0x04AB, 0x04AA, // CYRILLIC SMALL LETTER ES WITH DESCENDER	CYRILLIC CAPITAL LETTER ES WITH DESCENDER
0x04AD, 0x04AC, // CYRILLIC SMALL LETTER TE WITH DESCENDER	CYRILLIC CAPITAL LETTER TE WITH DESCENDER
0x04AF, 0x04AE, // CYRILLIC SMALL LETTER STRAIGHT U	CYRILLIC CAPITAL LETTER STRAIGHT U
0x04B1, 0x04B0, // CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE	CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
0x04B3, 0x04B2, // CYRILLIC SMALL LETTER HA WITH DESCENDER	CYRILLIC CAPITAL LETTER HA WITH DESCENDER
0x04B5, 0x04B4, // CYRILLIC SMALL LIGATURE TE TSE (ABKHASIAN)	CYRILLIC CAPITAL LIGATURE TE TSE (ABKHASIAN)
0x04B7, 0x04B6, // CYRILLIC SMALL LETTER CHE WITH DESCENDER	CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
0x04B9, 0x04B8, // CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE	CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
0x04BB, 0x04BA, // CYRILLIC SMALL LETTER SHHA	CYRILLIC CAPITAL LETTER SHHA
0x04BD, 0x04BC, // CYRILLIC SMALL LETTER ABKHASIAN CHE	CYRILLIC CAPITAL LETTER ABKHASIAN CHE
0x04BF, 0x04BE, // CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER	CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
0x04C2, 0x04C1, // CYRILLIC SMALL LETTER ZHE WITH BREVE	CYRILLIC CAPITAL LETTER ZHE WITH BREVE
0x04C4, 0x04C3, // CYRILLIC SMALL LETTER KA WITH HOOK	CYRILLIC CAPITAL LETTER KA WITH HOOK
0x04C8, 0x04C7, // CYRILLIC SMALL LETTER EN WITH HOOK	CYRILLIC CAPITAL LETTER EN WITH HOOK
0x04CC, 0x04CB, // CYRILLIC SMALL LETTER KHAKASSIAN CHE	CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
0x04D1, 0x04D0, // CYRILLIC SMALL LETTER A WITH BREVE	CYRILLIC CAPITAL LETTER A WITH BREVE
0x04D3, 0x04D2, // CYRILLIC SMALL LETTER A WITH DIAERESIS	CYRILLIC CAPITAL LETTER A WITH DIAERESIS
0x04D5, 0x04D4, // CYRILLIC SMALL LIGATURE A IE	CYRILLIC CAPITAL LIGATURE A IE
0x04D7, 0x04D6, // CYRILLIC SMALL LETTER IE WITH BREVE	CYRILLIC CAPITAL LETTER IE WITH BREVE
0x04D9, 0x04D8, // CYRILLIC SMALL LETTER SCHWA	CYRILLIC CAPITAL LETTER SCHWA
0x04DB, 0x04DA, // CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS	CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
0x04DD, 0x04DC, // CYRILLIC SMALL LETTER ZHE WITH DIAERESIS	CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
0x04DF, 0x04DE, // CYRILLIC SMALL LETTER ZE WITH DIAERESIS	CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
0x04E1, 0x04E0, // CYRILLIC SMALL LETTER ABKHASIAN DZE	CYRILLIC CAPITAL LETTER ABKHASIAN DZE
0x04E3, 0x04E2, // CYRILLIC SMALL LETTER I WITH MACRON	CYRILLIC CAPITAL LETTER I WITH MACRON
0x04E5, 0x04E4, // CYRILLIC SMALL LETTER I WITH DIAERESIS	CYRILLIC CAPITAL LETTER I WITH DIAERESIS
0x04E7, 0x04E6, // CYRILLIC SMALL LETTER O WITH DIAERESIS	CYRILLIC CAPITAL LETTER O WITH DIAERESIS
0x04E9, 0x04E8, // CYRILLIC SMALL LETTER BARRED O	CYRILLIC CAPITAL LETTER BARRED O
0x04EB, 0x04EA, // CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS	CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
0x04EF, 0x04EE, // CYRILLIC SMALL LETTER U WITH MACRON	CYRILLIC CAPITAL LETTER U WITH MACRON
0x04F1, 0x04F0, // CYRILLIC SMALL LETTER U WITH DIAERESIS	CYRILLIC CAPITAL LETTER U WITH DIAERESIS
0x04F3, 0x04F2, // CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE	CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
0x04F5, 0x04F4, // CYRILLIC SMALL LETTER CHE AITH DIAERESIS	CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
0x04F9, 0x04F8, // CYRILLIC SMALL LETTER YERU WITH DIAERESIS	CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
0x0561, 0x0531, // ARMENIAN SMALL LETTER AYB	ARMENIAN CAPITAL LETTER AYB
0x0562, 0x0532, // ARMENIAN SMALL LETTER BEN	ARMENIAN CAPITAL LETTER BEN
0x0563, 0x0533, // ARMENIAN SMALL LETTER GIM	ARMENIAN CAPITAL LETTER GIM
0x0564, 0x0534, // ARMENIAN SMALL LETTER DA	ARMENIAN CAPITAL LETTER DA
0x0565, 0x0535, // ARMENIAN SMALL LETTER ECH	ARMENIAN CAPITAL LETTER ECH
0x0566, 0x0536, // ARMENIAN SMALL LETTER ZA	ARMENIAN CAPITAL LETTER ZA
0x0567, 0x0537, // ARMENIAN SMALL LETTER EH	ARMENIAN CAPITAL LETTER EH
0x0568, 0x0538, // ARMENIAN SMALL LETTER ET	ARMENIAN CAPITAL LETTER ET
0x0569, 0x0539, // ARMENIAN SMALL LETTER TO	ARMENIAN CAPITAL LETTER TO
0x056A, 0x053A, // ARMENIAN SMALL LETTER ZHE	ARMENIAN CAPITAL LETTER ZHE
0x056B, 0x053B, // ARMENIAN SMALL LETTER INI	ARMENIAN CAPITAL LETTER INI
0x056C, 0x053C, // ARMENIAN SMALL LETTER LIWN	ARMENIAN CAPITAL LETTER LIWN
0x056D, 0x053D, // ARMENIAN SMALL LETTER XEH	ARMENIAN CAPITAL LETTER XEH
0x056E, 0x053E, // ARMENIAN SMALL LETTER CA	ARMENIAN CAPITAL LETTER CA
0x056F, 0x053F, // ARMENIAN SMALL LETTER KEN	ARMENIAN CAPITAL LETTER KEN
0x0570, 0x0540, // ARMENIAN SMALL LETTER HO	ARMENIAN CAPITAL LETTER HO
0x0571, 0x0541, // ARMENIAN SMALL LETTER JA	ARMENIAN CAPITAL LETTER JA
0x0572, 0x0542, // ARMENIAN SMALL LETTER GHAD	ARMENIAN CAPITAL LETTER GHAD
0x0573, 0x0543, // ARMENIAN SMALL LETTER CHEH	ARMENIAN CAPITAL LETTER CHEH
0x0574, 0x0544, // ARMENIAN SMALL LETTER MEN	ARMENIAN CAPITAL LETTER MEN
0x0575, 0x0545, // ARMENIAN SMALL LETTER YI	ARMENIAN CAPITAL LETTER YI
0x0576, 0x0546, // ARMENIAN SMALL LETTER NOW	ARMENIAN CAPITAL LETTER NOW
0x0577, 0x0547, // ARMENIAN SMALL LETTER SNA	ARMENIAN CAPITAL LETTER SHA
0x0578, 0x0548, // ARMENIAN SMALL LETTER VO	ARMENIAN CAPITAL LETTER VO
0x0579, 0x0549, // ARMENIAN SMALL LETTER CHA	ARMENIAN CAPITAL LETTER CHA
0x057A, 0x054A, // ARMENIAN SMALL LETTER PEH	ARMENIAN CAPITAL LETTER PEH
0x057B, 0x054B, // ARMENIAN SMALL LETTER JHEH	ARMENIAN CAPITAL LETTER JHEH
0x057C, 0x054C, // ARMENIAN SMALL LETTER RA	ARMENIAN CAPITAL LETTER RA
0x057D, 0x054D, // ARMENIAN SMALL LETTER SEH	ARMENIAN CAPITAL LETTER SEH
0x057E, 0x054E, // ARMENIAN SMALL LETTER VEW	ARMENIAN CAPITAL LETTER VEW
0x057F, 0x054F, // ARMENIAN SMALL LETTER TIWN	ARMENIAN CAPITAL LETTER TIWN
0x0580, 0x0550, // ARMENIAN SMALL LETTER REH	ARMENIAN CAPITAL LETTER REH
0x0581, 0x0551, // ARMENIAN SMALL LETTER CO	ARMENIAN CAPITAL LETTER CO
0x0582, 0x0552, // ARMENIAN SMALL LETTER YIWN	ARMENIAN CAPITAL LETTER YIWN
0x0583, 0x0553, // ARMENIAN SMALL LETTER PIWP	ARMENIAN CAPITAL LETTER PIWR
0x0584, 0x0554, // ARMENIAN SMALL LETTER KEH	ARMENIAN CAPITAL LETTER KEH
0x0585, 0x0555, // ARMENIAN SMALL LETTER OH	ARMENIAN CAPITAL LETTER OH
0x0586, 0x0556, // ARMENIAN SMALL LETTER FEH	ARMENIAN CAPITAL LETTER FEH
0x10D0, 0x10A0, // GEORGIAN LETTER AN	GEORGIAN CAPITAL LETTER AN (KHUTSURI)
0x10D1, 0x10A1, // GEORGIAN LETTER BAN	GEORGIAN CAPITAL LETTER BAN (KHUTSURI)
0x10D2, 0x10A2, // GEORGIAN LETTER GAN	GEORGIAN CAPITAL LETTER GAN (KHUTSURI)
0x10D3, 0x10A3, // GEORGIAN LETTER DON	GEORGIAN CAPITAL LETTER DON (KHUTSURI)
0x10D4, 0x10A4, // GEORGIAN LETTER EN	GEORGIAN CAPITAL LETTER EN (KHUTSURI)
0x10D5, 0x10A5, // GEORGIAN LETTER VIN	GEORGIAN CAPITAL LETTER VIN (KHUTSURI)
0x10D6, 0x10A6, // GEORGIAN LETTER ZEN	GEORGIAN CAPITAL LETTER ZEN (KHUTSURI)
0x10D7, 0x10A7, // GEORGIAN LETTER TAN	GEORGIAN CAPITAL LETTER TAN (KHUTSURI)
0x10D8, 0x10A8, // GEORGIAN LETTER IN	GEORGIAN CAPITAL LETTER IN (KHUTSURI)
0x10D9, 0x10A9, // GEORGIAN LETTER KAN	GEORGIAN CAPITAL LETTER KAN (KHUTSURI)
0x10DA, 0x10AA, // GEORGIAN LETTER LAS	GEORGIAN CAPITAL LETTER LAS (KHUTSURI)
0x10DB, 0x10AB, // GEORGIAN LETTER MAN	GEORGIAN CAPITAL LETTER MAN (KHUTSURI)
0x10DC, 0x10AC, // GEORGIAN LETTER NAR	GEORGIAN CAPITAL LETTER NAR (KHUTSURI)
0x10DD, 0x10AD, // GEORGIAN LETTER ON	GEORGIAN CAPITAL LETTER ON (KHUTSURI)
0x10DE, 0x10AE, // GEORGIAN LETTER PAR	GEORGIAN CAPITAL LETTER PAR (KHUTSURI)
0x10DF, 0x10AF, // GEORGIAN LETTER ZHAR	GEORGIAN CAPITAL LETTER ZHAR (KHUTSURI)
0x10E0, 0x10B0, // GEORGIAN LETTER RAE	GEORGIAN CAPITAL LETTER RAE (KHUTSURI)
0x10E1, 0x10B1, // GEORGIAN LETTER SAN	GEORGIAN CAPITAL LETTER SAN (KHUTSURI)
0x10E2, 0x10B2, // GEORGIAN LETTER TAR	GEORGIAN CAPITAL LETTER TAR (KHUTSURI)
0x10E3, 0x10B3, // GEORGIAN LETTER UN	GEORGIAN CAPITAL LETTER UN (KHUTSURI)
0x10E4, 0x10B4, // GEORGIAN LETTER PHAR	GEORGIAN CAPITAL LETTER PHAR (KHUTSURI)
0x10E5, 0x10B5, // GEORGIAN LETTER KHAR	GEORGIAN CAPITAL LETTER KHAR (KHUTSURI)
0x10E6, 0x10B6, // GEORGIAN LETTER GHAN	GEORGIAN CAPITAL LETTER GHAN (KHUTSURI)
0x10E7, 0x10B7, // GEORGIAN LETTER QAR	GEORGIAN CAPITAL LETTER QAR (KHUTSURI)
0x10E8, 0x10B8, // GEORGIAN LETTER SHIN	GEORGIAN CAPITAL LETTER SHIN (KHUTSURI)
0x10E9, 0x10B9, // GEORGIAN LETTER CHIN	GEORGIAN CAPITAL LETTER CHIN (KHUTSURI)
0x10EA, 0x10BA, // GEORGIAN LETTER CAN	GEORGIAN CAPITAL LETTER CAN (KHUTSURI)
0x10EB, 0x10BB, // GEORGIAN LETTER JIL	GEORGIAN CAPITAL LETTER JIL (KHUTSURI)
0x10EC, 0x10BC, // GEORGIAN LETTER CIL	GEORGIAN CAPITAL LETTER CIL (KHUTSURI)
0x10ED, 0x10BD, // GEORGIAN LETTER CHAR	GEORGIAN CAPITAL LETTER CHAR (KHUTSURI)
0x10EE, 0x10BE, // GEORGIAN LETTER XAN	GEORGIAN CAPITAL LETTER XAN (KHUTSURI)
0x10EF, 0x10BF, // GEORGIAN LETTER JHAN	GEORGIAN CAPITAL LETTER JHAN (KHUTSURI)
0x10F0, 0x10C0, // GEORGIAN LETTER HAE	GEORGIAN CAPITAL LETTER HAE (KHUTSURI)
0x10F1, 0x10C1, // GEORGIAN LETTER HE	GEORGIAN CAPITAL LETTER HE (KHUTSURI)
0x10F2, 0x10C2, // GEORGIAN LETTER HIE	GEORGIAN CAPITAL LETTER HIE (KHUTSURI)
0x10F3, 0x10C3, // GEORGIAN LETTER WE	GEORGIAN CAPITAL LETTER WE (KHUTSURI)
0x10F4, 0x10C4, // GEORGIAN LETTER HAR	GEORGIAN CAPITAL LETTER HAR (KHUTSURI)
0x10F5, 0x10C5, // GEORGIAN LETTER HOE	GEORGIAN CAPITAL LETTER HOE (KHUTSURI)
0x1E01, 0x1E00, // LATIN SMALL LETTER A WITH RING BELOW	LATIN CAPITAL LETTER A WITH RING BELOW
0x1E03, 0x1E02, // LATIN SMALL LETTER B WITH DOT ABOVE	LATIN CAPITAL LETTER B WITH DOT ABOVE
0x1E05, 0x1E04, // LATIN SMALL LETTER B WITH DOT BELOW	LATIN CAPITAL LETTER B WITH DOT BELOW
0x1E07, 0x1E06, // LATIN SMALL LETTER B WITH LINE BELOW	LATIN CAPITAL LETTER B WITH LINE BELOW
0x1E09, 0x1E08, // LATIN SMALL LETTER C WITH CEDILLA AND ACUTE	LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
0x1E0B, 0x1E0A, // LATIN SMALL LETTER D WITH DOT ABOVE	LATIN CAPITAL LETTER D WITH DOT ABOVE
0x1E0D, 0x1E0C, // LATIN SMALL LETTER D WITH DOT BELOW	LATIN CAPITAL LETTER D WITH DOT BELOW
0x1E0F, 0x1E0E, // LATIN SMALL LETTER D WITH LINE BELOW	LATIN CAPITAL LETTER D WITH LINE BELOW
0x1E11, 0x1E10, // LATIN SMALL LETTER D WITH CEDILLA	LATIN CAPITAL LETTER D WITH CEDILLA
0x1E13, 0x1E12, // LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW	LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
0x1E15, 0x1E14, // LATIN SMALL LETTER E WITH MACRON AND GRAVE	LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
0x1E17, 0x1E16, // LATIN SMALL LETTER E WITH MACRON AND ACUTE	LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
0x1E19, 0x1E18, // LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW	LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
0x1E1B, 0x1E1A, // LATIN SMALL LETTER E WITH TILDE BELOW	LATIN CAPITAL LETTER E WITH TILDE BELOW
0x1E1D, 0x1E1C, // LATIN SMALL LETTER E WITH CEDILLA AND BREVE	LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
0x1E1F, 0x1E1E, // LATIN SMALL LETTER F WITH DOT ABOVE	LATIN CAPITAL LETTER F WITH DOT ABOVE
0x1E21, 0x1E20, // LATIN SMALL LETTER G WITH MACRON	LATIN CAPITAL LETTER G WITH MACRON
0x1E23, 0x1E22, // LATIN SMALL LETTER H WITH DOT ABOVE	LATIN CAPITAL LETTER H WITH DOT ABOVE
0x1E25, 0x1E24, // LATIN SMALL LETTER H WITH DOT BELOW	LATIN CAPITAL LETTER H WITH DOT BELOW
0x1E27, 0x1E26, // LATIN SMALL LETTER H WITH DIAERESIS	LATIN CAPITAL LETTER H WITH DIAERESIS
0x1E29, 0x1E28, // LATIN SMALL LETTER H WITH CEDILLA	LATIN CAPITAL LETTER H WITH CEDILLA
0x1E2B, 0x1E2A, // LATIN SMALL LETTER H WITH BREVE BELOW	LATIN CAPITAL LETTER H WITH BREVE BELOW
0x1E2D, 0x1E2C, // LATIN SMALL LETTER I WITH TILDE BELOW	LATIN CAPITAL LETTER I WITH TILDE BELOW
0x1E2F, 0x1E2E, // LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE	LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
0x1E31, 0x1E30, // LATIN SMALL LETTER K WITH ACUTE	LATIN CAPITAL LETTER K WITH ACUTE
0x1E33, 0x1E32, // LATIN SMALL LETTER K WITH DOT BELOW	LATIN CAPITAL LETTER K WITH DOT BELOW
0x1E35, 0x1E34, // LATIN SMALL LETTER K WITH LINE BELOW	LATIN CAPITAL LETTER K WITH LINE BELOW
0x1E37, 0x1E36, // LATIN SMALL LETTER L WITH DOT BELOW	LATIN CAPITAL LETTER L WITH DOT BELOW
0x1E39, 0x1E38, // LATIN SMALL LETTER L WITH DOT BELOW AND MACRON	LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
0x1E3B, 0x1E3A, // LATIN SMALL LETTER L WITH LINE BELOW	LATIN CAPITAL LETTER L WITH LINE BELOW
0x1E3D, 0x1E3C, // LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW	LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
0x1E3F, 0x1E3E, // LATIN SMALL LETTER M WITH ACUTE	LATIN CAPITAL LETTER M WITH ACUTE
0x1E41, 0x1E40, // LATIN SMALL LETTER M WITH DOT ABOVE	LATIN CAPITAL LETTER M WITH DOT ABOVE
0x1E43, 0x1E42, // LATIN SMALL LETTER M WITH DOT BELOW	LATIN CAPITAL LETTER M WITH DOT BELOW
0x1E45, 0x1E44, // LATIN SMALL LETTER N WITH DOT ABOVE	LATIN CAPITAL LETTER N WITH DOT ABOVE
0x1E47, 0x1E46, // LATIN SMALL LETTER N WITH DOT BELOW	LATIN CAPITAL LETTER N WITH DOT BELOW
0x1E49, 0x1E48, // LATIN SMALL LETTER N WITH LINE BELOW	LATIN CAPITAL LETTER N WITH LINE BELOW
0x1E4B, 0x1E4A, // LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW	LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
0x1E4D, 0x1E4C, // LATIN SMALL LETTER O WITH TILDE AND ACUTE	LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
0x1E4F, 0x1E4E, // LATIN SMALL LETTER O WITH TlLDE AND DIAERESIS	LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
0x1E51, 0x1E50, // LATIN SMALL LETTER O WITH MACRON AND GRAVE	LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
0x1E53, 0x1E52, // LATIN SMALL LETTER O WITH MACRON AND ACUTE	LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
0x1E55, 0x1E54, // LATIN SMALL LETTER P WITH ACUTE	LATIN CAPITAL LETTER P WITH ACUTE
0x1E57, 0x1E56, // LATIN SMALL LETTER P WITH DOT ABOVE	LATIN CAPITAL LETTER P WITH DOT ABOVE
0x1E59, 0x1E58, // LATIN SMALL LETTER R WITH DOT ABOVE	LATIN CAPITAL LETTER R WITH DOT ABOVE
0x1E5B, 0x1E5A, // LATIN SMALL LETTER R WITH DOT BELOW	LATIN CAPITAL LETTER R WITH DOT BELOW
0x1E5D, 0x1E5C, // LATIN SMALL LETTER R WITH DOT BELOW AND MACRON	LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
0x1E5F, 0x1E5E, // LATIN SMALL LETTER R WITH LINE BELOW	LATIN CAPITAL LETTER R WITH LINE BELOW
0x1E61, 0x1E60, // LATIN SMALL LETTER S WITH DOT ABOVE	LATIN CAPITAL LETTER S WITH DOT ABOVE
0x1E63, 0x1E62, // LATIN SMALL LETTER S WITH DOT BELOW	LATIN CAPITAL LETTER S WITH DOT BELOW
0x1E65, 0x1E64, // LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE	LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
0x1E67, 0x1E66, // LATIN SMALL LETTER S WITH CARON AND DOT ABOVE	LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
0x1E69, 0x1E68, // LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE	LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
0x1E6B, 0x1E6A, // LATIN SMALL LETTER T WITH DOT ABOVE	LATIN CAPITAL LETTER T WITH DOT ABOVE
0x1E6D, 0x1E6C, // LATIN SMALL LETTER T WITH DOT BELOW	LATIN CAPITAL LETTER T WITH DOT BELOW
0x1E6F, 0x1E6E, // LATIN SMALL LETTER T WITH LINE BELOW	LATIN CAPITAL LETTER T WITH LINE BELOW
0x1E71, 0x1E70, // LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW	LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
0x1E73, 0x1E72, // LATIN SMALL LETTER U WITH DIAERESIS BELOW	LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
0x1E75, 0x1E74, // LATIN SMALL LETTER U WITH TILDE BELOW	LATIN CAPITAL LETTER U WITH TILDE BELOW
0x1E77, 0x1E76, // LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW	LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
0x1E79, 0x1E78, // LATIN SMALL LETTER U WITH TILDE AND ACUTE	LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
0x1E7B, 0x1E7A, // LATIN SMALL LETTER U WITH MACRON AND DIAERESIS	LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
0x1E7D, 0x1E7C, // LATIN SMALL LETTER V WITH TILDE	LATIN CAPITAL LETTER V WITH TILDE
0x1E7F, 0x1E7E, // LATIN SMALL LETTER V WITH DOT BELOW	LATIN CAPITAL LETTER V WITH DOT BELOW
0x1E81, 0x1E80, // LATIN SMALL LETTER W WITH GRAVE	LATIN CAPITAL LETTER W WITH GRAVE
0x1E83, 0x1E82, // LATIN SMALL LETTER W WITH ACUTE	LATIN CAPITAL LETTER W WITH ACUTE
0x1E85, 0x1E84, // LATIN SMALL LETTER W WITH DIAERESIS	LATIN CAPITAL LETTER W WITH DIAERESIS
0x1E87, 0x1E86, // LATIN SMALL LETTER W WITH DOT ABOVE	LATIN CAPITAL LETTER W WITH DOT ABOVE
0x1E89, 0x1E88, // LATIN SMALL LETTER W WITH DOT BELOW	LATIN CAPITAL LETTER W WITH DOT BELOW
0x1E8B, 0x1E8A, // LATIN SMALL LETTER X WITH DOT ABOVE	LATIN CAPITAL LETTER X WITH DOT ABOVE
0x1E8D, 0x1E8C, // LATIN SMALL LETTER X WITH DIAERESIS	LATIN CAPITAL LETTER X5 WITH DIAERESIS
0x1E8F, 0x1E8E, // LATIN SMALL LETTER Y WITH DOT ABOVE	LATIN CAPITAL LETTER Y WITH DOT ABOVE
0x1E91, 0x1E90, // LATIN SMALL LETTER Z WITH CIRCUMFLEX	LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
0x1E93, 0x1E92, // LATIN SMALL LETTER Z WITH DOT BELOW	LATIN CAPITAL LETTER Z WITH DOT BELOW
0x1E95, 0x1E94, // LATIN SMALL LETTER Z WITH LINE BELOW	LATIN CAPITAL LETTER Z WITH LINE BELOW
0x1EA1, 0x1EA0, // LATIN SMALL LETTER A WITH DOT BELOW	LATIN CAPITAL LETTER A WITH DOT BELOW
0x1EA3, 0x1EA2, // LATIN SMALL LETTER A WITH HOOK ABOVE	LATIN CAPITAL LETTER A WITH HOOK ABOVE
0x1EA5, 0x1EA4, // LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
0x1EA7, 0x1EA6, // LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
0x1EA9, 0x1EA8, // LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
0x1EAB, 0x1EAA, // LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
0x1EAD, 0x1EAC, // LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
0x1EAF, 0x1EAE, // LATIN SMALL LETTER A WITH BREVE AND ACUTE	LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
0x1EB1, 0x1EB0, // LATIN SMALL LETTER A WITH BREVE AND GRAVE	LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
0x1EB3, 0x1EB2, // LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE	LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
0x1EB5, 0x1EB4, // LATIN SMALL LETTER A WITH BREVE AND TILDE	LATIN CAPITAL LETTER A WITH BREVE AND TILDE
0x1EB7, 0x1EB6, // LATIN SMALL LETTER A WITH BREVE AND DOT BELOW	LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
0x1EB9, 0x1EB8, // LATIN SMALL LETTER E WITH DOT BELOW	LATIN CAPITAL LETTER E WITH DOT BELOW
0x1EBB, 0x1EBA, // LATIN SMALL LETTER E WITH HOOK ABOVE	LATIN CAPITAL LETTER E WITH HOOK ABOVE
0x1EBD, 0x1EBC, // LATIN SMALL LETTER E WITH TILDE	LATIN CAPITAL LETTER E WITH TILDE
0x1EBF, 0x1EBE, // LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
0x1EC1, 0x1EC0, // LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
0x1EC3, 0x1EC2, // LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
0x1EC5, 0x1EC4, // LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
0x1EC7, 0x1EC6, // LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
0x1EC9, 0x1EC8, // LATIN SMALL LETTER I WITH HOOK ABOVE	LATIN CAPITAL LETTER I WITH HOOK ABOVE
0x1ECB, 0x1ECA, // LATIN SMALL LETTER I WITH DOT BELOW	LATIN CAPITAL LETTER I WITH DOT BELOW
0x1ECD, 0x1ECC, // LATIN SMALL LETTER O WITH DOT BELOW	LATIN CAPITAL LETTER O WITH DOT BELOW
0x1ECF, 0x1ECE, // LATIN SMALL LETTER O WITH HOOK ABOVE	LATIN CAPITAL LETTER O WITH HOOK ABOVE
0x1ED1, 0x1ED0, // LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
0x1ED3, 0x1ED2, // LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
0x1ED5, 0x1ED4, // LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
0x1ED7, 0x1ED6, // LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
0x1ED9, 0x1ED8, // LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
0x1EDB, 0x1EDA, // LATIN SMALL LETTER O WITH HORN AND ACUTE	LATIN CAPITAL LETTER O WITH HORN AND ACUTE
0x1EDD, 0x1EDC, // LATIN SMALL LETTER O WITH HORN AND GRAVE	LATIN CAPITAL LETTER O WITH HORN AND GRAVE
0x1EDF, 0x1EDE, // LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE	LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
0x1EE1, 0x1EE0, // LATIN SMALL LETTER O WITH HORN AND TILDE	LATIN CAPITAL LETTER O WITH HORN AND TILDE
0x1EE3, 0x1EE2, // LATIN SMALL LETTER O WITH HORN AND DOT BELOW	LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
0x1EE5, 0x1EE4, // LATIN SMALL LETTER U WITH DOT BELOW	LATIN CAPITAL LETTER U WITH DOT BELOW
0x1EE7, 0x1EE6, // LATIN SMALL LETTER U WITH HOOK ABOVE	LATIN CAPITAL LETTER U WITH HOOK ABOVE
0x1EE9, 0x1EE8, // LATIN SMALL LETTER U WITH HORN AND ACUTE	LATIN CAPITAL LETTER U WITH HORN AND ACUTE
0x1EEB, 0x1EEA, // LATIN SMALL LETTER U WITH HORN AND GRAVE	LATIN CAPITAL LETTER U WITH HORN AND GRAVE
0x1EED, 0x1EEC, // LATIN SMALL LETTER U WITH HORN AND HOCK ABOVE	LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
0x1EEF, 0x1EEE, // LATIN SMALL LETTER U WITH HORN AND TILDE	LATIN CAPITAL LETTER U WITH HORN AND TILDE
0x1EF1, 0x1EF0, // LATIN SMALL LETTER U WITH HORN AND DOT BELOW	LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
0x1EF3, 0x1EF2, // LATIN SMALL LETTER Y WITH GRAVE	LATIN CAPITAL LETTER Y WITH GRAVE
0x1EF5, 0x1EF4, // LATIN SMALL LETTER Y WITH DOT BELOW	LATIN CAPITAL LETTER Y WITH DOT BELOW
0x1EF7, 0x1EF6, // LATIN SMALL LETTER Y WITH HOOK ABOVE	LATIN CAPITAL LETTER Y WITH HOOK ABOVE
0x1EF9, 0x1EF8, // LATIN SMALL LETTER Y WITH TILDE	LATIN CAPITAL LETTER Y WITH TILDE
0x1F00, 0x1F08, // GREEK SMALL LETTER ALPHA WITH PSILI	GREEK CAPITAL LETTER ALPHA WITH PSILI
0x1F01, 0x1F09, // GREEK SMALL LETTER ALPHA WITH DASIA	GREEK CAPITAL LETTER ALPHA WITH DASIA
0x1F02, 0x1F0A, // GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA	GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
0x1F03, 0x1F0B, // GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA	GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
0x1F04, 0x1F0C, // GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA	GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
0x1F05, 0x1F0D, // GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA	GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
0x1F06, 0x1F0E, // GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI	GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
0x1F07, 0x1F0F, // GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
0x1F10, 0x1F18, // GREEK SMALL LETTER EPSILON WITH PSILI	GREEK CAPITAL LETTER EPSILON WITH PSILI
0x1F11, 0x1F19, // GREEK SMALL LETTER EPSILON WITH DASIA	GREEK CAPITAL LETTER EPSILON WITH DASIA
0x1F12, 0x1F1A, // GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA	GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
0x1F13, 0x1F1B, // GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA	GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
0x1F14, 0x1F1C, // GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA	GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
0x1F15, 0x1F1D, // GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA	GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
0x1F20, 0x1F28, // GREEK SMALL LETTER ETA WITH PSILI	GREEK CAPITAL LETTER ETA WITH PSILI
0x1F21, 0x1F29, // GREEK SMALL LETTER ETA WITH DASIA	GREEK CAPITAL LETTER ETA WITH DASIA
0x1F22, 0x1F2A, // GREEK SMALL LETTER ETA WITH PSILI AND VARIA	GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
0x1F23, 0x1F2B, // GREEK SMALL LETTER ETA WITH DASIA AND VARIA	GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
0x1F24, 0x1F2C, // GREEK SMALL LETTER ETA WITH PSILI AND OXIA	GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
0x1F25, 0x1F2D, // GREEK SMALL LETTER ETA WITH DASIA AND OXIA	GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
0x1F26, 0x1F2E, // GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI	GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
0x1F27, 0x1F2F, // GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI	GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
0x1F30, 0x1F38, // GREEK SMALL LETTER IOTA WITH PSILI	GREEK CAPITAL LETTER IOTA WITH PSILI
0x1F31, 0x1F39, // GREEK SMALL LETTER IOTA WITH DASIA	GREEK CAPITAL LETTER IOTA WITH DASIA
0x1F32, 0x1F3A, // GREEK SMALL LETTER IOTA WITH PSILI AND VARIA	GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
0x1F33, 0x1F3B, // GREEK SMALL LETTER IOTA WITH DASIA AND VARIA	GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
0x1F34, 0x1F3C, // GREEK SMALL LETTER IOTA WITH PSILI AND OXIA	GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
0x1F35, 0x1F3D, // GREEK SMALL LETTER IOTA WITH DASIA AND OXIA	GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
0x1F36, 0x1F3E, // GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI	GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
0x1F37, 0x1F3F, // GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI	GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
0x1F40, 0x1F48, // GREEK SMALL LETTER OMICRON WITH PSILI	GREEK CAPITAL LETTER OMICRON WITH PSILI
0x1F41, 0x1F49, // GREEK SMALL LETTER OMICRON WITH DASIA	GREEK CAPITAL LETTER OMICRON WITH DASIA
0x1F42, 0x1F4A, // GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA	GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
0x1F43, 0x1F4B, // GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA	GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
0x1F44, 0x1F4C, // GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA	GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
0x1F45, 0x1F4D, // GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA	GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
0x1F51, 0x1F59, // GREEK SMALL LETTER UPSILON WITH DASIA	GREEK CAPITAL LETTER UPSILON WITH OASIS
0x1F53, 0x1F5B, // GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA	GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
0x1F55, 0x1F5D, // GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA	GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
0x1F57, 0x1F5F, // GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI	GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
0x1F60, 0x1F68, // GREEK SMALL LETTER OMEGA WITh PSILI	GREEK CAPITAL LETTER OMEGA WITH PSILI
0x1F61, 0x1F69, // GREEK SMALL LETTER OMEGA WITH DASIA	GREEK CAPITAL LETTER OMEGA WITH DASIA
0x1F62, 0x1F6A, // GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA	GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
0x1F63, 0x1F6B, // GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA	GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
0x1F64, 0x1F6C, // GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA	GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
0x1F65, 0x1F6D, // GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA	GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
0x1F66, 0x1F6E, // GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
0x1F67, 0x1F6F, // GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI	GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
0x1F80, 0x1F88, // GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ALPHA WITh PSILI AND PROSGEGRAMMENI
0x1F81, 0x1F89, // GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
0x1F82, 0x1F8A, // GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
0x1F83, 0x1F8B, // GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
0x1F84, 0x1F8C, // GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMEN
0x1F85, 0x1F8D, // GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMEN
0x1F86, 0x1F8E, // GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
0x1F87, 0x1F8F, // GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
0x1F90, 0x1F98, // GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
0x1F91, 0x1F99, // GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
0x1F92, 0x1F9A, // GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
0x1F93, 0x1F9B, // GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
0x1F94, 0x1F9C, // GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
0x1F95, 0x1F9D, // GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
0x1F96, 0x1F9E, // GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
0x1F97, 0x1F9F, // GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
0x1FA0, 0x1FA8, // GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
0x1FA1, 0x1FA9, // GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
0x1FA2, 0x1FAA, // GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
0x1FA3, 0x1FAB, // GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
0x1FA4, 0x1FAC, // GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
0x1FA5, 0x1FAD, // GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI	GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
0x1FA6, 0x1FAE, // GREEK SMALL LETTER OMEGA WITh PSILI AND PERISPOMENI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
0x1FA7, 0x1FAF, // GREEK SMALL LETTER OMEGA WITH DASIA AND PEPISPOMENI AND YPOGEGRAMMENI	GREEK CAPITAL LETTER OMECA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
0x1FB0, 0x1FB8, // GREEK SMALL LETTER ALPHA WITH VRACHY	GREEK CAPITAL LETTER ALPHA WITH VRACHY
0x1FB1, 0x1FB9, // GREEK SMALL LETTER ALPHA WITH MACRON	GREEK CAPITAL LETTER ALPHA WITH MACRON
0x1FD0, 0x1FD8, // GREEK SMALL LETTER IOTA WITH VRACHY	GREEK CAPITAL LETTER IOTA WITH VRACHY
0x1FD1, 0x1FD9, // GREEK SMALL LETTER IOTA WITH MACRON	GREEK CAPITAL LETTER IOTA WITH MACRON
0x1FE0, 0x1FE8, // GREEK SMALL LETTER UPSILON WITH VRACHY	GREEK CAPITAL LETTER UPSILON WITH VRACHY
0x1FE1, 0x1FE9, // GREEK SMALL LETTER UPSILON WITH MACRON	GREEK CAPITAL LETTER UPSILON WITH MACRON
0x24D0, 0x24B6, // CIRCLED LATIN SMALL LETTER A	CIRCLED LATIN CAPITAL LETTER A
0x24D1, 0x24B7, // CIRCLED LATIN SMALL LETTER B	CIRCLED LATIN CAPITAL LETTER B
0x24D2, 0x24B8, // CIRCLED LATIN SMALL LETTER C	CIRCLED LATIN CAPITAL LETTER C
0x24D3, 0x24B9, // CIRCLED LATIN SMALL LETTER D	CIRCLED LATIN CAPITAL LETTER D
0x24D4, 0x24BA, // CIRCLED LATIN SMALL LETTER E	CIRCLED LATIN CAPITAL LETTER E
0x24D5, 0x24BB, // CIRCLED LATIN SMALL LETTER F	CIRCLED LATIN CAPITAL LETTER F
0x24D6, 0x24BC, // CIRCLED LATIN SMALL LETTER G	CIRCLED LATIN CAPITAL LETTER G
0x24D7, 0x24BD, // CIRCLED LATIN SMALL LETTER H	CIRCLED LATIN CAPITAL LETTER H
0x24D8, 0x24BE, // CIRCLED LATIN SMALL LETTER I	CIRCLED LATIN CAPITAL LETTER I
0x24D9, 0x24BF, // CIRCLED LATIN SMALL LETTER J	CIRCLED LATIN CAPITAL LETTER J
0x24DA, 0x24C0, // CIRCLED LATIN SMALL LETTER K	CIRCLED LATIN CAPITAL LETTER K
0x24DB, 0x24C1, // CIRCLED LATIN SMALL LETTER L	CIRCLED LATIN CAPITAL LETTER L
0x24DC, 0x24C2, // CIRCLED LATIN SMALL LETTER M	CIRCLED LATIN CAPITAL LETTER M
0x24DD, 0x24C3, // CIRCLED LATIN SMALL LETTER N	CIRCLED LATIN CAPITAL LETTER N
0x24DE, 0x24C4, // CIRCLED LATIN SMALL LETTER O	CIRCLED LATIN CAPITAL LETTER O
0x24DF, 0x24C5, // CIRCLED LATIN SMALL LETTER P	CIRCLED LATIN CAPITAL LETTER P
0x24E0, 0x24C6, // CIRCLED LATIN SMALL LETTER Q	CIRCLED LATIN CAPITAL LETTER Q
0x24E1, 0x24C7, // CIRCLED LATIN SMALL LETTER R	CIRCLED LATIN CAPITAL LETTER R
0x24E2, 0x24C8, // CIRCLED LATIN SMALL LETTER S	CIRCLED LATIN CAPITAL LETTER S
0x24E3, 0x24C9, // CIRCLED LATIN SMALL LETTER T	CIRCLED LATIN CAPITAL LETTER T
0x24E4, 0x24CA, // CIRCLED LATIN SMALL LETTER U	CIRCLED LATIN CAPITAL LETTER U
0x24E5, 0x24CB, // CIRCLED LATIN SMALL LETTER V	CIRCLED LATIN CAPITAL LETTER V
0x24E6, 0x24CC, // CIRCLED LATIN SMALL LETTER W	CIRCLED LATIN CAPITAL LETTER W
0x24E7, 0x24CD, // CIRCLED LATIN SMALL LETTER X	CIRCLED LATIN CAPITAL LETTER X
0x24E8, 0x24CE, // CIRCLED LATIN SMALL LETTER Y	CIRCLED LATIN CAPITAL LETTER Y
0x24E9, 0x24CF, // CIRCLED LATIN SMALL LETTER Z	CIRCLED LATIN CAPITAL LETTER Z
0xFF41, 0xFF21, // FULLWIDTH LATIN SMALL LETTER A	FULLWIDTH LATIN CAPITAL LETTER A
0xFF42, 0xFF22, // FULLWIDTH LATIN SMALL LETTER B	FULLWIDTH LATIN CAPITAL LETTER B
0xFF43, 0xFF23, // FULLWIDTH LATIN SMALL LETTER C	FULLWIDTH LATIN CAPITAL LETTER C
0xFF44, 0xFF24, // FULLWIDTH LATIN SMALL LETTER D	FULLWIDTH LATIN CAPITAL LETTER D
0xFF45, 0xFF25, // FULLWIDTH LATIN SMALL LETTER E	FULLWIDTH LATIN CAPITAL LETTER E
0xFF46, 0xFF26, // FULLWIDTH LATIN SMALL LETTER F	FULLWIDTH LATIN CAPITAL LETTER F
0xFF47, 0xFF27, // FULLWIDTH LATIN SMALL LETTER G	FULLWIDTH LATIN CAPITAL LETTER G
0xFF48, 0xFF28, // FULLWIDTH LATIN SMALL LETTER H	FULLWIDTH LATIN CAPITAL LETTER H
0xFF49, 0xFF29, // FULLWIDTH LATIN SMALL LETTER I	FULLWIDTH LATIN CAPITAL LETTER I
0xFF4A, 0xFF2A, // FULLWIDTH LATIN SMALL LETTER J	FULLWIDTH LATIN CAPITAL LETTER J
0xFF4B, 0xFF2B, // FULLWIDTH LATIN SMALL LETTER K	FULLWIDTH LATIN CAPITAL LETTER K
0xFF4C, 0xFF2C, // FULLWIDTH LATIN SMALL LETTER L	FULLWIDTH LATIN CAPITAL LETTER L
0xFF4D, 0xFF2D, // FULLWIDTH LATIN SMALL LETTER M	FULLWIDTH LATIN CAPITAL LETTER M
0xFF4E, 0xFF2E, // FULLWIDTH LATIN SMALL LETTER N	FULLWIDTH LATIN CAPITAL LETTER N
0xFF4F, 0xFF2F, // FULLWIDTH LATIN SMALL LETTER O	FULLWIDTH LATIN CAPITAL LETTER O
0xFF50, 0xFF30, // FULLWIDTH LATIN SMALL LETTER P	FULLWIDTH LATIN CAPITAL LETTER P
0xFF51, 0xFF31, // FULLWIDTH LATIN SMALL LETTER Q	FULLWIDTH LATIN CAPITAL LETTER Q
0xFF52, 0xFF32, // FULLWIDTH LATIN SMALL LETTER R	FULLWIDTH LATIN CAPITAL LETTER R
0xFF53, 0xFF33, // FULLWIDTH LATIN SMALL LETTER S	FULLWIDTH LATIN CAPITAL LETTER S
0xFF54, 0xFF34, // FULLWIDTH LATIN SMALL LETTER T	FULLWIDTH LATIN CAPITAL LETTER T
0xFF55, 0xFF35, // FULLWIDTH LATIN SMALL LETTER U	FULLWIDTH LATIN CAPITAL LETTER U
0xFF56, 0xFF36, // FULLWIDTH LATIN SMALL LETTER V	FULLWIDTH LATIN CAPITAL LETTER V
0xFF57, 0xFF37, // FULLWIDTH LATIN SMALL LETTER W	FULLWIDTH LATIN CAPITAL LETTER W
0xFF58, 0xFF38, // FULLWIDTH LATIN SMALL LETTER X	FULLWIDTH LATIN CAPITAL LETTER X
0xFF59, 0xFF39, // FULLWIDTH LATIN SMALL LETTER Y	FULLWIDTH LATIN CAPITAL LETTER Y
0xFF5A, 0xFF3A, // FULLWIDTH LATIN SMALL LETTER Z	FULLWIDTH LATIN CAPITAL LETTER Z
]
)