O!JBlxE(Z9wBO}CReV6#
zpwfO_n4Q9W!0qB#@d0dup`t)$e&(z|=Jb3{`sBn3ZQp2PzSx*z&;7#QFg3K-(ivyf
zKP+9t?)<{ib(+aFmhK>fAF^~OzGe1Xx{H$dFJfmql92xiKIC_@aR)Z*J%Y^
zvUCUKaJ!{D$>cqj?xHOI4OLJVHBgj#@VOOt#TMF$&su41gWgT8XfH>PcIu$}sGge9
z-cBuu5Lz{??a+nnq9$Z9sR$>u53&F~dhqI`g)|SZMys!os&66kH==ht;(F*7qKdAD
zXivjdbIVS%wyU9SXLqZ)JlfuIUwyN=y``twtnO&F32pS%(iBAILbJ&4jd+WEe)RjQq^dsIndlBoL>DHdMNXB8{DMJDr+As@
z(9qT0($Q}EeEve8&j-uZoc0JMy&9%{TE!nkxnFg)z{sSr#yUIL$u4%Yhm+XgWKQ8!
zPUCdW;7rcqY|h~cJdr1HF6Z%NzJaIkRG!8+vdQ^;6Hn)xc?QqqSzN%k@NAyLbJ@#<
zJdb_s=OPYpkV72i2+!vQypR`hF_-XSUc#kZ#^qeWm0ZQuT*FIw887Esc?GZJRlJ&O
z`8K|t>v#>XUqJB%6kkB`1r%RE@dXrL
zK=B0>UqJB%6kkB`1r%RU@dXuMQ1Jy7Ur_M{6<<*C1r=XV@dXuMQ1Jy7Ur_M{6<<*C
z1r=XN@r4v$Nb!XfUr6zV6kka3g%n>%@r4v$Nb!XfUr6zV6kka3g%n>{@r4y%Sn-7w
zUs&;l6<=8Kg%w{|@r4y%Sn-7wUs&;l6<=8Kg%w{!@kJD0MDaxwUqtam6kkN~MHF8|
z@kJD0MDaxwUqtam6kkN~l_`cYmAXu&E>o$?RL*iyQjxE$Lf)I|u1%wfP#l2x{lON5
zCiKPlCctlD%PO?R(k?QrklIFQO_YUC56~?&t$OvUHRNp6)VLU@zNRla)ds>)@nYRXry7Y@9A
zrngACHkH*?RDn%&+f-Sl8mI)L!8fkkap~!&hZ%#xH=FgT#bMXTt;Yv6d_Oy0cRR`L
zS~vE}XsJhNbzgq`%J1DSa=ZT!P04?~U#i_rC1w$ysOUv-_&*}#)
z?ZZ9&Qp7`YTGUhS+;E>haT^DYUI?<_q&8RHz+2-
zncZ5Sq03^1WxKDwRfP@@9OqsP(BWF+pk@{JrlyIE$wFnZ){ztnd7`=W!&Hj=Q7
zmGoIP3yoAQ{v$)G-|6@fWRde6lca$_U{KEG$&UHwTl=MLU|?X_?IyS9!97PucbpTY
zxZQge$Ild(N_AK9`IC`ei}z?fd4yjWw?CLL-n&_5y8pP9J$5X`cT5#?T28YFIaz#q
z2aJO0#GXwfC!ZlzNu+OAaeqQhgk605^ZG%#xL4W^$#r{j=2F=nI(SCcv5xojGVTTE
zMJ%mb--}gux;oDsQgt3L!TjJ?ozr>$K&LD+_YCGlcG?#IR;51v+z$mhEf)9Cb&GimGtTr%5*kt1TqIbB$GlIbpte6~4}w@=n^X27cD
z{GcTMVCX3sa(d*DiamYmBXYXQiFvu}pZ&`Bwg{b#$?Tla!&>Zk-_Eq_MtX=U*
zygHr_>1Dt&0OQlw1Dk*rpbK~aco^6V?2{{s2VAbWORm2Y|Gr&uxlb^K_%iYshCA+-
zJ{NrMc#_nGFDc0|#_uW5ShDR)PBx6BG1-?rW9U1UV*65348s_c`;U|0GsaSFUuvph
zB&$5qmpqnc`_j@3BV|B$**O=mld02`zB2?jO>`?m%i*+uIkQ
z&-Ufz8Ak49*;k){U6Xrxn(do5%`oyV%f9+V`0_5Bw$C&TWAf$6qODJYZ}R1Q+n1kj
l80JOU*D>WHk$JJe_7xNu24ZCUtw%fjVg>NLQMcse{{oiVr~Uu{
literal 0
HcmV?d00001
diff --git a/NokiaMedium.sfd b/NokiaMedium.sfd
new file mode 100644
index 0000000..1df21b4
--- /dev/null
+++ b/NokiaMedium.sfd
@@ -0,0 +1,1295 @@
+SplineFontDB: 3.0
+FontName: NokiaMedium
+FullName: Nokia Medium
+FamilyName: Nokia
+Weight: Medium
+Copyright: Created by Premysl Janouch with FontForge 2.0 (http://fontforge.sf.net)
+UComments: "2013-7-21: Created."
+Version: 001.000
+ItalicAngle: 0
+UnderlinePosition: -100
+UnderlineWidth: 50
+Ascent: 800
+Descent: 200
+LayerCount: 2
+Layer: 0 0 "Back" 1
+Layer: 1 0 "Fore" 0
+XUID: [1021 98 2057159310 2088074]
+OS2Version: 0
+OS2_WeightWidthSlopeOnly: 0
+OS2_UseTypoMetrics: 1
+CreationTime: 1374398615
+ModificationTime: 1374398766
+OS2TypoAscent: 0
+OS2TypoAOffset: 1
+OS2TypoDescent: 0
+OS2TypoDOffset: 1
+OS2TypoLinegap: 0
+OS2WinAscent: 0
+OS2WinAOffset: 1
+OS2WinDescent: 0
+OS2WinDOffset: 1
+HheadAscent: 0
+HheadAOffset: 1
+HheadDescent: 0
+HheadDOffset: 1
+OS2Vendor: 'PfEd'
+MarkAttachClasses: 1
+DEI: 91125
+Encoding:
+UnicodeInterp: none
+NameList: Adobe Glyph List
+DisplaySize: 10
+AntiAlias: 0
+FitToEm: 1
+WinInfo: 42 42 20
+OnlyBitmaps: 1
+BeginPrivate: 0
+EndPrivate
+BeginChars: 8365 102
+
+StartChar: U+0020
+Encoding: 32 32 0
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0021
+Encoding: 33 33 1
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0022
+Encoding: 34 34 2
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0023
+Encoding: 35 35 3
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0024
+Encoding: 36 36 4
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0025
+Encoding: 37 37 5
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0026
+Encoding: 38 38 6
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0027
+Encoding: 39 39 7
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0028
+Encoding: 40 40 8
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0029
+Encoding: 41 41 9
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+002A
+Encoding: 42 42 10
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+002B
+Encoding: 43 43 11
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+002C
+Encoding: 44 44 12
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+002D
+Encoding: 45 45 13
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+002E
+Encoding: 46 46 14
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+002F
+Encoding: 47 47 15
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0030
+Encoding: 48 48 16
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0031
+Encoding: 49 49 17
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0032
+Encoding: 50 50 18
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0033
+Encoding: 51 51 19
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0034
+Encoding: 52 52 20
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0035
+Encoding: 53 53 21
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0036
+Encoding: 54 54 22
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0037
+Encoding: 55 55 23
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0038
+Encoding: 56 56 24
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0039
+Encoding: 57 57 25
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+003A
+Encoding: 58 58 26
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+003B
+Encoding: 59 59 27
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+003C
+Encoding: 60 60 28
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+003D
+Encoding: 61 61 29
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+003E
+Encoding: 62 62 30
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+003F
+Encoding: 63 63 31
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0040
+Encoding: 64 64 32
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0041
+Encoding: 65 65 33
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0042
+Encoding: 66 66 34
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0043
+Encoding: 67 67 35
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0044
+Encoding: 68 68 36
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0045
+Encoding: 69 69 37
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0046
+Encoding: 70 70 38
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0047
+Encoding: 71 71 39
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0048
+Encoding: 72 72 40
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0049
+Encoding: 73 73 41
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+004A
+Encoding: 74 74 42
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+004B
+Encoding: 75 75 43
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+004C
+Encoding: 76 76 44
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+004D
+Encoding: 77 77 45
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+004E
+Encoding: 78 78 46
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+004F
+Encoding: 79 79 47
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0050
+Encoding: 80 80 48
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0051
+Encoding: 81 81 49
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0052
+Encoding: 82 82 50
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0053
+Encoding: 83 83 51
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0054
+Encoding: 84 84 52
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0055
+Encoding: 85 85 53
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0056
+Encoding: 86 86 54
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0057
+Encoding: 87 87 55
+Width: 800
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0058
+Encoding: 88 88 56
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0059
+Encoding: 89 89 57
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+005A
+Encoding: 90 90 58
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+005B
+Encoding: 91 91 59
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+005C
+Encoding: 92 92 60
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+005D
+Encoding: 93 93 61
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+005E
+Encoding: 94 94 62
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+005F
+Encoding: 95 95 63
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0060
+Encoding: 96 96 64
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0061
+Encoding: 97 97 65
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0062
+Encoding: 98 98 66
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0063
+Encoding: 99 99 67
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0064
+Encoding: 100 100 68
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0065
+Encoding: 101 101 69
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0066
+Encoding: 102 102 70
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0067
+Encoding: 103 103 71
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0068
+Encoding: 104 104 72
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0069
+Encoding: 105 105 73
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+006A
+Encoding: 106 106 74
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+006B
+Encoding: 107 107 75
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+006C
+Encoding: 108 108 76
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+006D
+Encoding: 109 109 77
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+006E
+Encoding: 110 110 78
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+006F
+Encoding: 111 111 79
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0070
+Encoding: 112 112 80
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0071
+Encoding: 113 113 81
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0072
+Encoding: 114 114 82
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0073
+Encoding: 115 115 83
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0074
+Encoding: 116 116 84
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0075
+Encoding: 117 117 85
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0076
+Encoding: 118 118 86
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0077
+Encoding: 119 119 87
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0078
+Encoding: 120 120 88
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+0079
+Encoding: 121 121 89
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+007A
+Encoding: 122 122 90
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+007B
+Encoding: 123 123 91
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+007C
+Encoding: 124 124 92
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+007D
+Encoding: 125 125 93
+Width: 300
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+007E
+Encoding: 126 126 94
+Width: 700
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+20AC
+Encoding: 8364 8364 95
+Width: 700
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+00A3
+Encoding: 163 163 96
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+00A5
+Encoding: 165 165 97
+Width: 600
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+00A4
+Encoding: 164 164 98
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+00BF
+Encoding: 191 191 99
+Width: 500
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+00A1
+Encoding: 161 161 100
+Width: 200
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+
+StartChar: U+00A7
+Encoding: 167 167 101
+Width: 400
+VWidth: 0
+Flags: W
+LayerCount: 2
+EndChar
+EndChars
+BitmapFont: 10 102 8 2 1
+BDFStartProperties: 5
+FONT 1 "-nokia-Nokia-medium-r-normal--10-100-75-75-p-40-iso10646-1"
+SIZE 1 "10 75 75"
+FONTBOUNDINGBOX 1 "10 10 0 -2"
+FONT_ASCENT 18 8
+FONT_DESCENT 18 2
+BDFEndProperties
+Resolution: 75
+BDFChar: 0 32 4 0 2 -2 7
+zzz
+BDFChar: 1 33 2 0 0 -2 7
+!.]TMJ:IWMz
+BDFChar: 2 34 4 0 2 -2 7
+!2,tbzz
+BDFChar: 3 35 6 0 4 -2 7
+!)QMe:f-p`:]LIq
+BDFChar: 4 36 5 0 3 -2 7
+!$H6Ri,CC.+92BA
+BDFChar: 5 37 5 0 3 -2 7
+!79(8?pLs#z
+BDFChar: 6 38 6 0 4 -2 7
+!'m3M5cBcXz
+BDFChar: 7 39 2 0 0 -2 7
+!.]S"zz
+BDFChar: 8 40 3 0 1 -2 7
+!'l'bJ:N0#5QCca
+BDFChar: 9 41 3 0 1 -2 7
+!.[="5X7S"J,fQL
+BDFChar: 10 42 6 0 4 -2 7
+!!#hQ3z
+BDFChar: 17 49 5 0 3 -2 7
+!$GYl+Q3z
+BDFChar: 23 55 5 0 3 -2 7
+!:UOB+@&1Wz
+BDFChar: 24 56 5 0 3 -2 7
+!+:nM@$$IXz
+BDFChar: 25 57 5 0 3 -2 7
+!+:nMODkb=z
+BDFChar: 26 58 2 0 0 -2 7
+zJ,fS"z
+BDFChar: 27 59 3 0 1 -2 7
+z5QCdLJ,fQL
+BDFChar: 28 60 5 0 3 -2 7
+!"^8R^z
+BDFChar: 35 67 5 0 3 -2 7
+!-!I=J:N/hz
+BDFChar: 36 68 5 0 3 -2 7
+!8rs#OH>R^z
+BDFChar: 37 69 5 0 3 -2 7
+!:YNsJ:N1>z
+BDFChar: 38 70 5 0 3 -2 7
+!:YNsJ:N0#z
+BDFChar: 39 71 5 0 3 -2 7
+!-!ImOH>QCz
+BDFChar: 40 72 5 0 3 -2 7
+!0E<3OH>Qcz
+BDFChar: 41 73 2 0 0 -2 7
+!.]TMJ:N0#z
+BDFChar: 42 74 4 0 2 -2 7
+!$EC,+z
+BDFChar: 44 76 5 0 3 -2 7
+!.]TMJ:N1>z
+BDFChar: 45 77 6 0 4 -2 7
+!/T:+W/-7cz
+BDFChar: 46 78 6 0 4 -2 7
+!/S^pR#$QSz
+BDFChar: 47 79 6 0 4 -2 7
+!-!aMLkpk+z
+BDFChar: 48 80 5 0 3 -2 7
+!8rs#OPkY>z
+BDFChar: 49 81 6 0 4 -2 7
+!-!aMLkr!K#QOi)
+BDFChar: 50 82 5 0 3 -2 7
+!8rs#OPldnz
+BDFChar: 51 83 5 0 3 -2 7
+!-!I=?kQ3z
+BDFChar: 54 86 6 0 4 -2 7
+!/QGe:f&8Wz
+BDFChar: 55 87 8 0 6 -2 7
+!.oej<)b7oz
+BDFChar: 56 88 6 0 4 -2 7
+!/QG-+AdlMz
+BDFChar: 57 89 6 0 4 -2 7
+!/QG-+R^z
+BDFChar: 67 99 4 0 2 -2 7
+!!!",J:N/Xz
+BDFChar: 68 100 5 0 3 -2 7
+!"]]\OH>QCz
+BDFChar: 69 101 5 0 3 -2 7
+!!!",ORRd.z
+BDFChar: 70 102 3 0 1 -2 7
+!'l(MJ:N0#z
+BDFChar: 71 103 5 0 3 -2 7
+!!!"Qcz
+BDFChar: 73 105 2 0 0 -2 7
+!.Y'"J:N0#z
+BDFChar: 74 106 3 0 1 -2 7
+!'gNL5X7S"J,fQL
+BDFChar: 75 107 5 0 3 -2 7
+!.]T]TYR4^z
+BDFChar: 76 108 2 0 0 -2 7
+!.]TMJ:N0#z
+BDFChar: 77 109 6 0 4 -2 7
+!!!#gW2QYnz
+BDFChar: 78 110 5 0 3 -2 7
+!!!#WOH>Qcz
+BDFChar: 79 111 5 0 3 -2 7
+!!!",OH>Q3z
+BDFChar: 80 112 5 0 3 -2 7
+!!!#WOHACNJ,fQL
+BDFChar: 81 113 5 0 3 -2 7
+!!!"QCz
+BDFChar: 86 118 6 0 4 -2 7
+!!!"TLepnjz
+BDFChar: 87 119 6 0 4 -2 7
+!!!"TW2NNhz
+BDFChar: 88 120 5 0 3 -2 7
+!!!"\OC403z
+BDFChar: 89 121 5 0 3 -2 7
+!!!"\OH=Dm?iU0,
+BDFChar: 90 122 5 0 3 -2 7
+!!!#g+@(JHz
+BDFChar: 91 123 3 0 1 -2 7
+!'l'bJ:N0#5QCca
+BDFChar: 92 124 2 0 0 -2 7
+!.]TMJ:N0#J,fQL
+BDFChar: 93 125 3 0 1 -2 7
+!.[="5X7S"J,fQL
+BDFChar: 94 126 7 0 5 -2 7
+zA=*>sz
+BDFChar: 95 8364 7 0 5 -2 7
+!!"uHq!^[2z
+BDFChar: 96 163 5 0 3 -2 7
+!-!I=i'9Qsz
+BDFChar: 97 165 6 0 4 -2 7
+!/OJH+E/GGz
+BDFChar: 98 164 5 0 3 -2 7
+!!&*gOH^qdb$^qdb$_!h=(
+BDFChar: 60 92 6 0 4 -2 11
+!5QBX?skZB0GkWDz
+BDFChar: 61 93 5 0 3 -2 11
+!:VZr0JG170JG170^o&B
+BDFChar: 62 94 6 0 4 -2 11
+!$H75L]@DTzz
+BDFChar: 63 95 8 0 7 -2 11
+zzzrr<$!
+BDFChar: 64 96 4 0 2 -2 11
+!.[_`S^H6S|8gNRMuf1o
zS5-W)bj|b+9~UC84h_~+RjgZj$u`m`#2qgSq19Gb*RE`Osqjxi+=*zSU|D5Vwa64R
z5U&sQ8LQXLFWvCNy5oo~>vaun^_^MY`q^nA4E@mU+|jx(cHfC-771ZG4|{EMQ+?xj
z|0l1)=0rW*42AJ~+P|V+iF#3UTX)ZEkBLImuL0j}?P#dC_E}FMw=vj%(^lWpDSj*#
zz}Aeqr@g+d=~(qX*v%f~`@PPNJ>5r+7aT+1-arm#gd7WC?nB=^yDc;NN8vCat`Ki!
zZ~m8bS(q%Nc?J*aR-s8PF0?Utl4W9x(hHiWBC(A>Ta>0H-A1+~rCTCOl#7ur&>w^e
zc|D=M4oyFoG%WlCZ%vpD915RON^y%dv8qNfkW5a>0lm2`1CJnTmE#2UO5iXA_{dV*
zgz^szDJ%WGr~|UD?6MA@RGXCl-zw9w^!O?N$($+OXUorWrE*ENO_j1;N|vRZ0a>PW
zvLCXa=~CvR_eXI`TPnXv`pLOVIUO(MD@)ln6&v;2cvF6enTn<6RgSxEQ!#aZW#gHZ
zvs<9gUnAyPuF3-J&l;32wSvrIzj#5M5Z@QS@Vq2vUU*RdPO6@~nmn5vNd6-E;+5BL
zTL*9iyBSatO1X;CD=DQ!8b*`ZVzt>F&J0&(R(4MAl&N{s-1&D*FSv8YOi$sg*+p~a
z-c@|}ynF8TmdyA0O9R1BI8wG?;TNL!En2*!ykaSK{<50oEAD?_<*LKHG=;1GJ-Bwqx6Mb&c5c`a|X;OX1_DPl7#pc_qpHrJB{=dC6br#Okj$zeUM9C{8
z=0{IijN;?cSInk&qNfZRMDdD2s!dXT%3`MR=qW6Nk4ppDh1qunvS$~P?b^_gc5EV6
zC>N+)b0^aaW|=sw%Y?J)_qvS3NsQ^TK@`(kT{a3QeN&fB_?8*eWwUV5M{;EwZHRvm
zV3~wnT-0SvIK>CLY!GWiQkRXwO^@iZNqFc5T{eq6`i)pBxlSwlv9znHzPqW>vwfduO;=OfzCEp;74_{MdmEZPUux-Y_EdMY
zcUO0G?P&6pmiRoy&E4Id3+K;|K^v3Wl0C7K_NHzGS_O_>$g&<{$F3F>D^(9$(1$iu
zni^a7qWrw{7orQFhVk4Mz=JNyj{1dHM1WFs*e?PIcw2%CJ&N4Jbe@HtQolFiE%o`~
z`PV{ozIqcOHX!XT3{#65JP&vzlN@0A^1z{~Yfno@yT|AAm-u`>Xg-a6Tc1@bsg9>l
zvE%_H|Cg>7C`o9fk%5e4A~RXYN;a~SgPfE>F3O}V%BCF3r71L(@@N{lDWC43=~O^>
z(hQnO9x9|+G@FWO4$Y;zsF?1id2|omOI|9W`Q#%%l~RC$6rwOisEiiSLiz$l={{OS
zi)jg!Qw1%hN~)r2T1GXroL12N^Z>1-RkWJc&{}$s)=@33rwz1`HqmCtJ1(+|ud;#VQFkgWA0?Zd+z5w$Dm@mM50p<%ZUy%8N%ok+7AoB&8
zFUWjB<_j`kkokhl7i7L5^97kN$b3QO3o>7b`9jPWV!jabg_tkId?DrwF<*%JLd+Lp
zz7X?;m@mY9A?6D)UzqvA%ok?9F!P0(FU)*l<_j}lnEArY7iPXN^M#o&%zRRY{DzYlMpHxiQX
zPH)iXZQ0Y|_l1LDuV1WNzNJd|eV#}NZy}>qtX{vWa`~!d6{|N%1KvK5w^W(7m9JY`
z1wQGvt+I+Me}g>e^@A}*9u7?=_Xl-e2zVibY3KvxfO#@RM8HLfLShZe@B|ET+A+s{USH--s?`
z4=W*e^NlPeTzgN~G+##>na_<`l}nV+@{F!&iSMp6k}ztAO`0$o%6pYLr=}vypfcdt
ze_vR{hWCn=EKwcm?s%+xYF^z`+0vL>!;#;)l}Lf}9>{~TwZ_|5oX
zHIxa}&7yCx`q&%4;;4OnXex*B;D?*ed05(2rc2!o?q6~i*W=fE)hs~u_F0|%0}j#i
zHH?D{ano9n#q@DGic;0T{RC7NVX+=C<(#Op3)a?FRWnzAZK}zQqP`I|X&?MZW%^W6
zjjF!AQLTYm!uB$aVfHMB!?|ol5A8
z%CF~O?`WX0tF`7R-FTa@cMZcDc3U&&ge7
zRC`N)%Dv^#@IWD%j2evOu*47BEW&1Oz4YoQS1yNJGc3Yk&APSq$;_|*!?Yidd|5c8
zV%dsQ^zd?unLE*^CGUUPu@BI?j8dn+;E0LIE>!5)0aw>6c1l+YsR!&t(6zw
zAARyE3;|iJz6^b=NtU}=X{Fou|qSWJvXinJvrh)
zhStcfKp>E^xP1-J)}1{t#*Y2&z`)r97C6c*jqcrzmwxiN)6LEk2h5olKeaw~2vv?M
zofA%X-Jsd+s~bphMkZNR3Rh%gc^Vi;qH3sH#k)3>u$isr&-(_gM%jrm8d0jRx$EOc
zdmZ>eVR@u%(AnS=gTihTcKagFiO{i?bDs__d9F9bgx)2G4!Koz;?Ru6lK9YwYW!%_
zH|X>YM%ee}aUO}|!^$^_9v$_iyPvLt6g@%*o%ynZJUBxLJSGFX_4yv>fj;N&Zzy<2
z&EvWA7e|JNM=qW}H>k)ZGv1j44x4b;dxyso6Ys9J95_2XQl}V(4n4Q{kw3kE0U_lw
z*gu%M_NTfM?MWg%;hb##kIVbb(%(9MPF~|_I`sAI@L(qTDu-=cXXnl!`_vkcu_RF}
z7AuOn-445OI0i;$2#jEE9p>4uW)Z%(tx2p}hq15MY8F;YkMGKb=oNjq7F~#r
zURW%TMyvVncK0`wD7{mEVpF5QJoOtyNX3=6Ih9#QaXJq+bcKv
z8{A6TUv{;Bze+DA)AOkqGXLn6l(_t=(`pk|I~GD~>?dOvTiFol_kT31LbH3uu+oqF
z-`dl^_%9s^8GP_02MlI1TX)>-P4!pJP}!ve=9$=#7e;JynqB!_WiuKH$9j-KoaNH{kU5`-Z0VIvm2`v>bSL_-N*M-QxFp%Vs}|2fwM`
zW%BL|PiEwkFLiGxtO*>mP*@W9g1Kdva_VZf+i`db?cvG(&V)nxJK%4*>AKC|<&ysD
z^5FhY%0ArZNX{jAIv}42t$|k7<$a~RY~
z{)}9owxQ&;4R=kfhz!V(EbNNpS5v35;6dG0C^ZN4~9bE9soHQqChpqMqVDw
z9diC_b8f(xsLRfCY>-a^-~@oV*ZvKVV~#Z@$J$^5vVl8+y8%BC
z0Tuy>W!MPR0~ja6BLLQv;Typ70Or(i3K#(10Nw_Mfe(Q(Y&XO=v
zC23Z5Gi;WmEp4;e?Dom$j+M_8)zaax+ieLIhpZS?Tf&)c=XBcb_JoQvN;l;o=q;7-9Gu;awam16F$VuCBa$K&gNw%y+ZrYZc>vCl?KV_m_c4A7}Hf4&-l{2CEDQg0U+{Dzh
zZR%8MQ~Z>zY
- { 6, 7, { 0x7800, 0x8c00, 0x8c00, 0x0c00, 0x0c00, 0x1800, 0x3000, 0x3000, 0x0000, 0x3000, 0x3000, 0x0000, 0x0000 } }, // ?
- { 9, 10, { 0x0000, 0x3e00, 0x4100, 0x9480, 0xac80, 0xa480, 0xa480, 0xa500, 0x9a00, 0x4080, 0x3f00, 0x0000, 0x0000 } }, // @
- { 7, 8, { 0x7c00, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xfe00, 0xc600, 0xc600, 0xc600, 0x0000, 0x0000 } }, // A
- { 7, 8, { 0xfc00, 0xc600, 0xc600, 0xc600, 0xf800, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xfc00, 0x0000, 0x0000 } }, // B
- { 6, 7, { 0x7800, 0xcc00, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xcc00, 0x7800, 0x0000, 0x0000 } }, // C
- { 7, 8, { 0xf800, 0xcc00, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xcc00, 0xf800, 0x0000, 0x0000 } }, // D
- { 7, 8, { 0xfe00, 0xc000, 0xc000, 0xc000, 0xf800, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xfe00, 0x0000, 0x0000 } }, // E
- { 7, 8, { 0xfe00, 0xc000, 0xc000, 0xc000, 0xf800, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } }, // F
- { 7, 8, { 0x7c00, 0xc600, 0xc000, 0xc000, 0xc000, 0xce00, 0xc600, 0xc600, 0xc600, 0xc600, 0x7e00, 0x0000, 0x0000 } }, // G
- { 7, 8, { 0xc600, 0xc600, 0xc600, 0xc600, 0xfe00, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0x0000, 0x0000 } }, // H
- { 2, 3, { 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } }, // I
- { 5, 6, { 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x9800, 0x7000, 0x0000, 0x0000 } }, // J
- { 8, 9, { 0xc600, 0xcc00, 0xd800, 0xf000, 0xe000, 0xe000, 0xf000, 0xd800, 0xcc00, 0xc600, 0xc300, 0x0000, 0x0000 } }, // K
- { 6, 7, { 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xfc00, 0x0000, 0x0000 } }, // L
- { 9, 10, { 0x8080, 0xc180, 0xe380, 0xf780, 0xdd80, 0xc980, 0xc180, 0xc180, 0xc180, 0xc180, 0xc180, 0x0000, 0x0000 } }, // M
- { 7, 8, { 0xc600, 0xc600, 0xe600, 0xe600, 0xf600, 0xd600, 0xde00, 0xce00, 0xce00, 0xc600, 0xc600, 0x0000, 0x0000 } }, // N
- { 8, 9, { 0x7e00, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0x7e00, 0x0000, 0x0000 } }, // O
- { 7, 8, { 0xfc00, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xfc00, 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } }, // P
- { 8, 9, { 0x7e00, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xd300, 0xdb00, 0x7e00, 0x0600, 0x0000 } }, // Q
- { 8, 8, { 0xfc00, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xfc00, 0xd800, 0xcc00, 0xc600, 0xc300, 0x0000, 0x0000 } }, // R
- { 6, 7, { 0x7800, 0xcc00, 0xc000, 0xc000, 0xc000, 0x7800, 0x0c00, 0x0c00, 0x0c00, 0xcc00, 0x7800, 0x0000, 0x0000 } }, // S
- { 6, 7, { 0xfc00, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x0000, 0x0000 } }, // T
- { 7, 8, { 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0x7c00, 0x0000, 0x0000 } }, // U
- { 8, 9, { 0xc300, 0xc300, 0xc300, 0xc300, 0x6600, 0x6600, 0x6600, 0x2400, 0x3c00, 0x1800, 0x1800, 0x0000, 0x0000 } }, // V
- { 10, 11, { 0xc0c0, 0xc0c0, 0xc0c0, 0xc0c0, 0x6180, 0x6d80, 0x6d80, 0x6d80, 0x3f00, 0x3300, 0x3300, 0x0000, 0x0000 } }, // W
- { 7, 8, { 0xc600, 0xc600, 0xc600, 0x6c00, 0x6c00, 0x3800, 0x6c00, 0x6c00, 0xc600, 0xc600, 0xc600, 0x0000, 0x0000 } }, // X
- { 8, 9, { 0xc300, 0xc300, 0x6600, 0x6600, 0x3c00, 0x3c00, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x0000, 0x0000 } }, // Y
- { 7, 8, { 0xfe00, 0x0600, 0x0e00, 0x1c00, 0x3800, 0x7000, 0xe000, 0xc000, 0xc000, 0xc000, 0xfe00, 0x0000, 0x0000 } }, // Z
- { 4, 5, { 0xf000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xf000 } }, // [
- { 5, 6, { 0xc000, 0xc000, 0x6000, 0x6000, 0x6000, 0x3000, 0x3000, 0x3000, 0x1800, 0x1800, 0x1800, 0x0000, 0x0000 } }, // backslash
- { 4, 5, { 0xf000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0xf000 } }, // ]
- { 5, 6, { 0x2000, 0x7000, 0xd800, 0x8800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 } }, // ^
- { 8, 8, { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xff00, 0x0000 } }, // _
- { 3, 4, { 0x8000, 0x4000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 } }, // `
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0x7800, 0x0c00, 0x0c00, 0x7c00, 0xcc00, 0xcc00, 0xcc00, 0x7c00, 0x0000, 0x0000 } }, // a
- { 6, 7, { 0xc000, 0xc000, 0xc000, 0xf800, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xf800, 0x0000, 0x0000 } }, // b
- { 5, 6, { 0x0000, 0x0000, 0x0000, 0x7000, 0xc800, 0xc000, 0xc000, 0xc000, 0xc000, 0xc800, 0x7000, 0x0000, 0x0000 } }, // c
- { 6, 7, { 0x0c00, 0x0c00, 0x0c00, 0x7c00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x7c00, 0x0000, 0x0000 } }, // d
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0x7800, 0xcc00, 0xcc00, 0xfc00, 0xc000, 0xc000, 0xc400, 0x7800, 0x0000, 0x0000 } }, // e
- { 4, 5, { 0x3000, 0x6000, 0x6000, 0xf000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x0000, 0x0000 } }, // f
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0x7c00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x7c00, 0x0c00, 0x7800 } }, // g
- { 6, 7, { 0xc000, 0xc000, 0xc000, 0xf800, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x0000, 0x0000 } }, // h
- { 2, 3, { 0xc000, 0xc000, 0x0000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } }, // i
- { 3, 4, { 0x6000, 0x6000, 0x0000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0xc000 } }, // j
- { 6, 7, { 0xc000, 0xc000, 0xc000, 0xcc00, 0xd800, 0xf000, 0xe000, 0xe000, 0xf000, 0xd800, 0xcc00, 0x0000, 0x0000 } }, // k
- { 2, 3, { 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } }, // l
- { 8, 9, { 0x0000, 0x0000, 0x0000, 0xfe00, 0xdb00, 0xdb00, 0xdb00, 0xdb00, 0xdb00, 0xdb00, 0xdb00, 0x0000, 0x0000 } }, // m
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0xf800, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x0000, 0x0000 } }, // n
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0x7800, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x7800, 0x0000, 0x0000 } }, // o
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0xf800, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xf800, 0xc000, 0xc000 } }, // p
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0x7c00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x7c00, 0x0c00, 0x0c00 } }, // q
- { 5, 6, { 0x0000, 0x0000, 0x0000, 0xd800, 0xf800, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } }, // r
- { 5, 6, { 0x0000, 0x0000, 0x0000, 0x7800, 0xc000, 0xe000, 0x7000, 0x3800, 0x1800, 0x1800, 0xf000, 0x0000, 0x0000 } }, // s
- { 4, 5, { 0x6000, 0x6000, 0x6000, 0xf000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x3000, 0x0000, 0x0000 } }, // t
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x7c00, 0x0000, 0x0000 } }, // u
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x4800, 0x7800, 0x3000, 0x3000, 0x0000, 0x0000 } }, // v
- { 9, 10, { 0x0000, 0x0000, 0x0000, 0xc180, 0xc180, 0xc180, 0x6300, 0x6b00, 0x7f00, 0x3600, 0x3600, 0x0000, 0x0000 } }, // w
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0xcc00, 0xcc00, 0x7800, 0x3000, 0x3000, 0x7800, 0xcc00, 0xcc00, 0x0000, 0x0000 } }, // x
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0xcc00, 0x7c00, 0x0c00, 0x7800 } }, // y
- { 6, 7, { 0x0000, 0x0000, 0x0000, 0xfc00, 0x0c00, 0x1c00, 0x3800, 0x7000, 0xe000, 0xc000, 0xfc00, 0x0000, 0x0000 } }, // z
- { 3, 4, { 0x2000, 0x6000, 0x4000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0x4000, 0x6000, 0x2000 } }, // {
- { 3, 4, { 0x8000, 0xc000, 0x4000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x4000, 0xc000, 0x8000 } }, // |
- { 2, 3, { 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000 } }, // }
- { 7, 8, { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3200, 0x7e00, 0x4c00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 } }, // ~
- { 11, 12, { 0x0780, 0x1ce0, 0x3820, 0x3000, 0xffc0, 0x3000, 0xff80, 0x3000, 0x3820, 0x1ce0, 0x0780, 0x0000, 0x0000 } }, // euro
- { 7, 8, { 0x3800, 0x6c00, 0x6000, 0x6000, 0x6000, 0xf800, 0x6000, 0x6000, 0x6000, 0x6600, 0xfc00, 0x0000, 0x0000 } }, // pound
- { 8, 9, { 0xc300, 0xc300, 0x6600, 0x6600, 0xff00, 0x1800, 0xff00, 0x1800, 0x1800, 0x1800, 0x1800, 0x0000, 0x0000 } }, // yen
- { 9, 10, { 0x0000, 0x8080, 0x5d00, 0x2200, 0x4100, 0x4100, 0x4100, 0x2200, 0x5d00, 0x8080, 0x0000, 0x0000, 0x0000 } }, // currency
- { 6, 7, { 0x3000, 0x3000, 0x0000, 0x3000, 0x3000, 0x6000, 0xc000, 0xc000, 0xc400, 0xc400, 0x7800, 0x0000, 0x0000 } }, // inverted ?
- { 2, 3, { 0xc000, 0xc000, 0x0000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } }, // inverted !
- { 6, 7, { 0x3800, 0x6c00, 0x6c00, 0x6000, 0xf000, 0xd800, 0xcc00, 0x6c00, 0x3c00, 0x1800, 0xd800, 0xd800, 0x7000 } }, // section
-};
diff --git a/nokia-big.txt b/nokia-big.txt
index d8e492b..eda9a83 100644
--- a/nokia-big.txt
+++ b/nokia-big.txt
@@ -481,7 +481,7 @@
0011100
0011100
0011100
-0000011
+0000001
0011100
0011100
0011100
@@ -1289,33 +1289,33 @@
100
110
-011
-001
-101
-100
-100
-100
-100
-100
-100
-100
-101
-001
-011
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
+011
+001
+101
+100
+100
+100
+100
+100
+100
+100
+101
+001
+011
1111111
1111111
diff --git a/nokia-fonts.c b/nokia-fonts.c
index 3e1fce3..13d6b4a 100644
--- a/nokia-fonts.c
+++ b/nokia-fonts.c
@@ -1,16 +1,27 @@
-struct nokia_menu_char
-{
- short width;
- short advance;
- unsigned char rows[6];
-};
+/*
+ * nokia-fonts.c: Nokia 3310 fonts
+ *
+ * Copyright (c) 2013, Přemysl Janouch
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
-struct nokia_small_char
-{
- short width;
- short advance;
- unsigned char rows[8];
-};
+#include
+#include
+
+#include "nokia-fonts.h"
struct nokia_small_char_wide
{
@@ -18,20 +29,13 @@ struct nokia_small_char_wide
struct nokia_small_char ch;
};
-struct nokia_big_char
-{
- short width;
- short advance;
- unsigned short rows[13];
-};
-
struct nokia_big_char_wide
{
wchar_t code;
struct nokia_big_char ch;
};
-struct nokia_big_char
+static struct nokia_big_char
nokia_big_data[] =
{
{ 3, 4, { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -102,7 +106,7 @@ nokia_big_data[] =
0xa500, 0x9a00, 0x4080, 0x3f00, 0x0000, 0x0000 } }, // @
{ 7, 8, { 0x7c00, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600, 0xc600,
0xfe00, 0xc600, 0xc600, 0xc600, 0x0000, 0x0000 } }, // A
- { 7, 8, { 0xfc00, 0xc600, 0xc600, 0xc600, 0xf800, 0xc600, 0xc600,
+ { 7, 8, { 0xfc00, 0xc600, 0xc600, 0xc600, 0xfc00, 0xc600, 0xc600,
0xc600, 0xc600, 0xc600, 0xfc00, 0x0000, 0x0000 } }, // B
{ 6, 7, { 0x7800, 0xcc00, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000,
0xc000, 0xc000, 0xcc00, 0x7800, 0x0000, 0x0000 } }, // C
@@ -226,27 +230,27 @@ nokia_big_data[] =
0x4c00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 } } // ~
};
-struct nokia_big_char_wide
+static struct nokia_big_char_wide
nokia_big_wide_data[] =
{
{ L'€', { 11, 12, { 0x0780, 0x1ce0, 0x3820, 0x3000, 0xffc0, 0x3000, 0xff80,
- 0x3000, 0x3820, 0x1ce0, 0x0780, 0x0000, 0x0000 } }, // euro
+ 0x3000, 0x3820, 0x1ce0, 0x0780, 0x0000, 0x0000 } } }, // euro
{ L'£', { 7, 8, { 0x3800, 0x6c00, 0x6000, 0x6000, 0x6000, 0xf800, 0x6000,
- 0x6000, 0x6000, 0x6600, 0xfc00, 0x0000, 0x0000 } }, // pound
+ 0x6000, 0x6000, 0x6600, 0xfc00, 0x0000, 0x0000 } } }, // pound
{ L'¥', { 8, 9, { 0xc300, 0xc300, 0x6600, 0x6600, 0xff00, 0x1800, 0xff00,
- 0x1800, 0x1800, 0x1800, 0x1800, 0x0000, 0x0000 } }, // yen
+ 0x1800, 0x1800, 0x1800, 0x1800, 0x0000, 0x0000 } } }, // yen
{ L'¤', { 9, 10, { 0x0000, 0x8080, 0x5d00, 0x2200, 0x4100, 0x4100, 0x4100,
- 0x2200, 0x5d00, 0x8080, 0x0000, 0x0000, 0x0000 } }, // currency
+ 0x2200, 0x5d00, 0x8080, 0x0000, 0x0000, 0x0000 } } }, // currency
{ L'¿', { 6, 7, { 0x3000, 0x3000, 0x0000, 0x3000, 0x3000, 0x6000, 0xc000,
- 0xc000, 0xc400, 0xc400, 0x7800, 0x0000, 0x0000 } }, // inverted ?
+ 0xc000, 0xc400, 0xc400, 0x7800, 0x0000, 0x0000 } } }, // inverted ?
{ L'¡', { 2, 3, { 0xc000, 0xc000, 0x0000, 0xc000, 0xc000, 0xc000, 0xc000,
- 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } }, // inverted !
+ 0xc000, 0xc000, 0xc000, 0xc000, 0x0000, 0x0000 } } }, // inverted !
{ L'§', { 6, 7, { 0x3800, 0x6c00, 0x6c00, 0x6000, 0xf000, 0xd800, 0xcc00,
- 0x6c00, 0x3c00, 0x1800, 0xd800, 0xd800, 0x7000 } } // section
+ 0x6c00, 0x3c00, 0x1800, 0xd800, 0xd800, 0x7000 } } } // section
};
-struct nokia_menu_char
-nokia_menu_char_data[] =
+static struct nokia_menu_char
+nokia_menu_data[] =
{
{ 2, 3, { 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00 } }, // -
{ 1, 2, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 } }, // .
@@ -263,8 +267,8 @@ nokia_menu_char_data[] =
{ 5, 6, { 0x70, 0xd8, 0xd8, 0x78, 0x18, 0x70 } } // 9
};
-struct nokia_small_char
-nokia_small_char_data[] =
+static struct nokia_small_char
+nokia_small_data[] =
{
{ 3, 4, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // space
{ 1, 2, { 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00 } }, // !
@@ -363,7 +367,7 @@ nokia_small_char_data[] =
{ 6, 7, { 0x00, 0x00, 0x00, 0x64, 0x98, 0x00, 0x00, 0x00 } } // ~
};
-struct nokia_small_char_wide
+static struct nokia_small_char_wide
nokia_small_wide_data[] =
{
{ L'€', { 6, 7, { 0x00, 0x38, 0x44, 0xf8, 0xf0, 0x44, 0x38, 0x00 } } }, // euro
@@ -375,7 +379,7 @@ nokia_small_wide_data[] =
{ L'§', { 3, 4, { 0x40, 0xa0, 0xc0, 0xa0, 0xa0, 0x60, 0xa0, 0x40 } } }, // section
};
-struct nokia_small_char
+static struct nokia_small_char
nokia_small_bold_data[] =
{
{ 3, 4, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // space
@@ -470,10 +474,10 @@ nokia_small_bold_data[] =
{ 5, 6, { 0x00, 0x00, 0xd8, 0xd8, 0xd8, 0x78, 0x18, 0x70 } }, // y
{ 5, 6, { 0x00, 0x00, 0xf8, 0x30, 0x60, 0xc0, 0xf8, 0x00 } }, // z
{ 3, 4, { 0x20, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x20 } }, // {
- { 2, 3, { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0 } }, // |
- { 3, 4, { 0x80, 0x40, 0x60, 0x60, 0x60, 0x60, 0x40, 0x80 } }, // }
+ { 3, 4, { 0x80, 0x40, 0x60, 0x60, 0x60, 0x60, 0x40, 0x80 } }, // |
+ { 2, 3, { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0 } }, // }
{ 6, 7, { 0x00, 0x00, 0x00, 0x64, 0xfc, 0x98, 0x00, 0x00 } } // ~
-}
+};
struct nokia_small_char_wide
nokia_small_bold_wide_data[] =
@@ -486,3 +490,39 @@ nokia_small_bold_wide_data[] =
{ L'¡', { 2, 3, { 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00 } } }, // inverted !
{ L'§', { 4, 5, { 0x60, 0xd0, 0xe0, 0xb0, 0xd0, 0x70, 0xb0, 0x60 } } }, // section
};
+
+#define NOKIA_DEFINE_GETTER(type, name, from, to) \
+ type * \
+ nokia_get_ ## name ## _char (char ch) \
+ { \
+ if (ch < from || ch > to) \
+ return NULL; \
+ return &nokia_ ## name ## _data[ch - from]; \
+ }
+
+#define NOKIA_DEFINE_WIDE_GETTER(type, name) \
+ type * \
+ nokia_get_ ## name ## _char_wide (wchar_t ch) \
+ { \
+ unsigned i; \
+ int c; \
+ for (i = 0; i < sizeof nokia_ ## name ## _wide_data \
+ / sizeof nokia_ ## name ## _wide_data[0]; i++) \
+ if (nokia_ ## name ## _wide_data[i].code == ch) \
+ return &nokia_ ## name ## _wide_data[i].ch; \
+ c = wctob (ch); \
+ return c == EOF ? NULL : nokia_get_ ## name ## _char (c); \
+ }
+
+NOKIA_DEFINE_GETTER (struct nokia_menu_char, menu, '-', '9')
+NOKIA_DEFINE_GETTER (struct nokia_small_char, small, ' ', '~')
+NOKIA_DEFINE_GETTER (struct nokia_small_char, small_bold, ' ', '~')
+NOKIA_DEFINE_GETTER (struct nokia_big_char, big, ' ', '~')
+
+NOKIA_DEFINE_WIDE_GETTER (struct nokia_small_char, small)
+NOKIA_DEFINE_WIDE_GETTER (struct nokia_small_char, small_bold)
+NOKIA_DEFINE_WIDE_GETTER (struct nokia_big_char, big)
+
+#undef NOKIA_DEFINE_GETTER
+#undef NOKIA_DEFINE_WIDE_GETTER
+
diff --git a/nokia-fonts.h b/nokia-fonts.h
new file mode 100644
index 0000000..dbdd5c4
--- /dev/null
+++ b/nokia-fonts.h
@@ -0,0 +1,61 @@
+/*
+ * nokia-fonts.h: Nokia 3310 fonts
+ *
+ * Copyright (c) 2013, Přemysl Janouch
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#ifndef NOKIA_FONTS_H
+#define NOKIA_FONTS_H
+
+struct nokia_menu_char
+{
+ short width;
+ short advance;
+ unsigned char rows[6];
+};
+
+struct nokia_small_char
+{
+ short width;
+ short advance;
+
+ // This font seems to have one additional line above and one
+ // under to have the proper line height for display.
+ unsigned char rows[8];
+};
+
+struct nokia_big_char
+{
+ short width;
+ short advance;
+
+ // This font seems to have one additional line above
+ // to have the proper line height for display.
+ unsigned short rows[13];
+};
+
+struct nokia_menu_char *nokia_get_menu_char (char ch);
+struct nokia_small_char *nokia_get_small_char (char ch);
+struct nokia_small_char *nokia_get_small_bold_char (char ch);
+struct nokia_big_char *nokia_get_big_char (char ch);
+
+struct nokia_small_char *nokia_get_small_char_wide (wchar_t ch);
+struct nokia_small_char *nokia_get_small_bold_char_wide (wchar_t ch);
+struct nokia_big_char *nokia_get_big_char_wide (wchar_t ch);
+
+#endif // ! NOKIA_FONTS_H
+
diff --git a/nokia-fonts.png b/nokia-fonts.png
index 020789785205834118aef3467991f84378d87442..0c5ef63458ef198444868ceb5e77a3b7e3dc729d 100644
GIT binary patch
delta 1589
zcmV-52Fm&69rqoOBo78+OGiWi{{a60|De66laV1H2o(u499Ssa9I;872!C%#+mvhB
zVnX|4(e_x5o5O0Jw7o83iZA<4acx)&g$zWf6|<_^5EaU=w}Fn9(M8;_(+=0>It45B
zN;^)HY9OmS5LHX|_S@oXan$e)e09{n-7rbwPk1)Fvvd;81tD6{_06qENL@~R%wGc}
zol58x!x@;lRd_VZ*!a3hz<XNI4W7@>AUg9ng_L*C)5uTkg2As>`5%wtu@ZQfP83@|Oa?;soYfzp%Kf!IlegnBSTdpZFb2n_8Ie*+Gvo1WF-i!Co
z6SE0nIx$92`?(h9=>G|b
zZ9HY^{$$h=H{i(4x*`$3!^Z*?(*;GVLR*2@S*4)|d{?NYw!rFUJoVUFB4UN@qIYxe
zSJ1oH5w9Ztj_zASV1LNDmdaL+*^-}Qf~~2^4UCL3OC^Q4=7fMH18ohJ7%#-SF9bL<
zK%*18r$en=-MhQ82diyTHJPw&+y1XO0-kySr%QwF=xII<5X*)V^#fGPgv=AEgzT!*
z<;)v|U62LAV}-Q{2vc<(m9@DcyL3p`1|#5HU}7TdLz7l}CV%uS8-H8llcA
z(~E1Rt99~y?m$HCsoYLDVr(D8+mfC`Y90{4RQ$U-;QCCE
z%wVSyJi?SHynia%oWK$T9-Vo5{dwb@iruJ`Z%M15ZOEqE4JpcWJfXEBR
zB@||$4W}IxQ!Q)ZxY`j;9_~vx;&6X#G(t1!91jRS2|R=ukfhzsP-}h&>44`V=@7JO
znoS68qTZv`_7gM4hiU~iXAMurwu%SDGwV^8hsK9Yv^kT8gnnDHjN~c2jg<4|3xl?PQ{Lki*dA;b*`JI%cs{5eCLq9}749~qfq+aaj^8WwFI?ala>Rg>^Rr$gJwSLwhdm!L8Pk1!mraUEj$K0@o^-akU$*W{5_UnT^#;rQ+cT#d7PD|1`u=!Yj>Cb^{|zj#`Q1IO;GQ@WODmg+eHubW{x;2G;I$JxsjQswCY~veRuda5Qngn%C>4*2F&V#4DyMGvFEDT!O)>|6
z+8j13WaoMpv{9V
zvX8`raI|PMd?rt`RY7v3JfC+Zz0GgfgEj+;scR1>hd|TxyB^vEKW*jN`g6^6GCbeB
n4S$yiEKx?A*h<;DKK%nyo|@FKK@J>R00000NkvXXu0mjf%61V*
delta 1599
zcmV-F2Eh6E9pxR6Bqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2i*r06f_$pPl!IT
zTbc-ezTGzETDF+b{#dj|i?78|!#D8NQU7+sB#A%a+3e2JNi-LPXhGLE
zw;myNIq@-n4Ulvyp;ruNVCGig(JW)*>m~tzHIIxG4Ys4F`8Yr<8%op<
zP%RTOPoxsEt4^0QZxD7t76gwK)*>KG)pb12eGqR;dJd_1Kmb$m@9K!lE}A9-sKC)(
zrkwASd7C&x=EkU*fW+L>G&7xG0UAw+l7e`3y)9%kd2+h+I0ce!KwEUO+qMVBZW<<|
zx*>0CLzSpMX^%34ol5WsQ=;&Hs%UcpOAL5)=IQn4jdLn?qf)*lt%9~8n{Jb%agr{H
zwl>2rCr`Et!Xm(N@BIM|fM}8h>8iJ
z{Acp~_YVRhFBq3ln1ME&c2G>UtcBxhM>u)7FX4#8{jt#q&7^ZYAowKk5N1G?69uUv0M_nEoA2QMAOd1mUZOJl{
zr|>pX&YLp~kRRXU0BcTv9pJCY;znn&fa(Js=H+
zTMuKXnP{`(r8!@;dW>3C@tzJOg?St1Uc6Gf=`uA92y)fZIIb(RiEkl;|CE
z!yeX)Z4_ku$>8`;P@Vnl&y6MQ)|q+#2z_6ZM_PTE5Y&d_yB}~h&hD+uZK0zdo_LMB
zk_I3wTcd{Xy(O%{+epOQ*pTrf)OOFYiDqGHR%U4fT#d7Td#~9Ij4U~7C642$!*IY0
z6S5LO^7eu58)BzxD=_zI2pRd?G>d`PPVl6%a>ko@raW3rY^+GtUfrNnJSxUy{649i
zy5YaTz-2Va9Q*sPG9E56I**QIb>(WDc02gJFZ;F*3;z9Y>+
zii?^h)NX<{54OlY5)Z=BqRsG`Jk3@G$&vDW-j(z=zhMvB3@oOuJ)9f@P1EmsXcPRj
xm1pbEHPgxPeDgN^T_UhV8Es-KW$XI%4?i}Y%LD5UmNozY002ovPDHLkV1mIk7hC`U
diff --git a/nokia-generate-bdf.c b/nokia-generate-bdf.c
new file mode 100644
index 0000000..aa14ab7
--- /dev/null
+++ b/nokia-generate-bdf.c
@@ -0,0 +1,222 @@
+/*
+ * nokia-generate-bdf.c: BDF generator for Nokia 3310 fonts
+ *
+ * Copyright (c) 2013, Přemysl Janouch
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#include
+#include
+#include "nokia-fonts.c"
+
+#define N_ELEMENTS(a) (sizeof (a) / sizeof (a)[0])
+
+static void
+generate_big_char (struct nokia_big_char *ch, wchar_t code)
+{
+ printf ("STARTCHAR U+%04X\n", code);
+ printf ("ENCODING %d\n", code);
+ printf ("SWIDTH %d 0\n", (int) (.5 + 1000. * ch->advance / 14.));
+ printf ("DWIDTH %d\n", ch->advance);
+ printf ("BBX %d 14 0 -2\n", ch->width);
+ printf ("BITMAP\n");
+ printf (ch->width > 8 ? "0000\n" : "00\n");
+
+ unsigned i;
+ for (i = 0; i < 13; i++)
+ {
+ unsigned short row = ch->rows[i];
+
+ printf ("%02X", (row >> 8) & 0xFF);
+ if (ch->width > 8)
+ printf ("%02X", row & 0xFF);
+ putchar ('\n');
+ }
+
+ printf ("ENDCHAR\n");
+}
+
+static void
+generate_big_font (void)
+{
+ // Line height for this font = 14 = 1 above + 13
+
+ printf ("STARTFONT 2.1\n");
+ printf ("FONT -nokia-nokia-medium-r-normal--14-140-75-75-p-65-iso10646-1\n");
+ printf ("SIZE 14 75 75\n");
+ printf ("FONTBOUNDINGBOX 14 14 0 -2\n");
+ printf ("STARTPROPERTIES 2\n");
+ printf ("FONT_ASCENT 12\n");
+ printf ("FONT_DESCENT 2\n");
+ printf ("ENDPROPERTIES\n");
+
+ printf ("CHARS %zu\n", N_ELEMENTS (nokia_big_data)
+ + N_ELEMENTS (nokia_big_wide_data));
+
+ unsigned i;
+ for (i = 0; i < N_ELEMENTS (nokia_big_data); i++)
+ generate_big_char (&nokia_big_data[i], ' ' + i);
+
+ for (i = 0; i < N_ELEMENTS (nokia_big_wide_data); i++)
+ {
+ struct nokia_big_char_wide *chw = &nokia_big_wide_data[i];
+ generate_big_char (&chw->ch, chw->code);
+ }
+
+ printf ("ENDFONT\n");
+}
+
+static void
+generate_small_char (struct nokia_small_char *ch, wchar_t code)
+{
+ printf ("STARTCHAR U+%04X\n", code);
+ printf ("ENCODING %d\n", code);
+ printf ("SWIDTH %d 0\n", (int) (.5 + 1000. * ch->advance / 10.));
+ printf ("DWIDTH %d\n", ch->advance);
+ printf ("BBX %d 10 0 -2\n", ch->width);
+ printf ("BITMAP\n");
+ printf ("00\n");
+
+ unsigned i;
+ for (i = 0; i < 8; i++)
+ printf ("%02X\n", ch->rows[i] & 0xFF);
+
+ printf ("00\n");
+ printf ("ENDCHAR\n");
+}
+
+static void
+generate_small_font (void)
+{
+ // Line height for this font = 10 = 1 above + 8 + 1 below
+
+ printf ("STARTFONT 2.1\n");
+ printf ("FONT -nokia-nokia-medium-r-normal--10-100-75-75-p-40-iso10646-1\n");
+ printf ("SIZE 10 75 75\n");
+ printf ("FONTBOUNDINGBOX 10 10 0 -2\n");
+ printf ("STARTPROPERTIES 2\n");
+ printf ("FONT_ASCENT 8\n");
+ printf ("FONT_DESCENT 2\n");
+ printf ("ENDPROPERTIES\n");
+
+ printf ("CHARS %zu\n", N_ELEMENTS (nokia_small_data)
+ + N_ELEMENTS (nokia_small_wide_data));
+
+ unsigned i;
+ for (i = 0; i < N_ELEMENTS (nokia_small_data); i++)
+ generate_small_char (&nokia_small_data[i], ' ' + i);
+
+ for (i = 0; i < N_ELEMENTS (nokia_small_wide_data); i++)
+ {
+ struct nokia_small_char_wide *chw = &nokia_small_wide_data[i];
+ generate_small_char (&chw->ch, chw->code);
+ }
+
+ printf ("ENDFONT\n");
+}
+
+static void
+generate_small_bold_font (void)
+{
+ // Line height for this font = 10 = 1 above + 8 + 1 below
+
+ printf ("STARTFONT 2.1\n");
+ printf ("FONT -nokia-nokia-bold-r-normal--10-100-75-75-p-40-iso10646-1\n");
+ printf ("SIZE 10 75 75\n");
+ printf ("FONTBOUNDINGBOX 10 10 0 -2\n");
+ printf ("STARTPROPERTIES 2\n");
+ printf ("FONT_ASCENT 8\n");
+ printf ("FONT_DESCENT 2\n");
+ printf ("ENDPROPERTIES\n");
+
+ printf ("CHARS %zu\n", N_ELEMENTS (nokia_small_bold_data)
+ + N_ELEMENTS (nokia_small_bold_wide_data));
+
+ unsigned i;
+ for (i = 0; i < N_ELEMENTS (nokia_small_bold_data); i++)
+ generate_small_char (&nokia_small_bold_data[i], ' ' + i);
+
+ for (i = 0; i < N_ELEMENTS (nokia_small_bold_wide_data); i++)
+ {
+ struct nokia_small_char_wide *chw = &nokia_small_bold_wide_data[i];
+ generate_small_char (&chw->ch, chw->code);
+ }
+
+ printf ("ENDFONT\n");
+}
+
+static void
+generate_menu_font (void)
+{
+ printf ("STARTFONT 2.1\n");
+ printf ("FONT -nokia-nokia-medium-r-normal--6-60-75-75-p-40-iso10646-1\n");
+ printf ("SIZE 6 75 75\n");
+ printf ("FONTBOUNDINGBOX 6 6 0 0\n");
+ printf ("STARTPROPERTIES 2\n");
+ printf ("FONT_ASCENT 6\n");
+ printf ("FONT_DESCENT 0\n");
+ printf ("ENDPROPERTIES\n");
+
+ printf ("CHARS %zu\n", N_ELEMENTS (nokia_menu_data));
+
+ unsigned i, k;
+ for (i = 0; i < N_ELEMENTS (nokia_menu_data); i++)
+ {
+ struct nokia_menu_char *ch = &nokia_menu_data[i];
+
+ printf ("STARTCHAR U+%04X\n", '/' + i);
+ printf ("ENCODING %d\n", '/' + i);
+ printf ("SWIDTH %d 0\n", (int) (.5 + 1000. * ch->advance / 6.));
+ printf ("DWIDTH %d\n", ch->advance);
+ printf ("BBX %d 6 0 0\n", ch->width);
+ printf ("BITMAP\n");
+
+ for (k = 0; k < 6; k++)
+ printf ("%02X\n", ch->rows[k] & 0xFF);
+
+ printf ("ENDCHAR\n");
+ }
+
+ printf ("ENDFONT\n");
+}
+
+static void
+usage (const char *program_name)
+{
+ fprintf (stderr, "Usage: %s { big | menu"
+ " | small | small-bold }\n", program_name);
+ exit (1);
+}
+
+int
+main (int argc, char *argv[])
+{
+ if (argc != 2)
+ usage (argv[0]);
+ if (!strcmp (argv[1], "big"))
+ generate_big_font ();
+ else if (!strcmp (argv[1], "menu"))
+ generate_menu_font ();
+ else if (!strcmp (argv[1], "small"))
+ generate_small_font ();
+ else if (!strcmp (argv[1], "small-bold"))
+ generate_small_bold_font ();
+ else
+ usage (argv[0]);
+
+ return 0;
+}
+
diff --git a/nokia-menu.bdf b/nokia-menu.bdf
new file mode 100644
index 0000000..bd1a348
--- /dev/null
+++ b/nokia-menu.bdf
@@ -0,0 +1,179 @@
+STARTFONT 2.1
+FONT -nokia-nokia-medium-r-normal--6-60-75-75-p-40-iso10646-1
+SIZE 6 75 75
+FONTBOUNDINGBOX 6 6 0 0
+STARTPROPERTIES 2
+FONT_ASCENT 6
+FONT_DESCENT 0
+ENDPROPERTIES
+CHARS 13
+STARTCHAR U+002F
+ENCODING 47
+SWIDTH 500 0
+DWIDTH 3
+BBX 2 6 0 0
+BITMAP
+00
+00
+00
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+0030
+ENCODING 48
+SWIDTH 333 0
+DWIDTH 2
+BBX 1 6 0 0
+BITMAP
+00
+00
+00
+00
+00
+80
+ENDCHAR
+STARTCHAR U+0031
+ENCODING 49
+SWIDTH 667 0
+DWIDTH 4
+BBX 3 6 0 0
+BITMAP
+20
+20
+40
+40
+80
+80
+ENDCHAR
+STARTCHAR U+0032
+ENCODING 50
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+70
+D8
+D8
+D8
+D8
+70
+ENDCHAR
+STARTCHAR U+0033
+ENCODING 51
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+30
+70
+30
+30
+30
+30
+ENDCHAR
+STARTCHAR U+0034
+ENCODING 52
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+F0
+18
+18
+70
+C0
+F8
+ENDCHAR
+STARTCHAR U+0035
+ENCODING 53
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+F0
+18
+70
+18
+18
+F0
+ENDCHAR
+STARTCHAR U+0036
+ENCODING 54
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+18
+38
+58
+F8
+18
+18
+ENDCHAR
+STARTCHAR U+0037
+ENCODING 55
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+F0
+C0
+F0
+18
+18
+F0
+ENDCHAR
+STARTCHAR U+0038
+ENCODING 56
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+70
+C0
+F0
+D8
+D8
+70
+ENDCHAR
+STARTCHAR U+0039
+ENCODING 57
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+F8
+18
+30
+60
+60
+60
+ENDCHAR
+STARTCHAR U+003A
+ENCODING 58
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+70
+D8
+70
+D8
+D8
+70
+ENDCHAR
+STARTCHAR U+003B
+ENCODING 59
+SWIDTH 1000 0
+DWIDTH 6
+BBX 5 6 0 0
+BITMAP
+70
+D8
+D8
+78
+18
+70
+ENDCHAR
+ENDFONT
diff --git a/nokia-menu.c b/nokia-menu.c
deleted file mode 100644
index b9e6e61..0000000
--- a/nokia-menu.c
+++ /dev/null
@@ -1,22 +0,0 @@
-struct
-{
- int width;
- int advance;
- int rows[6];
-}
-font_data[] =
-{
- { 2, 3, { 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00 } }, // -
- { 1, 2, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 } }, // .
- { 3, 4, { 0x20, 0x20, 0x40, 0x40, 0x80, 0x80 } }, // /
- { 5, 6, { 0x70, 0xd8, 0xd8, 0xd8, 0xd8, 0x70 } }, // 0
- { 5, 6, { 0x30, 0x70, 0x30, 0x30, 0x30, 0x30 } }, // 1
- { 5, 6, { 0xf0, 0x18, 0x18, 0x70, 0xc0, 0xf8 } }, // 2
- { 5, 6, { 0xf0, 0x18, 0x70, 0x18, 0x18, 0xf0 } }, // 3
- { 5, 6, { 0x18, 0x38, 0x58, 0xf8, 0x18, 0x18 } }, // 4
- { 5, 6, { 0xf0, 0xc0, 0xf0, 0x18, 0x18, 0xf0 } }, // 5
- { 5, 6, { 0x70, 0xc0, 0xf0, 0xd8, 0xd8, 0x70 } }, // 6
- { 5, 6, { 0xf8, 0x18, 0x30, 0x60, 0x60, 0x60 } }, // 7
- { 5, 6, { 0x70, 0xd8, 0x70, 0xd8, 0xd8, 0x70 } }, // 8
- { 5, 6, { 0x70, 0xd8, 0xd8, 0x78, 0x18, 0x70 } }, // 9
-};
diff --git a/nokia-small-bold.bdf b/nokia-small-bold.bdf
new file mode 100644
index 0000000..8fc98da
--- /dev/null
+++ b/nokia-small-bold.bdf
@@ -0,0 +1,1744 @@
+STARTFONT 2.1
+FONT -nokia-nokia-bold-r-normal--10-100-75-75-p-40-iso10646-1
+SIZE 10 75 75
+FONTBOUNDINGBOX 10 10 0 -2
+STARTPROPERTIES 2
+FONT_ASCENT 8
+FONT_DESCENT 2
+ENDPROPERTIES
+CHARS 102
+STARTCHAR U+0020
+ENCODING 32
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+0021
+ENCODING 33
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+C0
+C0
+C0
+C0
+C0
+00
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+0022
+ENCODING 34
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+A0
+A0
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+0023
+ENCODING 35
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+50
+F8
+F8
+50
+F8
+F8
+50
+00
+00
+ENDCHAR
+STARTCHAR U+0024
+ENCODING 36
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+50
+78
+D0
+F0
+78
+58
+F0
+50
+00
+ENDCHAR
+STARTCHAR U+0025
+ENCODING 37
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+C8
+D8
+10
+30
+20
+6C
+4C
+00
+00
+ENDCHAR
+STARTCHAR U+0026
+ENCODING 38
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+70
+D8
+70
+F4
+DC
+DC
+74
+00
+00
+ENDCHAR
+STARTCHAR U+0027
+ENCODING 39
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+80
+80
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+0028
+ENCODING 40
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+20
+40
+C0
+C0
+C0
+C0
+40
+20
+00
+ENDCHAR
+STARTCHAR U+0029
+ENCODING 41
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+80
+40
+60
+60
+60
+60
+40
+80
+00
+ENDCHAR
+STARTCHAR U+002A
+ENCODING 42
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+20
+A8
+F8
+70
+F8
+A8
+20
+00
+00
+ENDCHAR
+STARTCHAR U+002B
+ENCODING 43
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+20
+20
+F8
+20
+20
+00
+00
+00
+ENDCHAR
+STARTCHAR U+002C
+ENCODING 44
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+40
+C0
+80
+00
+ENDCHAR
+STARTCHAR U+002D
+ENCODING 45
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+00
+F0
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+002E
+ENCODING 46
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+002F
+ENCODING 47
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+20
+20
+60
+40
+C0
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+0030
+ENCODING 48
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+D8
+D8
+D8
+D8
+D8
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0031
+ENCODING 49
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+30
+70
+30
+30
+30
+30
+30
+00
+00
+ENDCHAR
+STARTCHAR U+0032
+ENCODING 50
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F0
+18
+18
+70
+C0
+C0
+F8
+00
+00
+ENDCHAR
+STARTCHAR U+0033
+ENCODING 51
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F0
+18
+18
+70
+18
+18
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+0034
+ENCODING 52
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+18
+38
+58
+98
+F8
+18
+18
+00
+00
+ENDCHAR
+STARTCHAR U+0035
+ENCODING 53
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F0
+80
+F0
+18
+18
+18
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+0036
+ENCODING 54
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+C0
+F0
+D8
+D8
+D8
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0037
+ENCODING 55
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F8
+18
+30
+30
+60
+60
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0038
+ENCODING 56
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+D8
+D8
+70
+D8
+D8
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0039
+ENCODING 57
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+D8
+D8
+D8
+78
+18
+70
+00
+00
+ENDCHAR
+STARTCHAR U+003A
+ENCODING 58
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+00
+00
+C0
+C0
+00
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+003B
+ENCODING 59
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+00
+00
+C0
+C0
+00
+40
+C0
+80
+00
+ENDCHAR
+STARTCHAR U+003C
+ENCODING 60
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+10
+30
+60
+C0
+60
+30
+10
+00
+00
+ENDCHAR
+STARTCHAR U+003D
+ENCODING 61
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+00
+F0
+00
+F0
+00
+00
+00
+ENDCHAR
+STARTCHAR U+003E
+ENCODING 62
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+80
+C0
+60
+30
+60
+C0
+80
+00
+00
+ENDCHAR
+STARTCHAR U+003F
+ENCODING 63
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F0
+18
+30
+60
+60
+00
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0040
+ENCODING 64
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+00
+78
+CC
+FC
+DC
+FC
+C0
+78
+00
+ENDCHAR
+STARTCHAR U+0041
+ENCODING 65
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+D8
+D8
+D8
+F8
+D8
+D8
+00
+00
+ENDCHAR
+STARTCHAR U+0042
+ENCODING 66
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F0
+D8
+F0
+D8
+D8
+D8
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+0043
+ENCODING 67
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+78
+C0
+C0
+C0
+C0
+C0
+78
+00
+00
+ENDCHAR
+STARTCHAR U+0044
+ENCODING 68
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F0
+D8
+D8
+D8
+D8
+D8
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+0045
+ENCODING 69
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F8
+C0
+F0
+C0
+C0
+C0
+F8
+00
+00
+ENDCHAR
+STARTCHAR U+0046
+ENCODING 70
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F8
+C0
+F0
+C0
+C0
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+0047
+ENCODING 71
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+C0
+C0
+D8
+D8
+D8
+78
+00
+00
+ENDCHAR
+STARTCHAR U+0048
+ENCODING 72
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+D8
+D8
+F8
+D8
+D8
+D8
+D8
+00
+00
+ENDCHAR
+STARTCHAR U+0049
+ENCODING 73
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+C0
+C0
+C0
+C0
+C0
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+004A
+ENCODING 74
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+30
+30
+30
+30
+30
+30
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+004B
+ENCODING 75
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+CC
+D8
+F0
+E0
+F0
+D8
+CC
+00
+00
+ENDCHAR
+STARTCHAR U+004C
+ENCODING 76
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+C0
+C0
+C0
+C0
+C0
+C0
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+004D
+ENCODING 77
+SWIDTH 800 0
+DWIDTH 8
+BBX 7 10 0 -2
+BITMAP
+00
+82
+C6
+EE
+FE
+D6
+C6
+C6
+00
+00
+ENDCHAR
+STARTCHAR U+004E
+ENCODING 78
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+8C
+CC
+EC
+FC
+DC
+CC
+C4
+00
+00
+ENDCHAR
+STARTCHAR U+004F
+ENCODING 79
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+78
+CC
+CC
+CC
+CC
+CC
+78
+00
+00
+ENDCHAR
+STARTCHAR U+0050
+ENCODING 80
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F0
+D8
+D8
+D8
+F0
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+0051
+ENCODING 81
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+78
+CC
+CC
+CC
+CC
+DC
+78
+0C
+00
+ENDCHAR
+STARTCHAR U+0052
+ENCODING 82
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F0
+D8
+D8
+D8
+F0
+D0
+D8
+00
+00
+ENDCHAR
+STARTCHAR U+0053
+ENCODING 83
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+70
+C0
+C0
+60
+30
+30
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+0054
+ENCODING 84
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+FC
+30
+30
+30
+30
+30
+30
+00
+00
+ENDCHAR
+STARTCHAR U+0055
+ENCODING 85
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+D8
+D8
+D8
+D8
+D8
+D8
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0056
+ENCODING 86
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+CC
+CC
+CC
+78
+78
+30
+30
+00
+00
+ENDCHAR
+STARTCHAR U+0057
+ENCODING 87
+SWIDTH 800 0
+DWIDTH 8
+BBX 7 10 0 -2
+BITMAP
+00
+C6
+C6
+D6
+FE
+7C
+7C
+6C
+00
+00
+ENDCHAR
+STARTCHAR U+0058
+ENCODING 88
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+CC
+CC
+78
+30
+78
+CC
+CC
+00
+00
+ENDCHAR
+STARTCHAR U+0059
+ENCODING 89
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+CC
+CC
+78
+30
+30
+30
+30
+00
+00
+ENDCHAR
+STARTCHAR U+005A
+ENCODING 90
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F8
+18
+38
+70
+E0
+C0
+F8
+00
+00
+ENDCHAR
+STARTCHAR U+005B
+ENCODING 91
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+E0
+C0
+C0
+C0
+C0
+C0
+C0
+E0
+00
+ENDCHAR
+STARTCHAR U+005C
+ENCODING 92
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+80
+80
+C0
+40
+60
+20
+20
+00
+00
+ENDCHAR
+STARTCHAR U+005D
+ENCODING 93
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+E0
+60
+60
+60
+60
+60
+60
+E0
+00
+ENDCHAR
+STARTCHAR U+005E
+ENCODING 94
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+40
+E0
+A0
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+005F
+ENCODING 95
+SWIDTH 500 0
+DWIDTH 5
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+F8
+00
+ENDCHAR
+STARTCHAR U+0060
+ENCODING 96
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+80
+40
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+0061
+ENCODING 97
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+70
+18
+78
+D8
+78
+00
+00
+ENDCHAR
+STARTCHAR U+0062
+ENCODING 98
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+C0
+C0
+F0
+D8
+D8
+D8
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+0063
+ENCODING 99
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+70
+C0
+C0
+C0
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0064
+ENCODING 100
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+18
+18
+78
+D8
+D8
+D8
+78
+00
+00
+ENDCHAR
+STARTCHAR U+0065
+ENCODING 101
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+70
+D8
+F8
+C0
+78
+00
+00
+ENDCHAR
+STARTCHAR U+0066
+ENCODING 102
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+60
+C0
+E0
+C0
+C0
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+0067
+ENCODING 103
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+78
+D8
+D8
+78
+18
+70
+00
+ENDCHAR
+STARTCHAR U+0068
+ENCODING 104
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+C0
+C0
+F0
+D8
+D8
+D8
+D8
+00
+00
+ENDCHAR
+STARTCHAR U+0069
+ENCODING 105
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+C0
+00
+C0
+C0
+C0
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+006A
+ENCODING 106
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+60
+00
+60
+60
+60
+60
+60
+C0
+00
+ENDCHAR
+STARTCHAR U+006B
+ENCODING 107
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+C0
+C0
+D8
+F0
+E0
+F0
+D8
+00
+00
+ENDCHAR
+STARTCHAR U+006C
+ENCODING 108
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+C0
+C0
+C0
+C0
+C0
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+006D
+ENCODING 109
+SWIDTH 900 0
+DWIDTH 9
+BBX 8 10 0 -2
+BITMAP
+00
+00
+00
+FE
+DB
+DB
+DB
+DB
+00
+00
+ENDCHAR
+STARTCHAR U+006E
+ENCODING 110
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+F0
+D8
+D8
+D8
+D8
+00
+00
+ENDCHAR
+STARTCHAR U+006F
+ENCODING 111
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+70
+D8
+D8
+D8
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0070
+ENCODING 112
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+F0
+D8
+D8
+F0
+C0
+C0
+00
+ENDCHAR
+STARTCHAR U+0071
+ENCODING 113
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+78
+D8
+D8
+78
+18
+18
+00
+ENDCHAR
+STARTCHAR U+0072
+ENCODING 114
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+D0
+F0
+C0
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+0073
+ENCODING 115
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+70
+C0
+F0
+30
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+0074
+ENCODING 116
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+C0
+C0
+E0
+C0
+C0
+C0
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0075
+ENCODING 117
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+D8
+D8
+D8
+D8
+78
+00
+00
+ENDCHAR
+STARTCHAR U+0076
+ENCODING 118
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+D8
+D8
+70
+70
+20
+00
+00
+ENDCHAR
+STARTCHAR U+0077
+ENCODING 119
+SWIDTH 800 0
+DWIDTH 8
+BBX 7 10 0 -2
+BITMAP
+00
+00
+00
+C6
+C6
+D6
+7C
+6C
+00
+00
+ENDCHAR
+STARTCHAR U+0078
+ENCODING 120
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+D8
+D8
+70
+D8
+D8
+00
+00
+ENDCHAR
+STARTCHAR U+0079
+ENCODING 121
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+D8
+D8
+D8
+78
+18
+70
+00
+ENDCHAR
+STARTCHAR U+007A
+ENCODING 122
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+F8
+30
+60
+C0
+F8
+00
+00
+ENDCHAR
+STARTCHAR U+007B
+ENCODING 123
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+20
+40
+C0
+C0
+C0
+C0
+40
+20
+00
+ENDCHAR
+STARTCHAR U+007C
+ENCODING 124
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+80
+40
+60
+60
+60
+60
+40
+80
+00
+ENDCHAR
+STARTCHAR U+007D
+ENCODING 125
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+C0
+C0
+C0
+C0
+C0
+C0
+C0
+C0
+00
+ENDCHAR
+STARTCHAR U+007E
+ENCODING 126
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+00
+00
+00
+64
+FC
+98
+00
+00
+00
+ENDCHAR
+STARTCHAR U+20AC
+ENCODING 8364
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+00
+38
+44
+F8
+F0
+44
+38
+00
+00
+ENDCHAR
+STARTCHAR U+00A3
+ENCODING 163
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+38
+60
+60
+60
+F0
+60
+F8
+00
+00
+ENDCHAR
+STARTCHAR U+00A5
+ENCODING 165
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+CC
+78
+FC
+30
+FC
+30
+30
+00
+00
+ENDCHAR
+STARTCHAR U+00A4
+ENCODING 164
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+88
+70
+D8
+D8
+70
+88
+00
+00
+ENDCHAR
+STARTCHAR U+00BF
+ENCODING 191
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+30
+00
+30
+30
+60
+C0
+78
+00
+00
+ENDCHAR
+STARTCHAR U+00A1
+ENCODING 161
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+C0
+00
+C0
+C0
+C0
+C0
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+00A7
+ENCODING 167
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+60
+D0
+E0
+B0
+D0
+70
+B0
+60
+00
+ENDCHAR
+ENDFONT
diff --git a/nokia-small-bold.c b/nokia-small-bold.c
deleted file mode 100644
index d3f579f..0000000
--- a/nokia-small-bold.c
+++ /dev/null
@@ -1,111 +0,0 @@
-struct
-{
- int width;
- int advance;
- int rows[8];
-}
-font_data[] =
-{
- { 3, 4, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // space
- { 2, 3, { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0x00 } }, // !
- { 3, 4, { 0xa0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // "
- { 5, 6, { 0x50, 0xf8, 0xf8, 0x50, 0xf8, 0xf8, 0x50, 0x00 } }, // #
- { 5, 6, { 0x50, 0x78, 0xd0, 0xf0, 0x78, 0x58, 0xf0, 0x50 } }, // $
- { 6, 7, { 0xc8, 0xd8, 0x10, 0x30, 0x20, 0x6c, 0x4c, 0x00 } }, // %
- { 6, 7, { 0x70, 0xd8, 0x70, 0xf4, 0xdc, 0xdc, 0x74, 0x00 } }, // &
- { 1, 2, { 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // '
- { 3, 4, { 0x20, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x20 } }, // (
- { 3, 4, { 0x80, 0x40, 0x60, 0x60, 0x60, 0x60, 0x40, 0x80 } }, // )
- { 5, 6, { 0x20, 0xa8, 0xf8, 0x70, 0xf8, 0xa8, 0x20, 0x00 } }, // *
- { 5, 6, { 0x00, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x00, 0x00 } }, // +
- { 2, 3, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x80 } }, // ,
- { 4, 5, { 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00 } }, // -
- { 2, 3, { 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00 } }, // .
- { 3, 4, { 0x20, 0x20, 0x60, 0x40, 0xc0, 0x80, 0x80, 0x00 } }, // /
- { 5, 6, { 0x70, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0x70, 0x00 } }, // 0
- { 5, 6, { 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00 } }, // 1
- { 5, 6, { 0xf0, 0x18, 0x18, 0x70, 0xc0, 0xc0, 0xf8, 0x00 } }, // 2
- { 5, 6, { 0xf0, 0x18, 0x18, 0x70, 0x18, 0x18, 0xf0, 0x00 } }, // 3
- { 5, 6, { 0x18, 0x38, 0x58, 0x98, 0xf8, 0x18, 0x18, 0x00 } }, // 4
- { 5, 6, { 0xf0, 0x80, 0xf0, 0x18, 0x18, 0x18, 0xf0, 0x00 } }, // 5
- { 5, 6, { 0x70, 0xc0, 0xf0, 0xd8, 0xd8, 0xd8, 0x70, 0x00 } }, // 6
- { 5, 6, { 0xf8, 0x18, 0x30, 0x30, 0x60, 0x60, 0x60, 0x00 } }, // 7
- { 5, 6, { 0x70, 0xd8, 0xd8, 0x70, 0xd8, 0xd8, 0x70, 0x00 } }, // 8
- { 5, 6, { 0x70, 0xd8, 0xd8, 0xd8, 0x78, 0x18, 0x70, 0x00 } }, // 9
- { 2, 3, { 0x00, 0x00, 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0x00 } }, // :
- { 2, 3, { 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x40, 0xc0, 0x80 } }, // ;
- { 4, 5, { 0x10, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x10, 0x00 } }, // <
- { 4, 5, { 0x00, 0x00, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0x00 } }, // =
- { 4, 5, { 0x80, 0xc0, 0x60, 0x30, 0x60, 0xc0, 0x80, 0x00 } }, // >
- { 5, 6, { 0xf0, 0x18, 0x30, 0x60, 0x60, 0x00, 0x60, 0x00 } }, // ?
- { 6, 7, { 0x00, 0x78, 0xcc, 0xfc, 0xdc, 0xfc, 0xc0, 0x78 } }, // @
- { 5, 6, { 0x70, 0xd8, 0xd8, 0xd8, 0xf8, 0xd8, 0xd8, 0x00 } }, // A
- { 5, 6, { 0xf0, 0xd8, 0xf0, 0xd8, 0xd8, 0xd8, 0xf0, 0x00 } }, // B
- { 5, 6, { 0x78, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x78, 0x00 } }, // C
- { 5, 6, { 0xf0, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xf0, 0x00 } }, // D
- { 5, 6, { 0xf8, 0xc0, 0xf0, 0xc0, 0xc0, 0xc0, 0xf8, 0x00 } }, // E
- { 5, 6, { 0xf8, 0xc0, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00 } }, // F
- { 5, 6, { 0x70, 0xc0, 0xc0, 0xd8, 0xd8, 0xd8, 0x78, 0x00 } }, // G
- { 5, 6, { 0xd8, 0xd8, 0xf8, 0xd8, 0xd8, 0xd8, 0xd8, 0x00 } }, // H
- { 2, 3, { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00 } }, // I
- { 4, 5, { 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xe0, 0x00 } }, // J
- { 6, 7, { 0xcc, 0xd8, 0xf0, 0xe0, 0xf0, 0xd8, 0xcc, 0x00 } }, // K
- { 4, 5, { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0, 0x00 } }, // L
- { 7, 8, { 0x82, 0xc6, 0xee, 0xfe, 0xd6, 0xc6, 0xc6, 0x00 } }, // M
- { 6, 7, { 0x8c, 0xcc, 0xec, 0xfc, 0xdc, 0xcc, 0xc4, 0x00 } }, // N
- { 6, 7, { 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x00 } }, // O
- { 5, 6, { 0xf0, 0xd8, 0xd8, 0xd8, 0xf0, 0xc0, 0xc0, 0x00 } }, // P
- { 6, 7, { 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0xdc, 0x78, 0x0c } }, // Q
- { 5, 6, { 0xf0, 0xd8, 0xd8, 0xd8, 0xf0, 0xd0, 0xd8, 0x00 } }, // R
- { 4, 5, { 0x70, 0xc0, 0xc0, 0x60, 0x30, 0x30, 0xe0, 0x00 } }, // S
- { 6, 7, { 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00 } }, // T
- { 5, 6, { 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0x70, 0x00 } }, // U
- { 6, 7, { 0xcc, 0xcc, 0xcc, 0x78, 0x78, 0x30, 0x30, 0x00 } }, // V
- { 7, 8, { 0xc6, 0xc6, 0xd6, 0xfe, 0x7c, 0x7c, 0x6c, 0x00 } }, // W
- { 6, 7, { 0xcc, 0xcc, 0x78, 0x30, 0x78, 0xcc, 0xcc, 0x00 } }, // X
- { 6, 7, { 0xcc, 0xcc, 0x78, 0x30, 0x30, 0x30, 0x30, 0x00 } }, // Y
- { 5, 6, { 0xf8, 0x18, 0x38, 0x70, 0xe0, 0xc0, 0xf8, 0x00 } }, // Z
- { 3, 4, { 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0 } }, // [
- { 3, 4, { 0x80, 0x80, 0xc0, 0x40, 0x60, 0x20, 0x20, 0x00 } }, // backslash
- { 3, 4, { 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0 } }, // ]
- { 3, 4, { 0x40, 0xe0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // ^
- { 5, 5, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8 } }, // _
- { 2, 3, { 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // `
- { 5, 6, { 0x00, 0x00, 0x70, 0x18, 0x78, 0xd8, 0x78, 0x00 } }, // a
- { 5, 6, { 0xc0, 0xc0, 0xf0, 0xd8, 0xd8, 0xd8, 0xf0, 0x00 } }, // b
- { 4, 5, { 0x00, 0x00, 0x70, 0xc0, 0xc0, 0xc0, 0x70, 0x00 } }, // c
- { 5, 6, { 0x18, 0x18, 0x78, 0xd8, 0xd8, 0xd8, 0x78, 0x00 } }, // d
- { 5, 6, { 0x00, 0x00, 0x70, 0xd8, 0xf8, 0xc0, 0x78, 0x00 } }, // e
- { 3, 4, { 0x60, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00 } }, // f
- { 5, 6, { 0x00, 0x00, 0x78, 0xd8, 0xd8, 0x78, 0x18, 0x70 } }, // g
- { 5, 6, { 0xc0, 0xc0, 0xf0, 0xd8, 0xd8, 0xd8, 0xd8, 0x00 } }, // h
- { 2, 3, { 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00 } }, // i
- { 3, 4, { 0x60, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0 } }, // j
- { 5, 6, { 0xc0, 0xc0, 0xd8, 0xf0, 0xe0, 0xf0, 0xd8, 0x00 } }, // k
- { 2, 3, { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00 } }, // l
- { 8, 9, { 0x00, 0x00, 0xfe, 0xdb, 0xdb, 0xdb, 0xdb, 0x00 } }, // m
- { 5, 6, { 0x00, 0x00, 0xf0, 0xd8, 0xd8, 0xd8, 0xd8, 0x00 } }, // n
- { 5, 6, { 0x00, 0x00, 0x70, 0xd8, 0xd8, 0xd8, 0x70, 0x00 } }, // o
- { 5, 6, { 0x00, 0x00, 0xf0, 0xd8, 0xd8, 0xf0, 0xc0, 0xc0 } }, // p
- { 5, 6, { 0x00, 0x00, 0x78, 0xd8, 0xd8, 0x78, 0x18, 0x18 } }, // q
- { 4, 5, { 0x00, 0x00, 0xd0, 0xf0, 0xc0, 0xc0, 0xc0, 0x00 } }, // r
- { 4, 5, { 0x00, 0x00, 0x70, 0xc0, 0xf0, 0x30, 0xe0, 0x00 } }, // s
- { 3, 4, { 0xc0, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0x60, 0x00 } }, // t
- { 5, 6, { 0x00, 0x00, 0xd8, 0xd8, 0xd8, 0xd8, 0x78, 0x00 } }, // u
- { 5, 6, { 0x00, 0x00, 0xd8, 0xd8, 0x70, 0x70, 0x20, 0x00 } }, // v
- { 7, 8, { 0x00, 0x00, 0xc6, 0xc6, 0xd6, 0x7c, 0x6c, 0x00 } }, // w
- { 5, 6, { 0x00, 0x00, 0xd8, 0xd8, 0x70, 0xd8, 0xd8, 0x00 } }, // x
- { 5, 6, { 0x00, 0x00, 0xd8, 0xd8, 0xd8, 0x78, 0x18, 0x70 } }, // y
- { 5, 6, { 0x00, 0x00, 0xf8, 0x30, 0x60, 0xc0, 0xf8, 0x00 } }, // z
- { 3, 4, { 0x20, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x20 } }, // {
- { 2, 3, { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0 } }, // |
- { 3, 4, { 0x80, 0x40, 0x60, 0x60, 0x60, 0x60, 0x40, 0x80 } }, // }
- { 6, 7, { 0x00, 0x00, 0x00, 0x64, 0xfc, 0x98, 0x00, 0x00 } }, // ~
- { 6, 7, { 0x00, 0x38, 0x44, 0xf8, 0xf0, 0x44, 0x38, 0x00 } }, // euro
- { 5, 6, { 0x38, 0x60, 0x60, 0x60, 0xf0, 0x60, 0xf8, 0x00 } }, // pound
- { 6, 7, { 0xcc, 0x78, 0xfc, 0x30, 0xfc, 0x30, 0x30, 0x00 } }, // yen
- { 5, 6, { 0x00, 0x88, 0x70, 0xd8, 0xd8, 0x70, 0x88, 0x00 } }, // currency
- { 5, 6, { 0x30, 0x00, 0x30, 0x30, 0x60, 0xc0, 0x78, 0x00 } }, // inverted ?
- { 2, 3, { 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00 } }, // inverted !
- { 4, 5, { 0x60, 0xd0, 0xe0, 0xb0, 0xd0, 0x70, 0xb0, 0x60 } }, // section
-};
diff --git a/nokia-small.bdf b/nokia-small.bdf
new file mode 100644
index 0000000..6b0b46f
--- /dev/null
+++ b/nokia-small.bdf
@@ -0,0 +1,1744 @@
+STARTFONT 2.1
+FONT -nokia-nokia-medium-r-normal--10-100-75-75-p-40-iso10646-1
+SIZE 10 75 75
+FONTBOUNDINGBOX 10 10 0 -2
+STARTPROPERTIES 2
+FONT_ASCENT 8
+FONT_DESCENT 2
+ENDPROPERTIES
+CHARS 102
+STARTCHAR U+0020
+ENCODING 32
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+0021
+ENCODING 33
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+80
+80
+80
+80
+80
+00
+80
+00
+00
+ENDCHAR
+STARTCHAR U+0022
+ENCODING 34
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+A0
+A0
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+0023
+ENCODING 35
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+50
+50
+F8
+50
+50
+F8
+50
+50
+00
+ENDCHAR
+STARTCHAR U+0024
+ENCODING 36
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+20
+70
+A0
+E0
+70
+30
+E0
+20
+00
+ENDCHAR
+STARTCHAR U+0025
+ENCODING 37
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+D0
+D0
+20
+60
+40
+B0
+B0
+00
+00
+ENDCHAR
+STARTCHAR U+0026
+ENCODING 38
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+40
+A0
+A0
+40
+A8
+90
+68
+00
+00
+ENDCHAR
+STARTCHAR U+0027
+ENCODING 39
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+80
+80
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+0028
+ENCODING 40
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+40
+80
+80
+80
+80
+80
+80
+40
+00
+ENDCHAR
+STARTCHAR U+0029
+ENCODING 41
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+80
+40
+40
+40
+40
+40
+40
+80
+00
+ENDCHAR
+STARTCHAR U+002A
+ENCODING 42
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+50
+20
+F8
+20
+50
+00
+00
+00
+ENDCHAR
+STARTCHAR U+002B
+ENCODING 43
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+20
+20
+F8
+20
+20
+00
+00
+00
+ENDCHAR
+STARTCHAR U+002C
+ENCODING 44
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+40
+80
+00
+ENDCHAR
+STARTCHAR U+002D
+ENCODING 45
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+00
+F0
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+002E
+ENCODING 46
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+80
+00
+00
+ENDCHAR
+STARTCHAR U+002F
+ENCODING 47
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+20
+20
+40
+40
+40
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+0030
+ENCODING 48
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+60
+90
+90
+90
+90
+90
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0031
+ENCODING 49
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+20
+60
+20
+20
+20
+20
+20
+00
+00
+ENDCHAR
+STARTCHAR U+0032
+ENCODING 50
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+E0
+10
+10
+60
+80
+80
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+0033
+ENCODING 51
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+E0
+10
+10
+60
+10
+10
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+0034
+ENCODING 52
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+10
+30
+50
+90
+F0
+10
+10
+00
+00
+ENDCHAR
+STARTCHAR U+0035
+ENCODING 53
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+E0
+80
+E0
+10
+10
+10
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+0036
+ENCODING 54
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+60
+80
+E0
+90
+90
+90
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0037
+ENCODING 55
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+F0
+10
+20
+20
+40
+40
+40
+00
+00
+ENDCHAR
+STARTCHAR U+0038
+ENCODING 56
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+60
+90
+90
+60
+90
+90
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0039
+ENCODING 57
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+60
+90
+90
+90
+70
+10
+60
+00
+00
+ENDCHAR
+STARTCHAR U+003A
+ENCODING 58
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+00
+00
+00
+80
+00
+00
+80
+00
+00
+ENDCHAR
+STARTCHAR U+003B
+ENCODING 59
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+00
+00
+00
+40
+00
+00
+40
+80
+00
+ENDCHAR
+STARTCHAR U+003C
+ENCODING 60
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+10
+20
+40
+80
+40
+20
+10
+00
+00
+ENDCHAR
+STARTCHAR U+003D
+ENCODING 61
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+00
+F0
+00
+F0
+00
+00
+00
+ENDCHAR
+STARTCHAR U+003E
+ENCODING 62
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+80
+40
+20
+10
+20
+40
+80
+00
+00
+ENDCHAR
+STARTCHAR U+003F
+ENCODING 63
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+E0
+10
+20
+40
+40
+00
+40
+00
+00
+ENDCHAR
+STARTCHAR U+0040
+ENCODING 64
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+88
+B8
+D8
+B0
+88
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0041
+ENCODING 65
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+60
+90
+90
+90
+F0
+90
+90
+00
+00
+ENDCHAR
+STARTCHAR U+0042
+ENCODING 66
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+E0
+90
+E0
+90
+90
+90
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+0043
+ENCODING 67
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+70
+80
+80
+80
+80
+80
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0044
+ENCODING 68
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+E0
+90
+90
+90
+90
+90
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+0045
+ENCODING 69
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+F0
+80
+E0
+80
+80
+80
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+0046
+ENCODING 70
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+F0
+80
+E0
+80
+80
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+0047
+ENCODING 71
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+70
+80
+B0
+90
+90
+90
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0048
+ENCODING 72
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+90
+90
+F0
+90
+90
+90
+90
+00
+00
+ENDCHAR
+STARTCHAR U+0049
+ENCODING 73
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+80
+80
+80
+80
+80
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+004A
+ENCODING 74
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+20
+20
+20
+20
+20
+20
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+004B
+ENCODING 75
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+90
+A0
+C0
+80
+C0
+A0
+90
+00
+00
+ENDCHAR
+STARTCHAR U+004C
+ENCODING 76
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+80
+80
+80
+80
+80
+80
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+004D
+ENCODING 77
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+88
+D8
+A8
+A8
+88
+88
+88
+00
+00
+ENDCHAR
+STARTCHAR U+004E
+ENCODING 78
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+88
+C8
+A8
+98
+88
+88
+88
+00
+00
+ENDCHAR
+STARTCHAR U+004F
+ENCODING 79
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+88
+88
+88
+88
+88
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0050
+ENCODING 80
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+E0
+90
+90
+90
+E0
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+0051
+ENCODING 81
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+70
+88
+88
+88
+88
+A8
+70
+08
+00
+ENDCHAR
+STARTCHAR U+0052
+ENCODING 82
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+E0
+90
+90
+90
+E0
+A0
+90
+00
+00
+ENDCHAR
+STARTCHAR U+0053
+ENCODING 83
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+70
+80
+80
+60
+10
+10
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+0054
+ENCODING 84
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+F8
+20
+20
+20
+20
+20
+20
+00
+00
+ENDCHAR
+STARTCHAR U+0055
+ENCODING 85
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+90
+90
+90
+90
+90
+90
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0056
+ENCODING 86
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+88
+88
+88
+50
+50
+20
+20
+00
+00
+ENDCHAR
+STARTCHAR U+0057
+ENCODING 87
+SWIDTH 800 0
+DWIDTH 8
+BBX 7 10 0 -2
+BITMAP
+00
+82
+82
+44
+54
+54
+28
+28
+00
+00
+ENDCHAR
+STARTCHAR U+0058
+ENCODING 88
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+88
+88
+50
+20
+50
+88
+88
+00
+00
+ENDCHAR
+STARTCHAR U+0059
+ENCODING 89
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+88
+88
+50
+20
+20
+20
+20
+00
+00
+ENDCHAR
+STARTCHAR U+005A
+ENCODING 90
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+F0
+10
+20
+40
+80
+80
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+005B
+ENCODING 91
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+C0
+80
+80
+80
+80
+80
+80
+C0
+00
+ENDCHAR
+STARTCHAR U+005C
+ENCODING 92
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+80
+80
+40
+40
+40
+20
+20
+00
+00
+ENDCHAR
+STARTCHAR U+005D
+ENCODING 93
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+C0
+40
+40
+40
+40
+40
+40
+C0
+00
+ENDCHAR
+STARTCHAR U+005E
+ENCODING 94
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+40
+A0
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+005F
+ENCODING 95
+SWIDTH 500 0
+DWIDTH 5
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+F8
+00
+ENDCHAR
+STARTCHAR U+0060
+ENCODING 96
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+80
+40
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+0061
+ENCODING 97
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+60
+10
+70
+90
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0062
+ENCODING 98
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+80
+80
+E0
+90
+90
+90
+E0
+00
+00
+ENDCHAR
+STARTCHAR U+0063
+ENCODING 99
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+00
+00
+60
+80
+80
+80
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0064
+ENCODING 100
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+10
+10
+70
+90
+90
+90
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0065
+ENCODING 101
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+60
+90
+F0
+80
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0066
+ENCODING 102
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+40
+80
+C0
+80
+80
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+0067
+ENCODING 103
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+70
+90
+90
+70
+10
+60
+00
+ENDCHAR
+STARTCHAR U+0068
+ENCODING 104
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+80
+80
+E0
+90
+90
+90
+90
+00
+00
+ENDCHAR
+STARTCHAR U+0069
+ENCODING 105
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+80
+00
+80
+80
+80
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+006A
+ENCODING 106
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+40
+00
+40
+40
+40
+40
+40
+80
+00
+ENDCHAR
+STARTCHAR U+006B
+ENCODING 107
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+80
+80
+90
+A0
+C0
+A0
+90
+00
+00
+ENDCHAR
+STARTCHAR U+006C
+ENCODING 108
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+80
+80
+80
+80
+80
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+006D
+ENCODING 109
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+F0
+A8
+A8
+A8
+A8
+00
+00
+ENDCHAR
+STARTCHAR U+006E
+ENCODING 110
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+E0
+90
+90
+90
+90
+00
+00
+ENDCHAR
+STARTCHAR U+006F
+ENCODING 111
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+60
+90
+90
+90
+60
+00
+00
+ENDCHAR
+STARTCHAR U+0070
+ENCODING 112
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+E0
+90
+90
+E0
+80
+80
+00
+ENDCHAR
+STARTCHAR U+0071
+ENCODING 113
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+70
+90
+90
+70
+10
+10
+00
+ENDCHAR
+STARTCHAR U+0072
+ENCODING 114
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+00
+00
+A0
+E0
+80
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+0073
+ENCODING 115
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+00
+00
+60
+80
+40
+20
+C0
+00
+00
+ENDCHAR
+STARTCHAR U+0074
+ENCODING 116
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+80
+80
+C0
+80
+80
+80
+40
+00
+00
+ENDCHAR
+STARTCHAR U+0075
+ENCODING 117
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+90
+90
+90
+90
+70
+00
+00
+ENDCHAR
+STARTCHAR U+0076
+ENCODING 118
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+88
+88
+50
+50
+20
+00
+00
+ENDCHAR
+STARTCHAR U+0077
+ENCODING 119
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+00
+00
+88
+A8
+A8
+50
+50
+00
+00
+ENDCHAR
+STARTCHAR U+0078
+ENCODING 120
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+90
+90
+60
+90
+90
+00
+00
+ENDCHAR
+STARTCHAR U+0079
+ENCODING 121
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+90
+90
+90
+70
+10
+60
+00
+ENDCHAR
+STARTCHAR U+007A
+ENCODING 122
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+00
+F0
+20
+40
+80
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+007B
+ENCODING 123
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+40
+80
+80
+80
+80
+80
+80
+40
+00
+ENDCHAR
+STARTCHAR U+007C
+ENCODING 124
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+80
+80
+80
+80
+80
+80
+80
+80
+00
+ENDCHAR
+STARTCHAR U+007D
+ENCODING 125
+SWIDTH 300 0
+DWIDTH 3
+BBX 2 10 0 -2
+BITMAP
+00
+80
+40
+40
+40
+40
+40
+40
+80
+00
+ENDCHAR
+STARTCHAR U+007E
+ENCODING 126
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+00
+00
+00
+64
+98
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR U+20AC
+ENCODING 8364
+SWIDTH 700 0
+DWIDTH 7
+BBX 6 10 0 -2
+BITMAP
+00
+00
+38
+44
+F8
+F0
+44
+38
+00
+00
+ENDCHAR
+STARTCHAR U+00A3
+ENCODING 163
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+70
+80
+80
+E0
+40
+40
+F0
+00
+00
+ENDCHAR
+STARTCHAR U+00A5
+ENCODING 165
+SWIDTH 600 0
+DWIDTH 6
+BBX 5 10 0 -2
+BITMAP
+00
+88
+50
+F8
+20
+70
+20
+20
+00
+00
+ENDCHAR
+STARTCHAR U+00A4
+ENCODING 164
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+00
+90
+60
+90
+90
+60
+90
+00
+00
+ENDCHAR
+STARTCHAR U+00BF
+ENCODING 191
+SWIDTH 500 0
+DWIDTH 5
+BBX 4 10 0 -2
+BITMAP
+00
+20
+00
+20
+20
+40
+80
+70
+00
+00
+ENDCHAR
+STARTCHAR U+00A1
+ENCODING 161
+SWIDTH 200 0
+DWIDTH 2
+BBX 1 10 0 -2
+BITMAP
+00
+80
+00
+80
+80
+80
+80
+80
+00
+00
+ENDCHAR
+STARTCHAR U+00A7
+ENCODING 167
+SWIDTH 400 0
+DWIDTH 4
+BBX 3 10 0 -2
+BITMAP
+00
+40
+A0
+C0
+A0
+A0
+60
+A0
+40
+00
+ENDCHAR
+ENDFONT
diff --git a/nokia-small.c b/nokia-small.c
deleted file mode 100644
index 9d41714..0000000
--- a/nokia-small.c
+++ /dev/null
@@ -1,111 +0,0 @@
-struct
-{
- int width;
- int advance;
- int rows[8];
-}
-font_data[] =
-{
- { 3, 4, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // space
- { 1, 2, { 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00 } }, // !
- { 3, 4, { 0xa0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // "
- { 5, 6, { 0x50, 0x50, 0xf8, 0x50, 0x50, 0xf8, 0x50, 0x50 } }, // #
- { 4, 5, { 0x20, 0x70, 0xa0, 0xe0, 0x70, 0x30, 0xe0, 0x20 } }, // $
- { 4, 5, { 0xd0, 0xd0, 0x20, 0x60, 0x40, 0xb0, 0xb0, 0x00 } }, // %
- { 5, 6, { 0x40, 0xa0, 0xa0, 0x40, 0xa8, 0x90, 0x68, 0x00 } }, // &
- { 1, 2, { 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // '
- { 2, 3, { 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40 } }, // (
- { 2, 3, { 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80 } }, // )
- { 5, 6, { 0x00, 0x50, 0x20, 0xf8, 0x20, 0x50, 0x00, 0x00 } }, // *
- { 5, 6, { 0x00, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x00, 0x00 } }, // +
- { 2, 3, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80 } }, // ,
- { 4, 5, { 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00 } }, // -
- { 1, 2, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00 } }, // .
- { 3, 4, { 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00 } }, // /
- { 4, 5, { 0x60, 0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00 } }, // 0
- { 4, 5, { 0x20, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00 } }, // 1
- { 4, 5, { 0xe0, 0x10, 0x10, 0x60, 0x80, 0x80, 0xf0, 0x00 } }, // 2
- { 4, 5, { 0xe0, 0x10, 0x10, 0x60, 0x10, 0x10, 0xe0, 0x00 } }, // 3
- { 4, 5, { 0x10, 0x30, 0x50, 0x90, 0xf0, 0x10, 0x10, 0x00 } }, // 4
- { 4, 5, { 0xe0, 0x80, 0xe0, 0x10, 0x10, 0x10, 0xe0, 0x00 } }, // 5
- { 4, 5, { 0x60, 0x80, 0xe0, 0x90, 0x90, 0x90, 0x60, 0x00 } }, // 6
- { 4, 5, { 0xf0, 0x10, 0x20, 0x20, 0x40, 0x40, 0x40, 0x00 } }, // 7
- { 4, 5, { 0x60, 0x90, 0x90, 0x60, 0x90, 0x90, 0x60, 0x00 } }, // 8
- { 4, 5, { 0x60, 0x90, 0x90, 0x90, 0x70, 0x10, 0x60, 0x00 } }, // 9
- { 1, 2, { 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00 } }, // :
- { 2, 3, { 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x80 } }, // ;
- { 4, 5, { 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x00 } }, // <
- { 4, 5, { 0x00, 0x00, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0x00 } }, // =
- { 4, 5, { 0x80, 0x40, 0x20, 0x10, 0x20, 0x40, 0x80, 0x00 } }, // >
- { 4, 5, { 0xe0, 0x10, 0x20, 0x40, 0x40, 0x00, 0x40, 0x00 } }, // ?
- { 5, 6, { 0x70, 0x88, 0xb8, 0xd8, 0xb0, 0x88, 0x70, 0x00 } }, // @
- { 4, 5, { 0x60, 0x90, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00 } }, // A
- { 4, 5, { 0xe0, 0x90, 0xe0, 0x90, 0x90, 0x90, 0xe0, 0x00 } }, // B
- { 4, 5, { 0x70, 0x80, 0x80, 0x80, 0x80, 0x80, 0x70, 0x00 } }, // C
- { 4, 5, { 0xe0, 0x90, 0x90, 0x90, 0x90, 0x90, 0xe0, 0x00 } }, // D
- { 4, 5, { 0xf0, 0x80, 0xe0, 0x80, 0x80, 0x80, 0xf0, 0x00 } }, // E
- { 4, 5, { 0xf0, 0x80, 0xe0, 0x80, 0x80, 0x80, 0x80, 0x00 } }, // F
- { 4, 5, { 0x70, 0x80, 0xb0, 0x90, 0x90, 0x90, 0x70, 0x00 } }, // G
- { 4, 5, { 0x90, 0x90, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x00 } }, // H
- { 1, 2, { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00 } }, // I
- { 3, 4, { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0, 0x00 } }, // J
- { 4, 5, { 0x90, 0xa0, 0xc0, 0x80, 0xc0, 0xa0, 0x90, 0x00 } }, // K
- { 4, 5, { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf0, 0x00 } }, // L
- { 5, 6, { 0x88, 0xd8, 0xa8, 0xa8, 0x88, 0x88, 0x88, 0x00 } }, // M
- { 5, 6, { 0x88, 0xc8, 0xa8, 0x98, 0x88, 0x88, 0x88, 0x00 } }, // N
- { 5, 6, { 0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00 } }, // O
- { 4, 5, { 0xe0, 0x90, 0x90, 0x90, 0xe0, 0x80, 0x80, 0x00 } }, // P
- { 5, 6, { 0x70, 0x88, 0x88, 0x88, 0x88, 0xa8, 0x70, 0x08 } }, // Q
- { 4, 5, { 0xe0, 0x90, 0x90, 0x90, 0xe0, 0xa0, 0x90, 0x00 } }, // R
- { 4, 5, { 0x70, 0x80, 0x80, 0x60, 0x10, 0x10, 0xe0, 0x00 } }, // S
- { 5, 6, { 0xf8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00 } }, // T
- { 4, 5, { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00 } }, // U
- { 5, 6, { 0x88, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20, 0x00 } }, // V
- { 7, 8, { 0x82, 0x82, 0x44, 0x54, 0x54, 0x28, 0x28, 0x00 } }, // W
- { 5, 6, { 0x88, 0x88, 0x50, 0x20, 0x50, 0x88, 0x88, 0x00 } }, // X
- { 5, 6, { 0x88, 0x88, 0x50, 0x20, 0x20, 0x20, 0x20, 0x00 } }, // Y
- { 4, 5, { 0xf0, 0x10, 0x20, 0x40, 0x80, 0x80, 0xf0, 0x00 } }, // Z
- { 2, 3, { 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0 } }, // [
- { 3, 4, { 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x00 } }, // backslash
- { 2, 3, { 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0 } }, // ]
- { 3, 4, { 0x40, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // ^
- { 5, 5, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8 } }, // _
- { 2, 3, { 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // `
- { 4, 5, { 0x00, 0x00, 0x60, 0x10, 0x70, 0x90, 0x70, 0x00 } }, // a
- { 4, 5, { 0x80, 0x80, 0xe0, 0x90, 0x90, 0x90, 0xe0, 0x00 } }, // b
- { 3, 4, { 0x00, 0x00, 0x60, 0x80, 0x80, 0x80, 0x60, 0x00 } }, // c
- { 4, 5, { 0x10, 0x10, 0x70, 0x90, 0x90, 0x90, 0x70, 0x00 } }, // d
- { 4, 5, { 0x00, 0x00, 0x60, 0x90, 0xf0, 0x80, 0x60, 0x00 } }, // e
- { 2, 3, { 0x40, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x00 } }, // f
- { 4, 5, { 0x00, 0x00, 0x70, 0x90, 0x90, 0x70, 0x10, 0x60 } }, // g
- { 4, 5, { 0x80, 0x80, 0xe0, 0x90, 0x90, 0x90, 0x90, 0x00 } }, // h
- { 1, 2, { 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00 } }, // i
- { 2, 3, { 0x40, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80 } }, // j
- { 4, 5, { 0x80, 0x80, 0x90, 0xa0, 0xc0, 0xa0, 0x90, 0x00 } }, // k
- { 1, 2, { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00 } }, // l
- { 5, 6, { 0x00, 0x00, 0xf0, 0xa8, 0xa8, 0xa8, 0xa8, 0x00 } }, // m
- { 4, 5, { 0x00, 0x00, 0xe0, 0x90, 0x90, 0x90, 0x90, 0x00 } }, // n
- { 4, 5, { 0x00, 0x00, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00 } }, // o
- { 4, 5, { 0x00, 0x00, 0xe0, 0x90, 0x90, 0xe0, 0x80, 0x80 } }, // p
- { 4, 5, { 0x00, 0x00, 0x70, 0x90, 0x90, 0x70, 0x10, 0x10 } }, // q
- { 3, 4, { 0x00, 0x00, 0xa0, 0xe0, 0x80, 0x80, 0x80, 0x00 } }, // r
- { 3, 4, { 0x00, 0x00, 0x60, 0x80, 0x40, 0x20, 0xc0, 0x00 } }, // s
- { 2, 3, { 0x80, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x40, 0x00 } }, // t
- { 4, 5, { 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x70, 0x00 } }, // u
- { 5, 6, { 0x00, 0x00, 0x88, 0x88, 0x50, 0x50, 0x20, 0x00 } }, // v
- { 5, 6, { 0x00, 0x00, 0x88, 0xa8, 0xa8, 0x50, 0x50, 0x00 } }, // w
- { 4, 5, { 0x00, 0x00, 0x90, 0x90, 0x60, 0x90, 0x90, 0x00 } }, // x
- { 4, 5, { 0x00, 0x00, 0x90, 0x90, 0x90, 0x70, 0x10, 0x60 } }, // y
- { 4, 5, { 0x00, 0x00, 0xf0, 0x20, 0x40, 0x80, 0xf0, 0x00 } }, // z
- { 2, 3, { 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40 } }, // {
- { 1, 2, { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 } }, // |
- { 2, 3, { 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80 } }, // }
- { 6, 7, { 0x00, 0x00, 0x00, 0x64, 0x98, 0x00, 0x00, 0x00 } }, // ~
- { 6, 7, { 0x00, 0x38, 0x44, 0xf8, 0xf0, 0x44, 0x38, 0x00 } }, // euro
- { 4, 5, { 0x70, 0x80, 0x80, 0xe0, 0x40, 0x40, 0xf0, 0x00 } }, // pound
- { 5, 6, { 0x88, 0x50, 0xf8, 0x20, 0x70, 0x20, 0x20, 0x00 } }, // yen
- { 4, 5, { 0x00, 0x90, 0x60, 0x90, 0x90, 0x60, 0x90, 0x00 } }, // currency
- { 4, 5, { 0x20, 0x00, 0x20, 0x20, 0x40, 0x80, 0x70, 0x00 } }, // inverted ?
- { 1, 2, { 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00 } }, // inverted !
- { 3, 4, { 0x40, 0xa0, 0xc0, 0xa0, 0xa0, 0x60, 0xa0, 0x40 } }, // section
-};