diff --git a/NokiaBold.sfd b/NokiaBold.sfd new file mode 100644 index 0000000..28a588c --- /dev/null +++ b/NokiaBold.sfd @@ -0,0 +1,1081 @@ +SplineFontDB: 3.0 +FontName: NokiaBold +FullName: Nokia Bold +FamilyName: Nokia +Weight: Bold +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 12786142] +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1374398851 +ModificationTime: 1374398874 +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: 300 +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: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0025 +Encoding: 37 37 5 +Width: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0026 +Encoding: 38 38 6 +Width: 700 +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: 400 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0029 +Encoding: 41 41 9 +Width: 400 +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: 300 +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: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0031 +Encoding: 49 49 17 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0032 +Encoding: 50 50 18 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0033 +Encoding: 51 51 19 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0034 +Encoding: 52 52 20 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0035 +Encoding: 53 53 21 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0036 +Encoding: 54 54 22 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0037 +Encoding: 55 55 23 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0038 +Encoding: 56 56 24 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0039 +Encoding: 57 57 25 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+003A +Encoding: 58 58 26 +Width: 300 +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: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0040 +Encoding: 64 64 32 +Width: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0041 +Encoding: 65 65 33 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0042 +Encoding: 66 66 34 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0043 +Encoding: 67 67 35 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0044 +Encoding: 68 68 36 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0045 +Encoding: 69 69 37 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0046 +Encoding: 70 70 38 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0047 +Encoding: 71 71 39 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0048 +Encoding: 72 72 40 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0049 +Encoding: 73 73 41 +Width: 300 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+004A +Encoding: 74 74 42 +Width: 500 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+004B +Encoding: 75 75 43 +Width: 700 +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: 800 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+004E +Encoding: 78 78 46 +Width: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+004F +Encoding: 79 79 47 +Width: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0050 +Encoding: 80 80 48 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0051 +Encoding: 81 81 49 +Width: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0052 +Encoding: 82 82 50 +Width: 600 +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: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0055 +Encoding: 85 85 53 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0056 +Encoding: 86 86 54 +Width: 700 +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: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0059 +Encoding: 89 89 57 +Width: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+005A +Encoding: 90 90 58 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+005B +Encoding: 91 91 59 +Width: 400 +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: 400 +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: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0062 +Encoding: 98 98 66 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0063 +Encoding: 99 99 67 +Width: 500 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0064 +Encoding: 100 100 68 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0065 +Encoding: 101 101 69 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0066 +Encoding: 102 102 70 +Width: 400 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0067 +Encoding: 103 103 71 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0068 +Encoding: 104 104 72 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0069 +Encoding: 105 105 73 +Width: 300 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+006A +Encoding: 106 106 74 +Width: 400 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+006B +Encoding: 107 107 75 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+006C +Encoding: 108 108 76 +Width: 300 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+006D +Encoding: 109 109 77 +Width: 900 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+006E +Encoding: 110 110 78 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+006F +Encoding: 111 111 79 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0070 +Encoding: 112 112 80 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0071 +Encoding: 113 113 81 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0072 +Encoding: 114 114 82 +Width: 500 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0073 +Encoding: 115 115 83 +Width: 500 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0074 +Encoding: 116 116 84 +Width: 400 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0075 +Encoding: 117 117 85 +Width: 600 +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: 800 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0078 +Encoding: 120 120 88 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+0079 +Encoding: 121 121 89 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+007A +Encoding: 122 122 90 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+007B +Encoding: 123 123 91 +Width: 400 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+007C +Encoding: 124 124 92 +Width: 400 +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: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+00A5 +Encoding: 165 165 97 +Width: 700 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+00A4 +Encoding: 164 164 98 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+00BF +Encoding: 191 191 99 +Width: 600 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+00A1 +Encoding: 161 161 100 +Width: 300 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar + +StartChar: U+00A7 +Encoding: 167 167 101 +Width: 500 +VWidth: 0 +Flags: W +LayerCount: 2 +EndChar +EndChars +BitmapFont: 10 102 8 2 1 +BDFStartProperties: 5 +FONT 1 "-nokia-Nokia-bold-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 3 0 1 -2 7 +!5QCc^q]rcz +BDFChar: 2 34 4 0 2 -2 7 +!2,tbzz +BDFChar: 3 35 6 0 4 -2 7 +!)WIc;#'f^z +BDFChar: 4 36 6 0 4 -2 7 +!)Rpen9A():]LIq +BDFChar: 5 37 7 0 5 -2 7 +!6Ee(0Hb1*z +BDFChar: 6 38 7 0 5 -2 7 +!-$S0o\A5Dz +BDFChar: 7 39 2 0 0 -2 7 +!.]S"zz +BDFChar: 8 40 4 0 2 -2 7 +!$FPB^qd`N+92BA +BDFChar: 9 41 4 0 2 -2 7 +!.[=B?smA-J,fQL +BDFChar: 10 42 6 0 4 -2 7 +!$J68E;6@Sz +BDFChar: 11 43 6 0 4 -2 7 +!!",ap`L[Zz +BDFChar: 12 44 3 0 1 -2 7 +z!!#:"J,fQL +BDFChar: 13 45 5 0 3 -2 7 +zn,NFgz +BDFChar: 14 46 3 0 1 -2 7 +z!!'gMz +BDFChar: 15 47 4 0 2 -2 7 +!$ECl5eqo#z +BDFChar: 16 48 6 0 4 -2 7 +!-$TCf\"hqz +BDFChar: 17 49 6 0 4 -2 7 +!&/@G0JG17z +BDFChar: 18 50 6 0 4 -2 7 +!:UgBE599az +BDFChar: 19 51 6 0 4 -2 7 +!:UgBE#9G]z +BDFChar: 20 52 6 0 4 -2 7 +!#R[tR.qL8z +BDFChar: 21 53 6 0 4 -2 7 +!:YO.(`4+Zz +BDFChar: 22 54 6 0 4 -2 7 +!-#aCf\"hqz +BDFChar: 23 55 6 0 4 -2 7 +!;IBb0OS9rz +BDFChar: 24 56 6 0 4 -2 7 +!-$TCE7if^z +BDFChar: 25 57 6 0 4 -2 7 +!-$TCfQ\6Pz +BDFChar: 26 58 3 0 1 -2 7 +!!!#7^];0cz +BDFChar: 27 59 3 0 1 -2 7 +!!!#7^]6X8J,fQL +BDFChar: 28 60 5 0 3 -2 7 +!"^hl^gJi-z +BDFChar: 29 61 5 0 3 -2 7 +zn,VqXz +BDFChar: 30 62 5 0 3 -2 7 +!._jm0OV\Hz +BDFChar: 31 63 6 0 4 -2 7 +!:UgZ?sitBz +BDFChar: 32 64 7 0 5 -2 7 +!!%8fr7q4cGQ7^D +BDFChar: 33 65 6 0 4 -2 7 +!-$TCf_F+Oz +BDFChar: 34 66 6 0 4 -2 7 +!:\Y1f\"jGz +BDFChar: 35 67 6 0 4 -2 7 +!-l;p^qda1z +BDFChar: 36 68 6 0 4 -2 7 +!:\Xnf\"jGz +BDFChar: 37 69 6 0 4 -2 7 +!;OA!^qdb\z +BDFChar: 38 70 6 0 4 -2 7 +!;OA!^qdb$z +BDFChar: 39 71 6 0 4 -2 7 +!-#`hf\"i$z +BDFChar: 40 72 6 0 4 -2 7 +!8,s!f\"j/z +BDFChar: 41 73 3 0 1 -2 7 +!5QCc^qdb$z +BDFChar: 42 74 5 0 3 -2 7 +!&-)\0JG3=z +BDFChar: 43 75 7 0 5 -2 7 +!6j*bi:,CCz +BDFChar: 44 76 5 0 3 -2 7 +!5QCc^qdbTz +BDFChar: 45 77 8 0 6 -2 7 +!.r5Yrmo*/z +BDFChar: 46 78 7 0 5 -2 7 +!0#.gr7oN7z +BDFChar: 47 79 7 0 5 -2 7 +!-l`3bfn:Uz +BDFChar: 48 80 6 0 4 -2 7 +!:\Xnf^Q\lz +BDFChar: 49 81 7 0 5 -2 7 +!-l`3bfnje$ig8- +BDFChar: 50 82 6 0 4 -2 7 +!:\Xnf^R8?z +BDFChar: 51 83 5 0 3 -2 7 +!-#`h?na:mz +BDFChar: 52 84 7 0 5 -2 7 +!;nN)0JG17z +BDFChar: 53 85 6 0 4 -2 7 +!8,rVf\"hqz +BDFChar: 54 86 7 0 5 -2 7 +!6i[2G^(nrz +BDFChar: 55 87 8 0 6 -2 7 +!63%0rd9*0z +BDFChar: 56 88 7 0 5 -2 7 +!6iZ30R1gcz +BDFChar: 57 89 7 0 5 -2 7 +!6iZ30JG17z +BDFChar: 58 90 6 0 4 -2 7 +!;IBjE8\P,z +BDFChar: 59 91 4 0 2 -2 7 +!8tZ.^qdb$huE`W +BDFChar: 60 92 4 0 2 -2 7 +!.]U85[Y]Wz +BDFChar: 61 93 4 0 2 -2 7 +!8q6m?smAMhuE`W +BDFChar: 62 94 4 0 2 -2 7 +!'oJ8zz +BDFChar: 63 95 5 0 4 -2 7 +zzp](9o +BDFChar: 64 96 3 0 1 -2 7 +!.[<7zz +BDFChar: 65 97 6 0 4 -2 7 +!!!"<(jO\Xz +BDFChar: 66 98 6 0 4 -2 7 +!5QD>f\"jGz +BDFChar: 67 99 5 0 3 -2 7 +!!!"<^qda)z +BDFChar: 68 100 6 0 4 -2 7 +!#QPtf\"i$z +BDFChar: 69 101 6 0 4 -2 7 +!!!"f\"j/z +BDFChar: 73 105 3 0 1 -2 7 +!5JTM^qdb$z +BDFChar: 74 106 4 0 2 -2 7 +!+5e7?smAM^]4?7 +BDFChar: 75 107 6 0 4 -2 7 +!5QD&nDNfgz +BDFChar: 76 108 3 0 1 -2 7 +!5QCc^qdb$z +BDFChar: 77 109 9 0 7 -2 7 +!!!#ugY:K;z +BDFChar: 78 110 6 0 4 -2 7 +!!!#gf\"j/z +BDFChar: 79 111 6 0 4 -2 7 +!!!"Q3z +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 +!.[ - { 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 0207897..0c5ef63 100644 Binary files a/nokia-fonts.png and b/nokia-fonts.png differ 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 -};