mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
85 lines
20 KiB
C++
85 lines
20 KiB
C++
#include "Core.h"
|
|
|
|
namespace Upp {
|
|
|
|
byte unicode_info__[] = { // 3739 bytes
|
|
0x78,0x9C,0xED,0x5A,0x0D,0x78,0x95,0xC5,0x95,0xBE,0xE2,0x42,0x77,0xFD,0xA9,0x5B,0xAC,0x3F,0x55,0xC1,0x9F,0xEE,0x16,0xBA,0x7D,0xDA,0xA2,0x3C,0x5A,0x0B,0x6A,0xD5,0x6E,0x4B,0x2B,0x02,0xE2,0x2F,0x60,0x20,0x24,0x21,0xB9,0x48,0x96,0x08,0x24,0xB9,0x21,0xB9,0xB9,0xDF,0x99,0xEF,0xBB,0xDF,0xFD,0x09,0x24,0x21,0x04,0x48,0x2E,0x24,0x70,0x03,0x15,0x83,0xBF,0x85,0x45,0xE1,0xE9,0xEA,0xB3,0x22,0xA2,0xD2,0x56,0xD4,0x2D,0x15,0xEB,0x76,0x5B,0x11,0x41,0x78,0x56,0x5B,0xD6,0xBA,0xB6,0x08,0x9A,0xD3,0xF7,0xCC,0x7C,0xF7,0xBB,0x37,0x37,0x3F,0xEA,0xD6,0xEE,0xEE,0xB3,0xEB,0xDC,0xE7,0x9B,0x39,0xE7,0xCC,0x99,0x33,0x67,0xCE,0x9C,0x99,0x39,0x33,0x09,0x1F,0xFF,0xCB,0x40,0x80,0x1F,0x3C,0xC6,0x1C,0x77,0xA3,0x51,0xA5,0x6C,0x25,0xC9,0xE4,0x3E,0xE0,0xF8,0x59,0xBF,0x35,0x3E,0x2D,0x93,0x9C,0x7C,0x42,0x2E,0xAD,0x77,0x0F,0x4E,0x6E,0xD1,0xB7,0x5D,0x7F,0x92,0x90,0xD6,0xAB,0x26,0xB5,0xA2,0xFF,0xAA,0x5E,0x9A,0x7D,0xB8,0xA4,0x3C,0x9E,0x78,0x2F,0x9C,0xFF,0xE6,0xA4,0x40,0x40,0x43,0x6F,0x3C,0xDA,0xA0,0x05,0xDB,0xF8,0x56,0x9B,0x4A,0x5D,0xB8,0xEA,0x01,0x65,0x47,0x5D,0xA5,0x96,0xA4,0xDB,0x0C,0xD0,0xAE,0x7E,0x0C,0xE5,0x44,0x56,0xEE,0x98,0x72,0x7B,0x77,0x14,0x9F,0x0E,0xB9,0x7C,0x9E,0x27,0xFC,0x79,0x7C,0xCF,0xDA,0x2D,0xFC,0xD2,0x90,0x40,0x20,0xE1,0xFC,0xC0,0xE3,0x7A,0x53,0x2D,0x53,0xF6,0x5E,0x67,0x03,0xF8,0xF9,0x2E,0x70,0x3A,0xC0,0xB7,0x3D,0xAA,0xD4,0x89,0x3F,0xC4,0xA1,0x48,0x8F,0x32,0x42,0xA0,0xCE,0xCF,0x99,0x03,0x81,0xC0,0x26,0x75,0xA8,0xC1,0x75,0xDD,0xC6,0x06,0x3D,0xFA,0xC4,0x72,0x8D,0xBC,0xC5,0x85,0xA7,0x82,0x07,0x29,0xBA,0xC9,0x76,0x94,0xCD,0x57,0x9D,0xEC,0x8D,0xE7,0x7F,0x67,0x72,0xFF,0x6C,0x92,0xE3,0xFD,0x52,0x07,0xF2,0xBA,0x0F,0xE7,0x15,0x9B,0xF6,0x61,0xB1,0x75,0x8A,0x7E,0x7C,0xED,0x3C,0x9F,0xB5,0xB3,0x6B,0x23,0x23,0x3D,0x9A,0xED,0xD4,0xCE,0x70,0xBA,0x1E,0x87,0x9D,0x6A,0x52,0x8D,0x82,0xDB,0x49,0xA5,0x9A,0x5E,0x7C,0x59,0x1A,0x39,0x8D,0xF0,0xD3,0xD4,0xCA,0xBE,0xD2,0x6D,0x5D,0xC4,0x32,0x40,0x53,0x8B,0x6A,0x5D,0xA7,0xD4,0x23,0xAE,0xD3,0x6E,0xC7,0x80,0xB7,0x38,0x8E,0xDD,0x66,0x2F,0x31,0xBD,0xC9,0x32,0x90,0x1C,0xBE,0xA7,0x36,0x2B,0x63,0x3C,0x3E,0x71,0xD2,0x27,0xEB,0x3A,0xBC,0x6F,0x68,0x20,0x70,0x58,0xA9,0x43,0x7C,0x74,0xA8,0xF1,0x51,0x2F,0x39,0xB6,0x1D,0xD7,0xA6,0x90,0x5F,0x9B,0x80,0x8D,0x03,0xD6,0x3A,0xDA,0x44,0xAC,0x3E,0x54,0xB7,0xBE,0x93,0xD5,0x37,0x35,0xE6,0xE1,0xCD,0xF9,0x0C,0xFF,0x38,0x78,0xFB,0xCD,0x1F,0xA1,0x8F,0xFF,0xCB,0x89,0xD5,0xB3,0x99,0x69,0xD0,0xA6,0x8C,0x19,0x7F,0xCA,0x24,0xE3,0xE2,0xB6,0xEF,0xE5,0xBA,0xC9,0x79,0xFD,0xCD,0xDC,0x9F,0x6F,0x1B,0xF8,0xFF,0x90,0x5A,0xFF,0xC4,0xF6,0x1F,0x6D,0x3B,0xCC,0x4F,0x9B,0x72,0x91,0x77,0xB2,0x1B,0x18,0xD2,0xBB,0x5E,0xC9,0x23,0x86,0x63,0xA1,0x37,0xF3,0x10,0x99,0x73,0xEE,0x18,0x22,0xF9,0x6F,0x05,0xB6,0x39,0xAC,0x49,0x97,0x3C,0x9E,0x71,0x86,0x7D,0xA6,0xC1,0x13,0x17,0xE6,0x7A,0x47,0x6C,0x30,0x9D,0x3B,0x74,0xB9,0x46,0xDD,0x73,0x54,0xFD,0x73,0x86,0xCA,0x77,0x7C,0xB6,0x87,0x89,0xA8,0x85,0xEC,0x26,0x92,0x64,0xDB,0xC8,0xA2,0xF8,0x5C,0x25,0x68,0x4C,0xB0,0xC4,0x80,0x35,0x34,0x21,0x5D,0x88,0x5F,0x91,0xCE,0x0B,0xD3,0xB3,0xF1,0x2B,0xF4,0x7E,0xFD,0xD0,0x48,0x23,0xB3,0x7B,0x31,0xF0,0x1E,0x0C,0x92,0x87,0xF7,0x30,0x6B,0xB4,0xD8,0x6B,0x53,0xE8,0x97,0x59,0x89,0xD2,0x04,0x8D,0x94,0x06,0x6F,0x4D,0x97,0xA6,0x27,0x53,0x3A,0x48,0xE9,0x22,0x4A,0xDF,0x9C,0x0E,0x02,0x2D,0x4D,0xBF,0xE1,0xF1,0x4D,0x48,0xF3,0x93,0xDA,0x5C,0x23,0x19,0x72,0x79,0xBF,0xE4,0x25,0xF8,0xF1,0x71,0xA1,0x4E,0xE4,0x19,0x12,0x5B,0xDC,0x81,0x3E,0xA7,0x13,0x7A,0x2C,0x4B,0xEF,0x43,0x2F,0x0B,0xD3,0xBC,0x9B,0xB5,0x16,0x25,0xDE,0x57,0xEA,0xE9,0x23,0xDF,0x4C,0x70,0xDC,0x92,0x9E,0x06,0xFA,0x7F,0xA4,0x67,0xA5,0xF9,0x15,0x2D,0xF7,0x1A,0x3D,0x3F,0xF7,0x89,0xEE,0x5F,0xD2,0x26,0xE2,0x20,0x82,0x07,0x6E,0xFF,0x80,0x99,0xF8,0x33,0xD2,0xC7,0x5C,0xE0,0x51,0xDB,0x8E,0xC5,0xA2,0x5D,0x93,0x97,0x2E,0x05,0xB4,0x7C,0xFE,0xD2,0xDA,0x58,0x34,0x49,0x3B,0x29,0xB2,0x68,0x45,0x64,0x49,0x55,0xBA,0x9E,0x22,0x1B,0x4A,0x22,0x4B,0x36,0xAB,0x8B,0xD2,0xD3,0xD1,0xCF,0x9C,0x34,0x5F,0xA2,0x35,0x7F,0x5C,0x7A,0x30,0xC6,0x2A,0x4D,0xF3,0x97,0x35,0xED,0x29,0xA1,0xDD,0xA6,0x47,0xA8,0x47,0xB3,0x5A,0xBA,0xB8,0x0E,0x19,0x75,0xCD,0xDA,0x50,0xD0,0xD5,0x33,0x84,0x4F,0x01,0x52,0x9E,0x09,0x93,0x8A,0xB0,0x4D,0xB8,0x2A,0x19,0xE5,0x73,0x84,0x65,0xBA,0x6A,0xD4,0x6E,0x15,0x9B,0xA9,0xDC,0x66,0xEE,0x10,0x12,0x68,0x47,0xB7,0x2A,0x4B,0x07,0x47,0xC7,0xE2,0x98,0xCE,0x13,0x40,0x86,0x4B,0x8D,0x53,0xFF,0x8E,0xA6,0xCE,0x24,0x3E,0x1B,0xB8,0x44,0x4A,0x73,0x36,0xD3,0x0E,0x52,0x74,0x75,0x97,0x46,0xF8,0xF3,0xD2,0x77,0x4E,0xE8,0x84,0x73,0x95,0xAD,0x43,0x5A,0x67,0xD1,0xEF,0x60,0x9A,0xFF,0x8D,0xBD,0x39,0xD5,0xD3,0xFC,0x55,0x19,0x81,0xA5,0x78,0x8B,0xA1,0xF2,0xF5,0xDA,0x76,0x9D,0x3D,0xFE,0x28,0x33,0x33,0x7E,0x28,0xCD,0xBF,0xCC,0xB4,0x9C,0x9D,0xE6,0xEF,0x8F,0x14,0xBE,0x95,0x07,0x34,0x65,0x76,0x2F,0xEF,0x90,0xD9,0xDE,0x27,0x32,0x1D,0xC3,0x2F,0x0E,0xC5,0x41,0xCD,0x1F,0x3A,0xE0,0x69,0xC2,0x65,0xD2,0xAF,0x8B,0x8D,0x77,0x84,0xD0,0x17,0x1C,0xF0,0x75,0x32,0x52,0x78,0x91,0xD9,0x5D,0x79,0x1E,0xE7,0xF4,0x90,0xF5,0x3D,0x83,0xCF,0x5F,0xEA,0xD8,0x41,0x5E,0xAB,0xCD,0x6D,0xF8,0xF6,0x67,0xC6,0x75,0xB5,0xEE,0x6F,0x3F,0xE4,0x42,0x13,0xF9,0xF1,0x05,0x9A,0xF2,0xC5,0x4C,0x4F,0x07,0x33,0x9C,0x93,0x34,0xFD,0x0C,0x43,0x2F,0xCD,0xAD,0xB9,0x43,0xD7,0xDC,0xFC,0xBA,0x2F,0x03,0x52,0xC6,0x7A,0x76,
|
|
0xFA,0x91,0xB1,0x9B,0x47,0x1D,0x9D,0xB5,0x29,0x6F,0x87,0x6F,0x11,0x3F,0x7F,0xBE,0x57,0xCF,0x67,0x1C,0x12,0xB7,0xFB,0xBD,0x8F,0x7F,0x45,0xE3,0xFF,0x6A,0x70,0x3E,0x59,0x63,0x43,0x2E,0x30,0xD8,0x08,0x8D,0x1D,0xF1,0x79,0xDF,0x3D,0x28,0xF8,0x5F,0x5F,0x30,0x90,0xAC,0xC3,0xBA,0x7E,0xA4,0x5F,0x3F,0x54,0xD7,0x07,0x3C,0x69,0xBF,0xD2,0xB5,0xA3,0x3D,0xEC,0x84,0xC6,0x4E,0xF1,0x79,0xF7,0x02,0xE7,0xB1,0x17,0x88,0xBF,0xF1,0x51,0x5D,0x77,0xB6,0x5F,0xF7,0xAC,0xC6,0xAF,0xE9,0x85,0x9B,0xF5,0xC2,0xDB,0xCE,0xEF,0x73,0xEC,0xB5,0xE4,0xE1,0xF9,0xD1,0x04,0x3F,0xE9,0x8B,0xE3,0x1D,0x00,0xEB,0x5C,0x76,0x05,0x9E,0x21,0x64,0xF4,0xFE,0x59,0x59,0x98,0xDE,0xCA,0x9C,0x88,0x7D,0x93,0x77,0xA2,0x22,0x94,0xE4,0x66,0x61,0x9A,0x0C,0xD8,0x26,0xEE,0x36,0x8A,0xD6,0x4A,0x93,0x96,0x8A,0x96,0xC9,0x80,0x0F,0x1A,0xD2,0x77,0x85,0x14,0xAB,0xA6,0x68,0x6C,0x3A,0x51,0x98,0xE3,0x10,0xC6,0xB7,0x88,0x94,0xE7,0x50,0xE1,0xD6,0xF1,0x83,0x22,0x65,0x34,0xE0,0x06,0x58,0xEE,0x7D,0xF0,0x36,0x11,0x47,0x2F,0x92,0xC5,0x44,0x5C,0x8E,0x2D,0xC8,0x5A,0x47,0x45,0xDC,0x02,0x02,0xA7,0x81,0x35,0xD3,0xF3,0x97,0xD1,0x73,0x23,0xB0,0x97,0x2E,0x9C,0x07,0xDD,0x30,0x78,0xA5,0xEA,0xA3,0x61,0x2C,0xA6,0xDA,0x76,0xA2,0x46,0xA2,0x45,0xCD,0xD8,0x94,0x3D,0xE0,0x1B,0xFC,0xEA,0xC5,0xB2,0xD2,0x1E,0x8B,0x46,0x36,0xEB,0x70,0x14,0x32,0x9B,0xE2,0xB6,0xC3,0x55,0xBF,0x86,0x12,0x3F,0xB8,0x04,0x8B,0x9E,0x2B,0x00,0xDA,0xBC,0x11,0x30,0x42,0x8B,0x4C,0x80,0xBA,0x06,0x81,0xEB,0x4D,0xB8,0x06,0xA6,0xC5,0x3A,0x27,0x7E,0xA5,0xCD,0x60,0x92,0xAA,0xA6,0xBE,0x29,0x99,0xB1,0x64,0xCD,0xE0,0x7C,0x26,0xB1,0x83,0xCE,0xB8,0x19,0xFD,0x62,0x84,0x17,0x7E,0x05,0xF0,0x6F,0xFA,0x86,0xA9,0xD0,0xD4,0xFC,0x6E,0xE0,0xE9,0x2F,0xCA,0xEC,0xBC,0x3F,0x26,0x10,0x98,0xB7,0x61,0x40,0xAE,0xDD,0xE8,0x7D,0xC9,0xE5,0xFC,0x9F,0x2F,0xE4,0xE8,0xFA,0x5F,0x4E,0xDD,0x45,0xFE,0x30,0x8C,0xC6,0x37,0x7E,0x4E,0xEE,0x83,0xB6,0x17,0x64,0x21,0x85,0x23,0x16,0x77,0x1F,0xD5,0x7D,0xA9,0xEC,0x98,0xC3,0x39,0x76,0x68,0xEB,0xA4,0x32,0x7E,0x69,0x8C,0xB8,0x00,0xD9,0x72,0x08,0xDA,0xC2,0xA9,0x50,0xC0,0x63,0x41,0x73,0xC8,0x32,0x54,0x3B,0x4A,0x6E,0xDC,0xB6,0x70,0xB9,0x41,0x15,0xCE,0x49,0x0B,0x8C,0x96,0x63,0x53,0x44,0x50,0xCB,0xB2,0x23,0x60,0x35,0xDD,0xD8,0xD2,0x0A,0xEC,0x0A,0x3F,0x87,0x77,0x60,0xA8,0xAA,0x1F,0xC3,0x4B,0xF6,0x68,0xB8,0xA0,0xAB,0x51,0x55,0x12,0xCD,0xE1,0xFB,0x66,0xC1,0xC0,0xDF,0x94,0x97,0x88,0x5A,0xEC,0xCD,0x5C,0x76,0x3A,0x20,0x09,0x10,0xF8,0xE9,0x14,0x73,0x84,0xF7,0xC8,0xC9,0x33,0x06,0x3E,0x19,0x29,0xB4,0x6B,0x3B,0x12,0xAE,0xA1,0x90,0x21,0x15,0x6C,0x28,0xAA,0x6D,0xE4,0xC3,0x19,0x96,0x50,0xBC,0x2E,0x91,0x6D,0x50,0x9D,0xB0,0xAB,0x1B,0x22,0xFA,0xA3,0xE2,0x35,0x45,0xB5,0xF7,0x13,0x45,0x72,0xE4,0x39,0xB9,0xB2,0x8B,0x36,0xF4,0xC2,0xD6,0x16,0xAD,0x98,0xDD,0x45,0x85,0xD4,0x55,0xDC,0x55,0xD8,0x85,0x73,0x58,0x19,0xBD,0x71,0x60,0xD2,0x86,0xC2,0xA8,0x35,0xEF,0xEE,0x01,0x86,0xE5,0x41,0x5B,0x2D,0x3D,0x29,0x29,0x59,0x8F,0x95,0x18,0x13,0xAB,0xA1,0x62,0xE6,0x86,0xEA,0x83,0xA9,0x10,0xF1,0xAB,0xEF,0x8A,0xFE,0xC3,0x4E,0x95,0xC9,0x31,0x52,0xF2,0xC2,0xE3,0x79,0xE1,0x86,0x64,0xF9,0x4B,0xFD,0xCF,0xBC,0x9D,0x93,0x1B,0xAD,0xE4,0x47,0xAE,0x26,0x7A,0x04,0xA1,0xC4,0x73,0x38,0x72,0x15,0xCC,0xCF,0xF5,0xD4,0x51,0xA9,0x6A,0xE7,0xDB,0x8F,0x7B,0x9E,0xC9,0xB1,0x61,0xDA,0x29,0xFA,0x76,0x46,0xB4,0xCA,0x74,0x47,0xC6,0x55,0x0C,0xCD,0x31,0xC5,0x9D,0x3E,0xAF,0xCE,0x94,0xD1,0xCC,0x28,0x66,0x14,0xF1,0x15,0xCB,0xCA,0xC8,0x51,0x51,0x79,0xCA,0xDC,0x49,0xC6,0x15,0x13,0xF8,0x9A,0x09,0x3E,0x17,0x25,0x2C,0xD5,0x90,0xA6,0x2D,0xD6,0x1F,0xFC,0x12,0x62,0x14,0x45,0x84,0xDD,0x82,0xC9,0x06,0xA9,0x93,0xD2,0x52,0x4E,0xD8,0xC8,0x57,0x15,0xDE,0x80,0x8D,0xB5,0x62,0x59,0xA3,0x5A,0x3E,0xA4,0xBC,0x11,0xA0,0x8C,0xEB,0xE5,0xD0,0xCB,0x7E,0x52,0xE7,0xF1,0x46,0x69,0xA6,0x6F,0x20,0x59,0x1F,0x4D,0x22,0xAF,0x4E,0xF6,0xBA,0xAA,0x06,0xC7,0xB2,0x2C,0x65,0xC3,0xAC,0xE1,0xB2,0x35,0xD5,0xE1,0x48,0x6B,0x45,0xE3,0x1C,0x5A,0x7B,0x77,0x38,0xD1,0xFC,0x0F,0x14,0x72,0xB9,0xE2,0xB8,0x1C,0x77,0xC3,0x24,0xD0,0xD0,0x46,0xCF,0xC2,0x1F,0x01,0x8A,0x7A,0x7A,0xF0,0xCF,0x11,0x14,0xD9,0x0D,0x7C,0xAA,0x0E,0xA1,0x56,0x0E,0x11,0xA7,0x7A,0x5B,0x47,0x3F,0x6C,0x69,0xD2,0x08,0x09,0xA9,0xB5,0x1F,0xBC,0x02,0xD3,0xE3,0x10,0x7A,0xE7,0x6B,0x08,0x89,0xFD,0x15,0x59,0x41,0x03,0x25,0x2E,0xC7,0xAE,0xC0,0x0F,0x63,0x57,0x5B,0xB1,0xC0,0x8D,0x51,0x7D,0xBC,0x9A,0x42,0xBC,0x0D,0xB4,0xED,0x3A,0xE2,0xF4,0xD9,0x2A,0xF7,0x32,0x87,0xEB,0x37,0x72,0xE7,0x08,0xDD,0xEB,0xF8,0xD7,0xF5,0x7A,0x77,0xED,0xCE,0x69,0x08,0xD8,0x6B,0xF0,0xD5,0xD5,0x0B,0x2E,0xD0,0x62,0x6B,0xC0,0x9A,0x78,0x18,0x06,0x5C,0x4F,0xD3,0xB4,0xB3,0x88,0xBB,0xD4,0xE8,0xB9,0xE9,0xA2,0x12,0xCC,0xBB,0xEC,0x25,0x69,0x9A,0xA1,0x3D,0x46,0xB8,0x66,0xF1,0xCE,0x0F,0x24,0x42,0x3D,0x47,0xF6,0x80,0x7B,0x68,0x3A,0x6D,0xA4,0x39,0xC4,0x7F,0xD7,0x23,0x1B,0xF0,0x8F,0xC5,0x04,0x1A,0x7F,0x4D,0x8E,0xB0,0xB3,0x84,0xC5,0x86,0xC4,0x6A,0x4D,0xAC,0x82,0x84,0x7B,0x50,0xAE,0xC1,0x17,0xD2,0xD2,0x44,0x76,0x27,0x44,0x20,0xE4,0x5F,0x8C,0xA9,0x73,0xE1,0x6D,0x18,0xC5,0x6B,0x90,0xA5,0x88,0x27,0x8A,0xB5,0xA9,0x30,0x4D,0x7C,0xF1,0xC9,0xDE,0x6A,0x10,0xCD,0xEA,0x69,0x09,0x55,0x92,0x99,0x02,0xB9,0x3D,0x74,0xC0,0x5D,0x51,0xF2,0x1E,0xD1,0x0A,0x8B,0x5A,0x78,0x2D,0xCF,0x55,0x9A,0xD0,0x47,0xA4,0x9F,0x6F,0x25,0xEA,0x4A,0xA9,0x0E,0xE3,0x2A,0x90,0xD5,0x03,0x99,0x70,0x21,0xE5,0xAC,0x9D,
|
|
0x91,0xA8,0x7E,0x6A,0xBC,0x3F,0x09,0x71,0x38,0xB3,0x5F,0xC4,0x6B,0x12,0x8B,0xE3,0x8B,0x2D,0xF8,0x57,0xAD,0x01,0x92,0x18,0x03,0x79,0xF2,0x24,0x85,0x29,0xE3,0x16,0x02,0x19,0x99,0xFC,0x9E,0xEC,0xA2,0x37,0x89,0x2F,0x60,0xC3,0x4E,0x83,0x52,0xE8,0x45,0xF2,0x39,0x53,0x7D,0x12,0xAA,0x53,0x73,0x00,0x48,0x54,0x6C,0x48,0x12,0x7D,0x07,0x41,0xD3,0x17,0xF4,0x32,0x4A,0xF5,0xF4,0x90,0x2A,0x6F,0x3D,0x42,0xA9,0xDF,0xB9,0x75,0x2B,0x7F,0xA6,0x19,0xCB,0x12,0xBC,0xEA,0x24,0xC3,0x1F,0xB9,0xCA,0x5E,0x2A,0x31,0xCE,0x36,0x8D,0x1C,0xE3,0xF8,0xA9,0xBD,0xE4,0xDF,0x7D,0x04,0x53,0x53,0x04,0x3B,0x35,0xD1,0x14,0x18,0x59,0xCA,0x6A,0x94,0x37,0xC3,0x46,0x0F,0x40,0xCF,0xDB,0x50,0xD6,0xA3,0xEC,0xC0,0xAC,0xAC,0xC3,0x60,0x6D,0xBA,0x09,0xAD,0xD6,0x83,0x6B,0x21,0xCD,0xA6,0x07,0x31,0x9A,0x5B,0x74,0xAB,0x12,0xDD,0x52,0xB0,0x38,0x66,0x41,0xEC,0x1B,0xD3,0xD6,0x17,0x9E,0xDB,0x74,0xBD,0x49,0x86,0x2B,0x44,0x4B,0x21,0x55,0x78,0x8D,0x95,0x65,0xD7,0xB1,0x34,0x97,0x42,0x59,0x07,0xDF,0xC2,0x9D,0xF0,0x76,0x9B,0xC6,0xEE,0xEE,0xC0,0x4C,0xD4,0x80,0x96,0xA4,0x5A,0xE4,0x96,0x07,0x39,0xF0,0x8B,0x52,0x94,0x11,0xBF,0x26,0x4E,0xAB,0xF5,0xAC,0xF5,0xE5,0x4D,0xF7,0xA2,0x4B,0x6F,0x1B,0x74,0xDB,0x65,0xAA,0x1C,0xBD,0xED,0xA0,0x9B,0x7A,0x95,0xCB,0x73,0xF2,0xFC,0xBA,0xC1,0x79,0xA7,0x96,0xAB,0x1D,0xF9,0x7C,0x57,0x9B,0x41,0xEF,0x1A,0x70,0x25,0xF7,0x9F,0xAE,0x8D,0xEC,0x20,0xAA,0x77,0xAE,0x8D,0x84,0x77,0x4D,0xA2,0x87,0x65,0x47,0xAC,0x77,0xC6,0xD1,0xAE,0x71,0x6A,0xC7,0xB7,0x23,0xE1,0x27,0x09,0x19,0x69,0xB0,0x55,0x3D,0x24,0xC8,0x8A,0xF2,0x5D,0x1E,0xC7,0xE4,0x75,0x5C,0xA7,0xEF,0x80,0xB9,0xE1,0x1F,0x97,0xC8,0xB9,0xF9,0x23,0xD0,0x8B,0xD6,0xF2,0x22,0x09,0x03,0x77,0x80,0x3A,0x9E,0x56,0x94,0x53,0xDB,0xA6,0x99,0x35,0x89,0x4A,0x76,0x2E,0xCA,0x75,0x09,0xE3,0x17,0x2E,0x78,0xA8,0x71,0x11,0x51,0xF3,0x02,0x18,0xCD,0x03,0x78,0x86,0x34,0xAF,0x7C,0x3D,0x37,0x44,0xE2,0x45,0x17,0x9A,0xBE,0x1A,0x5E,0xFB,0xF0,0xC8,0x89,0x6B,0x3E,0xC8,0x89,0x39,0x42,0xFD,0x45,0x1F,0xE1,0x0C,0x94,0x7D,0xA4,0x08,0x0D,0xFC,0x7A,0xC7,0x63,0x72,0x42,0xC1,0x3A,0x19,0xE8,0xFE,0xAF,0xF6,0x19,0x8C,0x7F,0x8D,0xC1,0xCA,0xB7,0x16,0x34,0x0F,0x5C,0x2B,0xE9,0x61,0xDE,0x8E,0xA1,0xF7,0x8A,0xD5,0xE6,0xF7,0xC2,0x6A,0x2D,0xE2,0xAA,0xAB,0xD1,0x93,0x6C,0xEC,0xFC,0xBE,0x84,0x0F,0x53,0xFF,0x0A,0xD0,0x95,0xC7,0x00,0x4D,0x13,0x15,0xCE,0x92,0xED,0x4D,0x07,0x3D,0x0B,0x05,0x2A,0x41,0x70,0xC1,0xDF,0xFD,0x3C,0xB2,0x03,0xC2,0xF7,0x3D,0x69,0x52,0x79,0x02,0xD9,0x68,0x09,0x5D,0xF7,0x3C,0x0D,0xE8,0x3B,0x67,0x00,0xDA,0x25,0xDB,0xC1,0x2C,0x91,0xF7,0xC8,0x70,0xB9,0x17,0xC8,0x6D,0xF4,0x4D,0xDC,0xD0,0xB8,0xFB,0x3C,0x64,0xE3,0x7F,0x03,0x74,0x9F,0xDC,0xFF,0x1F,0x16,0x01,0xE7,0xCA,0x99,0x73,0xD7,0x67,0x44,0x03,0xDC,0x57,0x78,0xED,0x2F,0x44,0xCA,0x35,0x80,0x4E,0x7B,0x16,0x50,0xEA,0x4B,0x80,0xBE,0xB8,0x4F,0x14,0x1A,0x1B,0x08,0x24,0x79,0x3F,0xEE,0xDA,0x05,0xBD,0xCD,0xCE,0x0F,0x7C,0x2E,0xDF,0x50,0x8D,0xC4,0x13,0x8E,0xEA,0xF9,0xC9,0xCE,0x4C,0x88,0xEF,0x08,0x66,0xF9,0xB8,0x7B,0xB5,0xD4,0x3F,0xB2,0xA4,0x24,0xA2,0xE3,0xE9,0xD5,0x89,0xE4,0xE4,0xEE,0xCB,0x97,0xED,0x0C,0x25,0x47,0xED,0x8A,0x52,0xEC,0xCA,0x75,0xAB,0x63,0xB2,0xDF,0xE1,0xC4,0xB0,0x9B,0x2B,0x5A,0x46,0x3D,0x1F,0x4A,0x52,0x72,0xDC,0xD6,0xC4,0x8C,0xAA,0xD9,0x2F,0x13,0xFD,0x6D,0x63,0x74,0xFB,0xE5,0x76,0x7A,0xE3,0x77,0x9A,0x9A,0xD2,0x89,0x24,0x8D,0x7A,0x26,0x81,0x25,0x39,0x8A,0xD6,0x75,0x27,0xC6,0xFF,0x13,0x5D,0x47,0x2F,0x80,0xA3,0x6B,0xE3,0xBC,0xEE,0x92,0xD6,0x29,0x5C,0x7D,0x6D,0x8E,0x6E,0xFC,0xFB,0x65,0xF9,0x4E,0xD3,0xD1,0x52,0xB9,0xB4,0xAA,0xB1,0x81,0x28,0xC8,0xE3,0x8A,0x31,0xD4,0x13,0xBF,0xC3,0x50,0x6F,0x3F,0x07,0xD0,0xCB,0x32,0x29,0x7B,0x05,0xDD,0xB2,0xDE,0xF8,0x23,0x36,0xA3,0x75,0x76,0x31,0x61,0x53,0xA1,0xD6,0x49,0x22,0xEE,0x86,0x8B,0xB5,0x70,0x7E,0xE5,0x55,0xDF,0x61,0x77,0x8D,0x23,0x7A,0xFA,0x9B,0x3C,0xEA,0x12,0x39,0xA4,0x7F,0x0A,0x6F,0xAA,0x90,0x97,0x29,0x5A,0x8E,0xAA,0x62,0xF2,0x84,0x48,0x93,0x7F,0xD1,0xA1,0xED,0x5F,0x60,0x56,0x77,0x2E,0xF4,0x7C,0xEF,0x15,0x70,0xDF,0xBC,0x2D,0x58,0xB1,0xB6,0xC0,0xBE,0x77,0xB1,0x52,0xC9,0xBB,0xE2,0xB1,0x69,0xA5,0xEB,0xED,0x74,0xB4,0x9C,0x2F,0xD3,0xE2,0xA6,0xFC,0x7D,0x8E,0xFD,0x7E,0xB2,0xA6,0x5F,0xFF,0x0F,0xA9,0x1F,0xBA,0x8E,0x53,0x2B,0x37,0x37,0x1B,0xDE,0x52,0x11,0x5B,0x12,0x7A,0xC6,0x69,0x80,0x4F,0x56,0xA9,0x28,0xF5,0x97,0xEA,0xB1,0xBD,0x76,0xFE,0x84,0xF4,0xEB,0x06,0xB1,0x0C,0x97,0x7A,0x74,0x6C,0x25,0x87,0xDD,0x31,0x1D,0x04,0x14,0xAB,0xF6,0xA8,0x2A,0x52,0xAA,0xCD,0xCF,0x53,0x51,0x55,0xDC,0x5E,0x96,0x2A,0x53,0xED,0x65,0x20,0x04,0xBD,0x9C,0x40,0x49,0x95,0x69,0x8E,0x62,0xB4,0x28,0x70,0x95,0x5A,0xA5,0xF2,0x5A,0xFA,0xED,0x0D,0xB4,0x11,0x51,0xA0,0xD6,0xBB,0x50,0xB5,0xE2,0xB2,0x57,0xD6,0x27,0x97,0xE5,0x54,0xD0,0x09,0x29,0x75,0x10,0xB8,0xB6,0x5C,0xD3,0x36,0x5E,0xAB,0x0B,0x91,0x60,0xCF,0xF1,0xB3,0x48,0xB0,0x3D,0xD3,0x7F,0x50,0xB5,0x79,0x7A,0x65,0x08,0xA2,0xE1,0x2A,0x55,0x96,0x61,0x36,0x40,0xEA,0xFE,0xF1,0xBA,0x61,0xCE,0xAF,0x5E,0xEE,0x36,0x11,0x3B,0xAE,0xD4,0xE2,0xEC,0x6A,0xF6,0x7F,0xD2,0x63,0x39,0x6C,0xD6,0x3E,0x48,0x5D,0x9D,0x88,0xA4,0x08,0x7A,0x88,0x00,0xC2,0xE1,0x35,0x5B,0x02,0xE8,0x36,0x63,0xEC,0xA0,0x45,0x29,0x5D,0x52,0x7B,0x90,0x2C,0x01,0x83,0x8A,0xA4,0xAE,0x4C,0x93,0x69,0x2E,0x90,0x20,0x69,0xF3,0xFB,0x40,0x24,0x05,0x08,0x3B,0x8A,0x70,0xCC,0x8D,0xE8,0x1A,0x0A,0xB6,0xCF,0x05,0xC5,0x4A,0x05,0x45,
|
|
0x46,0xB0,0x5D,0x4C,0x6F,0x47,0x52,0x65,0xD8,0x81,0x28,0x25,0xA3,0x9E,0x1B,0xC1,0x0D,0xDC,0xBA,0xAB,0xAD,0x02,0xF7,0xFF,0xCC,0x73,0x41,0x8F,0xCC,0xA5,0xF2,0x82,0x75,0xF9,0x4D,0xD1,0xB1,0x91,0x4D,0x3C,0x1C,0xFB,0x0F,0xD1,0x5B,0xC4,0x6D,0xD8,0x37,0x52,0x7C,0x00,0xDC,0xD5,0x8D,0xBC,0x50,0x3B,0xC4,0xE5,0x08,0x2D,0xCD,0xA5,0x7A,0x11,0xD6,0x18,0xC2,0xA5,0x6B,0xBE,0xDE,0xC3,0x11,0xDF,0x7B,0xF2,0xFF,0x06,0x95,0x4D,0x8B,0x17,0xAC,0x0A,0xD3,0xFC,0xE6,0xFA,0x45,0xA4,0x62,0xAC,0xB0,0xC2,0x0F,0xF3,0xB1,0x2B,0xA0,0x46,0xC1,0x61,0xE8,0x21,0xAF,0x78,0x5C,0x2F,0xF7,0xBF,0x1F,0x9E,0x85,0xEC,0x0B,0xE2,0x76,0x27,0x0B,0x14,0x93,0x27,0xB7,0xF7,0x64,0xD3,0x1A,0xDD,0xA1,0xD7,0xD4,0xD6,0x88,0x3D,0xB1,0x5F,0xBF,0xFD,0x34,0x7D,0x9A,0x3E,0x4D,0xFF,0xBD,0xE9,0xA1,0xA9,0xBC,0x45,0xE2,0xB6,0x49,0x12,0x0C,0x3E,0x22,0xD0,0x0D,0xFB,0xCD,0xC9,0x97,0xA5,0x1F,0x58,0x76,0xDA,0x6F,0x63,0xA7,0x10,0xFD,0x74,0xEC,0xCB,0xB3,0xEC,0x1A,0xDB,0xBB,0x60,0x4B,0x3E,0x81,0x76,0x5F,0x41,0xBB,0x09,0xDF,0x15,0x47,0xCE,0xA6,0x23,0x84,0xEF,0xFB,0x37,0xE6,0x48,0xE7,0xFB,0xE5,0x14,0xBC,0x55,0xDE,0x03,0x1F,0x12,0x68,0xEA,0xAF,0x3F,0xD6,0x03,0xDA,0xA6,0x0C,0x90,0xFD,0x2F,0x80,0xD0,0x14,0x5F,0xF3,0x2C,0x5F,0xDD,0x80,0x12,0xD8,0x96,0x6E,0x97,0xA3,0xDB,0xEB,0x1F,0xBF,0xFE,0x63,0xF4,0x3C,0x98,0x32,0x46,0xF0,0xF6,0xFC,0x08,0xA9,0xB1,0x8E,0xF8,0x5B,0x47,0x3F,0xD2,0xF8,0x3A,0xC6,0x0D,0x56,0xCB,0x57,0xC8,0x66,0xB9,0x57,0x62,0xBD,0xAA,0x41,0xE4,0x71,0x42,0xC7,0x5E,0x5C,0x83,0xA8,0xEB,0x8D,0x73,0x9F,0xE2,0x6F,0x5C,0x1A,0x08,0x4C,0x73,0x5B,0x12,0x93,0xB6,0x8C,0x0F,0x37,0xDD,0xDB,0x30,0xED,0xDE,0xE4,0x3C,0x5E,0xFF,0x02,0x84,0x84,0x51,0x31,0xFF,0x36,0x7E,0x42,0xE0,0xAF,0x03,0xDE,0xDC,0xB4,0x80,0xEE,0x7C,0xE2,0xAA,0x96,0xD6,0xA9,0xCB,0xB7,0x4C,0x8A,0x2F,0xE0,0x67,0xCC,0xAB,0x26,0x4F,0x40,0x5D,0x38,0x94,0xEC,0xBE,0x71,0x0B,0xAF,0x14,0x12,0xCF,0x05,0xA1,0x75,0xDC,0x63,0x13,0xF5,0x63,0x20,0x4F,0x05,0xB6,0xB0,0xCA,0x8A,0x6F,0xBD,0x95,0xB7,0x0B,0xFE,0x3D,0xE0,0xEB,0x13,0xE3,0x1F,0x2B,0x29,0x4C,0x3C,0xCA,0xAD,0x42,0x99,0x72,0xA9,0xEC,0xFE,0x02,0x89,0x28,0x52,0xEB,0x13,0x1E,0xAB,0x68,0x30,0x9D,0xEF,0xF3,0x6B,0x34,0x35,0x3B,0x90,0x2B,0x17,0xE6,0x07,0x9B,0x3C,0xAA,0x85,0x79,0x24,0xBD,0x7D,0x3A,0xC0,0x4B,0xF5,0x7B,0xC8,0x73,0xDE,0xDB,0x05,0xAF,0x9E,0x82,0x4E,0x4A,0xB7,0xF8,0xED,0xDF,0xAC,0x1A,0x69,0x80,0xF7,0xF0,0x0D,0xCD,0x4A,0xB8,0x54,0x9F,0x75,0x7B,0xC4,0x8A,0x5A,0x02,0x69,0x11,0x7C,0x19,0xE0,0x6F,0xD1,0x69,0xFB,0xF5,0x7B,0xD5,0xF9,0x7D,0x8C,0xFA,0xD6,0x70,0xA2,0x7F,0xBF,0x7E,0xAA,0x8F,0xBF,0x71,0x2E,0xBD,0x49,0x67,0xBE,0x55,0x78,0x99,0xD4,0xD1,0x70,0x5F,0xFA,0x9C,0xB2,0x3E,0x17,0x09,0xAF,0x66,0x18,0x0E,0xB9,0x33,0x89,0x8E,0x38,0x67,0x0E,0x34,0x71,0xFF,0xE3,0x89,0x5F,0xF4,0xDE,0x08,0xD7,0xF1,0x19,0xC7,0x3F,0x89,0x17,0xED,0x4F,0x30,0x79,0xBA,0xF1,0xD7,0x3E,0x41,0xC5,0x78,0xD7,0x30,0xFD,0x16,0x42,0x88,0xE0,0x2C,0xEA,0xB4,0x8A,0x55,0x47,0x89,0x84,0x6A,0x08,0xD9,0x88,0xDC,0x12,0x44,0x5F,0xD1,0xB0,0x20,0x2E,0xF6,0x91,0x68,0xD8,0xB5,0x80,0xB4,0x93,0x6B,0x15,0x93,0x0E,0xD3,0x52,0x6E,0xB1,0x0E,0xBF,0x52,0xC2,0x15,0x55,0xA8,0x75,0xC9,0xBF,0x13,0x66,0x1F,0x8E,0xA9,0xB8,0xDD,0xA5,0xE2,0x4E,0x88,0x08,0x76,0x0A,0x5A,0x27,0xEF,0xBA,0x3A,0x4C,0x23,0x7E,0x5B,0x2E,0x7A,0x9D,0x95,0xCD,0x76,0x2D,0x48,0xF2,0x54,0xCB,0x71,0xB9,0xA1,0x4D,0xFB,0x53,0xC6,0xB8,0x69,0xC0,0x1A,0xF3,0x02,0x38,0xEF,0x45,0x4F,0xF8,0x4B,0x5F,0x36,0xD4,0x95,0x63,0xB2,0x2E,0xFB,0x47,0xFB,0xF3,0x97,0xED,
|
|
};
|
|
|
|
extern byte unicode_info[];
|
|
|
|
struct UnicodeInfo {
|
|
Index<dword> composed;
|
|
Index<Tuple<dword, dword, dword>> decomposed;
|
|
|
|
UnicodeInfo();
|
|
};
|
|
|
|
UnicodeInfo::UnicodeInfo()
|
|
{
|
|
String ds = ZDecompress(unicode_info__, sizeof(unicode_info__));
|
|
|
|
Vector<dword> data;
|
|
dword prev = 0;
|
|
StringStream ss(ds);
|
|
while(!ss.IsEof()) {
|
|
byte ch = ss.Get();
|
|
dword val;
|
|
if(ch < 255) {
|
|
val = prev + ch - 127;
|
|
}
|
|
else {
|
|
val = ss.Get();
|
|
val |= ss.Get() << 8;
|
|
val |= ss.Get() << 16;
|
|
val |= ss.Get() << 24;
|
|
val = prev + val - 127;
|
|
}
|
|
data.Add(val);
|
|
prev = val;
|
|
}
|
|
|
|
int count = data[0];
|
|
for(int i = 0; i < count; i++) {
|
|
composed.Add(data[i + 1]);
|
|
decomposed.Add(MakeTuple(data[i + count + 1], data[i + 2 * count + 1], data[i + 3 * count + 1]));
|
|
}
|
|
composed.Shrink();
|
|
decomposed.Shrink();
|
|
}
|
|
|
|
int UnicodeDecompose(dword codepoint, dword t[MAX_DECOMPOSED])
|
|
{ // TODO: Add hangul support
|
|
UnicodeInfo& f = Single<UnicodeInfo>();
|
|
|
|
int q = f.composed.Find(codepoint);
|
|
if(q >= 0) {
|
|
const Tuple<dword, dword, dword>& d = f.decomposed[q];
|
|
t[0] = d.a;
|
|
t[1] = d.b;
|
|
t[2] = d.c;
|
|
return d.c ? 3 : 2;
|
|
}
|
|
t[0] = codepoint;
|
|
return 1;
|
|
}
|
|
|
|
dword UnicodeCompose(dword *t, int count)
|
|
{
|
|
if(count < 1 || count > 3)
|
|
return 0;
|
|
if(count == 1)
|
|
return t[0];
|
|
Tuple<dword, dword, dword> x;
|
|
x.a = t[0];
|
|
x.b = t[1];
|
|
x.c = count == 3 ? t[2] : 0;
|
|
UnicodeInfo& f = Single<UnicodeInfo>();
|
|
int q = f.decomposed.Find(x);
|
|
return q >= 0 ? f.composed[q] : 0;
|
|
}
|
|
|
|
};
|