pub(super) const UNIINV: u16 = 0xfffe;
#[allow(dead_code)]
pub(super) const NOCHAR: u16 = 0xffff;
#[allow(dead_code)]
pub(super) const MULTIC: u16 = 0xfffe;
#[allow(dead_code)]
pub(super) const DBCINV: u16 = 0xfffd;
#[derive(Clone, Copy)]
pub(super) struct MapIndex {
pub(super) offset: usize,
pub(super) bottom: u8,
pub(super) top: u8,
pub(super) present: bool,
}
const EMPTY_INDEX: MapIndex = MapIndex {
offset: 0,
bottom: 0,
top: 0,
present: false,
};
pub(super) static JISX0213_PAIR_DECMAP_DATA: [u32; 49] = [
810234010,
810365082,
810496154,
810627226,
810758298,
816525466,
816656538,
816787610,
816918682,
817049754,
817574042,
818163866,
818426010,
838283418,
15074048,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
39060224,
39060225,
42730240,
42730241,
39387904,
39387905,
39453440,
39453441,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
UNIINV as u32,
48825061,
48562921,
];
pub(super) static JISX0213_PAIR_DECMAP: [MapIndex; 256] = [
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
MapIndex {
offset: 0,
bottom: 119,
top: 123,
present: true,
},
MapIndex {
offset: 5,
bottom: 119,
top: 126,
present: true,
},
MapIndex {
offset: 13,
bottom: 120,
top: 120,
present: true,
},
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
MapIndex {
offset: 14,
bottom: 68,
top: 102,
present: true,
},
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
EMPTY_INDEX,
];
#[derive(Clone, Copy)]
pub(super) struct PairEncodeMap {
pub(super) uniseq: u32,
pub(super) code: u16,
}
pub(super) static JISX0213_PAIR_ENCMAP: [PairEncodeMap; 46] = [
PairEncodeMap {
uniseq: 0x00e60000,
code: 0x295c,
},
PairEncodeMap {
uniseq: 0x00e60300,
code: 0x2b44,
},
PairEncodeMap {
uniseq: 0x02540000,
code: 0x2b38,
},
PairEncodeMap {
uniseq: 0x02540300,
code: 0x2b48,
},
PairEncodeMap {
uniseq: 0x02540301,
code: 0x2b49,
},
PairEncodeMap {
uniseq: 0x02590000,
code: 0x2b30,
},
PairEncodeMap {
uniseq: 0x02590300,
code: 0x2b4c,
},
PairEncodeMap {
uniseq: 0x02590301,
code: 0x2b4d,
},
PairEncodeMap {
uniseq: 0x025a0000,
code: 0x2b43,
},
PairEncodeMap {
uniseq: 0x025a0300,
code: 0x2b4e,
},
PairEncodeMap {
uniseq: 0x025a0301,
code: 0x2b4f,
},
PairEncodeMap {
uniseq: 0x028c0000,
code: 0x2b37,
},
PairEncodeMap {
uniseq: 0x028c0300,
code: 0x2b4a,
},
PairEncodeMap {
uniseq: 0x028c0301,
code: 0x2b4b,
},
PairEncodeMap {
uniseq: 0x02e50000,
code: 0x2b60,
},
PairEncodeMap {
uniseq: 0x02e502e9,
code: 0x2b66,
},
PairEncodeMap {
uniseq: 0x02e90000,
code: 0x2b64,
},
PairEncodeMap {
uniseq: 0x02e902e5,
code: 0x2b65,
},
PairEncodeMap {
uniseq: 0x304b0000,
code: 0x242b,
},
PairEncodeMap {
uniseq: 0x304b309a,
code: 0x2477,
},
PairEncodeMap {
uniseq: 0x304d0000,
code: 0x242d,
},
PairEncodeMap {
uniseq: 0x304d309a,
code: 0x2478,
},
PairEncodeMap {
uniseq: 0x304f0000,
code: 0x242f,
},
PairEncodeMap {
uniseq: 0x304f309a,
code: 0x2479,
},
PairEncodeMap {
uniseq: 0x30510000,
code: 0x2431,
},
PairEncodeMap {
uniseq: 0x3051309a,
code: 0x247a,
},
PairEncodeMap {
uniseq: 0x30530000,
code: 0x2433,
},
PairEncodeMap {
uniseq: 0x3053309a,
code: 0x247b,
},
PairEncodeMap {
uniseq: 0x30ab0000,
code: 0x252b,
},
PairEncodeMap {
uniseq: 0x30ab309a,
code: 0x2577,
},
PairEncodeMap {
uniseq: 0x30ad0000,
code: 0x252d,
},
PairEncodeMap {
uniseq: 0x30ad309a,
code: 0x2578,
},
PairEncodeMap {
uniseq: 0x30af0000,
code: 0x252f,
},
PairEncodeMap {
uniseq: 0x30af309a,
code: 0x2579,
},
PairEncodeMap {
uniseq: 0x30b10000,
code: 0x2531,
},
PairEncodeMap {
uniseq: 0x30b1309a,
code: 0x257a,
},
PairEncodeMap {
uniseq: 0x30b30000,
code: 0x2533,
},
PairEncodeMap {
uniseq: 0x30b3309a,
code: 0x257b,
},
PairEncodeMap {
uniseq: 0x30bb0000,
code: 0x253b,
},
PairEncodeMap {
uniseq: 0x30bb309a,
code: 0x257c,
},
PairEncodeMap {
uniseq: 0x30c40000,
code: 0x2544,
},
PairEncodeMap {
uniseq: 0x30c4309a,
code: 0x257d,
},
PairEncodeMap {
uniseq: 0x30c80000,
code: 0x2548,
},
PairEncodeMap {
uniseq: 0x30c8309a,
code: 0x257e,
},
PairEncodeMap {
uniseq: 0x31f70000,
code: 0x2675,
},
PairEncodeMap {
uniseq: 0x31f7309a,
code: 0x2678,
},
];