]> git.tdb.fi Git - r2c2.git/commitdiff
Convert engineer to use mspgbase instead of SDL
authorMikko Rasa <tdb@tdb.fi>
Sat, 31 May 2008 10:59:14 +0000 (10:59 +0000)
committerMikko Rasa <tdb@tdb.fi>
Sat, 31 May 2008 10:59:14 +0000 (10:59 +0000)
Trains periodically try to continue if blocked by another train
Improve engineer GUI layout
Some bugfixes and tweaks

22 files changed:
Build
dejavu-12.font
dejavu-12.png
dejavu-20.font
dejavu-20.png
digitalreadout-16.font
digitalreadout-16.png
engineer.res
gui.png
source/engineer/engineer.cpp
source/engineer/engineer.h
source/engineer/mainpanel.cpp
source/engineer/mainpanel.h
source/engineer/trainpanel.cpp
source/libmarklin/block.cpp
source/libmarklin/block.h
source/libmarklin/control.cpp
source/libmarklin/sensor.cpp
source/libmarklin/trafficmanager.cpp
source/libmarklin/trafficmanager.h
source/libmarklin/train.cpp
source/libmarklin/train.h

diff --git a/Build b/Build
index 4d5196158eb925f51bc4705a104d91a9cb9b6ab6..79f02e589286f9ab9c9d4340f21941fa555aaa6a 100644 (file)
--- 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";
index 8d7e90252d4949639c1eb14058810cff5e39f507..027479f6110c464188e48e0cfd0bff6111395edf 100644 (file)
 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;
index 66fc386e4f42850ba7b8c206ee66840850286aa4..234afc6c14bb6add8ab84f39ddf5e9a6a3468d51 100644 (file)
Binary files a/dejavu-12.png and b/dejavu-12.png differ
index 17170ce0c1bde0269b8563ad2329a8ec122e3808..98f1401f56a45f6418a76ff5da480ab0758a031a 100644 (file)
-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;
 };
index 08251db997af2f3ff6e361c41db6580b8764bb75..c5d3c57dc4aac91a0b410d9551e2e425f3d27b07 100644 (file)
Binary files a/dejavu-20.png and b/dejavu-20.png differ
index 28287615f4f8484b486908e13e99902cacfdc63c..c0d860c5371e763ab49f3018d5e36f8a0d068a03 100644 (file)
@@ -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;
 };
index e9f7684d8910241be3672786d3c4a7e1efdec4d8..2b0602861e7d635ee3dc758dbf29aedd3bf64065 100644 (file)
Binary files a/digitalreadout-16.png and b/digitalreadout-16.png differ
index 191663f98c39a91c940850ab28cdd18d4c23777b..7f75ae494214146e84dc095614b84b2882c64d8e 100644 (file)
-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 (file)
Binary files a/gui.png and b/gui.png differ
index d57deb7e0e431865ee1318cc71000845885718b7..d5f8495171daecd082a2e43d75670c0952335b49 100644 (file)
@@ -1,10 +1,13 @@
 #include <cmath>
 #include <limits>
-#include <SDL.h>
 #include <GL/gl.h>
 #include <msp/core/except.h>
 #include <msp/core/getopt.h>
+#include <msp/gbase/display.h>
+#include <msp/gbase/window.h>
+#include <msp/gl/immediate.h>
 #include <msp/gl/matrix.h>
+#include <msp/gl/projection.h>
 #include <msp/gl/transform.h>
 #include <msp/strings/formatter.h>
 #include <msp/strings/lexicalcast.h>
@@ -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<GL::Texture *> texs=ui_res.get_list<GL::Texture>();
+       for(list<GL::Texture *>::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=&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 "<<track->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<Track3D *>::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<<block.get_sensor_id()<<' '<<&sensor<<' '<<sensor.get_state()<<'\n';
                if(sensor.get_state())
                        return;
        }
index dc48e70dadac3fe6729fc665318fa8da433a6a91..1575c0c31e381ad1d18a0a9727b2727746fff3db 100644 (file)
@@ -2,8 +2,10 @@
 #define ENGINEER_H_
 
 #include <msp/core/application.h>
+#include <msp/gbase/glcontext.h>
 #include <msp/gl/font.h>
 #include <msp/gltk/resources.h>
+#include <msp/gltk/root.h>
 #include "libmarklin/catalogue.h"
 #include "libmarklin/control.h"
 #include "libmarklin/trafficmanager.h"
@@ -27,6 +29,10 @@ public:
 private:
        typedef std::list<TrainPanel *> 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 &);
index c471b962d0c26ebf68fa0227fedd42ccecbfd0ec..c89060a4416b77145337de2f2bffd743493cb6e3 100644 (file)
@@ -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);
index 3d9a2b7a29cb29671882956a5ef2ff8589d1e043..091d9707d31b240317524d3be8b0b1352c13e4ee 100644 (file)
@@ -2,6 +2,7 @@
 #define MAINPANEL_H_
 
 #include <msp/gltk/indicator.h>
+#include <msp/gltk/label.h>
 #include <msp/gltk/panel.h>
 
 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();
index be27cd4013512319ed62148544a4215ad3a3d3da..4dec1afecb9322b407ca10eaa35e1b714e286f31 100644 (file)
@@ -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;
index 3bd251f3afd03189edad88502b1a7b28f50ec4b3..0106a50731d6dc3fb98e2e5a8f68a4c359614a04 100644 (file)
@@ -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; i<links.size(); ++i)
                        if(links[i] && !tracks.count(links[i]))
                        {
-                               if(links[i]->get_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 "<<this<<" reserved for train "<<train<<'\n';
+               if(train)
+                       cout<<"Block "<<this<<" reserved for train "<<train<<'\n';
+               else
+                       cout<<"Block "<<this<<" freed\n";
                trfc_mgr.signal_block_reserved.emit(*this, train);
                return true;
        }
@@ -157,7 +160,7 @@ void Block::find_routes(Track &track, unsigned track_ep, unsigned route, set<Tra
        {
                if(i==track_ep) continue;
                Track *link=track.get_link(i);
-               if(link) continue;
+               if(!link) continue;
                if(visited.count(link)) continue;
                if(!(eps[i].routes&eps[track_ep].routes)) continue;
 
@@ -170,8 +173,6 @@ void Block::find_routes(Track &track, unsigned track_ep, unsigned route, set<Tra
                                        j->routes|=route;
                }
        }
-
-       visited.erase(--visited.end());
 }
 
 unsigned Block::next_id=1;
index f18ba8d6f49d52a53844045078aa17f5dd766a96..186f0f13d85b6103e59e546f376193678c2adc18 100644 (file)
@@ -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<Track *> &);
index 02b8f0f16949a2aab1c5f49013de37e32bf10415..6e82614c21ebf904a65fd3d4d29b359bfe77c03e 100644 (file)
@@ -138,6 +138,8 @@ void Control::tick()
        for(map<unsigned, Sensor *>::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 "<<module<<", status ";
                for(unsigned j=0; j<16; ++j)
-               {
-                       bool status=(resp[i+1+j/8]>>(7-j%8))&1;
-                       cout<<status;
-                       signal_sensor_event.emit(module*16+j-15, status);
-               }
+                       cout<<((resp[i+1+j/8]>>(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);
        }
 }
 
index 6c213651e668c69929181dff42818c3ca22fbd66..ff9594de60826ca69c2ef7c5660a5c5e6546a754 100644 (file)
@@ -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;
        }
 }
 
index cc2089b32780fdcc210bea450265ef606b69ee55..096d675e8432aafbba37902cefa5200ecdcc7187 100644 (file)
@@ -1,9 +1,11 @@
+#include <msp/time/utils.h>
 #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<Track *> &tracks=(*i)->get_tracks();
-               if(tracks.count(const_cast<Track *>(t)))
-                       return *i;
+               if(tracks.count(const_cast<Track *>(&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<Train *>::iterator i=trains.begin(); i!=trains.end(); ++i)
+               (*i)->tick(t);
+}
+
 void TrafficManager::turnout_route_changed(unsigned, Turnout *)
 {
 }
index 9db94448a72ac9068a4d5c7a64eedf551403174f..2707e098fb6caad5f339cfa57f805c8caeec9d3e 100644 (file)
@@ -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;
index c2e278cba2870c2543090b906fffdb505ff10f07..c42448176e814f0032e2810732aadf5a3f216bc5 100644 (file)
@@ -1,7 +1,11 @@
+#include <msp/time/units.h>
+#include <msp/time/utils.h>
 #include "control.h"
 #include "trafficmanager.h"
 #include "train.h"
 
+using namespace Msp;
+
 #include <iostream>
 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<BlockRef>::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, "<<cur_blocks.size()<<" cur_blocks, "<<rsv_blocks.size()<<" rsv_blocks\n";
+               cout<<"Train "<<this<<" advanced, "<<cur_blocks.size()<<" cur_blocks, "<<rsv_blocks.size()<<" rsv_blocks\n";
 
-               reserve_more();
-               if(rsv_blocks.empty())
+               if(rsv_blocks.empty() && !reserve_more())
+               {
                        loco.set_speed(0);
+                       try_reserve=Time::now()+2*Time::sec;
+               }
        }
        else
        {
-               cout<<"Finding blocks to free\n";
+               cout<<"Train "<<this<<" finding blocks to free\n";
                list<BlockRef>::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<BlockRef>::iterator j=cur_blocks.begin(); j!=i; ++j)
-                               j->block->reserve(0);
-                       cur_blocks.erase(cur_blocks.begin(), i);
-                       cout<<cur_blocks.size()<<" cur_blocks\n";
+                       if(i->block->get_sensor_id()==addr)
+                       {
+                               ++i;
+                               for(list<BlockRef>::iterator j=cur_blocks.begin(); j!=i; ++j)
+                                       j->block->reserve(0);
+                               cout<<"  "<<distance(cur_blocks.begin(),i )<<" blocks freed, ";
+                               cur_blocks.erase(cur_blocks.begin(), i);
+                               cout<<cur_blocks.size()<<" cur_blocks\n";
+                       }
                }
 
                reserve_more();
@@ -122,26 +148,32 @@ bool Train::reserve_more()
        if(!last)
                return false;
 
+       cout<<"Train "<<this<<" reserving more blocks\n";
+
        bool result=false;
        unsigned size=rsv_blocks.size();
-       while(size<3)
+       while(size<2)
        {
                int exit=last->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<<"  "<<rsv_blocks.size()<<" rsv_blocks\n";
+
        return result;
 }
 
index 21f1382c8c7ba5704797cfae4cf9b248dd1afd62..117211244cea2984eacfe1600ec488a268075cee 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <sigc++/signal.h>
 #include <sigc++/trackable.h>
+#include <msp/time/timestamp.h>
 #include "block.h"
 
 namespace Marklin {
@@ -28,6 +29,7 @@ private:
        std::list<BlockRef> cur_blocks;
        std::list<BlockRef> rsv_blocks;
        unsigned target_speed;
+       Msp::Time::TimeStamp try_reserve;
 
 public:
        sigc::signal<void, const std::string &> 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();