typedef struct _CodedMapBlock { UINT iwcFirst : 16; UINT cwcSpan : 8; UINT iDelta : 6; UINT fUnused : 1; UINT fGapIs2 : 1; } CodeMapBlock, *PCodedMapBlock; typedef union { UINT uCode; CodeMapBlock cmb; } UCodeMapBlock; const UCodeMapBlock UCMB_NULL = { 0 }; // Special block with zero entries // with base == 0. // Upper case maps: const SHORT aiDeltaValues_Upper[34] = { -219, -218, -217, -214, -213, -211, -210, -209, -207, -206, -205, -203, -202, -80, -79, -64, -63, -48, -38, -37, -32, -26, -16, -2, -1, 7, 8, 74, 86, 100, 112, 121, 126, 128 }; const UCodeMapBlock UCMB_Upper[88] = { 0x141a0061, 0x141700e0, 0x140700f8, 0x1f0100ff, 0x982f0101, 0x98050133, 0x980f013a, 0x982d014b, 0x9805017a, 0x98030183, 0x18010188, 0x1801018c, 0x18010192, 0x18010199, 0x980501a1, 0x180101a8, 0x180101ad, 0x180101b0, 0x980301b4, 0x180101b9, 0x180101bd, 0x170101c6, 0x170101c9, 0x170101cc, 0x980f01ce, 0x0e0101dd, 0x981101df, 0x170101f3, 0x180101f5, 0x981d01fb, 0x06010253, 0x09010254, 0x0a020256, 0x0c010259, 0x0b01025b, 0x0a010260, 0x08010263, 0x07010268, 0x05010269, 0x0501026f, 0x04010272, 0x03010275, 0x01010283, 0x01010288, 0x0202028a, 0x00010292, 0x120103ac, 0x130303ad, 0x141103b1, 0x140903c3, 0x0f0103cc, 0x100203cd, 0x980d03e3, 0x14200430, 0x0d0c0451, 0x0d02045e, 0x98210461, 0x982f0491, 0x980304c2, 0x180104c8, 0x180104cc, 0x981b04d1, 0x980704ef, 0x180104f9, 0x11260561, 0x112610d0, 0x98951e01, 0x98591ea1, 0x1a081f00, 0x1a061f10, 0x1a081f20, 0x1a081f30, 0x1a061f40, 0x9a071f51, 0x1a081f60, 0x1b021f70, 0x1c041f72, 0x1d021f76, 0x21021f78, 0x1e021f7a, 0x20021f7c, 0x1a021fb0, 0x1a021fd0, 0x1a021fe0, 0x19011fe5, 0x16102170, 0x151a24d0, 0x141aff41 }; // Lower case maps: const SHORT aiDeltaValues_Lower[34] = { -128, -126, -121, -112, -100, -86, -74, -8, -7, 1, 2, 16, 26, 32, 37, 38, 48, 63, 64, 79, 80, 202, 203, 205, 206, 207, 209, 210, 211, 213, 214, 217, 218, 219 }; const UCodeMapBlock UCMB_Lower[88] = { 0x0d1a0041, 0x0d1700c0, 0x0d0700d8, 0x892f0100, 0x89050132, 0x890f0139, 0x892d014a, 0x02010178, 0x89050179, 0x1b010181, 0x89030182, 0x18010186, 0x09010187, 0x17020189, 0x0901018b, 0x1301018e, 0x1501018f, 0x16010190, 0x09010191, 0x17010193, 0x19010194, 0x1c010196, 0x1a010197, 0x09010198, 0x1c01019c, 0x1d01019d, 0x1e01019f, 0x890501a0, 0x090101a7, 0x200101a9, 0x090101ac, 0x200101ae, 0x090101af, 0x1f0201b1, 0x890301b3, 0x210101b7, 0x090101b8, 0x090101bc, 0x0a0101c4, 0x0a0101c7, 0x0a0101ca, 0x890f01cd, 0x891101de, 0x0a0101f1, 0x090101f4, 0x891d01fa, 0x0f010386, 0x0e030388, 0x1201038c, 0x1102038e, 0x0d110391, 0x0d0903a3, 0x890d03e2, 0x140c0401, 0x1402040e, 0x0d200410, 0x89210460, 0x892f0490, 0x890304c1, 0x090104c7, 0x090104cb, 0x891b04d0, 0x890704ee, 0x090104f8, 0x10260531, 0x102610a0, 0x89951e00, 0x89591ea0, 0x07081f08, 0x07061f18, 0x07081f28, 0x07081f38, 0x07061f48, 0x87071f59, 0x07081f68, 0x07021fb8, 0x06021fba, 0x05041fc8, 0x07021fd8, 0x04021fda, 0x07021fe8, 0x03021fea, 0x08011fec, 0x00021ff8, 0x01021ffa, 0x0b102160, 0x0c1a24b6, 0x0d1aff21 };