# font description tuple : # width or 0 for variable # heiht # margin-left # margin-top # margin-right ppn_font_cas = ( ((0, 10, 1, 0, 1), ( (0,), (0, 447, 0, 0), # ! (11, 7, 0, 11, 7, 0), # " (64, 452, 124, 455, 124, 71, 4), # # (140, 274, 1023, 290, 196), # $ (6, 393, 102, 24, 198, 288, 192), # % (192, 302, 273, 297, 198, 288, 272), # & (11, 7, 0), # ' (120, 390, 513, 0), # ( (513, 390, 120, 0), # ) (68, 40, 254, 40, 68, 0), # * (16, 16, 16, 254, 16, 16, 16), # + (384, 896, 0), # , (16, 16, 16, 16, 16, 16, 16), # - (384, 384, 0), # . (384, 96, 24, 6, 0), # / (254, 257, 257, 257, 257, 254, 0), # 0 (0, 258, 258, 511, 256, 256, 0), # 1 (390, 321, 289, 289, 273, 398, 0), # 2 (198, 257, 273, 273, 273, 238, 0), # 3 (96, 88, 70, 321, 511, 320, 0), # 4 (159, 265, 265, 265, 265, 241, 0), # 5 (254, 273, 273, 273, 273, 226, 0), # 6 (7, 1, 449, 49, 13, 3, 0), # 7 (238, 273, 273, 273, 273, 238, 0), # 8 (142, 273, 273, 273, 273, 254, 0), # 9 (204, 204, 0), # : (716, 460, 0), # ; (16, 40, 68, 130, 0), # < (40, 40, 40, 40, 40, 40, 40), # = (130, 68, 40, 16, 0), # > (6, 1, 433, 9, 6, 0), # ? (124, 130, 313, 325, 381, 322, 60), # @ (384, 112, 76, 67, 76, 112, 384), # A (257, 511, 273, 273, 273, 273, 238), # B (124, 130, 257, 257, 257, 130, 71), # C (257, 511, 257, 257, 257, 130, 124), # D (257, 511, 273, 273, 273, 313, 387), # E (257, 511, 273, 17, 17, 57, 3), # F (124, 130, 257, 273, 273, 146, 503), # G (257, 511, 273, 16, 273, 511, 257), # H (257, 257, 511, 257, 257), # I (192, 256, 257, 257, 255, 1), # J (257, 511, 273, 8, 309, 451, 257), # K (257, 511, 257, 256, 256, 256, 448), # L (257, 511, 262, 56, 192, 56, 262, 511, 257), # M (257, 511, 262, 24, 97, 511, 1), # N (124, 130, 257, 257, 257, 130, 124), # O (257, 511, 273, 17, 17, 17, 14), # P (124, 130, 321, 321, 321, 130, 380), # Q (257, 511, 273, 17, 49, 209, 270), # R (454, 137, 273, 273, 290, 199), # S (3, 1, 257, 511, 257, 1, 3), # T (1, 255, 257, 256, 257, 255, 1), # U (1, 15, 113, 384, 113, 15, 1), # V (1, 63, 449, 56, 7, 56, 449, 63, 1), # W (257, 387, 365, 16, 365, 387, 257), # X (1, 7, 281, 480, 281, 7, 1), # Y (259, 385, 353, 273, 269, 387), # Z (1023, 513, 513, 0), # [ (6, 24, 96, 384, 0), # \ (513, 513, 1023, 0), # ] (4, 2, 1, 2, 4, 0), # ^ (256, 256, 256, 256, 256, 256, 256), # _ (1, 2, 4, 0), # ` (200, 296, 296, 296, 240, 256), # a (1, 511, 144, 264, 264, 240), # b (240, 264, 264, 264, 144), # c (240, 264, 264, 145, 511, 256), # d (240, 296, 296, 296, 176), # e (264, 510, 265, 265, 2), # f (336, 680, 680, 680, 656, 264), # g (257, 511, 272, 8, 264, 496, 256), # h (264, 507, 256), # i (128, 256, 264, 251, 0), # j (257, 511, 320, 40, 344, 392, 256), # k (257, 511, 256), # l (264, 504, 272, 8, 496, 16, 264, 496, 256), # m (264, 504, 272, 8, 264, 496, 256), # n (240, 264, 264, 264, 240), # o (520, 1016, 592, 136, 136, 112), # p (112, 136, 136, 592, 1016, 520), # q (264, 504, 272, 8, 16), # r (144, 296, 296, 328, 144), # s (8, 8, 254, 264, 264, 128), # t (8, 248, 256, 256, 136, 504, 256), # u (8, 56, 200, 256, 200, 56, 8), # v (8, 120, 392, 96, 24, 96, 392, 120, 8), # w (264, 144, 96, 144, 264), # x (264, 536, 616, 384, 104, 24, 8), # y (280, 392, 328, 296, 408), # z (48, 462, 513, 0), # { (0, 1023, 0), # | (513, 462, 48, 0), # } (16, 8, 8, 16, 32, 32, 16), # ~ )), ((0, 17, 1, 0, 2),( (0, 0, 0, 0, 0), (0, 15358, 15358, 0), # ! (6, 47, 63, 30, 0, 6, 47, 63, 30, 0), # " (1584, 15920, 16368, 2046, 1598, 15920, 16368, 2046, 1598, 1584), # # (6392, 14844, 12684, 131071, 131071, 12684, 16284, 7960), # $ (124, 254, 198, 12542, 15484, 3840, 992, 248, 7966, 16262, 12672, 16256, 7936), # % (7936, 16316, 14846, 12518, 12774, 15294, 16156, 7872, 15296, 12736, 12480), # & (6, 47, 63, 30, 0), # ' (0, 2016, 8184, 30750, 57351, 49155), # ( (49155, 57351, 30750, 8184, 2016, 0), # ) (3120, 3696, 2016, 960, 16380, 16380, 960, 2016, 3696, 3120), # * (384, 384, 384, 384, 8184, 8184, 384, 384, 384, 384), # + (6144, 48128, 64512, 30720, 0), # , (384, 384, 384, 384, 384, 384, 384, 384, 384, 384), # - (0, 0, 0, 6144, 15360, 15360, 6144, 0, 0, 0), # . (12288, 15360, 3840, 992, 248, 30, 6), # / (0, 2032, 8188, 7196, 12294, 12294, 12294, 7196, 8188, 2032), # 0 (0, 0, 12300, 12300, 16382, 16382, 12288, 12288, 0, 0), # 1 (0, 12344, 14460, 15470, 15878, 14086, 13190, 12750, 12540, 12408), # 2 (0, 3096, 7196, 14350, 12486, 12486, 12486, 14830, 8188, 3896), # 3 (3072, 3840, 4032, 3568, 3196, 3102, 16382, 16382, 3072, 3072), # 4 (0, 3582, 7678, 14534, 12390, 12390, 12390, 14566, 8134, 3968), # 5 (0, 4088, 8188, 14542, 12390, 12390, 12390, 14574, 8156, 3992), # 6 (0, 30, 30, 6, 14342, 16134, 1990, 246, 62, 14), # 7 (0, 3640, 8060, 14830, 12486, 12486, 12486, 14830, 8124, 3864), # 8 (0, 3320, 7676, 15246, 13062, 13062, 13062, 14734, 8188, 4088), # 9 (0, 3096, 7740, 7740, 3096, 0), # : (0, 3096, 24124, 32316, 15384, 0), # ; (384, 960, 2016, 3696, 7224, 14364, 12300), # < (1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632), # = (12300, 14364, 7224, 3696, 2016, 960, 384), # > (56, 124, 108, 6, 15110, 15302, 236, 124, 56), # ? (2032, 8188, 6156, 13286, 14326, 13878, 13302, 14326, 13836, 14332, 1008), # @ (12288, 15872, 16320, 13304, 830, 782, 830, 13304, 16320, 15872, 12288), # A (12294, 16382, 16382, 12486, 12486, 12486, 12486, 14830, 16380, 7992), # B (992, 4088, 7196, 14350, 12294, 12294, 12294, 14348, 7198, 3102), # C (12294, 16382, 16382, 12294, 12294, 12294, 14350, 7196, 4088, 992), # D (12294, 16382, 16382, 12486, 12486, 12486, 12774, 12774, 14350, 14350), # E (12294, 16382, 16382, 12486, 198, 198, 486, 486, 14, 14), # F (992, 4088, 7196, 14350, 12294, 12294, 14726, 7564, 16286, 16286), # G (12294, 16382, 16382, 12486, 192, 192, 12486, 16382, 16382, 12294), # H (12294, 12294, 16382, 16382, 12294, 12294), # I (3584, 7680, 14336, 12288, 12294, 14342, 8190, 4094, 6, 6), # J (12294, 16382, 16382, 12742, 992, 1904, 15934, 15390, 14350, 12294), # K (12294, 16382, 16382, 12294, 12288, 12288, 12288, 12288, 15360, 15360), # L (12294, 16382, 16382, 12412, 496, 1984, 1984, 496, 12412, 16382, 16382, 12294), # M (12294, 16382, 16382, 12408, 480, 1920, 7686, 16382, 16382, 6), # N (2032, 8188, 7196, 12294, 12294, 12294, 12294, 12294, 7196, 8188, 2032), # O (12294, 16382, 16382, 12678, 390, 390, 390, 462, 252, 120), # P (992, 4088, 7196, 15886, 13830, 13830, 32270, 64540, 53240, 25568), # Q (12294, 16382, 16382, 12678, 390, 902, 3974, 7886, 14588, 12408), # R (15416, 15484, 6382, 12486, 12486, 12678, 15244, 7966, 3614), # S (14, 14, 6, 12294, 16382, 16382, 12294, 6, 14, 14), # T (6, 4094, 8190, 14342, 12288, 12288, 14342, 8190, 4094, 6), # U (6, 62, 510, 4038, 15872, 15872, 4038, 510, 62, 6), # V (6, 1022, 16382, 16134, 1984, 504, 504, 1984, 16134, 16382, 1022, 6), # W (12294, 14350, 15934, 14198, 992, 992, 14198, 15934, 14350, 12294), # X (6, 30, 126, 12774, 16256, 16256, 12774, 126, 30, 6), # Y (12302, 15374, 15878, 14214, 13254, 12534, 12414, 14366, 14342), # Z (0, 65535, 65535, 49155, 49155), # [ (6, 30, 248, 992, 3840, 15360, 12288), # \ (49155, 49155, 65535, 65535, 0), # ] (48, 56, 28, 14, 14, 28, 56, 48), # ^ (12288, 12288, 12288, 12288, 12288, 12288, 12288, 12288, 12288, 12288), # _ (6, 14, 28, 24), # ` (7360, 16096, 14176, 13152, 13152, 13152, 8160, 16320, 12288), # a (6, 16383, 16383, 6336, 12384, 12384, 12384, 14560, 8128, 3968), # b (3968, 8128, 14560, 12384, 12384, 12384, 14560, 6336), # c (3968, 8128, 14560, 12384, 12384, 12384, 14534, 8191, 16383, 12288), # d (3968, 8128, 16096, 13920, 13920, 14048, 14272, 14208), # e (12384, 12384, 16380, 16382, 12390, 12390, 12398, 12), # f (60896, 131056, 106288, 105264, 105264, 111600, 127456, 57392, 48), # g (12294, 16383, 16383, 12480, 96, 96, 12512, 16352, 16320, 12288), # h (12384, 12384, 16366, 16366, 12288, 12288), # i (49152, 114688, 98400, 98400, 131054, 65518, 0), # j (12294, 16383, 16383, 13824, 864, 14304, 15584, 14432, 12288), # k (12288, 12294, 16383, 16383, 12288, 12288), # l (12384, 16352, 16320, 224, 12384, 16352, 16320, 224, 12384, 16352, 16320, 12288), # m (12384, 16352, 16320, 12512, 96, 96, 12512, 16352, 16320, 12288), # n (3968, 8128, 14560, 12384, 12384, 12384, 14560, 8128, 3968), # o (98400, 131040, 131040, 104640, 12384, 12384, 12384, 14560, 8128, 3968), # p (3968, 8128, 14560, 12384, 12384, 12384, 104640, 131040, 131040, 98304), # q (12384, 16352, 16352, 12480, 96, 96, 224, 192), # r (6592, 15328, 13152, 13152, 13920, 13920, 16096, 7360), # s (96, 96, 112, 8188, 16380, 12384, 14432, 6240), # t (96, 8160, 16352, 14336, 12288, 12288, 14432, 8160, 16352, 12288), # u (96, 480, 2016, 7776, 14336, 14336, 7776, 2016, 480, 96), # v (96, 992, 16352, 15456, 3840, 992, 992, 3840, 15456, 16352, 992, 96), # w (12384, 14560, 15840, 14176, 512, 14176, 15840, 14560, 12384), # x (49248, 115168, 100320, 122464, 63488, 15968, 4064, 480, 96), # y (12512, 14560, 15456, 15968, 14176, 13280, 14816, 14560), # z (384, 960, 32766, 65151, 49155, 49155), # { (0, 131070, 131070, 0), # | (49155, 49155, 65151, 32766, 960, 384), # } (384, 448, 192, 192, 384, 384, 768, 768, 896, 384), # ~ )), ((18, 23, 1, 0, 0),( (0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 394236, 999422, 999422, 394236), # ! (0, 0, 0, 140, 222, 126, 60, 0, 0, 140, 222, 126, 60), # " (0, 24768, 24768, 1040576,1048512,32766, 24830, 24768, 24768, 1040576,1048512,32766, 24830, 24768, 24768), # # (0, 0, 115184, 246776, 459676, 395020, 395020, 4194303,4194303,396812, 396812, 465948, 261240, 129136), # $ (120, 252, 462, 917894, 1016270,254204, 63608, 15872, 3968, 246752, 516344, 946238, 798734, 946176, 516096, 245760), # % (0, 114688, 520192, 522360, 933116, 790014, 788366, 790278, 802694, 982478, 520444, 245880, 494592, 982016, 818176, 789504), # & (0, 0, 0, 0, 0, 0, 140, 222, 126, 60), # ' (0, 0, 0, 0, 0, 0, 32640, 131040, 524280, 1015932,1966110,3670023,3145731), # ( (0, 0, 0, 3145731,3670023,1966110,1015932,524280, 131040, 32640), # ) (0, 98400, 114912, 57792, 29568, 16128, 7680, 524280, 524280, 7680, 16128, 29568, 57792, 114912, 98400), # * (0, 3072, 3072, 3072, 3072, 3072, 3072, 262128, 262128, 3072, 3072, 3072, 3072, 3072, 3072), # + (0, 0, 0, 0, 0, 0, 4587520,7274496,4128768,1966080), # , (0, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072), # - (0, 0, 0, 0, 0, 0, 393216, 983040, 983040, 393216), # . (0, 0, 0, 786432, 983040, 507904, 126976, 31744, 7936, 1984, 496, 124, 30, 6), # / (0, 0, 32704, 131056, 524284, 491580, 917518, 786438, 786438, 786438, 917518, 491580, 524284, 131056, 32704), # 0 (0, 0, 0, 0, 786456, 786456, 786460, 1048572,1048574,1048574,786432, 786432, 786432), # 1 (0, 0, 786544, 917752, 983292, 1015916,1032198,974854, 946182, 931846, 924686, 925468, 921596, 1017848,1016304), # 2 (0, 0, 114800, 254200, 516348, 442476, 787974, 787974, 787974, 787982, 919324, 462844, 523768, 260336, 126976), # 3 (0, 28672, 30720, 31744, 28416, 26496, 25056, 24816, 24632, 811036, 1048574,1048574,1048574,811008, 24576, 24576), # 4 (0, 0, 114688, 255998, 518142, 443150, 786830, 786830, 786830, 786830, 918414, 460558, 524046, 261638, 63488), # 5 (0, 0, 65504, 262136, 524284, 460316, 918286, 787206, 787206, 787206, 919350, 462460, 523900, 261176, 61440), # 6 (0, 0, 126, 126, 14, 14, 14, 1015822,1044494,1048078,65422, 2030, 126, 30, 6), # 7 (0, 0, 126976, 260344, 466428, 397260, 788358, 788230, 788230, 790022, 790278, 401292, 523772, 260344, 126976), # 8 (0, 0, 480, 231416, 511996, 511516, 891918, 792582, 792582, 792582, 923662, 461852, 524284, 262136, 65504), # 9 (0, 0, 0, 0, 0, 0, 49248, 123120, 123120, 49248), # : (0, 0, 0, 0, 0, 0, 573536, 909552, 516336, 245856), # ; (0, 0, 0, 3072, 7680, 16128, 29568, 57792, 114912, 229488, 458808, 917532, 786444), # < (0, 12672, 12672, 12672, 12672, 12672, 12672, 12672, 12672, 12672, 12672, 12672, 12672, 12672, 12672), # = (0, 0, 0, 786444, 917532, 458808, 229488, 114912, 57792, 29568, 16128, 7680, 3072), # > (0, 0, 112, 248, 252, 108, 393222, 997382, 998406, 396806, 1804, 1020, 504, 240), # ? (32704, 131056, 245880, 458780, 408588, 950030, 812934, 811462, 815302, 801990, 819078, 813006, 942540, 421948, 475128, 204768), # @ (786432, 983040, 1040384,849920, 32512, 26592, 24824, 24702, 25086, 28664, 32704, 917248, 1046528,1040384,983040, 786432), # A (0, 786438, 1048574,1048574,1048574,787974, 787974, 787974, 787974, 787974, 787974, 919310, 462844, 524284, 261624, 129024), # B (0, 32704, 131056, 262136, 508028, 458780, 917518, 786438, 786438, 786438, 786438, 917518, 393244, 458808, 246012, 114940), # C (0, 786438, 1048574,1048574,1048574,786438, 786438, 786438, 786438, 786438, 917518, 458780, 508028, 262136, 131056, 32704), # D (0, 786438, 1048574,1048574,1048574,787974, 787974, 787974, 787974, 787974, 790278, 790278, 786438, 983070, 983070), # E (0, 786438, 1048574,1048574,1048574,787974, 1542, 1542, 1542, 1542, 3846, 3846, 6, 30, 30), # F (32704, 131056, 262136, 508028, 458780, 917518, 786438, 786438, 786438, 786438, 923662, 464924, 260152, 1046780,1046780,6144), # G (0, 786438, 1048574,1048574,1048574,787974, 1536, 1536, 1536, 1536, 1536, 787974, 1048574,1048574,1048574,786438), # H (0, 0, 0, 0, 0, 786438, 786438, 1048574,1048574,1048574,786438, 786438), # I (0, 0, 245760, 516096, 516096, 966656, 786432, 786432, 786438, 917510, 524286, 524286, 262142, 6, 6), # J (786438, 1048574,1048574,1048574,793606, 3584, 7936, 16256, 31168, 61664, 909430, 1032254,1015838,983054, 917510, 786432), # K (0, 0, 786438, 1048574,1048574,1048574,786438, 786432, 786432, 786432, 786432, 786432, 917504, 1015808,1015808), # L (786438, 1048574,1048574,786686, 1016, 8160, 65280, 261120, 258048, 32256, 4032, 786936, 1048574,1048574,1048574,786438), # M (0, 786438, 1048574,1048574,786494, 252, 1008, 4032, 7936, 31744, 129024, 516096, 1015814,1048574,1048574,6), # N (32704, 131056, 262136, 508028, 393228, 917518, 786438, 786438, 786438, 786438, 917518, 393228, 508028, 262136, 131056, 32704), # O (0, 786438, 1048574,1048574,1048574,789510, 3078, 3078, 3078, 3078, 3598, 1820, 2044, 1016, 496), # P (32704, 131056, 262136, 508028, 393228, 1015822,901126, 835590, 901126, 491534, 2031628,4178044,8126456,6422512,7372736,3670016), # Q (786438, 1048574,1048574,1048574,789510, 3078, 3078, 7174, 15366, 261646, 522012, 1042428,918520, 786928, 917504, 458752), # R (0, 1040624,1041404,231420, 460686, 395014, 921350, 790022, 790022, 794126, 793612, 932892, 523320, 522364, 123004), # S (0, 62, 62, 14, 6, 6, 786438, 1048574,1048574,1048574,786438, 6, 6, 14, 62, 62), # T (0, 6, 65534, 262142, 524286, 458758, 917504, 786432, 786432, 786432, 786432, 917504, 491526, 262142, 65534, 6), # U (6, 30, 254, 2046, 8166, 65280, 260096, 1040384,1015808,253952, 31744, 7936, 998, 254, 30, 6), # V (6, 254, 8190, 131070, 1048454,1044480,130944, 8190, 254, 8190, 1048448,1044480,130950, 8190, 254, 6), # W (0, 786438, 917518, 983102, 1032318,909822, 31734, 16320, 8064, 32512, 916416, 1044726,1032318,1015838,917518, 786438), # X (0, 6, 30, 126, 510, 2022, 794496, 1048064,1046528,1048064,788352, 486, 126, 30, 6), # Y (0, 0, 786494, 983102, 1032206,1040390,915462, 818694, 794374, 790470, 787446, 786686, 917630, 1015838,1015814), # Z (0, 0, 0, 0, 0, 0, 4194303,4194303,4194303,3145731,3145731,3145731), # [ (0, 0, 0, 6, 30, 124, 496, 1984, 7936, 31744, 126976, 507904, 983040, 786432), # \ (0, 0, 0, 0, 3145731,3145731,3145731,4194303,4194303,4194303), # ] (0, 0, 0, 64, 96, 112, 56, 28, 14, 14, 28, 56, 112, 96, 64), # ^ (786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432, 786432), # _ (0, 0, 0, 0, 0, 6, 14, 30, 60, 48), # ` (0, 0, 246528, 518016, 1046400,947136, 799168, 800960, 792768, 792768, 924096, 524224, 524160, 1048320,786432, 786432), # a (0, 6, 1048574,1048575,524287, 917888, 786624, 786624, 786624, 786624, 917952, 459648, 524160, 261888, 64512), # b (0, 0, 64512, 261888, 524160, 459648, 917952, 786624, 786624, 786624, 786624, 920960, 401280, 466688, 200192), # c (0, 64512, 261888, 524160, 459648, 917952, 786624, 786624, 786624, 786624, 917894, 524286, 1048575,1048575,786432), # d (0, 0, 64512, 261888, 524160, 471936, 930240, 798912, 798912, 798912, 799168, 930688, 409472, 474880, 211968), # e (0, 0, 0, 786816, 786816, 1048560,1048568,1048572,786828, 786822, 786822, 54, 126, 124, 56), # f (0, 1835008,4124416,7864192,6537152,6535616,6533312,6533312,6762688,6764992,7815104,4136832,4067008,1835232,480, 448), # g (0, 0, 786438, 1048574,1048575,1048575,786816, 192, 192, 192, 192, 786880, 1048448,1048448,1048320,786432), # h (0, 0, 0, 0, 0, 786816, 786828, 1048478,1048542,1048524,786432, 786432), # i (0, 0, 0, 1572864,3932160,8126464,7864320,6291840,7340428,4194206,4194270,2097100), # j (0, 786438, 1048574,1048575,1048575,811008, 12288, 30720, 64512, 913088, 1034176,1016768,983488, 917696, 786624, 786432), # k (0, 0, 0, 0, 0, 786432, 786438, 1048574,1048575,1048575,786432, 786432), # l (786624, 1048512,1048512,1048448,786880, 192, 786880, 1048512,1048448,1048448,786880, 192, 786880, 1048512,1048448,1048320,786432), # m (0, 786624, 1048512,1048512,1048512,786816, 192, 192, 192, 192, 786880, 1048512,1048448,1048320,786432), # n (0, 64512, 261888, 524160, 493440, 917952, 786624, 786624, 786624, 786624, 917952, 493440, 524160, 261888, 64512), # o (0, 6291648,8388544,8388544,8388544,6488448,393408, 393408, 393408, 393408, 459200, 230272, 262016, 130816, 31744), # p (0, 31744, 130816, 262016, 230272, 459200, 393408, 393408, 393408, 393408, 6488512,8388480,8388544,8388544,6291456), # q (0, 786624, 786624, 1048512,1048512,1048512,790272, 787328, 448, 192, 960, 1984, 1920, 768), # r (0, 0, 986880, 991104, 409472, 409024, 800960, 800960, 817344, 815296, 815296, 979328, 520576, 517056, 246720), # s (0, 0, 192, 192, 192, 192, 262140, 524286, 1048574,917696, 786624, 917696, 458944, 196800), # t (0, 192, 262080, 524224, 1048512,917504, 786432, 786432, 786432, 786432, 917696, 524224, 524224, 1048512,786432, 786432), # u (0, 192, 960, 4032, 16320, 64704, 258048, 1032192,983040, 245760, 61440, 15552, 4032, 960, 192), # v (192, 4032, 32704, 262080, 1046720,1015808,260096, 32704, 4032, 32704, 261120, 1032192,1046720,131008, 4032, 192), # w (0, 786624, 786624, 917952, 984000, 1017792,909248, 65216, 30720, 916480, 1044160,1017792,984000, 917952, 786624, 786624), # x (0, 192, 3145920,7865280,7868352,7356352,6356160,3403776,4177920,983040, 245760, 61440, 15552, 4032, 960, 192), # y (0, 0, 787392, 918464, 983232, 1032384,1040576,913600, 851136, 802496, 794560, 790464, 787392, 983488, 983232), # z (0, 0, 0, 0, 3072, 7680, 1048572,2094078,2089470,3670023,3145731,3145731,3145731), # { (0, 0, 0, 0, 0, 0, 0, 8388606,8388606), # | (0, 0, 0, 3145731,3145731,3145731,3670023,2089470,2094078,1048572,7680, 3072), # } (0, 6144, 7168, 3584, 1536, 1536, 1536, 3584, 7168, 14336, 12288, 12288, 12288, 14336, 7168, 3072), # ~ ))) ppn_c0, ppn_c1 = (0, 0, 0, 0), (66060288, 53479392, 66061920, 2016) ppn_c2, ppn_c3 = (2097152, 16253152, 7340528, 64), (12582912, 66061248, 133697520, 0) ppn_c4, ppn_c5 = (0, 133697520, 31459296, 384), (29360896, 32506816, 31458272, 25166720) ppn_c6, ppn_c7 = (7340128, 32506336, 15729632, 3145952), (117444096, 117440512, 3584, 117444096) ppn_c8, ppn_c9 = (503331840, 402665472, 402665472, 503331840), (805330944, 805330944, 805330944, 805330944) ppn_c12, ppn_c13 = (806903808, 939417656, 807170044, 805330992), (429503283, 644238540, 429503283, 644238540) ppn_c15, ppn_c16 = (29360512, 134186752, 58724351, 12583808), (117443584, 113250048, 103812288, 101190704) ppn_font_ce = ( (10, 15, 1, 2, 0), ( ppn_c0, ppn_c1, ppn_c2, ppn_c3, ppn_c4, ppn_c5, ppn_c6, ppn_c7, ppn_c8, ppn_c9, ppn_c0, ppn_c0, ppn_c12, ppn_c13, ppn_c0, ppn_c15, ppn_c16, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, (0, 109019198, 2034943), # ! (2064384, 63, 2064384, 63), # " (134185368, 13373439, 134185368, 13373439), # # (52363804, 134186018, 35721215, 29493190), # $ (29656838, 7537097, 77334128, 50792732), # % (66519936, 70289535, 59739633, 71306638), # & (0, 2064384, 63), # ' (0, 536809464, 536932359), # ( (0, 939769857, 133971966), # ) (124652748, 134087664, 33034236, 107351772), # * (6291648, 66846912, 6293496, 6291648), # + (0, 520105472, 7680), # , (6291648, 6291648, 6291648, 6291648), # - (0, 117444096, 3584), # . (1006661632, 62922240, 3932640, 491550), # / (67044348, 107056899, 101157939, 33425406), # 0 (101059596, 134188046, 100667391, 100666368), # 1 (126291468, 115445635, 104434915, 101583934), # 2 (59179788, 103911015, 125537379, 30279678), # 3 (16253376, 13042108, 134189055, 12583296), # 4 (60785439, 102338099, 121211955, 31557603), # 5 (67044348, 102338103, 121211955, 31459299), # 6 (117538819, 32608131, 2064635, 98319), # 7 (65995660, 104435455, 125799539, 29755358), # 8 (104792124, 107056359, 123964611, 33425406), # 9 (0, 119279160, 3640), # : (0, 521940536, 7736), # ; (15729120, 26739504, 51119640, 101059596), # < (26739504, 26739504, 26739504, 26739504), # = (101059596, 51119640, 26739504, 15729120), # > (983068, 115441671, 3902947, 917566), # ? (536813564, 871493639, 938732595, 16648190), # @ (134156284, 3244131, 3244131, 134090750), # A (134189055, 103910499, 125766775, 29362140), # B (67044348, 100765191, 117672963, 25560846), # C (134189055, 100764675, 126323715, 16517118), # D (134189055, 103910499, 100764771, 100764675), # E (134189055, 3244131, 98403, 98307), # F (67044348, 100765191, 107056323, 132321223), # G (134189055, 3145824, 3145824, 134189055), # H (100761600, 134188035, 100765695, 3075), # I (117442048, 100764675, 67080191, 98307), # J (134189055, 7864416, 59179932, 100765191), # K (134189055, 100666368, 100666368, 100666368), # L (134189055, 3670044, 917616, 134189055), # M (134189055, 3670076, 31457504, 134189055), # N (67044348, 100765191, 117672963, 33425406), # O (134189055, 3244131, 3899491, 917566), # P (67044348, 113348103, 58953603, 117313534), # Q (134189055, 15827171, 62620643, 101584446), # R (60752668, 103911031, 125013091, 29755342), # S (98307, 134184963, 102399, 98307), # T (67077119, 100666880, 117443584, 33523711), # U (4161551, 130024440, 33296256, 491647), # V (134189055, 31459072, 58721216, 134189055), # W (117935107, 16254908, 64881136, 100765199), # X (1015815, 133169272, 3936224, 229407), # Y (130125571, 108105155, 102599795, 101157919), # Z (0, 1073741823, 805429251), # [ (983055, 15728760, 251660160, 939554816), # \ (0, 805429251, 1073741823), # ] (131072, 98310, 196611, 4), # ^ (402665472, 402665472, 402665472, 402665472), # _ (0, 98305, 131078), # ` (131073792, 114822576, 114822576, 133173232), # a (134189055, 104336480, 121113648, 31459296), # b (66061248, 102239856, 121113648, 18876000), # c (66061248, 102239856, 103812208, 134189055), # d (66061248, 114823152, 114822576, 39849440), # e (3145824, 134156284, 3244135, 3), # f (871367616, 907570800, 926444592, 536379376), # g (134189055, 1572960, 3670064, 132124640), # h (100663296, 133893168, 100667382, 3072), # i (402653184, 805335040, 1073438768, 16374), # j (134189055, 14680448, 61866944, 102239856), # k (100663296, 134188035, 100667391, 3072), # l (133173232, 133169264, 3674080, 132124640), # m (133697520, 1572960, 3670064, 132124640), # n (66061248, 102239856, 121113648, 31459296), # o (1073250288, 102239856, 121113648, 31459296), # p (66061248, 102239856, 121113648, 1073250288), # q (133697520, 1572960, 1572912, 3145840), # r (116917472, 114822576, 114822576, 59772720), # s (1572864, 67076144, 102240255, 100666416), # t (66585584, 100666880, 50334720, 133697520), # u (33030384, 100665088, 58723328, 7865328), # v (66585584, 33033728, 117441520, 33032176), # w (125308016, 29361856, 56624000, 104337136), # x (553124080, 520124288, 62922240, 7864816), # y (119016496, 114822960, 104336624, 101190704), # z (15728832, 1067425790, 536928259, 536920065), # { (0, 1073709056, 32767), # | (536920065, 805421057, 268402495, 6291936), # } (229382, 98307, 196614, 98311), # ~ ppn_c0, ppn_c1, ppn_c2, ppn_c3, ppn_c4, ppn_c5, ppn_c6, ppn_c7, ppn_c8, ppn_c9, (939024384, 812019704, 939286732, 805335024), (864051200, 920154016, 939027888, 805335008), ppn_c12, ppn_c13, (917528, 134184974, 462847, 786460), ppn_c15, ppn_c16, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, ppn_c0, (0, 133793728, 65015795), # ¡ (66063296, 110628464, 121113776, 6817504), # ¢ (134089824, 104040446, 100895843, 50335238), # £ (66848280, 26739696, 33030960, 51120120), # ¤ (42958855, 133170552, 45879264, 230687), # ¥ (0, 131039232, 3999), # ¦ (870802304, 638373439, 1058851865, 7453171), # § (98304, 3, 98304, 3), # ¨ (33620988, 84052473, 75794949, 33424386), # © (20512768, 23954171, 25133787, 638), # ª (15728832, 17302320, 15728832, 17302320), # « (1572912, 1572912, 1572912, 16253424), # ¬ ppn_c0, (33620988, 70420985, 76318885, 33424386), # ® (98307, 98307, 98307, 98307), # ¯ (2031644, 3244131, 2031715, 28), # ° (202905648, 218044464, 202906110, 202905648), # ± (12713984, 15827394, 13566387, 396), # ² (0, 12681603, 8323483, 100), # ³ (0, 196612, 32771), # ´ (1072725984, 100665088, 58723328, 267395040), # µ (2031644, 1073741823, 1073709059, 131071), # ¶ (0, 6291456, 192), # · (805306368, 939548672, 12288), # ¸ (12713984, 16744838, 12583423, 384), # ¹ (20905984, 23167743, 25133763, 638), # º (26739216, 6291936, 26739216, 6291936), # » (52397090, 12583712, 170924224, 134774320), # ¼ (52397090, 12583712, 825246912, 638079536), # ½ (51545121, 13435685, 170924224, 134774320), # ¾ (65012608, 104697568, 117443643, 29362048), # ¿ (133173184, 26837809, 26870582, 132124640), # À (133173184, 26936116, 26772275, 132124640), # Á (133304256, 26837814, 26936115, 132124644), # Â (133402566, 26837811, 26936118, 132222951), # Ã (133271488, 26739507, 26837808, 132124643), # Ä (133173184, 26968880, 26968885, 132124640), # Å (134156284, 3244131, 134189055, 103910499), # Æ (872350716, 1040313863, 117685251, 25560846), # Ç (133697520, 114920881, 114953654, 102239280), # È (133697520, 115019188, 114855347, 102239280), # É (133828592, 114920886, 115019187, 102239284), # Ê (133795824, 114822579, 114920880, 102239283), # Ë (102236160, 133794865, 102371318, 3120), # Ì (102236160, 133893172, 102273011, 3120), # Í (102367232, 133794870, 102436851, 3124), # Î (102334464, 133696563, 102338544, 3123), # Ï (134185056, 103911423, 126323715, 16517118), # Ð (133926902, 12681411, 25362822, 133795831), # Ñ (66060288, 102338545, 133827638, 2016), # Ò (66060288, 102436852, 133729331, 2016), # Ó (66191360, 102338550, 133893171, 2020), # Ô (66289670, 102338547, 133893174, 100327), # Õ (66158592, 102240243, 133794864, 2019), # Ö (60555792, 15729648, 33030624, 17303352), # × (66063360, 110628848, 133696688, 1574880), # Ø (66586608, 100764673, 100797446, 66586608), # Ù (66586608, 100862980, 100699139, 66586608), # Ú (66717680, 100764678, 100862979, 66586612), # Û (66684912, 100666371, 100764672, 66586611), # Ü (3670064, 130220516, 15765379, 1572976), # Ý (1073741823, 25953048, 31195928, 7340528), # Þ (1073709052, 103910503, 125766771, 29362140), # ß (131073792, 114920881, 114953654, 133173232), # à (131073792, 115019188, 114855347, 133173232), # á (131204864, 114920886, 115019187, 133173236), # â (131303174, 114920883, 115019190, 133271543), # ã (131172096, 114822579, 114920880, 133173235), # ä (131073792, 115051952, 115051957, 133173232), # å (131598112, 133172656, 114821104, 39849456), # æ (871367616, 1041788528, 121125936, 18876000), # ç (66061248, 114921457, 114953654, 39849440), # è (66061248, 115019764, 114855347, 39849440), # é (66192320, 114921462, 115019187, 39849444), # ê (66159552, 114823155, 114920880, 39849443), # ë (100696064, 133893171, 100667380, 3072), # ì (100663296, 133893172, 100700147, 3072), # í (100794368, 133794870, 100863987, 3076), # î (100761600, 133696563, 100765680, 3075), # ï (66421696, 102436479, 121539647, 66064376), # ð (133926902, 1671267, 3866678, 132222951), # ñ (66061248, 102338161, 121244726, 31459296), # ò (66061248, 102436468, 121146419, 31459296), # ó (66192320, 102338166, 121310259, 31459300), # ô (66290630, 102338163, 121310262, 31557607), # õ (66159552, 102239859, 121211952, 31459299), # ö (6291648, 57409728, 6293208, 6291648), # ÷ (66063296, 127405680, 121113776, 31983584), # ø (66585584, 100765185, 50465798, 133697520), # ù (66585584, 100863492, 50367491, 133697520), # ú (66716656, 100765190, 50531331, 133697524), # û (66683888, 100666883, 50433024, 133697523), # ü (553124080, 520320900, 62955011, 7864816), # ý (1073741823, 102239856, 121113648, 31459296), # þ (553222384, 520124291, 63020544, 7864819), # ÿ ))