|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use JSON; |
|
|
|
$map{cmr10} = { |
|
"Main-Regular" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
0x10 => 0x131, |
|
0x11 => 0x237, |
|
0x12 => 0x2CB, |
|
0x13 => 0x2CA, |
|
0x14 => 0x2C7, |
|
0x15 => 0x2D8, |
|
0x16 => 0x2C9, |
|
0x17 => [0xB0,-125,0], |
|
0x17 => 0x02DA, |
|
0x18 => 0xB8, |
|
|
|
[0x21,0x2F] => 0x21, |
|
0x22 => 0x201D, |
|
0x27 => 0x2019, |
|
[0x30,0x39] => 0x30, |
|
[0x3A,0x3B] => 0x3A, |
|
0x3D => 0x3D, |
|
[0x3F,0x40] => 0x3F, |
|
[0x41,0x5A] => 0x41, |
|
0x5B => 0x5B, |
|
0x5C => 0x201C, |
|
[0x5D,0x5E] => 0x5D, |
|
0x5E => 0x2C6, |
|
0x5F => 0x2D9, |
|
0x60 => 0x2018, |
|
[0x61,0x7A] => 0x61, |
|
[0x7B,0x7C] => 0x2013, |
|
0x7B => [0x5F,0,-310], |
|
0x7D => 0x2DD, |
|
0x7E => [0x7E,0,-350], |
|
0x7E => 0x2DC, |
|
0x7F => 0xA8, |
|
0x19 => 0xDF, |
|
0x1A => 0xE6, |
|
0x1B => 0x153, |
|
0x1C => 0xF8, |
|
0x1D => 0xC6, |
|
0x1E => 0x152, |
|
0x1F => 0xD8, |
|
], |
|
}; |
|
|
|
$map{cmmi10} = { |
|
"Math-Italic" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
[0xB,0xE] => 0x3B1, |
|
0xF => 0x3F5, |
|
[0x10,0x18] => 0x3B6, |
|
[0x19,0x1A] => 0x3C0, |
|
[0x1B,0x1D] => 0x3C3, |
|
0x1E => 0x3D5, |
|
[0x1F,0x21] => 0x3C7, |
|
0x22 => 0x3B5, |
|
0x23 => 0x3D1, |
|
0x24 => 0x3D6, |
|
0x25 => 0x3F1, |
|
0x26 => 0x3C2, |
|
0x27 => 0x3C6, |
|
|
|
[0x30,0x39] => 0x30, |
|
[0x41,0x5A] => 0x41, |
|
[0x61,0x7A] => 0x61, |
|
|
|
0x6F => 0x3BF, |
|
0x7B => 0xE131, |
|
0x7C => 0xE237, |
|
], |
|
|
|
"Main-Regular" => [ |
|
0x28 => 0x21BC, |
|
0x29 => 0x21BD, |
|
0x2A => 0x21C0, |
|
0x2B => 0x21C1, |
|
|
|
0x2E => 0x25B9, |
|
0x2F => 0x25C3, |
|
|
|
0x3C => 0x3C, |
|
0x3D => 0x2215, |
|
0x3E => 0x3E, |
|
0x3F => 0x22C6, |
|
0x40 => 0x2202, |
|
|
|
[0x5B,0x5D] => 0x266D, |
|
0x5E => 0x2323, |
|
0x5F => 0x2322, |
|
0x60 => 0x2113, |
|
|
|
0x7D => 0x2118, |
|
0x7E => [0x20D7,-653,0], |
|
], |
|
}; |
|
|
|
$map{cmsy10} = { |
|
"Main-Regular" => [ |
|
0 => 0x2212, |
|
1 => 0x22C5, |
|
2 => 0xD7, |
|
3 => 0x2217, |
|
4 => 0xF7, |
|
5 => 0x22C4, |
|
6 => 0xB1, |
|
7 => 0x2213, |
|
[8,0xC] => 0x2295, |
|
0xD => 0x25EF, |
|
[0xE,0xF] => 0x2218, |
|
|
|
0x10 => 0x224D, |
|
0x11 => 0x2261, |
|
[0x12,0x13] => 0x2286, |
|
[0x14,0x15] => 0x2264, |
|
[0x16,0x17] => 0x2AAF, |
|
0x18 => 0x223C, |
|
0x19 => 0x2248, |
|
[0x1A,0x1B] => 0x2282, |
|
[0x1C,0x1D] => 0x226A, |
|
[0x1E,0x1F] => 0x227A, |
|
|
|
0x20 => 0x2190, |
|
0x21 => 0x2192, |
|
0x22 => 0x2191, |
|
0x23 => 0x2193, |
|
0x24 => 0x2194, |
|
0x25 => 0x2197, |
|
0x26 => 0x2198, |
|
0x27 => 0x2243, |
|
|
|
0x28 => 0x21D0, |
|
0x29 => 0x21D2, |
|
0x2A => 0x21D1, |
|
0x2B => 0x21D3, |
|
0x2C => 0x21D4, |
|
0x2D => 0x2196, |
|
0x2E => 0x2199, |
|
0x2F => 0x221D, |
|
|
|
0x30 => 0x2032, |
|
0x31 => 0x221E, |
|
0x32 => 0x2208, |
|
0x33 => 0x220B, |
|
0x34 => 0x25B3, |
|
0x35 => 0x25BD, |
|
0x36 => 0xE020, |
|
|
|
0x38 => 0x2200, |
|
0x39 => 0x2203, |
|
0x3A => 0xAC, |
|
0x3B => 0x2205, |
|
0x3C => 0x211C, |
|
0x3D => 0x2111, |
|
0x3E => 0x22A4, |
|
0x3F => 0x22A5, |
|
|
|
0x40 => 0x2135, |
|
|
|
0x5B => 0x222A, |
|
0x5C => 0x2229, |
|
0x5D => 0x228E, |
|
[0x5E,0x5F] => 0x2227, |
|
|
|
[0x60,0x61] => 0x22A2, |
|
[0x62,0x63] => 0x230A, |
|
[0x64,0x65] => 0x2308, |
|
0x66 => 0x7B, |
|
0x67 => 0x7D, |
|
[0x68,0x69] => 0x27E8, |
|
0x6A => 0x7C, |
|
0x6A => 0x2223, |
|
0x6B => 0x2225, |
|
0x6C => 0x2195, |
|
0x6D => 0x21D5, |
|
0x6E => 0x5C, |
|
0x6E => 0x2216, |
|
0x6F => 0x2240, |
|
|
|
0x70 => [0x221A,0,760], |
|
0x71 => 0x2A3F, |
|
0x72 => 0x2207, |
|
0x73 => 0x222B, |
|
0x74 => 0x2294, |
|
0x75 => 0x2293, |
|
[0x76,0x77] => 0x2291, |
|
0x78 => 0xA7, |
|
[0x79,0x7A] => 0x2020, |
|
0x7B => 0xB6, |
|
0x7C => 0x2663, |
|
0x7D => 0x2662, |
|
0x7E => 0x2661, |
|
0x7F => 0x2660, |
|
], |
|
|
|
"Caligraphic-Regular" => [ |
|
[0x41,0x5A] => 0x41, |
|
], |
|
}; |
|
|
|
$map{cmex10} = { |
|
"Size1" => [ |
|
0 => [0x28,0,810], |
|
1 => [0x29,0,810], |
|
2 => [0x5B,0,810], |
|
3 => [0x5D,0,810], |
|
4 => [0x230A,0,810], |
|
5 => [0x230B,0,810], |
|
6 => [0x2308,0,810], |
|
7 => [0x2309,0,810], |
|
8 => [0x7B,0,810], |
|
9 => [0x7D,0,810], |
|
0xA => [0x27E8,0,810], |
|
0xB => [0x27E9,0,810], |
|
0xC => [0x2223,0,606], |
|
0xD => [0x2225,0,606], |
|
0xE => [0x2F,0,810], |
|
0xF => [0x5C,0,810], |
|
|
|
0x46 => [0x2A06,0,750], |
|
0x48 => [0x222E,0,805], |
|
0x4A => [0x2A00,0,750], |
|
0x4C => [0x2A01,0,750], |
|
0x4E => [0x2A02,0,750], |
|
|
|
0x50 => [0x2211,0,750], |
|
0x51 => [0x220F,0,750], |
|
0x52 => [0x222B,0,805], |
|
0x53 => [0x22C3,0,750], |
|
0x54 => [0x22C2,0,750], |
|
0x55 => [0x2A04,0,750], |
|
0x56 => [0x22C0,0,750], |
|
0x57 => [0x22C1,0,750], |
|
|
|
0x60 => [0x2210,0,750], |
|
0x62 => 0x2C6, |
|
0x62 => [0x302,-556,0], |
|
0x65 => 0x2DC, |
|
0x65 => [0x303,-556,0], |
|
|
|
0x70 => [0x221A,0,810], |
|
0x3F => [0x23D0,0,601], |
|
0x77 => [0x2016,0,601], |
|
0x78 => [0x2191,0,600], |
|
0x79 => [0x2193,0,600], |
|
0x7E => [0x21D1,0,600], |
|
0x7F => [0x21D3,0,600], |
|
], |
|
|
|
"Size2" => [ |
|
0x10 => [0x28,0,1110], |
|
0x11 => [0x29,0,1110], |
|
0x2E => [0x2F,0,1110], |
|
0x2F => [0x5C,0,1110], |
|
0x44 => [0x27E8,0,1110], |
|
0x45 => [0x27E9,0,1110], |
|
|
|
0x47 => [0x2A06,0,950], |
|
0x49 => [0x222E,0,1360], |
|
0x4B => [0x2A00,0,950], |
|
0x4D => [0x2A01,0,950], |
|
0x4F => [0x2A02,0,950], |
|
|
|
0x58 => [0x2211,0,950], |
|
0x59 => [0x220F,0,950], |
|
0x5A => [0x222B,0,1360], |
|
0x5B => [0x22C3,0,950], |
|
0x5C => [0x22C2,0,950], |
|
0x5D => [0x2A04,0,950], |
|
0x5E => [0x22C0,0,950], |
|
0x5F => [0x22C1,0,950], |
|
0x61 => [0x2210,0,950], |
|
|
|
0x63 => 0x2C6, |
|
0x63 => [0x302,-1000,0], |
|
0x66 => 0x2DC, |
|
0x66 => [0x303,-1000,0], |
|
|
|
0x68 => [0x5B,0,1110], |
|
0x69 => [0x5D,0,1110], |
|
0x6A => [0x230A,0,1110], |
|
0x6B => [0x230B,0,1110], |
|
0x6C => [0x2308,0,1110], |
|
0x6D => [0x2309,0,1110], |
|
0x6E => [0x7B,0,1110], |
|
0x6F => [0x7D,0,1110], |
|
0x71 => [0x221A,0,1110], |
|
], |
|
|
|
"Size3" => [ |
|
0x12 => [0x28,0,1410], |
|
0x13 => [0x29,0,1410], |
|
0x14 => [0x5B,0,1410], |
|
0x15 => [0x5D,0,1410], |
|
0x16 => [0x230A,0,1410], |
|
0x17 => [0x230B,0,1410], |
|
0x18 => [0x2308,0,1410], |
|
0x19 => [0x2309,0,1410], |
|
0x1A => [0x7B,0,1410], |
|
0x1B => [0x7D,0,1410], |
|
0x1C => [0x27E8,0,1410], |
|
0x1D => [0x27E9,0,1410], |
|
0x1E => [0x2F,0,1410], |
|
0x1F => [0x5C,0,1410], |
|
0x64 => 0x2C6, |
|
0x64 => [0x302,-1444,0], |
|
0x67 => 0x2DC, |
|
0x67 => [0x303,-1444,0], |
|
0x72 => [0x221A,0,1410], |
|
], |
|
|
|
"Size4" => [ |
|
0x20 => [0x28,0,1710], |
|
0x21 => [0x29,0,1710], |
|
0x22 => [0x5B,0,1710], |
|
0x23 => [0x5D,0,1710], |
|
0x24 => [0x230A,0,1710], |
|
0x25 => [0x230B,0,1710], |
|
0x26 => [0x2308,0,1710], |
|
0x27 => [0x2309,0,1710], |
|
0x28 => [0x7B,0,1710], |
|
0x29 => [0x7D,0,1710], |
|
0x2A => [0x27E8,0,1710], |
|
0x2B => [0x27E9,0,1710], |
|
0x2C => [0x2F,0,1710], |
|
0x2D => [0x5C,0,1710], |
|
0x73 => [0x221A,0,1710], |
|
|
|
0x30 => [0x239B,0,1115], |
|
0x31 => [0x239E,0,1115], |
|
0x32 => [0x23A1,0,1115], |
|
0x33 => [0x23A4,0,1115], |
|
0x34 => [0x23A3,0,1115], |
|
0x35 => [0x23A6,0,1115], |
|
0x36 => [0x23A2,0,601], |
|
0x37 => [0x23A5,0,601], |
|
0x38 => [0x23A7,0,900], |
|
0x39 => [0x23AB,0,900], |
|
0x3A => 0x23A9, |
|
0x3B => 0x23AD, |
|
0x3C => [0x23A8,0,1150], |
|
0x3D => [0x23AC,0,1150], |
|
0x3E => [0x23AA,0,300], |
|
|
|
0x40 => [0x239D,0,1115], |
|
0x41 => [0x23A0,0,1115], |
|
0x42 => [0x239C,0,600], |
|
0x43 => [0x239F,0,600], |
|
|
|
0x74 => [0x23B7,0,915], |
|
0x75 => [0xE000,0,605], |
|
0x76 => [0xE001,0,565], |
|
[0x7A,0x7D] => 0xE150, |
|
], |
|
}; |
|
|
|
$map{cmti10} = { |
|
"Main-Italic" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
0x12 => 0x2CB, |
|
0x13 => 0x2CA, |
|
0x14 => 0x2C7, |
|
0x15 => 0x2D8, |
|
0x16 => 0x2C9, |
|
0x17 => [0xB0,-160,0], |
|
0x17 => 0x02DA, |
|
0x18 => 0xB8, |
|
|
|
[0x21,0x23] => 0x21, |
|
0x22 => 0x201D, |
|
[0x25,0x2F] => 0x25, |
|
0x27 => 0x2019, |
|
[0x30,0x39] => 0x30, |
|
[0x3A,0x3B] => 0x3A, |
|
0x3D => 0x3D, |
|
[0x3F,0x40] => 0x3F, |
|
[0x41,0x5A] => 0x41, |
|
0x5B => 0x5B, |
|
0x5C => 0x201C, |
|
[0x5D,0x5E] => 0x5D, |
|
0x5E => 0x2C6, |
|
0x5F => 0x2D9, |
|
0x60 => 0x2018, |
|
[0x61,0x7A] => 0x61, |
|
[0x7B,0x7C] => 0x2013, |
|
0x7B => [0x5F,0,-310], |
|
0x7D => 0x2DD, |
|
0x7E => [0x7E,0,-350], |
|
0x7E => 0x2DC, |
|
0x7F => 0xA8, |
|
0x19 => 0xDF, |
|
0x1A => 0xE6, |
|
0x1B => 0x153, |
|
0x1C => 0xF8, |
|
0x1D => 0xC6, |
|
0x1E => 0x152, |
|
0x1F => 0xD8, |
|
], |
|
|
|
"Main-Regular" => [ |
|
0x24 => 0xA3, |
|
], |
|
}; |
|
|
|
$map{cmbx10} = { |
|
"Main-Bold" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
0x10 => 0x131, |
|
0x11 => 0x237, |
|
0x12 => 0x2CB, |
|
0x13 => 0x2CA, |
|
0x14 => 0x2C7, |
|
0x15 => 0x2D8, |
|
0x16 => 0x2C9, |
|
0x17 => [0xB0,-147,0], |
|
0x17 => 0x02DA, |
|
0x18 => 0xB8, |
|
|
|
[0x21,0x2F] => 0x21, |
|
0x22 => 0x201D, |
|
0x27 => 0x2019, |
|
[0x30,0x39] => 0x30, |
|
[0x3A,0x3B] => 0x3A, |
|
0x3D => 0x3D, |
|
[0x3F,0x40] => 0x3F, |
|
[0x41,0x5A] => 0x41, |
|
0x5B => 0x5B, |
|
0x5C => 0x201C, |
|
[0x5D,0x5E] => 0x5D, |
|
0x5E => 0x2C6, |
|
0x5F => 0x2D9, |
|
0x60 => 0x2018, |
|
[0x61,0x7A] => 0x61, |
|
[0x7B,0x7C] => 0x2013, |
|
0x7B => [0x5F,0,-310], |
|
0x7D => 0x2DD, |
|
0x7E => [0x7E,0,-350], |
|
0x7E => 0x2DC, |
|
0x7F => 0xA8, |
|
0x19 => 0xDF, |
|
0x1A => 0xE6, |
|
0x1B => 0x153, |
|
0x1C => 0xF8, |
|
0x1D => 0xC6, |
|
0x1E => 0x152, |
|
0x1F => 0xD8, |
|
], |
|
}; |
|
|
|
$map{cmbxti10} = { |
|
"Main-BoldItalic" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
0x10 => 0x131, |
|
0x11 => 0x237, |
|
0x12 => 0x2CB, |
|
0x13 => 0x2CA, |
|
0x14 => 0x2C7, |
|
0x15 => 0x2D8, |
|
0x16 => 0x2C9, |
|
0x17 => [0xB0,-160,0], |
|
0x17 => 0x02DA, |
|
0x18 => 0xB8, |
|
|
|
[0x21,0x23] => 0x21, |
|
0x22 => 0x201D, |
|
[0x25,0x2F] => 0x25, |
|
0x27 => 0x2019, |
|
[0x30,0x39] => 0x30, |
|
[0x3A,0x3B] => 0x3A, |
|
0x3D => 0x3D, |
|
[0x3F,0x40] => 0x3F, |
|
[0x41,0x5A] => 0x41, |
|
0x5B => 0x5B, |
|
0x5C => 0x201C, |
|
[0x5D,0x5E] => 0x5D, |
|
0x5E => 0x2C6, |
|
0x5F => 0x2D9, |
|
0x60 => 0x2018, |
|
[0x61,0x7A] => 0x61, |
|
[0x7B,0x7C] => 0x2013, |
|
0x7B => [0x5F,0,-310], |
|
0x7D => 0x2DD, |
|
0x7E => [0x7E,0,-350], |
|
0x7E => 0x2DC, |
|
0x7F => 0xA8, |
|
0x19 => 0xDF, |
|
0x1A => 0xE6, |
|
0x1B => 0x153, |
|
0x1C => 0xF8, |
|
0x1D => 0xC6, |
|
0x1E => 0x152, |
|
0x1F => 0xD8, |
|
], |
|
|
|
"Main-Bold" => [ |
|
0x24 => 0xA3, |
|
], |
|
}; |
|
|
|
$map{cmmib10} = { |
|
"Math-BoldItalic" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
[0xB,0xE] => 0x3B1, |
|
0xF => 0x3F5, |
|
[0x10,0x18] => 0x3B6, |
|
[0x19,0x1A] => 0x3C0, |
|
[0x1B,0x1D] => 0x3C3, |
|
0x1E => 0x3D5, |
|
[0x1F,0x21] => 0x3C7, |
|
0x22 => 0x3B5, |
|
0x23 => 0x3D1, |
|
0x24 => 0x3D6, |
|
0x25 => 0x3F1, |
|
0x26 => 0x3C2, |
|
0x27 => 0x3C6, |
|
|
|
[0x41,0x5A] => 0x41, |
|
[0x61,0x7A] => 0x61, |
|
[0x30,0x39] => 0x30, |
|
|
|
0x6F => 0x3BF, |
|
0x7B => 0xE131, |
|
0x7C => 0xE237, |
|
], |
|
|
|
"Main-Bold" => [ |
|
0x28 => 0x21BC, |
|
0x29 => 0x21BD, |
|
0x2A => 0x21C0, |
|
0x2B => 0x21C1, |
|
|
|
0x2E => 0x25B9, |
|
0x2F => 0x25C3, |
|
|
|
0x3C => 0x3C, |
|
0x3D => 0x2215, |
|
0x3E => 0x3E, |
|
0x3F => 0x22C6, |
|
0x40 => 0x2202, |
|
|
|
[0x5B,0x5D] => 0x266D, |
|
0x5E => 0x2323, |
|
0x5F => 0x2322, |
|
0x60 => 0x2113, |
|
0x68 => 0x210F, |
|
|
|
0x7D => 0x2118, |
|
0x7E => [0x20D7,-729,0], |
|
], |
|
}; |
|
|
|
$map{cmbsy10} = { |
|
"Main-Bold" => [ |
|
0 => 0x2212, |
|
1 => 0x22C5, |
|
2 => 0xD7, |
|
3 => 0x2217, |
|
4 => 0xF7, |
|
5 => 0x22C4, |
|
6 => 0xB1, |
|
7 => 0x2213, |
|
[8,0xC] => 0x2295, |
|
0xD => 0x25EF, |
|
[0xE,0xF] => 0x2218, |
|
|
|
0x10 => 0x224D, |
|
0x11 => 0x2261, |
|
[0x12,0x13] => 0x2286, |
|
[0x14,0x15] => 0x2264, |
|
[0x16,0x17] => 0x2AAF, |
|
0x18 => 0x223C, |
|
0x19 => 0x2248, |
|
[0x1A,0x1B] => 0x2282, |
|
[0x1C,0x1D] => 0x226A, |
|
[0x1E,0x1F] => 0x227A, |
|
|
|
0x20 => 0x2190, |
|
0x21 => 0x2192, |
|
0x22 => 0x2191, |
|
0x23 => 0x2193, |
|
0x24 => 0x2194, |
|
0x25 => 0x2197, |
|
0x26 => 0x2198, |
|
0x27 => 0x2243, |
|
|
|
0x28 => 0x21D0, |
|
0x29 => 0x21D2, |
|
0x2A => 0x21D1, |
|
0x2B => 0x21D3, |
|
0x2C => 0x21D4, |
|
0x2D => 0x2196, |
|
0x2E => 0x2199, |
|
0x2F => 0x221D, |
|
|
|
0x30 => 0x2032, |
|
0x31 => 0x221E, |
|
0x32 => 0x2208, |
|
0x33 => 0x220B, |
|
0x34 => 0x25B3, |
|
0x35 => 0x25BD, |
|
0x36 => 0xE020, |
|
|
|
0x38 => 0x2200, |
|
0x39 => 0x2203, |
|
0x3A => 0xAC, |
|
0x3B => 0x2205, |
|
0x3C => 0x211C, |
|
0x3D => 0x2111, |
|
0x3E => 0x22A4, |
|
0x3F => 0x22A5, |
|
|
|
0x40 => 0x2135, |
|
|
|
0x5B => 0x222A, |
|
0x5C => 0x2229, |
|
0x5D => 0x228E, |
|
[0x5E,0x5F] => 0x2227, |
|
|
|
[0x60,0x61] => 0x22A2, |
|
[0x62,0x63] => 0x230A, |
|
[0x64,0x65] => 0x2308, |
|
0x66 => 0x7B, |
|
0x67 => 0x7D, |
|
[0x68,0x69] => 0x27E8, |
|
0x6A => 0x7C, |
|
0x6A => 0x2223, |
|
0x6B => 0x2225, |
|
0x6C => 0x2195, |
|
0x6D => 0x21D5, |
|
0x6E => 0x5C, |
|
0x6E => 0x2216, |
|
0x6F => 0x2240, |
|
|
|
0x70 => [0x221A,0,760], |
|
0x71 => 0x2A3F, |
|
0x72 => 0x2207, |
|
0x73 => 0x222B, |
|
0x74 => 0x2294, |
|
0x75 => 0x2293, |
|
[0x76,0x77] => 0x2291, |
|
|
|
[0x79,0x7A] => 0x2020, |
|
|
|
0x7C => 0x2663, |
|
0x7D => 0x2662, |
|
0x7E => 0x2661, |
|
0x7F => 0x2660, |
|
], |
|
}; |
|
|
|
$map{msam10} = { |
|
"Main-Regular" => [ |
|
0x5C => 0x2220, |
|
], |
|
|
|
"Main-Bold" => [ |
|
0x5C => 0x2220, |
|
], |
|
|
|
"AMS" => [ |
|
0x00 => 0x22A1, |
|
0x01 => 0x229E, |
|
0x02 => 0x22A0, |
|
0x03 => 0x25A1, |
|
0x04 => 0x25A0, |
|
0x05 => 0x22C5, |
|
0x06 => 0x25CA, |
|
0x07 => 0x29EB, |
|
0x08 => 0x21BB, |
|
0x09 => 0x21BA, |
|
0x0A => 0x21CC, |
|
0x0B => 0x21CB, |
|
0x0C => 0x229F, |
|
0x0D => 0x22A9, |
|
0x0E => 0x22AA, |
|
0x0F => 0x22A8, |
|
0x10 => 0x21A0, |
|
0x11 => 0x219E, |
|
0x12 => 0x21C7, |
|
0x13 => 0x21C9, |
|
0x14 => 0x21C8, |
|
0x15 => 0x21CA, |
|
0x16 => 0x21BE, |
|
0x17 => 0x21C2, |
|
0x18 => 0x21BF, |
|
0x19 => 0x21C3, |
|
0x1A => 0x21A3, |
|
0x1B => 0x21A2, |
|
0x1C => 0x21C6, |
|
0x1D => 0x21C4, |
|
0x1E => 0x21B0, |
|
0x1F => 0x21B1, |
|
0x20 => 0x21DD, |
|
0x21 => 0x21AD, |
|
0x22 => 0x21AB, |
|
0x23 => 0x21AC, |
|
0x24 => 0x2257, |
|
0x25 => 0x227F, |
|
0x26 => 0x2273, |
|
0x27 => 0x2A86, |
|
0x28 => 0x22B8, |
|
0x29 => 0x2234, |
|
0x2A => 0x2235, |
|
0x2B => 0x2251, |
|
0x2C => 0x225C, |
|
0x2D => 0x227E, |
|
0x2E => 0x2272, |
|
0x2F => 0x2A85, |
|
0x30 => 0x2A95, |
|
0x31 => 0x2A96, |
|
0x32 => 0x22DE, |
|
0x33 => 0x22DF, |
|
0x34 => 0x227C, |
|
0x35 => 0x2266, |
|
0x36 => 0x2A7D, |
|
0x37 => 0x2276, |
|
0x38 => 0x2035, |
|
0x39 => 0x2212, |
|
0x3A => 0x2253, |
|
0x3B => 0x2252, |
|
0x3C => 0x227D, |
|
0x3D => 0x2267, |
|
0x3E => 0x2A7E, |
|
0x3F => 0x2277, |
|
0x40 => 0x228F, |
|
0x41 => 0x2290, |
|
0x42 => 0x22B3, |
|
0x43 => 0x22B2, |
|
0x44 => 0x22B5, |
|
0x45 => 0x22B4, |
|
0x46 => 0x2605, |
|
0x47 => 0x226C, |
|
0x48 => 0x25BC, |
|
0x49 => 0x25B6, |
|
0x4A => 0x25C0, |
|
0x4B => 0x2192, |
|
0x4C => 0x2190, |
|
0x4D => 0x25B3, |
|
0x4E => 0x25B2, |
|
0x4F => 0x25BD, |
|
0x50 => 0x2256, |
|
0x51 => 0x22DA, |
|
0x52 => 0x22DB, |
|
0x53 => 0x2A8B, |
|
0x54 => 0x2A8C, |
|
0x55 => 0x00A5, |
|
0x56 => 0x21DB, |
|
0x57 => 0x21DA, |
|
0x58 => 0x2713, |
|
0x59 => 0x22BB, |
|
0x5A => 0x22BC, |
|
0x5B => 0x2A5E, |
|
0x5C => 0x2220, |
|
0x5D => 0x2221, |
|
0x5E => 0x2222, |
|
0x5F => 0x221D, |
|
0x60 => 0x2323, |
|
0x61 => 0x2322, |
|
0x62 => 0x22D0, |
|
0x63 => 0x22D1, |
|
0x64 => 0x22D3, |
|
0x65 => 0x22D2, |
|
0x66 => 0x22CF, |
|
0x67 => 0x22CE, |
|
0x68 => 0x22CB, |
|
0x69 => 0x22CC, |
|
0x6A => 0x2AC5, |
|
0x6B => 0x2AC6, |
|
0x6C => 0x224F, |
|
0x6D => 0x224E, |
|
0x6E => 0x22D8, |
|
0x6F => 0x22D9, |
|
0x70 => 0x250C, |
|
0x71 => 0x2510, |
|
0x72 => 0x00AE, |
|
0x73 => 0x24C8, |
|
0x74 => 0x22D4, |
|
0x75 => 0x2214, |
|
0x76 => 0x223D, |
|
0x77 => 0x22CD, |
|
0x78 => 0x2514, |
|
0x79 => 0x2518, |
|
0x7A => 0x2720, |
|
0x7B => 0x2201, |
|
0x7C => 0x22BA, |
|
0x7D => 0x229A, |
|
0x7E => 0x229B, |
|
0x7F => 0x229D, |
|
], |
|
}; |
|
|
|
$map{msbm10} = { |
|
"Size4" => [ |
|
0x5B => 0x2C6, |
|
0x5B => [0x302,-1889,0], |
|
0x5D => 0x2DC, |
|
0x5D => [0x303,-1889,0], |
|
], |
|
|
|
"Main-Regular" => [ |
|
0x7E => 0x210F, |
|
], |
|
|
|
"Main-Italic" => [ |
|
0x7D => 0x210F, |
|
], |
|
|
|
"AMS" => [ |
|
0x00 => 0xE00C, |
|
0x01 => 0xE00D, |
|
0x02 => 0x2270, |
|
0x03 => 0x2271, |
|
0x04 => 0x226E, |
|
0x05 => 0x226F, |
|
0x06 => 0x2280, |
|
0x07 => 0x2281, |
|
0x08 => 0x2268, |
|
0x09 => 0x2269, |
|
0x0A => 0xE010, |
|
0x0B => 0xE00F, |
|
0x0C => 0x2A87, |
|
0x0D => 0x2A88, |
|
0x0E => 0x22E0, |
|
0x0F => 0x22E1, |
|
0x10 => 0x22E8, |
|
0x11 => 0x22E9, |
|
0x12 => 0x22E6, |
|
0x13 => 0x22E7, |
|
0x14 => 0xE011, |
|
0x15 => 0xE00E, |
|
0x16 => 0x2AB5, |
|
0x17 => 0x2AB6, |
|
0x18 => 0x2AB9, |
|
0x19 => 0x2ABA, |
|
0x1A => 0x2A89, |
|
0x1B => 0x2A8A, |
|
0x1C => 0x2241, |
|
0x1D => 0x2246, |
|
0x1E => 0x2571, |
|
0x1F => 0x2572, |
|
0x20 => 0xE01A, |
|
0x21 => 0xE01B, |
|
0x22 => 0xE016, |
|
0x23 => 0xE018, |
|
0x24 => 0x2ACB, |
|
0x25 => 0x2ACC, |
|
0x26 => 0xE017, |
|
0x27 => 0xE019, |
|
0x28 => 0x228A, |
|
0x29 => 0x228B, |
|
0x2A => 0x2288, |
|
0x2B => 0x2289, |
|
0x2C => 0x2226, |
|
0x2D => 0x2224, |
|
0x2E => 0xE006, |
|
0x2F => 0xE007, |
|
0x30 => 0x22AC, |
|
0x31 => 0x22AE, |
|
0x32 => 0x22AD, |
|
0x33 => 0x22AF, |
|
0x34 => 0x22ED, |
|
0x35 => 0x22EC, |
|
0x36 => 0x22EA, |
|
0x37 => 0x22EB, |
|
0x38 => 0x219A, |
|
0x39 => 0x219B, |
|
0x3A => 0x21CD, |
|
0x3B => 0x21CF, |
|
0x3C => 0x21CE, |
|
0x3D => 0x21AE, |
|
0x3E => 0x22C7, |
|
0x3F => 0x2205, |
|
0x40 => 0x2204, |
|
|
|
[0x41,0x5A] => 0x41, |
|
0x5C => 0x2C6, |
|
0x5C => [0x302,-2333,0], |
|
0x5E => 0x2DC, |
|
0x5E => [0x303,-2333,0], |
|
|
|
0x60 => 0x2132, |
|
0x61 => 0x2141, |
|
0x66 => 0x2127, |
|
0x67 => 0x00F0, |
|
0x68 => 0x2242, |
|
0x69 => 0x2136, |
|
0x6A => 0x2137, |
|
0x6B => 0x2138, |
|
0x6C => 0x22D6, |
|
0x6D => 0x22D7, |
|
0x6E => 0x22C9, |
|
0x6F => 0x22CA, |
|
0x70 => 0x2223, |
|
0x71 => 0x2225, |
|
0x72 => 0x2216, |
|
0x73 => 0x223C, |
|
0x74 => 0x2248, |
|
0x75 => 0x224A, |
|
0x76 => 0x2AB8, |
|
0x77 => 0x2AB7, |
|
0x78 => 0x21B6, |
|
0x79 => 0x21B7, |
|
0x7A => 0x03DD, |
|
0x7B => 0x03F0, |
|
0x7A => 0xE008, |
|
0x7B => 0xE009, |
|
0x7C => 0x006B, |
|
0x7D => 0x210F, |
|
0x7E => 0x0127, |
|
0x7F => 0x220D, |
|
], |
|
}; |
|
|
|
$map{eufm10} = { |
|
"Fraktur-Regular" => [ |
|
[0,7] => 0xE300, |
|
0x12 => 0x2018, |
|
0x13 => 0x2019, |
|
0x21 => 0x21, |
|
[0x26,0x2F] => 0x26, |
|
[0x30,0x39] => 0x30, |
|
[0x3A,0x3B] => 0x3A, |
|
0x3D => 0x3D, |
|
0x3F => 0x3F, |
|
[0x41,0x5A] => 0x41, |
|
0x5B => 0x5B, |
|
[0x5D,0x5E] => 0x5D, |
|
[0x61,0x7A] => 0x61, |
|
0x7D => 0x22, |
|
], |
|
}; |
|
|
|
$map{cmtt10} = { |
|
"Typewriter-Regular" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
0xD => 0x2032, |
|
|
|
0x10 => 0x131, |
|
0x11 => 0x237, |
|
0x12 => 0x2CB, |
|
0x13 => 0x2CA, |
|
0x14 => 0x2C7, |
|
0x15 => 0x2D8, |
|
0x16 => 0x2C9, |
|
0x17 => 0xB0, |
|
0x17 => 0x02DA, |
|
0x18 => 0xB8, |
|
0x20 => 0x2423, |
|
|
|
[0x21,0x7F] => 0x21, |
|
|
|
0x27 => 0x2018, |
|
0x60 => 0x2019, |
|
0x5E => [0x302,-525,0], |
|
0x7E => [0x303,-525,0], |
|
0x7F => [0x308,-525,0], |
|
], |
|
}; |
|
|
|
$map{rsfs10} = { |
|
"Script-Regular" => [ |
|
[0x41,0x5A] => 0x41, |
|
], |
|
}; |
|
|
|
$map{cmssbx10} = { |
|
"SansSerif-Bold" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
0x10 => 0x131, |
|
0x11 => 0x237, |
|
0x13 => 0xB4, |
|
0x14 => 0x2C7, |
|
0x15 => 0x2D8, |
|
0x16 => 0x2C9, |
|
0x17 => [0xB0,-58,0], |
|
0x17 => 0x02DA, |
|
0x18 => 0xB8, |
|
|
|
[0x21,0x2F] => 0x21, |
|
0x22 => 0x201D, |
|
0x27 => 0x2019, |
|
[0x30,0x39] => 0x30, |
|
[0x3A,0x3B] => 0x3A, |
|
0x3D => 0x3D, |
|
[0x3F,0x40] => 0x3F, |
|
[0x41,0x5A] => 0x41, |
|
0x5B => 0x5B, |
|
0x5C => 0x201C, |
|
[0x5D,0x5E] => 0x5D, |
|
0x5E => 0x2C6, |
|
0x5F => 0x2D9, |
|
0x60 => 0x2018, |
|
[0x61,0x7A] => 0x61, |
|
[0x7B,0x7C] => 0x2013, |
|
0x7B => [0x5F,0,-350], |
|
0x7D => 0x2DD, |
|
0x7E => [0x7E,0,-350], |
|
0x7E => 0x2DC, |
|
0x7F => 0xA8, |
|
], |
|
}; |
|
|
|
$map{cmss10} = { |
|
"SansSerif-Regular" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
0x10 => 0x131, |
|
0x11 => 0x237, |
|
0x12 => 0x2CB, |
|
0x13 => 0x2CA, |
|
0x14 => 0x2C7, |
|
0x15 => 0x2D8, |
|
0x16 => 0x2C9, |
|
0x17 => [0xB0,-142,0], |
|
0x17 => 0x02DA, |
|
0x18 => 0xB8, |
|
|
|
[0x21,0x2F] => 0x21, |
|
0x22 => 0x201D, |
|
0x27 => 0x2019, |
|
[0x30,0x39] => 0x30, |
|
[0x3A,0x3B] => 0x3A, |
|
0x3D => 0x3D, |
|
[0x3F,0x40] => 0x3F, |
|
[0x41,0x5A] => 0x41, |
|
0x5B => 0x5B, |
|
0x5C => 0x201C, |
|
[0x5D,0x5E] => 0x5D, |
|
0x5E => 0x2C6, |
|
0x5F => 0x2D9, |
|
0x60 => 0x2018, |
|
[0x61,0x7A] => 0x61, |
|
[0x7B,0x7C] => 0x2013, |
|
0x7B => [0x5F,0,-350], |
|
0x7D => 0x2DD, |
|
0x7E => [0x7E,0,-350], |
|
0x7E => 0x2DC, |
|
0x7F => 0xA8, |
|
], |
|
}; |
|
|
|
$map{cmssi10} = { |
|
"SansSerif-Italic" => [ |
|
[0,1] => 0x393, |
|
2 => 0x398, |
|
3 => 0x39B, |
|
4 => 0x39E, |
|
5 => 0x3A0, |
|
6 => 0x3A3, |
|
[7,8] => 0x3A5, |
|
[9,0xA] => 0x3A8, |
|
|
|
0x10 => 0x131, |
|
0x11 => 0x237, |
|
0x12 => 0x2CB, |
|
0x13 => 0x2CA, |
|
0x14 => 0x2C7, |
|
0x15 => 0x2D8, |
|
0x16 => 0x2C9, |
|
0x17 => [0xB0,-113,0], |
|
0x17 => 0x02DA, |
|
0x18 => 0xB8, |
|
|
|
[0x21,0x2F] => 0x21, |
|
0x22 => 0x201D, |
|
0x27 => 0x2019, |
|
[0x30,0x39] => 0x30, |
|
[0x3A,0x3B] => 0x3A, |
|
0x3D => 0x3D, |
|
[0x3F,0x40] => 0x3F, |
|
[0x41,0x5A] => 0x41, |
|
0x5B => 0x5B, |
|
0x5C => 0x201C, |
|
[0x5D,0x5E] => 0x5D, |
|
0x5E => 0x2C6, |
|
0x5F => 0x2D9, |
|
0x60 => 0x2018, |
|
[0x61,0x7A] => 0x61, |
|
[0x7B,0x7C] => 0x2013, |
|
0x7B => [0x5F,0,-350], |
|
0x7D => 0x2DD, |
|
0x7E => [0x7E,0,-350], |
|
0x7E => 0x2DC, |
|
0x7F => 0xA8, |
|
], |
|
}; |
|
|
|
foreach $cmfont (keys %map) { |
|
foreach $mjfont (keys %{$map{$cmfont}}) { |
|
$style = $mjfont; $style =~ s/.*?(-|$)//; $style = "Regular" unless $style; |
|
$family = $mjfont; $family =~ s/-.*//; |
|
$fontname = "$family-$style"; |
|
@{$reverse{$fontname}{$cmfont}} = @{$map{$cmfont}{$mjfont}}; |
|
} |
|
} |
|
|
|
my %output; |
|
|
|
sub add_to_output { |
|
my ($mjfont,$cmfont,$from,$to) = @_; |
|
|
|
my $xshift = 0, $yshift = 0; |
|
|
|
if (ref($to) eq "ARRAY") { |
|
$xshift = $to->[1]; |
|
$yshift = $to->[2]; |
|
$to = $to->[0]; |
|
} |
|
|
|
$data = { |
|
"font" => $cmfont, |
|
"char" => $from, |
|
"xshift" => $xshift, |
|
"yshift" => $yshift |
|
}; |
|
|
|
if (defined($output{$mjfont}{$to})) { |
|
print STDERR "Duplicate mapping $to for $mjfont: " . |
|
$output{$mjfont}{$to}{font} . ":" . |
|
$output{$mjfont}{$to}{char} . " vs. $cmfont:$from\n"; |
|
die "Duplicate mapping!"; |
|
} |
|
$output{$mjfont}{$to} = $data; |
|
} |
|
|
|
foreach $mjfont (keys %reverse) { |
|
foreach $cmfont (keys %{$reverse{$mjfont}}) { |
|
@remap = @{$reverse{$mjfont}{$cmfont}}; |
|
while (defined($item = shift(@remap))) { |
|
$remap = shift(@remap); |
|
|
|
if (ref($item) eq "ARRAY") { |
|
foreach $from ($item->[0]...$item->[1]) { |
|
$to = $from - $item->[0] + $remap; |
|
add_to_output($mjfont, $cmfont, $from, $to); |
|
} |
|
} else { |
|
add_to_output($mjfont, $cmfont, $item, $remap); |
|
} |
|
} |
|
} |
|
} |
|
|
|
print(encode_json(\%output)); |
|
|