From 648a59c83a22a5a144e9bfdaca0c96c1646ed2bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Sun, 21 Jul 2013 11:43:10 +0200 Subject: [PATCH] Hopefully finished --- NokiaBold.sfd | 1081 +++++++++++++++++++++ NokiaBold.ttf | Bin 0 -> 5536 bytes NokiaMedium.sfd | 1295 +++++++++++++++++++++++++ NokiaMedium.ttf | Bin 0 -> 7456 bytes README | 17 +- nokia-big.bdf | 2152 ++++++++++++++++++++++++++++++++++++++++++ nokia-big.c | 111 --- nokia-big.txt | 54 +- nokia-fonts.c | 116 ++- nokia-fonts.h | 61 ++ nokia-fonts.png | Bin 3813 -> 3831 bytes nokia-generate-bdf.c | 222 +++++ nokia-menu.bdf | 179 ++++ nokia-menu.c | 22 - nokia-small-bold.bdf | 1744 ++++++++++++++++++++++++++++++++++ nokia-small-bold.c | 111 --- nokia-small.bdf | 1744 ++++++++++++++++++++++++++++++++++ nokia-small.c | 111 --- 18 files changed, 8594 insertions(+), 426 deletions(-) create mode 100644 NokiaBold.sfd create mode 100644 NokiaBold.ttf create mode 100644 NokiaMedium.sfd create mode 100644 NokiaMedium.ttf create mode 100644 nokia-big.bdf delete mode 100644 nokia-big.c create mode 100644 nokia-fonts.h create mode 100644 nokia-generate-bdf.c create mode 100644 nokia-menu.bdf delete mode 100644 nokia-menu.c create mode 100644 nokia-small-bold.bdf delete mode 100644 nokia-small-bold.c create mode 100644 nokia-small.bdf delete mode 100644 nokia-small.c 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 +!!!"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 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 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%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 -};