Private/DisplayWidthTable.ps1

# Display width of each Unicode code point, from the table of the Rust crate unicode-width
# 0.2.2, with Extended_Pictographic from the crate unicode-segmentation 1.13.3. PWRSWriteColorEX
# measures with the same data and rules, so both modules measure text alike. Each list holds
# start and end code points in pairs, sorted by start. Control is the C0 and C1 controls and
# DEL, Zero the characters of no width, Wide those of two cells, Three the one of three, and
# Ambiguous those of one cell that East Asian text gives two. The other lists drive emoji
# sequences: Vs16Base characters become two cells before U+FE0F, Vs15Base characters become one
# cell before U+FE0E, a skin tone after a ModifierBase character adds nothing, and a Pictographic
# character joined by U+200D to a two-cell Pictographic character before it adds nothing.
$script:DisplayWidthTable = @{
    Control = [int[]]@(
        0x00000, 0x0001F, 0x0007F, 0x0009F
    )
    Zero = [int[]]@(
        0x000AD, 0x000AD, 0x00300, 0x0036F, 0x00483, 0x00489, 0x00591, 0x005BD, 0x005BF, 0x005BF, 0x005C1, 0x005C2,
        0x005C4, 0x005C5, 0x005C7, 0x005C7, 0x00605, 0x00605, 0x00610, 0x0061A, 0x0061C, 0x0061C, 0x0064B, 0x0065F,
        0x00670, 0x00670, 0x006D6, 0x006DC, 0x006DF, 0x006E4, 0x006E7, 0x006E8, 0x006EA, 0x006ED, 0x0070F, 0x0070F,
        0x00711, 0x00711, 0x00730, 0x0074A, 0x007A6, 0x007B0, 0x007EB, 0x007F3, 0x007FD, 0x007FD, 0x00816, 0x00819,
        0x0081B, 0x00823, 0x00825, 0x00827, 0x00829, 0x0082D, 0x00859, 0x0085B, 0x00890, 0x00891, 0x00897, 0x0089F,
        0x008CA, 0x00902, 0x0093A, 0x0093A, 0x0093C, 0x0093C, 0x00941, 0x00948, 0x0094D, 0x0094D, 0x00951, 0x00957,
        0x00962, 0x00963, 0x00981, 0x00981, 0x009BC, 0x009BC, 0x009BE, 0x009BE, 0x009C1, 0x009C4, 0x009CD, 0x009CD,
        0x009D7, 0x009D7, 0x009E2, 0x009E3, 0x009FE, 0x009FE, 0x00A01, 0x00A02, 0x00A3C, 0x00A3C, 0x00A41, 0x00A42,
        0x00A47, 0x00A48, 0x00A4B, 0x00A4D, 0x00A51, 0x00A51, 0x00A70, 0x00A71, 0x00A75, 0x00A75, 0x00A81, 0x00A82,
        0x00ABC, 0x00ABC, 0x00AC1, 0x00AC5, 0x00AC7, 0x00AC8, 0x00ACD, 0x00ACD, 0x00AE2, 0x00AE3, 0x00AFA, 0x00AFF,
        0x00B01, 0x00B01, 0x00B3C, 0x00B3C, 0x00B3E, 0x00B3F, 0x00B41, 0x00B44, 0x00B4D, 0x00B4D, 0x00B55, 0x00B57,
        0x00B62, 0x00B63, 0x00B82, 0x00B82, 0x00BBE, 0x00BBE, 0x00BC0, 0x00BC0, 0x00BCD, 0x00BCD, 0x00BD7, 0x00BD7,
        0x00C00, 0x00C00, 0x00C04, 0x00C04, 0x00C3C, 0x00C3C, 0x00C3E, 0x00C40, 0x00C46, 0x00C48, 0x00C4A, 0x00C4D,
        0x00C55, 0x00C56, 0x00C62, 0x00C63, 0x00C81, 0x00C81, 0x00CBC, 0x00CBC, 0x00CBF, 0x00CC0, 0x00CC2, 0x00CC2,
        0x00CC6, 0x00CC8, 0x00CCA, 0x00CCD, 0x00CD5, 0x00CD6, 0x00CE2, 0x00CE3, 0x00D00, 0x00D01, 0x00D3B, 0x00D3C,
        0x00D3E, 0x00D3E, 0x00D41, 0x00D44, 0x00D4D, 0x00D4E, 0x00D57, 0x00D57, 0x00D62, 0x00D63, 0x00D81, 0x00D81,
        0x00DCA, 0x00DCA, 0x00DCF, 0x00DCF, 0x00DD2, 0x00DD4, 0x00DD6, 0x00DD6, 0x00DDF, 0x00DDF, 0x00E31, 0x00E31,
        0x00E34, 0x00E3A, 0x00E47, 0x00E4E, 0x00EB1, 0x00EB1, 0x00EB4, 0x00EBC, 0x00EC8, 0x00ECE, 0x00F18, 0x00F19,
        0x00F35, 0x00F35, 0x00F37, 0x00F37, 0x00F39, 0x00F39, 0x00F71, 0x00F7E, 0x00F80, 0x00F84, 0x00F86, 0x00F87,
        0x00F8D, 0x00F97, 0x00F99, 0x00FBC, 0x00FC6, 0x00FC6, 0x0102D, 0x01030, 0x01032, 0x01037, 0x01039, 0x0103A,
        0x0103D, 0x0103E, 0x01058, 0x01059, 0x0105E, 0x01060, 0x01071, 0x01074, 0x01082, 0x01082, 0x01085, 0x01086,
        0x0108D, 0x0108D, 0x0109D, 0x0109D, 0x01160, 0x011FF, 0x0135D, 0x0135F, 0x01712, 0x01715, 0x01732, 0x01734,
        0x01752, 0x01753, 0x01772, 0x01773, 0x017B4, 0x017B5, 0x017B7, 0x017BD, 0x017C6, 0x017C6, 0x017C9, 0x017D3,
        0x017DD, 0x017DD, 0x0180B, 0x0180F, 0x01885, 0x01886, 0x018A9, 0x018A9, 0x01920, 0x01922, 0x01927, 0x01928,
        0x01932, 0x01932, 0x01939, 0x0193B, 0x01A17, 0x01A18, 0x01A1B, 0x01A1B, 0x01A56, 0x01A56, 0x01A58, 0x01A5E,
        0x01A60, 0x01A60, 0x01A62, 0x01A62, 0x01A65, 0x01A6C, 0x01A73, 0x01A7C, 0x01A7F, 0x01A7F, 0x01AB0, 0x01ADD,
        0x01AE0, 0x01AEB, 0x01B00, 0x01B03, 0x01B34, 0x01B3D, 0x01B42, 0x01B44, 0x01B6B, 0x01B73, 0x01B80, 0x01B81,
        0x01BA2, 0x01BA5, 0x01BA8, 0x01BAD, 0x01BE6, 0x01BE6, 0x01BE8, 0x01BE9, 0x01BED, 0x01BED, 0x01BEF, 0x01BF3,
        0x01C2C, 0x01C33, 0x01C36, 0x01C37, 0x01CD0, 0x01CD2, 0x01CD4, 0x01CE0, 0x01CE2, 0x01CE8, 0x01CED, 0x01CED,
        0x01CF4, 0x01CF4, 0x01CF8, 0x01CF9, 0x01DC0, 0x01DFF, 0x0200B, 0x0200F, 0x0202A, 0x0202E, 0x02060, 0x0206F,
        0x020D0, 0x020F0, 0x02CEF, 0x02CF1, 0x02DE0, 0x02DFF, 0x0302A, 0x0302F, 0x03099, 0x0309A, 0x03164, 0x03164,
        0x0A66F, 0x0A672, 0x0A674, 0x0A67D, 0x0A69E, 0x0A69F, 0x0A6F0, 0x0A6F1, 0x0A802, 0x0A802, 0x0A806, 0x0A806,
        0x0A80B, 0x0A80B, 0x0A825, 0x0A826, 0x0A82C, 0x0A82C, 0x0A8C4, 0x0A8C5, 0x0A8E0, 0x0A8F1, 0x0A8FA, 0x0A8FA,
        0x0A8FF, 0x0A8FF, 0x0A926, 0x0A92D, 0x0A947, 0x0A951, 0x0A953, 0x0A953, 0x0A980, 0x0A982, 0x0A9B3, 0x0A9B3,
        0x0A9B6, 0x0A9B9, 0x0A9BC, 0x0A9BD, 0x0A9C0, 0x0A9C0, 0x0A9E5, 0x0A9E5, 0x0AA29, 0x0AA2E, 0x0AA31, 0x0AA32,
        0x0AA35, 0x0AA36, 0x0AA43, 0x0AA43, 0x0AA4C, 0x0AA4C, 0x0AA7C, 0x0AA7C, 0x0AAB0, 0x0AAB0, 0x0AAB2, 0x0AAB4,
        0x0AAB7, 0x0AAB8, 0x0AABE, 0x0AABF, 0x0AAC1, 0x0AAC1, 0x0AAEC, 0x0AAED, 0x0AAF6, 0x0AAF6, 0x0ABE5, 0x0ABE5,
        0x0ABE8, 0x0ABE8, 0x0ABED, 0x0ABED, 0x0D7B0, 0x0D7C6, 0x0D7CB, 0x0D7FB, 0x0FB1E, 0x0FB1E, 0x0FE00, 0x0FE0F,
        0x0FE20, 0x0FE2F, 0x0FEFF, 0x0FEFF, 0x0FF9E, 0x0FFA0, 0x0FFF0, 0x0FFF8, 0x101FD, 0x101FD, 0x102E0, 0x102E0,
        0x10376, 0x1037A, 0x10A01, 0x10A03, 0x10A05, 0x10A06, 0x10A0C, 0x10A0F, 0x10A38, 0x10A3A, 0x10A3F, 0x10A3F,
        0x10AE5, 0x10AE6, 0x10D24, 0x10D27, 0x10D69, 0x10D6D, 0x10EAB, 0x10EAC, 0x10EFA, 0x10EFF, 0x10F46, 0x10F50,
        0x10F82, 0x10F85, 0x11001, 0x11001, 0x11038, 0x11046, 0x11070, 0x11070, 0x11073, 0x11074, 0x1107F, 0x11081,
        0x110B3, 0x110B6, 0x110B9, 0x110BA, 0x110C2, 0x110C2, 0x11100, 0x11102, 0x11127, 0x1112B, 0x1112D, 0x11134,
        0x11173, 0x11173, 0x11180, 0x11181, 0x111B6, 0x111BE, 0x111C0, 0x111C0, 0x111C2, 0x111C3, 0x111C9, 0x111CC,
        0x111CF, 0x111CF, 0x1122F, 0x11231, 0x11234, 0x11237, 0x1123E, 0x1123E, 0x11241, 0x11241, 0x112DF, 0x112DF,
        0x112E3, 0x112EA, 0x11300, 0x11301, 0x1133B, 0x1133C, 0x1133E, 0x1133E, 0x11340, 0x11340, 0x1134D, 0x1134D,
        0x11357, 0x11357, 0x11366, 0x1136C, 0x11370, 0x11374, 0x113B8, 0x113B8, 0x113BB, 0x113C0, 0x113C2, 0x113C2,
        0x113C5, 0x113C5, 0x113C7, 0x113C9, 0x113CE, 0x113D2, 0x113E1, 0x113E2, 0x11438, 0x1143F, 0x11442, 0x11444,
        0x11446, 0x11446, 0x1145E, 0x1145E, 0x114B0, 0x114B0, 0x114B3, 0x114B8, 0x114BA, 0x114BA, 0x114BD, 0x114BD,
        0x114BF, 0x114C0, 0x114C2, 0x114C3, 0x115AF, 0x115AF, 0x115B2, 0x115B5, 0x115BC, 0x115BD, 0x115BF, 0x115C0,
        0x115DC, 0x115DD, 0x11633, 0x1163A, 0x1163D, 0x1163D, 0x1163F, 0x11640, 0x116AB, 0x116AB, 0x116AD, 0x116AD,
        0x116B0, 0x116B7, 0x1171D, 0x1171D, 0x1171F, 0x1171F, 0x11722, 0x11725, 0x11727, 0x1172B, 0x1182F, 0x11837,
        0x11839, 0x1183A, 0x11930, 0x11930, 0x1193B, 0x1193F, 0x11941, 0x11941, 0x11943, 0x11943, 0x119D4, 0x119D7,
        0x119DA, 0x119DB, 0x119E0, 0x119E0, 0x11A01, 0x11A0A, 0x11A33, 0x11A38, 0x11A3B, 0x11A3E, 0x11A47, 0x11A47,
        0x11A51, 0x11A56, 0x11A59, 0x11A5B, 0x11A84, 0x11A96, 0x11A98, 0x11A99, 0x11B60, 0x11B60, 0x11B62, 0x11B64,
        0x11B66, 0x11B66, 0x11C30, 0x11C36, 0x11C38, 0x11C3D, 0x11C3F, 0x11C3F, 0x11C92, 0x11CA7, 0x11CAA, 0x11CB0,
        0x11CB2, 0x11CB3, 0x11CB5, 0x11CB6, 0x11D31, 0x11D36, 0x11D3A, 0x11D3A, 0x11D3C, 0x11D3D, 0x11D3F, 0x11D47,
        0x11D90, 0x11D91, 0x11D95, 0x11D95, 0x11D97, 0x11D97, 0x11EF3, 0x11EF4, 0x11F00, 0x11F02, 0x11F36, 0x11F3A,
        0x11F40, 0x11F42, 0x11F5A, 0x11F5A, 0x13440, 0x13440, 0x13447, 0x13455, 0x1611E, 0x16129, 0x1612D, 0x1612F,
        0x16AF0, 0x16AF4, 0x16B30, 0x16B36, 0x16F4F, 0x16F4F, 0x16F8F, 0x16F92, 0x16FE4, 0x16FE4, 0x16FF0, 0x16FF1,
        0x1BC9D, 0x1BC9E, 0x1BCA0, 0x1BCA3, 0x1CF00, 0x1CF2D, 0x1CF30, 0x1CF46, 0x1D165, 0x1D169, 0x1D16D, 0x1D182,
        0x1D185, 0x1D18B, 0x1D1AA, 0x1D1AD, 0x1D242, 0x1D244, 0x1DA00, 0x1DA36, 0x1DA3B, 0x1DA6C, 0x1DA75, 0x1DA75,
        0x1DA84, 0x1DA84, 0x1DA9B, 0x1DA9F, 0x1DAA1, 0x1DAAF, 0x1E000, 0x1E006, 0x1E008, 0x1E018, 0x1E01B, 0x1E021,
        0x1E023, 0x1E024, 0x1E026, 0x1E02A, 0x1E08F, 0x1E08F, 0x1E130, 0x1E136, 0x1E2AE, 0x1E2AE, 0x1E2EC, 0x1E2EF,
        0x1E4EC, 0x1E4EF, 0x1E5EE, 0x1E5EF, 0x1E6E3, 0x1E6E3, 0x1E6E6, 0x1E6E6, 0x1E6EE, 0x1E6EF, 0x1E6F5, 0x1E6F5,
        0x1E8D0, 0x1E8D6, 0x1E944, 0x1E94A, 0xE0000, 0xE0FFF
    )
    Wide = [int[]]@(
        0x01100, 0x0115F, 0x017A4, 0x017A4, 0x0231A, 0x0231B, 0x02329, 0x0232A, 0x023E9, 0x023EC, 0x023F0, 0x023F0,
        0x023F3, 0x023F3, 0x025FD, 0x025FE, 0x02614, 0x02615, 0x02630, 0x02637, 0x02648, 0x02653, 0x0267F, 0x0267F,
        0x0268A, 0x0268F, 0x02693, 0x02693, 0x026A1, 0x026A1, 0x026AA, 0x026AB, 0x026BD, 0x026BE, 0x026C4, 0x026C5,
        0x026CE, 0x026CE, 0x026D4, 0x026D4, 0x026EA, 0x026EA, 0x026F2, 0x026F3, 0x026F5, 0x026F5, 0x026FA, 0x026FA,
        0x026FD, 0x026FD, 0x02705, 0x02705, 0x0270A, 0x0270B, 0x02728, 0x02728, 0x0274C, 0x0274C, 0x0274E, 0x0274E,
        0x02753, 0x02755, 0x02757, 0x02757, 0x02795, 0x02797, 0x027B0, 0x027B0, 0x027BF, 0x027BF, 0x02B1B, 0x02B1C,
        0x02B50, 0x02B50, 0x02B55, 0x02B55, 0x02E80, 0x02E99, 0x02E9B, 0x02EF3, 0x02F00, 0x02FD5, 0x02FF0, 0x03029,
        0x03030, 0x0303E, 0x03041, 0x03096, 0x0309B, 0x030FF, 0x03105, 0x0312F, 0x03131, 0x03163, 0x03165, 0x0318E,
        0x03190, 0x031E5, 0x031EF, 0x0321E, 0x03220, 0x03247, 0x03250, 0x0A48C, 0x0A490, 0x0A4C6, 0x0A960, 0x0A97C,
        0x0AC00, 0x0D7A3, 0x0F900, 0x0FAFF, 0x0FE10, 0x0FE19, 0x0FE30, 0x0FE52, 0x0FE54, 0x0FE66, 0x0FE68, 0x0FE6B,
        0x0FF01, 0x0FF60, 0x0FFE0, 0x0FFE6, 0x16FE0, 0x16FE3, 0x16FF2, 0x16FF6, 0x17000, 0x18CD5, 0x18CFF, 0x18D1E,
        0x18D80, 0x18DF2, 0x1AFF0, 0x1AFF3, 0x1AFF5, 0x1AFFB, 0x1AFFD, 0x1AFFE, 0x1B000, 0x1B122, 0x1B132, 0x1B132,
        0x1B150, 0x1B152, 0x1B155, 0x1B155, 0x1B164, 0x1B167, 0x1B170, 0x1B2FB, 0x1D300, 0x1D356, 0x1D360, 0x1D376,
        0x1F004, 0x1F004, 0x1F0CF, 0x1F0CF, 0x1F18E, 0x1F18E, 0x1F191, 0x1F19A, 0x1F200, 0x1F202, 0x1F210, 0x1F23B,
        0x1F240, 0x1F248, 0x1F250, 0x1F251, 0x1F260, 0x1F265, 0x1F300, 0x1F320, 0x1F32D, 0x1F335, 0x1F337, 0x1F37C,
        0x1F37E, 0x1F393, 0x1F3A0, 0x1F3CA, 0x1F3CF, 0x1F3D3, 0x1F3E0, 0x1F3F0, 0x1F3F4, 0x1F3F4, 0x1F3F8, 0x1F43E,
        0x1F440, 0x1F440, 0x1F442, 0x1F4FC, 0x1F4FF, 0x1F53D, 0x1F54B, 0x1F54E, 0x1F550, 0x1F567, 0x1F57A, 0x1F57A,
        0x1F595, 0x1F596, 0x1F5A4, 0x1F5A4, 0x1F5FB, 0x1F64F, 0x1F680, 0x1F6C5, 0x1F6CC, 0x1F6CC, 0x1F6D0, 0x1F6D2,
        0x1F6D5, 0x1F6D8, 0x1F6DC, 0x1F6DF, 0x1F6EB, 0x1F6EC, 0x1F6F4, 0x1F6FC, 0x1F7E0, 0x1F7EB, 0x1F7F0, 0x1F7F0,
        0x1F90C, 0x1F93A, 0x1F93C, 0x1F945, 0x1F947, 0x1F9FF, 0x1FA70, 0x1FA7C, 0x1FA80, 0x1FA8A, 0x1FA8E, 0x1FAC6,
        0x1FAC8, 0x1FAC8, 0x1FACD, 0x1FADC, 0x1FADF, 0x1FAEA, 0x1FAEF, 0x1FAF8, 0x20000, 0x2FFFD, 0x30000, 0x3FFFD
    )
    Three = [int[]]@(
        0x017D8, 0x017D8
    )
    Ambiguous = [int[]]@(
        0x000A1, 0x000A1, 0x000A4, 0x000A4, 0x000A7, 0x000A7, 0x000AE, 0x000AE, 0x000B0, 0x000B3, 0x000B6, 0x000B7,
        0x000B9, 0x000B9, 0x000BC, 0x000BF, 0x000D7, 0x000D7, 0x000F7, 0x000F7, 0x00387, 0x00387, 0x02010, 0x02010,
        0x02013, 0x02016, 0x02018, 0x02019, 0x0201C, 0x0201D, 0x02020, 0x02022, 0x02024, 0x02027, 0x02030, 0x02030,
        0x02032, 0x02033, 0x02035, 0x02035, 0x0203B, 0x0203B, 0x0203E, 0x0203E, 0x02074, 0x02074, 0x02081, 0x02084,
        0x020AC, 0x020AC, 0x02103, 0x02103, 0x02105, 0x02105, 0x02109, 0x02109, 0x02116, 0x02116, 0x02121, 0x02122,
        0x02150, 0x0215E, 0x02160, 0x0216B, 0x02170, 0x02179, 0x02189, 0x02189, 0x02190, 0x0219B, 0x021AE, 0x021AE,
        0x021B8, 0x021B9, 0x021CE, 0x021CF, 0x021D2, 0x021D2, 0x021D4, 0x021D4, 0x021E7, 0x021E7, 0x02200, 0x02200,
        0x02202, 0x02204, 0x02207, 0x02209, 0x0220B, 0x0220C, 0x0220F, 0x0220F, 0x02211, 0x02211, 0x02215, 0x02215,
        0x0221A, 0x0221A, 0x0221D, 0x02220, 0x02223, 0x0222C, 0x0222E, 0x0222E, 0x02234, 0x02237, 0x0223C, 0x0223D,
        0x02241, 0x02241, 0x02248, 0x02249, 0x0224C, 0x0224C, 0x02252, 0x02252, 0x02260, 0x02262, 0x02264, 0x02267,
        0x0226A, 0x0226B, 0x0226E, 0x02271, 0x02282, 0x02289, 0x02295, 0x02295, 0x02299, 0x02299, 0x022A5, 0x022A5,
        0x022BF, 0x022BF, 0x02312, 0x02312, 0x02460, 0x0254B, 0x02550, 0x02574, 0x02580, 0x0258F, 0x02592, 0x02595,
        0x025A0, 0x025A1, 0x025A3, 0x025A9, 0x025B2, 0x025B3, 0x025B6, 0x025B7, 0x025BC, 0x025BD, 0x025C0, 0x025C1,
        0x025C6, 0x025C8, 0x025CB, 0x025CB, 0x025CE, 0x025D1, 0x025E2, 0x025E5, 0x025EF, 0x025EF, 0x02605, 0x02606,
        0x02609, 0x02609, 0x0260E, 0x0260F, 0x02616, 0x02617, 0x0261C, 0x0261C, 0x0261E, 0x0261E, 0x02640, 0x02640,
        0x02642, 0x02642, 0x02660, 0x02661, 0x02663, 0x02665, 0x02667, 0x0266A, 0x0266C, 0x0266D, 0x0266F, 0x0266F,
        0x0269E, 0x0269F, 0x026BF, 0x026BF, 0x026C6, 0x026CD, 0x026CF, 0x026D3, 0x026D5, 0x026E1, 0x026E3, 0x026E3,
        0x026E8, 0x026E9, 0x026EB, 0x026F1, 0x026F4, 0x026F4, 0x026F6, 0x026F9, 0x026FB, 0x026FC, 0x026FE, 0x026FF,
        0x0273D, 0x0273D, 0x02776, 0x02793, 0x02B56, 0x02B59, 0x03248, 0x0324F, 0x0E000, 0x0F8FF, 0x0FFFD, 0x0FFFD,
        0x1F100, 0x1F10C, 0x1F110, 0x1F12D, 0x1F130, 0x1F169, 0x1F170, 0x1F18D, 0x1F18F, 0x1F190, 0x1F19B, 0x1F1AC,
        0xF0000, 0xFFFFD, 0x100000, 0x10FFFD
    )
    Vs16Base = [int[]]@(
        0x00023, 0x00023, 0x0002A, 0x0002A, 0x00030, 0x00039, 0x000A9, 0x000A9, 0x000AE, 0x000AE, 0x0203C, 0x0203C,
        0x02049, 0x02049, 0x02122, 0x02122, 0x02139, 0x02139, 0x02194, 0x02199, 0x021A9, 0x021AA, 0x02328, 0x02328,
        0x023CF, 0x023CF, 0x023ED, 0x023EF, 0x023F1, 0x023F2, 0x023F8, 0x023FA, 0x024C2, 0x024C2, 0x025AA, 0x025AB,
        0x025B6, 0x025B6, 0x025C0, 0x025C0, 0x025FB, 0x025FC, 0x02600, 0x02604, 0x0260E, 0x0260E, 0x02611, 0x02611,
        0x02618, 0x02618, 0x0261D, 0x0261D, 0x02620, 0x02620, 0x02622, 0x02623, 0x02626, 0x02626, 0x0262A, 0x0262A,
        0x0262E, 0x0262F, 0x02638, 0x0263A, 0x02640, 0x02640, 0x02642, 0x02642, 0x0265F, 0x02660, 0x02663, 0x02663,
        0x02665, 0x02666, 0x02668, 0x02668, 0x0267B, 0x0267B, 0x0267E, 0x0267E, 0x02692, 0x02692, 0x02694, 0x02697,
        0x02699, 0x02699, 0x0269B, 0x0269C, 0x026A0, 0x026A0, 0x026A7, 0x026A7, 0x026B0, 0x026B1, 0x026C8, 0x026C8,
        0x026CF, 0x026CF, 0x026D1, 0x026D1, 0x026D3, 0x026D3, 0x026E9, 0x026E9, 0x026F0, 0x026F1, 0x026F4, 0x026F4,
        0x026F7, 0x026F9, 0x02702, 0x02702, 0x02708, 0x02709, 0x0270C, 0x0270D, 0x0270F, 0x0270F, 0x02712, 0x02712,
        0x02714, 0x02714, 0x02716, 0x02716, 0x0271D, 0x0271D, 0x02721, 0x02721, 0x02733, 0x02734, 0x02744, 0x02744,
        0x02747, 0x02747, 0x02763, 0x02764, 0x027A1, 0x027A1, 0x02934, 0x02935, 0x02B05, 0x02B07, 0x1F170, 0x1F171,
        0x1F17E, 0x1F17F, 0x1F321, 0x1F321, 0x1F324, 0x1F32C, 0x1F336, 0x1F336, 0x1F37D, 0x1F37D, 0x1F396, 0x1F397,
        0x1F399, 0x1F39B, 0x1F39E, 0x1F39F, 0x1F3CB, 0x1F3CE, 0x1F3D4, 0x1F3DF, 0x1F3F3, 0x1F3F3, 0x1F3F5, 0x1F3F5,
        0x1F3F7, 0x1F3F7, 0x1F43F, 0x1F43F, 0x1F441, 0x1F441, 0x1F4FD, 0x1F4FD, 0x1F549, 0x1F54A, 0x1F56F, 0x1F570,
        0x1F573, 0x1F579, 0x1F587, 0x1F587, 0x1F58A, 0x1F58D, 0x1F590, 0x1F590, 0x1F5A5, 0x1F5A5, 0x1F5A8, 0x1F5A8,
        0x1F5B1, 0x1F5B2, 0x1F5BC, 0x1F5BC, 0x1F5C2, 0x1F5C4, 0x1F5D1, 0x1F5D3, 0x1F5DC, 0x1F5DE, 0x1F5E1, 0x1F5E1,
        0x1F5E3, 0x1F5E3, 0x1F5E8, 0x1F5E8, 0x1F5EF, 0x1F5EF, 0x1F5F3, 0x1F5F3, 0x1F5FA, 0x1F5FA, 0x1F6CB, 0x1F6CB,
        0x1F6CD, 0x1F6CF, 0x1F6E0, 0x1F6E5, 0x1F6E9, 0x1F6E9, 0x1F6F0, 0x1F6F0, 0x1F6F3, 0x1F6F3
    )
    Vs15Base = [int[]]@(
        0x0231A, 0x0231B, 0x023E9, 0x023EC, 0x023F0, 0x023F0, 0x023F3, 0x023F3, 0x025FD, 0x025FE, 0x02614, 0x02615,
        0x02648, 0x02653, 0x0267F, 0x0267F, 0x02693, 0x02693, 0x026A1, 0x026A1, 0x026AA, 0x026AB, 0x026BD, 0x026BE,
        0x026C4, 0x026C5, 0x026CE, 0x026CE, 0x026D4, 0x026D4, 0x026EA, 0x026EA, 0x026F2, 0x026F3, 0x026F5, 0x026F5,
        0x026FA, 0x026FA, 0x026FD, 0x026FD, 0x02705, 0x02705, 0x0270A, 0x0270B, 0x02728, 0x02728, 0x0274C, 0x0274C,
        0x0274E, 0x0274E, 0x02753, 0x02755, 0x02757, 0x02757, 0x02795, 0x02797, 0x027B0, 0x027B0, 0x027BF, 0x027BF,
        0x02B1B, 0x02B1C, 0x02B50, 0x02B50, 0x02B55, 0x02B55, 0x1F004, 0x1F004, 0x1F30D, 0x1F30F, 0x1F315, 0x1F315,
        0x1F31C, 0x1F31C, 0x1F378, 0x1F378, 0x1F393, 0x1F393, 0x1F3A7, 0x1F3A7, 0x1F3AC, 0x1F3AE, 0x1F3C2, 0x1F3C2,
        0x1F3C4, 0x1F3C4, 0x1F3C6, 0x1F3C6, 0x1F3CA, 0x1F3CA, 0x1F3E0, 0x1F3E0, 0x1F3ED, 0x1F3ED, 0x1F408, 0x1F408,
        0x1F415, 0x1F415, 0x1F41F, 0x1F41F, 0x1F426, 0x1F426, 0x1F442, 0x1F442, 0x1F446, 0x1F449, 0x1F44D, 0x1F44E,
        0x1F453, 0x1F453, 0x1F46A, 0x1F46A, 0x1F47D, 0x1F47D, 0x1F4A3, 0x1F4A3, 0x1F4B0, 0x1F4B0, 0x1F4B3, 0x1F4B3,
        0x1F4BB, 0x1F4BB, 0x1F4BF, 0x1F4BF, 0x1F4CB, 0x1F4CB, 0x1F4DA, 0x1F4DA, 0x1F4DF, 0x1F4DF, 0x1F4E4, 0x1F4E6,
        0x1F4EA, 0x1F4ED, 0x1F4F7, 0x1F4F7, 0x1F4F9, 0x1F4FB, 0x1F508, 0x1F508, 0x1F50D, 0x1F50D, 0x1F512, 0x1F513,
        0x1F550, 0x1F567, 0x1F610, 0x1F610, 0x1F687, 0x1F687, 0x1F68D, 0x1F68D, 0x1F691, 0x1F691, 0x1F694, 0x1F694,
        0x1F698, 0x1F698, 0x1F6AD, 0x1F6AD, 0x1F6B2, 0x1F6B2, 0x1F6B9, 0x1F6BA, 0x1F6BC, 0x1F6BC
    )
    ModifierBase = [int[]]@(
        0x0270A, 0x0270B, 0x1F385, 0x1F385, 0x1F3C2, 0x1F3C4, 0x1F3C7, 0x1F3C7, 0x1F3CA, 0x1F3CA, 0x1F442, 0x1F443,
        0x1F446, 0x1F450, 0x1F466, 0x1F478, 0x1F47C, 0x1F47C, 0x1F481, 0x1F483, 0x1F485, 0x1F487, 0x1F48F, 0x1F48F,
        0x1F491, 0x1F491, 0x1F4AA, 0x1F4AA, 0x1F57A, 0x1F57A, 0x1F595, 0x1F596, 0x1F645, 0x1F647, 0x1F64B, 0x1F64F,
        0x1F6A3, 0x1F6A3, 0x1F6B4, 0x1F6B6, 0x1F6C0, 0x1F6C0, 0x1F6CC, 0x1F6CC, 0x1F90C, 0x1F90C, 0x1F90F, 0x1F90F,
        0x1F918, 0x1F91F, 0x1F926, 0x1F926, 0x1F930, 0x1F939, 0x1F93C, 0x1F93E, 0x1F977, 0x1F977, 0x1F9B5, 0x1F9B6,
        0x1F9B8, 0x1F9B9, 0x1F9BB, 0x1F9BB, 0x1F9CD, 0x1F9CF, 0x1F9D1, 0x1F9DD, 0x1FAC3, 0x1FAC5, 0x1FAF0, 0x1FAF8
    )
    Pictographic = [int[]]@(
        0x000A9, 0x000A9, 0x000AE, 0x000AE, 0x0203C, 0x0203C, 0x02049, 0x02049, 0x02122, 0x02122, 0x02139, 0x02139,
        0x02194, 0x02199, 0x021A9, 0x021AA, 0x0231A, 0x0231B, 0x02328, 0x02328, 0x023CF, 0x023CF, 0x023E9, 0x023F3,
        0x023F8, 0x023FA, 0x024C2, 0x024C2, 0x025AA, 0x025AB, 0x025B6, 0x025B6, 0x025C0, 0x025C0, 0x025FB, 0x025FE,
        0x02600, 0x02604, 0x0260E, 0x0260E, 0x02611, 0x02611, 0x02614, 0x02615, 0x02618, 0x02618, 0x0261D, 0x0261D,
        0x02620, 0x02620, 0x02622, 0x02623, 0x02626, 0x02626, 0x0262A, 0x0262A, 0x0262E, 0x0262F, 0x02638, 0x0263A,
        0x02640, 0x02640, 0x02642, 0x02642, 0x02648, 0x02653, 0x0265F, 0x02660, 0x02663, 0x02663, 0x02665, 0x02666,
        0x02668, 0x02668, 0x0267B, 0x0267B, 0x0267E, 0x0267F, 0x02692, 0x02697, 0x02699, 0x02699, 0x0269B, 0x0269C,
        0x026A0, 0x026A1, 0x026A7, 0x026A7, 0x026AA, 0x026AB, 0x026B0, 0x026B1, 0x026BD, 0x026BE, 0x026C4, 0x026C5,
        0x026C8, 0x026C8, 0x026CE, 0x026CF, 0x026D1, 0x026D1, 0x026D3, 0x026D4, 0x026E9, 0x026EA, 0x026F0, 0x026F5,
        0x026F7, 0x026FA, 0x026FD, 0x026FD, 0x02702, 0x02702, 0x02705, 0x02705, 0x02708, 0x0270D, 0x0270F, 0x0270F,
        0x02712, 0x02712, 0x02714, 0x02714, 0x02716, 0x02716, 0x0271D, 0x0271D, 0x02721, 0x02721, 0x02728, 0x02728,
        0x02733, 0x02734, 0x02744, 0x02744, 0x02747, 0x02747, 0x0274C, 0x0274C, 0x0274E, 0x0274E, 0x02753, 0x02755,
        0x02757, 0x02757, 0x02763, 0x02764, 0x02795, 0x02797, 0x027A1, 0x027A1, 0x027B0, 0x027B0, 0x027BF, 0x027BF,
        0x02934, 0x02935, 0x02B05, 0x02B07, 0x02B1B, 0x02B1C, 0x02B50, 0x02B50, 0x02B55, 0x02B55, 0x03030, 0x03030,
        0x0303D, 0x0303D, 0x03297, 0x03297, 0x03299, 0x03299, 0x1F004, 0x1F004, 0x1F02C, 0x1F02F, 0x1F094, 0x1F09F,
        0x1F0AF, 0x1F0B0, 0x1F0C0, 0x1F0C0, 0x1F0CF, 0x1F0D0, 0x1F0F6, 0x1F0FF, 0x1F170, 0x1F171, 0x1F17E, 0x1F17F,
        0x1F18E, 0x1F18E, 0x1F191, 0x1F19A, 0x1F1AE, 0x1F1E5, 0x1F201, 0x1F20F, 0x1F21A, 0x1F21A, 0x1F22F, 0x1F22F,
        0x1F232, 0x1F23A, 0x1F23C, 0x1F23F, 0x1F249, 0x1F25F, 0x1F266, 0x1F321, 0x1F324, 0x1F393, 0x1F396, 0x1F397,
        0x1F399, 0x1F39B, 0x1F39E, 0x1F3F0, 0x1F3F3, 0x1F3F5, 0x1F3F7, 0x1F3FA, 0x1F400, 0x1F4FD, 0x1F4FF, 0x1F53D,
        0x1F549, 0x1F54E, 0x1F550, 0x1F567, 0x1F56F, 0x1F570, 0x1F573, 0x1F57A, 0x1F587, 0x1F587, 0x1F58A, 0x1F58D,
        0x1F590, 0x1F590, 0x1F595, 0x1F596, 0x1F5A4, 0x1F5A5, 0x1F5A8, 0x1F5A8, 0x1F5B1, 0x1F5B2, 0x1F5BC, 0x1F5BC,
        0x1F5C2, 0x1F5C4, 0x1F5D1, 0x1F5D3, 0x1F5DC, 0x1F5DE, 0x1F5E1, 0x1F5E1, 0x1F5E3, 0x1F5E3, 0x1F5E8, 0x1F5E8,
        0x1F5EF, 0x1F5EF, 0x1F5F3, 0x1F5F3, 0x1F5FA, 0x1F64F, 0x1F680, 0x1F6C5, 0x1F6CB, 0x1F6D2, 0x1F6D5, 0x1F6E5,
        0x1F6E9, 0x1F6E9, 0x1F6EB, 0x1F6F0, 0x1F6F3, 0x1F6FF, 0x1F7DA, 0x1F7FF, 0x1F80C, 0x1F80F, 0x1F848, 0x1F84F,
        0x1F85A, 0x1F85F, 0x1F888, 0x1F88F, 0x1F8AE, 0x1F8AF, 0x1F8BC, 0x1F8BF, 0x1F8C2, 0x1F8CF, 0x1F8D9, 0x1F8FF,
        0x1F90C, 0x1F93A, 0x1F93C, 0x1F945, 0x1F947, 0x1F9FF, 0x1FA58, 0x1FA5F, 0x1FA6E, 0x1FAFF, 0x1FC00, 0x1FFFD
    )
}