/
fontdata.go
executable file
·1073 lines (1022 loc) · 58.2 KB
/
fontdata.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Some fonts for gomonochromebitmap
package gomonochromebitmap
/*
TODO 3x3 font
https://en.wikipedia.org/wiki/3x3
TODO 4x4 font
TODO 3x4 font
http://atariage.com/forums/uploads/monthly_06_2012/post-3056-0-78298600-1340226009.gif
6x8 ja 6x6 fontit
http://merthsoft.com/linkguide/ti83+/tokens.html
3x4 font
https://github.com/Michaelangel007/nanofont3x4
https://github.com/basti79/LCD-fonts
TODO CONVERT TO GOLANG
https://github.com/olikraus/u8g2
http://www.rinkydinkelectronics.com/r_fonts.php
TODO: ÄÄKKÖSTUKI, Euromerkki €, hakaristi, 🐕
*/
func GetFont_4x5() map[rune]MonoBitmap{
//Yksi tavu per rivi
tmp:=map[rune][]byte{
' ':[]byte{0x00, 0x00, 0x00, 0x00, 0x00},
'!':[]byte{0xC0, 0xC0, 0xC0, 0x00, 0xC0},
'"':[]byte{0xA0, 0xA0, 0x00, 0x00, 0x00},
'#':[]byte{0xA0, 0xE0, 0xA0, 0xE0, 0xA0},
'$':[]byte{0x40, 0xE0, 0xC0, 0x60, 0xE0},
'%':[]byte{0xA0, 0x60, 0xC0, 0xA0, 0x00},
'&':[]byte{0x40, 0x40, 0xE0, 0xC0, 0x40},
'\'':[]byte{0x20, 0x60, 0x00, 0x00, 0x00},
'(':[]byte{0x20, 0x40, 0x40, 0x40, 0x20},
/* Unicode: U+0029 ()) , Width: 4 */
')':[]byte{0x80, 0x40, 0x40, 0x40, 0x80},
/* Unicode: U+002A (*) , Width: 4 */
'*':[]byte{0xA0, 0x40, 0xE0, 0x40, 0xA0},
/* Unicode: U+002B (+) , Width: 4 */
'+':[]byte{0x00, 0x40, 0xE0, 0x40, 0x00},
/* Unicode: U+002C (,) , Width: 4 */
',':[]byte{0x00, 0x00, 0x00, 0x40, 0xC0},
/* Unicode: U+002D (-) , Width: 4 */
'-':[]byte{0x00, 0x00, 0xE0, 0x00, 0x00},
/* Unicode: U+002E (.) , Width: 4 */
'.':[]byte{0x00, 0x00, 0x00, 0xC0, 0xC0},
/* Unicode: U+002F (/) , Width: 4 */
'/':[]byte{0x20, 0x20, 0x40, 0x40, 0x80},
/* Unicode: U+0030 (0) , Width: 4 */
'0':[]byte{0x40, 0xA0, 0xA0, 0xA0, 0x40},
/* Unicode: U+0031 (1) , Width: 4 */
'1':[]byte{0x40, 0xC0, 0x40, 0x40, 0x40},
/* Unicode: U+0032 (2) , Width: 4 */
'2':[]byte{0xC0, 0x20, 0x40, 0x80, 0xE0},
/* Unicode: U+0033 (3) , Width: 4 */
'3':[]byte{0xC0, 0x20, 0x60, 0x20, 0xE0},
/* Unicode: U+0034 (4) , Width: 4 */
'4':[]byte{0xA0, 0xA0, 0xA0, 0xE0, 0x20},
/* Unicode: U+0035 (5) , Width: 4 */
'5':[]byte{0xE0, 0x80, 0xC0, 0x20, 0xC0},
/* Unicode: U+0036 (6) , Width: 4 */
'6':[]byte{0x60, 0x80, 0xE0, 0xA0, 0xE0},
/* Unicode: U+0037 (7) , Width: 4 */
'7':[]byte{0xE0, 0x20, 0x20, 0x40, 0x40},
/* Unicode: U+0038 (8) , Width: 4 */
'8':[]byte{0xE0, 0xA0, 0xE0, 0xA0, 0xE0},
/* Unicode: U+0039 (9) , Width: 4 */
'9':[]byte{0xE0, 0xA0, 0xE0, 0x20, 0xC0},
/* Unicode: U+003A (:) , Width: 4 */
':':[]byte{0xC0, 0xC0, 0x00, 0xC0, 0xC0},
/* Unicode: U+003B (;) , Width: 4 */
';':[]byte{0xC0, 0xC0, 0x00, 0x40, 0xC0},
/* Unicode: U+003C (<) , Width: 4 */
'<':[]byte{0x20, 0x40, 0x80, 0x40, 0x20},
/* Unicode: U+003D (=) , Width: 4 */
'=':[]byte{0x00, 0xE0, 0x00, 0xE0, 0x00},
/* Unicode: U+003E (>) , Width: 4 */
'>':[]byte{0x80, 0x40, 0x20, 0x40, 0x80},
/* Unicode: U+003F (?) , Width: 4 */
'?':[]byte{0xE0, 0x20, 0x60, 0x00, 0x40},
/* Unicode: U+0040 (@) , Width: 4 */
'@':[]byte{0x60, 0xA0, 0xC0, 0x80, 0x60},
/* Unicode: U+0041 (A) , Width: 4 */
'A':[]byte{0xE0, 0xA0, 0xE0, 0xA0, 0xA0},
'Ä':[]byte{0xAF, 0x0, 0xE0, 0xA0, 0xA0},
'ä':[]byte{0xAF, 0x0, 0xE0, 0xA0, 0xA0},
/* Unicode: U+0042 (B) , Width: 4 */
'B':[]byte{0xE0, 0xA0, 0xC0, 0xA0, 0xE0},
/* Unicode: U+0043 (C) , Width: 4 */
'C':[]byte{0xE0, 0x80, 0x80, 0x80, 0xE0},
/* Unicode: U+0044 (D) , Width: 4 */
'D':[]byte{0xC0, 0xA0, 0xA0, 0xA0, 0xC0},
/* Unicode: U+0045 (E) , Width: 4 */
'E':[]byte{0xE0, 0x80, 0xE0, 0x80, 0xE0},
/* Unicode: U+0046 (F) , Width: 4 */
'F':[]byte{0xE0, 0x80, 0xE0, 0x80, 0x80},
/* Unicode: U+0047 (G) , Width: 4 */
'G':[]byte{0xE0, 0x80, 0xA0, 0xA0, 0xE0},
/* Unicode: U+0048 (H) , Width: 4 */
'H':[]byte{0xA0, 0xA0, 0xE0, 0xA0, 0xA0},
/* Unicode: U+0049 (I) , Width: 4 */
'I':[]byte{0xE0, 0x40, 0x40, 0x40, 0xE0},
/* Unicode: U+004A (J) , Width: 4 */
'J':[]byte{0x20, 0x20, 0x20, 0xA0, 0xE0},
/* Unicode: U+004B (K) , Width: 4 */
'K':[]byte{0xA0, 0xA0, 0xC0, 0xA0, 0xA0},
/* Unicode: U+004C (L) , Width: 4 */
'L':[]byte{0x80, 0x80, 0x80, 0x80, 0xE0},
/* Unicode: U+004D (M) , Width: 4 */
'M':[]byte{0xA0, 0xE0, 0xA0, 0xA0, 0xA0},
/* Unicode: U+004E (N) , Width: 4 */
'N':[]byte{0xE0, 0xA0, 0xA0, 0xA0, 0xA0},
/* Unicode: U+004F (O) , Width: 4 */
'O':[]byte{0xE0, 0xA0, 0xA0, 0xA0, 0xE0},
'Ö':[]byte{0xAF, 0x0, 0xF0, 0xF0, 0xF0},
'ö':[]byte{0xAF, 0x0, 0xF0, 0xF0, 0xF0},
/* Unicode: U+0050 (P) , Width: 4 */
'P':[]byte{0xE0, 0xA0, 0xE0, 0x80, 0x80},
/* Unicode: U+0051 (Q) , Width: 4 */
'Q':[]byte{0xE0, 0xA0, 0xA0, 0xC0, 0x60},
/* Unicode: U+0052 (R) , Width: 4 */
'R':[]byte{0xE0, 0xA0, 0xC0, 0xA0, 0xA0},
/* Unicode: U+0053 (S) , Width: 4 */
'S':[]byte{0xE0, 0x80, 0xE0, 0x20, 0xE0},
/* Unicode: U+0054 (T) , Width: 4 */
'T':[]byte{0xE0, 0x40, 0x40, 0x40, 0x40},
/* Unicode: U+0055 (U) , Width: 4 */
'U':[]byte{0xA0, 0xA0, 0xA0, 0xA0, 0xE0},
/* Unicode: U+0056 (V) , Width: 4 */
'V':[]byte{0xA0, 0xA0, 0xA0, 0xA0, 0x40},
/* Unicode: U+0057 (W) , Width: 4 */
'W':[]byte{0xA0, 0xA0, 0xA0, 0xE0, 0xA0},
/* Unicode: U+0058 (X) , Width: 4 */
'X':[]byte{0xA0, 0xE0, 0x40, 0xE0, 0xA0},
/* Unicode: U+0059 (Y) , Width: 4 */
'Y':[]byte{0xA0, 0xA0, 0xE0, 0x40, 0x40},
/* Unicode: U+005A (Z) , Width: 4 */
'Z':[]byte{0xE0, 0x20, 0x40, 0x80, 0xE0},
/* Unicode: U+005B ([) , Width: 4 */
'[':[]byte{0x60, 0x40, 0x40, 0x40, 0x60},
/* Unicode: U+005C (\) , Width: 4 */
'\\':[]byte{0x80, 0x80, 0x40, 0x40, 0x20},
/* Unicode: U+005D (]) , Width: 4 */
']':[]byte{0xC0, 0x40, 0x40, 0x40, 0xC0},
/* Unicode: U+005E (^) , Width: 4 */
'^':[]byte{0x40, 0xA0, 0x00, 0x00, 0x00},
/* Unicode: U+005F (_) , Width: 4 */
'_':[]byte{0x00, 0x00, 0x00, 0x00, 0xE0},
/* Unicode: U+0060 (`) , Width: 4 */
'`':[]byte{0x40, 0x60, 0x00, 0x00, 0x00},
/* Unicode: U+0061 (a) , Width: 4 */
'a':[]byte{0x00, 0xE0, 0x60, 0xA0, 0xE0},
/* Unicode: U+0062 (b) , Width: 4 */
'b':[]byte{0x80, 0xE0, 0xA0, 0xA0, 0xE0},
/* Unicode: U+0063 (c) , Width: 4 */
'c':[]byte{0x00, 0xE0, 0x80, 0x80, 0xE0},
/* Unicode: U+0064 (d) , Width: 4 */
'd':[]byte{0x20, 0xE0, 0xA0, 0xA0, 0xE0},
/* Unicode: U+0065 (e) , Width: 4 */
'e':[]byte{0x00, 0xE0, 0xA0, 0xC0, 0xE0},
/* Unicode: U+0066 (f) , Width: 4 */
'f':[]byte{0x60, 0x80, 0xC0, 0x80, 0x80},
/* Unicode: U+0067 (g) , Width: 4 */
'g':[]byte{0x00, 0xE0, 0xA0, 0x60, 0xE0},
/* Unicode: U+0068 (h) , Width: 4 */
'h':[]byte{0x80, 0xE0, 0xA0, 0xA0, 0xA0},
/* Unicode: U+0069 (i) , Width: 4 */
'i':[]byte{0x00, 0x40, 0x40, 0x40, 0x40},
/* Unicode: U+006A (j) , Width: 4 */
'j':[]byte{0x00, 0x20, 0x20, 0xA0, 0xE0},
/* Unicode: U+006B (k) , Width: 4 */
'k':[]byte{0x80, 0xA0, 0xC0, 0xC0, 0xA0},
/* Unicode: U+006C (l) , Width: 4 */
'l':[]byte{0xC0, 0x40, 0x40, 0x40, 0x40},
/* Unicode: U+006D (m) , Width: 4 */
'm':[]byte{0x00, 0xA0, 0xE0, 0xA0, 0xA0},
/* Unicode: U+006E (n) , Width: 4 */
'n':[]byte{0x00, 0xE0, 0xA0, 0xA0, 0xA0},
/* Unicode: U+006F (o) , Width: 4 */
'o':[]byte{0x00, 0xE0, 0xA0, 0xA0, 0xE0},
/* Unicode: U+0070 (p) , Width: 4 */
'p':[]byte{0x00, 0xE0, 0xA0, 0xE0, 0x80},
/* Unicode: U+0071 (q) , Width: 4 */
'q':[]byte{0x00, 0xE0, 0xA0, 0xE0, 0x20},
/* Unicode: U+0072 (r) , Width: 4 */
'r':[]byte{0x00, 0xE0, 0xA0, 0x80, 0x80},
/* Unicode: U+0073 (s) , Width: 4 */
's':[]byte{0x00, 0xE0, 0xC0, 0x60, 0xE0},
/* Unicode: U+0074 (t) , Width: 4 */
't':[]byte{0x40, 0xE0, 0x40, 0x40, 0x60},
/* Unicode: U+0075 (u) , Width: 4 */
'u':[]byte{0x00, 0xA0, 0xA0, 0xA0, 0xE0},
/* Unicode: U+0076 (v) , Width: 4 */
'v':[]byte{0x00, 0xA0, 0xA0, 0xA0, 0x40},
/* Unicode: U+0077 (w) , Width: 4 */
'w':[]byte{0x00, 0xA0, 0xA0, 0xE0, 0xA0},
/* Unicode: U+0078 (x) , Width: 4 */
'x':[]byte{0x00, 0xA0, 0x40, 0x40, 0xA0},
/* Unicode: U+0079 (y) , Width: 4 */
'y':[]byte{0x00, 0xA0, 0xA0, 0x60, 0xC0},
/* Unicode: U+007A (z) , Width: 4 */
'z':[]byte{0x00, 0xE0, 0x60, 0xC0, 0xE0},
/* Unicode: U+007B ({) , Width: 4 */
'{':[]byte{0x60, 0x40, 0xC0, 0x40, 0x60},
/* Unicode: U+007C (|) , Width: 4 */
'|':[]byte{0x40, 0x40, 0x40, 0x40, 0x40},
/* Unicode: U+007D (}) , Width: 4 */
'}':[]byte{0xC0, 0x40, 0x60, 0x40, 0xC0},
/* Unicode: U+007E (~) , Width: 4 */
'~':[]byte{0x00, 0xC0, 0x60, 0x00, 0x00},
'€':[]byte{0x60, 0x80, 0x80+0x40, 0x80, 0x60},
}
result:=make(map[rune]MonoBitmap)
for s,dat:=range tmp{
bm:=NewMonoBitmap(4,5,false)
//Rullataan lapi
for x:=0;x<4;x++{
for y:=0;y<5;y++{
mask:=byte(1<<byte(8-x))
bm.SetPix(x,y,(dat[y]&mask)>0)
result[s]=bm
}
}
}
return result
}
func GetFont_8x12() map[rune]MonoBitmap{
//Yksi tavu per rivi
tmp:=map[rune][]byte{
' ':[]byte{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // <space>
'!':[]byte{0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00}, // !
'"':[]byte{0x00,0x28,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // "
'#':[]byte{0x00,0x00,0x28,0x28,0xFC,0x28,0x50,0xFC,0x50,0x50,0x00,0x00}, // #
'$':[]byte{0x00,0x20,0x78,0xA8,0xA0,0x60,0x30,0x28,0xA8,0xF0,0x20,0x00}, // $
'%':[]byte{0x00,0x00,0x48,0xA8,0xB0,0x50,0x28,0x34,0x54,0x48,0x00,0x00}, // %
'&':[]byte{0x00,0x00,0x20,0x50,0x50,0x78,0xA8,0xA8,0x90,0x6C,0x00,0x00}, // &
'\'':[]byte{0x00,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '
'(':[]byte{0x00,0x04,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x04,0x00}, // (
')':[]byte{0x00,0x40,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x00}, // )
'*':[]byte{0x00,0x00,0x00,0x20,0xA8,0x70,0x70,0xA8,0x20,0x00,0x00,0x00}, // *
'+':[]byte{0x00,0x00,0x20,0x20,0x20,0xF8,0x20,0x20,0x20,0x00,0x00,0x00}, // +
',':[]byte{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x80}, // ,
'-':[]byte{0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00}, // -
'.':[]byte{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00}, // .
'/':[]byte{0x00,0x08,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x80,0x00}, // /
'0':[]byte{0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00}, // 0
'1':[]byte{0x00,0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00}, // 1
'2':[]byte{0x00,0x00,0x70,0x88,0x88,0x10,0x20,0x40,0x80,0xF8,0x00,0x00}, // 2
'3':[]byte{0x00,0x00,0x70,0x88,0x08,0x30,0x08,0x08,0x88,0x70,0x00,0x00}, // 3
'4':[]byte{0x00,0x00,0x10,0x30,0x50,0x50,0x90,0x78,0x10,0x18,0x00,0x00}, // 4
'5':[]byte{0x00,0x00,0xF8,0x80,0x80,0xF0,0x08,0x08,0x88,0x70,0x00,0x00}, // 5
'6':[]byte{0x00,0x00,0x70,0x90,0x80,0xF0,0x88,0x88,0x88,0x70,0x00,0x00}, // 6
'7':[]byte{0x00,0x00,0xF8,0x90,0x10,0x20,0x20,0x20,0x20,0x20,0x00,0x00}, // 7
'8':[]byte{0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x88,0x70,0x00,0x00}, // 8
'9':[]byte{0x00,0x00,0x70,0x88,0x88,0x88,0x78,0x08,0x48,0x70,0x00,0x00}, // 9
':':[]byte{0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x20,0x00,0x00}, // :
';':[]byte{0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x00}, // ;
'<':[]byte{0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,0x00}, // <
'=':[]byte{0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0x00,0x00}, // =
'>':[]byte{0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,0x00}, // >
'?':[]byte{0x00,0x00,0x70,0x88,0x88,0x10,0x20,0x20,0x00,0x20,0x00,0x00}, // ?
'@':[]byte{0x00,0x00,0x70,0x88,0x98,0xA8,0xA8,0xB8,0x80,0x78,0x00,0x00}, // @
'A':[]byte{0x00,0x00,0x20,0x20,0x30,0x50,0x50,0x78,0x48,0xCC,0x00,0x00}, // A
'Ä':[]byte{0x88,0x00,0x20,0x20,0x30,0x50,0x50,0x78,0x48,0xCC,0x00,0x00},
'B':[]byte{0x00,0x00,0xF0,0x48,0x48,0x70,0x48,0x48,0x48,0xF0,0x00,0x00}, // B
'C':[]byte{0x00,0x00,0x78,0x88,0x80,0x80,0x80,0x80,0x88,0x70,0x00,0x00}, // C
'D':[]byte{0x00,0x00,0xF0,0x48,0x48,0x48,0x48,0x48,0x48,0xF0,0x00,0x00}, // D
'E':[]byte{0x00,0x00,0xF8,0x48,0x50,0x70,0x50,0x40,0x48,0xF8,0x00,0x00}, // E
'F':[]byte{0x00,0x00,0xF8,0x48,0x50,0x70,0x50,0x40,0x40,0xE0,0x00,0x00}, // F
'G':[]byte{0x00,0x00,0x38,0x48,0x80,0x80,0x9C,0x88,0x48,0x30,0x00,0x00}, // G
'H':[]byte{0x00,0x00,0xCC,0x48,0x48,0x78,0x48,0x48,0x48,0xCC,0x00,0x00}, // H
'I':[]byte{0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0xF8,0x00,0x00}, // I
'J':[]byte{0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x90,0xE0,0x00}, // J
'K':[]byte{0x00,0x00,0xEC,0x48,0x50,0x60,0x50,0x50,0x48,0xEC,0x00,0x00}, // K
'L':[]byte{0x00,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0x44,0xFC,0x00,0x00}, // L
'M':[]byte{0x00,0x00,0xD8,0xD8,0xD8,0xD8,0xA8,0xA8,0xA8,0xA8,0x00,0x00}, // M
'N':[]byte{0x00,0x00,0xDC,0x48,0x68,0x68,0x58,0x58,0x48,0xE8,0x00,0x00}, // N
'O':[]byte{0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00}, // O
'Ö':[]byte{0x88,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00},
'P':[]byte{0x00,0x00,0xF0,0x48,0x48,0x70,0x40,0x40,0x40,0xE0,0x00,0x00}, // P
'Q':[]byte{0x00,0x00,0x70,0x88,0x88,0x88,0x88,0xE8,0x98,0x70,0x18,0x00}, // Q
'R':[]byte{0x00,0x00,0xF0,0x48,0x48,0x70,0x50,0x48,0x48,0xEC,0x00,0x00}, // R
'S':[]byte{0x00,0x00,0x78,0x88,0x80,0x60,0x10,0x08,0x88,0xF0,0x00,0x00}, // S
'T':[]byte{0x00,0x00,0xF8,0xA8,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00}, // T
'U':[]byte{0x00,0x00,0xCC,0x48,0x48,0x48,0x48,0x48,0x48,0x30,0x00,0x00}, // U
'V':[]byte{0x00,0x00,0xCC,0x48,0x48,0x50,0x50,0x30,0x20,0x20,0x00,0x00}, // V
'W':[]byte{0x00,0x00,0xA8,0xA8,0xA8,0x70,0x50,0x50,0x50,0x50,0x00,0x00}, // W
'X':[]byte{0x00,0x00,0xD8,0x50,0x50,0x20,0x20,0x50,0x50,0xD8,0x00,0x00}, // X
'Y':[]byte{0x00,0x00,0xD8,0x50,0x50,0x20,0x20,0x20,0x20,0x70,0x00,0x00}, // Y
'Z':[]byte{0x00,0x00,0xF8,0x90,0x10,0x20,0x20,0x40,0x48,0xF8,0x00,0x00}, // Z
'[':[]byte{0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00}, // [
'\\':[]byte{0x00,0x40,0x40,0x40,0x20,0x20,0x10,0x10,0x10,0x08,0x00,0x00}, // <backslash>
']':[]byte{0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x70,0x00}, // ]
'^':[]byte{0x00,0x20,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ^
'_':[]byte{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC}, // _
'`':[]byte{0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // `
'a':[]byte{0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x38,0x48,0x3C,0x00,0x00}, // a
'ä':[]byte{0x00,0x00,0x00,0x84,0x00,0x30,0x48,0x38,0x48,0x3C,0x00,0x00}, // a
'b':[]byte{0x00,0x00,0xC0,0x40,0x40,0x70,0x48,0x48,0x48,0x70,0x00,0x00}, // b
'c':[]byte{0x00,0x00,0x00,0x00,0x00,0x38,0x48,0x40,0x40,0x38,0x00,0x00}, // c
'd':[]byte{0x00,0x00,0x18,0x08,0x08,0x38,0x48,0x48,0x48,0x3C,0x00,0x00}, // d
'e':[]byte{0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x78,0x40,0x38,0x00,0x00}, // e
'f':[]byte{0x00,0x00,0x1C,0x20,0x20,0x78,0x20,0x20,0x20,0x78,0x00,0x00}, // f
'g':[]byte{0x00,0x00,0x00,0x00,0x00,0x3C,0x48,0x30,0x40,0x78,0x44,0x38}, // g
'h':[]byte{0x00,0x00,0xC0,0x40,0x40,0x70,0x48,0x48,0x48,0xEC,0x00,0x00}, // h
'i':[]byte{0x00,0x00,0x20,0x00,0x00,0x60,0x20,0x20,0x20,0x70,0x00,0x00}, // i
'j':[]byte{0x00,0x00,0x10,0x00,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0xE0}, // j
'k':[]byte{0x00,0x00,0xC0,0x40,0x40,0x5C,0x50,0x70,0x48,0xEC,0x00,0x00}, // k
'l':[]byte{0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0xF8,0x00,0x00}, // l
'm':[]byte{0x00,0x00,0x00,0x00,0x00,0xF0,0xA8,0xA8,0xA8,0xA8,0x00,0x00}, // m
'n':[]byte{0x00,0x00,0x00,0x00,0x00,0xF0,0x48,0x48,0x48,0xEC,0x00,0x00}, // n
'o':[]byte{0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x48,0x48,0x30,0x00,0x00}, // o
'ö':[]byte{0x00,0x00,0x00,0x84,0x00,0x30,0x48,0x48,0x48,0x30,0x00,0x00},
'p':[]byte{0x00,0x00,0x00,0x00,0x00,0xF0,0x48,0x48,0x48,0x70,0x40,0xE0}, // p
'q':[]byte{0x00,0x00,0x00,0x00,0x00,0x38,0x48,0x48,0x48,0x38,0x08,0x1C}, // q
'r':[]byte{0x00,0x00,0x00,0x00,0x00,0xD8,0x60,0x40,0x40,0xE0,0x00,0x00}, // r
's':[]byte{0x00,0x00,0x00,0x00,0x00,0x78,0x40,0x30,0x08,0x78,0x00,0x00}, // s
't':[]byte{0x00,0x00,0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x18,0x00,0x00}, // t
'u':[]byte{0x00,0x00,0x00,0x00,0x00,0xD8,0x48,0x48,0x48,0x3C,0x00,0x00}, // u
'v':[]byte{0x00,0x00,0x00,0x00,0x00,0xEC,0x48,0x50,0x30,0x20,0x00,0x00}, // v
'w':[]byte{0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x70,0x50,0x50,0x00,0x00}, // w
'x':[]byte{0x00,0x00,0x00,0x00,0x00,0xD8,0x50,0x20,0x50,0xD8,0x00,0x00}, // x
'y':[]byte{0x00,0x00,0x00,0x00,0x00,0xEC,0x48,0x50,0x30,0x20,0x20,0xC0}, // y
'z':[]byte{0x00,0x00,0x00,0x00,0x00,0x78,0x10,0x20,0x20,0x78,0x00,0x00}, // z
'{':[]byte{0x00,0x18,0x10,0x10,0x10,0x20,0x10,0x10,0x10,0x10,0x18,0x00}, // {
'|':[]byte{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10}, // |
'}':[]byte{0x00,0x60,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0x60,0x00}, // }
'~':[]byte{0x40,0xA4,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ~
'€':[]byte{0x00,0x00,0x78,0x88,0xE0,0x80,0xE0,0x80,0x88,0x70,0x00,0x00},
}
result:=make(map[rune]MonoBitmap)
for s,dat:=range tmp{
bm:=NewMonoBitmap(8,12,false)
//Rullataan lapi
for x:=0;x<8;x++{
for y:=0;y<12;y++{
mask:=byte(1<<byte(8-x))
bm.SetPix(x,y,(dat[y]&mask)>0)
result[s]=bm
}
}
}
return result
}
func GetFont_6x10() map[rune]MonoBitmap{
/* Unicode: U+0020 ( ) , Width: 6 */
//Yksi tavu per rivi
tmp:=map[rune][]byte{
' ':[]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
/* Unicode: U+0021 (!) , Width: 6 */
'!':[]byte{0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00},
/* Unicode: U+0022 (") , Width: 6 */
'"':[]byte{0x00, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
/* Unicode: U+0023 (#) , Width: 6 */
'#':[]byte{0x00, 0x50, 0x50, 0xF8, 0x50, 0xF8, 0x50, 0x50, 0x00, 0x00},
/* Unicode: U+0024 ($) , Width: 6 */
'$':[]byte{0x00, 0x20, 0x70, 0xA0, 0x70, 0x28, 0x70, 0x20, 0x00, 0x00},
/* Unicode: U+0025 (%) , Width: 6 */
'%':[]byte{0x00, 0x48, 0xA8, 0x50, 0x20, 0x50, 0xA8, 0x90, 0x00, 0x00},
/* Unicode: U+0026 (&) , Width: 6 */
'&':[]byte{0x00, 0x40, 0xA0, 0xA0, 0x40, 0xA8, 0x90, 0x68, 0x00, 0x00},
/* Unicode: U+0027 (') , Width: 6 */
'\'':[]byte{0x00, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
/* Unicode: U+0028 (() , Width: 6 */
'(':[]byte{0x00, 0x10, 0x20, 0x40, 0x40, 0x40, 0x20, 0x10, 0x00, 0x00},
/* Unicode: U+0029 ()) , Width: 6 */
')':[]byte{0x00, 0x40, 0x20, 0x10, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00},
/* Unicode: U+002A (*) , Width: 6 */
'*':[]byte{0x00, 0x00, 0x88, 0x50, 0xF8, 0x50, 0x88, 0x00, 0x00, 0x00},
/* Unicode: U+002B (+) , Width: 6 */
'+':[]byte{0x00, 0x00, 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00},
/* Unicode: U+002C (,) , Width: 6 */
',':[]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x20, 0x40, 0x00},
/* Unicode: U+002D (-) , Width: 6 */
'-':[]byte{0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00},
/* Unicode: U+002E (.) , Width: 6 */
'.':[]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x70, 0x20, 0x00},
/* Unicode: U+002F (/) , Width: 6 */
'/':[]byte{0x00, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00},
/* Unicode: U+0030 (0) , Width: 6 */
'0':[]byte{0x00, 0x20, 0x50, 0x88, 0x88, 0x88, 0x50, 0x20, 0x00, 0x00},
/* Unicode: U+0031 (1) , Width: 6 */
'1':[]byte{0x00, 0x20, 0x60, 0xA0, 0x20, 0x20, 0x20, 0xF8, 0x00, 0x00},
/* Unicode: U+0032 (2) , Width: 6 */
'2':[]byte{0x00, 0x70, 0x88, 0x08, 0x30, 0x40, 0x80, 0xF8, 0x00, 0x00},
/* Unicode: U+0033 (3) , Width: 6 */
'3':[]byte{0x00, 0xF8, 0x08, 0x10, 0x30, 0x08, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0034 (4) , Width: 6 */
'4':[]byte{0x00, 0x10, 0x30, 0x50, 0x90, 0xF8, 0x10, 0x10, 0x00, 0x00},
/* Unicode: U+0035 (5) , Width: 6 */
'5':[]byte{0x00, 0xF8, 0x80, 0xB0, 0xC8, 0x08, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0036 (6) , Width: 6 */
'6':[]byte{0x00, 0x30, 0x40, 0x80, 0xB0, 0xC8, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0037 (7) , Width: 6 */
'7':[]byte{0x00, 0xF8, 0x08, 0x10, 0x10, 0x20, 0x40, 0x40, 0x00, 0x00},
/* Unicode: U+0038 (8) , Width: 6 */
'8':[]byte{0x00, 0x70, 0x88, 0x88, 0x70, 0x88, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0039 (9) , Width: 6 */
'9':[]byte{0x00, 0x70, 0x88, 0x98, 0x68, 0x08, 0x10, 0x60, 0x00, 0x00},
/* Unicode: U+003A (:) , Width: 6 */
':':[]byte{0x00, 0x00, 0x20, 0x70, 0x20, 0x00, 0x20, 0x70, 0x20, 0x00},
/* Unicode: U+003B (;) , Width: 6 */
';':[]byte{0x00, 0x00, 0x20, 0x70, 0x20, 0x00, 0x30, 0x20, 0x40, 0x00},
/* Unicode: U+003C (<) , Width: 6 */
'<':[]byte{0x00, 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00},
/* Unicode: U+003D (=) , Width: 6 */
'=':[]byte{0x00, 0x00, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00},
/* Unicode: U+003E (>) , Width: 6 */
'>':[]byte{0x00, 0x40, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00},
/* Unicode: U+003F (?) , Width: 6 */
'?':[]byte{0x00, 0x70, 0x88, 0x10, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00},
/* Unicode: U+0040 (@) , Width: 6 */
'@':[]byte{0x00, 0x70, 0x88, 0x98, 0xA8, 0xB0, 0x80, 0x70, 0x00, 0x00},
/* Unicode: U+0041 (A) , Width: 6 */
'A':[]byte{0x00, 0x20, 0x50, 0x88, 0x88, 0xF8, 0x88, 0x88, 0x00, 0x00},
'Ä':[]byte{0x8F, 0x20, 0x50, 0x88, 0x88, 0xF8, 0x88, 0x88, 0x00, 0x00},
/* Unicode: U+0042 (B) , Width: 6 */
'B':[]byte{0x00, 0xF0, 0x48, 0x48, 0x70, 0x48, 0x48, 0xF0, 0x00, 0x00},
/* Unicode: U+0043 (C) , Width: 6 */
'C':[]byte{0x00, 0x70, 0x88, 0x80, 0x80, 0x80, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0044 (D) , Width: 6 */
'D':[]byte{0x00, 0xF0, 0x48, 0x48, 0x48, 0x48, 0x48, 0xF0, 0x00, 0x00},
/* Unicode: U+0045 (E) , Width: 6 */
'E':[]byte{0x00, 0xF8, 0x80, 0x80, 0xF0, 0x80, 0x80, 0xF8, 0x00, 0x00},
/* Unicode: U+0046 (F) , Width: 6 */
'F':[]byte{0x00, 0xF8, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x00, 0x00},
/* Unicode: U+0047 (G) , Width: 6 */
'G':[]byte{0x00, 0x70, 0x88, 0x80, 0x80, 0x98, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0048 (H) , Width: 6 */
'H':[]byte{0x00, 0x88, 0x88, 0x88, 0xF8, 0x88, 0x88, 0x88, 0x00, 0x00},
/* Unicode: U+0049 (I) , Width: 6 */
'I':[]byte{0x00, 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00},
/* Unicode: U+004A (J) , Width: 6 */
'J':[]byte{0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x90, 0x60, 0x00, 0x00},
/* Unicode: U+004B (K) , Width: 6 */
'K':[]byte{0x00, 0x88, 0x90, 0xA0, 0xC0, 0xA0, 0x90, 0x88, 0x00, 0x00},
/* Unicode: U+004C (L) , Width: 6 */
'L':[]byte{0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xF8, 0x00, 0x00},
/* Unicode: U+004D (M) , Width: 6 */
'M':[]byte{0x00, 0x88, 0x88, 0xD8, 0xA8, 0x88, 0x88, 0x88, 0x00, 0x00},
/* Unicode: U+004E (N) , Width: 6 */
'N':[]byte{0x00, 0x88, 0x88, 0xC8, 0xA8, 0x98, 0x88, 0x88, 0x00, 0x00},
/* Unicode: U+004F (O) , Width: 6 */
'O':[]byte{0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00},
'Ö':[]byte{0x8F, 0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0050 (P) , Width: 6 */
'P':[]byte{0x00, 0xF0, 0x88, 0x88, 0xF0, 0x80, 0x80, 0x80, 0x00, 0x00},
/* Unicode: U+0051 (Q) , Width: 6 */
'Q':[]byte{0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0xA8, 0x70, 0x08, 0x00},
/* Unicode: U+0052 (R) , Width: 6 */
'R':[]byte{0x00, 0xF0, 0x88, 0x88, 0xF0, 0xA0, 0x90, 0x88, 0x00, 0x00},
/* Unicode: U+0053 (S) , Width: 6 */
'S':[]byte{0x00, 0x70, 0x88, 0x80, 0x70, 0x08, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0054 (T) , Width: 6 */
'T':[]byte{0x00, 0xF8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00},
/* Unicode: U+0055 (U) , Width: 6 */
'U':[]byte{0x00, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0056 (V) , Width: 6 */
'V':[]byte{0x00, 0x88, 0x88, 0x88, 0x50, 0x50, 0x50, 0x20, 0x00, 0x00},
/* Unicode: U+0057 (W) , Width: 6 */
'W':[]byte{0x00, 0x88, 0x88, 0x88, 0xA8, 0xA8, 0xD8, 0x88, 0x00, 0x00},
/* Unicode: U+0058 (X) , Width: 6 */
'X':[]byte{0x00, 0x88, 0x88, 0x50, 0x20, 0x50, 0x88, 0x88, 0x00, 0x00},
/* Unicode: U+0059 (Y) , Width: 6 */
'Y':[]byte{0x00, 0x88, 0x88, 0x50, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00},
/* Unicode: U+005A (Z) , Width: 6 */
'Z':[]byte{0x00, 0xF8, 0x08, 0x10, 0x20, 0x40, 0x80, 0xF8, 0x00, 0x00},
/* Unicode: U+005B ([) , Width: 6 */
'[':[]byte{0x00, 0x70, 0x40, 0x40, 0x40, 0x40, 0x40, 0x70, 0x00, 0x00},
/* Unicode: U+005C (\) , Width: 6 */
'\\':[]byte{0x00, 0x80, 0x80, 0x40, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00},
/* Unicode: U+005D (]) , Width: 6 */
']':[]byte{0x00, 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x70, 0x00, 0x00},
/* Unicode: U+005E (^) , Width: 6 */
'^':[]byte{0x00, 0x20, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
/* Unicode: U+005F (_) , Width: 6 */
'_':[]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00},
/* Unicode: U+0060 (`) , Width: 6 */
'`':[]byte{0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
/* Unicode: U+0061 (a) , Width: 6 */
'a':[]byte{0x00, 0x00, 0x00, 0x70, 0x08, 0x78, 0x88, 0x78, 0x00, 0x00},
'ä':[]byte{0x00, 0x8F, 0x00, 0x70, 0x08, 0x78, 0x88, 0x78, 0x00, 0x00},
/* Unicode: U+0062 (b) , Width: 6 */
'b':[]byte{0x00, 0x80, 0x80, 0xB0, 0xC8, 0x88, 0xC8, 0xB0, 0x00, 0x00},
/* Unicode: U+0063 (c) , Width: 6 */
'c':[]byte{0x00, 0x00, 0x00, 0x70, 0x88, 0x80, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0064 (d) , Width: 6 */
'd':[]byte{0x00, 0x08, 0x08, 0x68, 0x98, 0x88, 0x98, 0x68, 0x00, 0x00},
/* Unicode: U+0065 (e) , Width: 6 */
'e':[]byte{0x00, 0x00, 0x00, 0x70, 0x88, 0xF8, 0x80, 0x70, 0x00, 0x00},
/* Unicode: U+0066 (f) , Width: 6 */
'f':[]byte{0x00, 0x30, 0x48, 0x40, 0xF0, 0x40, 0x40, 0x40, 0x00, 0x00},
/* Unicode: U+0067 (g) , Width: 6 */
'g':[]byte{0x00, 0x00, 0x00, 0x78, 0x88, 0x88, 0x78, 0x08, 0x88, 0x70},
/* Unicode: U+0068 (h) , Width: 6 */
'h':[]byte{0x00, 0x80, 0x80, 0xB0, 0xC8, 0x88, 0x88, 0x88, 0x00, 0x00},
/* Unicode: U+0069 (i) , Width: 6 */
'i':[]byte{0x00, 0x20, 0x00, 0x60, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00},
/* Unicode: U+006A (j) , Width: 6 */
'j':[]byte{0x00, 0x08, 0x00, 0x18, 0x08, 0x08, 0x08, 0x48, 0x48, 0x30},
/* Unicode: U+006B (k) , Width: 6 */
'k':[]byte{0x00, 0x80, 0x80, 0x88, 0x90, 0xE0, 0x90, 0x88, 0x00, 0x00},
/* Unicode: U+006C (l) , Width: 6 */
'l':[]byte{0x00, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00},
/* Unicode: U+006D (m) , Width: 6 */
'm':[]byte{0x00, 0x00, 0x00, 0xD0, 0xA8, 0xA8, 0xA8, 0x88, 0x00, 0x00},
/* Unicode: U+006E (n) , Width: 6 */
'n':[]byte{0x00, 0x00, 0x00, 0xB0, 0xC8, 0x88, 0x88, 0x88, 0x00, 0x00},
/* Unicode: U+006F (o) , Width: 6 */
'o':[]byte{0x00, 0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00},
'ö':[]byte{0x00, 0x8F, 0x00, 0x70, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00},
/* Unicode: U+0070 (p) , Width: 6 */
'p':[]byte{0x00, 0x00, 0x00, 0xB0, 0xC8, 0x88, 0xC8, 0xB0, 0x80, 0x80},
/* Unicode: U+0071 (q) , Width: 6 */
'q':[]byte{0x00, 0x00, 0x00, 0x68, 0x98, 0x88, 0x98, 0x68, 0x08, 0x08},
/* Unicode: U+0072 (r) , Width: 6 */
'r':[]byte{0x00, 0x00, 0x00, 0xB0, 0xC8, 0x80, 0x80, 0x80, 0x00, 0x00},
/* Unicode: U+0073 (s) , Width: 6 */
's':[]byte{0x00, 0x00, 0x00, 0x70, 0x80, 0x70, 0x08, 0xF0, 0x00, 0x00},
/* Unicode: U+0074 (t) , Width: 6 */
't':[]byte{0x00, 0x40, 0x40, 0xF0, 0x40, 0x40, 0x48, 0x30, 0x00, 0x00},
/* Unicode: U+0075 (u) , Width: 6 */
'u':[]byte{0x00, 0x00, 0x00, 0x88, 0x88, 0x88, 0x98, 0x68, 0x00, 0x00},
/* Unicode: U+0076 (v) , Width: 6 */
'v':[]byte{0x00, 0x00, 0x00, 0x88, 0x88, 0x50, 0x50, 0x20, 0x00, 0x00},
/* Unicode: U+0077 (w) , Width: 6 */
'w':[]byte{0x00, 0x00, 0x00, 0x88, 0x88, 0xA8, 0xA8, 0x50, 0x00, 0x00},
/* Unicode: U+0078 (x) , Width: 6 */
'x':[]byte{0x00, 0x00, 0x00, 0x88, 0x50, 0x20, 0x50, 0x88, 0x00, 0x00},
/* Unicode: U+0079 (y) , Width: 6 */
'y':[]byte{0x00, 0x00, 0x00, 0x88, 0x88, 0x98, 0x68, 0x08, 0x88, 0x70},
/* Unicode: U+007A (z) , Width: 6 */
'z':[]byte{0x00, 0x00, 0x00, 0xF8, 0x10, 0x20, 0x40, 0xF8, 0x00, 0x00},
/* Unicode: U+007B ({) , Width: 6 */
'{':[]byte{0x00, 0x18, 0x20, 0x10, 0x60, 0x10, 0x20, 0x18, 0x00, 0x00},
/* Unicode: U+007C (|) , Width: 6 */
'|':[]byte{0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00},
/* Unicode: U+007D (}) , Width: 6 */
'}':[]byte{0x00, 0x60, 0x10, 0x20, 0x18, 0x20, 0x10, 0x60, 0x00, 0x00},
/* Unicode: U+007E (~) , Width: 6 */
'~':[]byte{0x00, 0x48, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
'€':[]byte{0x00, 0x70, 0x88, 0xE0, 0x80, 0xE0, 0x88, 0x70, 0x00, 0x00},
}
result:=make(map[rune]MonoBitmap)
for s,dat:=range tmp{
bm:=NewMonoBitmap(6,10,false)
//Rullataan lapi
for x:=0;x<6;x++{
for y:=0;y<10;y++{
mask:=byte(1<<byte(8-x))
bm.SetPix(x,y,(dat[y]&mask)>0)
result[s]=bm
/*mask:=byte(1<<byte(y))
bm.SetPix(x,y,(dat[x]&mask)>0)
result[s]=bm*/
}
}
}
return result
}
func GetFont_3x6() map[rune]MonoBitmap{
tmp:=map[rune][]byte{
' ':[]byte{0x00, 0x00, 0x00}, // ' ' 32
'!':[]byte{0x00, 0x17, 0x00}, // '!' 33
'"':[]byte{0x03, 0x00, 0x03}, // '"' 34
'#':[]byte{0x1F, 0x0A, 0x1F}, // '#' 35
'$':[]byte{0x16, 0x1F, 0x0D}, // '$' 36
'%':[]byte{0x19, 0x04, 0x13}, // '%' 37
'&':[]byte{0x1A, 0x15, 0x0A}, // '&' 38
'\'':[]byte{0x00, 0x03, 0x00}, // ''' 39
'(':[]byte{0x0E, 0x11, 0x00}, // '(' 40
')':[]byte{0x00, 0x11, 0x0E}, // ')' 41
'*':[]byte{0x0A, 0x04, 0x0A}, // '*' 42
'+':[]byte{0x04, 0x0E, 0x04}, // '+' 43
',':[]byte{0x10, 0x08, 0x00}, // ',' 44
'-':[]byte{0x04, 0x04, 0x04}, // '-' 45
'.':[]byte{0x00, 0x10, 0x00}, // '.' 46
'/':[]byte{0x18, 0x04, 0x03}, // '/' 47
'0':[]byte{0x1F, 0x11, 0x1F}, // '0' 48
'1':[]byte{0x12, 0x1F, 0x10}, // '1' 49
'2':[]byte{0x1D, 0x15, 0x17}, // '2' 50
'3':[]byte{0x11, 0x15, 0x1F}, // '3' 51
'4':[]byte{0x07, 0x04, 0x1F}, // '4' 52
'5':[]byte{0x17, 0x15, 0x1D}, // '5' 53
'6':[]byte{0x1F, 0x15, 0x1D}, // '6' 54
'7':[]byte{0x19, 0x05, 0x03}, // '7' 55
'8':[]byte{0x1F, 0x15, 0x1F}, // '8' 56
'9':[]byte{0x17, 0x15, 0x1F}, // '9' 57
':':[]byte{0x00, 0x0A, 0x00}, // ':' 58
';':[]byte{0x10, 0x0A, 0x00}, // ';' 59
'<':[]byte{0x04, 0x0A, 0x11}, // '<' 60
'=':[]byte{0x0A, 0x0A, 0x0A}, // '=' 61
'>':[]byte{0x11, 0x0A, 0x04}, // '>' 62
'?':[]byte{0x01, 0x15, 0x03}, // '?' 63
'@':[]byte{0x0E, 0x11, 0x16}, // '@' 64
'A':[]byte{0x1F, 0x05, 0x1F}, // 'A' 65
'Ä':[]byte{0x1D, 0x0A, 0x1D},
'B':[]byte{0x1F, 0x15, 0x1B}, // 'B' 66
'C':[]byte{0x0E, 0x11, 0x11}, // 'C' 67
'D':[]byte{0x1F, 0x11, 0x0E}, // 'D' 68
'E':[]byte{0x1F, 0x15, 0x15}, // 'E' 69
'F':[]byte{0x1F, 0x05, 0x05}, // 'F' 70
'G':[]byte{0x0E, 0x11, 0x1D}, // 'G' 71
'H':[]byte{0x1F, 0x04, 0x1F}, // 'H' 72
'I':[]byte{0x11, 0x1F, 0x11}, // 'I' 73
'J':[]byte{0x08, 0x11, 0x0F}, // 'J' 74
'K':[]byte{0x1F, 0x04, 0x1B}, // 'K' 75
'L':[]byte{0x1F, 0x10, 0x10}, // 'L' 76
'M':[]byte{0x1F, 0x02, 0x1F}, // 'M' 77
'N':[]byte{0x1F, 0x01, 0x1E}, // 'N' 78
'O':[]byte{0x0E, 0x11, 0x0E}, // 'O' 79
'Ö':[]byte{0x0D, 0x12, 0x0D},
'P':[]byte{0x1F, 0x05, 0x06}, // 'P' 80
'Q':[]byte{0x0E, 0x19, 0x1F}, // 'Q' 81
'R':[]byte{0x1F, 0x05, 0x1B}, // 'R' 82
'S':[]byte{0x12, 0x15, 0x09}, // 'S' 83
'T':[]byte{0x01, 0x1F, 0x01}, // 'T' 84
'U':[]byte{0x0F, 0x10, 0x1F}, // 'U' 85
'V':[]byte{0x0F, 0x10, 0x0F}, // 'V' 86
'W':[]byte{0x1F, 0x0C, 0x1F}, // 'W' 87
'X':[]byte{0x1B, 0x04, 0x1B}, // 'X' 88
'Y':[]byte{0x03, 0x1C, 0x03}, // 'Y' 89
'Z':[]byte{0x19, 0x15, 0x13}, // 'Z' 90
'[':[]byte{0x00, 0x1F, 0x11}, // '[' 91
'\\':[]byte{0x03, 0x04, 0x18}, // '\' 92
']':[]byte{0x11, 0x1F, 0x00}, // ']' 93
'^':[]byte{0x02, 0x01, 0x02}, // '^' 94
'_':[]byte{0x10, 0x10, 0x10}, // '_' 95
'`':[]byte{0x01, 0x02, 0x00}, // '`' 96
'a':[]byte{0x0C, 0x12, 0x1E}, // 'a' 97
'ä':[]byte{0x0D, 0x12, 0x1F},
'b':[]byte{0x1F, 0x12, 0x0C}, // 'b' 98
'c':[]byte{0x0C, 0x12, 0x12}, // 'c' 99
'd':[]byte{0x0C, 0x12, 0x1F}, // 'd' 100
'e':[]byte{0x0C, 0x1A, 0x16}, // 'e' 101
'f':[]byte{0x1E, 0x09, 0x02}, // 'f' 102
'g':[]byte{0x24, 0x2A, 0x1E}, // 'g' 103
'h':[]byte{0x1F, 0x04, 0x18}, // 'h' 104
'i':[]byte{0x00, 0x1D, 0x00}, // 'i' 105
'j':[]byte{0x20, 0x20, 0x1D}, // 'j' 106
'k':[]byte{0x1F, 0x04, 0x1A}, // 'k' 107
'l':[]byte{0x00, 0x0F, 0x10}, // 'l' 108
'm':[]byte{0x1E, 0x04, 0x1E}, // 'm' 109
'n':[]byte{0x1E, 0x02, 0x1C}, // 'n' 110
'o':[]byte{0x0C, 0x12, 0x0C}, // 'o' 111
'ö':[]byte{0x0E, 0x12, 0x0E},
'p':[]byte{0x3E, 0x0A, 0x04}, // 'p' 112
'q':[]byte{0x04, 0x0A, 0x3E}, // 'q' 113
'r':[]byte{0x1E, 0x04, 0x02}, // 'r' 114
's':[]byte{0x14, 0x16, 0x1A}, // 's' 115
't':[]byte{0x02, 0x0F, 0x12}, // 't' 116
'u':[]byte{0x0E, 0x10, 0x1E}, // 'u' 117
'v':[]byte{0x0E, 0x10, 0x0E}, // 'v' 118
'w':[]byte{0x1E, 0x08, 0x1E}, // 'w' 119
'x':[]byte{0x1A, 0x04, 0x1A}, // 'x' 120
'y':[]byte{0x26, 0x28, 0x1E}, // 'y' 121
'z':[]byte{0x1A, 0x1E, 0x16}, // 'z' 122
'{':[]byte{0x04, 0x1F, 0x11}, // '{' 123
'|':[]byte{0x00, 0x1F, 0x00}, // '|' 124
'}':[]byte{0x11, 0x1F, 0x04}, // '}' 125
'~':[]byte{0x01, 0x03, 0x02}, // '~' 126
'€':[]byte{0x0E, 0x15, 0x11},
}
result:=make(map[rune]MonoBitmap)
for s,dat:=range tmp{
bm:=NewMonoBitmap(3,6,false)
//Rullataan lapi
for x:=0;x<3;x++{
for y:=0;y<6;y++{
mask:=byte(1<<byte(y))
bm.SetPix(x,y,(dat[x]&mask)>0)
result[s]=bm
}
}
}
return result
}
func GetFont_5x7() map[rune]MonoBitmap{
tmp:=map[rune][]byte{
' ':[]byte{0x00,0x00,0x00,0x00,0x00}, //
'!':[]byte{0x00,0x00,0xfa,0x00,0x00}, // !
'"':[]byte{0x00,0xe0,0x00,0xe0,0x00}, // "
'#':[]byte{0x28,0xfe,0x28,0xfe,0x28}, // #
'$':[]byte{0x24,0x54,0xfe,0x54,0x48}, // $
'%':[]byte{0xc4,0xc8,0x10,0x26,0x46}, // %
'&':[]byte{0x6c,0x92,0xaa,0x44,0x0a}, // &
'\'':[]byte{0x00,0xa0,0xc0,0x00,0x00}, // '
'(':[]byte{0x00,0x38,0x44,0x82,0x00}, // (
')':[]byte{0x00,0x82,0x44,0x38,0x00}, // )
'*':[]byte{0x10,0x54,0x38,0x54,0x10}, // *
'+':[]byte{0x08,0x08,0x3e,0x08,0x08}, // ,
',':[]byte{0x00,0x0a,0x0c,0x00,0x00}, // ,
'-':[]byte{0x10,0x10,0x10,0x10,0x10}, // -
'.':[]byte{0x00,0x06,0x06,0x00,0x00}, // .
'/':[]byte{0x04,0x08,0x10,0x20,0x40}, // /
'0':[]byte{0x7c,0x8a,0x92,0xa2,0x7c}, // 0
'1':[]byte{0x00,0x42,0xfe,0x02,0x00}, // 1
'2':[]byte{0x42,0x86,0x8a,0x92,0x62}, // 2
'3':[]byte{0x84,0x82,0xa2,0xd2,0x8c}, // 3
'4':[]byte{0x18,0x28,0x48,0xfe,0x08}, // 4
'5':[]byte{0xe4,0xa2,0xa2,0xa2,0x9c}, // 5
'6':[]byte{0x3c,0x52,0x92,0x92,0x0c}, // 6
'7':[]byte{0x80,0x8e,0x90,0xa0,0xc0}, // 7
'8':[]byte{0x6c,0x92,0x92,0x92,0x6c}, // 8
'9':[]byte{0x60,0x92,0x92,0x94,0x78}, // 9
':':[]byte{0x00,0x6c,0x6c,0x00,0x00}, // :
';':[]byte{0x00,0x6a,0x6c,0x00,0x00}, // ;
'<':[]byte{0x00,0x10,0x28,0x44,0x82}, // <
'=':[]byte{0x28,0x28,0x28,0x28,0x28}, // =
'>':[]byte{0x82,0x44,0x28,0x10,0x00}, // >
'?':[]byte{0x40,0x80,0x8a,0x90,0x60}, // ?
'@':[]byte{0x4c,0x92,0x9e,0x82,0x7c}, // @
'A':[]byte{0x7e,0x88,0x88,0x88,0x7e}, // A
'Ä':[]byte{0xBe,0x48,0x48,0x48,0xBe},
'B':[]byte{0xfe,0x92,0x92,0x92,0x6c}, // B
'C':[]byte{0x7c,0x82,0x82,0x82,0x44}, // C
'D':[]byte{0xfe,0x82,0x82,0x44,0x38}, // D
'E':[]byte{0xfe,0x92,0x92,0x92,0x82}, // E
'F':[]byte{0xfe,0x90,0x90,0x80,0x80}, // F
'G':[]byte{0x7c,0x82,0x82,0x8a,0x4c}, // G
'H':[]byte{0xfe,0x10,0x10,0x10,0xfe}, // H
'I':[]byte{0x00,0x82,0xfe,0x82,0x00}, // I
'J':[]byte{0x04,0x02,0x82,0xfc,0x80}, // J
'K':[]byte{0xfe,0x10,0x28,0x44,0x82}, // K
'L':[]byte{0xfe,0x02,0x02,0x02,0x02}, // L
'M':[]byte{0xfe,0x40,0x20,0x40,0xfe}, // M
'N':[]byte{0xfe,0x20,0x10,0x08,0xfe}, // N
'O':[]byte{0x7c,0x82,0x82,0x82,0x7c}, // O
'Ö':[]byte{0xbc,0x42,0x42,0x42,0xbc},
'P':[]byte{0xfe,0x90,0x90,0x90,0x60}, // P
'Q':[]byte{0x7c,0x82,0x8a,0x84,0x7a}, // Q
'R':[]byte{0xfe,0x90,0x98,0x94,0x62}, // R
'S':[]byte{0x62,0x92,0x92,0x92,0x8c}, // S
'T':[]byte{0x80,0x80,0xfe,0x80,0x80}, // T
'U':[]byte{0xfc,0x02,0x02,0x02,0xfc}, // U
'V':[]byte{0xf8,0x04,0x02,0x04,0xf8}, // V
'W':[]byte{0xfe,0x04,0x18,0x04,0xfe}, // W
'X':[]byte{0xc6,0x28,0x10,0x28,0xc6}, // X
'Y':[]byte{0xc0,0x20,0x1e,0x20,0xc0}, // Y
'Z':[]byte{0x86,0x8a,0x92,0xa2,0xc2}, // Z
'[':[]byte{0x00,0x00,0xfe,0x82,0x82}, // [
'\\':[]byte{0x40,0x20,0x10,0x08,0x04}, // '\'
']':[]byte{0x82,0x82,0xfe,0x00,0x00}, // ]
'^':[]byte{0x20,0x40,0x80,0x40,0x20}, // ^
'_':[]byte{0x02,0x02,0x02,0x02,0x02}, // _
'`':[]byte{0x00,0x80,0x40,0x20,0x00}, // `
'a':[]byte{0x04,0x2a,0x2a,0x2a,0x1e}, // a
'ä':[]byte{0x44,0x2a,0x2a,0x2a,0x5e},
'b':[]byte{0xfe,0x12,0x22,0x22,0x1c}, // b
'c':[]byte{0x1c,0x22,0x22,0x22,0x04}, // c
'd':[]byte{0x1c,0x22,0x22,0x12,0xfe}, // d
'e':[]byte{0x1c,0x2a,0x2a,0x2a,0x18}, // e
'f':[]byte{0x10,0x7e,0x90,0x80,0x40}, // f
'g':[]byte{0x10,0x28,0x2a,0x2a,0x3c}, // g
'h':[]byte{0xfe,0x10,0x20,0x20,0x1e}, // h
'i':[]byte{0x00,0x22,0xbe,0x02,0x00}, // i
'j':[]byte{0x04,0x02,0x22,0xbc,0x00}, // j
'k':[]byte{0x00,0xfe,0x08,0x14,0x22}, // k
'l':[]byte{0x00,0x82,0xfe,0x02,0x00}, // l
'm':[]byte{0x3e,0x20,0x18,0x20,0x1e}, // m
'n':[]byte{0x3e,0x10,0x20,0x20,0x1e}, // n
'o':[]byte{0x1c,0x22,0x22,0x22,0x1c}, // o
'ö':[]byte{0x5c,0x22,0x22,0x22,0x5c},
'p':[]byte{0x3e,0x28,0x28,0x28,0x10}, // p
'q':[]byte{0x10,0x28,0x28,0x18,0x3e}, // q
'r':[]byte{0x3e,0x10,0x20,0x20,0x10}, // r
's':[]byte{0x12,0x2a,0x2a,0x2a,0x04}, // s
't':[]byte{0x20,0xfc,0x22,0x02,0x04}, // t
'u':[]byte{0x3c,0x02,0x02,0x04,0x3e}, // u
'v':[]byte{0x38,0x04,0x02,0x04,0x38}, // v
'w':[]byte{0x3c,0x02,0x0c,0x02,0x3c}, // w
'x':[]byte{0x22,0x14,0x08,0x14,0x22}, // x
'y':[]byte{0x30,0x0a,0x0a,0x0a,0x3c}, // y
'z':[]byte{0x22,0x26,0x2a,0x32,0x22}, // z
'{':[]byte{0x00,0x10,0x6c,0x82,0x00}, // [
'|':[]byte{0x00,0x00,0xfe,0x00,0x00}, // |
'}':[]byte{0x00,0x82,0x6c,0x10,0x00}, // ]
'~':[]byte{0x40,0x80,0xc0,0x40,0x80},
'€':[]byte{0x7c|0x28,0x82|0x28,0x82|0x28,0x82,0x44},
}
result:=make(map[rune]MonoBitmap)
for s,dat:=range tmp{
bm:=NewMonoBitmap(5,7,false)
//Rullataan lapi
for x:=0;x<5;x++{
for y:=0;y<7;y++{
mask:=byte(1<<byte(7-y))
bm.SetPix(x,y,(dat[x]&mask)>0)
result[s]=bm
}
}
}
return result
}
func GetFont_8x8() map[rune]MonoBitmap{
tmp:=map[rune][]byte{
' ':[]byte{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, //
'!':[]byte{0x00,0x60,0xfa,0xfa,0x60,0x00,0x00,0x00}, // !
'"':[]byte{0x00,0xe0,0xe0,0x00,0xe0,0xe0,0x00,0x00}, // "
'#':[]byte{0x28,0xfe,0xfe,0x28,0xfe,0xfe,0x28,0x00}, // #
'$':[]byte{0x24,0x74,0xd6,0xd6,0x5c,0x48,0x00,0x00}, // $
'%':[]byte{0x62,0x66,0x0c,0x18,0x30,0x66,0x46,0x00}, // %
'&':[]byte{0x0c,0x5e,0xf2,0xba,0xec,0x5e,0x12,0x00}, // &
'\'':[]byte{0x20,0xe0,0xc0,0x00,0x00,0x00,0x00,0x00}, // '
'(':[]byte{0x00,0x38,0x7c,0xc6,0x82,0x00,0x00,0x00}, // (
')':[]byte{0x00,0x82,0xc6,0x7c,0x38,0x00,0x00,0x00}, // )
'*':[]byte{0x10,0x54,0x7c,0x38,0x38,0x7c,0x54,0x10}, // *
'+':[]byte{0x10,0x10,0x7c,0x7c,0x10,0x10,0x00,0x00}, // +
',':[]byte{0x00,0x05,0x07,0x06,0x00,0x00,0x00,0x00}, // ,
'-':[]byte{0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00}, // -
'.':[]byte{0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00}, // .
'/':[]byte{0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00}, // /
'0':[]byte{0x7c,0xfe,0x9a,0xb2,0xfe,0x7c,0x00,0x00}, // 0
'1':[]byte{0x42,0x42,0xfe,0xfe,0x02,0x02,0x00,0x00}, // 1
'2':[]byte{0x46,0xce,0x9a,0x92,0xf6,0x66,0x00,0x00}, // 2
'3':[]byte{0x44,0xc6,0x92,0x92,0xfe,0x6c,0x00,0x00}, // 3
'4':[]byte{0x18,0x38,0x68,0xc8,0xfe,0xfe,0x08,0x00}, // 4
'5':[]byte{0xe4,0xe6,0xa2,0xa2,0xbe,0x9c,0x00,0x00}, // 5
'6':[]byte{0x3c,0x7e,0xd2,0x92,0x9e,0x0c,0x00,0x00}, // 6
'7':[]byte{0xc0,0xc6,0x8e,0x98,0xf0,0xe0,0x00,0x00}, // 7
'8':[]byte{0x6c,0xfe,0x92,0x92,0xfe,0x6c,0x00,0x00}, // 8
'9':[]byte{0x60,0xf2,0x92,0x96,0xfc,0x78,0x00,0x00}, // 9
':':[]byte{0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00}, // :
';':[]byte{0x00,0x05,0x37,0x36,0x00,0x00,0x00,0x00}, // ;
'<':[]byte{0x10,0x38,0x6c,0xc6,0x82,0x00,0x00,0x00}, // <
'=':[]byte{0x28,0x28,0x28,0x28,0x28,0x28,0x00,0x00}, // =
'>':[]byte{0x00,0x82,0xc6,0x6c,0x38,0x10,0x00,0x00}, // >
'?':[]byte{0x40,0xc0,0x8a,0x9a,0xf0,0x60,0x00,0x00}, // ?
'@':[]byte{0x7c,0xfe,0x82,0xba,0xba,0xf8,0x78,0x00}, // @
'A':[]byte{0x3e,0x7e,0xc8,0xc8,0x7e,0x3e,0x00,0x00}, // A
'Ä':[]byte{0x3e+128,0x7e,0xc8,0xc8,0x7e,0x3e+128,0x00,0x00}, //Ä
'B':[]byte{0x82,0xfe,0xfe,0x92,0x92,0xfe,0x6c,0x00}, // B
'C':[]byte{0x38,0x7c,0xc6,0x82,0x82,0xc6,0x44,0x00}, // C
'D':[]byte{0x82,0xfe,0xfe,0x82,0xc6,0xfe,0x38,0x00}, // D
'E':[]byte{0x82,0xfe,0xfe,0x92,0xba,0x82,0xc6,0x00}, // E
'F':[]byte{0x82,0xfe,0xfe,0x92,0xb8,0x80,0xc0,0x00}, // F
'G':[]byte{0x38,0x7c,0xc6,0x82,0x8a,0xce,0x4e,0x00}, // G
'H':[]byte{0xfe,0xfe,0x10,0x10,0xfe,0xfe,0x00,0x00}, // H
'I':[]byte{0x00,0x82,0xfe,0xfe,0x82,0x00,0x00,0x00}, // I
'J':[]byte{0x0c,0x0e,0x02,0x82,0xfe,0xfc,0x80,0x00}, // J
'K':[]byte{0x82,0xfe,0xfe,0x10,0x38,0xee,0xc6,0x00}, // K
'L':[]byte{0x82,0xfe,0xfe,0x82,0x02,0x06,0x0e,0x00}, // L
'M':[]byte{0xfe,0xfe,0x60,0x30,0x60,0xfe,0xfe,0x00}, // M
'N':[]byte{0xfe,0xfe,0x60,0x30,0x18,0xfe,0xfe,0x00}, // N
'O':[]byte{0x38,0x7c,0xc6,0x82,0xc6,0x7c,0x38,0x00}, // O
'Ö':[]byte{0x38+128,0x7c,0xc6,0x82,0xc6,0x7c,0x38+128,0x00}, // Ö
'P':[]byte{0x82,0xfe,0xfe,0x92,0x90,0xf0,0x60,0x00}, // P
'Q':[]byte{0x78,0xfc,0x84,0x8e,0xfe,0x7a,0x00,0x00}, // Q
'R':[]byte{0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62,0x00}, // R
'S':[]byte{0x64,0xe6,0xb2,0x9a,0xde,0x4c,0x00,0x00}, // S
'T':[]byte{0xc0,0x82,0xfe,0xfe,0x82,0xc0,0x00,0x00}, // T
'U':[]byte{0xfe,0xfe,0x02,0x02,0xfe,0xfe,0x00,0x00}, // U
'V':[]byte{0xf8,0xfc,0x06,0x06,0xfc,0xf8,0x00,0x00}, // V
'W':[]byte{0xfe,0xfe,0x0c,0x18,0x0c,0xfe,0xfe,0x00}, // W
'X':[]byte{0xc6,0xee,0x38,0x10,0x38,0xee,0xc6,0x00}, // X
'Y':[]byte{0xe0,0xf2,0x1e,0x1e,0xf2,0xe0,0x00,0x00}, // Y
'Z':[]byte{0xe6,0xce,0x9a,0xb2,0xe2,0xc6,0x8e,0x00}, // Z
'[':[]byte{0x00,0xfe,0xfe,0x82,0x82,0x00,0x00,0x00}, // [
'\\':[]byte{0x80,0xc0,0x60,0x30,0x18,0x0c,0x06,0x00}, // '\'
']':[]byte{0x00,0x82,0x82,0xfe,0xfe,0x00,0x00,0x00}, // ]
'^':[]byte{0x10,0x30,0x60,0xc0,0x60,0x30,0x10,0x00}, // ^
'_':[]byte{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, // _
'`':[]byte{0x00,0x00,0xc0,0xe0,0x20,0x00,0x00,0x00}, // `
'a':[]byte{0x04,0x2e,0x2a,0x2a,0x3c,0x1e,0x02,0x00}, // a
'ä':[]byte{0x04+64,0x2e,0x2a,0x2a,0x3c,0x1e+64,0x02,0x00}, // ä
'b':[]byte{0x82,0xfc,0xfe,0x22,0x22,0x3e,0x1c,0x00}, // b
'c':[]byte{0x1c,0x3e,0x22,0x22,0x36,0x14,0x00,0x00}, // c
'd':[]byte{0x0c,0x1e,0x12,0x92,0xfc,0xfe,0x02,0x00}, // d
'e':[]byte{0x1c,0x3e,0x2a,0x2a,0x3a,0x18,0x00,0x00}, // e
'f':[]byte{0x12,0x7e,0xfe,0x92,0xc0,0x40,0x00,0x00}, // f
'g':[]byte{0x19,0x3d,0x25,0x25,0x1f,0x3e,0x20,0x00}, // g
'h':[]byte{0x82,0xfe,0xfe,0x10,0x20,0x3e,0x1e,0x00}, // h
'i':[]byte{0x00,0x22,0xbe,0xbe,0x02,0x00,0x00,0x00}, // i
'j':[]byte{0x02,0x23,0x21,0xbf,0xbe,0x00,0x00,0x00}, // j
'k':[]byte{0x82,0xfe,0xfe,0x08,0x1c,0x36,0x22,0x00}, // k
'l':[]byte{0x00,0x82,0xfe,0xfe,0x02,0x00,0x00,0x00}, // l
'm':[]byte{0x3e,0x3e,0x30,0x18,0x30,0x3e,0x1e,0x00}, // m
'n':[]byte{0x3e,0x3e,0x20,0x20,0x3e,0x1e,0x00,0x00}, // n
'o':[]byte{0x1c,0x3e,0x22,0x22,0x3e,0x1c,0x00,0x00}, // o
'ö':[]byte{0x1c+64,0x3e,0x22,0x22,0x3e,0x1c+64,0x00,0x00}, // ö
'p':[]byte{0x21,0x3f,0x1f,0x25,0x24,0x3c,0x18,0x00}, // p
'q':[]byte{0x18,0x3c,0x24,0x25,0x1f,0x3f,0x21,0x00}, // q
'r':[]byte{0x22,0x3e,0x1e,0x22,0x38,0x18,0x00,0x00}, // r
's':[]byte{0x12,0x3a,0x2a,0x2a,0x2e,0x24,0x00,0x00}, // s
't':[]byte{0x00,0x20,0x7c,0xfe,0x22,0x24,0x00,0x00}, // t
'u':[]byte{0x3c,0x3e,0x02,0x02,0x3c,0x3e,0x02,0x00}, // u
'v':[]byte{0x38,0x3c,0x06,0x06,0x3c,0x38,0x00,0x00}, // v
'w':[]byte{0x3c,0x3e,0x06,0x0c,0x06,0x3e,0x3c,0x00}, // w
'x':[]byte{0x22,0x36,0x1c,0x08,0x1c,0x36,0x22,0x00}, // x
'y':[]byte{0x39,0x3d,0x05,0x05,0x3f,0x3e,0x00,0x00}, // y
'z':[]byte{0x32,0x26,0x2e,0x3a,0x32,0x26,0x00,0x00}, // z
'{':[]byte{0x10,0x10,0x7c,0xee,0x82,0x82,0x00,0x00}, // {
'|':[]byte{0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00}, // |
'}':[]byte{0x82,0x82,0xee,0x7c,0x10,0x10,0x00,0x00}, // }
'~':[]byte{0x40,0xc0,0x80,0xc0,0x40,0xc0,0x80,0x00}, // ~
'€':[]byte{0x38,0x7c,0xe6+8,0xA2+8,0xA2+8,0xc6,0x44,0x00},
}
result:=make(map[rune]MonoBitmap)
for s,dat:=range tmp{
bm:=NewMonoBitmap(8,8,false)
for x:=0;x<8;x++{
for y:=0;y<8;y++{
mask:=byte(1<<byte(7-y))
bm.SetPix(x,y,(dat[x]&mask)>0)
result[s]=bm
}
}
}
return result
}
func GetFont_11x16() map[rune]MonoBitmap{
tmp:=map[rune][]uint16{
' ':[]uint16{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // ' ' 32
'!':[]uint16{0, 0, 0, 124, 13311, 13311, 124, 0, 0, 0, 0}, // '!' 33
'"':[]uint16{0, 0, 60, 60, 0, 0, 60, 60, 0, 0, 0}, // '"' 34
'#':[]uint16{512, 7696, 8080, 1008, 638, 7710, 8080, 1008, 638, 30, 16}, // '#' 35
'$':[]uint16{0, 1144, 3324, 3276, 16383, 16383, 3276, 4044, 1928, 0, 0}, // '$' 36
'%':[]uint16{12288, 14392, 7224, 3640, 1792, 896, 448, 14560, 14448, 14392, 28}, // '%' 37
'&':[]uint16{0, 7936, 16312, 12796, 8646, 14306, 7742, 7196, 13824, 8704, 0}, // '&' 38
'\'':[]uint16{0, 0, 0, 39, 63, 31, 0, 0, 0, 0, 0 }, // ''' 39
'(':[]uint16{0, 0, 1008, 4092, 8190, 14343, 8193, 8193, 0, 0, 0}, // '(' 40
')':[]uint16{0, 0, 8193, 8193, 14343, 8190, 4092, 1008, 0, 0, 0}, // ')' 41
'*':[]uint16{0, 3224, 3768, 992, 4088, 4088, 992, 3768, 3224, 0, 0}, // '*' 42
'+':[]uint16{0, 384, 384, 384, 4080, 4080, 384, 384, 384, 0, 0}, // '+' 43
',':[]uint16{0, 0, 0, 47104, 63488, 30720, 0, 0, 0, 0, 0}, // ',' 44
'-':[]uint16{0, 384, 384, 384, 384, 384, 384, 384, 384, 0, 0}, // '-' 45
'.':[]uint16{0, 0, 0, 14336, 14336, 14336, 0, 0, 0, 0, 0}, // '.' 46
'/':[]uint16{6144, 7168, 3584, 1792, 896, 448, 224, 112, 56, 28, 14}, // '/' 47
'0':[]uint16{2040, 8190, 7686, 13059, 12675, 12483, 12387, 12339, 6174, 8190, 2040}, // '0' 48
'1':[]uint16{0, 0, 12300, 12300, 12302, 16383, 16383, 12288, 12288, 12288, 0}, // '1' 49
'2':[]uint16{12316, 14366, 15367, 15875, 14083, 13187, 12739, 12515, 12407, 12350, 12316}, // '2' 50
'3':[]uint16{3084, 7182, 14343, 12483, 12483, 12483, 12483, 12483, 14823, 8062, 3644}, // '3' 51
'4':[]uint16{960, 992, 880, 824, 796, 782, 775, 16383, 16383, 768, 768}, // '4' 52
'5':[]uint16{3135, 7295, 14435, 12387, 12387, 12387, 12387, 12387, 14563, 8131, 3971}, // '5' 53
'6':[]uint16{4032, 8176, 14840, 12508, 12494, 12487, 12483, 12483, 14787, 8064, 3840}, // '6' 54
'7':[]uint16{3, 3, 3, 12291, 15363, 3843, 963, 243, 63, 15, 3}, // '7' 55
'8':[]uint16{3840, 8124, 14846, 12519, 12483, 12483, 12483, 12519, 14846, 8124, 3840}, // '8' 56
'9':[]uint16{60, 126, 12519, 12483, 12483, 14531, 7363, 3779, 2023, 1022, 252}, // '9' 57
':':[]uint16{0, 0, 0, 7280, 7280, 7280, 0, 0, 0, 0, 0}, // ':' 58
';':[]uint16{0, 0, 0, 40048, 64624, 31856, 0, 0, 0, 0, 0}, // ';' 59
'<':[]uint16{0, 192, 480, 1008, 1848, 3612, 7182, 14343, 12291, 0, 0}, // '<' 60
'=':[]uint16{0, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 0}, // '=' 61
'>':[]uint16{0, 12291, 14343, 7182, 3612, 1848, 1008, 480, 192, 0, 0}, // '>' 62
'?':[]uint16{28, 30, 7, 3, 14211, 14275, 227, 119, 62, 28, 0}, // '?' 63
'@':[]uint16{4088, 8190, 6151, 13299, 14331, 13851, 14331, 14331, 13831, 1022, 504}, // '@' 64
'A':[]uint16{14336, 16128, 2016, 1788, 1567, 1567, 1788, 2016, 16128, 14336, 0}, // 'A' 65
'Ä':[]uint16{14336+7, 16128+7, 2016, 1788, 1567, 1567, 1788, 2016, 16128+7, 14336+7, 0}, // 'A' 65
'B':[]uint16{16383, 16383, 12483, 12483, 12483, 12483, 12519, 14846, 8124, 3840, 0}, // 'B' 66
'C':[]uint16{1008, 4092, 7182, 14343, 12291, 12291, 12291, 14343, 7182, 3084, 0}, // 'C' 67
'D':[]uint16{16383, 16383, 12291, 12291, 12291, 12291, 14343, 7182, 4092, 1008, 0}, // 'D' 68
'E':[]uint16{16383, 16383, 12483, 12483, 12483, 12483, 12483, 12483, 12291, 12291, 0}, // 'E' 69
'F':[]uint16{16383, 16383, 195, 195, 195, 195, 195, 195, 3, 3, 0}, // 'F' 70
'G':[]uint16{1008, 4092, 7182, 14343, 12291, 12483, 12483, 12483, 16327, 16326, 0}, // 'G' 71
'H':[]uint16{16383, 16383, 192, 192, 192, 192, 192, 192, 16383, 16383, 0}, // 'H' 72