From aead7f2da831199fbb8f6950b067656b2965c2fa Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Sat, 31 May 2008 10:59:14 +0000 Subject: [PATCH] Convert engineer to use mspgbase instead of SDL Trains periodically try to continue if blocked by another train Improve engineer GUI layout Some bugfixes and tweaks --- Build | 2 +- dejavu-12.font | 394 +++---- dejavu-12.png | Bin 8990 -> 8937 bytes dejavu-20.font | 1534 +++++++++++++------------- dejavu-20.png | Bin 16467 -> 16508 bytes digitalreadout-16.font | 240 ++-- digitalreadout-16.png | Bin 3312 -> 3540 bytes engineer.res | 247 +++-- gui.png | Bin 3432 -> 2941 bytes source/engineer/engineer.cpp | 242 ++-- source/engineer/engineer.h | 11 +- source/engineer/mainpanel.cpp | 12 +- source/engineer/mainpanel.h | 3 + source/engineer/trainpanel.cpp | 6 +- source/libmarklin/block.cpp | 13 +- source/libmarklin/block.h | 1 + source/libmarklin/control.cpp | 12 +- source/libmarklin/sensor.cpp | 2 +- source/libmarklin/trafficmanager.cpp | 18 +- source/libmarklin/trafficmanager.h | 3 +- source/libmarklin/train.cpp | 64 +- source/libmarklin/train.h | 4 +- 22 files changed, 1440 insertions(+), 1368 deletions(-) diff --git a/Build b/Build index 4d51961..79f02e5 100644 --- a/Build +++ b/Build @@ -56,7 +56,7 @@ package "märklin" source "source/engineer"; require "mspstrings"; require "mspgltk"; - require "sdl"; + require "mspgbase"; build_info { incpath "source"; diff --git a/dejavu-12.font b/dejavu-12.font index 8d7e902..027479f 100644 --- a/dejavu-12.font +++ b/dejavu-12.font @@ -1,1340 +1,1340 @@ texture "dejavu-12.png"; default_size 12; -ascent 1.167; -descent 0.083; +ascent 1.000; +descent -0.250; glyph 32 { - texcoords 0.035156 0.945312 0.035156 0.945312; + texcoords 0.031250 0.953125 0.031250 0.953125; size 0.000 0.000; offset 0.000 0.000; advance 0.333; }; glyph 33 { - texcoords 0.101562 0.945312 0.105469 0.980469; + texcoords 0.089844 0.953125 0.093750 0.988281; size 0.083 0.750; offset 0.167 0.000; advance 0.417; }; glyph 34 { - texcoords 0.167969 0.968750 0.179688 0.980469; + texcoords 0.148438 0.976562 0.160156 0.988281; size 0.250 0.250; offset 0.083 0.500; advance 0.417; }; glyph 35 { - texcoords 0.230469 0.945312 0.261719 0.976562; + texcoords 0.203125 0.953125 0.234375 0.984375; size 0.667 0.667; offset 0.083 0.000; advance 0.833; }; glyph 36 { - texcoords 0.304688 0.937500 0.328125 0.980469; + texcoords 0.269531 0.945312 0.292969 0.988281; size 0.500 0.917; offset 0.167 -0.167; advance 0.667; }; glyph 37 { - texcoords 0.367188 0.945312 0.406250 0.980469; + texcoords 0.324219 0.953125 0.363281 0.988281; size 0.833 0.750; offset 0.000 0.000; advance 0.917; }; glyph 38 { - texcoords 0.437500 0.945312 0.472656 0.980469; + texcoords 0.386719 0.953125 0.421875 0.988281; size 0.750 0.750; offset 0.083 0.000; advance 0.833; }; glyph 39 { - texcoords 0.523438 0.968750 0.527344 0.980469; + texcoords 0.464844 0.976562 0.468750 0.988281; size 0.083 0.250; offset 0.083 0.500; advance 0.250; }; glyph 40 { - texcoords 0.589844 0.941406 0.601562 0.984375; + texcoords 0.523438 0.949219 0.535156 0.992188; size 0.250 0.917; offset 0.083 -0.083; advance 0.417; }; glyph 41 { - texcoords 0.660156 0.941406 0.671875 0.984375; + texcoords 0.585938 0.949219 0.597656 0.992188; size 0.250 0.917; offset 0.083 -0.083; advance 0.417; }; glyph 42 { - texcoords 0.726562 0.957031 0.746094 0.980469; + texcoords 0.644531 0.964844 0.664062 0.988281; size 0.417 0.500; offset 0.083 0.250; advance 0.500; }; glyph 43 { - texcoords 0.792969 0.945312 0.820312 0.972656; + texcoords 0.703125 0.953125 0.730469 0.980469; size 0.583 0.583; offset 0.083 0.000; advance 0.833; }; glyph 44 { - texcoords 0.875000 0.941406 0.878906 0.953125; + texcoords 0.777344 0.949219 0.781250 0.960938; size 0.083 0.250; offset 0.083 -0.083; advance 0.333; }; glyph 45 { - texcoords 0.941406 0.957031 0.953125 0.960938; + texcoords 0.835938 0.964844 0.847656 0.968750; size 0.250 0.083; offset 0.083 0.250; advance 0.333; }; glyph 46 { - texcoords 0.031250 0.875000 0.035156 0.882812; + texcoords 0.902344 0.953125 0.906250 0.960938; size 0.083 0.167; offset 0.083 0.000; advance 0.333; }; glyph 47 { - texcoords 0.097656 0.871094 0.113281 0.910156; + texcoords 0.960938 0.949219 0.976562 0.988281; size 0.333 0.833; offset 0.000 -0.083; advance 0.333; }; glyph 48 { - texcoords 0.164062 0.875000 0.187500 0.910156; + texcoords 0.019531 0.890625 0.042969 0.925781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 49 { - texcoords 0.234375 0.875000 0.253906 0.910156; + texcoords 0.082031 0.890625 0.101562 0.925781; size 0.417 0.750; offset 0.083 0.000; advance 0.667; }; glyph 50 { - texcoords 0.300781 0.875000 0.328125 0.910156; + texcoords 0.140625 0.890625 0.167969 0.925781; size 0.583 0.750; offset 0.083 0.000; advance 0.667; }; glyph 51 { - texcoords 0.375000 0.875000 0.398438 0.910156; + texcoords 0.207031 0.890625 0.230469 0.925781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 52 { - texcoords 0.445312 0.875000 0.468750 0.910156; + texcoords 0.269531 0.890625 0.292969 0.925781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 53 { - texcoords 0.515625 0.875000 0.539062 0.910156; + texcoords 0.332031 0.890625 0.355469 0.925781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 54 { - texcoords 0.585938 0.875000 0.609375 0.910156; + texcoords 0.394531 0.890625 0.417969 0.925781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 55 { - texcoords 0.656250 0.875000 0.679688 0.910156; + texcoords 0.457031 0.890625 0.480469 0.925781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 56 { - texcoords 0.726562 0.875000 0.750000 0.910156; + texcoords 0.519531 0.890625 0.542969 0.925781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 57 { - texcoords 0.796875 0.875000 0.820312 0.910156; + texcoords 0.582031 0.890625 0.605469 0.925781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 58 { - texcoords 0.875000 0.875000 0.878906 0.898438; + texcoords 0.652344 0.890625 0.656250 0.914062; size 0.083 0.500; offset 0.083 0.000; advance 0.333; }; glyph 59 { - texcoords 0.945312 0.871094 0.949219 0.898438; + texcoords 0.714844 0.886719 0.718750 0.914062; size 0.083 0.583; offset 0.083 -0.083; advance 0.333; }; glyph 60 { - texcoords 0.019531 0.808594 0.050781 0.832031; + texcoords 0.765625 0.894531 0.796875 0.917969; size 0.667 0.500; offset 0.083 0.083; advance 0.833; }; glyph 61 { - texcoords 0.089844 0.812500 0.121094 0.824219; + texcoords 0.828125 0.898438 0.859375 0.910156; size 0.667 0.250; offset 0.083 0.167; advance 0.833; }; glyph 62 { - texcoords 0.160156 0.808594 0.191406 0.832031; + texcoords 0.890625 0.894531 0.921875 0.917969; size 0.667 0.500; offset 0.083 0.083; advance 0.833; }; glyph 63 { - texcoords 0.234375 0.804688 0.253906 0.839844; + texcoords 0.957031 0.890625 0.976562 0.925781; size 0.417 0.750; offset 0.000 0.000; advance 0.500; }; glyph 64 { - texcoords 0.292969 0.796875 0.335938 0.839844; + texcoords 0.007812 0.820312 0.050781 0.863281; size 0.917 0.917; offset 0.083 -0.167; advance 1.083; }; glyph 65 { - texcoords 0.371094 0.804688 0.402344 0.839844; + texcoords 0.078125 0.828125 0.109375 0.863281; size 0.667 0.750; offset 0.000 0.000; advance 0.667; }; glyph 66 { - texcoords 0.445312 0.804688 0.468750 0.839844; + texcoords 0.144531 0.828125 0.167969 0.863281; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 67 { - texcoords 0.515625 0.804688 0.539062 0.839844; + texcoords 0.207031 0.828125 0.230469 0.863281; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 68 { - texcoords 0.582031 0.804688 0.609375 0.839844; + texcoords 0.265625 0.828125 0.292969 0.863281; size 0.583 0.750; offset 0.083 0.000; advance 0.750; }; glyph 69 { - texcoords 0.656250 0.804688 0.679688 0.839844; + texcoords 0.332031 0.828125 0.355469 0.863281; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 70 { - texcoords 0.726562 0.804688 0.746094 0.839844; + texcoords 0.394531 0.828125 0.414062 0.863281; size 0.417 0.750; offset 0.083 0.000; advance 0.583; }; glyph 71 { - texcoords 0.792969 0.804688 0.820312 0.839844; + texcoords 0.453125 0.828125 0.480469 0.863281; size 0.583 0.750; offset 0.083 0.000; advance 0.750; }; glyph 72 { - texcoords 0.863281 0.804688 0.890625 0.839844; + texcoords 0.515625 0.828125 0.542969 0.863281; size 0.583 0.750; offset 0.083 0.000; advance 0.750; }; glyph 73 { - texcoords 0.945312 0.804688 0.949219 0.839844; + texcoords 0.589844 0.828125 0.593750 0.863281; size 0.083 0.750; offset 0.083 0.000; advance 0.250; }; glyph 74 { - texcoords 0.027344 0.726562 0.039062 0.769531; + texcoords 0.648438 0.820312 0.660156 0.863281; size 0.250 0.917; offset -0.083 -0.167; advance 0.250; }; glyph 75 { - texcoords 0.089844 0.734375 0.117188 0.769531; + texcoords 0.703125 0.828125 0.730469 0.863281; size 0.583 0.750; offset 0.083 0.000; advance 0.583; }; glyph 76 { - texcoords 0.164062 0.734375 0.183594 0.769531; + texcoords 0.769531 0.828125 0.789062 0.863281; size 0.417 0.750; offset 0.083 0.000; advance 0.500; }; glyph 77 { - texcoords 0.230469 0.734375 0.261719 0.769531; + texcoords 0.828125 0.828125 0.859375 0.863281; size 0.667 0.750; offset 0.083 0.000; advance 0.833; }; glyph 78 { - texcoords 0.300781 0.734375 0.328125 0.769531; + texcoords 0.890625 0.828125 0.917969 0.863281; size 0.583 0.750; offset 0.083 0.000; advance 0.750; }; glyph 79 { - texcoords 0.371094 0.734375 0.398438 0.769531; + texcoords 0.953125 0.828125 0.980469 0.863281; size 0.583 0.750; offset 0.083 0.000; advance 0.750; }; glyph 80 { - texcoords 0.445312 0.734375 0.468750 0.769531; + texcoords 0.019531 0.765625 0.042969 0.800781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 81 { - texcoords 0.511719 0.726562 0.539062 0.769531; + texcoords 0.078125 0.757812 0.105469 0.800781; size 0.583 0.917; offset 0.083 -0.167; advance 0.750; }; glyph 82 { - texcoords 0.582031 0.734375 0.609375 0.769531; + texcoords 0.140625 0.765625 0.167969 0.800781; size 0.583 0.750; offset 0.083 0.000; advance 0.667; }; glyph 83 { - texcoords 0.656250 0.734375 0.679688 0.769531; + texcoords 0.207031 0.765625 0.230469 0.800781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 84 { - texcoords 0.722656 0.734375 0.750000 0.769531; + texcoords 0.265625 0.765625 0.292969 0.800781; size 0.583 0.750; offset 0.000 0.000; advance 0.583; }; glyph 85 { - texcoords 0.792969 0.734375 0.820312 0.769531; + texcoords 0.328125 0.765625 0.355469 0.800781; size 0.583 0.750; offset 0.083 0.000; advance 0.750; }; glyph 86 { - texcoords 0.859375 0.734375 0.898438 0.769531; + texcoords 0.386719 0.765625 0.425781 0.800781; size 0.833 0.750; offset -0.083 0.000; advance 0.667; }; glyph 87 { - texcoords 0.925781 0.734375 0.968750 0.769531; + texcoords 0.445312 0.765625 0.488281 0.800781; size 0.917 0.750; offset 0.000 0.000; advance 0.917; }; glyph 88 { - texcoords 0.019531 0.664062 0.046875 0.699219; + texcoords 0.515625 0.765625 0.542969 0.800781; size 0.583 0.750; offset 0.000 0.000; advance 0.583; }; glyph 89 { - texcoords 0.089844 0.664062 0.117188 0.699219; + texcoords 0.578125 0.765625 0.605469 0.800781; size 0.583 0.750; offset 0.000 0.000; advance 0.583; }; glyph 90 { - texcoords 0.160156 0.664062 0.187500 0.699219; + texcoords 0.640625 0.765625 0.667969 0.800781; size 0.583 0.750; offset 0.083 0.000; advance 0.750; }; glyph 91 { - texcoords 0.242188 0.656250 0.250000 0.699219; + texcoords 0.714844 0.757812 0.722656 0.800781; size 0.167 0.917; offset 0.167 -0.167; advance 0.417; }; glyph 92 { - texcoords 0.308594 0.660156 0.324219 0.699219; + texcoords 0.773438 0.761719 0.789062 0.800781; size 0.333 0.833; offset 0.000 -0.083; advance 0.333; }; glyph 93 { - texcoords 0.382812 0.656250 0.390625 0.699219; + texcoords 0.839844 0.757812 0.847656 0.800781; size 0.167 0.917; offset 0.083 -0.167; advance 0.417; }; glyph 94 { - texcoords 0.441406 0.687500 0.472656 0.699219; + texcoords 0.890625 0.789062 0.921875 0.800781; size 0.667 0.250; offset 0.083 0.500; advance 0.833; }; glyph 95 { - texcoords 0.515625 0.652344 0.539062 0.656250; + texcoords 0.957031 0.753906 0.980469 0.757812; size 0.500 0.083; offset 0.000 -0.250; advance 0.500; }; glyph 96 { - texcoords 0.589844 0.695312 0.601562 0.703125; + texcoords 0.023438 0.734375 0.035156 0.742188; size 0.250 0.167; offset 0.083 0.667; advance 0.500; }; glyph 97 { - texcoords 0.656250 0.664062 0.679688 0.691406; + texcoords 0.082031 0.703125 0.105469 0.730469; size 0.500 0.583; offset 0.083 0.000; advance 0.667; }; glyph 98 { - texcoords 0.726562 0.664062 0.750000 0.703125; + texcoords 0.144531 0.703125 0.167969 0.742188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 99 { - texcoords 0.796875 0.664062 0.816406 0.691406; + texcoords 0.207031 0.703125 0.226562 0.730469; size 0.417 0.583; offset 0.083 0.000; advance 0.583; }; glyph 100 { - texcoords 0.867188 0.664062 0.890625 0.703125; + texcoords 0.269531 0.703125 0.292969 0.742188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 101 { - texcoords 0.937500 0.664062 0.960938 0.691406; + texcoords 0.332031 0.703125 0.355469 0.730469; size 0.500 0.583; offset 0.083 0.000; advance 0.667; }; glyph 102 { - texcoords 0.027344 0.593750 0.042969 0.632812; + texcoords 0.398438 0.703125 0.414062 0.742188; size 0.333 0.833; offset 0.000 0.000; advance 0.333; }; glyph 103 { - texcoords 0.093750 0.582031 0.117188 0.621094; + texcoords 0.457031 0.691406 0.480469 0.730469; size 0.500 0.833; offset 0.083 -0.250; advance 0.667; }; glyph 104 { - texcoords 0.164062 0.593750 0.187500 0.632812; + texcoords 0.519531 0.703125 0.542969 0.742188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 105 { - texcoords 0.242188 0.593750 0.246094 0.628906; + texcoords 0.589844 0.703125 0.593750 0.738281; size 0.083 0.750; offset 0.083 0.000; advance 0.250; }; glyph 106 { - texcoords 0.312500 0.582031 0.320312 0.628906; + texcoords 0.652344 0.691406 0.660156 0.738281; size 0.167 1.000; offset 0.000 -0.250; advance 0.250; }; glyph 107 { - texcoords 0.375000 0.593750 0.398438 0.632812; + texcoords 0.707031 0.703125 0.730469 0.742188; size 0.500 0.833; offset 0.083 0.000; advance 0.583; }; glyph 108 { - texcoords 0.453125 0.593750 0.457031 0.632812; + texcoords 0.777344 0.703125 0.781250 0.742188; size 0.083 0.833; offset 0.083 0.000; advance 0.250; }; glyph 109 { - texcoords 0.507812 0.593750 0.542969 0.621094; + texcoords 0.824219 0.703125 0.859375 0.730469; size 0.750 0.583; offset 0.083 0.000; advance 0.917; }; glyph 110 { - texcoords 0.585938 0.593750 0.609375 0.621094; + texcoords 0.894531 0.703125 0.917969 0.730469; size 0.500 0.583; offset 0.083 0.000; advance 0.667; }; glyph 111 { - texcoords 0.656250 0.593750 0.679688 0.621094; + texcoords 0.957031 0.703125 0.980469 0.730469; size 0.500 0.583; offset 0.083 0.000; advance 0.667; }; glyph 112 { - texcoords 0.726562 0.582031 0.750000 0.621094; + texcoords 0.019531 0.628906 0.042969 0.667969; size 0.500 0.833; offset 0.083 -0.250; advance 0.667; }; glyph 113 { - texcoords 0.796875 0.582031 0.820312 0.621094; + texcoords 0.082031 0.628906 0.105469 0.667969; size 0.500 0.833; offset 0.083 -0.250; advance 0.667; }; glyph 114 { - texcoords 0.871094 0.593750 0.886719 0.621094; + texcoords 0.148438 0.640625 0.164062 0.667969; size 0.333 0.583; offset 0.083 0.000; advance 0.417; }; glyph 115 { - texcoords 0.937500 0.593750 0.960938 0.621094; + texcoords 0.207031 0.640625 0.230469 0.667969; size 0.500 0.583; offset 0.083 0.000; advance 0.583; }; glyph 116 { - texcoords 0.027344 0.523438 0.042969 0.558594; + texcoords 0.273438 0.640625 0.289062 0.675781; size 0.333 0.750; offset 0.000 0.000; advance 0.417; }; glyph 117 { - texcoords 0.093750 0.523438 0.117188 0.550781; + texcoords 0.332031 0.640625 0.355469 0.667969; size 0.500 0.583; offset 0.083 0.000; advance 0.667; }; glyph 118 { - texcoords 0.160156 0.523438 0.191406 0.550781; + texcoords 0.390625 0.640625 0.421875 0.667969; size 0.667 0.583; offset -0.083 0.000; advance 0.500; }; glyph 119 { - texcoords 0.226562 0.523438 0.261719 0.550781; + texcoords 0.449219 0.640625 0.484375 0.667969; size 0.750 0.583; offset 0.000 0.000; advance 0.750; }; glyph 120 { - texcoords 0.304688 0.523438 0.328125 0.550781; + texcoords 0.519531 0.640625 0.542969 0.667969; size 0.500 0.583; offset 0.000 0.000; advance 0.500; }; glyph 121 { - texcoords 0.371094 0.511719 0.402344 0.550781; + texcoords 0.578125 0.628906 0.609375 0.667969; size 0.667 0.833; offset -0.083 -0.250; advance 0.500; }; glyph 122 { - texcoords 0.445312 0.523438 0.464844 0.550781; + texcoords 0.644531 0.640625 0.664062 0.667969; size 0.417 0.583; offset 0.000 0.000; advance 0.417; }; glyph 123 { - texcoords 0.515625 0.515625 0.535156 0.558594; + texcoords 0.707031 0.632812 0.726562 0.675781; size 0.417 0.917; offset 0.167 -0.167; advance 0.667; }; glyph 124 { - texcoords 0.593750 0.511719 0.597656 0.558594; + texcoords 0.777344 0.628906 0.781250 0.675781; size 0.083 1.000; offset 0.167 -0.250; advance 0.333; }; glyph 125 { - texcoords 0.656250 0.515625 0.675781 0.558594; + texcoords 0.832031 0.632812 0.851562 0.675781; size 0.417 0.917; offset 0.083 -0.167; advance 0.667; }; glyph 126 { - texcoords 0.722656 0.535156 0.753906 0.546875; + texcoords 0.890625 0.652344 0.921875 0.664062; size 0.667 0.250; offset 0.083 0.250; advance 0.833; }; glyph 160 { - texcoords 0.808594 0.523438 0.808594 0.523438; + texcoords 0.968750 0.640625 0.968750 0.640625; size 0.000 0.000; offset 0.000 0.000; advance 0.333; }; glyph 161 { - texcoords 0.875000 0.523438 0.878906 0.558594; + texcoords 0.027344 0.578125 0.031250 0.613281; size 0.083 0.750; offset 0.167 0.000; advance 0.417; }; glyph 162 { - texcoords 0.937500 0.515625 0.957031 0.558594; + texcoords 0.082031 0.570312 0.101562 0.613281; size 0.417 0.917; offset 0.083 -0.167; advance 0.667; }; glyph 163 { - texcoords 0.023438 0.453125 0.042969 0.488281; + texcoords 0.144531 0.578125 0.164062 0.613281; size 0.417 0.750; offset 0.167 0.000; - advance 0.750; + advance 0.667; }; glyph 164 { - texcoords 0.089844 0.453125 0.117188 0.484375; + texcoords 0.203125 0.578125 0.230469 0.609375; size 0.583 0.667; offset 0.000 0.000; advance 0.667; }; glyph 165 { - texcoords 0.160156 0.453125 0.187500 0.488281; + texcoords 0.265625 0.578125 0.292969 0.613281; size 0.583 0.750; offset 0.083 0.000; - advance 0.750; + advance 0.667; }; glyph 166 { - texcoords 0.242188 0.445312 0.246094 0.484375; + texcoords 0.339844 0.570312 0.343750 0.609375; size 0.083 0.833; offset 0.167 -0.167; advance 0.333; }; glyph 167 { - texcoords 0.304688 0.449219 0.324219 0.488281; + texcoords 0.394531 0.574219 0.414062 0.613281; size 0.417 0.833; offset 0.000 -0.083; - advance 0.417; + advance 0.500; }; glyph 168 { - texcoords 0.378906 0.484375 0.390625 0.488281; + texcoords 0.460938 0.609375 0.472656 0.613281; size 0.250 0.083; offset 0.167 0.667; - advance 0.583; + advance 0.500; }; glyph 169 { - texcoords 0.437500 0.453125 0.472656 0.488281; + texcoords 0.511719 0.578125 0.546875 0.613281; size 0.750 0.750; offset 0.167 0.000; advance 1.000; }; glyph 170 { - texcoords 0.515625 0.460938 0.539062 0.488281; + texcoords 0.582031 0.585938 0.605469 0.613281; size 0.500 0.583; offset 0.083 0.167; advance 0.500; }; glyph 171 { - texcoords 0.585938 0.457031 0.609375 0.476562; + texcoords 0.644531 0.582031 0.667969 0.601562; size 0.500 0.417; offset 0.083 0.083; advance 0.583; }; glyph 172 { - texcoords 0.652344 0.460938 0.683594 0.472656; + texcoords 0.703125 0.585938 0.734375 0.597656; size 0.667 0.250; offset 0.083 0.167; advance 0.833; }; glyph 173 { - texcoords 0.730469 0.464844 0.742188 0.468750; + texcoords 0.773438 0.589844 0.785156 0.593750; size 0.250 0.083; offset 0.083 0.250; advance 0.333; }; glyph 174 { - texcoords 0.789062 0.453125 0.824219 0.488281; + texcoords 0.824219 0.578125 0.859375 0.613281; size 0.750 0.750; offset 0.167 0.000; advance 1.000; }; glyph 175 { - texcoords 0.871094 0.484375 0.886719 0.488281; + texcoords 0.898438 0.609375 0.914062 0.613281; size 0.333 0.083; offset 0.083 0.667; advance 0.500; }; glyph 176 { - texcoords 0.941406 0.472656 0.957031 0.488281; + texcoords 0.960938 0.597656 0.976562 0.613281; size 0.333 0.333; offset 0.083 0.417; advance 0.500; }; glyph 177 { - texcoords 0.019531 0.382812 0.046875 0.410156; + texcoords 0.015625 0.515625 0.042969 0.542969; size 0.583 0.583; offset 0.167 0.000; advance 0.833; }; glyph 178 { - texcoords 0.097656 0.398438 0.109375 0.417969; + texcoords 0.085938 0.531250 0.097656 0.550781; size 0.250 0.417; offset 0.083 0.333; advance 0.417; }; glyph 179 { - texcoords 0.167969 0.398438 0.183594 0.417969; + texcoords 0.148438 0.531250 0.164062 0.550781; size 0.333 0.417; offset 0.083 0.333; advance 0.417; }; glyph 180 { - texcoords 0.238281 0.414062 0.250000 0.421875; + texcoords 0.210938 0.546875 0.222656 0.554688; size 0.250 0.167; offset 0.167 0.667; advance 0.500; }; glyph 181 { - texcoords 0.300781 0.371094 0.328125 0.410156; + texcoords 0.265625 0.503906 0.292969 0.542969; size 0.583 0.833; offset 0.083 -0.250; advance 0.667; }; glyph 182 { - texcoords 0.375000 0.378906 0.394531 0.417969; + texcoords 0.332031 0.511719 0.351562 0.550781; size 0.417 0.833; offset 0.083 -0.083; advance 0.667; }; glyph 183 { - texcoords 0.453125 0.394531 0.457031 0.402344; + texcoords 0.402344 0.527344 0.406250 0.535156; size 0.083 0.167; offset 0.083 0.250; advance 0.333; }; glyph 184 { - texcoords 0.523438 0.375000 0.531250 0.382812; + texcoords 0.464844 0.507812 0.472656 0.515625; size 0.167 0.167; offset 0.167 -0.167; advance 0.500; }; glyph 185 { - texcoords 0.589844 0.398438 0.601562 0.417969; + texcoords 0.523438 0.531250 0.535156 0.550781; size 0.250 0.417; offset 0.083 0.333; advance 0.417; }; glyph 186 { - texcoords 0.656250 0.390625 0.675781 0.417969; + texcoords 0.582031 0.523438 0.601562 0.550781; size 0.417 0.583; offset 0.083 0.167; advance 0.500; }; glyph 187 { - texcoords 0.726562 0.386719 0.750000 0.406250; + texcoords 0.644531 0.519531 0.667969 0.539062; size 0.500 0.417; offset 0.083 0.083; advance 0.583; }; glyph 188 { - texcoords 0.785156 0.382812 0.828125 0.417969; + texcoords 0.695312 0.515625 0.738281 0.550781; size 0.917 0.750; offset 0.083 0.000; advance 1.000; }; glyph 189 { - texcoords 0.859375 0.382812 0.898438 0.417969; + texcoords 0.761719 0.515625 0.800781 0.550781; size 0.833 0.750; offset 0.083 0.000; advance 1.000; }; glyph 190 { - texcoords 0.925781 0.382812 0.968750 0.417969; + texcoords 0.820312 0.515625 0.863281 0.550781; size 0.917 0.750; offset 0.083 0.000; advance 1.000; }; glyph 191 { - texcoords 0.023438 0.312500 0.042969 0.347656; + texcoords 0.894531 0.515625 0.914062 0.550781; size 0.417 0.750; offset 0.083 0.000; advance 0.500; }; glyph 192 { - texcoords 0.089844 0.312500 0.121094 0.359375; + texcoords 0.953125 0.515625 0.984375 0.562500; size 0.667 1.000; offset 0.000 0.000; advance 0.667; }; glyph 193 { - texcoords 0.160156 0.312500 0.191406 0.359375; + texcoords 0.015625 0.453125 0.046875 0.500000; size 0.667 1.000; offset 0.000 0.000; advance 0.667; }; glyph 194 { - texcoords 0.230469 0.312500 0.261719 0.359375; + texcoords 0.078125 0.453125 0.109375 0.500000; size 0.667 1.000; offset 0.000 0.000; advance 0.667; }; glyph 195 { - texcoords 0.300781 0.312500 0.332031 0.359375; + texcoords 0.140625 0.453125 0.171875 0.500000; size 0.667 1.000; offset 0.000 0.000; advance 0.667; }; glyph 196 { - texcoords 0.371094 0.312500 0.402344 0.355469; + texcoords 0.203125 0.453125 0.234375 0.496094; size 0.667 0.917; offset 0.000 0.000; advance 0.667; }; glyph 197 { - texcoords 0.441406 0.312500 0.472656 0.359375; + texcoords 0.265625 0.453125 0.296875 0.500000; size 0.667 1.000; offset 0.000 0.000; advance 0.667; }; glyph 198 { - texcoords 0.503906 0.312500 0.546875 0.347656; + texcoords 0.320312 0.453125 0.363281 0.488281; size 0.917 0.750; offset 0.000 0.000; advance 1.000; }; glyph 199 { - texcoords 0.585938 0.304688 0.609375 0.347656; + texcoords 0.394531 0.445312 0.417969 0.488281; size 0.500 0.917; offset 0.083 -0.167; advance 0.667; }; glyph 200 { - texcoords 0.656250 0.312500 0.679688 0.359375; + texcoords 0.457031 0.453125 0.480469 0.500000; size 0.500 1.000; offset 0.083 0.000; advance 0.667; }; glyph 201 { - texcoords 0.726562 0.312500 0.750000 0.359375; + texcoords 0.519531 0.453125 0.542969 0.500000; size 0.500 1.000; offset 0.083 0.000; advance 0.667; }; glyph 202 { - texcoords 0.796875 0.312500 0.820312 0.359375; + texcoords 0.582031 0.453125 0.605469 0.500000; size 0.500 1.000; offset 0.083 0.000; advance 0.667; }; glyph 203 { - texcoords 0.867188 0.312500 0.890625 0.355469; + texcoords 0.644531 0.453125 0.667969 0.496094; size 0.500 0.917; offset 0.083 0.000; advance 0.667; }; glyph 204 { - texcoords 0.941406 0.312500 0.953125 0.359375; + texcoords 0.710938 0.453125 0.722656 0.500000; size 0.250 1.000; offset 0.083 0.000; advance 0.250; }; glyph 205 { - texcoords 0.027344 0.242188 0.039062 0.289062; + texcoords 0.773438 0.453125 0.785156 0.500000; size 0.250 1.000; offset 0.083 0.000; advance 0.250; }; glyph 206 { - texcoords 0.093750 0.242188 0.113281 0.289062; + texcoords 0.832031 0.453125 0.851562 0.500000; size 0.417 1.000; offset -0.083 0.000; advance 0.250; }; glyph 207 { - texcoords 0.167969 0.242188 0.179688 0.285156; + texcoords 0.898438 0.453125 0.910156 0.496094; size 0.250 0.917; offset 0.000 0.000; advance 0.250; }; glyph 208 { - texcoords 0.230469 0.242188 0.261719 0.277344; + texcoords 0.953125 0.453125 0.984375 0.488281; size 0.667 0.750; offset 0.000 0.000; advance 0.750; }; glyph 209 { - texcoords 0.300781 0.242188 0.328125 0.289062; + texcoords 0.015625 0.390625 0.042969 0.437500; size 0.583 1.000; offset 0.083 0.000; advance 0.750; }; glyph 210 { - texcoords 0.371094 0.242188 0.398438 0.289062; + texcoords 0.078125 0.390625 0.105469 0.437500; size 0.583 1.000; offset 0.083 0.000; advance 0.750; }; glyph 211 { - texcoords 0.441406 0.242188 0.468750 0.289062; + texcoords 0.140625 0.390625 0.167969 0.437500; size 0.583 1.000; offset 0.083 0.000; advance 0.750; }; glyph 212 { - texcoords 0.511719 0.242188 0.539062 0.289062; + texcoords 0.203125 0.390625 0.230469 0.437500; size 0.583 1.000; offset 0.083 0.000; advance 0.750; }; glyph 213 { - texcoords 0.582031 0.242188 0.609375 0.289062; + texcoords 0.265625 0.390625 0.292969 0.437500; size 0.583 1.000; offset 0.083 0.000; advance 0.750; }; glyph 214 { - texcoords 0.652344 0.242188 0.679688 0.285156; + texcoords 0.328125 0.390625 0.355469 0.433594; size 0.583 0.917; offset 0.083 0.000; advance 0.750; }; glyph 215 { - texcoords 0.722656 0.242188 0.750000 0.269531; + texcoords 0.390625 0.390625 0.417969 0.417969; size 0.583 0.583; offset 0.167 0.000; advance 0.833; }; glyph 216 { - texcoords 0.789062 0.238281 0.824219 0.281250; + texcoords 0.449219 0.386719 0.484375 0.429688; size 0.750 0.917; offset 0.000 -0.083; advance 0.750; }; glyph 217 { - texcoords 0.863281 0.242188 0.890625 0.289062; + texcoords 0.515625 0.390625 0.542969 0.437500; size 0.583 1.000; offset 0.083 0.000; advance 0.750; }; glyph 218 { - texcoords 0.933594 0.242188 0.960938 0.289062; + texcoords 0.578125 0.390625 0.605469 0.437500; size 0.583 1.000; offset 0.083 0.000; advance 0.750; }; glyph 219 { - texcoords 0.019531 0.171875 0.046875 0.218750; + texcoords 0.640625 0.390625 0.667969 0.437500; size 0.583 1.000; offset 0.083 0.000; advance 0.750; }; glyph 220 { - texcoords 0.089844 0.171875 0.117188 0.214844; + texcoords 0.703125 0.390625 0.730469 0.433594; size 0.583 0.917; offset 0.083 0.000; advance 0.750; }; glyph 221 { - texcoords 0.160156 0.171875 0.187500 0.218750; + texcoords 0.765625 0.390625 0.792969 0.437500; size 0.583 1.000; offset 0.000 0.000; advance 0.583; }; glyph 222 { - texcoords 0.234375 0.171875 0.257812 0.207031; + texcoords 0.832031 0.390625 0.855469 0.425781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 223 { - texcoords 0.304688 0.171875 0.328125 0.210938; + texcoords 0.894531 0.390625 0.917969 0.429688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 224 { - texcoords 0.375000 0.171875 0.398438 0.210938; + texcoords 0.957031 0.390625 0.980469 0.429688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 225 { - texcoords 0.445312 0.171875 0.468750 0.210938; + texcoords 0.019531 0.328125 0.042969 0.367188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 226 { - texcoords 0.515625 0.171875 0.539062 0.210938; + texcoords 0.082031 0.328125 0.105469 0.367188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 227 { - texcoords 0.585938 0.171875 0.609375 0.210938; + texcoords 0.144531 0.328125 0.167969 0.367188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 228 { - texcoords 0.656250 0.171875 0.679688 0.207031; + texcoords 0.207031 0.328125 0.230469 0.363281; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 229 { - texcoords 0.726562 0.171875 0.750000 0.218750; + texcoords 0.269531 0.328125 0.292969 0.375000; size 0.500 1.000; offset 0.083 0.000; advance 0.667; }; glyph 230 { - texcoords 0.789062 0.171875 0.828125 0.199219; + texcoords 0.324219 0.328125 0.363281 0.355469; size 0.833 0.583; offset 0.083 0.000; advance 1.000; }; glyph 231 { - texcoords 0.867188 0.164062 0.886719 0.199219; + texcoords 0.394531 0.320312 0.414062 0.355469; size 0.417 0.750; offset 0.083 -0.167; advance 0.583; }; glyph 232 { - texcoords 0.937500 0.171875 0.960938 0.210938; + texcoords 0.457031 0.328125 0.480469 0.367188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 233 { - texcoords 0.023438 0.101562 0.046875 0.140625; + texcoords 0.519531 0.328125 0.542969 0.367188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 234 { - texcoords 0.093750 0.101562 0.117188 0.140625; + texcoords 0.582031 0.328125 0.605469 0.367188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 235 { - texcoords 0.164062 0.101562 0.187500 0.136719; + texcoords 0.644531 0.328125 0.667969 0.363281; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 236 { - texcoords 0.238281 0.101562 0.250000 0.140625; + texcoords 0.710938 0.328125 0.722656 0.367188; size 0.250 0.833; offset 0.000 0.000; advance 0.250; }; glyph 237 { - texcoords 0.308594 0.101562 0.320312 0.140625; + texcoords 0.773438 0.328125 0.785156 0.367188; size 0.250 0.833; offset 0.083 0.000; advance 0.250; }; glyph 238 { - texcoords 0.375000 0.101562 0.394531 0.140625; + texcoords 0.832031 0.328125 0.851562 0.367188; size 0.417 0.833; offset -0.083 0.000; advance 0.250; }; glyph 239 { - texcoords 0.449219 0.101562 0.460938 0.136719; + texcoords 0.898438 0.328125 0.910156 0.363281; size 0.250 0.750; offset 0.000 0.000; advance 0.250; }; glyph 240 { - texcoords 0.515625 0.101562 0.539062 0.140625; + texcoords 0.957031 0.328125 0.980469 0.367188; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 241 { - texcoords 0.585938 0.101562 0.609375 0.140625; + texcoords 0.019531 0.265625 0.042969 0.304688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 242 { - texcoords 0.656250 0.101562 0.679688 0.140625; + texcoords 0.082031 0.265625 0.105469 0.304688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 243 { - texcoords 0.726562 0.101562 0.750000 0.140625; + texcoords 0.144531 0.265625 0.167969 0.304688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 244 { - texcoords 0.796875 0.101562 0.820312 0.140625; + texcoords 0.207031 0.265625 0.230469 0.304688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 245 { - texcoords 0.867188 0.101562 0.890625 0.140625; + texcoords 0.269531 0.265625 0.292969 0.304688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 246 { - texcoords 0.937500 0.101562 0.960938 0.136719; + texcoords 0.332031 0.265625 0.355469 0.300781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 247 { - texcoords 0.019531 0.035156 0.046875 0.054688; + texcoords 0.390625 0.269531 0.417969 0.289062; size 0.583 0.417; offset 0.083 0.083; advance 0.833; }; glyph 248 { - texcoords 0.089844 0.027344 0.121094 0.062500; + texcoords 0.453125 0.261719 0.484375 0.296875; size 0.667 0.750; offset 0.000 -0.083; advance 0.667; }; glyph 249 { - texcoords 0.164062 0.031250 0.187500 0.070312; + texcoords 0.519531 0.265625 0.542969 0.304688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 250 { - texcoords 0.234375 0.031250 0.257812 0.070312; + texcoords 0.582031 0.265625 0.605469 0.304688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 251 { - texcoords 0.304688 0.031250 0.328125 0.070312; + texcoords 0.644531 0.265625 0.667969 0.304688; size 0.500 0.833; offset 0.083 0.000; advance 0.667; }; glyph 252 { - texcoords 0.375000 0.031250 0.398438 0.066406; + texcoords 0.707031 0.265625 0.730469 0.300781; size 0.500 0.750; offset 0.083 0.000; advance 0.667; }; glyph 253 { - texcoords 0.441406 0.019531 0.472656 0.070312; + texcoords 0.765625 0.253906 0.796875 0.304688; size 0.667 1.083; offset -0.083 -0.250; advance 0.500; }; glyph 254 { - texcoords 0.515625 0.019531 0.539062 0.070312; + texcoords 0.832031 0.253906 0.855469 0.304688; size 0.500 1.083; offset 0.083 -0.250; advance 0.667; }; glyph 255 { - texcoords 0.582031 0.019531 0.613281 0.066406; + texcoords 0.890625 0.253906 0.921875 0.300781; size 0.667 1.000; offset -0.083 -0.250; advance 0.500; diff --git a/dejavu-12.png b/dejavu-12.png index 66fc386e4f42850ba7b8c206ee66840850286aa4..234afc6c14bb6add8ab84f39ddf5e9a6a3468d51 100644 GIT binary patch literal 8937 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 F{{fKkmf!#Y literal 8990 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 Tm+x=i3qV~Nq*S9|6ZXFVW&K0~ diff --git a/dejavu-20.font b/dejavu-20.font index 17170ce..98f1401 100644 --- a/dejavu-20.font +++ b/dejavu-20.font @@ -1,1339 +1,1341 @@ -texture "dejavu-20.png"; -default_size 20.000000; +//texture "dejavu-20.png"; +default_size 20; +ascent 0.950; +descent -0.250; glyph 32 { - texcoords 0.023438 0.906250 0.023438 0.906250; - size 0.000000 0.000000; - offset 0.000000 0.000000; - advance 0.300000; + texcoords 0.023438 0.925781 0.023438 0.925781; + size 0.000 0.000; + offset 0.000 0.000; + advance 0.300; }; glyph 33 { - texcoords 0.070312 0.906250 0.074219 0.964844; - size 0.100000 0.750000; - offset 0.150000 0.000000; - advance 0.400000; + texcoords 0.070312 0.925781 0.074219 0.984375; + size 0.100 0.750; + offset 0.150 0.000; + advance 0.400; }; glyph 34 { - texcoords 0.115234 0.945312 0.126953 0.964844; - size 0.300000 0.250000; - offset 0.100000 0.500000; - advance 0.500000; + texcoords 0.115234 0.964844 0.126953 0.984375; + size 0.300 0.250; + offset 0.100 0.500; + advance 0.500; }; glyph 35 { - texcoords 0.156250 0.906250 0.183594 0.964844; - size 0.700000 0.750000; - offset 0.100000 0.000000; - advance 0.850000; + texcoords 0.156250 0.925781 0.183594 0.984375; + size 0.700 0.750; + offset 0.100 0.000; + advance 0.850; }; glyph 36 { - texcoords 0.208984 0.894531 0.228516 0.964844; - size 0.500000 0.900000; - offset 0.100000 -0.150000; - advance 0.650000; + texcoords 0.208984 0.914062 0.228516 0.984375; + size 0.500 0.900; + offset 0.100 -0.150; + advance 0.650; }; glyph 37 { - texcoords 0.251953 0.906250 0.285156 0.964844; - size 0.850000 0.750000; - offset 0.000000 0.000000; - advance 0.950000; + texcoords 0.251953 0.925781 0.285156 0.984375; + size 0.850 0.750; + offset 0.000 0.000; + advance 0.950; }; glyph 38 { - texcoords 0.302734 0.906250 0.330078 0.964844; - size 0.700000 0.750000; - offset 0.050000 0.000000; - advance 0.750000; + texcoords 0.302734 0.925781 0.330078 0.984375; + size 0.700 0.750; + offset 0.050 0.000; + advance 0.750; }; glyph 39 { - texcoords 0.363281 0.945312 0.367188 0.964844; - size 0.100000 0.250000; - offset 0.100000 0.500000; - advance 0.300000; + texcoords 0.363281 0.964844 0.367188 0.984375; + size 0.100 0.250; + offset 0.100 0.500; + advance 0.300; }; glyph 40 { - texcoords 0.410156 0.894531 0.417969 0.964844; - size 0.200000 0.900000; - offset 0.100000 -0.150000; - advance 0.400000; + texcoords 0.410156 0.914062 0.417969 0.984375; + size 0.200 0.900; + offset 0.100 -0.150; + advance 0.400; }; glyph 41 { - texcoords 0.458984 0.894531 0.466797 0.964844; - size 0.200000 0.900000; - offset 0.100000 -0.150000; - advance 0.400000; + texcoords 0.458984 0.914062 0.466797 0.984375; + size 0.200 0.900; + offset 0.100 -0.150; + advance 0.400; }; glyph 42 { - texcoords 0.503906 0.925781 0.521484 0.964844; - size 0.450000 0.500000; - offset 0.000000 0.250000; - advance 0.500000; + texcoords 0.503906 0.945312 0.521484 0.984375; + size 0.450 0.500; + offset 0.000 0.250; + advance 0.500; }; glyph 43 { - texcoords 0.548828 0.906250 0.572266 0.953125; - size 0.600000 0.600000; - offset 0.100000 0.000000; - advance 0.850000; + texcoords 0.548828 0.925781 0.572266 0.972656; + size 0.600 0.600; + offset 0.100 0.000; + advance 0.850; }; glyph 44 { - texcoords 0.607422 0.894531 0.613281 0.914062; - size 0.150000 0.250000; - offset 0.050000 -0.150000; - advance 0.300000; + texcoords 0.607422 0.914062 0.613281 0.933594; + size 0.150 0.250; + offset 0.050 -0.150; + advance 0.300; }; glyph 45 { - texcoords 0.654297 0.925781 0.664062 0.933594; - size 0.250000 0.100000; - offset 0.050000 0.250000; - advance 0.350000; + texcoords 0.654297 0.945312 0.664062 0.953125; + size 0.250 0.100; + offset 0.050 0.250; + advance 0.350; }; glyph 46 { - texcoords 0.705078 0.906250 0.708984 0.914062; - size 0.100000 0.100000; - offset 0.100000 0.000000; - advance 0.300000; + texcoords 0.705078 0.925781 0.708984 0.933594; + size 0.100 0.100; + offset 0.100 0.000; + advance 0.300; }; glyph 47 { - texcoords 0.750000 0.902344 0.763672 0.964844; - size 0.350000 0.800000; - offset 0.000000 -0.050000; - advance 0.350000; + texcoords 0.750000 0.921875 0.763672 0.984375; + size 0.350 0.800; + offset 0.000 -0.050; + advance 0.350; }; glyph 48 { - texcoords 0.794922 0.906250 0.814453 0.964844; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.794922 0.925781 0.814453 0.984375; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 49 { - texcoords 0.845703 0.906250 0.863281 0.964844; - size 0.450000 0.750000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.845703 0.925781 0.863281 0.984375; + size 0.450 0.750; + offset 0.100 0.000; + advance 0.650; }; glyph 50 { - texcoords 0.892578 0.906250 0.912109 0.964844; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.892578 0.925781 0.912109 0.984375; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 51 { - texcoords 0.941406 0.906250 0.960938 0.964844; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.941406 0.925781 0.960938 0.984375; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 52 { - texcoords 0.013672 0.808594 0.035156 0.867188; - size 0.550000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.013672 0.828125 0.035156 0.886719; + size 0.550 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 53 { - texcoords 0.064453 0.808594 0.082031 0.867188; - size 0.450000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.064453 0.828125 0.082031 0.886719; + size 0.450 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 54 { - texcoords 0.111328 0.808594 0.130859 0.867188; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.111328 0.828125 0.130859 0.886719; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 55 { - texcoords 0.160156 0.808594 0.179688 0.867188; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.160156 0.828125 0.179688 0.886719; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 56 { - texcoords 0.208984 0.808594 0.228516 0.867188; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.208984 0.828125 0.228516 0.886719; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 57 { - texcoords 0.257812 0.808594 0.277344 0.867188; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.257812 0.828125 0.277344 0.886719; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 58 { - texcoords 0.314453 0.808594 0.318359 0.847656; - size 0.100000 0.500000; - offset 0.100000 0.000000; - advance 0.350000; + texcoords 0.314453 0.828125 0.318359 0.867188; + size 0.100 0.500; + offset 0.100 0.000; + advance 0.350; }; glyph 59 { - texcoords 0.363281 0.796875 0.369141 0.847656; - size 0.150000 0.650000; - offset 0.050000 -0.150000; - advance 0.350000; + texcoords 0.363281 0.816406 0.369141 0.867188; + size 0.150 0.650; + offset 0.050 -0.150; + advance 0.350; }; glyph 60 { - texcoords 0.402344 0.812500 0.427734 0.855469; - size 0.650000 0.550000; - offset 0.100000 0.050000; - advance 0.850000; + texcoords 0.402344 0.832031 0.427734 0.875000; + size 0.650 0.550; + offset 0.100 0.050; + advance 0.850; }; glyph 61 { - texcoords 0.451172 0.820312 0.476562 0.843750; - size 0.650000 0.300000; - offset 0.100000 0.150000; - advance 0.850000; + texcoords 0.451172 0.839844 0.476562 0.863281; + size 0.650 0.300; + offset 0.100 0.150; + advance 0.850; }; glyph 62 { - texcoords 0.500000 0.812500 0.525391 0.855469; - size 0.650000 0.550000; - offset 0.100000 0.050000; - advance 0.850000; + texcoords 0.500000 0.832031 0.525391 0.875000; + size 0.650 0.550; + offset 0.100 0.050; + advance 0.850; }; glyph 63 { - texcoords 0.552734 0.808594 0.568359 0.867188; - size 0.400000 0.750000; - offset 0.050000 0.000000; - advance 0.550000; + texcoords 0.552734 0.828125 0.568359 0.886719; + size 0.400 0.750; + offset 0.050 0.000; + advance 0.550; }; glyph 64 { - texcoords 0.591797 0.796875 0.626953 0.867188; - size 0.900000 0.900000; - offset 0.050000 -0.150000; - advance 1.000000; + texcoords 0.591797 0.816406 0.626953 0.886719; + size 0.900 0.900; + offset 0.050 -0.150; + advance 1.000; }; glyph 65 { - texcoords 0.646484 0.808594 0.671875 0.867188; - size 0.650000 0.750000; - offset 0.000000 0.000000; - advance 0.700000; + texcoords 0.646484 0.828125 0.671875 0.886719; + size 0.650 0.750; + offset 0.000 0.000; + advance 0.700; }; glyph 66 { - texcoords 0.697266 0.808594 0.716797 0.867188; - size 0.500000 0.750000; - offset 0.100000 0.000000; - advance 0.700000; + texcoords 0.697266 0.828125 0.716797 0.886719; + size 0.500 0.750; + offset 0.100 0.000; + advance 0.700; }; glyph 67 { - texcoords 0.744141 0.808594 0.767578 0.867188; - size 0.600000 0.750000; - offset 0.050000 0.000000; - advance 0.700000; + texcoords 0.744141 0.828125 0.767578 0.886719; + size 0.600 0.750; + offset 0.050 0.000; + advance 0.700; }; glyph 68 { - texcoords 0.792969 0.808594 0.816406 0.867188; - size 0.600000 0.750000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.792969 0.828125 0.816406 0.886719; + size 0.600 0.750; + offset 0.100 0.000; + advance 0.750; }; glyph 69 { - texcoords 0.845703 0.808594 0.863281 0.867188; - size 0.450000 0.750000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.845703 0.828125 0.863281 0.886719; + size 0.450 0.750; + offset 0.100 0.000; + advance 0.650; }; glyph 70 { - texcoords 0.894531 0.808594 0.910156 0.867188; - size 0.400000 0.750000; - offset 0.100000 0.000000; - advance 0.600000; + texcoords 0.894531 0.828125 0.910156 0.886719; + size 0.400 0.750; + offset 0.100 0.000; + advance 0.600; }; glyph 71 { - texcoords 0.939453 0.808594 0.964844 0.867188; - size 0.650000 0.750000; - offset 0.050000 0.000000; - advance 0.800000; + texcoords 0.939453 0.828125 0.964844 0.886719; + size 0.650 0.750; + offset 0.050 0.000; + advance 0.800; }; glyph 72 { - texcoords 0.013672 0.710938 0.035156 0.769531; - size 0.550000 0.750000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.013672 0.730469 0.035156 0.789062; + size 0.550 0.750; + offset 0.100 0.000; + advance 0.750; }; glyph 73 { - texcoords 0.070312 0.710938 0.074219 0.769531; - size 0.100000 0.750000; - offset 0.100000 0.000000; - advance 0.300000; + texcoords 0.070312 0.730469 0.074219 0.789062; + size 0.100 0.750; + offset 0.100 0.000; + advance 0.300; }; glyph 74 { - texcoords 0.117188 0.695312 0.126953 0.769531; - size 0.250000 0.950000; - offset -0.050000 -0.200000; - advance 0.300000; + texcoords 0.117188 0.714844 0.126953 0.789062; + size 0.250 0.950; + offset -0.050 -0.200; + advance 0.300; }; glyph 75 { - texcoords 0.158203 0.710938 0.181641 0.769531; - size 0.600000 0.750000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.158203 0.730469 0.181641 0.789062; + size 0.600 0.750; + offset 0.100 0.000; + advance 0.650; }; glyph 76 { - texcoords 0.210938 0.710938 0.228516 0.769531; - size 0.450000 0.750000; - offset 0.100000 0.000000; - advance 0.550000; + texcoords 0.210938 0.730469 0.228516 0.789062; + size 0.450 0.750; + offset 0.100 0.000; + advance 0.550; }; glyph 77 { - texcoords 0.255859 0.710938 0.281250 0.769531; - size 0.650000 0.750000; - offset 0.100000 0.000000; - advance 0.850000; + texcoords 0.255859 0.730469 0.281250 0.789062; + size 0.650 0.750; + offset 0.100 0.000; + advance 0.850; }; glyph 78 { - texcoords 0.306641 0.710938 0.328125 0.769531; - size 0.550000 0.750000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.306641 0.730469 0.328125 0.789062; + size 0.550 0.750; + offset 0.100 0.000; + advance 0.750; }; glyph 79 { - texcoords 0.351562 0.710938 0.378906 0.769531; - size 0.700000 0.750000; - offset 0.050000 0.000000; - advance 0.800000; + texcoords 0.351562 0.730469 0.378906 0.789062; + size 0.700 0.750; + offset 0.050 0.000; + advance 0.800; }; glyph 80 { - texcoords 0.406250 0.710938 0.423828 0.769531; - size 0.450000 0.750000; - offset 0.100000 0.000000; - advance 0.600000; + texcoords 0.406250 0.730469 0.423828 0.789062; + size 0.450 0.750; + offset 0.100 0.000; + advance 0.600; }; glyph 81 { - texcoords 0.449219 0.699219 0.476562 0.769531; - size 0.700000 0.900000; - offset 0.050000 -0.150000; - advance 0.800000; + texcoords 0.449219 0.718750 0.476562 0.789062; + size 0.700 0.900; + offset 0.050 -0.150; + advance 0.800; }; glyph 82 { - texcoords 0.501953 0.710938 0.523438 0.769531; - size 0.550000 0.750000; - offset 0.100000 0.000000; - advance 0.700000; + texcoords 0.501953 0.730469 0.523438 0.789062; + size 0.550 0.750; + offset 0.100 0.000; + advance 0.700; }; glyph 83 { - texcoords 0.550781 0.710938 0.572266 0.769531; - size 0.550000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.550781 0.730469 0.572266 0.789062; + size 0.550 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 84 { - texcoords 0.597656 0.710938 0.621094 0.769531; - size 0.600000 0.750000; - offset 0.000000 0.000000; - advance 0.600000; + texcoords 0.597656 0.730469 0.621094 0.789062; + size 0.600 0.750; + offset 0.000 0.000; + advance 0.600; }; glyph 85 { - texcoords 0.648438 0.710938 0.669922 0.769531; - size 0.550000 0.750000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.648438 0.730469 0.669922 0.789062; + size 0.550 0.750; + offset 0.100 0.000; + advance 0.750; }; glyph 86 { - texcoords 0.695312 0.710938 0.720703 0.769531; - size 0.650000 0.750000; - offset 0.000000 0.000000; - advance 0.700000; + texcoords 0.695312 0.730469 0.720703 0.789062; + size 0.650 0.750; + offset 0.000 0.000; + advance 0.700; }; glyph 87 { - texcoords 0.738281 0.710938 0.773438 0.769531; - size 0.900000 0.750000; - offset 0.050000 0.000000; - advance 1.000000; + texcoords 0.738281 0.730469 0.773438 0.789062; + size 0.900 0.750; + offset 0.050 0.000; + advance 1.000; }; glyph 88 { - texcoords 0.792969 0.710938 0.816406 0.769531; - size 0.600000 0.750000; - offset 0.050000 0.000000; - advance 0.700000; + texcoords 0.792969 0.730469 0.816406 0.789062; + size 0.600 0.750; + offset 0.050 0.000; + advance 0.700; }; glyph 89 { - texcoords 0.841797 0.710938 0.865234 0.769531; - size 0.600000 0.750000; - offset 0.000000 0.000000; - advance 0.600000; + texcoords 0.841797 0.730469 0.865234 0.789062; + size 0.600 0.750; + offset 0.000 0.000; + advance 0.600; }; glyph 90 { - texcoords 0.890625 0.710938 0.914062 0.769531; - size 0.600000 0.750000; - offset 0.050000 0.000000; - advance 0.700000; + texcoords 0.890625 0.730469 0.914062 0.789062; + size 0.600 0.750; + offset 0.050 0.000; + advance 0.700; }; glyph 91 { - texcoords 0.947266 0.699219 0.955078 0.769531; - size 0.200000 0.900000; - offset 0.100000 -0.150000; - advance 0.400000; + texcoords 0.947266 0.718750 0.955078 0.789062; + size 0.200 0.900; + offset 0.100 -0.150; + advance 0.400; }; glyph 92 { - texcoords 0.017578 0.609375 0.031250 0.671875; - size 0.350000 0.800000; - offset 0.000000 -0.050000; - advance 0.350000; + texcoords 0.017578 0.628906 0.031250 0.691406; + size 0.350 0.800; + offset 0.000 -0.050; + advance 0.350; }; glyph 93 { - texcoords 0.068359 0.601562 0.076172 0.671875; - size 0.200000 0.900000; - offset 0.100000 -0.150000; - advance 0.400000; + texcoords 0.068359 0.621094 0.076172 0.691406; + size 0.200 0.900; + offset 0.100 -0.150; + advance 0.400; }; glyph 94 { - texcoords 0.109375 0.652344 0.134766 0.671875; - size 0.650000 0.250000; - offset 0.100000 0.500000; - advance 0.850000; + texcoords 0.109375 0.671875 0.134766 0.691406; + size 0.650 0.250; + offset 0.100 0.500; + advance 0.850; }; glyph 95 { - texcoords 0.160156 0.593750 0.179688 0.601562; - size 0.500000 0.100000; - offset 0.000000 -0.250000; - advance 0.500000; + texcoords 0.160156 0.613281 0.179688 0.621094; + size 0.500 0.100; + offset 0.000 -0.250; + advance 0.500; }; glyph 96 { - texcoords 0.214844 0.660156 0.224609 0.675781; - size 0.250000 0.200000; - offset 0.050000 0.600000; - advance 0.500000; + texcoords 0.214844 0.679688 0.224609 0.695312; + size 0.250 0.200; + offset 0.050 0.600; + advance 0.500; }; glyph 97 { - texcoords 0.259766 0.613281 0.277344 0.656250; - size 0.450000 0.550000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.259766 0.632812 0.277344 0.675781; + size 0.450 0.550; + offset 0.050 0.000; + advance 0.600; }; glyph 98 { - texcoords 0.306641 0.613281 0.326172 0.671875; - size 0.500000 0.750000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.306641 0.632812 0.326172 0.691406; + size 0.500 0.750; + offset 0.100 0.000; + advance 0.650; }; glyph 99 { - texcoords 0.357422 0.613281 0.375000 0.656250; - size 0.450000 0.550000; - offset 0.050000 0.000000; - advance 0.550000; + texcoords 0.357422 0.632812 0.375000 0.675781; + size 0.450 0.550; + offset 0.050 0.000; + advance 0.550; }; glyph 100 { - texcoords 0.404297 0.613281 0.423828 0.671875; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.650000; + texcoords 0.404297 0.632812 0.423828 0.691406; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.650; }; glyph 101 { - texcoords 0.453125 0.613281 0.472656 0.656250; - size 0.500000 0.550000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.453125 0.632812 0.472656 0.675781; + size 0.500 0.550; + offset 0.050 0.000; + advance 0.600; }; glyph 102 { - texcoords 0.505859 0.613281 0.519531 0.671875; - size 0.350000 0.750000; - offset 0.000000 0.000000; - advance 0.350000; + texcoords 0.505859 0.632812 0.519531 0.691406; + size 0.350 0.750; + offset 0.000 0.000; + advance 0.350; }; glyph 103 { - texcoords 0.550781 0.597656 0.570312 0.656250; - size 0.500000 0.750000; - offset 0.050000 -0.200000; - advance 0.650000; + texcoords 0.550781 0.617188 0.570312 0.675781; + size 0.500 0.750; + offset 0.050 -0.200; + advance 0.650; }; glyph 104 { - texcoords 0.601562 0.613281 0.619141 0.671875; - size 0.450000 0.750000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.601562 0.632812 0.619141 0.691406; + size 0.450 0.750; + offset 0.100 0.000; + advance 0.650; }; glyph 105 { - texcoords 0.656250 0.613281 0.660156 0.671875; - size 0.100000 0.750000; - offset 0.100000 0.000000; - advance 0.300000; + texcoords 0.656250 0.632812 0.660156 0.691406; + size 0.100 0.750; + offset 0.100 0.000; + advance 0.300; }; glyph 106 { - texcoords 0.703125 0.597656 0.710938 0.671875; - size 0.200000 0.950000; - offset 0.000000 -0.200000; - advance 0.300000; + texcoords 0.703125 0.617188 0.710938 0.691406; + size 0.200 0.950; + offset 0.000 -0.200; + advance 0.300; }; glyph 107 { - texcoords 0.746094 0.613281 0.765625 0.671875; - size 0.500000 0.750000; - offset 0.100000 0.000000; - advance 0.600000; + texcoords 0.746094 0.632812 0.765625 0.691406; + size 0.500 0.750; + offset 0.100 0.000; + advance 0.600; }; glyph 108 { - texcoords 0.802734 0.613281 0.806641 0.671875; - size 0.100000 0.750000; - offset 0.100000 0.000000; - advance 0.300000; + texcoords 0.802734 0.632812 0.806641 0.691406; + size 0.100 0.750; + offset 0.100 0.000; + advance 0.300; }; glyph 109 { - texcoords 0.837891 0.613281 0.869141 0.656250; - size 0.800000 0.550000; - offset 0.100000 0.000000; - advance 1.000000; + texcoords 0.837891 0.632812 0.869141 0.675781; + size 0.800 0.550; + offset 0.100 0.000; + advance 1.000; }; glyph 110 { - texcoords 0.894531 0.613281 0.912109 0.656250; - size 0.450000 0.550000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.894531 0.632812 0.912109 0.675781; + size 0.450 0.550; + offset 0.100 0.000; + advance 0.650; }; glyph 111 { - texcoords 0.941406 0.613281 0.960938 0.656250; - size 0.500000 0.550000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.941406 0.632812 0.960938 0.675781; + size 0.500 0.550; + offset 0.050 0.000; + advance 0.600; }; glyph 112 { - texcoords 0.013672 0.500000 0.033203 0.558594; - size 0.500000 0.750000; - offset 0.100000 -0.200000; - advance 0.650000; + texcoords 0.013672 0.519531 0.033203 0.578125; + size 0.500 0.750; + offset 0.100 -0.200; + advance 0.650; }; glyph 113 { - texcoords 0.062500 0.500000 0.082031 0.558594; - size 0.500000 0.750000; - offset 0.050000 -0.200000; - advance 0.650000; + texcoords 0.062500 0.519531 0.082031 0.578125; + size 0.500 0.750; + offset 0.050 -0.200; + advance 0.650; }; glyph 114 { - texcoords 0.115234 0.515625 0.126953 0.558594; - size 0.300000 0.550000; - offset 0.100000 0.000000; - advance 0.400000; + texcoords 0.115234 0.535156 0.126953 0.578125; + size 0.300 0.550; + offset 0.100 0.000; + advance 0.400; }; glyph 115 { - texcoords 0.162109 0.515625 0.179688 0.558594; - size 0.450000 0.550000; - offset 0.050000 0.000000; - advance 0.500000; + texcoords 0.162109 0.535156 0.179688 0.578125; + size 0.450 0.550; + offset 0.050 0.000; + advance 0.500; }; glyph 116 { - texcoords 0.212891 0.515625 0.226562 0.570312; - size 0.350000 0.700000; - offset 0.050000 0.000000; - advance 0.400000; + texcoords 0.212891 0.535156 0.226562 0.589844; + size 0.350 0.700; + offset 0.050 0.000; + advance 0.400; }; glyph 117 { - texcoords 0.259766 0.515625 0.277344 0.558594; - size 0.450000 0.550000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.259766 0.535156 0.277344 0.578125; + size 0.450 0.550; + offset 0.100 0.000; + advance 0.650; }; glyph 118 { - texcoords 0.306641 0.515625 0.328125 0.558594; - size 0.550000 0.550000; - offset 0.000000 0.000000; - advance 0.550000; + texcoords 0.306641 0.535156 0.328125 0.578125; + size 0.550 0.550; + offset 0.000 0.000; + advance 0.550; }; glyph 119 { - texcoords 0.351562 0.515625 0.380859 0.558594; - size 0.750000 0.550000; - offset 0.050000 0.000000; - advance 0.850000; + texcoords 0.351562 0.535156 0.380859 0.578125; + size 0.750 0.550; + offset 0.050 0.000; + advance 0.850; }; glyph 120 { - texcoords 0.404297 0.515625 0.425781 0.558594; - size 0.550000 0.550000; - offset 0.000000 0.000000; - advance 0.550000; + texcoords 0.404297 0.535156 0.425781 0.578125; + size 0.550 0.550; + offset 0.000 0.000; + advance 0.550; }; glyph 121 { - texcoords 0.453125 0.500000 0.474609 0.558594; - size 0.550000 0.750000; - offset 0.000000 -0.200000; - advance 0.550000; + texcoords 0.453125 0.519531 0.474609 0.578125; + size 0.550 0.750; + offset 0.000 -0.200; + advance 0.550; }; glyph 122 { - texcoords 0.503906 0.515625 0.521484 0.558594; - size 0.450000 0.550000; - offset 0.050000 0.000000; - advance 0.550000; + texcoords 0.503906 0.535156 0.521484 0.578125; + size 0.450 0.550; + offset 0.050 0.000; + advance 0.550; }; glyph 123 { - texcoords 0.552734 0.503906 0.568359 0.574219; - size 0.400000 0.900000; - offset 0.150000 -0.150000; - advance 0.650000; + texcoords 0.552734 0.523438 0.568359 0.593750; + size 0.400 0.900; + offset 0.150 -0.150; + advance 0.650; }; glyph 124 { - texcoords 0.607422 0.496094 0.611328 0.574219; - size 0.100000 1.000000; - offset 0.150000 -0.250000; - advance 0.350000; + texcoords 0.607422 0.515625 0.611328 0.593750; + size 0.100 1.000; + offset 0.150 -0.250; + advance 0.350; }; glyph 125 { - texcoords 0.650391 0.503906 0.666016 0.574219; - size 0.400000 0.900000; - offset 0.100000 -0.150000; - advance 0.650000; + texcoords 0.650391 0.523438 0.666016 0.593750; + size 0.400 0.900; + offset 0.100 -0.150; + advance 0.650; }; glyph 126 { - texcoords 0.695312 0.531250 0.720703 0.550781; - size 0.650000 0.250000; - offset 0.100000 0.200000; - advance 0.850000; + texcoords 0.695312 0.550781 0.720703 0.570312; + size 0.650 0.250; + offset 0.100 0.200; + advance 0.850; }; glyph 160 { - texcoords 0.755859 0.515625 0.755859 0.515625; - size 0.000000 0.000000; - offset 0.000000 0.000000; - advance 0.300000; + texcoords 0.755859 0.535156 0.755859 0.535156; + size 0.000 0.000; + offset 0.000 0.000; + advance 0.300; }; glyph 161 { - texcoords 0.802734 0.515625 0.806641 0.574219; - size 0.100000 0.750000; - offset 0.150000 0.000000; - advance 0.400000; + texcoords 0.802734 0.535156 0.806641 0.593750; + size 0.100 0.750; + offset 0.150 0.000; + advance 0.400; }; glyph 162 { - texcoords 0.845703 0.503906 0.863281 0.570312; - size 0.450000 0.850000; - offset 0.100000 -0.150000; - advance 0.650000; + texcoords 0.845703 0.523438 0.863281 0.589844; + size 0.450 0.850; + offset 0.100 -0.150; + advance 0.650; }; glyph 163 { - texcoords 0.894531 0.515625 0.912109 0.574219; - size 0.450000 0.750000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.894531 0.535156 0.912109 0.593750; + size 0.450 0.750; + offset 0.100 0.000; + advance 0.650; }; glyph 164 { - texcoords 0.941406 0.519531 0.962891 0.562500; - size 0.550000 0.550000; - offset 0.000000 0.050000; - advance 0.650000; + texcoords 0.941406 0.539062 0.962891 0.582031; + size 0.550 0.550; + offset 0.000 0.050; + advance 0.650; }; glyph 165 { - texcoords 0.011719 0.417969 0.035156 0.476562; - size 0.600000 0.750000; - offset 0.000000 0.000000; - advance 0.650000; + texcoords 0.011719 0.437500 0.035156 0.496094; + size 0.600 0.750; + offset 0.000 0.000; + advance 0.650; }; glyph 166 { - texcoords 0.070312 0.406250 0.074219 0.472656; - size 0.100000 0.850000; - offset 0.150000 -0.150000; - advance 0.350000; + texcoords 0.070312 0.425781 0.074219 0.492188; + size 0.100 0.850; + offset 0.150 -0.150; + advance 0.350; }; glyph 167 { - texcoords 0.113281 0.410156 0.128906 0.476562; - size 0.400000 0.850000; - offset 0.050000 -0.100000; - advance 0.500000; + texcoords 0.113281 0.429688 0.128906 0.496094; + size 0.400 0.850; + offset 0.050 -0.100; + advance 0.500; }; glyph 168 { - texcoords 0.164062 0.468750 0.175781 0.476562; - size 0.300000 0.100000; - offset 0.100000 0.650000; - advance 0.500000; + texcoords 0.164062 0.488281 0.175781 0.496094; + size 0.300 0.100; + offset 0.100 0.650; + advance 0.500; }; glyph 169 { - texcoords 0.205078 0.417969 0.232422 0.476562; - size 0.700000 0.750000; - offset 0.150000 0.000000; - advance 1.000000; + texcoords 0.205078 0.437500 0.232422 0.496094; + size 0.700 0.750; + offset 0.150 0.000; + advance 1.000; }; glyph 170 { - texcoords 0.259766 0.437500 0.277344 0.476562; - size 0.450000 0.500000; - offset 0.050000 0.250000; - advance 0.450000; + texcoords 0.259766 0.457031 0.277344 0.496094; + size 0.450 0.500; + offset 0.050 0.250; + advance 0.450; }; glyph 171 { - texcoords 0.306641 0.421875 0.326172 0.457031; - size 0.500000 0.450000; - offset 0.100000 0.050000; - advance 0.600000; + texcoords 0.306641 0.441406 0.326172 0.476562; + size 0.500 0.450; + offset 0.100 0.050; + advance 0.600; }; glyph 172 { - texcoords 0.353516 0.425781 0.378906 0.449219; - size 0.650000 0.300000; - offset 0.100000 0.100000; - advance 0.850000; + texcoords 0.353516 0.445312 0.378906 0.468750; + size 0.650 0.300; + offset 0.100 0.100; + advance 0.850; }; glyph 173 { - texcoords 0.410156 0.437500 0.419922 0.445312; - size 0.250000 0.100000; - offset 0.050000 0.250000; - advance 0.350000; + texcoords 0.410156 0.457031 0.419922 0.464844; + size 0.250 0.100; + offset 0.050 0.250; + advance 0.350; }; glyph 174 { - texcoords 0.449219 0.417969 0.478516 0.476562; - size 0.750000 0.750000; - offset 0.150000 0.000000; - advance 1.000000; + texcoords 0.449219 0.437500 0.478516 0.496094; + size 0.750 0.750; + offset 0.150 0.000; + advance 1.000; }; glyph 175 { - texcoords 0.505859 0.468750 0.517578 0.476562; - size 0.300000 0.100000; - offset 0.100000 0.650000; - advance 0.500000; + texcoords 0.505859 0.488281 0.517578 0.496094; + size 0.300 0.100; + offset 0.100 0.650; + advance 0.500; }; glyph 176 { - texcoords 0.554688 0.453125 0.566406 0.476562; - size 0.300000 0.300000; - offset 0.100000 0.450000; - advance 0.500000; + texcoords 0.554688 0.472656 0.566406 0.496094; + size 0.300 0.300; + offset 0.100 0.450; + advance 0.500; }; glyph 177 { - texcoords 0.597656 0.417969 0.621094 0.468750; - size 0.600000 0.650000; - offset 0.150000 0.000000; - advance 0.850000; + texcoords 0.597656 0.437500 0.621094 0.488281; + size 0.600 0.650; + offset 0.150 0.000; + advance 0.850; }; glyph 178 { - texcoords 0.652344 0.445312 0.664062 0.476562; - size 0.300000 0.400000; - offset 0.050000 0.350000; - advance 0.400000; + texcoords 0.652344 0.464844 0.664062 0.496094; + size 0.300 0.400; + offset 0.050 0.350; + advance 0.400; }; glyph 179 { - texcoords 0.701172 0.445312 0.712891 0.476562; - size 0.300000 0.400000; - offset 0.050000 0.350000; - advance 0.400000; + texcoords 0.701172 0.464844 0.712891 0.496094; + size 0.300 0.400; + offset 0.050 0.350; + advance 0.400; }; glyph 180 { - texcoords 0.751953 0.464844 0.761719 0.480469; - size 0.250000 0.200000; - offset 0.150000 0.600000; - advance 0.500000; + texcoords 0.751953 0.484375 0.761719 0.500000; + size 0.250 0.200; + offset 0.150 0.600; + advance 0.500; }; glyph 181 { - texcoords 0.794922 0.402344 0.814453 0.460938; - size 0.500000 0.750000; - offset 0.100000 -0.200000; - advance 0.650000; + texcoords 0.794922 0.421875 0.814453 0.480469; + size 0.500 0.750; + offset 0.100 -0.200; + advance 0.650; }; glyph 182 { - texcoords 0.845703 0.410156 0.863281 0.476562; - size 0.450000 0.850000; - offset 0.100000 -0.100000; - advance 0.650000; + texcoords 0.845703 0.429688 0.863281 0.496094; + size 0.450 0.850; + offset 0.100 -0.100; + advance 0.650; }; glyph 183 { - texcoords 0.900391 0.441406 0.904297 0.449219; - size 0.100000 0.100000; - offset 0.100000 0.300000; - advance 0.300000; + texcoords 0.900391 0.460938 0.904297 0.468750; + size 0.100 0.100; + offset 0.100 0.300; + advance 0.300; }; glyph 184 { - texcoords 0.947266 0.402344 0.955078 0.417969; - size 0.200000 0.200000; - offset 0.150000 -0.200000; - advance 0.500000; + texcoords 0.947266 0.421875 0.955078 0.437500; + size 0.200 0.200; + offset 0.150 -0.200; + advance 0.500; }; glyph 185 { - texcoords 0.019531 0.347656 0.029297 0.378906; - size 0.250000 0.400000; - offset 0.100000 0.350000; - advance 0.400000; + texcoords 0.019531 0.367188 0.029297 0.398438; + size 0.250 0.400; + offset 0.100 0.350; + advance 0.400; }; glyph 186 { - texcoords 0.064453 0.339844 0.080078 0.378906; - size 0.400000 0.500000; - offset 0.050000 0.250000; - advance 0.450000; + texcoords 0.064453 0.359375 0.080078 0.398438; + size 0.400 0.500; + offset 0.050 0.250; + advance 0.450; }; glyph 187 { - texcoords 0.111328 0.324219 0.130859 0.359375; - size 0.500000 0.450000; - offset 0.100000 0.050000; - advance 0.600000; + texcoords 0.111328 0.343750 0.130859 0.378906; + size 0.500 0.450; + offset 0.100 0.050; + advance 0.600; }; glyph 188 { - texcoords 0.154297 0.320312 0.185547 0.378906; - size 0.800000 0.750000; - offset 0.100000 0.000000; - advance 0.950000; + texcoords 0.154297 0.339844 0.185547 0.398438; + size 0.800 0.750; + offset 0.100 0.000; + advance 0.950; }; glyph 189 { - texcoords 0.203125 0.320312 0.234375 0.378906; - size 0.800000 0.750000; - offset 0.100000 0.000000; - advance 0.950000; + texcoords 0.203125 0.339844 0.234375 0.398438; + size 0.800 0.750; + offset 0.100 0.000; + advance 0.950; }; glyph 190 { - texcoords 0.251953 0.320312 0.285156 0.378906; - size 0.850000 0.750000; - offset 0.050000 0.000000; - advance 0.950000; + texcoords 0.251953 0.339844 0.285156 0.398438; + size 0.850 0.750; + offset 0.050 0.000; + advance 0.950; }; glyph 191 { - texcoords 0.308594 0.320312 0.324219 0.378906; - size 0.400000 0.750000; - offset 0.050000 0.000000; - advance 0.550000; + texcoords 0.308594 0.339844 0.324219 0.398438; + size 0.400 0.750; + offset 0.050 0.000; + advance 0.550; }; glyph 192 { - texcoords 0.353516 0.320312 0.378906 0.394531; - size 0.650000 0.950000; - offset 0.000000 0.000000; - advance 0.700000; + texcoords 0.353516 0.339844 0.378906 0.414062; + size 0.650 0.950; + offset 0.000 0.000; + advance 0.700; }; glyph 193 { - texcoords 0.402344 0.320312 0.427734 0.394531; - size 0.650000 0.950000; - offset 0.000000 0.000000; - advance 0.700000; + texcoords 0.402344 0.339844 0.427734 0.414062; + size 0.650 0.950; + offset 0.000 0.000; + advance 0.700; }; glyph 194 { - texcoords 0.451172 0.320312 0.476562 0.394531; - size 0.650000 0.950000; - offset 0.000000 0.000000; - advance 0.700000; + texcoords 0.451172 0.339844 0.476562 0.414062; + size 0.650 0.950; + offset 0.000 0.000; + advance 0.700; }; glyph 195 { - texcoords 0.500000 0.320312 0.525391 0.390625; - size 0.650000 0.900000; - offset 0.000000 0.000000; - advance 0.700000; + texcoords 0.500000 0.339844 0.525391 0.410156; + size 0.650 0.900; + offset 0.000 0.000; + advance 0.700; }; glyph 196 { - texcoords 0.548828 0.320312 0.574219 0.394531; - size 0.650000 0.950000; - offset 0.000000 0.000000; - advance 0.700000; + texcoords 0.548828 0.339844 0.574219 0.414062; + size 0.650 0.950; + offset 0.000 0.000; + advance 0.700; }; glyph 197 { - texcoords 0.597656 0.320312 0.623047 0.394531; - size 0.650000 0.950000; - offset 0.000000 0.000000; - advance 0.700000; + texcoords 0.597656 0.339844 0.623047 0.414062; + size 0.650 0.950; + offset 0.000 0.000; + advance 0.700; }; glyph 198 { - texcoords 0.640625 0.320312 0.675781 0.378906; - size 0.900000 0.750000; - offset 0.000000 0.000000; - advance 1.000000; + texcoords 0.640625 0.339844 0.675781 0.398438; + size 0.900 0.750; + offset 0.000 0.000; + advance 1.000; }; glyph 199 { - texcoords 0.695312 0.304688 0.718750 0.378906; - size 0.600000 0.950000; - offset 0.050000 -0.200000; - advance 0.700000; + texcoords 0.695312 0.324219 0.718750 0.398438; + size 0.600 0.950; + offset 0.050 -0.200; + advance 0.700; }; glyph 200 { - texcoords 0.748047 0.320312 0.765625 0.394531; - size 0.450000 0.950000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.748047 0.339844 0.765625 0.414062; + size 0.450 0.950; + offset 0.100 0.000; + advance 0.650; }; glyph 201 { - texcoords 0.796875 0.320312 0.814453 0.394531; - size 0.450000 0.950000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.796875 0.339844 0.814453 0.414062; + size 0.450 0.950; + offset 0.100 0.000; + advance 0.650; }; glyph 202 { - texcoords 0.845703 0.320312 0.863281 0.394531; - size 0.450000 0.950000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.845703 0.339844 0.863281 0.414062; + size 0.450 0.950; + offset 0.100 0.000; + advance 0.650; }; glyph 203 { - texcoords 0.894531 0.320312 0.912109 0.394531; - size 0.450000 0.950000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.894531 0.339844 0.912109 0.414062; + size 0.450 0.950; + offset 0.100 0.000; + advance 0.650; }; glyph 204 { - texcoords 0.947266 0.320312 0.955078 0.394531; - size 0.200000 0.950000; - offset 0.050000 0.000000; - advance 0.300000; + texcoords 0.947266 0.339844 0.955078 0.414062; + size 0.200 0.950; + offset 0.050 0.000; + advance 0.300; }; glyph 205 { - texcoords 0.019531 0.222656 0.027344 0.296875; - size 0.200000 0.950000; - offset 0.100000 0.000000; - advance 0.300000; + texcoords 0.019531 0.242188 0.027344 0.316406; + size 0.200 0.950; + offset 0.100 0.000; + advance 0.300; }; glyph 206 { - texcoords 0.066406 0.222656 0.078125 0.296875; - size 0.300000 0.950000; - offset 0.000000 0.000000; - advance 0.300000; + texcoords 0.066406 0.242188 0.078125 0.316406; + size 0.300 0.950; + offset 0.000 0.000; + advance 0.300; }; glyph 207 { - texcoords 0.115234 0.222656 0.126953 0.296875; - size 0.300000 0.950000; - offset 0.000000 0.000000; - advance 0.300000; + texcoords 0.115234 0.242188 0.126953 0.316406; + size 0.300 0.950; + offset 0.000 0.000; + advance 0.300; }; glyph 208 { - texcoords 0.156250 0.222656 0.183594 0.281250; - size 0.700000 0.750000; - offset 0.000000 0.000000; - advance 0.750000; + texcoords 0.156250 0.242188 0.183594 0.300781; + size 0.700 0.750; + offset 0.000 0.000; + advance 0.750; }; glyph 209 { - texcoords 0.208984 0.222656 0.230469 0.292969; - size 0.550000 0.900000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.208984 0.242188 0.230469 0.312500; + size 0.550 0.900; + offset 0.100 0.000; + advance 0.750; }; glyph 210 { - texcoords 0.253906 0.222656 0.281250 0.296875; - size 0.700000 0.950000; - offset 0.050000 0.000000; - advance 0.800000; + texcoords 0.253906 0.242188 0.281250 0.316406; + size 0.700 0.950; + offset 0.050 0.000; + advance 0.800; }; glyph 211 { - texcoords 0.302734 0.222656 0.330078 0.296875; - size 0.700000 0.950000; - offset 0.050000 0.000000; - advance 0.800000; + texcoords 0.302734 0.242188 0.330078 0.316406; + size 0.700 0.950; + offset 0.050 0.000; + advance 0.800; }; glyph 212 { - texcoords 0.351562 0.222656 0.378906 0.296875; - size 0.700000 0.950000; - offset 0.050000 0.000000; - advance 0.800000; + texcoords 0.351562 0.242188 0.378906 0.316406; + size 0.700 0.950; + offset 0.050 0.000; + advance 0.800; }; glyph 213 { - texcoords 0.400391 0.222656 0.427734 0.292969; - size 0.700000 0.900000; - offset 0.050000 0.000000; - advance 0.800000; + texcoords 0.400391 0.242188 0.427734 0.312500; + size 0.700 0.900; + offset 0.050 0.000; + advance 0.800; }; glyph 214 { - texcoords 0.449219 0.222656 0.476562 0.296875; - size 0.700000 0.950000; - offset 0.050000 0.000000; - advance 0.800000; + texcoords 0.449219 0.242188 0.476562 0.316406; + size 0.700 0.950; + offset 0.050 0.000; + advance 0.800; }; glyph 215 { - texcoords 0.501953 0.226562 0.523438 0.269531; - size 0.550000 0.550000; - offset 0.150000 0.050000; - advance 0.850000; + texcoords 0.501953 0.246094 0.523438 0.289062; + size 0.550 0.550; + offset 0.150 0.050; + advance 0.850; }; glyph 216 { - texcoords 0.544922 0.218750 0.576172 0.285156; - size 0.800000 0.850000; - offset 0.000000 -0.050000; - advance 0.800000; + texcoords 0.544922 0.238281 0.576172 0.304688; + size 0.800 0.850; + offset 0.000 -0.050; + advance 0.800; }; glyph 217 { - texcoords 0.599609 0.222656 0.621094 0.296875; - size 0.550000 0.950000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.599609 0.242188 0.621094 0.316406; + size 0.550 0.950; + offset 0.100 0.000; + advance 0.750; }; glyph 218 { - texcoords 0.648438 0.222656 0.669922 0.296875; - size 0.550000 0.950000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.648438 0.242188 0.669922 0.316406; + size 0.550 0.950; + offset 0.100 0.000; + advance 0.750; }; glyph 219 { - texcoords 0.697266 0.222656 0.718750 0.296875; - size 0.550000 0.950000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.697266 0.242188 0.718750 0.316406; + size 0.550 0.950; + offset 0.100 0.000; + advance 0.750; }; glyph 220 { - texcoords 0.746094 0.222656 0.767578 0.296875; - size 0.550000 0.950000; - offset 0.100000 0.000000; - advance 0.750000; + texcoords 0.746094 0.242188 0.767578 0.316406; + size 0.550 0.950; + offset 0.100 0.000; + advance 0.750; }; glyph 221 { - texcoords 0.792969 0.222656 0.816406 0.296875; - size 0.600000 0.950000; - offset 0.000000 0.000000; - advance 0.600000; + texcoords 0.792969 0.242188 0.816406 0.316406; + size 0.600 0.950; + offset 0.000 0.000; + advance 0.600; }; glyph 222 { - texcoords 0.845703 0.222656 0.863281 0.281250; - size 0.450000 0.750000; - offset 0.100000 0.000000; - advance 0.600000; + texcoords 0.845703 0.242188 0.863281 0.300781; + size 0.450 0.750; + offset 0.100 0.000; + advance 0.600; }; glyph 223 { - texcoords 0.892578 0.222656 0.912109 0.281250; - size 0.500000 0.750000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.892578 0.242188 0.912109 0.300781; + size 0.500 0.750; + offset 0.100 0.000; + advance 0.650; }; glyph 224 { - texcoords 0.943359 0.222656 0.960938 0.285156; - size 0.450000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.943359 0.242188 0.960938 0.304688; + size 0.450 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 225 { - texcoords 0.015625 0.125000 0.033203 0.187500; - size 0.450000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.015625 0.144531 0.033203 0.207031; + size 0.450 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 226 { - texcoords 0.064453 0.125000 0.082031 0.187500; - size 0.450000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.064453 0.144531 0.082031 0.207031; + size 0.450 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 227 { - texcoords 0.113281 0.125000 0.130859 0.187500; - size 0.450000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.113281 0.144531 0.130859 0.207031; + size 0.450 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 228 { - texcoords 0.162109 0.125000 0.179688 0.183594; - size 0.450000 0.750000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.162109 0.144531 0.179688 0.203125; + size 0.450 0.750; + offset 0.050 0.000; + advance 0.600; }; glyph 229 { - texcoords 0.210938 0.125000 0.228516 0.191406; - size 0.450000 0.850000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.210938 0.144531 0.228516 0.210938; + size 0.450 0.850; + offset 0.050 0.000; + advance 0.600; }; glyph 230 { - texcoords 0.251953 0.125000 0.285156 0.167969; - size 0.850000 0.550000; - offset 0.050000 0.000000; - advance 0.950000; + texcoords 0.251953 0.144531 0.285156 0.187500; + size 0.850 0.550; + offset 0.050 0.000; + advance 0.950; }; glyph 231 { - texcoords 0.308594 0.109375 0.326172 0.167969; - size 0.450000 0.750000; - offset 0.050000 -0.200000; - advance 0.550000; + texcoords 0.308594 0.128906 0.326172 0.187500; + size 0.450 0.750; + offset 0.050 -0.200; + advance 0.550; }; glyph 232 { - texcoords 0.355469 0.125000 0.375000 0.187500; - size 0.500000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.355469 0.144531 0.375000 0.207031; + size 0.500 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 233 { - texcoords 0.404297 0.125000 0.423828 0.187500; - size 0.500000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.404297 0.144531 0.423828 0.207031; + size 0.500 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 234 { - texcoords 0.453125 0.125000 0.472656 0.187500; - size 0.500000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.453125 0.144531 0.472656 0.207031; + size 0.500 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 235 { - texcoords 0.501953 0.125000 0.521484 0.183594; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.501953 0.144531 0.521484 0.203125; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.600; }; glyph 236 { - texcoords 0.556641 0.125000 0.566406 0.187500; - size 0.250000 0.800000; - offset -0.050000 0.000000; - advance 0.300000; + texcoords 0.556641 0.144531 0.566406 0.207031; + size 0.250 0.800; + offset -0.050 0.000; + advance 0.300; }; glyph 237 { - texcoords 0.605469 0.125000 0.615234 0.187500; - size 0.250000 0.800000; - offset 0.050000 0.000000; - advance 0.300000; + texcoords 0.605469 0.144531 0.615234 0.207031; + size 0.250 0.800; + offset 0.050 0.000; + advance 0.300; }; glyph 238 { - texcoords 0.652344 0.125000 0.664062 0.187500; - size 0.300000 0.800000; - offset 0.000000 0.000000; - advance 0.300000; + texcoords 0.652344 0.144531 0.664062 0.207031; + size 0.300 0.800; + offset 0.000 0.000; + advance 0.300; }; glyph 239 { - texcoords 0.701172 0.125000 0.712891 0.183594; - size 0.300000 0.750000; - offset 0.000000 0.000000; - advance 0.300000; + texcoords 0.701172 0.144531 0.712891 0.203125; + size 0.300 0.750; + offset 0.000 0.000; + advance 0.300; }; glyph 240 { - texcoords 0.746094 0.125000 0.765625 0.183594; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.746094 0.144531 0.765625 0.203125; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.600; }; glyph 241 { - texcoords 0.796875 0.125000 0.814453 0.187500; - size 0.450000 0.800000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.796875 0.144531 0.814453 0.207031; + size 0.450 0.800; + offset 0.100 0.000; + advance 0.650; }; glyph 242 { - texcoords 0.843750 0.125000 0.863281 0.187500; - size 0.500000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.843750 0.144531 0.863281 0.207031; + size 0.500 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 243 { - texcoords 0.892578 0.125000 0.912109 0.187500; - size 0.500000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.892578 0.144531 0.912109 0.207031; + size 0.500 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 244 { - texcoords 0.941406 0.125000 0.960938 0.187500; - size 0.500000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.941406 0.144531 0.960938 0.207031; + size 0.500 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 245 { - texcoords 0.013672 0.027344 0.033203 0.089844; - size 0.500000 0.800000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.013672 0.046875 0.033203 0.109375; + size 0.500 0.800; + offset 0.050 0.000; + advance 0.600; }; glyph 246 { - texcoords 0.062500 0.027344 0.082031 0.085938; - size 0.500000 0.750000; - offset 0.050000 0.000000; - advance 0.600000; + texcoords 0.062500 0.046875 0.082031 0.105469; + size 0.500 0.750; + offset 0.050 0.000; + advance 0.600; }; glyph 247 { - texcoords 0.109375 0.031250 0.132812 0.070312; - size 0.600000 0.500000; - offset 0.100000 0.050000; - advance 0.850000; + texcoords 0.109375 0.050781 0.132812 0.089844; + size 0.600 0.500; + offset 0.100 0.050; + advance 0.850; }; glyph 248 { - texcoords 0.158203 0.023438 0.181641 0.074219; - size 0.600000 0.650000; - offset 0.000000 -0.050000; - advance 0.600000; + texcoords 0.158203 0.042969 0.181641 0.093750; + size 0.600 0.650; + offset 0.000 -0.050; + advance 0.600; }; glyph 249 { - texcoords 0.210938 0.027344 0.228516 0.089844; - size 0.450000 0.800000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.210938 0.046875 0.228516 0.109375; + size 0.450 0.800; + offset 0.100 0.000; + advance 0.650; }; glyph 250 { - texcoords 0.259766 0.027344 0.277344 0.089844; - size 0.450000 0.800000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.259766 0.046875 0.277344 0.109375; + size 0.450 0.800; + offset 0.100 0.000; + advance 0.650; }; glyph 251 { - texcoords 0.308594 0.027344 0.326172 0.089844; - size 0.450000 0.800000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.308594 0.046875 0.326172 0.109375; + size 0.450 0.800; + offset 0.100 0.000; + advance 0.650; }; glyph 252 { - texcoords 0.357422 0.027344 0.375000 0.085938; - size 0.450000 0.750000; - offset 0.100000 0.000000; - advance 0.650000; + texcoords 0.357422 0.046875 0.375000 0.105469; + size 0.450 0.750; + offset 0.100 0.000; + advance 0.650; }; glyph 253 { - texcoords 0.404297 0.011719 0.425781 0.089844; - size 0.550000 1.000000; - offset 0.000000 -0.200000; - advance 0.550000; + texcoords 0.404297 0.031250 0.425781 0.109375; + size 0.550 1.000; + offset 0.000 -0.200; + advance 0.550; }; glyph 254 { - texcoords 0.453125 0.011719 0.472656 0.085938; - size 0.500000 0.950000; - offset 0.100000 -0.200000; - advance 0.650000; + texcoords 0.453125 0.031250 0.472656 0.105469; + size 0.500 0.950; + offset 0.100 -0.200; + advance 0.650; }; glyph 255 { - texcoords 0.501953 0.011719 0.523438 0.085938; - size 0.550000 0.950000; - offset 0.000000 -0.200000; - advance 0.550000; + texcoords 0.501953 0.031250 0.523438 0.105469; + size 0.550 0.950; + offset 0.000 -0.200; + advance 0.550; }; diff --git a/dejavu-20.png b/dejavu-20.png index 08251db997af2f3ff6e361c41db6580b8764bb75..c5d3c57dc4aac91a0b410d9551e2e425f3d27b07 100644 GIT binary patch literal 16508 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∈YA+!PD% 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 diff --git a/digitalreadout-16.font b/digitalreadout-16.font index 2828761..c0d860c 100644 --- a/digitalreadout-16.font +++ b/digitalreadout-16.font @@ -1,7 +1,7 @@ texture "digitalreadout-16.png"; default_size 16; ascent 0.812; -descent 0.062; +descent -0.250; glyph 32 { texcoords 0.031250 0.898438 0.031250 0.898438; @@ -13,7 +13,7 @@ glyph 33 { texcoords 0.085938 0.898438 0.101562 0.984375; size 0.250 0.688; - offset 0.000 0.000; + offset -0.062 0.000; advance 0.125; }; glyph 34 @@ -53,29 +53,29 @@ glyph 38 }; glyph 39 { - texcoords 0.464844 0.968750 0.472656 0.984375; - size 0.125 0.125; - offset 0.125 0.562; + texcoords 0.460938 0.968750 0.472656 0.984375; + size 0.188 0.125; + offset 0.062 0.562; advance 0.125; }; glyph 40 { - texcoords 0.519531 0.898438 0.542969 0.984375; - size 0.375 0.688; + texcoords 0.519531 0.898438 0.539062 0.984375; + size 0.312 0.688; offset 0.000 0.000; advance 0.250; }; glyph 41 { - texcoords 0.582031 0.898438 0.605469 0.984375; - size 0.375 0.688; + texcoords 0.582031 0.898438 0.601562 0.984375; + size 0.312 0.688; offset 0.000 0.000; advance 0.250; }; glyph 42 { - texcoords 0.640625 0.906250 0.667969 0.976562; - size 0.438 0.562; + texcoords 0.644531 0.906250 0.667969 0.976562; + size 0.375 0.562; offset 0.062 0.062; advance 0.438; }; @@ -88,9 +88,9 @@ glyph 43 }; glyph 44 { - texcoords 0.777344 0.890625 0.785156 0.906250; - size 0.125 0.125; - offset 0.000 -0.062; + texcoords 0.773438 0.890625 0.785156 0.906250; + size 0.188 0.125; + offset -0.062 -0.062; advance 0.125; }; glyph 45 @@ -102,36 +102,36 @@ glyph 45 }; glyph 46 { - texcoords 0.902344 0.898438 0.910156 0.914062; - size 0.125 0.125; - offset 0.000 0.000; + texcoords 0.898438 0.898438 0.910156 0.914062; + size 0.188 0.125; + offset -0.062 0.000; advance 0.125; }; glyph 47 { - texcoords 0.953125 0.906250 0.980469 0.976562; - size 0.438 0.562; + texcoords 0.957031 0.906250 0.980469 0.976562; + size 0.375 0.562; offset 0.062 0.062; advance 0.438; }; glyph 48 { - texcoords 0.011719 0.773438 0.046875 0.859375; - size 0.562 0.688; + texcoords 0.015625 0.773438 0.046875 0.859375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 49 { - texcoords 0.085938 0.781250 0.101562 0.859375; - size 0.250 0.625; - offset 0.312 0.062; + texcoords 0.085938 0.781250 0.097656 0.859375; + size 0.188 0.625; + offset 0.375 0.062; advance 0.438; }; glyph 50 { - texcoords 0.136719 0.773438 0.171875 0.859375; - size 0.562 0.688; + texcoords 0.140625 0.773438 0.171875 0.859375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; @@ -144,8 +144,8 @@ glyph 51 }; glyph 52 { - texcoords 0.265625 0.781250 0.296875 0.859375; - size 0.500 0.625; + texcoords 0.265625 0.781250 0.292969 0.859375; + size 0.438 0.625; offset 0.062 0.062; advance 0.438; }; @@ -172,8 +172,8 @@ glyph 55 }; glyph 56 { - texcoords 0.511719 0.773438 0.546875 0.859375; - size 0.562 0.688; + texcoords 0.515625 0.773438 0.546875 0.859375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; @@ -200,22 +200,22 @@ glyph 59 }; glyph 60 { - texcoords 0.773438 0.781250 0.789062 0.851562; - size 0.250 0.562; + texcoords 0.773438 0.781250 0.785156 0.851562; + size 0.188 0.562; offset 0.250 0.062; advance 0.438; }; glyph 61 { - texcoords 0.828125 0.804688 0.855469 0.828125; - size 0.438 0.188; - offset 0.062 0.250; + texcoords 0.832031 0.804688 0.855469 0.828125; + size 0.375 0.188; + offset 0.125 0.250; advance 0.438; }; glyph 62 { - texcoords 0.898438 0.781250 0.914062 0.851562; - size 0.250 0.562; + texcoords 0.898438 0.781250 0.910156 0.851562; + size 0.188 0.562; offset 0.250 0.062; advance 0.438; }; @@ -223,7 +223,7 @@ glyph 63 { texcoords 0.949219 0.773438 0.984375 0.859375; size 0.562 0.688; - offset 0.000 0.000; + offset -0.062 0.000; advance 0.438; }; glyph 64 @@ -235,8 +235,8 @@ glyph 64 }; glyph 65 { - texcoords 0.074219 0.656250 0.109375 0.734375; - size 0.562 0.625; + texcoords 0.078125 0.656250 0.109375 0.734375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; @@ -284,29 +284,29 @@ glyph 71 }; glyph 72 { - texcoords 0.511719 0.656250 0.546875 0.734375; - size 0.562 0.625; + texcoords 0.515625 0.656250 0.546875 0.734375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 73 { - texcoords 0.585938 0.656250 0.597656 0.726562; - size 0.188 0.562; - offset 0.188 0.062; + texcoords 0.585938 0.656250 0.601562 0.726562; + size 0.250 0.562; + offset 0.125 0.062; advance 0.438; }; glyph 74 { - texcoords 0.636719 0.648438 0.671875 0.734375; - size 0.562 0.688; + texcoords 0.640625 0.648438 0.671875 0.734375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 75 { - texcoords 0.703125 0.648438 0.734375 0.734375; - size 0.500 0.688; + texcoords 0.703125 0.648438 0.730469 0.734375; + size 0.438 0.688; offset 0.000 0.000; advance 0.438; }; @@ -314,48 +314,48 @@ glyph 76 { texcoords 0.769531 0.648438 0.792969 0.734375; size 0.375 0.688; - offset 0.000 0.000; + offset 0.062 0.000; advance 0.438; }; glyph 77 { - texcoords 0.824219 0.656250 0.859375 0.734375; - size 0.562 0.625; + texcoords 0.828125 0.656250 0.859375 0.734375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 78 { - texcoords 0.886719 0.656250 0.921875 0.734375; - size 0.562 0.625; + texcoords 0.890625 0.656250 0.921875 0.734375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 79 { - texcoords 0.949219 0.648438 0.984375 0.734375; - size 0.562 0.688; + texcoords 0.953125 0.648438 0.984375 0.734375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 80 { - texcoords 0.011719 0.531250 0.046875 0.609375; - size 0.562 0.625; + texcoords 0.015625 0.531250 0.046875 0.609375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 81 { - texcoords 0.074219 0.523438 0.109375 0.609375; - size 0.562 0.688; + texcoords 0.078125 0.523438 0.109375 0.609375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 82 { - texcoords 0.136719 0.531250 0.171875 0.609375; - size 0.562 0.625; + texcoords 0.140625 0.531250 0.171875 0.609375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; @@ -375,36 +375,36 @@ glyph 84 }; glyph 85 { - texcoords 0.324219 0.523438 0.359375 0.609375; - size 0.562 0.688; + texcoords 0.328125 0.523438 0.359375 0.609375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 86 { - texcoords 0.390625 0.531250 0.417969 0.609375; - size 0.438 0.625; - offset 0.125 0.062; + texcoords 0.394531 0.531250 0.417969 0.609375; + size 0.375 0.625; + offset 0.188 0.062; advance 0.438; }; glyph 87 { - texcoords 0.449219 0.531250 0.484375 0.609375; - size 0.562 0.625; + texcoords 0.453125 0.531250 0.484375 0.609375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 88 { - texcoords 0.515625 0.531250 0.542969 0.601562; - size 0.438 0.562; + texcoords 0.519531 0.531250 0.542969 0.601562; + size 0.375 0.562; offset 0.062 0.062; advance 0.438; }; glyph 89 { - texcoords 0.578125 0.531250 0.609375 0.609375; - size 0.500 0.625; + texcoords 0.578125 0.531250 0.605469 0.609375; + size 0.438 0.625; offset 0.062 0.062; advance 0.438; }; @@ -417,8 +417,8 @@ glyph 90 }; glyph 91 { - texcoords 0.707031 0.523438 0.730469 0.609375; - size 0.375 0.688; + texcoords 0.707031 0.523438 0.726562 0.609375; + size 0.312 0.688; offset 0.000 0.000; advance 0.250; }; @@ -431,16 +431,16 @@ glyph 92 }; glyph 93 { - texcoords 0.832031 0.523438 0.855469 0.609375; - size 0.375 0.688; + texcoords 0.832031 0.523438 0.851562 0.609375; + size 0.312 0.688; offset 0.000 0.000; advance 0.250; }; glyph 94 { - texcoords 0.894531 0.562500 0.914062 0.601562; - size 0.312 0.312; - offset 0.125 0.312; + texcoords 0.894531 0.562500 0.917969 0.601562; + size 0.375 0.312; + offset 0.062 0.312; advance 0.438; }; glyph 95 @@ -459,8 +459,8 @@ glyph 96 }; glyph 97 { - texcoords 0.074219 0.406250 0.109375 0.484375; - size 0.562 0.625; + texcoords 0.078125 0.406250 0.109375 0.484375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; @@ -508,29 +508,29 @@ glyph 103 }; glyph 104 { - texcoords 0.511719 0.406250 0.546875 0.484375; - size 0.562 0.625; + texcoords 0.515625 0.406250 0.546875 0.484375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 105 { - texcoords 0.585938 0.406250 0.597656 0.476562; - size 0.188 0.562; - offset 0.188 0.062; + texcoords 0.585938 0.406250 0.601562 0.476562; + size 0.250 0.562; + offset 0.125 0.062; advance 0.438; }; glyph 106 { - texcoords 0.636719 0.398438 0.671875 0.484375; - size 0.562 0.688; + texcoords 0.640625 0.398438 0.671875 0.484375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 107 { - texcoords 0.703125 0.398438 0.734375 0.484375; - size 0.500 0.688; + texcoords 0.703125 0.398438 0.730469 0.484375; + size 0.438 0.688; offset 0.000 0.000; advance 0.438; }; @@ -538,48 +538,48 @@ glyph 108 { texcoords 0.769531 0.398438 0.792969 0.484375; size 0.375 0.688; - offset 0.000 0.000; + offset 0.062 0.000; advance 0.438; }; glyph 109 { - texcoords 0.824219 0.406250 0.859375 0.484375; - size 0.562 0.625; + texcoords 0.828125 0.406250 0.859375 0.484375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 110 { - texcoords 0.886719 0.406250 0.921875 0.484375; - size 0.562 0.625; + texcoords 0.890625 0.406250 0.921875 0.484375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 111 { - texcoords 0.949219 0.398438 0.984375 0.484375; - size 0.562 0.688; + texcoords 0.953125 0.398438 0.984375 0.484375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 112 { - texcoords 0.011719 0.281250 0.046875 0.359375; - size 0.562 0.625; + texcoords 0.015625 0.281250 0.046875 0.359375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 113 { - texcoords 0.074219 0.273438 0.109375 0.359375; - size 0.562 0.688; + texcoords 0.078125 0.273438 0.109375 0.359375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 114 { - texcoords 0.136719 0.281250 0.171875 0.359375; - size 0.562 0.625; + texcoords 0.140625 0.281250 0.171875 0.359375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; @@ -599,36 +599,36 @@ glyph 116 }; glyph 117 { - texcoords 0.324219 0.273438 0.359375 0.359375; - size 0.562 0.688; + texcoords 0.328125 0.273438 0.359375 0.359375; + size 0.500 0.688; offset 0.000 0.000; advance 0.438; }; glyph 118 { - texcoords 0.390625 0.281250 0.417969 0.359375; - size 0.438 0.625; - offset 0.125 0.062; + texcoords 0.394531 0.281250 0.417969 0.359375; + size 0.375 0.625; + offset 0.188 0.062; advance 0.438; }; glyph 119 { - texcoords 0.449219 0.281250 0.484375 0.359375; - size 0.562 0.625; + texcoords 0.453125 0.281250 0.484375 0.359375; + size 0.500 0.625; offset 0.000 0.062; advance 0.438; }; glyph 120 { - texcoords 0.515625 0.281250 0.542969 0.351562; - size 0.438 0.562; + texcoords 0.519531 0.281250 0.542969 0.351562; + size 0.375 0.562; offset 0.062 0.062; advance 0.438; }; glyph 121 { - texcoords 0.578125 0.281250 0.609375 0.359375; - size 0.500 0.625; + texcoords 0.578125 0.281250 0.605469 0.359375; + size 0.438 0.625; offset 0.062 0.062; advance 0.438; }; @@ -641,8 +641,8 @@ glyph 122 }; glyph 123 { - texcoords 0.707031 0.273438 0.730469 0.359375; - size 0.375 0.688; + texcoords 0.707031 0.273438 0.726562 0.359375; + size 0.312 0.688; offset 0.000 0.000; advance 0.250; }; @@ -650,13 +650,13 @@ glyph 124 { texcoords 0.773438 0.281250 0.789062 0.351562; size 0.250 0.562; - offset 0.000 0.062; + offset -0.062 0.062; advance 0.125; }; glyph 125 { - texcoords 0.832031 0.273438 0.855469 0.359375; - size 0.375 0.688; + texcoords 0.832031 0.273438 0.851562 0.359375; + size 0.312 0.688; offset 0.000 0.000; advance 0.250; }; diff --git a/digitalreadout-16.png b/digitalreadout-16.png index e9f7684d8910241be3672786d3c4a7e1efdec4d8..2b0602861e7d635ee3dc758dbf29aedd3bf64065 100644 GIT binary patch literal 3540 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 L-0W-ZQ22iVP1@a3 literal 3312 zcmcgv`#%%<|KFH1Cgu_%_i=JbbLrxCOi~j?rxdcxC6{9|moUdPx49*ka;b6DX= zggA4*6xv3KVitBrWGuIh&1aqOknbS^==K%nqXb4D>1c_SLHbOE0u&3#?<8gOf*|#g0oQofngh5I7T2jQ!_qa;T zSyf%w*JvQ~X+%zYoc^=3ndj*H%UQn`_Jq7ImLoNutai@Pd(~(nqjXF8Stm~?#Sx<# zzc-r;kx+V`L`!jW`DT!dCQK%+@004=4tPUt13Ksu&^U*Z{!Btat%Bt#$QP7lsQYrV?{)EKzfsY|Kvffa}a1RR1;9 zV72Xm;@yDUcH;tD%jDL(y#Xn*F1SBJr$Ed87T~O%J-5#e?ZuD1UNS(9$+N@G2wMlx+^ca_ttLu>I{VRa;t!PHi)s37 zSZ=QH;ymo3nhj0ML@NA_#kC&Lna<;WeYR^IWqZ|>#i`6(r}hysA~FEebpe$jz$uSLs473w|C{^450S+1 zymwCXX?MAM$@DcMef;OBLDT)m{8MqfWMlF#mEpZz*YT5=+8s1}_Z`)rZ2rk+Rm`p{ zaXz_S3a|f+tP-qu8+^(?z(JJX?=Hy(a1cn6X}XDrqH>PiHn`-77k~s1{0-CqL#o2I zYU==H7#$7wh`723{jS$a$Q#eY72D!~9%N#GZQ*@Eb$PzyyUFxe9-O#dhy{dOzCfq9Mhp{&s6_e+z< zwdfG;c*h{<2^_(S{IY#I7S%f}MfEW|g`nWLXz2t{p}+e~u;(w&B9Ga1A4D10o$Q}I zVJ{N+eQ8MJ%46G_7>zhJi#dyPDb)s@3C$M^UVMA+25=#><`A*)kSsq-h3(bBQ~Gw@ zar897mh8K}Lw;k9OX9R+=}oNX=hDRiNsv7XaWuIGQ^iD*)aI;du5<(6PtiG2Pb7r&$1F}B>(MyuXgu(= z-#Xc9|7axe)wAG`m))`p=dz+t23gzX@e+=^6_mz%cd^~9N>=vet?u)Pj#$b8yEBTx zDy$n4c$3u&QSxsLbrYn#x311KPW7#~85ZrB5Pd3V`ouP(cj5a;93nu-(tnYXHiM_rXJvab5z!&zpI}fsk5v)Fnz8{ zsy827Ls*l{^#5{VwQ?&JtM5#nZl;HD&CwaZw4k3I^hxoyOM3huu)P``Ns`-N6qYhG z&@_sON-|J>ak35RoBBtZ$Ow$gC@5hTL$!Ykp1>}6s9(QOFLeXr56m<%IIUNKOb~cu z_xyTr2PLbB)e`qKHtn9cd(&h0-e3N~bF&kR{vYA9(YZU9bv{)LgK0q_V<$)6tQq$W z7%V*fjYV8kJR5QI$!>9zXq+$c?P_y_KqETV_=hK8ywA*%2H9T z&?w;s1x}mjapr1vh?Xbr5DbNU$Bc~2im!L+M=@(@F>;fR;(qbuRckMG2O zxs!*Dz+}A9%4xUbr5b4tYg}AW+>lc?WSNyK4Z6R2>wUr-A;SqeZvC5z-PCw_{onSt zIq)kLI~n#(A=YFsr;MjDx!1kveC4(m+}mxX5+h%iCqQb`P;sTxDwC%;jjpnjuWM1BUO_5u_H&1dof9|`@^?v=7tB+5pA2W|T ztk`IVug9k!MN8H46H0JfdnvUmv2B!Ocy+#8f9p8=(lmCVJ@bxYNOS3Tsg#S8<>nO* z17O_Evt@%4sLn+4YD5V>IiZ=RGjk{}ffwP=yWUos_h*>Z4dYTxzqJ0?qlxu7j z=yJ{{B8phD^4nXG_|iH(Pxzd4^SDQ!R_1*u`(6v|%C1@V`X^PjULfc|R1%3&MAccL zgG8zHeSF@+hAbT?s|#Ei5Ar^D_S*ePLA=eNt=9#|=t_@~$^*lKT1b@Y_70??Y=m0r zmNh#%F|6&gzK>l&o#Bp7H4$YtH^pn#KrOZ2bm{p}g_pdt%VFCMs)TmB7IU2`2VY

@?Mw>&Sy92>{Imasv0)N3cm-ZwMoT=p6Q z(9_Q7PHf@xL>FpgtiPs?gJl{K8^;LFfeqZzmNKS-Utc4L1xffQ1YC3`Qf|n;IP%Ud zc7S6HsQaR4R;W?Rk*7<|zL8kDl!(B=wdAdAe0F8~jl$BAXL-^C#FG?zt=I~Ugl_SiPVsMt2)uVrfID8`EXgR7AV#a98HYqy|;l_$~Rur`uy?{1#d4FiXTU}t05ka1+P*LY4D9PSP z_BC;NUk0{;JyM~X28m8)fDJ2@-VoVwRGfUY5P-X*hSi*{I)O`rGQ*3hlq&woqi4N`-x)VD~Q?S52WNo=Kf#i+aHt z0%>UOpS1z1l|P~`=371x6hpGm9ecKo5gF5=V0FGiA0kIFB-^+((AXcV^Il(BA7{SZ z$F`1fs6F>RU;R|aw0;TjOgAB0a0P3P5P>y|5J8>fo1@HiYh{7lZOHWjp5{Aher_G- zBeMV0_fe?I_S&YrCv12d(u2>-hcc}k4%4E4yrP{zTjcx?Oh}TfMA*+meLt!2#ZA}1 zG!sbyP!y$UX^TLt2o%cm#hp;|P&vMMnh@~MVr|_uuxMtF-5NM^Ho7TAwD_9{i&1j^ zzYzb(QHkhSNCWXieUi=V-w6QY3Yg|Kih@Yw!ITyNG(CGRApN~o$6I!$2HkHSN}CV> z?MYBXP?q(HuTWoBv?NR<|04=`2(+o(Jq%k1lektO5&s%p6ip%rQIf+d%Beb)>p>!O z*NH;Fg`qf-ivU=Qm-TbZ5Lxw@hprU!R?q&I9!~ dNfG+F%nb_jT7qq!#~!DIN(x zeo#G60FZ^#4)f4_q=>4`-an`FPtvQF2ouqvtZl@g2uVFWbsepa=(LcBY)MglND;^7 hG6DZC7ymOTgwjh2=lNyi*FQcqr%$>%zHsnO`4?0uV|D-l diff --git a/engineer.res b/engineer.res index 191663f..7f75ae4 100644 --- a/engineer.res +++ b/engineer.res @@ -1,226 +1,293 @@ -font "dejavu-12.font"; -font "digitalreadout-16.font"; +default_font "dejavu-12.font"; -texture "gui.png"; - -graphic "button" +graphic "greybutton" { - texture "gui"; - slice 8 112 21 10; + texture "gui.png"; + slice 0 54 21 10; border { top 2; right 3; bottom 4; left 2; }; shadow { top 0; right 1; bottom 2; left 0; }; }; -graphic "buttondown" +graphic "greybuttondown" { - texture "gui"; - slice 38 112 21 10; + texture "gui.png"; + slice 24 54 21 10; border { top 2; right 3; bottom 4; left 2; }; shadow { top 0; right 1; bottom 2; left 0; }; }; graphic "greenbutton" { - texture "gui"; - slice 8 97 21 10; + texture "gui.png"; + slice 0 42 21 10; border { top 2; right 3; bottom 4; left 2; }; shadow { top 0; right 1; bottom 2; left 0; }; }; graphic "greenbuttondown" { - texture "gui"; - slice 38 97 21 10; + texture "gui.png"; + slice 24 42 21 10; border { top 2; right 3; bottom 4; left 2; }; shadow { top 0; right 1; bottom 2; left 0; }; }; graphic "redbutton" { - texture "gui"; - slice 8 82 21 10; + texture "gui.png"; + slice 0 30 21 10; border { top 2; right 3; bottom 4; left 2; }; shadow { top 0; right 1; bottom 2; left 0; }; }; graphic "redbuttondown" { - texture "gui"; - slice 38 82 21 10; + texture "gui.png"; + slice 24 30 21 10; border { top 2; right 3; bottom 4; left 2; }; shadow { top 0; right 1; bottom 2; left 0; }; }; -graphic "panel" +graphic "panelbg" +{ + texture "gui.png"; + slice 0 68 30 20; + border { top 2; right 2; bottom 2; left 2; }; +}; + +graphic "entrybg" { - texture "gui"; - slice 8 158 30 20; + texture "gui.png"; + slice 32 72 20 16; border { top 2; right 2; bottom 2; left 2; }; }; +graphic "entrycursor" +{ + texture "gui.png"; + slice 54 74 2 12; +}; + +graphic "yellowlamp" +{ + texture "gui.png"; + slice 30 102 12 12; +}; + +graphic "yellowlamplit" +{ + texture "gui.png"; + slice 30 116 12 12; +}; + graphic "greenlamp" { - texture "gui"; - slice 87 222 12 12; + texture "gui.png"; + slice 44 102 12 12; }; graphic "greenlamplit" { - texture "gui"; - slice 87 236 12 12; + texture "gui.png"; + slice 44 116 12 12; }; graphic "redlamp" { - texture "gui"; - slice 101 222 12 12; + texture "gui.png"; + slice 58 102 12 12; }; graphic "redlamplit" { - texture "gui"; - slice 101 236 12 12; + texture "gui.png"; + slice 58 116 12 12; }; graphic "digidisplay" { - texture "gui"; - slice 14 226 48 24; + texture "gui.png"; + slice 0 108 28 20; border { top 5; right 5; bottom 5; left 5; }; }; graphic "hsliderslot" { - texture "gui"; - slice 8 188 60 10; + texture "gui.png"; + slice 0 90 60 10; border { top 0; right 5; bottom 0; left 5; }; }; -graphic "hslider" +graphic "hsliderknob" { - texture "gui"; - slice 73 105 32 13; + texture "gui.png"; + slice 0 15 32 13; shadow { top 0; right 2; bottom 3; left 0; }; }; -style "button" "" +style "button" { font_color 0 0 0; - part "button" + part { - graphic normal "button"; - graphic active "buttondown"; - align 0 -1; - fill false false; + graphic NORMAL "greybutton"; + graphic ACTIVE "greybuttondown"; + align 0.5 0.0; + fill 0.0 0.0; }; - part "text" + special "text" { - align 0 1; + align 0.5 1.0; + fill 0.0 0.0; }; }; -style "button" "green" +style "button-green" { font_color 0 0 0; - part "button" + part { - graphic normal "greenbutton"; - graphic active "greenbuttondown"; - align 0 -1; - fill false false; + graphic NORMAL "greenbutton"; + graphic ACTIVE "greenbuttondown"; + align 0.5 0.0; + fill 0.0 0.0; }; - part "text" + special "text" { - align 0 1; + align 0.5 1.0; + fill 0.0 0.0; }; }; -style "button" "red" +style "button-red" { font_color 0 0 0; - part "button" + part { - graphic normal "redbutton"; - graphic active "redbuttondown"; - align 0 -1; - fill false false; + graphic NORMAL "redbutton"; + graphic ACTIVE "redbuttondown"; + align 0.5 0.0; + fill 0.0 0.0; }; - part "text" + special "text" { - align 0 1; + align 0.5 1.0; + fill 0.0 0.0; }; }; -style "panel" "" +style "panel" { - part "background" + part { - graphic normal "panel"; + graphic NORMAL "panelbg"; }; - part "children"; + special "children"; }; -style "indicator" ""; +style "indicator" +{ + part + { + graphic NORMAL "yellowlamp"; + graphic ACTIVE "yellowlamplit"; + align 0.5 0.5; + fill 0.0 0.0; + }; +}; -style "indicator" "green" +style "indicator-green" { - part "lamp" + part { - graphic normal "greenlamp"; - graphic active "greenlamplit"; - fill false false; + graphic NORMAL "greenlamp"; + graphic ACTIVE "greenlamplit"; + align 0.5 0.5; + fill 0.0 0.0; }; }; -style "indicator" "red" +style "indicator-red" { - part "lamp" + part { - graphic normal "redlamp"; - graphic active "redlamplit"; - fill false false; + graphic NORMAL "redlamp"; + graphic ACTIVE "redlamplit"; + align 0.5 0.5; + fill 0.0 0.0; }; }; -style "label" "" +style "label" { font_color 0 0 0; - part "text"; + special "text"; }; -style "label" "digital" +style "label-digital" { - font "digitalreadout-16"; + font "digitalreadout-16.font"; font_color 0.3 1 0.3; - part "background" + part { - graphic normal "digidisplay"; + graphic NORMAL "digidisplay"; }; - part "text" + special "text" { - fill false false; - align 0 0; + fill 0.0 0.0; + align 0.5 0.5; }; }; -style "hslider" "" +style "hslider" { - part "background" + part { - graphic normal "hsliderslot"; - fill true false; + graphic NORMAL "hsliderslot"; + fill 1.0 0.0; }; - part "slider" + special "slider" { - graphic normal "hslider"; + graphic NORMAL "hsliderknob"; + fill 0.0 0.0; }; }; + +style "entry" +{ + font_color 0 0 0; + + part + { + graphic NORMAL "entrybg"; + }; + + special "text" + { + align 0.0 0.5; + fill 0.0 0.0; + margin { left 3; right 3; }; + }; + + special "cursor" + { + graphic FOCUS "entrycursor"; + align 0.0 0.5; + fill 0.0 0.0; + margin { left 3; right 3; }; + }; +}; + +style "root" +{ + special "children"; +}; diff --git a/gui.png b/gui.png index 3457c029b85b6cbd1debcdfbf793b5bc4066397b..cb71fa154c327fdca7e46e41667c28c33e534916 100644 GIT binary patch literal 2941 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 diff --git a/source/engineer/engineer.cpp b/source/engineer/engineer.cpp index d57deb7..d5f8495 100644 --- a/source/engineer/engineer.cpp +++ b/source/engineer/engineer.cpp @@ -1,10 +1,13 @@ #include #include -#include #include #include #include +#include +#include +#include #include +#include #include #include #include @@ -91,14 +94,13 @@ Engineer::~Engineer() Train *Engineer::add_train(unsigned addr) { - /*if(control.get_locomotive(addr)) - return 0;*/ - if(addr==0) { train_prop=new TrainProperties(*this, ui_res, 0); + root->add(*train_prop); train_prop->signal_ok.connect(sigc::mem_fun(this, &Engineer::dismiss_train_prop)); train_prop_stale=false; + train_prop->set_visible(true); return 0; } @@ -108,18 +110,18 @@ Train *Engineer::add_train(unsigned addr) Train *train=new Train(*trfc_mgr, *loco); train->set_name(format("Train %d", trfc_mgr->get_trains().size())); - //train_prop=new TrainProperties(ui_res, *train); - TrainPanel *tpanel=new TrainPanel(*this, ui_res, *train); + root->add(*tpanel); int y=main_panel->get_geometry().y; for(TrainPanelSeq::iterator i=train_panels.begin(); i!=train_panels.end(); ++i) y-=(*i)->get_geometry().h; tpanel->set_position(0, y-tpanel->get_geometry().h); train_panels.push_back(tpanel); + tpanel->set_visible(true); placing_train=train; placing_block=0; - status_text="Select train location"; + main_panel->set_status_text("Select location"); return train; } @@ -127,24 +129,22 @@ Train *Engineer::add_train(unsigned addr) int Engineer::main() { - SDL_Init(SDL_INIT_VIDEO); - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); - SDL_Surface *screen=SDL_SetVideoMode(screen_w, screen_h, 32, SDL_OPENGL|(fullscreen?SDL_FULLSCREEN:0)); - if(!screen) - { - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 0); - screen=SDL_SetVideoMode(screen_w, screen_h, 32, SDL_OPENGL|(fullscreen?SDL_FULLSCREEN:0)); - } - if(!screen) - { - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 0); - screen=SDL_SetVideoMode(screen_w, screen_h, 32, SDL_OPENGL|(fullscreen?SDL_FULLSCREEN:0)); - } - if(!screen) - throw Exception("Couldn't create window"); + dpy=new Graphics::Display; + + Graphics::WindowOptions wopt; + wopt.width=screen_w; + wopt.height=screen_h; + wopt.fullscreen=fullscreen; + wnd=new Graphics::Window(*dpy, wopt); + + Graphics::GLOptions glopt; + //glopt.multisample=4; + glc=new Graphics::GLContext(*wnd, glopt); - SDL_EnableUNICODE(1); + wnd->signal_close.connect(sigc::bind(sigc::mem_fun(this, &Engineer::exit), 0)); + wnd->signal_button_press.connect(sigc::mem_fun(this, &Engineer::button_press)); + wnd->signal_button_release.connect(sigc::mem_fun(this, &Engineer::button_release)); + wnd->signal_pointer_motion.connect(sigc::mem_fun(this, &Engineer::pointer_motion)); glEnableClientState(GL_VERTEX_ARRAY); glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); @@ -154,48 +154,38 @@ int Engineer::main() glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); DataFile::load(ui_res, "engineer.res"); + root=new GLtk::Root(ui_res, *wnd); + root->set_visible(true); + + list texs=ui_res.get_list(); + for(list::iterator i=texs.begin(); i!=texs.end(); ++i) + { + (*i)->set_min_filter(GL::NEAREST); + (*i)->set_mag_filter(GL::NEAREST); + } + main_panel=new MainPanel(*this, ui_res); + root->add(*main_panel); main_panel->set_position(0, screen_h-main_panel->get_geometry().h); + main_panel->set_visible(true); - Application::main(); + wnd->show(); - delete main_panel; - for(TrainPanelSeq::iterator i=train_panels.begin(); i!=train_panels.end(); ++i) - delete *i; + Application::main(); - SDL_Quit(); + delete glc; + delete wnd; + delete dpy; return exit_code; } void Engineer::tick() { - //cout<<"tick\n"; - - SDL_Event event; - while(SDL_PollEvent(&event)) - { - switch(event.type) - { - case SDL_MOUSEBUTTONDOWN: - button_press(event.button.x, screen_h-1-event.button.y, event.button.button); - break; - case SDL_MOUSEBUTTONUP: - button_release(event.button.x, screen_h-1-event.button.y, event.button.button); - break; - case SDL_MOUSEMOTION: - pointer_motion(event.motion.x, screen_h-1-event.motion.y); - break; - case SDL_KEYDOWN: - key_press(event.key.keysym.sym, event.key.keysym.mod, event.key.keysym.unicode); - break; - case SDL_QUIT: - exit(0); - break; - } - } + dpy->tick(); control.tick(); + trfc_mgr->tick(); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); @@ -238,41 +228,42 @@ void Engineer::tick() if(placing_train && placing_block) { + GL::push_matrix(); + const Marklin::Block::Endpoint &bep=placing_block->get_endpoints()[placing_entry]; float rot=bep.track->get_endpoint_direction(bep.track_ep); Point pos=bep.track->get_endpoint_position(bep.track_ep); - GL::push_matrix(); + GL::translate(pos.x, pos.y, pos.z+0.03); GL::rotate(rot*180/M_PI+180, 0, 0, 1); GL::Texture::unbind(); - glColor4f(1, 1, 1, 1); - glBegin(GL_TRIANGLE_FAN); - glVertex2f(0.08, 0); - glVertex2f(0.05, 0.03); - glVertex2f(0.05, 0.01); - glVertex2f(0, 0.01); - glVertex2f(0, -0.01); - glVertex2f(0.05, -0.01); - glVertex2f(0.05, -0.03); - glEnd(); + + GL::Immediate imm((GL::COLOR4_UBYTE, GL::VERTEX2)); + imm.color(1.0f, 1.0f, 1.0f); + imm.begin(GL::TRIANGLE_FAN); + imm.vertex(0.08, 0); + imm.vertex(0.05, 0.03); + imm.vertex(0.05, 0.01); + imm.vertex(0, 0.01); + imm.vertex(0, -0.01); + imm.vertex(0.05, -0.01); + imm.vertex(0.05, -0.03); + imm.end(); + GL::pop_matrix(); } - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrtho(0, screen_w, 0, screen_h, 0, 1); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); + GL::matrix_mode(GL::PROJECTION); + GL::load_identity(); + GL::ortho_bottomleft(screen_w, screen_h); + GL::matrix_mode(GL::MODELVIEW); + GL::load_identity(); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); glDisable(GL_MULTISAMPLE); - main_panel->render(); - for(TrainPanelSeq::iterator i=train_panels.begin(); i!=train_panels.end(); ++i) - (*i)->render(); - if(train_prop) - train_prop->render(); + root->render(); if(train_prop_stale) { @@ -280,14 +271,7 @@ void Engineer::tick() train_prop=0; } - const GL::Font &font=ui_res.get_default_font(); - GL::load_identity(); - GL::translate(340, 10, 0); - GL::scale_uniform(font.get_default_size()); - glColor4f(1, 1, 1, 1); - font.draw_string(status_text); - - SDL_GL_SwapBuffers(); + glc->swap_buffers(); } void Engineer::key_press(unsigned key, unsigned mod, wchar_t ch) @@ -296,25 +280,8 @@ void Engineer::key_press(unsigned key, unsigned mod, wchar_t ch) train_prop->key_press(key, mod, ch); } -void Engineer::button_press(int x, int y, unsigned btn) +void Engineer::button_press(int x, int y, unsigned btn, unsigned) { - if(main_panel->get_geometry().is_inside(x, y)) - { - main_panel->button_press(x, y-main_panel->get_geometry().y, btn); - return; - } - for(TrainPanelSeq::iterator i=train_panels.begin(); i!=train_panels.end(); ++i) - if((*i)->get_geometry().is_inside(x, y)) - { - (*i)->button_press(x, y, btn); - return; - } - if(train_prop && train_prop->get_geometry().is_inside(x, y)) - { - train_prop->button_press(x, y, btn); - return; - } - if(placing_train) { if(btn==1 && placing_block) @@ -323,6 +290,7 @@ void Engineer::button_press(int x, int y, unsigned btn) placing_train->place(placing_block, placing_entry); placing_train=0; + main_panel->set_status_text(string()); } else if(btn==3) { @@ -332,7 +300,7 @@ void Engineer::button_press(int x, int y, unsigned btn) } else { - Track3D *track=pick_track(x, y); + Track3D *track=pick_track(x, screen_h-y-1); if(track) { if(unsigned tid=track->get_track().get_turnout_id()) @@ -352,66 +320,32 @@ void Engineer::button_press(int x, int y, unsigned btn) } } -void Engineer::button_release(int x, int y, unsigned btn) +void Engineer::button_release(int, int, unsigned, unsigned) { - if(main_panel->get_geometry().is_inside(x, y)) - { - main_panel->button_release(x, y-main_panel->get_geometry().y, btn); - return; - } - for(TrainPanelSeq::iterator i=train_panels.begin(); i!=train_panels.end(); ++i) - if((*i)->get_geometry().is_inside(x, y)) - { - (*i)->button_release(x, y, btn); - return; - } - if(train_prop && train_prop->get_geometry().is_inside(x, y)) - { - train_prop->button_release(x, y, btn); - return; - } } void Engineer::pointer_motion(int x, int y) { - if(main_panel->get_geometry().is_inside(x, y)) - { - main_panel->pointer_motion(x, y); - return; - } - for(TrainPanelSeq::iterator i=train_panels.begin(); i!=train_panels.end(); ++i) - if((*i)->get_geometry().is_inside(x, y)) - { - (*i)->pointer_motion(x, y); - return; - } - if(train_prop && train_prop->get_geometry().is_inside(x, y)) - { - train_prop->pointer_motion(x, y); - return; - } - - Track3D *track=pick_track(x, y); - if(track && placing_train) + if(placing_train) { - Block *block=trfc_mgr->get_block_by_track(&track->get_track()); - if(block!=placing_block) + Track3D *track=pick_track(x, screen_h-y-1); + if(track && placing_train) { - if(placing_block) - set_block_color(*placing_block, Color(1, 1, 1)); - placing_block=block; - placing_entry=0; - set_block_color(*placing_block, Color(0.5, 1, 0.7)); + Block &block=trfc_mgr->get_block_by_track(track->get_track()); + if(&block!=placing_block) + { + if(placing_block) + set_block_color(*placing_block, Color(1, 1, 1)); + placing_block=█ + placing_entry=0; + set_block_color(*placing_block, Color(0.5, 1, 0.7)); + } } + else if(track && track->get_track().get_turnout_id()) + main_panel->set_status_text(format("Turnout %d", track->get_track().get_turnout_id())); + else if(!placing_train) + main_panel->set_status_text(string()); } - else if(track && track->get_track().get_turnout_id()) - { - ostringstream ss; - ss<<"Turnout "<get_track().get_turnout_id(); - status_text=ss.str(); - } - else if(!placing_train) - status_text=""; } void Engineer::view_all() @@ -471,8 +405,11 @@ void Engineer::sensor_event(bool state, Sensor *sensor) for(list::const_iterator i=ltracks.begin(); i!=ltracks.end(); ++i) if((*i)->get_track().get_sensor_id()==sensor->get_address()) { + Block &block=trfc_mgr->get_block_by_track((*i)->get_track()); if(state) (*i)->set_color(Color(1, 0.5, 0.3)); + else if(block.get_train()) + set_block_color(block, Color(1, 1, 0.3)); else (*i)->set_color(Color(1, 1, 1)); } @@ -483,7 +420,6 @@ void Engineer::block_reserved(const Block &block, const Train *train) if(unsigned sid=block.get_sensor_id()) { Sensor &sensor=control.get_sensor(sid); - cout< +#include #include #include +#include #include "libmarklin/catalogue.h" #include "libmarklin/control.h" #include "libmarklin/trafficmanager.h" @@ -27,6 +29,10 @@ public: private: typedef std::list TrainPanelSeq; + Msp::Graphics::Display *dpy; + Msp::Graphics::Window *wnd; + Msp::Graphics::GLContext *glc; + Msp::GLtk::Root *root; unsigned screen_w; unsigned screen_h; bool fullscreen; @@ -39,7 +45,6 @@ private: Msp::GLtk::Resources ui_res; MainPanel *main_panel; TrainPanelSeq train_panels; - std::string status_text; bool no_lighting; Marklin::TrafficManager *trfc_mgr; Marklin::Train *placing_train; @@ -51,8 +56,8 @@ private: void tick(); void key_press(unsigned, unsigned, wchar_t); - void button_press(int, int, unsigned); - void button_release(int, int, unsigned); + void button_press(int, int, unsigned, unsigned); + void button_release(int, int, unsigned, unsigned); void pointer_motion(int, int); void view_all(); void set_block_color(const Marklin::Block &, const Marklin::Color &); diff --git a/source/engineer/mainpanel.cpp b/source/engineer/mainpanel.cpp index c471b96..c89060a 100644 --- a/source/engineer/mainpanel.cpp +++ b/source/engineer/mainpanel.cpp @@ -2,6 +2,7 @@ #include "engineer.h" #include "mainpanel.h" +using namespace std; using namespace Msp; MainPanel::MainPanel(Engineer &e, GLtk::Resources &r): @@ -36,15 +37,24 @@ MainPanel::MainPanel(Engineer &e, GLtk::Resources &r): btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::quit)); add(*(btn=new GLtk::Button(res, "+Loc"))); - btn->set_geometry(GLtk::Geometry(10, 10, 40, 25)); + btn->set_geometry(GLtk::Geometry(90, 53, 40, 25)); btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::new_loc)); + add(*(lbl_status=new GLtk::Label(res))); + lbl_status->set_geometry(GLtk::Geometry(10, 10, 180, 24)); + lbl_status->set_style("digital"); + if(engineer.get_control().get_power()) ind_on->set_active(true); else ind_off->set_active(true); } +void MainPanel::set_status_text(const string &txt) +{ + lbl_status->set_text(txt); +} + void MainPanel::power_on() { engineer.get_control().set_power(true); diff --git a/source/engineer/mainpanel.h b/source/engineer/mainpanel.h index 3d9a2b7..091d970 100644 --- a/source/engineer/mainpanel.h +++ b/source/engineer/mainpanel.h @@ -2,6 +2,7 @@ #define MAINPANEL_H_ #include +#include #include class Engineer; @@ -10,10 +11,12 @@ class MainPanel: public Msp::GLtk::Panel { public: MainPanel(Engineer &, Msp::GLtk::Resources &); + void set_status_text(const std::string &); private: Engineer &engineer; Msp::GLtk::Indicator *ind_on; Msp::GLtk::Indicator *ind_off; + Msp::GLtk::Label *lbl_status; void power_on(); void power_off(); diff --git a/source/engineer/trainpanel.cpp b/source/engineer/trainpanel.cpp index be27cd4..4dec1af 100644 --- a/source/engineer/trainpanel.cpp +++ b/source/engineer/trainpanel.cpp @@ -15,7 +15,7 @@ TrainPanel::TrainPanel(Engineer &e, const GLtk::Resources &r, Train &t): add(*(lbl_addr=new GLtk::Label(res, lexical_cast(train.get_locomotive().get_address(), "%2d")))); lbl_addr->set_style("digital"); - lbl_addr->set_geometry(GLtk::Geometry(10, geom.h-34, 35, 34)); + lbl_addr->set_geometry(GLtk::Geometry(10, geom.h-34, 35, 24)); add(*(lbl_name=new GLtk::Label(res, train.get_name()))); lbl_name->set_style("digital"); @@ -23,14 +23,14 @@ TrainPanel::TrainPanel(Engineer &e, const GLtk::Resources &r, Train &t): train.signal_name_changed.connect(sigc::mem_fun(lbl_name, &GLtk::Label::set_text)); add(*(sld_speed=new GLtk::HSlider(res))); - sld_speed->set_geometry(GLtk::Geometry(10, geom.h-49, 180, 10)); + sld_speed->set_geometry(GLtk::Geometry(50, geom.h-56, geom.w-60, 10)); sld_speed->set_range(0, 14); sld_speed->set_step(1); sld_speed->signal_value_changed.connect(sigc::mem_fun(this, &TrainPanel::speed_slider_changed)); add(*(lbl_speed=new GLtk::Label(res, " 0"))); lbl_speed->set_style("digital"); - lbl_speed->set_geometry(GLtk::Geometry(10, geom.h-75, 35, 24)); + lbl_speed->set_geometry(GLtk::Geometry(10, geom.h-63, 35, 24)); train.get_locomotive().signal_speed_changed.connect(sigc::mem_fun(this, &TrainPanel::loco_speed_changed)); GLtk::Button *btn; diff --git a/source/libmarklin/block.cpp b/source/libmarklin/block.cpp index 3bd251f..0106a50 100644 --- a/source/libmarklin/block.cpp +++ b/source/libmarklin/block.cpp @@ -14,7 +14,7 @@ namespace Marklin { Block::Block(TrafficManager &tm, Track &start): trfc_mgr(tm), id(next_id++), - sensor_id(0), + sensor_id(start.get_sensor_id()), train(0) { tracks.insert(&start); @@ -31,7 +31,7 @@ Block::Block(TrafficManager &tm, Track &start): for(unsigned i=0; iget_sensor_id()==start.get_sensor_id()) + if(links[i]->get_sensor_id()==sensor_id) { queue.push_back(links[i]); tracks.insert(links[i]); @@ -123,7 +123,10 @@ bool Block::reserve(const Train *t) if(!t || !train) { train=t; - cout<<"Block "<routes|=route; } } - - visited.erase(--visited.end()); } unsigned Block::next_id=1; diff --git a/source/libmarklin/block.h b/source/libmarklin/block.h index f18ba8d..186f0f1 100644 --- a/source/libmarklin/block.h +++ b/source/libmarklin/block.h @@ -41,6 +41,7 @@ public: void check_link(Block &); Block *get_link(unsigned) const; bool reserve(const Train *); + const Train *get_train() const { return train; } void print_debug(); private: void find_routes(Track &, unsigned, unsigned, std::set &); diff --git a/source/libmarklin/control.cpp b/source/libmarklin/control.cpp index 02b8f0f..6e82614 100644 --- a/source/libmarklin/control.cpp +++ b/source/libmarklin/control.cpp @@ -138,6 +138,8 @@ void Control::tick() for(map::const_iterator i=sensors.begin(); i!=sensors.end(); ++i) i->second->tick(); + timer.tick(false); + if(t>next_event_query) { next_event_query=t+300*Time::msec; @@ -325,14 +327,14 @@ void Control::sensor_event_done(Error, const string &resp) for(unsigned i=0; resp[i]; i+=3) { unsigned module=(unsigned char)resp[i]; + cout<<"S88 module "<>(7-j%8))&1; - cout<>(7-j%8))&1); cout<<'\n'; + + for(unsigned j=0; j<16; ++j) + signal_sensor_event.emit(module*16+j-15, (resp[i+1+j/8]>>(7-j%8))&1); } } diff --git a/source/libmarklin/sensor.cpp b/source/libmarklin/sensor.cpp index 6c21365..ff9594d 100644 --- a/source/libmarklin/sensor.cpp +++ b/source/libmarklin/sensor.cpp @@ -30,7 +30,7 @@ void Sensor::sensor_event(unsigned a, bool s) } } else - off_timeout=Time::now()+Time::sec; + off_timeout=Time::now()+0.5*Time::sec; } } diff --git a/source/libmarklin/trafficmanager.cpp b/source/libmarklin/trafficmanager.cpp index cc2089b..096d675 100644 --- a/source/libmarklin/trafficmanager.cpp +++ b/source/libmarklin/trafficmanager.cpp @@ -1,9 +1,11 @@ +#include #include "control.h" #include "layout.h" #include "trafficmanager.h" #include "turnout.h" using namespace std; +using namespace Msp; namespace Marklin { @@ -46,16 +48,16 @@ TrafficManager::~TrafficManager() delete *i; } -Block *TrafficManager::get_block_by_track(const Track *t) const +Block &TrafficManager::get_block_by_track(const Track &t) const { for(BlockSeq::const_iterator i=blocks.begin(); i!=blocks.end(); ++i) { const set &tracks=(*i)->get_tracks(); - if(tracks.count(const_cast(t))) - return *i; + if(tracks.count(const_cast(&t))) + return **i; } - return 0; + throw InvalidParameterValue("Unknown track"); } void TrafficManager::add_train(Train *t) @@ -64,6 +66,14 @@ void TrafficManager::add_train(Train *t) trains.push_back(t); } +void TrafficManager::tick() +{ + Time::TimeStamp t=Time::now(); + + for(list::iterator i=trains.begin(); i!=trains.end(); ++i) + (*i)->tick(t); +} + void TrafficManager::turnout_route_changed(unsigned, Turnout *) { } diff --git a/source/libmarklin/trafficmanager.h b/source/libmarklin/trafficmanager.h index 9db9444..2707e09 100644 --- a/source/libmarklin/trafficmanager.h +++ b/source/libmarklin/trafficmanager.h @@ -19,9 +19,10 @@ public: ~TrafficManager(); Control &get_control() const { return control; } - Block *get_block_by_track(const Track *) const; + Block &get_block_by_track(const Track &) const; const TrainSeq &get_trains() const { return trains; } void add_train(Train *); + void tick(); private: Control &control; Layout &layout; diff --git a/source/libmarklin/train.cpp b/source/libmarklin/train.cpp index c2e278c..c424481 100644 --- a/source/libmarklin/train.cpp +++ b/source/libmarklin/train.cpp @@ -1,7 +1,11 @@ +#include +#include #include "control.h" #include "trafficmanager.h" #include "train.h" +using namespace Msp; + #include using namespace std; @@ -29,7 +33,13 @@ void Train::set_name(const string &n) void Train::set_speed(unsigned speed) { target_speed=speed; - if(rsv_blocks.empty() && !reserve_more()) + if(!target_speed) + { + for(list::iterator i=rsv_blocks.begin(); i!=rsv_blocks.end(); ++i) + i->block->reserve(0); + rsv_blocks.clear(); + } + else if(rsv_blocks.empty() && !reserve_more()) return; loco.set_speed(speed); } @@ -70,6 +80,20 @@ bool Train::free_block(Block *block) return false; } +void Train::tick(const Time::TimeStamp &t) +{ + if(try_reserve && t>try_reserve) + { + if(reserve_more()) + { + loco.set_speed(target_speed); + try_reserve=Time::TimeStamp(); + } + else + try_reserve=t+2*Time::sec; + } +} + void Train::sensor_event(bool state, Sensor *sensor) { if(!loco.get_speed()) @@ -85,27 +109,29 @@ void Train::sensor_event(bool state, Sensor *sensor) break; cur_blocks.splice(cur_blocks.end(), rsv_blocks, rsv_blocks.begin(), i); - cout<<"Train advanced, "<::iterator i; for(i=cur_blocks.begin(); i!=cur_blocks.end(); ++i) - if(i->block->get_sensor_id()==addr) - break; - if(i!=cur_blocks.end()) { - cout<<"found\n"; - ++i; - for(list::iterator j=cur_blocks.begin(); j!=i; ++j) - j->block->reserve(0); - cur_blocks.erase(cur_blocks.begin(), i); - cout<block->get_sensor_id()==addr) + { + ++i; + for(list::iterator j=cur_blocks.begin(); j!=i; ++j) + j->block->reserve(0); + cout<<" "<block->traverse(last->entry); if(exit>=0) { Block *link=last->block->get_link(exit); - if(link) + if(link && link->reserve(this)) { rsv_blocks.push_back(BlockRef(link, link->get_endpoint_by_link(*last->block))); last=&rsv_blocks.back(); ++size; result=true; } + else + break; } else break; } + cout<<" "< #include +#include #include "block.h" namespace Marklin { @@ -28,6 +29,7 @@ private: std::list cur_blocks; std::list rsv_blocks; unsigned target_speed; + Msp::Time::TimeStamp try_reserve; public: sigc::signal signal_name_changed; @@ -39,7 +41,7 @@ public: Locomotive &get_locomotive() const { return loco; } void place(Block *, unsigned); bool free_block(Block *); - void tick(); + void tick(const Msp::Time::TimeStamp &); private: void sensor_event(bool, Sensor *); bool reserve_more(); -- 2.43.0