/************************************************************************* This file contains the character tables used by the sorters throughout the compiler and runtime to ensure support for international characters in the ASCII set and consistency between the runtime and compiler. -- MATTSMI **************************************************************************/ /* note: this scheme does not handle ligatures properly e.g. 'ae' is treated as if it were just an 'a'. */ unsigned char mpchordNorm[] = { 0x00, /* 0x00 */ 0x01, /* 0x01 */ 0x02, /* 0x02 */ 0x03, /* 0x03 */ 0x04, /* 0x04 */ 0x05, /* 0x05 */ 0x06, /* 0x06 */ 0x07, /* 0x07 */ 0x08, /* 0x08 */ 0x09, /* 0x09 */ 0x0A, /* 0x0A */ 0x0B, /* 0x0B */ 0x0C, /* 0x0C */ 0x0D, /* 0x0D */ 0x0E, /* 0x0E */ 0x0F, /* 0x0F */ 0x10, /* 0x10 */ 0x11, /* 0x11 */ 0x12, /* 0x12 */ 0x13, /* 0x13 */ 0x14, /* 0x14 */ 0x15, /* 0x15 */ 0x16, /* 0x16 */ 0x17, /* 0x17 */ 0x18, /* 0x18 */ 0x19, /* 0x19 */ 0x1A, /* 0x1A */ 0x1B, /* 0x1B */ 0x1C, /* 0x1C */ 0x1D, /* 0x1D */ 0x1E, /* 0x1E */ 0x1F, /* 0x1F */ 0x20, /* ' ' */ 0x21, /* '!' */ 0x22, /* '"' */ 0x23, /* '#' */ 0x24, /* '$' */ 0x25, /* '%' */ 0x26, /* '&' */ 0x27, /* ''' */ 0x28, /* '(' */ 0x29, /* ')' */ 0x2A, /* '*' */ 0x2B, /* '+' */ 0x2C, /* ',' */ 0x2D, /* '-' */ 0x2E, /* '.' */ 0x2F, /* '/' */ 0x82, /* '0' */ 0x83, /* '1' */ 0x84, /* '2' */ 0x85, /* '3' */ 0x86, /* '4' */ 0x87, /* '5' */ 0x88, /* '6' */ 0x89, /* '7' */ 0x8A, /* '8' */ 0x8B, /* '9' */ 0x30, /* ':' */ 0x31, /* ';' */ 0x32, /* '<' */ 0x33, /* '=' */ 0x34, /* '>' */ 0x35, /* '?' */ 0x36, /* '@' */ 0x8D, /* 'A' */ 0x8F, /* 'B' */ 0x91, /* 'C' */ 0x93, /* 'D' */ 0x95, /* 'E' */ 0x97, /* 'F' */ 0x99, /* 'G' */ 0x9B, /* 'H' */ 0x9D, /* 'I' */ 0x9F, /* 'J' */ 0xA1, /* 'K' */ 0xA3, /* 'L' */ 0xA5, /* 'M' */ 0xA7, /* 'N' */ 0xAB, /* 'O' */ 0xAD, /* 'P' */ 0xAF, /* 'Q' */ 0xB1, /* 'R' */ 0xB3, /* 'S' */ 0xB6, /* 'T' */ 0xB8, /* 'U' */ 0xBA, /* 'V' */ 0xBC, /* 'W' */ 0xBE, /* 'X' */ 0xC1, /* 'Y' */ 0xC5, /* 'Z' */ 0x37, /* '[' */ 0x38, /* '\' */ 0x39, /* ']' */ 0x3A, /* '^' */ 0x3B, /* '_' */ 0x3C, /* '`' */ 0x8D, /* 'a' */ 0x8F, /* 'b' */ 0x91, /* 'c' */ 0x93, /* 'd' */ 0x95, /* 'e' */ 0x97, /* 'f' */ 0x99, /* 'g' */ 0x9B, /* 'h' */ 0x9D, /* 'i' */ 0x9F, /* 'j' */ 0xA1, /* 'k' */ 0xA3, /* 'l' */ 0xA5, /* 'm' */ 0xA7, /* 'n' */ 0xAB, /* 'o' */ 0xAD, /* 'p' */ 0xAF, /* 'q' */ 0xB1, /* 'r' */ 0xB3, /* 's' */ 0xB6, /* 't' */ 0xB8, /* 'u' */ 0xBA, /* 'v' */ 0xBC, /* 'w' */ 0xBE, /* 'x' */ 0xC1, /* 'y' */ 0xC5, /* 'z' */ 0x3D, /* '{' */ 0x3E, /* '|' */ 0x3F, /* '}' */ 0x40, /* '~' */ 0x41, /* 0x7F */ 0x42, /* 0x80 */ 0x43, /* 0x81 */ 0x44, /* 0x82 */ 0x45, /* 0x83 */ 0x46, /* 0x84 */ 0x47, /* 0x85 */ 0x48, /* 0x86 */ 0x49, /* 0x87 */ 0x4A, /* 0x88 */ 0x4B, /* 0x89 */ 0xB3, /* 0x8A */ 0x4D, /* 0x8B */ 0xAB, /* 0x8C */ 0x4F, /* 0x8D */ 0x50, /* 0x8E */ 0x51, /* 0x8F */ 0x52, /* 0x90 */ 0x53, /* 0x91 */ 0x54, /* 0x92 */ 0x55, /* 0x93 */ 0x56, /* 0x94 */ 0x57, /* 0x95 */ 0x58, /* 0x96 */ 0x59, /* 0x97 */ 0x5A, /* 0x98 */ 0x5B, /* 0x99 */ 0xB3, /* 0x9A */ 0x5D, /* 0x9B */ 0xAB, /* 0x9C */ 0x5F, /* 0x9D */ 0x60, /* 0x9E */ 0xC1, /* 0x9F */ 0x62, /* 0xA0 */ 0x63, /* 0xA1 */ 0x64, /* 0xA2 */ 0x65, /* 0xA3 */ 0x66, /* 0xA4 */ 0x67, /* 0xA5 */ 0x68, /* 0xA6 */ 0x69, /* 0xA7 */ 0x6A, /* 0xA8 */ 0x6B, /* 0xA9 */ 0x6C, /* 0xAA */ 0x6D, /* 0xAB */ 0x6E, /* 0xAC */ 0x6F, /* 0xAD */ 0x70, /* 0xAE */ 0x71, /* 0xAF */ 0x72, /* 0xB0 */ 0x73, /* 0xB1 */ 0x74, /* 0xB2 */ 0x75, /* 0xB3 */ 0x76, /* 0xB4 */ 0x77, /* 0xB5 */ 0x78, /* 0xB6 */ 0x79, /* 0xB7 */ 0x7A, /* 0xB8 */ 0x7B, /* 0xB9 */ 0x7C, /* 0xBA */ 0x7D, /* 0xBB */ 0x7E, /* 0xBC */ 0x7F, /* 0xBD */ 0x80, /* 0xBE */ 0x81, /* 0xBF */ 0x8D, /* 0xC0 */ 0x8D, /* 0xC1 */ 0x8D, /* 0xC2 */ 0x8D, /* 0xC3 */ 0x8D, /* 0xC4 */ 0x8D, /* 0xC5 */ 0x8D, /* 0xC6 */ 0x91, /* 0xC7 */ 0x95, /* 0xC8 */ 0x95, /* 0xC9 */ 0x95, /* 0xCA */ 0x95, /* 0xCB */ 0x9D, /* 0xCC */ 0x9D, /* 0xCD */ 0x9D, /* 0xCE */ 0x9D, /* 0xCF */ 0x93, /* 0xD0 */ 0xA7, /* 0xD1 */ 0xAB, /* 0xD2 */ 0xAB, /* 0xD3 */ 0xAB, /* 0xD4 */ 0xAB, /* 0xD5 */ 0xAB, /* 0xD6 */ 0xAA, /* 0xD7 */ 0xAB, /* 0xD8 */ 0xB8, /* 0xD9 */ 0xB8, /* 0xDA */ 0xB8, /* 0xDB */ 0xB8, /* 0xDC */ 0xC1, /* 0xDD */ 0xC6, /* 0xDE */ 0xB4, /* 0xDF */ 0x8D, /* 0xE0 */ 0x8D, /* 0xE1 */ 0x8D, /* 0xE2 */ 0x8D, /* 0xE3 */ 0x8D, /* 0xE4 */ 0x8D, /* 0xE5 */ 0x8D, /* 0xE6 */ 0x91, /* 0xE7 */ 0x95, /* 0xE8 */ 0x95, /* 0xE9 */ 0x95, /* 0xEA */ 0x95, /* 0xEB */ 0x9D, /* 0xEC */ 0x9D, /* 0xED */ 0x9D, /* 0xEE */ 0x9D, /* 0xEF */ 0x93, /* 0xF0 */ 0xA7, /* 0xF1 */ 0xAB, /* 0xF2 */ 0xAB, /* 0xF3 */ 0xAB, /* 0xF4 */ 0xAB, /* 0xF5 */ 0xAB, /* 0xF6 */ 0xAB, /* 0xF7 */ 0xAB, /* 0xF8 */ 0xB8, /* 0xF9 */ 0xB8, /* 0xFA */ 0xB8, /* 0xFB */ 0xB8, /* 0xFC */ 0xC1, /* 0xFD */ 0xC6, /* 0xFE */ 0xC1, /* 0xFF */ }; unsigned char mpchordScan[] = { 0x00, /* 0x00 */ 0x01, /* 0x01 */ 0x02, /* 0x02 */ 0x03, /* 0x03 */ 0x04, /* 0x04 */ 0x05, /* 0x05 */ 0x06, /* 0x06 */ 0x07, /* 0x07 */ 0x08, /* 0x08 */ 0x09, /* 0x09 */ 0x0A, /* 0x0A */ 0x0B, /* 0x0B */ 0x0C, /* 0x0C */ 0x0D, /* 0x0D */ 0x0E, /* 0x0E */ 0x0F, /* 0x0F */ 0x10, /* 0x10 */ 0x11, /* 0x11 */ 0x12, /* 0x12 */ 0x13, /* 0x13 */ 0x14, /* 0x14 */ 0x15, /* 0x15 */ 0x16, /* 0x16 */ 0x17, /* 0x17 */ 0x18, /* 0x18 */ 0x19, /* 0x19 */ 0x1A, /* 0x1A */ 0x1B, /* 0x1B */ 0x1C, /* 0x1C */ 0x1D, /* 0x1D */ 0x1E, /* 0x1E */ 0x1F, /* 0x1F */ 0x20, /* ' ' */ 0x21, /* '!' */ 0x22, /* '"' */ 0x23, /* '#' */ 0x24, /* '$' */ 0x25, /* '%' */ 0x26, /* '&' */ 0x27, /* ''' */ 0x28, /* '(' */ 0x29, /* ')' */ 0x2A, /* '*' */ 0x2B, /* '+' */ 0x2C, /* ',' */ 0x2D, /* '-' */ 0x2E, /* '.' */ 0x2F, /* '/' */ 0x82, /* '0' */ 0x83, /* '1' */ 0x84, /* '2' */ 0x85, /* '3' */ 0x86, /* '4' */ 0x87, /* '5' */ 0x88, /* '6' */ 0x89, /* '7' */ 0x8A, /* '8' */ 0x8B, /* '9' */ 0x30, /* ':' */ 0x31, /* ';' */ 0x32, /* '<' */ 0x33, /* '=' */ 0x34, /* '>' */ 0x35, /* '?' */ 0x36, /* '@' */ 0x8D, /* 'A' */ 0x8F, /* 'B' */ 0x91, /* 'C' */ 0x93, /* 'D' */ 0x95, /* 'E' */ 0x97, /* 'F' */ 0x99, /* 'G' */ 0x9B, /* 'H' */ 0x9D, /* 'I' */ 0x9F, /* 'J' */ 0xA1, /* 'K' */ 0xA3, /* 'L' */ 0xA5, /* 'M' */ 0xA7, /* 'N' */ 0xAB, /* 'O' */ 0xAD, /* 'P' */ 0xAF, /* 'Q' */ 0xB1, /* 'R' */ 0xB3, /* 'S' */ 0xB6, /* 'T' */ 0xB8, /* 'U' */ 0xBA, /* 'V' */ 0xBC, /* 'W' */ 0xBE, /* 'X' */ 0xC1, /* 'Y' */ 0xC5, /* 'Z' */ 0x37, /* '[' */ 0x38, /* '\' */ 0x39, /* ']' */ 0x3A, /* '^' */ 0x3B, /* '_' */ 0x3C, /* '`' */ 0x8D, /* 'a' */ 0x8F, /* 'b' */ 0x91, /* 'c' */ 0x93, /* 'd' */ 0x95, /* 'e' */ 0x97, /* 'f' */ 0x99, /* 'g' */ 0x9B, /* 'h' */ 0x9D, /* 'i' */ 0x9F, /* 'j' */ 0xA1, /* 'k' */ 0xA3, /* 'l' */ 0xA5, /* 'm' */ 0xA7, /* 'n' */ 0xAB, /* 'o' */ 0xAD, /* 'p' */ 0xAF, /* 'q' */ 0xB1, /* 'r' */ 0xB3, /* 's' */ 0xB6, /* 't' */ 0xB8, /* 'u' */ 0xBA, /* 'v' */ 0xBC, /* 'w' */ 0xBE, /* 'x' */ 0xC1, /* 'y' */ 0xC5, /* 'z' */ 0x3D, /* '{' */ 0x3E, /* '|' */ 0x3F, /* '}' */ 0x40, /* '~' */ 0x41, /* 0x7F */ 0x42, /* 0x80 */ 0x43, /* 0x81 */ 0x44, /* 0x82 */ 0x45, /* 0x83 */ 0x46, /* 0x84 */ 0x47, /* 0x85 */ 0x48, /* 0x86 */ 0x49, /* 0x87 */ 0x4A, /* 0x88 */ 0x4B, /* 0x89 */ 0x4B, /* 0x8A */ 0x4D, /* 0x8B */ 0x4E, /* 0x8C */ 0x4F, /* 0x8D */ 0x50, /* 0x8E */ 0x51, /* 0x8F */ 0x52, /* 0x90 */ 0x53, /* 0x91 */ 0x54, /* 0x92 */ 0x55, /* 0x93 */ 0x56, /* 0x94 */ 0x57, /* 0x95 */ 0x58, /* 0x96 */ 0x59, /* 0x97 */ 0x5A, /* 0x98 */ 0x5B, /* 0x99 */ 0x5C, /* 0x9A */ 0x5D, /* 0x9B */ 0x5E, /* 0x9C */ 0x5F, /* 0x9D */ 0x60, /* 0x9E */ 0x61, /* 0x9F */ 0x62, /* 0xA0 */ 0x63, /* 0xA1 */ 0x64, /* 0xA2 */ 0x65, /* 0xA3 */ 0x66, /* 0xA4 */ 0x67, /* 0xA5 */ 0x68, /* 0xA6 */ 0x69, /* 0xA7 */ 0x6A, /* 0xA8 */ 0x6B, /* 0xA9 */ 0x6C, /* 0xAA */ 0x6D, /* 0xAB */ 0x6E, /* 0xAC */ 0x6F, /* 0xAD */ 0x70, /* 0xAE */ 0x71, /* 0xAF */ 0x72, /* 0xB0 */ 0x73, /* 0xB1 */ 0x74, /* 0xB2 */ 0x75, /* 0xB3 */ 0x76, /* 0xB4 */ 0x77, /* 0xB5 */ 0x78, /* 0xB6 */ 0x79, /* 0xB7 */ 0x7A, /* 0xB8 */ 0x7B, /* 0xB9 */ 0x7C, /* 0xBA */ 0x7D, /* 0xBB */ 0x7E, /* 0xBC */ 0x7F, /* 0xBD */ 0x80, /* 0xBE */ 0x81, /* 0xBF */ 0x8D, /* 0xC0 */ 0x8D, /* 0xC1 */ 0x8D, /* 0xC2 */ 0x8D, /* 0xC3 */ 0xCF, /* 0xC4 */ 0xCD, /* 0xC5 */ 0xC9, /* 0xC6 */ 0x91, /* 0xC7 */ 0x95, /* 0xC8 */ 0x95, /* 0xC9 */ 0x95, /* 0xCA */ 0x95, /* 0xCB */ 0x9D, /* 0xCC */ 0x9D, /* 0xCD */ 0x9D, /* 0xCE */ 0x9D, /* 0xCF */ 0x93, /* 0xD0 */ 0xA9, /* 0xD1 */ 0xAB, /* 0xD2 */ 0xAB, /* 0xD3 */ 0xAB, /* 0xD4 */ 0xAB, /* 0xD5 */ 0xD1, /* 0xD6 */ 0xAA, /* 0xD7 */ 0xCB, /* 0xD8 */ 0xB8, /* 0xD9 */ 0xB8, /* 0xDA */ 0xB8, /* 0xDB */ 0xB8, /* 0xDC */ 0xC2, /* 0xDD */ 0xC7, /* 0xDE */ 0xB4, /* 0xDF */ 0x8D, /* 0xE0 */ 0x8D, /* 0xE1 */ 0x8D, /* 0xE2 */ 0x8D, /* 0xE3 */ 0xCF, /* 0xE4 */ 0xCD, /* 0xE5 */ 0xC9, /* 0xE6 */ 0x91, /* 0xE7 */ 0x95, /* 0xE8 */ 0x95, /* 0xE9 */ 0x95, /* 0xEA */ 0x95, /* 0xEB */ 0x9D, /* 0xEC */ 0x9D, /* 0xED */ 0x9D, /* 0xEE */ 0x9D, /* 0xEF */ 0x93, /* 0xF0 */ 0xA9, /* 0xF1 */ 0xAB, /* 0xF2 */ 0xAB, /* 0xF3 */ 0xAB, /* 0xF4 */ 0xAB, /* 0xF5 */ 0xD1, /* 0xF6 */ 0xAB, /* 0xF7 */ 0xCB, /* 0xF8 */ 0xB8, /* 0xF9 */ 0xB8, /* 0xFA */ 0xB8, /* 0xFB */ 0xB8, /* 0xFC */ 0xC2, /* 0xFD */ 0xC7, /* 0xFE */ 0xC3, /* 0xFF */ };