relocate packages on recipes-base/recipes-enigma2/recipes-wlan.
[vuplus_openvuplus] / meta-openvuplus / recipes-multimedia / dvbtools / dvb-apps-1.1.1 / update-to-tip.diff
1 Update to:
2
3 changeset 1406:c87abbb20491 tip
4
5 update scan file for fr-Reims
6 submitted by sylvestre.cartier gmail.com
7 author  Christoph Pfister <pfister@linuxtv.org>
8 date    Sun Nov 28 21:24:42 2010 +0100 (3 weeks ago)
9 parents ce1c094b9636
10
11  
12 Make.rules                                 |    2 
13  README                                     |    7 
14  a/util/scan/dvb-t/be-Brussels              |    5 
15  a/util/scan/dvb-t/be-Libramont             |   10 
16  a/util/scan/dvb-t/be-Schoten               |    3 
17  a/util/scan/dvb-t/be-St_Pieters_Leeuw      |    3 
18  a/util/scan/dvb-t/be-Tournai               |    3 
19  a/util/scan/dvb-t/cz-Brno                  |   10 
20  a/util/scan/dvb-t/cz-Domazlice             |    3 
21  a/util/scan/dvb-t/cz-Klet                  |    4 
22  a/util/scan/dvb-t/cz-Ostrava               |    3 
23  a/util/scan/dvb-t/cz-Plzen                 |    8 
24  a/util/scan/dvb-t/cz-Praha                 |    7 
25  a/util/scan/dvb-t/fr-Lille                 |   30 
26  a/util/scan/dvb-t/fr-LilleT2               |   13 
27  a/util/scan/dvb-t/hr-Zagreb                |    3 
28  b/util/alevt/COPYRIGHT                     |  297 +
29  b/util/alevt/ChangeLog                     |  535 ++
30  b/util/alevt/EXPORT.HOWTO                  |   84 
31  b/util/alevt/Makefile                      |  130 
32  b/util/alevt/README                        |   72 
33  b/util/alevt/README.OLD                    |   78 
34  b/util/alevt/ReadmeGR                      |   28 
35  b/util/alevt/TODO                          |   12 
36  b/util/alevt/alevt-cap.1                   |   53 
37  b/util/alevt/alevt-cap.c                   |  280 +
38  b/util/alevt/alevt-date.1                  |   41 
39  b/util/alevt/alevt-date.c                  |  225 +
40  b/util/alevt/alevt.1                       |   60 
41  b/util/alevt/alevt.desktop                 |    9 
42  b/util/alevt/bdf2xbm.c                     |  212 +
43  b/util/alevt/cache.c                       |  229 +
44  b/util/alevt/cache.h                       |   41 
45  b/util/alevt/dllist.h                      |   55 
46  b/util/alevt/exp-gfx.c                     |  258 +
47  b/util/alevt/exp-html.c                    |  299 +
48  b/util/alevt/exp-txt.c                     |  226 +
49  b/util/alevt/export.c                      |  364 +
50  b/util/alevt/export.h                      |   66 
51  b/util/alevt/fdset.c                       |   97 
52  b/util/alevt/fdset.h                       |   28 
53  b/util/alevt/font.c                        |    5 
54  b/util/alevt/font.h                        |   19 
55  b/util/alevt/hamm.c                        |  229 +
56  b/util/alevt/hamm.h                        |    7 
57  b/util/alevt/help.c                        |   83 
58  b/util/alevt/help.h                        |    8 
59  b/util/alevt/icon.xbm                      |   17 
60  b/util/alevt/lang.c                        |  393 +
61  b/util/alevt/lang.h                        |   28 
62  b/util/alevt/main.c                        |  221 +
63  b/util/alevt/misc.c                        |   66 
64  b/util/alevt/misc.h                        |   32 
65  b/util/alevt/os.h                          |    7 
66  b/util/alevt/search.c                      |  127 
67  b/util/alevt/search.h                      |   16 
68  b/util/alevt/ui.c                          |  721 +++
69  b/util/alevt/ui.h                          |   35 
70  b/util/alevt/vbi.c                         |  942 ++++
71  b/util/alevt/vbi.h                         |   47 
72  b/util/alevt/vt.h                          |   62 
73  b/util/alevt/vt900.out                     |   29 
74  b/util/alevt/vt901.out                     |   29 
75  b/util/alevt/vt902.out                     |   29 
76  b/util/alevt/vt903.out                     |   29 
77  b/util/alevt/vt904.out                     |   29 
78  b/util/alevt/vt905.out                     |   29 
79  b/util/alevt/vt906.out                     |   29 
80  b/util/alevt/vt907.out                     |   29 
81  b/util/alevt/vt908.out                     |   29 
82  b/util/alevt/vt909.out                     |   29 
83  b/util/alevt/vt910.out                     |   29 
84  b/util/alevt/vt911.out                     |   29 
85  b/util/alevt/vt912.out                     |   29 
86  b/util/alevt/vt913.out                     |   29 
87  b/util/alevt/vt914.out                     |   29 
88  b/util/alevt/vt915.out                     |   29 
89  b/util/alevt/vtxt-iso8859-7.bdf            | 5768 ++++++++++++++++++++++++++++
90  b/util/alevt/vtxt-koi8.bdf                 | 5906 +++++++++++++++++++++++++++++
91  b/util/alevt/vtxt-latin-1.bdf              | 5906 +++++++++++++++++++++++++++++
92  b/util/alevt/vtxt-latin-2.bdf              | 5906 +++++++++++++++++++++++++++++
93  b/util/alevt/xio.c                         | 1156 +++++
94  b/util/alevt/xio.h                         |   80 
95  b/util/gotox/Makefile                      |   17 
96  b/util/gotox/gotox.c                       |  145 
97  b/util/scan/dvb-c/at-Kabel-Braunau         |   26 
98  b/util/scan/dvb-c/at-Kabelsignal           |   38 
99  b/util/scan/dvb-c/de-komro-Rosenheim       |   30 
100  b/util/scan/dvb-c/fi-Oulu                  |   19 
101  b/util/scan/dvb-c/hu-Digikabel             |   21 
102  b/util/scan/dvb-c/nl-REKAM-CAIW_Gouda      |    4 
103  b/util/scan/dvb-s/Agila2_C-146.0E          |   60 
104  b/util/scan/dvb-s/Apstar6_C-134.0E         |   15 
105  b/util/scan/dvb-s/AsiaSat2_C-100.5E        |   51 
106  b/util/scan/dvb-s/Asiasat4_C-122.2E        |   27 
107  b/util/scan/dvb-s/Astra-23.5E              |   66 
108  b/util/scan/dvb-s/Atlantic-Bird-3-5.0W     |    4 
109  b/util/scan/dvb-s/Chinastar1_C-87.5E       |   15 
110  b/util/scan/dvb-s/Insat2E_C-83.0E          |   93 
111  b/util/scan/dvb-s/Insat3A_C-93.5E          |   66 
112  b/util/scan/dvb-s/Insat4A_C-83.0E          |   93 
113  b/util/scan/dvb-s/Insat4B_C-93.5E          |   51 
114  b/util/scan/dvb-s/Intelsat8_C-166.0E       |   39 
115  b/util/scan/dvb-s/JCSat3A_C-128.0E         |   18 
116  b/util/scan/dvb-s/Measat3_C-91.5E          |   54 
117  b/util/scan/dvb-s/PalapaC2_C-113.0E        |   39 
118  b/util/scan/dvb-s/ST1_C-80.0E              |   27 
119  b/util/scan/dvb-s/Telkom1_C-108.0E         |   48 
120  b/util/scan/dvb-s/Telstar10_C-76.5E        |   63 
121  b/util/scan/dvb-s/Telstar18_C-138.0E       |   18 
122  b/util/scan/dvb-s/Thaicom1A_C-120.0E       |   24 
123  b/util/scan/dvb-s/Thaicom2_C-78.5E         |   33 
124  b/util/scan/dvb-s/Thaicom5_C-78.5E         |   69 
125  b/util/scan/dvb-s/Vinasat1_C-132.0E        |   12 
126  b/util/scan/dvb-t/au-AdelaideFoothills     |   12 
127  b/util/scan/dvb-t/au-Ballarat              |   12 
128  b/util/scan/dvb-t/au-Bendigo               |   41 
129  b/util/scan/dvb-t/au-Devonport             |   19 
130  b/util/scan/dvb-t/au-FraserCoast-Bundaberg |   12 
131  b/util/scan/dvb-t/au-Goulburn-Rocky_Hill   |   19 
132  b/util/scan/dvb-t/au-Hervey_Bay-Ghost_Hill |   16 
133  b/util/scan/dvb-t/au-Sutherland            |   20 
134  b/util/scan/dvb-t/be-All                   |    8 
135  b/util/scan/dvb-t/ch-Geneva                |   16 
136  b/util/scan/dvb-t/cz-All                   |   41 
137  b/util/scan/dvb-t/es-BaixoMinho            |   16 
138  b/util/scan/dvb-t/es-Granada               |    8 
139  b/util/scan/dvb-t/es-Pamplona              |    9 
140  b/util/scan/dvb-t/es-SC_Tenerife           |   18 
141  b/util/scan/dvb-t/es-Vitoria-Gasteiz       |    8 
142  b/util/scan/dvb-t/fi-Smedsbole             |   13 
143  b/util/scan/dvb-t/fr-Lille-Bouvigny        |   26 
144  b/util/scan/dvb-t/fr-Rochefort-sur-mer     |   14 
145  b/util/scan/dvb-t/hr-All                   |   30 
146  b/util/scan/dvb-t/hu-Budapest              |    8 
147  b/util/scan/dvb-t/hu-Debrecen              |    8 
148  b/util/scan/dvb-t/hu-Gyor                  |    8 
149  b/util/scan/dvb-t/hu-Kabhegy               |    8 
150  b/util/scan/dvb-t/hu-Kekes                 |    8 
151  b/util/scan/dvb-t/hu-Kiskoros              |    8 
152  b/util/scan/dvb-t/hu-Nagykanizsa-Ujudvar   |    8 
153  b/util/scan/dvb-t/hu-Pecs                  |    8 
154  b/util/scan/dvb-t/hu-Szeged                |    8 
155  b/util/scan/dvb-t/hu-Szentes               |    8 
156  b/util/scan/dvb-t/hu-Tokaj                 |    8 
157  b/util/scan/dvb-t/hu-Uzd                   |    8 
158  b/util/scan/dvb-t/hu-Vasvar-Hegyhatsal     |    8 
159  b/util/scan/dvb-t/il-All                   |    5 
160  b/util/scan/dvb-t/ir-Tehran                |    4 
161  b/util/scan/dvb-t/it-Montevergine          |   18 
162  b/util/scan/dvb-t/lt-All                   |   39 
163  b/util/scan/dvb-t/ro-Bucharest             |    5 
164  b/util/scan/dvb-t/si-Ljubljana             |    5 
165  b/util/scan/dvb-t/sk-Bardejov              |   11 
166  b/util/scan/dvb-t/sk-Michalovce            |   11 
167  b/util/scan/dvb-t/sk-Namestovo             |   11 
168  b/util/scan/dvb-t/sk-Poprad                |   11 
169  b/util/scan/dvb-t/sk-RimavskaSobota        |   11 
170  b/util/scan/dvb-t/sk-Trencin               |   12 
171  b/util/scan/dvb-t/sk-VelkyKrtis            |   11 
172  b/util/scan/dvb-t/sk-Zilina                |   11 
173  b/util/scan/dvb-t/vn-Thaibinh              |    5 
174  b/util/szap/util.c                         |  126 
175  b/util/szap/util.h                         |   24 
176  lib/libdvben50221/en50221_stdcam_llci.c    |   19 
177  lib/libdvbsec/dvbsec_api.c                 |   17 
178  test/Makefile                              |    1 
179  test/README                                |    2 
180  test/test_video.c                          |   53 
181  util/Makefile                              |    1 
182  util/femon/femon.c                         |   57 
183  util/scan/dvb-c/at-KarrerNet               |   18 
184  util/scan/dvb-c/de-Primacom                |    5 
185  util/scan/dvb-c/de-Unitymedia              |   17 
186  util/scan/dvb-c/fi-Turku                   |    8 
187  util/scan/dvb-c/se-comhem                  |   22 
188  util/scan/dvb-s/AsiaSat3S_C-105.5E         |  164 
189  util/scan/dvb-t/au-Adelaide                |    2 
190  util/scan/dvb-t/au-Brisbane                |    2 
191  util/scan/dvb-t/au-SunshineCoast           |    2 
192  util/scan/dvb-t/ch-All                     |    1 
193  util/scan/dvb-t/de-Baden-Wuerttemberg      |   23 
194  util/scan/dvb-t/de-Bayern                  |   56 
195  util/scan/dvb-t/de-Berlin                  |   13 
196  util/scan/dvb-t/de-Brandenburg             |    4 
197  util/scan/dvb-t/de-Bremen                  |    8 
198  util/scan/dvb-t/de-Hamburg                 |   20 
199  util/scan/dvb-t/de-Hessen                  |   26 
200  util/scan/dvb-t/de-Mecklenburg-Vorpommern  |   10 
201  util/scan/dvb-t/de-Niedersachsen           |   33 
202  util/scan/dvb-t/de-Nordrhein-Westfalen     |   16 
203  util/scan/dvb-t/de-Rheinland-Pfalz         |   10 
204  util/scan/dvb-t/de-Saarland                |    6 
205  util/scan/dvb-t/de-Sachsen                 |   14 
206  util/scan/dvb-t/de-Sachsen-Anhalt          |    8 
207  util/scan/dvb-t/de-Schleswig-Holstein      |   26 
208  util/scan/dvb-t/de-Thueringen              |    8 
209  util/scan/dvb-t/dk-All                     |   16 
210  util/scan/dvb-t/es-Albacete                |   20 
211  util/scan/dvb-t/es-Alfabia                 |    3 
212  util/scan/dvb-t/es-Collserola              |   16 
213  util/scan/dvb-t/es-Las_Palmas              |   22 
214  util/scan/dvb-t/es-Sevilla                 |   17 
215  util/scan/dvb-t/fr-Boulogne                |   17 
216  util/scan/dvb-t/fr-Brest                   |   10 
217  util/scan/dvb-t/fr-Chambery                |   42 
218  util/scan/dvb-t/fr-Laval                   |   12 
219  util/scan/dvb-t/fr-Montbeliard             |   28 
220  util/scan/dvb-t/fr-Nantes                  |   13 
221  util/scan/dvb-t/fr-Poitiers                |   12 
222  util/scan/dvb-t/fr-Reims                   |   18 
223  util/scan/dvb-t/fr-Tours                   |   32 
224  util/scan/dvb-t/gr-Athens                  |    2 
225  util/scan/dvb-t/is-Reykjavik               |   42 
226  util/scan/dvb-t/it-Milano                  |   38 
227  util/scan/dvb-t/se-Horby_Sallerup          |    2 
228  util/scan/dvb-t/se-Ornskoldsvik_As         |    1 
229  util/scan/dvb-t/se-Skelleftea              |    1 
230  util/scan/dvb-t/sk-BanskaBystrica          |    9 
231  util/scan/dvb-t/sk-Bratislava              |    9 
232  util/scan/dvb-t/sk-Kosice                  |    9 
233  util/scan/dvb-t/uk-Aberdare                |   17 
234  util/scan/dvb-t/uk-Redruth                 |   13 
235  util/scan/dvb-t/uk-StocklandHill           |   15 
236  util/scan/dvb-t/uk-Storeton                |   15 
237  util/scan/dvb-t/uk-WinterHill              |   18 
238  util/scan/scan.c                           |   11 
239  util/szap/Makefile                         |    2 
240  util/szap/azap.c                           |   27 
241  util/szap/czap.c                           |   91 
242  util/szap/szap.c                           |   97 
243  util/szap/tzap.c                           |   73 
244  232 files changed, 34875 insertions(+), 778 deletions(-)
245 diff -r af23d23c278b Make.rules
246 --- a/Make.rules        Sat Jun 20 16:47:55 2009 +0200
247 +++ b/Make.rules        Tue Dec 21 12:13:28 2010 +0100
248 @@ -35,7 +35,7 @@
249  sharedir   ?= $(prefix)/share
250  
251  ifneq ($(DESTDIR),)
252 -DESTDIR = $(DESTDIR)/
253 +DESTDIR := $(DESTDIR)/
254  endif
255  
256  ifeq ($(V),1)
257 diff -r af23d23c278b README
258 --- a/README    Sat Jun 20 16:47:55 2009 +0200
259 +++ b/README    Tue Dec 21 12:13:28 2010 +0100
260 @@ -15,6 +15,8 @@
261  util/dvbtraffic        - Monitor traffic on a digital device.
262  util/femon     - Monitor the tuning on a digital TV device.
263  util/zap       - *Just* tunes a digital device - really intended for developers.
264 +util/gotox     - Simple Rotor control utility
265 +util/alevt     - Teletext capture and display utility
266  
267  Hardware Specific Utilities:
268  util/av7110_loadkeys   - Load remote keys into an av7110 based card
269 @@ -36,5 +38,10 @@
270  files as they are contained in the linuxtv-dvb-1.? release
271  and the 2.6.x Linux kernel.
272  
273 +AleVT is not compiled by the main Makefile, because it depends on external
274 +libraries which might not be available in your system (see util/alevt/README for
275 +details). If you have the required libraries, to compile AleVT go to util/alevt/
276 +and type "make".
277 +
278  Johannes Stezenbach <js@convergence.de>
279  Andrew de Quincey <adq_dvb@lidskialf.net>
280 diff -r af23d23c278b lib/libdvben50221/en50221_stdcam_llci.c
281 --- a/lib/libdvben50221/en50221_stdcam_llci.c   Sat Jun 20 16:47:55 2009 +0200
282 +++ b/lib/libdvben50221/en50221_stdcam_llci.c   Tue Dec 21 12:13:28 2010 +0100
283 @@ -374,14 +374,21 @@
284                 } else if (resource_id == EN50221_APP_MMI_RESOURCEID) {
285                         llci->stdcam.mmi_session_number = session_number;
286                 }
287 +               break;
288  
289 +       case S_SCALLBACK_REASON_CLOSE:
290 +               if (resource_id == EN50221_APP_MMI_RESOURCEID) {
291 +                       llci->stdcam.mmi_session_number = -1;
292 +               } else if (resource_id == EN50221_APP_DATETIME_RESOURCEID) {
293 +                       llci->datetime_session_number = -1;
294 +               } else if (resource_id == EN50221_APP_AI_RESOURCEID) {
295 +                       llci->stdcam.ai_session_number = -1;
296 +               } else if (resource_id == EN50221_APP_CA_RESOURCEID) {
297 +                       llci->stdcam.ca_session_number = -1;
298 +               } else if (resource_id == EN50221_APP_MMI_RESOURCEID) {
299 +                       llci->stdcam.mmi_session_number = -1;
300 +               }
301                 break;
302 -    case S_SCALLBACK_REASON_CLOSE:
303 -        if (resource_id == EN50221_APP_MMI_RESOURCEID) {
304 -            llci->stdcam.mmi_session_number = -1;
305 -        }
306 -
307 -        break;
308         }
309         return 0;
310  }
311 diff -r af23d23c278b lib/libdvbsec/dvbsec_api.c
312 --- a/lib/libdvbsec/dvbsec_api.c        Sat Jun 20 16:47:55 2009 +0200
313 +++ b/lib/libdvbsec/dvbsec_api.c        Tue Dec 21 12:13:28 2010 +0100
314 @@ -537,19 +537,12 @@
315         }
316  
317         // generate the command
318 -       if (integer < -256) {
319 -               return -EINVAL;
320 -       } else if (integer < 0) {
321 -               integer = -integer;
322 -               data[3] = 0xf0;
323 -       } else if (integer < 256) {
324 -               data[3] = 0x00;
325 -       } else if (integer < 512) {
326 -               integer -= 256;
327 -               data[3] = 0x10;
328 -       } else {
329 -               return -EINVAL;
330 +       if (integer < 0.0) {
331 +               data[3] = 0xD0;  // West is a negative angle value
332 +       } else if (integer >= 0.0) {
333 +               data[3] = 0xE0;  // East is a positive angle value
334         }
335 +       integer = abs(integer);
336         data[3] |= ((integer / 16) & 0x0f);
337         integer = integer % 16;
338         data[4] |= ((integer & 0x0f) << 4) | fraction;
339 diff -r af23d23c278b test/Makefile
340 --- a/test/Makefile     Sat Jun 20 16:47:55 2009 +0200
341 +++ b/test/Makefile     Tue Dec 21 12:13:28 2010 +0100
342 @@ -18,6 +18,7 @@
343             test_stillimage \
344             test_tt         \
345             test_vevent     \
346 +           test_video      \
347            evtest          \
348            video           \
349            szap2
350 diff -r af23d23c278b test/README
351 --- a/test/README       Sat Jun 20 16:47:55 2009 +0200
352 +++ b/test/README       Tue Dec 21 12:13:28 2010 +0100
353 @@ -47,4 +47,4 @@
354  test_dvr       :
355  test_front     :
356  test_switch    :
357 -test_video     :
358 +test_video     : Play video-only file on /dev/dvb/adapter0/video0
359 diff -r af23d23c278b test/test_video.c
360 --- a/test/test_video.c Sat Jun 20 16:47:55 2009 +0200
361 +++ b/test/test_video.c Tue Dec 21 12:13:28 2010 +0100
362 @@ -23,6 +23,7 @@
363  
364  #include <sys/ioctl.h>
365  #include <stdio.h>
366 +#include <stdlib.h>
367  #include <stdint.h>
368  #include <sys/types.h>
369  #include <sys/stat.h>
370 @@ -31,8 +32,7 @@
371  #include <unistd.h>
372  
373  #include <linux/dvb/dmx.h>
374 -#include <linux/dvb/frontend_old.h>
375 -#include <linux/dvb/sec.h>
376 +#include <linux/dvb/frontend.h>
377  #include <linux/dvb/video.h>
378  #include <sys/poll.h>
379  
380 @@ -100,7 +100,7 @@
381  
382  
383  
384 -int videoSetBlank(int fd, boolean state)
385 +int videoSetBlank(int fd, int state)
386  {
387         int ans;
388  
389 @@ -138,72 +138,72 @@
390  
391  int videoGetStatus(int fd)
392  {
393 -       struct video_status stat;
394 +       struct video_status vstat;
395         int ans;
396  
397 -       if ((ans = ioctl(fd,VIDEO_GET_STATUS, &stat)) < 0) {
398 +       if ((ans = ioctl(fd,VIDEO_GET_STATUS, &vstat)) < 0) {
399                 perror("VIDEO GET STATUS: ");
400                 return -1;
401         }
402  
403         printf("Video Status:\n");
404         printf("  Blank State          : %s\n",
405 -              (stat.video_blank ? "BLANK" : "STILL"));
406 +              (vstat.video_blank ? "BLANK" : "STILL"));
407         printf("  Play State           : ");
408 -       switch ((int)stat.play_state){
409 +       switch ((int)vstat.play_state){
410         case VIDEO_STOPPED:
411 -               printf("STOPPED (%d)\n",stat.play_state);
412 +               printf("STOPPED (%d)\n",vstat.play_state);
413                 break;
414         case VIDEO_PLAYING:
415 -               printf("PLAYING (%d)\n",stat.play_state);
416 +               printf("PLAYING (%d)\n",vstat.play_state);
417                 break;
418         case VIDEO_FREEZED:
419 -               printf("FREEZED (%d)\n",stat.play_state);
420 +               printf("FREEZED (%d)\n",vstat.play_state);
421                 break;
422         default:
423 -               printf("unknown (%d)\n",stat.play_state);
424 +               printf("unknown (%d)\n",vstat.play_state);
425                 break;
426         }
427  
428         printf("  Stream Source        : ");
429 -       switch((int)stat.stream_source){
430 +       switch((int)vstat.stream_source){
431         case VIDEO_SOURCE_DEMUX:
432 -               printf("DEMUX (%d)\n",stat.stream_source);
433 +               printf("DEMUX (%d)\n",vstat.stream_source);
434                 break;
435         case VIDEO_SOURCE_MEMORY:
436 -               printf("MEMORY (%d)\n",stat.stream_source);
437 +               printf("MEMORY (%d)\n",vstat.stream_source);
438                 break;
439         default:
440 -               printf("unknown (%d)\n",stat.stream_source);
441 +               printf("unknown (%d)\n",vstat.stream_source);
442                 break;
443         }
444  
445         printf("  Format (Aspect Ratio): ");
446 -       switch((int)stat.video_format){
447 +       switch((int)vstat.video_format){
448         case VIDEO_FORMAT_4_3:
449 -               printf("4:3 (%d)\n",stat.video_format);
450 +               printf("4:3 (%d)\n",vstat.video_format);
451                 break;
452         case VIDEO_FORMAT_16_9:
453 -               printf("16:9 (%d)\n",stat.video_format);
454 +               printf("16:9 (%d)\n",vstat.video_format);
455                 break;
456         default:
457 -               printf("unknown (%d)\n",stat.video_format);
458 +               printf("unknown (%d)\n",vstat.video_format);
459                 break;
460         }
461  
462         printf("  Display Format       : ");
463 -       switch((int)stat.display_format){
464 +       switch((int)vstat.display_format){
465         case VIDEO_PAN_SCAN:
466 -               printf("Pan&Scan (%d)\n",stat.display_format);
467 +               printf("Pan&Scan (%d)\n",vstat.display_format);
468                 break;
469         case VIDEO_LETTER_BOX:
470 -               printf("Letterbox (%d)\n",stat.display_format);
471 +               printf("Letterbox (%d)\n",vstat.display_format);
472                 break;
473         case VIDEO_CENTER_CUT_OUT:
474 -               printf("Center cutout (%d)\n",stat.display_format);
475 +               printf("Center cutout (%d)\n",vstat.display_format);
476                 break;
477         default:
478 -               printf("unknown (%d)\n",stat.display_format);
479 +               printf("unknown (%d)\n",vstat.display_format);
480                 break;
481         }
482         return 0;
483 @@ -230,7 +230,6 @@
484         int written;
485         struct pollfd pfd[NFD];
486         int stopped = 0;
487 -       int ch;
488  
489         pfd[0].fd = STDIN_FILENO;
490         pfd[0].events = POLLIN;
491 @@ -327,7 +326,7 @@
492         videoPlay(fd);
493  }
494  
495 -main(int argc, char **argv)
496 +int main(int argc, char **argv)
497  {
498         int fd;
499         int filefd;
500 @@ -338,7 +337,7 @@
501                 perror("File open:");
502                 return -1;
503         }
504 -       if ((fd = open("/dev/ost/video1",O_RDWR|O_NONBLOCK)) < 0){
505 +       if ((fd = open("/dev/dvb/adapter0/video0",O_RDWR|O_NONBLOCK)) < 0){
506                 perror("VIDEO DEVICE: ");
507                 return -1;
508         }
509 diff -r af23d23c278b util/Makefile
510 --- a/util/Makefile     Sat Jun 20 16:47:55 2009 +0200
511 +++ b/util/Makefile     Tue Dec 21 12:13:28 2010 +0100
512 @@ -16,4 +16,5 @@
513         $(MAKE) -C szap $@
514         $(MAKE) -C ttusb_dec_reset $@
515         $(MAKE) -C gnutv $@
516 +       $(MAKE) -C gotox $@
517         $(MAKE) -C zap $@
518 diff -r af23d23c278b util/alevt/COPYRIGHT
519 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
520 +++ b/util/alevt/COPYRIGHT      Tue Dec 21 12:13:28 2010 +0100
521 @@ -0,0 +1,297 @@
522 +This message applies to all files within the archive:
523 +
524 +    Copyright (C) 1998,1999,2000 Edgar Toernig (froese@gmx.de)
525 +    All rights reserved.
526 +
527 +    This program is free software; you can redistribute it and/or modify
528 +    it under the terms of the GNU General Public License Version 2 as
529 +    published by the Free Software Foundation.
530 +
531 +    This program is distributed in the hope that it will be useful,
532 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
533 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
534 +    GNU General Public License for more details.
535 +
536 +
537 +And here's the GNU GPL V2:
538 +
539 +                   GNU GENERAL PUBLIC LICENSE
540 +                      Version 2, June 1991
541 +
542 + Copyright (C) 1989, 1991 Free Software Foundation, Inc.
543 +                          675 Mass Ave, Cambridge, MA 02139, USA
544 + Everyone is permitted to copy and distribute verbatim copies
545 + of this license document, but changing it is not allowed.
546 +
547 +                           Preamble
548 +
549 +  The licenses for most software are designed to take away your
550 +freedom to share and change it.  By contrast, the GNU General Public
551 +License is intended to guarantee your freedom to share and change free
552 +software--to make sure the software is free for all its users.  This
553 +General Public License applies to most of the Free Software
554 +Foundation's software and to any other program whose authors commit to
555 +using it.  (Some other Free Software Foundation software is covered by
556 +the GNU Library General Public License instead.)  You can apply it to
557 +your programs, too.
558 +
559 +  When we speak of free software, we are referring to freedom, not
560 +price.  Our General Public Licenses are designed to make sure that you
561 +have the freedom to distribute copies of free software (and charge for
562 +this service if you wish), that you receive source code or can get it
563 +if you want it, that you can change the software or use pieces of it
564 +in new free programs; and that you know you can do these things.
565 +
566 +  To protect your rights, we need to make restrictions that forbid
567 +anyone to deny you these rights or to ask you to surrender the rights.
568 +These restrictions translate to certain responsibilities for you if you
569 +distribute copies of the software, or if you modify it.
570 +
571 +  For example, if you distribute copies of such a program, whether
572 +gratis or for a fee, you must give the recipients all the rights that
573 +you have.  You must make sure that they, too, receive or can get the
574 +source code.  And you must show them these terms so they know their
575 +rights.
576 +
577 +  We protect your rights with two steps: (1) copyright the software, and
578 +(2) offer you this license which gives you legal permission to copy,
579 +distribute and/or modify the software.
580 +
581 +  Also, for each author's protection and ours, we want to make certain
582 +that everyone understands that there is no warranty for this free
583 +software.  If the software is modified by someone else and passed on, we
584 +want its recipients to know that what they have is not the original, so
585 +that any problems introduced by others will not reflect on the original
586 +authors' reputations.
587 +
588 +  Finally, any free program is threatened constantly by software
589 +patents.  We wish to avoid the danger that redistributors of a free
590 +program will individually obtain patent licenses, in effect making the
591 +program proprietary.  To prevent this, we have made it clear that any
592 +patent must be licensed for everyone's free use or not licensed at all.
593 +
594 +  The precise terms and conditions for copying, distribution and
595 +modification follow.
596 +
597 +                   GNU GENERAL PUBLIC LICENSE
598 +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
599 +
600 +  0. This License applies to any program or other work which contains
601 +a notice placed by the copyright holder saying it may be distributed
602 +under the terms of this General Public License.  The "Program", below,
603 +refers to any such program or work, and a "work based on the Program"
604 +means either the Program or any derivative work under copyright law:
605 +that is to say, a work containing the Program or a portion of it,
606 +either verbatim or with modifications and/or translated into another
607 +language.  (Hereinafter, translation is included without limitation in
608 +the term "modification".)  Each licensee is addressed as "you".
609 +
610 +Activities other than copying, distribution and modification are not
611 +covered by this License; they are outside its scope.  The act of
612 +running the Program is not restricted, and the output from the Program
613 +is covered only if its contents constitute a work based on the
614 +Program (independent of having been made by running the Program).
615 +Whether that is true depends on what the Program does.
616 +
617 +  1. You may copy and distribute verbatim copies of the Program's
618 +source code as you receive it, in any medium, provided that you
619 +conspicuously and appropriately publish on each copy an appropriate
620 +copyright notice and disclaimer of warranty; keep intact all the
621 +notices that refer to this License and to the absence of any warranty;
622 +and give any other recipients of the Program a copy of this License
623 +along with the Program.
624 +
625 +You may charge a fee for the physical act of transferring a copy, and
626 +you may at your option offer warranty protection in exchange for a fee.
627 +
628 +  2. You may modify your copy or copies of the Program or any portion
629 +of it, thus forming a work based on the Program, and copy and
630 +distribute such modifications or work under the terms of Section 1
631 +above, provided that you also meet all of these conditions:
632 +
633 +    a) You must cause the modified files to carry prominent notices
634 +    stating that you changed the files and the date of any change.
635 +
636 +    b) You must cause any work that you distribute or publish, that in
637 +    whole or in part contains or is derived from the Program or any
638 +    part thereof, to be licensed as a whole at no charge to all third
639 +    parties under the terms of this License.
640 +
641 +    c) If the modified program normally reads commands interactively
642 +    when run, you must cause it, when started running for such
643 +    interactive use in the most ordinary way, to print or display an
644 +    announcement including an appropriate copyright notice and a
645 +    notice that there is no warranty (or else, saying that you provide
646 +    a warranty) and that users may redistribute the program under
647 +    these conditions, and telling the user how to view a copy of this
648 +    License.  (Exception: if the Program itself is interactive but
649 +    does not normally print such an announcement, your work based on
650 +    the Program is not required to print an announcement.)
651 +
652 +These requirements apply to the modified work as a whole.  If
653 +identifiable sections of that work are not derived from the Program,
654 +and can be reasonably considered independent and separate works in
655 +themselves, then this License, and its terms, do not apply to those
656 +sections when you distribute them as separate works.  But when you
657 +distribute the same sections as part of a whole which is a work based
658 +on the Program, the distribution of the whole must be on the terms of
659 +this License, whose permissions for other licensees extend to the
660 +entire whole, and thus to each and every part regardless of who wrote it.
661 +
662 +Thus, it is not the intent of this section to claim rights or contest
663 +your rights to work written entirely by you; rather, the intent is to
664 +exercise the right to control the distribution of derivative or
665 +collective works based on the Program.
666 +
667 +In addition, mere aggregation of another work not based on the Program
668 +with the Program (or with a work based on the Program) on a volume of
669 +a storage or distribution medium does not bring the other work under
670 +the scope of this License.
671 +
672 +  3. You may copy and distribute the Program (or a work based on it,
673 +under Section 2) in object code or executable form under the terms of
674 +Sections 1 and 2 above provided that you also do one of the following:
675 +
676 +    a) Accompany it with the complete corresponding machine-readable
677 +    source code, which must be distributed under the terms of Sections
678 +    1 and 2 above on a medium customarily used for software interchange; or,
679 +
680 +    b) Accompany it with a written offer, valid for at least three
681 +    years, to give any third party, for a charge no more than your
682 +    cost of physically performing source distribution, a complete
683 +    machine-readable copy of the corresponding source code, to be
684 +    distributed under the terms of Sections 1 and 2 above on a medium
685 +    customarily used for software interchange; or,
686 +
687 +    c) Accompany it with the information you received as to the offer
688 +    to distribute corresponding source code.  (This alternative is
689 +    allowed only for noncommercial distribution and only if you
690 +    received the program in object code or executable form with such
691 +    an offer, in accord with Subsection b above.)
692 +
693 +The source code for a work means the preferred form of the work for
694 +making modifications to it.  For an executable work, complete source
695 +code means all the source code for all modules it contains, plus any
696 +associated interface definition files, plus the scripts used to
697 +control compilation and installation of the executable.  However, as a
698 +special exception, the source code distributed need not include
699 +anything that is normally distributed (in either source or binary
700 +form) with the major components (compiler, kernel, and so on) of the
701 +operating system on which the executable runs, unless that component
702 +itself accompanies the executable.
703 +
704 +If distribution of executable or object code is made by offering
705 +access to copy from a designated place, then offering equivalent
706 +access to copy the source code from the same place counts as
707 +distribution of the source code, even though third parties are not
708 +compelled to copy the source along with the object code.
709 +
710 +  4. You may not copy, modify, sublicense, or distribute the Program
711 +except as expressly provided under this License.  Any attempt
712 +otherwise to copy, modify, sublicense or distribute the Program is
713 +void, and will automatically terminate your rights under this License.
714 +However, parties who have received copies, or rights, from you under
715 +this License will not have their licenses terminated so long as such
716 +parties remain in full compliance.
717 +
718 +  5. You are not required to accept this License, since you have not
719 +signed it.  However, nothing else grants you permission to modify or
720 +distribute the Program or its derivative works.  These actions are
721 +prohibited by law if you do not accept this License.  Therefore, by
722 +modifying or distributing the Program (or any work based on the
723 +Program), you indicate your acceptance of this License to do so, and
724 +all its terms and conditions for copying, distributing or modifying
725 +the Program or works based on it.
726 +
727 +  6. Each time you redistribute the Program (or any work based on the
728 +Program), the recipient automatically receives a license from the
729 +original licensor to copy, distribute or modify the Program subject to
730 +these terms and conditions.  You may not impose any further
731 +restrictions on the recipients' exercise of the rights granted herein.
732 +You are not responsible for enforcing compliance by third parties to
733 +this License.
734 +
735 +  7. If, as a consequence of a court judgment or allegation of patent
736 +infringement or for any other reason (not limited to patent issues),
737 +conditions are imposed on you (whether by court order, agreement or
738 +otherwise) that contradict the conditions of this License, they do not
739 +excuse you from the conditions of this License.  If you cannot
740 +distribute so as to satisfy simultaneously your obligations under this
741 +License and any other pertinent obligations, then as a consequence you
742 +may not distribute the Program at all.  For example, if a patent
743 +license would not permit royalty-free redistribution of the Program by
744 +all those who receive copies directly or indirectly through you, then
745 +the only way you could satisfy both it and this License would be to
746 +refrain entirely from distribution of the Program.
747 +
748 +If any portion of this section is held invalid or unenforceable under
749 +any particular circumstance, the balance of the section is intended to
750 +apply and the section as a whole is intended to apply in other
751 +circumstances.
752 +
753 +It is not the purpose of this section to induce you to infringe any
754 +patents or other property right claims or to contest validity of any
755 +such claims; this section has the sole purpose of protecting the
756 +integrity of the free software distribution system, which is
757 +implemented by public license practices.  Many people have made
758 +generous contributions to the wide range of software distributed
759 +through that system in reliance on consistent application of that
760 +system; it is up to the author/donor to decide if he or she is willing
761 +to distribute software through any other system and a licensee cannot
762 +impose that choice.
763 +
764 +This section is intended to make thoroughly clear what is believed to
765 +be a consequence of the rest of this License.
766 +
767 +  8. If the distribution and/or use of the Program is restricted in
768 +certain countries either by patents or by copyrighted interfaces, the
769 +original copyright holder who places the Program under this License
770 +may add an explicit geographical distribution limitation excluding
771 +those countries, so that distribution is permitted only in or among
772 +countries not thus excluded.  In such case, this License incorporates
773 +the limitation as if written in the body of this License.
774 +
775 +  9. The Free Software Foundation may publish revised and/or new versions
776 +of the General Public License from time to time.  Such new versions will
777 +be similar in spirit to the present version, but may differ in detail to
778 +address new problems or concerns.
779 +
780 +Each version is given a distinguishing version number.  If the Program
781 +specifies a version number of this License which applies to it and "any
782 +later version", you have the option of following the terms and conditions
783 +either of that version or of any later version published by the Free
784 +Software Foundation.  If the Program does not specify a version number of
785 +this License, you may choose any version ever published by the Free Software
786 +Foundation.
787 +
788 +  10. If you wish to incorporate parts of the Program into other free
789 +programs whose distribution conditions are different, write to the author
790 +to ask for permission.  For software which is copyrighted by the Free
791 +Software Foundation, write to the Free Software Foundation; we sometimes
792 +make exceptions for this.  Our decision will be guided by the two goals
793 +of preserving the free status of all derivatives of our free software and
794 +of promoting the sharing and reuse of software generally.
795 +
796 +                           NO WARRANTY
797 +
798 +  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
799 +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
800 +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
801 +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
802 +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
803 +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
804 +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
805 +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
806 +REPAIR OR CORRECTION.
807 +
808 +  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
809 +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
810 +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
811 +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
812 +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
813 +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
814 +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
815 +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
816 +POSSIBILITY OF SUCH DAMAGES.
817 +
818 +                    END OF TERMS AND CONDITIONS
819 diff -r af23d23c278b util/alevt/ChangeLog
820 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
821 +++ b/util/alevt/ChangeLog      Tue Dec 21 12:13:28 2010 +0100
822 @@ -0,0 +1,535 @@
823 +Thu Feb 11 22:05:00 MET 2010   (1.7.0)
824 +
825 +    - redesigned version:
826 +    - outfile, new starting methods, libzvbi implementation
827 +    - lots of bug fixes, all patches available in the Internet applied
828 +    - extensive code cleanup
829 +
830 +Mon Dec  3 03:11:07 MET 2007   (1.6.2)
831 +
832 +    - compilation fixes for newer gcc
833 +    - makefile tweaks (man vs share/man, /usr/X11R6 vs /usr, etc)
834 +    - default device changed to /dev/vbi0
835 +    - adapt to current v4l2 api
836 +    - some minor fixes collected during the past years
837 +
838 +    This is a build-time update to conform to newer compilers and
839 +    system environments.  If you have a running AleVT there's no
840 +    reason to update.  The only real fix is in the html-exporter
841 +    which was producing broken html (missing double-quotes).
842 +
843 +Thu Jan 23 01:53:10 MET 2003
844 +
845 +    - Fixed a bug in contrib/cap-all.c (fdset_init before vbi_open)
846 +    - Expaned cap-all.c to show how to save in two formats simultaneously.
847 +
848 +Tue Aug 20 05:22:16 MEST 2002  (1.6.1)
849 +
850 +    - Removed the bttv-warning from the help pages ;-)
851 +
852 +Mon Jul 23 18:34:32 MEST 2001
853 +
854 +    - Fixed bug in ui.c - found by <pawel@sakowski.eu.org>.
855 +    - When clicking on page numbers accept sub-page numbers too.
856 +
857 +Sat Dec 23 15:12:11 MET 2000
858 +
859 +    - Fixed 'double height last line' bug in export.c reported by
860 +      <Matthias.Kleinmann@urz.uni-heidelberg.de>
861 +
862 +Thu Oct 12 02:19:31 MEST 2000
863 +
864 +    - The &nbsp; fix was wrong.  Removed it.
865 +
866 +Wed Oct 11 19:41:38 MEST 2000  (1.6.0)
867 +
868 +    - Some documentation tweaks.
869 +    - Release.  Made it 1.6 because of V4l2 API.
870 +
871 +Thu Sep 21 21:07:12 MEST 2000
872 +
873 +    - Removed old bttv-only decoder.  Only the v4l2-based stays.
874 +      If the device does not support v4l2, default parameters
875 +      appropriate for the bttv-driver are taken.
876 +    - Subpage cycling (up/down and 2nd wheel) stays in the current
877 +      page.
878 +
879 +Sat Sep 16 23:52:12 MEST 2000
880 +
881 +    - Experimental v4l2 interface added.
882 +    - Finetune defaults to 1 now.  Works best for me.  Tell me
883 +      if you don't like it.
884 +    - Russian patch still not added :-/
885 +    - Fixed the bug in xio.c that Ben Smithurst
886 +      <ben@scientia.demon.co.uk> found.
887 +    - Added the dual-wheel-mouse patch from Holger Fitzner.
888 +
889 +Tue May 30 03:09:24 MEST 2000
890 +
891 +    - As Matto Fransen <matto@matto.nl> reported: the ; after &nbsp
892 +      in exp-html is missing.  fixed that.
893 +
894 +Tue May  9 20:21:52 MEST 2000
895 +
896 +    - Removed the -oldbttv/-newbttv options.  If your driver has
897 +      a buffer size different from that in the current bttv you
898 +      either have to support the VBISIZE ioctl or change the source.
899 +      (Tried to implement an autodetect by non-blocking reads but
900 +      that confuses the driver that much that it no longers gives
901 +      reasonable data.)
902 +    - Added a compression option to the png export filter and
903 +      changed the default compression level to the lib's default.
904 +      The prev default of 9 was way to slow.
905 +
906 +Wed May  3 19:18:55 MEST 2000
907 +
908 +    - Added a smaller font.  Made out of the neep9 font from
909 +      the really great jmk-fonts (http://www.pobox.com/~jmknoble).
910 +
911 +Sat Apr 29 02:36:41 MEST 2000
912 +
913 +    - Fixed SEGV in export.c:adjust.
914 +    - Fixed a possible buffer overrun in exp-txt.c
915 +
916 +Thu Nov  4 21:18:52 MET 1999   (1.5.1)
917 +
918 +    - Added os.h.  That way alevt compiles right out of the
919 +      box on all BSD systems (I hope *g*).
920 +    - Fixed the DST bug in alevt-date.
921 +    - Put vtwiz.pl in contrib, a perl/tk/set-tv script to
922 +      launch alevt written by Joern Borgert.
923 +
924 +Tue Oct 26 23:55:09 MEST 1999  (1.5.1-pre1)
925 +
926 +    - Added timeout option to alevt-cap.
927 +    - Use install instead of cp in the Makefile.
928 +    - Added -I/usr/local/include and -L/usr/local/lib
929 +      in the Makefile.
930 +    - Changed #ifdef FREEBSD to #ifdef BSD.
931 +    - exchanged contrib/paul-export.patch with
932 +      paul.fmt_page.c (a replacement for export.c:fmt_page())
933 +      and paul.fmt_page.patch (the same in form of a
934 +      patch file).
935 +    - Some doc corrections.
936 +
937 +Thu Oct 14 02:49:48 MEST 1999
938 +
939 +    - Added FREEBSD patches.
940 +
941 +Fri Oct  8 23:36:45 MEST 1999  (1.5.0)
942 +
943 +    - Updated the documentation.
944 +
945 +    So, what's new since 1.4.9 (nearly 4 months ago)?
946 +    Two major things: full latin-2 support and export
947 +    filters for alevt-cap and alevt itself.
948 +
949 +    For the latin-2 support page enhancement packets
950 +    have to be decoded and some latin-1 pages may
951 +    benefit from that, too.  Note: if you select
952 +    latin-2 everything is latin-2, even cut'n paste.
953 +    (new cmdline option -charset latin-1|2)
954 +
955 +    The export filters allow saving pages in different
956 +    formats.  At the moment there's ascii (with and with-
957 +    out color), html, png, and ppm.  The png filter
958 +    requires libpng.  If you don't have it (or don't want
959 +    png support) just remove the WITH_PNG from the
960 +    Makefile.  To save the currently displayed page just
961 +    press 's'.  See alevt-cap(1) for the format string.
962 +
963 +    Preview: 1.5.1 will have the FreeBSD patches and
964 +    any bug fixes.  (But not more *g*).
965 +
966 +Fri Oct  8 02:06:35 MEST 1999  (1.5.0-pre4)
967 +
968 +    Finally I could get away from my Playstation and
969 +    work a little bit on alevt *g*
970 +
971 +    - Tried to change alevt-date with freebsd patches from
972 +      Thomas Runge <runge@rostock.zgdv.de>.  They do not
973 +      have the timezone and daylight variables.  But I do
974 +      not have tm_gmtoff.  So it's commented out for the
975 +      moment.
976 +    - Made font.[ch] so that only one copy of the fonts is
977 +      in the executable when including export modules
978 +      (exp-gfx.c uses them).  Had to tweak the makefile.
979 +    - Added 's' for saving pages to files.  Prompts for
980 +      a format string and a filename and saves the
981 +      currently displayed page.
982 +      (Formerly, 's' and 'S' were aliases for '/' and '?'
983 +      (searching))
984 +    - Found a bug in export.c regarding double height lines.
985 +    - Added a patch to the contrib dir to pass the URL you
986 +      click on to netscape.
987 +
988 +    The documentation updates are still missing.  That's
989 +    the last thing to do for 1.5.0.  But that's so boring...
990 +
991 +Fri Aug 20 21:28:18 MEST 1999
992 +
993 +    Back from holidays and time for alevt...
994 +
995 +    - Added html, png, and ppm export modules from Paul.
996 +    - Fixed the return status for export_output.
997 +    - Tweaked the makefile for libpng support.
998 +    - Added the export howto to the contrib dir.
999 +    - Added Paul's fmt_page routine to contrib as a patch
1000 +      to export.c
1001 +    - Added "-format help" to list all output formats and
1002 +      its options.
1003 +
1004 +    Still to do: update man page of alevt-cap, add export
1005 +    to alevt, add erc to alevt-cap.
1006 +
1007 +    Oh, btw, alevt is running on FreeBSD with the bt848
1008 +    driver from Roger Hardiman <roger@cs.strath.ac.uk> *g*.
1009 +    I wonder if it's possible to port his driver to linux.
1010 +    Maybe it runs better then bttv... (I still get reports
1011 +    with stuck xawtvs ...)
1012 +
1013 +Mon Jul 19 01:15:50 MEST 1999  (1.5.0-pre3)
1014 +
1015 +    - Added export modules.  It's gotten much to complex.
1016 +
1017 +    A lot of things still to do:  add other formats [Paul?],
1018 +    add documentation, add format-help, add export to alevt,
1019 +    add erc to alevt-cap, ...
1020 +
1021 +Mon Jul 12 00:09:03 MEST 1999
1022 +
1023 +    - Added an incomplete 20x24 font to the contrib dir.
1024 +
1025 +Tue Jun 29 00:46:03 MEST 1999  (1.5.0-pre2)
1026 +
1027 +    - Added lanugage tables from Radoslaw.
1028 +    - Added new latin-2 font from Radoslaw.
1029 +    - Fixed a bug with hold graphics.  There's still one bug
1030 +      on CNN's page 100 (has to do with set-after behaviour of
1031 +      color select in hold graphics mode).  The last line of the
1032 +      earth should be blue-blue-green not blue-green-green.
1033 +      AleVT always uses set-at behaviour.  Afaik, this combination
1034 +      (hold + set-after) is the only way to see the difference
1035 +      between set-at and set-after.  Set-after will blow up the
1036 +      code so I will leave it as it is.
1037 +    - vbi now collects all pkt26 and enhances the page before
1038 +      it is passed on.  Seem's to work.
1039 +
1040 +Tue Jun 22 22:13:45 MEST 1999  (1.5.0-pre1)
1041 +
1042 +    - Fixed hamm24.  And, it should be fast now *g*
1043 +    - Moved the language conversion parts to lang.c
1044 +    - Added additional lang_chars for use with the latin-2 charset.
1045 +    - Added -charset latin-1/2 option.
1046 +    - Added pkt x/26 decoding.  ... and noticed, that these packets
1047 +      are sent between line 0 and 1.  FUCK.  Now I have to save
1048 +      all x/26 until the page is complete.  But not today... :-(
1049 +
1050 +      Things are getting more and more uglier.  The right thing
1051 +      to do would be to make a big font with all possible chars
1052 +      (including cyrillic, arabic, smoothed graphics, ...).
1053 +      That would mean to make each char in vtp->data 16 bit.  
1054 +      And then add an attribute word for each char so that the
1055 +      enhanced attributes work, too.  Searching and cut & paste
1056 +      would be more complicated...  but the worst, the pages
1057 +      will be much bigger (4 times larger).  Really bad for
1058 +      the cache and god knows for what else...
1059 +      Is it worth all the trouble???  I don't need that!
1060 +
1061 +Tue Jun 15 01:25:40 MEST 1999
1062 +
1063 +    - Changed .specs file again.  I previously changed alevt.spec
1064 +      instead of alevt.spec.in :-(
1065 +
1066 +Mon Jun 14 23:45:48 MEST 1999  (1.4.9)
1067 +
1068 +    - Made a very simple capture program (alevt-cap).  Just collects
1069 +      the given pages and writes them to disk in ASCII.
1070 +      I will only accept bug reports/fixes, no enhancement requests 
1071 +      at the moment *g*
1072 +      (I can't believe it; I even wrote a man page...)
1073 +    - Changed the subpage delimiter on the command line from '/' to '.'
1074 +      The old one ('/') is still accepted.  (Reason: alevt-cap uses
1075 +      the page number as part of the filename and a / is inconvenient.
1076 +      And I already wanted to let you enter subpages with the keypad
1077 +      and the '.' would be a nice key for that.)
1078 +    - Tweaked the .specs file...  (Btw, alevt-date and alevt-cap should
1079 +      not be installed in the X11 tree.)
1080 +
1081 +Thu Jun 10 22:13:40 MEST 1999
1082 +
1083 +    - moved the hamming decoding and associated table to hamm.c
1084 +    - played with pkt26 to support polish stations.  not finished.
1085 +
1086 +Tue Jun  8 21:00:42 MEST 1999
1087 +
1088 +    - Added -[no]bell option.  And the 'b' key.
1089 +    - Replaced all xio_bell calls with appropriate status messages.
1090 +
1091 +Sat Jun  5 00:42:19 MEST 1999  (1.4.8)
1092 +
1093 +    - Shit.  Just after the release I found a bug.  The header line
1094 +      isn't updated as it should :-(  (Just affects parallel mode
1095 +      transmission, so no new version, yet.)
1096 +    - Created mailing list.  Either go to http://alevt.listbot.com/
1097 +      or write mail to alevt-subscribe@listbot.com.
1098 +    - Added bttv-patch to the contrib dir for those who don't want
1099 +      to wait for bttv-0.6.5.
1100 +
1101 +Fri Jun  4 17:19:41 MEST 1999  (1.4.7)
1102 +
1103 +    - Added autodetection of VBIBUF_SIZE (only with newer bttv, 0.6.5).
1104 +    - Forgot to close vbi_fd in vbi_close :-/
1105 +    - Made ERC on by default.  If the page has no errors it
1106 +      costs nothing and if it has you'll turn it on anyway.
1107 +    - Changed parameters of EV_HEADER.
1108 +    - Removed XAWTV_HACKS.
1109 +    - Updated some docu.
1110 +    - Modified the contrib samples to reflect previous API changes.
1111 +
1112 +Fri May 28 20:16:44 MEST 1999
1113 +
1114 +    - Added status messages.
1115 +    - Added EV_TIMER event.
1116 +    - Added channel change detection (only with newer bttv, 0.6.5).
1117 +      Sends EV_RESET event.  The XAWTV_HACKS can be removed *phww*.
1118 +      Now the cache is automatically cleared if you switch to a
1119 +      new channel.  It even works with a SAT receiver connected to
1120 +      Video-In.
1121 +
1122 +Thu May 27 23:54:32 MEST 1999  (1.4.6 unofficial)
1123 +
1124 +    - Cache reset didn't reset npages and hi_subno.
1125 +    - Added XAWTV_HACKS, that is: alevt scans for a window with
1126 +      the _XAWTV_STATION property and registers for property changes.
1127 +      Result: when switching channels in xawtv, the cache is cleared.
1128 +      (This is just an ugly hack.  Xawtv must already be running
1129 +      when alevt is started.  If you quit and restart xawtv, it no
1130 +      longer works.  There's no method to detect if the monitored
1131 +      xawtv is really the one controlling our /dev/vbi, etc...)
1132 +      Added on request of Paul Ortyl <ortylp@key.net.pl>.
1133 +    - Added error reduction circuit.  It's part of the cache.
1134 +      Errors in a new page are replaced by characters/lines from
1135 +      an already cached (older) page.  May be toggled by pressing
1136 +      'e' (editor is now on 'E').  It's not enabled by default
1137 +      because it takes some CPU time.  Idea by Paul Ortyl.
1138 +    - TODO: clean up.  document new features.  add status messages.
1139 +
1140 +Sun May 23 19:13:07 MEST 1999  (1.4.5)
1141 +
1142 +    - New spec file from Karsten Hopp <karsten.hopp@delix.de>
1143 +    - Changed it even further *g*
1144 +    - Fixed a bug with graphics selection of double height lines.
1145 +    - Documented the -oldbttv option in the man page.  Now it's in
1146 +      every page.  This should finally halve the mails I get.
1147 +      (For the other halve I have to write alevt-capture *g*)
1148 +
1149 +Sat May  8 02:41:21 MEST 1999
1150 +
1151 +    - Ehhh, changed u32 typedef from unsigned long to unsigned int.
1152 +      Same for s32.  The Alpha's longs are 64 bits.
1153 +      Thanks to Sdruddin Rejeb <rejeb@dpmail.epfl.ch>.
1154 +      (There's something strange with this in the X libs.  They are
1155 +      sometimes very lazy about ints and longs.  Someone with an
1156 +      Alpha should check the cut & paste, both, text and graphics
1157 +      selections.)
1158 +
1159 +Thu Apr 29 22:38:37 MEST 1999
1160 +
1161 +    - Updated contrib/t1.c
1162 +    - Added ':' as a subpage delimiter for clicking (2:7 is the same as 2/7)
1163 +
1164 +Mon Apr 19 19:40:09 MEST 1999
1165 +
1166 +    - Switched the scrolling direction of the wheel
1167 +
1168 +Mon Mar 29 01:23:06 MEST 1999  (1.4.4)
1169 +
1170 +    - fixed DST bug in alevt-date
1171 +    - added crude latin-2 support.  'make FONT=latin-2' should be enough.
1172 +      (found the stuff on the website http://www.penguin.cz/~marvin/ of
1173 +      Daniel Smolik <smolikdan@email.cz>.  I don't know if he is the one
1174 +      who made the font).
1175 +
1176 +Wed Mar 17 20:53:59 MET 1999
1177 +
1178 +    - added timeout to alevt-date
1179 +
1180 +Fri Feb 19 18:22:53 MET 1999   (1.4.3>
1181 +
1182 +    - Makefile changes.
1183 +
1184 +Fri Jan 29 18:01:27 MET 1999
1185 +    
1186 +    - fixed bug in dllist.h.  dl_insert_first(h, dl_remove(n)) was only
1187 +      working due to gcc implementation details.
1188 +
1189 +Mon Jan 25 18:33:42 MET 1999   (1.4.2)
1190 +
1191 +    - fixed 'clear cache'.  no longer removes the help pages.
1192 +    - made next/prev key/button to skip missing pages.
1193 +    - added support for wheeled mice.  (I heard it's really cool *g*)
1194 +    - problem with subpages > 0xff fixed.
1195 +
1196 +Thu Jan 21 17:31:46 MET 1999   (1.4.1)
1197 +
1198 +    - added man pages from Thomas Schoepf <schoepf@usa.net>.
1199 +    - added rpm-spec file from Mario Mikocevic <mozgy@times.hr>.
1200 +      (looks a little bit odd, but I don't know very much about rpms)
1201 +    - minor option fix in alevt-date (people are really using it!?!)
1202 +
1203 +Tue Jan  5 03:50:08 MET 1999   (1.4.0)
1204 +
1205 +    - should be 1.3.10 but that gives problems with the help pages :-(
1206 +    - fixed varargs for alpha
1207 +    - default is now -newbttv (aka -fuckbttv).  use -oldbttv for v<0.5.20.
1208 +
1209 +Sat Jan  2 21:40:54 MET 1999
1210 +
1211 +    - small patches to alevt-date (-vbi options and tzset fix)
1212 +    - played with pkt8/30.  what a mess.  MTV is 25:13 ahead *g*
1213 +
1214 +Wed Dec 30 19:30:14 MET 1998   (1.3.9)
1215 +
1216 +    - slightly modified the pll (may need further tuning)
1217 +
1218 +Wed Dec 30 05:27:26 MET 1998   (1.3.8)
1219 +
1220 +    - added pll (-finetune auto).  try -debug for status msgs.
1221 +
1222 +Tue Dec 29 05:15:53 MET 1998   (1.3.7)
1223 +
1224 +    - added finetune option (see README)
1225 +    - you may now type -newbttv instead of -fuckbttv *g*
1226 +
1227 +Mon Dec 28 19:36:32 MET 1998   (1.3.6)
1228 +
1229 +    - Makefile: R5 -> R6  :-(
1230 +    - vbi.c now works without cache.c
1231 +    - added alevt-date (set system time from teletext)
1232 +    - bug in option parsing (error reporting)
1233 +
1234 +Thu Dec 17 19:56:16 MET 1998   (1.3.5)
1235 +
1236 +    - added -L/usr/X11R6/lib in Makefile
1237 +    - put some blurb (in german) in contrib.
1238 +
1239 +Thu Dec 17 05:01:34 MET 1998   (1.3.4)
1240 +
1241 +    - added class hints on (invisible) leader window to make docking
1242 +      in wmaker easier.  instant name for leader is "VTLeader" and for
1243 +      the viewing windows "VTPage"
1244 +    - made the icon a little bit smaller
1245 +
1246 +Mon Dec 14 23:05:41 MET 1998   (1.3.3)
1247 +
1248 +    Release 1.3.3
1249 +
1250 +    - added spanish/portuguese charset decoding
1251 +    - added similar looking glyphs for czech
1252 +    - minor changes on the font
1253 +    - middle click on current page number opens new parent window
1254 +    - case dependant search if the pattern begins with a '!'
1255 +    - line editing may be aborted with ^C
1256 +
1257 +Sun Dec 13 17:55:32 MET 1998   (1.3.2)
1258 +
1259 +    - when there were multiple windows of the same page, cycling through
1260 +      the subpages changed all windows.  fixed.
1261 +    - hilight the found text (make it the selection).
1262 +    - slightly modified the hilight colors.
1263 +    - default window size set to 41x25 (looks better).
1264 +    - rewrote the editor.
1265 +
1266 +Sun Dec 13 07:03:10 MET 1998   (1.3.1)
1267 +
1268 +    - fixed one command line option
1269 +    - corrected bug in searching
1270 +
1271 +Sat Dec 12 20:27:03 MET 1998   (1.3.0)
1272 +
1273 +    Release 1.3.0
1274 +
1275 +    - searching is now ready (still need a status line for error msgs).
1276 +    - set SIGPIPE to SIG_DFL.  some shells (KDE) set it to SIG_IGN and then
1277 +      the timer task won't be killed on exit.
1278 +    - updated the help pages.
1279 +    - I'm frustrated!  BTTV_VERSION doesn't work on /dev/vbi.  So no
1280 +      autodetection of driver version.  Added -fuckbttv option instead.
1281 +
1282 +Fri Dec 11 19:36:03 MET 1998   (1.2.5)
1283 +
1284 +    - reworked national charset (lang) handling.  everthing now done in vbi.c.
1285 +      the rest just deals with latin-1.
1286 +    - first version of searching (functional, but dirty.  needs more work.)
1287 +
1288 +Thu Dec 10 20:06:27 MET 1998   (1.2.4)
1289 +
1290 +    - new file edline.c (line editor for the menu line. start for searching...)
1291 +    - blinking cursor
1292 +    - added an 48x48 icon from Ulf Rompe
1293 +    - added pasting into the line editor (insert key).
1294 +    - release ownership of XA_PRIMARY when deselecting selection.
1295 +
1296 +Tue Dec  8 21:26:26 MET 1998   (1.2.3)
1297 +
1298 +    - new file ui.c (most user interface stuff from main.c)
1299 +    - rewrote option parsing
1300 +    - allow specification of child windows on command line. now
1301 +      it's possible to regenerate the complete window layout by
1302 +      the commandline (may be of some use for session management).
1303 +    - some spelling fixes in the help pages from Mark Bryars
1304 +
1305 +Mon Dec  7 16:59:28 MET 1998   (1.2.2)
1306 +
1307 +    - reworked hidden handling in xio.c
1308 +
1309 +Sun Dec  6 19:54:10 MET 1998   (1.2.1)
1310 +
1311 +    - class name changed!  from Alevt to AleVT.
1312 +    - window/icon title shows current page number
1313 +    - changed the icon to a 64 pixel width one.  not nice but ...
1314 +    - added a small mini icon for the title bar. is there a property I can set?
1315 +    - pressing on the CPN puts the page on hold
1316 +    - pressing on the violet * reveals concealed text
1317 +    - added simple menu if no FastText menu is present
1318 +    - allow subpages to be specified on the command line (eg 100/4)
1319 +
1320 +Sat Dec  5 20:59:51 MET 1998   (1.2.0)
1321 +
1322 +    Release 1.2.0
1323 +
1324 +    - finished the help pages.
1325 +    - added command line handling
1326 +    - added user geometry handling in xio.c
1327 +
1328 +Sat Dec  5 02:28:16 MET 1998   (1.1.2)
1329 +
1330 +    - allow magazin 9 (help system)
1331 +    - start box char after a pagenumber selects subpage 1 (hack)
1332 +    - added a crude page editor (just to create the help pages.  not for users.)
1333 +    - started with the online help system (sounds great, hehe)
1334 +
1335 +Tue Dec  1 20:19:53 MET 1998   (1.1.1)
1336 +
1337 +    - added concept of parent and child windows.  now, the middle mouse
1338 +      button changes the contens of the child window.  if there isn't
1339 +      one, it is created.
1340 +    - Middle mouse button on x/y (subpage cycling) selects the previous
1341 +      subpage.  (updating the child with subpages is hairy...)
1342 +
1343 +Sun Nov 29 23:34:18 MET 1998   (1.1.0)
1344 +
1345 +   Release 1.1.0
1346 +
1347 +   - removed most of the recovery for single bad lines (does too much harm)
1348 +   - changed handling of parallel mode transmission (untested.  unused in .de)
1349 +   - added selection (text & graphic!).  try pasting into xpaint :-)
1350 +   - added cache-clear function ('c')
1351 +   - click on x/y selects the next subpage
1352 +   - some minor tweaks
1353 +   - added an icon bitmap.
1354 +
1355 +Wed Nov 24 23:33:34 MET 1998   (1.0.0)
1356 +
1357 +    First Release 1.0.0
1358 diff -r af23d23c278b util/alevt/EXPORT.HOWTO
1359 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
1360 +++ b/util/alevt/EXPORT.HOWTO   Tue Dec 21 12:13:28 2010 +0100
1361 @@ -0,0 +1,84 @@
1362 +HOW TO IMPLEMENT A NEW EXPORT MODULE:
1363 +
1364 +As an example look at exp-txt.c (it implements two modules which
1365 +are pretty similar).
1366 +
1367 +You have to create one exported structure (struct export_module).
1368 +This structure holds the following data:
1369 +
1370 +1. The name of the format (example: "ascii").
1371 +
1372 +2. The default extension to use for building filenames ("txt").
1373 +
1374 +3. A list of module options. It's a 0 terminated array of char
1375 +pointers, one for each option (similar to argv of main).
1376 +If an option string contains a '=', it is an option that
1377 +requires an argument.  The part after the '=' is ignored at
1378 +the moment.  Later, I want to add help messages that show
1379 +these options strings and then the part after the '=' becomes
1380 +useful.
1381 +If you do not have local options, set this field to 0.
1382 +
1383 +4. The number of bytes for local data in the export structure.
1384 +There you may store data collected during option parsing or
1385 +for whatever you want.
1386 +Don't use global variables for storing this data!  With
1387 +alevt-cap you may give:
1388 +
1389 +alevt-cap -format ascii,color 100  -format ascii 100
1390 +
1391 +to save the page in two different formats.  Using global
1392 +vars would inhibit this.  The data area in struct export
1393 +starts at the 'data' field.  You have to cast it to the
1394 +appropriate type (see the D macro in exp-txt.c).
1395 +If you do not need local data, set this field to 0.
1396 +
1397 +5. An open function (or call it constructor).  It is called
1398 +when your module is needed and it is passed a struct export
1399 +(the instance).  This function may be used to initialize
1400 +the local data in the export struct.
1401 +If all goes well return 0.  Else call export_error (see
1402 +below) and return -1.
1403 +If you do not need an open function, set this field to 0.
1404 +
1405 +6. A close function (or call it destructor).  It is called
1406 +when your module is no longer needed.  If you allocated
1407 +memory in the open func, this is the place to free it.
1408 +If you do not need a close function, set it to 0.
1409 +
1410 +7. An option function.  It is called for each module option
1411 +the user has given.  It is passed an option number (first
1412 +option in the option-array gives 1, ...) and a char pointer
1413 +to the argument for that option (0 if the option does not
1414 +need an arg).  The argument pointer keeps valid until the
1415 +close function is called.
1416 +If all goes well, return 0.  Else call export_error and
1417 +return -1.
1418 +If you gave an option list at point 3 you have to specify
1419 +this function.  Else set it to 0.
1420 +
1421 +8. An output function.  It is called to produce the output.
1422 +It is given the file name to use and a fmt_page pointer.
1423 +The fmt_page contains an interpreted image of the page.
1424 +There are no control chars in it.  It uses the character
1425 +set defined by the two fonts.
1426 +These function may be called consecutive for multiple
1427 +pages.  Don't expect one output for one open/close.
1428 +Return codes as above... (0: ok,  -1: error).
1429 +
1430 +The export_error function:  If one of your functions wants to
1431 +report an error, it has to use the export_error function.
1432 +It's a printf like function to set error messages.  In alevt-cap
1433 +these messages are printed to stderr, in alevt they will be
1434 +shown in the status line (so don't make them too long).
1435 +
1436 +The last step is to add your export_module structure to the
1437 +list of modules in export.c (at the top).
1438 +Please, make sure that this structure is the only exported
1439 +symbol.  All other things should be static.
1440 +
1441 +That's all.  A structure describing your module and 4 functions
1442 +(open, close, option, output) to implement it.  Shouldn't be too
1443 +complicated.
1444 +
1445 +Ciao, ET.
1446 diff -r af23d23c278b util/alevt/Makefile
1447 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
1448 +++ b/util/alevt/Makefile       Tue Dec 21 12:13:28 2010 +0100
1449 @@ -0,0 +1,130 @@
1450 +VER=1.7.0
1451 +OPT=-O -g -w
1452 +DEFS=-DWITH_PNG
1453 +DEFS+=-DUSE_LIBZVBI
1454 +FONT=vtxt
1455 +MAN_DIR=man
1456 +DESTDIR=
1457 +PREFIX=/usr
1458 +HOSTCC=$(CC)
1459 +CFLAGS=$(OPT) -DVERSION=\"$(VER)\" $(DEFS) -I$(USR_X11R6)/include
1460 +EXPOBJS=export.o exp-txt.o exp-html.o exp-gfx.o font.o
1461 +OBJS=main.o ui.o xio.o fdset.o vbi.o cache.o help.o search.o misc.o hamm.o lang.o $(EXPOBJS)
1462 +TOBJS=alevt-date.o vbi.o fdset.o misc.o hamm.o lang.o
1463 +COBJS=alevt-cap.o vbi.o fdset.o misc.o hamm.o lang.o $(EXPOBJS)
1464 +
1465 +ifneq ($(findstring WITH_PNG,$(DEFS)),)
1466 +EXPLIBS=-lpng -lz -lm
1467 +endif
1468 +
1469 +ifneq ($(findstring USE_LIBZVBI,$(DEFS)),)
1470 +ZVBILIB=-lzvbi -lpthread
1471 +EXPLIBS+=$(ZVBILIB)
1472 +endif
1473 +
1474 +all: alevt alevt-date alevt-cap alevt.1 alevt-date.1 alevt-cap.1
1475 +
1476 +alevt: $(OBJS)
1477 +       $(CC) $(OPT) $(OBJS) -o alevt -L$(PREFIX)/lib -L$(PREFIX)/lib64 -lX11 $(EXPLIBS)
1478 +
1479 +alevt-date: $(TOBJS)
1480 +       $(CC) $(OPT) $(TOBJS) -o alevt-date $(ZVBILIB)
1481 +
1482 +alevt-cap: $(COBJS)
1483 +       $(CC) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS)
1484 +
1485 +font.o: font1.xbm font2.xbm font3.xbm font4.xbm
1486 +fontsize.h: font1.xbm font2.xbm font3.xbm font4.xbm
1487 +       fgrep -h "#define" font1.xbm font2.xbm font3.xbm font4.xbm >fontsize.h
1488 +
1489 +font1.xbm: bdf2xbm $(FONT)-latin-1.bdf
1490 +       ./bdf2xbm font1 <$(FONT)-latin-1.bdf >font1.xbm
1491 +
1492 +font2.xbm: bdf2xbm $(FONT)-latin-2.bdf
1493 +       ./bdf2xbm font2 <$(FONT)-latin-2.bdf >font2.xbm
1494 +
1495 +font3.xbm: bdf2xbm vtxt-koi8.bdf
1496 +       ./bdf2xbm font3 <vtxt-koi8.bdf >font3.xbm
1497 +
1498 +font4.xbm: bdf2xbm vtxt-iso8859-7.bdf
1499 +       ./bdf2xbm font4 <vtxt-iso8859-7.bdf >font4.xbm
1500 +
1501 +bdf2xbm: bdf2xbm.c
1502 +       $(HOSTCC) bdf2xbm.c -o bdf2xbm
1503 +
1504 +clean:
1505 +       rm -f *.o page*.txt a.out core bdf2xbm font?.xbm fontsize.h
1506 +       rm -f alevt alevt-date alevt-cap
1507 +
1508 +rpm-install: all
1509 +       install -m 0755 alevt        ${RPM_BUILD_ROOT}$(USR_X11R6)/bin
1510 +       install -m 0755 alevt-date   ${RPM_BUILD_ROOT}$(USR_X11R6)/bin
1511 +       install -m 0755 alevt-cap    ${RPM_BUILD_ROOT}$(USR_X11R6)/bin
1512 +       install -m 0644 alevt.1      ${RPM_BUILD_ROOT}$(USR_X11R6)/$(MAN)/man1
1513 +       install -m 0644 alevt-date.1 ${RPM_BUILD_ROOT}$(USR_X11R6)/$(MAN)/man1
1514 +       install -m 0644 alevt-cap.1  ${RPM_BUILD_ROOT}$(USR_X11R6)/$(MAN)/man1
1515 +       install -d 0755 $(RPM_BUILD_ROOT)$(USR_X11R6)/include/X11/pixmaps
1516 +       install -m 0644 alevt.png $(RPM_BUILD_ROOT)$(USR_X11R6)/include/X11/pixmaps
1517 +
1518 +install: all
1519 +       install -m 0755 alevt           $(DESTDIR)$(PREFIX)/bin
1520 +       install -m 0755 alevt-date      $(DESTDIR)$(PREFIX)/bin
1521 +       install -m 0755 alevt-cap       $(DESTDIR)$(PREFIX)/bin
1522 +       install -m 0644 alevt.1         $(DESTDIR)$(PREFIX)/share/man/man1
1523 +       install -m 0644 alevt-date.1    $(DESTDIR)$(PREFIX)/share/man/man1
1524 +       install -m 0644 alevt-cap.1     $(DESTDIR)$(PREFIX)/share/man/man1
1525 +       install -m 0644 alevt.png $(DESTDIR)$(PREFIX)/share/pixmaps
1526 +       install -m 0644 alevt.desktop $(DESTDIR)$(PREFIX)/share/applications
1527 +
1528 +uninstall: clean
1529 +       rm -f /usr/bin/alevt /usr/bin/alevt-cap /usr/bin/alevt-date \
1530 +       /usr/share/pixmaps/alevt.png /usr/share/applications/alevt.desktop \
1531 +       /usr/share/man/man1/alevt.1 /usr/share/man/man1/alevt-cap.1 \
1532 +       /usr/share/man/man1/alevt-date.1
1533 +
1534 +depend:
1535 +       makedepend -Y -- $(CFLAGS_none) -- *.c 2>/dev/null
1536 +
1537 +tar-html: alevt.1 alevt-date.1 alevt-cap.1
1538 +       for i in alevt.1 alevt-date.1 alevt-cap.1 ; do \
1539 +           j=`basename $$i .1` ; \
1540 +           j=`basename $$j .1x` ; \
1541 +           nroff -man $$i | { \
1542 +               echo "<HTML><HEAD><TITLE>AleVT</TITLE></HEAD><BODY>" ; \
1543 +               man2html -bare -uelem U -nodepage ; \
1544 +               echo "</B0DY></HTML>" ; \
1545 +           } | sed -e "s,</B> <B>, ,g" -e "s,</U> <U>, ,g" >~/exit/alevt/$$j.html ;\
1546 +       done
1547 +
1548 +tar: tar-html clean
1549 +       sed s/VERSION/$(VER)/g <alevt.lsm.in >~/exit/alevt/alevt-$(VER).lsm
1550 +       sed s/VERSION/$(VER)/g <alevt.spec.in >alevt.spec
1551 +       cd .. ;\
1552 +           ln -s alevt alevt-$(VER) ;\
1553 +           tar vcfz ~/exit/alevt/alevt-$(VER).tar.gz alevt-$(VER)/* ;\
1554 +           rm alevt-$(VER)
1555 +       cat <CHANGELOG >~/exit/alevt/changes
1556 +
1557 +# DO NOT DELETE
1558 +
1559 +alevt-cap.o: vt.h misc.h fdset.h dllist.h vbi.h cache.h lang.h export.h
1560 +alevt-date.o: os.h vt.h misc.h fdset.h dllist.h vbi.h cache.h lang.h
1561 +cache.o: misc.h dllist.h cache.h vt.h help.h
1562 +exp-gfx.o: lang.h misc.h vt.h export.h font.h fontsize.h
1563 +exp-html.o: lang.h misc.h vt.h export.h
1564 +exp-txt.o: os.h export.h vt.h misc.h
1565 +export.o: vt.h misc.h export.h
1566 +fdset.o: dllist.h misc.h fdset.h
1567 +font.o: font1.xbm font2.xbm font3.xbm font4.xbm
1568 +hamm.o: vt.h misc.h hamm.h
1569 +help.o: vt.h misc.h vt900.out vt901.out vt902.out vt903.out vt904.out vt905.out
1570 +help.o: vt906.out vt907.out vt908.out vt909.out vt910.out vt911.out vt912.out
1571 +lang.o: misc.h vt.h lang.h
1572 +main.o: vt.h misc.h fdset.h dllist.h xio.h vbi.h cache.h lang.h ui.h
1573 +main.o: search.h
1574 +misc.o: misc.h
1575 +search.o: vt.h misc.h cache.h dllist.h search.h
1576 +ui.o: vt.h misc.h xio.h dllist.h vbi.h cache.h lang.h fdset.h
1577 +ui.o: search.h export.h ui.h
1578 +vbi.o: os.h vt.h misc.h vbi.h dllist.h cache.h lang.h fdset.h hamm.h
1579 +xio.o: vt.h misc.h dllist.h xio.h fdset.h lang.h icon.xbm font.h fontsize.h
1580 diff -r af23d23c278b util/alevt/README
1581 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
1582 +++ b/util/alevt/README Tue Dec 21 12:13:28 2010 +0100
1583 @@ -0,0 +1,72 @@
1584 +Hi,
1585 +
1586 +this software is not just a program, it's moreover a legend.
1587 +It is THE protagonist of all videotext applications under Linux.
1588 +
1589 +During the past 10 years the video standards, the APIs, the kernel
1590 +have seen lots of changes.
1591 +But unfortunately this program has NOT seen much maintenance.
1592 +The results of that misfit appearance are:
1593 +
1594 +1. lots of forks flying around in the Internet
1595 +2. lots of patches flying around, some good, some disgusting, some out of time
1596 +3. lots of cruft which is completely outdated or obsolete for other reasons
1597 +
1598 +To handle all that in one big effort I decided to redesign the program
1599 +completely, enlarging its capabilities for DVB-S at the same time.
1600 +
1601 +So here are the changes:
1602 +
1603 +1. Erasure of old help pages and rename / reorganize / update the rest
1604 +-> redesign of the online help system / implying alevt-date and alevt-cap
1605 +
1606 +2. Erasure of old outdated integers, functions, parameters:
1607 +
1608 +- bell, big_buf, debug, display, editor, erc, fine_tune, newbttv,
1609 +- oldbttv
1610 +
1611 +3. Coding style cleanups (no superfluous comments, not more than
1612 +   80 characters per column, no uncommented code.
1613 +
1614 +4. No strange characters in the outfile, latin alphabet in purity instead.
1615 +
1616 +5. Alevt can be started in 4 modes now if you are running it in DVB mode:
1617 +
1618 +- by service id (sid)
1619 +- by teletext pid (ttpid)
1620 +- by channel name
1621 +- without parameter
1622 +
1623 +6. Starting it in DVB mode on the command line it presents you
1624 +a table with human readable values such as sid, teletext pid,
1625 +PMT (Program Map Table), provider name, service name, language, service type.
1626 +This makes it easier for you to start multiple teletext windows
1627 +in multiple console sessions manually.
1628 +
1629 +If working with a script and the option -o (outfile) you can
1630 +also start multiple teletext windows of all channels in a transponder.
1631 +I develop a GUI using TCL / TK 8.5 and Iwidgets 4.01 to do that and other
1632 +tasks graphically (i. e. by mouse click).
1633 +
1634 +7. If you install the program on the command line by typing "make &
1635 +   make install" there is an uninstaller now to revert the installation:
1636 +   "make uninstall".
1637 +
1638 +ENJOY IT!
1639 +
1640 +Uwe Bugla, February 11th, 2010.
1641 +
1642 +External dependencies
1643 +
1644 +AleVT needs some system libraries to be installed in your system.
1645 +They are zlib, libX11, libpng and libzvbi.
1646 +
1647 +Credits go to:
1648 +- Andreas Rottmann from debian.org for compiler fixes and
1649 +  other kinds of investigation.
1650 +- Francesco Lavra for supplying a kernel patch to avoid kernel demux
1651 +  incompatibilities with kernels >= 2.6.32
1652 +- Andy Walls for helpful investigation in kernelspace
1653 +- Edgar Toernig for providing the source version 1.6.2 and doing all the
1654 +  development for the basic versions
1655 +- Tom Zoerner for the implementation of libzvbi
1656 diff -r af23d23c278b util/alevt/README.OLD
1657 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
1658 +++ b/util/alevt/README.OLD     Tue Dec 21 12:13:28 2010 +0100
1659 @@ -0,0 +1,78 @@
1660 +Hi,                                            Menden, 21 Sep 2000
1661 +
1662 +    This program decodes and displays Videotext/Teletext from a
1663 +    /dev/vbi device.
1664 +
1665 +
1666 +COMPILE & INSTALL:
1667 +
1668 +    There's nothing to configure.  A simple 'make' is all.
1669 +    If you do not want png support remove the WITH_PNG in
1670 +    the Makefile.  Additionally, if you want a smaller font
1671 +    uncomment the "FONT=neep9" line.
1672 +
1673 +    It gives you 'alevt', 'alevt-date', and 'alevt-cap' and
1674 +    their man pages 'alevt.1x', 'alevt-date.1', and 'alevt-cap.1'.
1675 +
1676 +    You can install them where ever you want (i.e. /usr/local/bin).
1677 +    The programs are self-contained and require no other files.
1678 +
1679 +    NOTE: Be careful with 'make install'.  It's just for me :-)
1680 +
1681 +
1682 +PROBLEMS:
1683 +
1684 +    If you have a lot of decoding errors (lot of these lightning symbols)
1685 +    you may try pressing the 'f' and 'F' key.  This allows fine tuning of
1686 +    the decoder circuit.  There's also a -finetune command line option.
1687 +    This should only be necessary on really bad signals.
1688 +
1689 +    Maybe, I add autotuning later...
1690 +
1691 +    UPDATE: added autotuning.  It's the default.  If you add -debug the
1692 +    the actions of the pll are printed to stdout.
1693 +
1694 +    To get the old (pre finetune) behaviour start it with -finetune 0.
1695 +
1696 +    UPDATE: disabled autotuning *g*  sometimes it's too jumpy...
1697 +
1698 +
1699 +ALEVT-DATE:
1700 +    I added a little tool to set the system time from the videotext
1701 +    time.  The date is not interpreted (not even transmitted on some
1702 +    channels).  So it allows only adjustment of +/-12 hours.
1703 +    The default allowed adjustment is limited to +/-2 hours (use
1704 +    -delta to change).  Without the -set option it just display
1705 +    the date in the format of the date command.  Look at strftime(3)
1706 +    for possible control sequences you may use in the -format option.
1707 +
1708 +
1709 +HACKING:
1710 +
1711 +    If you want to play with the font size, you may resize it with
1712 +    xv (xv font1.xbm).  Just make sure, that its width is a multiple of
1713 +    32 and its height a multiple of 8.  A simple make will create
1714 +    a version of AleTV with the new font.  Warning: a make clean
1715 +    will erase font1.xbm.  The next make will recreate font.xbm from
1716 +    vtxt.bdf.
1717 +
1718 +    AleVT has a built in page editor.  If you start it with -editor
1719 +    you may press 'E' to invoke it.  For the usage you have to consult
1720 +    the sources.  (It's very crude!)
1721 +
1722 +
1723 +TODO: (no specific order)
1724 +
1725 +    - Error correction in alevt-cap
1726 +    - Better language support.  Internal 16-bit charset.
1727 +    - Separated graphics.
1728 +    - Rewrite the whole stuff.  A networked teletext daemon and clients
1729 +      that connect to it for display, capture, cgi, ...
1730 +
1731 +
1732 +NEWER VERSIONS:
1733 +
1734 +    The primary site of AleVT is http://goron.de/~froese
1735 +
1736 +Have fun,
1737 +Edgar Toernig (froese@gmx.de)
1738 diff -r af23d23c278b util/alevt/ReadmeGR
1739 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
1740 +++ b/util/alevt/ReadmeGR       Tue Dec 21 12:13:28 2010 +0100
1741 @@ -0,0 +1,28 @@
1742 +29-9-2003
1743 +
1744 +ÅëëçíéêÜ ãéá ôï ALEVT 
1745 +Ç ðñïóèÞêç Åëëçíéêþí Ýãéíå ôñïðïðïéþíôáò ôï patch alevt-1.6.3.rus.diff ðïõ âñßóêåôå óôï öÜêåëï
1746 +contrib óôá sources  ôïõ alevt-1.6.3
1747 +
1748 +ÎåêéíÞóôå ôï ðñüãñáììá ìå ôçí ðáñÜìåôñï 
1749 +
1750 +alevt -charset iso8859-7 
1751 +
1752 +ç 
1753 +
1754 +alevt -charset el
1755 +
1756 +ÄïõëåéÝò ðïõ Ý÷ïõí íá ãßíïõí:
1757 +Êáëýôåñïò ó÷åäéáóìüò ôïõ font file vtxt-iso8859-7.bdf 
1758 +ïé Áããëéêïß ÷áñáêôÞñåò ìïéÜæïõí óáí bold óå ó÷Ýóç ìå ôïõò Åëëçíéêïýò êáé õðÜñ÷ïõí 
1759 +êÜðïéá ìéêñÜ ðñïâëçìáôÜêéá ìå ôïõò graphics  (0x01 -0x1f)
1760 +
1761 +¸ëåã÷ïò ãéá ôï áí áðåéêïíßæïíôáé óùóôÜ üëïé ïé ÷áñáêôÞñåò
1762 +
1763 +¼ðïéïò èÝëåé íá âïçèÞóåé ðáñáêáëþ íá ìïõ óôåßëåé ôçò áëëáãÝò ôïõ óôï sl45sms@yahoo.gr
1764 +Áí êÜðïéïò êÜíåé åêôåôáìÝíåò áëëáãÝò ðïõ äåí áöïñïýí ôá ÅëëçíéêÜ èá ðñÝðåé íá ôéò óôåßëåé êáé
1765 +óôïí óõããñáöÝá ôïõ ðñïãñÜììáôïò
1766 +
1767 +ÍåüôåñÜ áñ÷åßá ôïõ ðáñüíôïò èá ìðïñåßôå íá âñßóêåôå óôï  http://go.to/sl45sms/alevt/index.html
1768 +
1769 +ÓêáñâÝëçò Ðáíáãéþôçò
1770 diff -r af23d23c278b util/alevt/TODO
1771 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
1772 +++ b/util/alevt/TODO   Tue Dec 21 12:13:28 2010 +0100
1773 @@ -0,0 +1,12 @@
1774 +Hi, these are issues that I unfortunately cannot resolve myself:
1775 +
1776 +1. graphical menu written in GKT2, to be used in general connection with
1777 +    the outfile (-o) option.
1778 +
1779 +2. for usage without script and outfile option:
1780 +    DVB monitoring demon helping the program to rewrite the PAT when the
1781 +    external player software has chosen a channel which is part of a
1782 +    new transponder.
1783 +    At the moment alevt hangs when the transponder is changed.
1784 +
1785 +Uwe Bugla, February 11th, 2010.
1786 diff -r af23d23c278b util/alevt/alevt-cap.1
1787 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
1788 +++ b/util/alevt/alevt-cap.1    Tue Dec 21 12:13:28 2010 +0100
1789 @@ -0,0 +1,53 @@
1790 +.TH alevt-cap 1 "February 07, 2010"
1791 +.SH NAME
1792 +alevt-cap \- capture teletext windows.
1793 +.SH SYNOPSIS
1794 +.B alevt-cap
1795 +.RI [ options ]
1796 +.br
1797 +.SH DESCRIPTION
1798 +This manual page documents briefly the
1799 +.B alevt-cap
1800 +commands.
1801 +.PP
1802 +\fBalevt-cap\fP is a program to capture teletext pages.
1803 +.SH OPTIONS
1804 +.TP
1805 +.B \-cs -charset <latin-1/2/koi8-r/iso-8859-7>
1806 +character set
1807 +.TP
1808 +.B \-f -format <fmt[,options]>
1809 +format to save
1810 +.TP
1811 +.B \-f help -format help
1812 +lists available storage formats
1813 +.TP
1814 +.B \-h -help
1815 +print this page
1816 +.TP
1817 +.B \-n -name <filename>
1818 +page name to save
1819 +.B \-t -timeout <secs>
1820 +timeout
1821 +.TP
1822 +.B \-s -sid <sid>
1823 +service pid
1824 +.TP
1825 +.B \-t -ttpid <ttpid>
1826 +teletext pid
1827 +.TP
1828 +.B \-v -vbi <vbidev>
1829 +vbi device
1830 +.TP
1831 +Sequence: /dev/vbi; /dev/vbi0; /dev/video0; /dev/dvb/adapter0/demux0
1832 +.TP
1833 +ppp.ss stands for a page number and an optional
1834 +subpage number (example: 123.4).
1835 +.TP
1836 +.SH SEE ALSO
1837 +.BR alevt-date (1) , alevt (1).
1838 +.br
1839 +.SH AUTHOR
1840 +alevt-cap was written by Edgar Toernig <froese@gmx.de>.
1841 +.PP
1842 +This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
1843 diff -r af23d23c278b util/alevt/alevt-cap.c
1844 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
1845 +++ b/util/alevt/alevt-cap.c    Tue Dec 21 12:13:28 2010 +0100
1846 @@ -0,0 +1,280 @@
1847 +#include <stdio.h>
1848 +#include <stdlib.h>
1849 +#include <string.h>
1850 +#include <locale.h>
1851 +#include <signal.h>
1852 +#include <unistd.h>
1853 +#include "vt.h"
1854 +#include "misc.h"
1855 +#include "fdset.h"
1856 +#include "vbi.h"
1857 +#include "lang.h"
1858 +#include "dllist.h"
1859 +#include "export.h"
1860 +
1861 +static volatile int timed_out = 0;
1862 +static char *channel;
1863 +char *outfile = "";
1864 +u_int16_t sid;
1865 +
1866 +
1867 +struct req
1868 +{
1869 +    struct dl_node node[1];
1870 +    char *name; // file name
1871 +    char *pgno_str; // the pgno as given on the cmdline
1872 +    int pgno, subno; // decoded pgno
1873 +    struct export *export; // export data
1874 +    struct vt_page vtp[1]; // the capture page data
1875 +};
1876 +
1877 +
1878 +static void usage(FILE *fp, int exitval)
1879 +{
1880 +    fprintf(fp, "\nUsage: %s [options] ppp.ss...\n", prgname);
1881 +    fprintf(fp,
1882 +           "\n"
1883 +           "  Valid options:\t\tDefault:\n"
1884 +           "    -cs -charset\t\tlatin-1\n"
1885 +           "    <latin-1/2/koi8-r/iso8859-7>\n"
1886 +           "    -f -format <fmt,options>\tascii\n"
1887 +           "    -f help -format help\n"
1888 +           "    -h -help\n"
1889 +           "    -n -name <filename>\t\tttext-%%s.%%e\n"
1890 +           "    -s -sid <sid>\t\t(none;dvb only)\n"
1891 +           "    -to -timeout <secs>\t\t(none)\n"
1892 +           "    -t -ttpid <ttpid>\t\t(none;dvb only)\n"
1893 +           "    -v -vbi <vbidev>\t\t/dev/vbi\n"
1894 +               "                 \t\t/dev/vbi0\n"
1895 +               "                 \t\t/dev/video0\n"
1896 +               "                 \t\t/dev/dvb/adapter0/demux0\n"
1897 +           "\n"
1898 +           "  ppp.ss stands for a page number and an\n"
1899 +           "  optional subpage number (ie 123.4).\n"
1900 +       );
1901 +    exit(exitval);
1902 +}
1903 +
1904 +
1905 +static void exp_help(FILE *fp)
1906 +{
1907 +    struct export_module **ep;
1908 +    char **cp, c;
1909 +
1910 +    fprintf(fp,
1911 +           "\nSyntax: -format Name[,Options]\n"
1912 +           "\n"
1913 +           "    Name\tExt.\tOptions\n"
1914 +           "    --------------------------------\n"
1915 +       );
1916 +    for (ep = modules; *ep; ep++)
1917 +    {
1918 +       fprintf(fp, "    %-7s\t.%-4s", (*ep)->fmt_name, (*ep)->extension);
1919 +       for (c = '\t', cp = (*ep)->options; cp && *cp; cp++, c = ',')
1920 +           fprintf(fp, "%c%s", c, *cp);
1921 +       fprintf(fp, "\n");
1922 +    }
1923 +    fprintf(fp,
1924 +           "\n"
1925 +           "Common options: reveal,hide\n"
1926 +           "Example: -format ansi,reveal,bg=none\n"
1927 +           "\n"
1928 +       );
1929 +    exit(0);
1930 +}
1931 +
1932 +
1933 +static int arg_pgno(char *p, int *subno)
1934 +{
1935 +    char *end;
1936 +    int pgno;
1937 +
1938 +    *subno = ANY_SUB;
1939 +    if (*p)
1940 +    {
1941 +       pgno = strtol(p, &end, 16);
1942 +       if ((*end == ':' || *end == '/' || *end == '.') && end[1])
1943 +           *subno = strtol(end + 1, &end, 16);
1944 +       if (*end == 0)
1945 +           if (pgno >= 0x100 && pgno <= 0x899)
1946 +               if (*subno == ANY_SUB || (*subno >= 0x00 && *subno <= 0x3f7f))
1947 +                   return pgno;
1948 +    }
1949 +    fatal("%s: invalid page number", p);
1950 +}
1951 +
1952 +
1953 +static int option(int argc, char **argv, int *ind, char **arg)
1954 +{
1955 +    static struct { char *nam, *altnam; int arg; } opts[] = {
1956 +       { "-charset", "-cs", 1 },
1957 +       { "-format", "-f", 1 },
1958 +       { "-help", "-h", 0 },
1959 +       { "-name", "-n", 1 },
1960 +       { "-sid", "-s", 1 },
1961 +       { "-timeout", "-to", 1 },
1962 +       { "-ttpid", "-t", 1 },
1963 +       { "-vbi", "-v", 1 },
1964 +    };
1965 +    int i;
1966 +
1967 +    if (*ind >= argc)
1968 +       return 0;
1969 +
1970 +    *arg = argv[(*ind)++];
1971 +    for (i = 0; i < NELEM(opts); ++i)
1972 +       if (streq(*arg, opts[i].nam) || streq(*arg, opts[i].altnam))
1973 +       {
1974 +           if (opts[i].arg)
1975 +               if (*ind < argc)
1976 +                   *arg = argv[(*ind)++];
1977 +               else
1978 +                   fatal("option %s requires an argument", *arg);
1979 +           return i+1;
1980 +       }
1981 +
1982 +    if (**arg == '-')
1983 +    {
1984 +       fatal("%s: invalid option", *arg);
1985 +       usage(stderr, 2);
1986 +    }
1987 +
1988 +    return -1;
1989 +}
1990 +
1991 +
1992 +static void event(struct dl_head *reqs, struct vt_event *ev)
1993 +{
1994 +    struct req *req, *nxt;
1995 +
1996 +    switch (ev->type)
1997 +    {
1998 +       case EV_PAGE: // new page
1999 +       {
2000 +           struct vt_page *vtp = ev->p1;
2001 +
2002 +           for (req = PTR reqs->first; nxt = PTR req->node->next; req = nxt)
2003 +               if (req->pgno == vtp->pgno)
2004 +                   if (req->subno == ANY_SUB || req->subno == vtp->subno)
2005 +                   {
2006 +                       *req->vtp = *vtp;
2007 +                       dl_insert_last(reqs + 1, dl_remove(req->node));
2008 +           }
2009 +       }
2010 +    }
2011 +}
2012 +
2013 +
2014 +int main(int argc, char **argv)
2015 +{
2016 +    char *vbi_name = NULL;
2017 +    int timeout = 0;
2018 +    char *fname = "ttext-%s.%e";
2019 +    char *out_fmt = "ascii";
2020 +    struct export *fmt = 0;
2021 +    int opt, ind;
2022 +    char *arg;
2023 +    struct vbi *vbi;
2024 +    struct req *req;
2025 +    struct dl_head reqs[2]; // simple linear lists of requests & captures
2026 +    int ttpid = -1;
2027 +
2028 +    setlocale (LC_CTYPE, "");
2029 +    setprgname(argv[0]);
2030 +
2031 +    fdset_init(fds);
2032 +    dl_init(reqs); // the requests
2033 +    dl_init(reqs+1); // the captured pages
2034 +
2035 +    ind = 1;
2036 +    while (opt = option(argc, argv, &ind, &arg))
2037 +       switch (opt)
2038 +       {
2039 +            case 1: // charset
2040 +               if (streq(arg, "latin-1") || streq(arg, "1"))
2041 +                   latin1 = 1;
2042 +               else if (streq(arg, "latin-2") || streq(arg, "2"))
2043 +                   latin1 = 0;
2044 +               else if (streq(arg, "koi8-r") || streq(arg, "koi"))
2045 +                   latin1 = KOI8;
2046 +               else if (streq(arg, "iso8859-7") || streq(arg, "el"))
2047 +                   latin1 = GREEK;
2048 +               else
2049 +                   fatal("bad charset (not latin-1/2/koi8-r/iso8859-7)");
2050 +               break;
2051 +           case 2: // format
2052 +               if (streq(arg, "help") || streq(arg, "?") || streq(arg, "list"))
2053 +                   exp_help(stdout);
2054 +               out_fmt = arg;
2055 +               fmt = 0;
2056 +               break;
2057 +           case 3: // help
2058 +               usage(stdout, 0);
2059 +               break;
2060 +           case 4: // name
2061 +               fname = arg;
2062 +               break;
2063 +           case 5: // timeout
2064 +               timeout = strtol(arg, 0, 10);
2065 +               if (timeout < 1 || timeout > 999999)
2066 +               fatal("bad timeout value", timeout);
2067 +               break;
2068 +           case 6: // service id
2069 +               sid = strtoul(arg, NULL, 0);
2070 +               break;
2071 +           case 7: // teletext pid
2072 +               ttpid = strtoul(arg, NULL, 0);
2073 +               break;
2074 +           case 8: // vbi
2075 +               vbi_name = arg;
2076 +               break;
2077 +           case -1: // non-option arg
2078 +               if (not fmt)
2079 +               fmt = export_open(out_fmt);
2080 +               if (not fmt)
2081 +               fatal("%s", export_errstr());
2082 +               if (not(req = malloc(sizeof(*req))))
2083 +               out_of_mem(sizeof(*req));
2084 +               req->name = fname;
2085 +               req->pgno_str = arg;
2086 +               req->pgno = arg_pgno(arg, &req->subno);
2087 +               req->export = fmt;
2088 +               dl_insert_last(reqs, req->node);
2089 +               break;
2090 +       }
2091 +
2092 +    if (dl_empty(reqs))
2093 +       fatal("no pages requested");
2094 +
2095 +    // setup device
2096 +    if (not(vbi = vbi_open(vbi_name, 0, channel, outfile, sid, ttpid)))
2097 +       fatal("cannot open %s", vbi_name);
2098 +    vbi_add_handler(vbi, event, reqs); // register event handler
2099 +
2100 +    if (timeout)
2101 +       alarm(timeout);
2102 +
2103 +    // capture pages (moves requests from reqs[0] to reqs[1])
2104 +    while (not dl_empty(reqs) && not timed_out)
2105 +       if (fdset_select(fds, 30000) == 0) // 30sec select time out
2106 +       {
2107 +           error("no signal.");
2108 +           break;
2109 +       }
2110 +
2111 +    alarm(0);
2112 +    vbi_del_handler(vbi, event, reqs);
2113 +    vbi_close(vbi);
2114 +    if (not dl_empty(reqs))
2115 +       error("capture aborted. Some pages are missing.");
2116 +
2117 +    for (req = PTR reqs[1].first; req->node->next; req = PTR req->node->next)
2118 +    {
2119 +       fname = export_mkname(req->export, req->name, req->vtp, req->pgno_str);
2120 +       if (not fname || export(req->export, req->vtp, fname))
2121 +           error("error saving page %s: %s", req->pgno_str, export_errstr());
2122 +       if (fname)
2123 +           free(fname);
2124 +    }
2125 +    exit(dl_empty(reqs) ? 0 : 1);
2126 +}
2127 diff -r af23d23c278b util/alevt/alevt-date.1
2128 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
2129 +++ b/util/alevt/alevt-date.1   Tue Dec 21 12:13:28 2010 +0100
2130 @@ -0,0 +1,41 @@
2131 +.TH alevt-date 1 "February 07, 2010"
2132 +.SH NAME
2133 +alevt-date \- print out UTC date.
2134 +.SH SYNOPSIS
2135 +.B alevt-date
2136 +.RI [ options ]
2137 +.br
2138 +.SH DESCRIPTION
2139 +This manual page documents briefly the
2140 +.B alevt-date
2141 +commands.
2142 +.PP
2143 +\fBalevt-date\fP is a program to print the UTC date.
2144 +.SH OPTIONS
2145 +.TP
2146 +.B \-d -delta <max_secs>
2147 +maximum delta
2148 +.TP
2149 +.B \-f -format <fmtstr>
2150 +time format
2151 +.TP
2152 +.B \-h -help
2153 +print this page
2154 +.TP
2155 +.B \-s -set
2156 +set the system clock
2157 +.TP
2158 +.B \-t -timeout <seconds>
2159 +timeout
2160 +.TP
2161 +.B \-v -vbi <vbidev>
2162 +vbi device /dev/vbi; /dev/vbi0; /dev/video0; /dev/dvb/adapter0/demux0
2163 +.TP
2164 +.br
2165 +.SH SEE ALSO
2166 +.BR alevt-cap (1) , alevt (1).
2167 +.br
2168 +.SH AUTHOR
2169 +alevt-date was written by Edgar Toernig <froese@gmx.de>.
2170 +.PP
2171 +This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
2172 diff -r af23d23c278b util/alevt/alevt-date.c
2173 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
2174 +++ b/util/alevt/alevt-date.c   Tue Dec 21 12:13:28 2010 +0100
2175 @@ -0,0 +1,225 @@
2176 +#include <stdio.h>
2177 +#include <string.h>
2178 +#include <sys/time.h>
2179 +#include <time.h>
2180 +#include <stdlib.h>
2181 +#include <unistd.h>
2182 +#include <signal.h>
2183 +#include "os.h"
2184 +#include "vt.h"
2185 +#include "fdset.h"
2186 +#include "vbi.h"
2187 +#include "lang.h"
2188 +#include "misc.h"
2189 +
2190 +char *fmt = "%a %b %d %H:%M:%S %Z %Y";
2191 +int max_diff = 2*60*60; // default: 2 hours
2192 +int set_time = 0;
2193 +char *outfile = "";
2194 +static char *channel;
2195 +u_int16_t sid;
2196 +
2197 +
2198 +static void chk_time(int t)
2199 +{
2200 +    struct tm *tm;
2201 +    time_t sys_t;
2202 +    int dt;
2203 +    char buf[256];
2204 +
2205 +    if (t < 0 || t > 235959 || t%100 > 59 || t/100%100 > 59)
2206 +    return;
2207 +
2208 +    sys_t = time(0);
2209 +    tm = localtime(&sys_t);
2210 +
2211 +    // Now convert to UTC seconds
2212 +    t = t/100/100 * 60*60 + t/100%100 * 60 + t%100;
2213 +#ifdef BSD
2214 +    t -= tm->tm_gmtoff; // dst already included...
2215 +#else
2216 +    t += timezone;
2217 +    if (tm->tm_isdst)
2218 +       t -= 60*60;
2219 +#endif
2220 +
2221 +    dt = t - sys_t % (24*60*60);
2222 +    if (dt <= -12*60*60)
2223 +       dt += 24*60*60;
2224 +
2225 +    if (dt <= -max_diff || dt >= max_diff)
2226 +       fatal("time diff too big (%2d:%02d:%02d)", dt/60/60, abs(dt)/60%60, abs(dt)%60);
2227 +
2228 +    sys_t += dt;
2229 +
2230 +    if (set_time)
2231 +    {
2232 +       struct timeval tv[1];
2233 +
2234 +       tv->tv_sec = sys_t;
2235 +       tv->tv_usec = 500000;
2236 +       if (settimeofday(tv, 0) == -1)
2237 +           ioerror("settimeofday");
2238 +    }
2239 +    if (*fmt)
2240 +    {
2241 +       tm = localtime(&sys_t);
2242 +       if (strftime(buf, sizeof(buf), fmt, tm))
2243 +           puts(buf);
2244 +    }
2245 +    exit(0);
2246 +}
2247 +
2248 +
2249 +static void event(void *_, struct vt_event *ev)
2250 +{
2251 +    switch (ev->type)
2252 +    {
2253 +       /* vbi may generate EV_PAGE, EV_HEADER, EV_XPACKET */
2254 +       /* for event arguments see vt.h */
2255 +
2256 +       case EV_HEADER: // a new title line (for running headers)
2257 +       {
2258 +           static int last_t = -1;
2259 +           u8 *s = ev->p1;
2260 +           int i, t = 1;
2261 +
2262 +           if (ev->i2 & PG_OUTOFSEQ)
2263 +               break;
2264 +
2265 +           for (i = 32; i < 40; ++i)
2266 +               if (s[i] >= '0' && s[i] <= '9')
2267 +                   t = t * 10+ s[i] - '0';
2268 +           if (t >= 1000000 && t <= 1235959)
2269 +               if (t == last_t || t - last_t == 1)
2270 +                   chk_time(t - 1000000);
2271 +           last_t = t;
2272 +           break;
2273 +       }
2274 +    }
2275 +}
2276 +
2277 +
2278 +static void usage(FILE *fp, int exit_val)
2279 +{
2280 +    fprintf(fp, "usage: %s [options]\n", prgname);
2281 +    fprintf(fp,
2282 +           "\n"
2283 +           "  Valid options:\t\tDefault:\n"
2284 +           "    -d -delta <max_secs>\t7200 (2 hours)\n"
2285 +           "    -f -format <fmtstr>\t\t%%c\n"
2286 +           "    -h -help\n"
2287 +           "    -s -set\t\t\toff\n"
2288 +           "    -to -timeout <seconds>\t(none)\n"
2289 +           "    -v -vbi <vbidev>\t\t/dev/vbi\n"
2290 +               "                 \t\t/dev/vbi0\n"
2291 +               "                 \t\t/dev/video0\n"
2292 +               "                 \t\t/dev/dvb/adapter0/demux0\n"
2293 +           );
2294 +    exit(exit_val);
2295 +}
2296 +
2297 +
2298 +static int option(int argc, char **argv, int *ind, char **arg)
2299 +{
2300 +    static struct { char *nam, *altnam; int arg; } opts[] = {
2301 +       { "-delta", "-d", 1 },
2302 +       { "-format", "-f", 1 },
2303 +       { "-help", "-h", 0 },
2304 +       { "-set", "-s", 0 },
2305 +       { "-timeout", "-to", 1 },
2306 +       { "-vbi", "-v", 1 },
2307 +    };
2308 +    int i;
2309 +
2310 +    if (*ind >= argc)
2311 +       return 0;
2312 +
2313 +    *arg = argv[(*ind)++];
2314 +    for (i = 0; i < NELEM(opts); ++i)
2315 +       if (streq(*arg, opts[i].nam) || streq(*arg, opts[i].altnam))
2316 +       {
2317 +           if (opts[i].arg)
2318 +               if (*ind < argc)
2319 +                   *arg = argv[(*ind)++];
2320 +               else
2321 +                   fatal("option %s requires an argument", *arg);
2322 +           return i+1;
2323 +       }
2324 +
2325 +    if (**arg == '-')
2326 +    {
2327 +       fatal("%s: invalid option", *arg);
2328 +       usage(stderr, 1);
2329 +    }
2330 +
2331 +    return -1;
2332 +}
2333 +
2334 +
2335 +int main(int argc, char **argv)
2336 +{
2337 +    char *vbi_name = NULL;
2338 +    int timeout = 0;
2339 +    struct vbi *vbi;
2340 +    int opt, ind;
2341 +    char *arg;
2342 +    int ttpid = -1;
2343 +
2344 +    setprgname(argv[0]);
2345 +    ind = 1;
2346 +    while (opt = option(argc, argv, &ind, &arg))
2347 +       switch (opt)
2348 +       {
2349 +           case 1: // -delta
2350 +               max_diff = atoi(arg);
2351 +               if (max_diff < 1)
2352 +                   fatal("-delta: illegal value '%s'", arg);
2353 +               if (max_diff > 12*60*60)
2354 +               {
2355 +                   max_diff = 12*60*60;
2356 +                   error("-delta: %d too big. Assuming %d", arg, max_diff);
2357 +               }
2358 +               break;
2359 +           case 2: // -format
2360 +               fmt = arg;
2361 +               break;
2362 +           case 3: // help
2363 +               usage(stdout, 0);
2364 +               break;
2365 +           case 4: // -set
2366 +               set_time = 1;
2367 +               break;
2368 +           case 5: // -timeout
2369 +               timeout = atoi(arg);
2370 +               if (timeout < 1 || timeout > 60*60)
2371 +                   fatal("-timeout: illegal value '%s'", arg);
2372 +               break;
2373 +           case 6: // -vbi
2374 +               vbi_name = arg;
2375 +               break;
2376 +           case -1:
2377 +               usage(stderr, 1);
2378 +               break;
2379 +       }
2380 +
2381 +    fdset_init(fds);
2382 +
2383 +    if (timeout)
2384 +    {
2385 +       signal(SIGALRM, SIG_DFL); // kill me
2386 +       alarm(timeout);
2387 +    }
2388 +    vbi = vbi_open(vbi_name, 0, channel, outfile, sid, ttpid); // open device
2389 +    if (not vbi)
2390 +       fatal_ioerror(vbi_name);
2391 +    vbi_add_handler(vbi, event, 0); // register event handler
2392 +
2393 +    for (;;)
2394 +       fdset_select(fds, -1); // call scheduler
2395 +
2396 +    /* never reached */
2397 +    vbi_del_handler(vbi, event, 0);
2398 +    vbi_close(vbi);
2399 +    exit(0);
2400 +}
2401 diff -r af23d23c278b util/alevt/alevt.1
2402 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
2403 +++ b/util/alevt/alevt.1        Tue Dec 21 12:13:28 2010 +0100
2404 @@ -0,0 +1,60 @@
2405 +.TH alevt 1 "February 07, 2010"
2406 +.SH NAME
2407 +alevt \- a teletext browser for analogue and DVB channels.
2408 +.SH SYNOPSIS
2409 +.B alevt
2410 +.RI [ options ]
2411 +.br
2412 +.SH DESCRIPTION
2413 +This manual page documents briefly the
2414 +.B alevt
2415 +commands.
2416 +.PP
2417 +\fBalevt\fP is a program to read teletext from analogue or DVB channels.
2418 +.SH OPTIONS
2419 +.TP
2420 +.B \-c <channel>
2421 +channel name (dvb only)
2422 +.TP
2423 +.B \-ch -child <ppp.ss>
2424 +child window
2425 +.TP
2426 +.B \-cs -charset <latin-1/2/koi8-r/iso8859-7>
2427 +character set
2428 +.TP
2429 +.B \-h -help
2430 +print this page
2431 +.TP
2432 +.B \-o <outfile>
2433 +path + file for all services (dvb only)
2434 +.TP
2435 +.B \-p -parent <ppp.ss>
2436 +parent window
2437 +.TP
2438 +.B \-s -sid <sid>
2439 +service id (dvb only)
2440 +.TP
2441 +.B \-t -ttpid <ttpid>
2442 +teletext pid (dvb only)
2443 +.TP
2444 +.B \-v -vbi <vbidev>
2445 +vbi device
2446 +.TP
2447 +Sequence: /dev/vbi; /dev/vbi0; /dev/video0; /dev/dvb/adapter0/demux0
2448 +.TP
2449 +Order is important! Each page number opens a new window
2450 +with the previously given geometry, device, and display.
2451 +.TP
2452 +ppp.ss stands for a page number and an optional
2453 +subpage number (example: 123.4).
2454 +.TP
2455 +The -child option requires a parent window. So it must
2456 +be preceded by a parent or another child window.
2457 +.TP
2458 +.SH SEE ALSO
2459 +.BR alevt-cap (1), alevt-date (1).
2460 +.br
2461 +.SH AUTHOR
2462 +alevt was written by Edgar Toernig <froese@gmx.de>.
2463 +.PP
2464 +This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
2465 diff -r af23d23c278b util/alevt/alevt.desktop
2466 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
2467 +++ b/util/alevt/alevt.desktop  Tue Dec 21 12:13:28 2010 +0100
2468 @@ -0,0 +1,9 @@
2469 +[Desktop Entry]
2470 +Encoding=UTF-8
2471 +Name=alevt
2472 +Comment=Teletext Browser
2473 +Exec=alevt
2474 +Icon=alevt
2475 +Terminal=false
2476 +Type=Application
2477 +Categories=GNOME;GTK;AudioVideo;Video;
2478 diff -r af23d23c278b util/alevt/bdf2xbm.c
2479 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
2480 +++ b/util/alevt/bdf2xbm.c      Tue Dec 21 12:13:28 2010 +0100
2481 @@ -0,0 +1,212 @@
2482 +/*
2483 +    Simple program to convert a bdf-font to a bitmap.
2484 +    The characters are arranged in a 32x8 matrix.
2485 +    usage: bdf2xbm [identifier] <bdf >xbm
2486 +    Copyright 1998,1999 by E. Toernig (froese@gmx.de)
2487 +*/
2488 +
2489 +#include <stdio.h>
2490 +#include <string.h>
2491 +#include <stdlib.h>
2492 +#include <ctype.h>
2493 +#include <stdarg.h>
2494 +
2495 +#define not !
2496 +#define streq(a,b) (strcmp((a),(b)) == 0)
2497 +
2498 +int lineno;
2499 +char *word[64];
2500 +int nword;
2501 +
2502 +char *font = "font%dx%d";
2503 +int w, h, bpl;
2504 +unsigned char *bmap;
2505 +
2506 +
2507 +static void error(char *fmt, ...)
2508 +{
2509 +    va_list args;
2510 +
2511 +    va_start(args, fmt);
2512 +    fprintf(stderr, "bdf2xbm");
2513 +    if (lineno)
2514 +       fprintf(stderr, ":%d", lineno);
2515 +    fprintf(stderr, ": ");
2516 +    vfprintf(stderr, fmt, args);
2517 +    fputc('\n', stderr);
2518 +    exit(1);
2519 +}
2520 +
2521 +
2522 +static int nextline()
2523 +{
2524 +    static char buf[256];
2525 +    char *p;
2526 +    int i;
2527 +
2528 +    do
2529 +    {
2530 +       nword = 0;
2531 +       if (fgets(buf, sizeof(buf), stdin) == 0)
2532 +           return nword;
2533 +       lineno++;
2534 +       
2535 +       p = buf;
2536 +       for (;;)
2537 +       {
2538 +           while (isspace(*p))
2539 +               p++;
2540 +           if (*p == 0)
2541 +               break;
2542 +           word[nword++] = p;
2543 +           while (*p && not isspace(*p))
2544 +               *p = toupper(*p), p++;
2545 +           if (*p == 0)
2546 +               break;
2547 +           *p++ = 0;
2548 +       }
2549 +    } while (nword == 0);
2550 +
2551 +    for (i = nword; i < 64; ++i)
2552 +       word[i] = "";
2553 +    return nword;
2554 +}
2555 +
2556 +
2557 +static inline void setbit(int ch, int x, int y)
2558 +{
2559 +
2560 +    int yo = ch / 32 * h + y;
2561 +    int xo = ch % 32 * w + x;
2562 +
2563 +    bmap[yo * bpl + xo / 8] |= 1 << (xo % 8);
2564 +}
2565 +
2566 +
2567 +static void dobitmap(int ch, int x, int y)
2568 +{
2569 +    int i, j;
2570 +
2571 +    for (i = 0; i < y; ++i)
2572 +    {
2573 +       nextline();
2574 +       if (nword > 1 || strlen(word[0]) != (x + 7) / 8 * 2)
2575 +           error("bad BITMAP");
2576 +       for (j = 0; j < x; ++j)
2577 +       {
2578 +           int c = word[0][j / 4];
2579 +           if (c >= '0' && c <= '9')
2580 +               c -= '0';
2581 +           else if (c >= 'A' && c <= 'F')
2582 +               c -= 'A' - 10;
2583 +           else
2584 +               error("bad hexchar in BITMAP");
2585 +           if (c & (8 >> (j % 4)))
2586 +               setbit(ch, j, i);
2587 +       }
2588 +    }
2589 +}
2590 +
2591 +
2592 +static void dochar()
2593 +{
2594 +    int ch = -1, x = -1,  y = -1;
2595 +
2596 +    while (nextline())
2597 +    {
2598 +       if (streq(word[0], "ENDCHAR"))
2599 +           return;
2600 +       else if (streq(word[0], "ENCODING") && nword == 2)
2601 +       {
2602 +           ch = atoi(word[1]);
2603 +           if (ch < 0 || ch > 255)
2604 +               error("bad character code %d", ch);
2605 +       }
2606 +       else if (streq(word[0], "BBX") && nword == 5)
2607 +       {
2608 +           x = atoi(word[1]), y = atoi(word[2]);
2609 +           if (x < 1 || x > 64 || y < 1 || y > 64)
2610 +               error("bad BBX (%dx%d)", x, y);
2611 +       }
2612 +       else if (streq(word[0], "BITMAP"))
2613 +       {
2614 +           if (x < 0)
2615 +               error("missing BBX");
2616 +           if (ch < 0)
2617 +               error("missing ENDCODING");
2618 +           dobitmap(ch, x, y);
2619 +       }
2620 +    }
2621 +    error("unexpected EOF (missing ENDCHAR)");
2622 +}
2623 +
2624 +
2625 +static void dofile()
2626 +{
2627 +    lineno = 0;
2628 +    w = h = 0;
2629 +    bmap = 0;
2630 +
2631 +    nextline();
2632 +    if (nword != 2 || not streq(word[0], "STARTFONT"))
2633 +       error("not a bdf-file");
2634 +
2635 +    while (nextline())
2636 +    {
2637 +       if (streq(word[0], "ENDFONT"))
2638 +           return;
2639 +       else if (streq(word[0], "FONTBOUNDINGBOX") && nword == 5)
2640 +       {
2641 +           if (bmap)
2642 +               error("multiple FONTBOUNDINGBOXes!?!");
2643 +           w = atoi(word[1]), h = atoi(word[2]);
2644 +           if (w < 1 || w > 64 || h < 1 || h > 64)
2645 +               error("bad bounding box %dx%d\n", w, h);
2646 +           bpl = (w*32+7)/8; // rounding is unnecessary
2647 +           bmap = calloc(1, bpl * h*8);
2648 +           if (bmap == 0)
2649 +               error("out of memory");
2650 +       }
2651 +       else if (streq(word[0], "STARTCHAR"))
2652 +       {
2653 +           if (not bmap)
2654 +               error("no FONTBOUNDINGBOX");
2655 +           dochar();
2656 +       }
2657 +    }
2658 +    error("unexpected EOF (missing ENDFONT)");
2659 +}
2660 +
2661 +
2662 +static void writexbm()
2663 +{
2664 +    char buf[256];
2665 +    int i, j;
2666 +    unsigned char *p = bmap;
2667 +
2668 +    if (not bmap)
2669 +       return;
2670 +
2671 +    sprintf(buf, font, w, h);
2672 +
2673 +    printf("#define %s_width %d\n", buf, 32 * w);
2674 +    printf("#define %s_height %d\n", buf, 8 * h);
2675 +    printf("static unsigned char %s_bits[] = {\n", buf);
2676 +    for (i = 0; i < 16 * h * w / 8; ++i)
2677 +    {
2678 +       for (j = 0; j < 16; ++j)
2679 +           printf("0x%02x,", *p++);
2680 +       printf("\n");
2681 +    }
2682 +    printf("};\n");
2683 +}
2684 +
2685 +
2686 +int main(int argc, char **argv)
2687 +{
2688 +    if (argc > 1)
2689 +       font = argv[1];
2690 +    dofile();
2691 +    writexbm();
2692 +    exit(0);
2693 +}
2694 diff -r af23d23c278b util/alevt/cache.c
2695 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
2696 +++ b/util/alevt/cache.c        Tue Dec 21 12:13:28 2010 +0100
2697 @@ -0,0 +1,229 @@
2698 +#include <stdlib.h>
2699 +#include <string.h>
2700 +#include "misc.h"
2701 +#include "dllist.h"
2702 +#include "cache.h"
2703 +#include "help.h"
2704 +
2705 +
2706 +static inline int hash(int pgno)
2707 +{
2708 +    // very simple...
2709 +    return pgno % HASH_SIZE;
2710 +}
2711 +
2712 +
2713 +static void do_erc(struct vt_page *ovtp, struct vt_page *nvtp)
2714 +{
2715 +    int l, c;
2716 +
2717 +    if (nvtp->errors == 0 && ovtp->lines == nvtp->lines)
2718 +       return;
2719 +
2720 +    for (l = 0; l < H; ++l)
2721 +    {
2722 +       if (~nvtp->lines & (1 << l))
2723 +           memcpy(nvtp->data[l], ovtp->data[l], W);
2724 +       else if (ovtp->lines & (1 << l))
2725 +           for (c = 0; c < W; ++c)
2726 +               if (nvtp->data[l][c] == BAD_CHAR)
2727 +                   nvtp->data[l][c] = ovtp->data[l][c];
2728 +    }
2729 +    nvtp->lines |= ovtp->lines;
2730 +}
2731 +
2732 +
2733 +static void cache_close(struct cache *ca)
2734 +{
2735 +    struct cache_page *cp;
2736 +    int i;
2737 +
2738 +    for (i = 0; i < HASH_SIZE; ++i)
2739 +       while (not dl_empty(ca->hash + i))
2740 +       {
2741 +           cp = PTR ca->hash[i].first;
2742 +           dl_remove(cp->node);
2743 +           free(cp);
2744 +       }
2745 +    free(ca);
2746 +}
2747 +
2748 +
2749 +static void cache_reset(struct cache *ca)
2750 +{
2751 +    struct cache_page *cp, *cpn;
2752 +    int i;
2753 +
2754 +    for (i = 0; i < HASH_SIZE; ++i)
2755 +       for (cp = PTR ca->hash[i].first; cpn = PTR cp->node->next; cp = cpn)
2756 +           if (cp->page->pgno / 256 != 9) // don't remove help pages
2757 +           {
2758 +               dl_remove(cp->node);
2759 +               free(cp);
2760 +               ca->npages--;
2761 +           }
2762 +    memset(ca->hi_subno, 0, sizeof(ca->hi_subno[0]) * 0x900);
2763 +}
2764 +
2765 +/*  Get a page from the cache.
2766 +    If subno is SUB_ANY, the newest subpage of that page is returned */
2767 +
2768 +
2769 +static struct vt_page * cache_get(struct cache *ca, int pgno, int subno)
2770 +{
2771 +    struct cache_page *cp;
2772 +    int h = hash(pgno);
2773 +
2774 +    for (cp = PTR ca->hash[h].first; cp->node->next; cp = PTR cp->node->next)
2775 +       if (cp->page->pgno == pgno)
2776 +           if (subno == ANY_SUB || cp->page->subno == subno)
2777 +           {
2778 +               // found, move to front (make it 'new')
2779 +               dl_insert_first(ca->hash + h, dl_remove(cp->node));
2780 +               return cp->page;
2781 +           }
2782 +    return 0;
2783 +}
2784 +
2785 +/*  Put a page in the cache.
2786 +    If it's already there, it is updated. */
2787 +
2788 +
2789 +static struct vt_page * cache_put(struct cache *ca, struct vt_page *vtp)
2790 +{
2791 +    struct cache_page *cp;
2792 +    int h = hash(vtp->pgno);
2793 +    
2794 +    for (cp = PTR ca->hash[h].first; cp->node->next; cp = PTR cp->node->next)
2795 +       if (cp->page->pgno == vtp->pgno && cp->page->subno == vtp->subno)
2796 +           break;
2797 +
2798 +    if (cp->node->next)
2799 +    {
2800 +       // move to front.
2801 +       dl_insert_first(ca->hash + h, dl_remove(cp->node));
2802 +       if (ca->erc)
2803 +           do_erc(cp->page, vtp);
2804 +    }
2805 +    else
2806 +    {
2807 +       cp = malloc(sizeof(*cp));
2808 +       if (cp == 0)
2809 +           return 0;
2810 +       if (vtp->subno >= ca->hi_subno[vtp->pgno])
2811 +           ca->hi_subno[vtp->pgno] = vtp->subno + 1;
2812 +       ca->npages++;
2813 +       dl_insert_first(ca->hash + h, cp->node);
2814 +    }
2815 +
2816 +    *cp->page = *vtp;
2817 +    return cp->page;
2818 +}
2819 +
2820 +/* Same as cache_get but doesn't make the found entry new */
2821 +
2822 +
2823 +static struct vt_page * cache_lookup(struct cache *ca, int pgno, int subno)
2824 +{
2825 +    struct cache_page *cp;
2826 +    int h = hash(pgno);
2827 +
2828 +    for (cp = PTR ca->hash[h].first; cp->node->next; cp = PTR cp->node->next)
2829 +       if (cp->page->pgno == pgno)
2830 +           if (subno == ANY_SUB || cp->page->subno == subno)
2831 +               return cp->page;
2832 +    return 0;
2833 +}
2834 +
2835 +
2836 +static struct vt_page * cache_foreach_pg(struct cache *ca, int pgno, int subno,
2837 +    int dir, int (*func)(), void *data)
2838 +{
2839 +    struct vt_page *vtp, *s_vtp = 0;
2840 +
2841 +    if (ca->npages == 0)
2842 +       return 0;
2843 +
2844 +    if (vtp = cache_lookup(ca, pgno, subno))
2845 +       subno = vtp->subno;
2846 +    else if (subno == ANY_SUB)
2847 +       subno = dir < 0 ? 0 : 0xffff;
2848 +
2849 +    for (;;)
2850 +    {
2851 +       subno += dir;
2852 +       while (subno < 0 || subno >= ca->hi_subno[pgno])
2853 +       {
2854 +           pgno += dir;
2855 +           if (pgno < 0x100)
2856 +               pgno = 0x9ff;
2857 +           if (pgno > 0x9ff)
2858 +               pgno = 0x100;
2859 +           subno = dir < 0 ? ca->hi_subno[pgno] - 1 : 0;
2860 +       }
2861 +       if (vtp = cache_lookup(ca, pgno, subno))
2862 +       {
2863 +           if (s_vtp == vtp)
2864 +               return 0;
2865 +           if (s_vtp == 0)
2866 +               s_vtp = vtp;
2867 +           if (func(data, vtp))
2868 +               return vtp;
2869 +       }
2870 +    }
2871 +}
2872 +
2873 +
2874 +static int cache_mode(struct cache *ca, int mode, int arg)
2875 +{
2876 +    int res = -1;
2877 +
2878 +    switch (mode)
2879 +    {
2880 +       case CACHE_MODE_ERC:
2881 +           res = ca->erc;
2882 +           ca->erc = arg ? 1 : 0;
2883 +           break;
2884 +    }
2885 +    return res;
2886 +}
2887 +
2888 +
2889 +static struct cache_ops cops =
2890 +{
2891 +    cache_close,
2892 +    cache_get,
2893 +    cache_put,
2894 +    cache_reset,
2895 +    cache_foreach_pg,
2896 +    cache_mode,
2897 +};
2898 +
2899 +
2900 +struct cache * cache_open(void)
2901 +{
2902 +    struct cache *ca;
2903 +    struct vt_page *vtp;
2904 +    int i;
2905 +
2906 +    if (not(ca = malloc(sizeof(*ca))))
2907 +       goto fail1;
2908 +
2909 +    for (i = 0; i < HASH_SIZE; ++i)
2910 +       dl_init(ca->hash + i);
2911 +
2912 +    memset(ca->hi_subno, 0, sizeof(ca->hi_subno));
2913 +    ca->erc = 1;
2914 +    ca->npages = 0;
2915 +    ca->op = &cops;
2916 +
2917 +    for (vtp = help_pages; vtp < help_pages + nr_help_pages; vtp++)
2918 +       cache_put(ca, vtp);
2919 +
2920 +    return ca;
2921 +
2922 +fail2:
2923 +    free(ca);
2924 +fail1:
2925 +    return 0;
2926 +}
2927 diff -r af23d23c278b util/alevt/cache.h
2928 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
2929 +++ b/util/alevt/cache.h        Tue Dec 21 12:13:28 2010 +0100
2930 @@ -0,0 +1,41 @@
2931 +#ifndef CACHE_H
2932 +#define CACHE_H
2933 +
2934 +#include "vt.h"
2935 +#include "misc.h"
2936 +#include "dllist.h"
2937 +
2938 +#define HASH_SIZE 113
2939 +
2940 +
2941 +struct cache
2942 +{
2943 +    struct dl_head hash[HASH_SIZE];
2944 +    int erc; // error reduction circuit on
2945 +    int npages;
2946 +    u16 hi_subno[0x9ff + 1]; // 0:pg not in cache, 1-3f80:highest subno + 1
2947 +    struct cache_ops *op;
2948 +};
2949 +
2950 +
2951 +struct cache_page
2952 +{
2953 +    struct dl_node node[1];
2954 +    struct vt_page page[1];
2955 +};
2956 +
2957 +
2958 +struct cache_ops
2959 +{
2960 +    void (*close)(struct cache *ca);
2961 +    struct vt_page *(*get)(struct cache *ca, int pgno, int subno);
2962 +    struct vt_page *(*put)(struct cache *ca, struct vt_page *vtp);
2963 +    void (*reset)(struct cache *ca);
2964 +    struct vt_page *(*foreach_pg)(struct cache *ca, int pgno, int subno, int dir,
2965 +    int (*func)(), void *data);
2966 +    int (*mode)(struct cache *ca, int mode, int arg);
2967 +};
2968 +
2969 +struct cache *cache_open(void);
2970 +#define CACHE_MODE_ERC 1
2971 +#endif
2972 diff -r af23d23c278b util/alevt/dllist.h
2973 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
2974 +++ b/util/alevt/dllist.h       Tue Dec 21 12:13:28 2010 +0100
2975 @@ -0,0 +1,55 @@
2976 +#ifndef DLLIST_H
2977 +#define DLLIST_H
2978 +
2979 +
2980 +struct dl_node
2981 +{
2982 +    struct dl_node *next;
2983 +    struct dl_node *prev;
2984 +};
2985 +
2986 +
2987 +struct dl_head
2988 +{
2989 +    struct dl_node *first;
2990 +    struct dl_node *null;
2991 +    struct dl_node *last;
2992 +};
2993 +
2994 +
2995 +static inline struct dl_head * dl_init(struct dl_head *h)
2996 +{
2997 +    h->first = (struct dl_node *)&h->null;
2998 +    h->null = 0;
2999 +    h->last = (struct dl_node *)&h->first;
3000 +    return h;
3001 +}
3002 +
3003 +
3004 +static inline struct dl_node * dl_remove(struct dl_node *n)
3005 +{
3006 +    n->prev->next = n->next;
3007 +    n->next->prev = n->prev;
3008 +    return n;
3009 +}
3010 +
3011 +
3012 +static inline struct dl_node *
3013 +    dl_insert_after(struct dl_node *p, struct dl_node *n)
3014 +{
3015 +    n->next = p->next;
3016 +    n->prev = p;
3017 +    p->next = n;
3018 +    n->next->prev = n;
3019 +    return n;
3020 +}
3021 +
3022 +#define dl_empty(h)             ((h)->first->next == 0)
3023 +#define dl_insert_before(p, n)  dl_insert_after((p)->prev, (n))
3024 +#define dl_insert_first(h, n)   ({ struct dl_node *_n = (n); \
3025 +                                       dl_insert_before((h)->first, _n); })
3026 +#define dl_insert_last(h, n)    ({ struct dl_node *_n = (n); \
3027 +                                       dl_insert_after((h)->last, _n); })
3028 +#define dl_remove_first(h)      dl_remove((h)->first) // mustn't be empty!
3029 +#define dl_remove_last(h)       dl_remove((h)->last) // mustn't be empty!
3030 +#endif
3031 diff -r af23d23c278b util/alevt/exp-gfx.c
3032 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
3033 +++ b/util/alevt/exp-gfx.c      Tue Dec 21 12:13:28 2010 +0100
3034 @@ -0,0 +1,258 @@
3035 +/* Copyright 1999 by Paul Ortyl <ortylp@from.pl> */
3036 +
3037 +#include <stdio.h>
3038 +#include <stdlib.h>
3039 +#include <string.h>
3040 +#include "lang.h"
3041 +#include "export.h"
3042 +#include "font.h"
3043 +#define WW (W*CW) /* pixel width of window */
3044 +#define WH (H*CH) /* pixel hegiht of window */
3045 +
3046 +
3047 +static inline void draw_char(unsigned char * colour_matrix, int fg, int bg,
3048 +    int c, int dbl, int _x, int _y, int sep)
3049 +{
3050 +  int x,y;
3051 +  unsigned char* src= (latin1==LATIN1 ? font1_bits : font2_bits);
3052 +  int dest_x=_x*CW;
3053 +  int dest_y=_y*CH;
3054 +      
3055 +  for(y=0;y<(CH<<dbl); y++)
3056 +    {
3057 +      for(x=0;x<CW; x++)
3058 +       {
3059 +         int bitnr, bit, maskbitnr, maskbit;
3060 +         bitnr=(c/32*CH + (y>>dbl))*CW*32+ c%32*CW +x;
3061 +         bit=(*(src+bitnr/8))&(1<<bitnr%8);
3062 +         if (sep)
3063 +           {
3064 +             maskbitnr=(0xa0/32*CH + (y>>dbl))*CW*32+ 0xa0%32*CW +x;
3065 +             maskbit=(*(src+maskbitnr/8))&(1<<maskbitnr%8);
3066 +             *(colour_matrix+WW*(dest_y+y)+dest_x+x)=
3067 +               (char)((bit && (!maskbit)) ? fg : bg);
3068 +           }
3069 +         else 
3070 +           *(colour_matrix+WW*(dest_y+y)+dest_x+x)=
3071 +             (char)(bit ? fg : bg);
3072 +       }
3073 +    }
3074 +  return;
3075 +}
3076 +
3077 +
3078 +static void prepare_colour_matrix(/*struct export *e,*/
3079 +                     struct fmt_page *pg, 
3080 +                     unsigned char *colour_matrix)
3081 +{
3082 +   int x, y;
3083 +   for (y = 0; y < H; ++y)
3084 +       {
3085 +         for (x = 0; x < W; ++x)
3086 +           { 
3087 +             if (pg->dbl & (1<<(y-1)))
3088 +               {
3089 +                 if (pg->data[y-1][x].attr & EA_HDOUBLE)
3090 +                    draw_char(colour_matrix, pg->data[y][x].fg, 
3091 +                           pg->data[y][x].bg, pg->data[y][x].ch, 
3092 +                           (0), 
3093 +                           x, y, 
3094 +                           ((pg->data[y][x].attr & EA_SEPARATED) ? 1 : 0)
3095 +                           );
3096 +               }
3097 +             else
3098 +               {
3099 +                 draw_char(colour_matrix, pg->data[y][x].fg, 
3100 +                           pg->data[y][x].bg, pg->data[y][x].ch, 
3101 +                           ((pg->data[y][x].attr & EA_DOUBLE) ? 1 : 0), 
3102 +                           x, y, 
3103 +                           ((pg->data[y][x].attr & EA_SEPARATED) ? 1 : 0)
3104 +                           );
3105 +               }
3106 +           }
3107 +       }
3108 +    return;
3109 +}
3110 +
3111 +
3112 +static int ppm_output(struct export *e, char *name, struct fmt_page *pg);
3113 +
3114 +struct export_module export_ppm = // exported module definition
3115 +{
3116 +    "ppm",                     // id
3117 +    "ppm",                     // extension
3118 +    0,                         // options
3119 +    0,                         // size
3120 +    0,                         // open
3121 +    0,                         // close
3122 +    0,                         // option
3123 +    ppm_output                 // output
3124 +};
3125 +
3126 +
3127 +static int ppm_output(struct export *e, char *name, struct fmt_page *pg)
3128 +{
3129 +  FILE *fp;
3130 +  long n;
3131 +  static u8 rgb1[][3]={{0,0,0},
3132 +                     {1,0,0},
3133 +                     {0,1,0},
3134 +                     {1,1,0},
3135 +                     {0,0,1},
3136 +                     {1,0,1},
3137 +                     {0,1,1},
3138 +                     {1,1,1}};
3139 +  unsigned char *colour_matrix;
3140 +
3141 +  if (!(colour_matrix=malloc(WH*WW))) 
3142 +    {
3143 +      export_error("cannot allocate memory");
3144 +      return 0;
3145 +    }
3146 +
3147 +  prepare_colour_matrix(/*e,*/ pg, (unsigned char *)colour_matrix); 
3148 +  if (not(fp = fopen(name, "w")))
3149 +    {
3150 +      free(colour_matrix);
3151 +      export_error("cannot create file");
3152 +      return -1;
3153 +    }
3154 +  fprintf(fp,"P6 %d %d 1\n", WW, WH);
3155 +
3156 +  for(n=0;n<WH*WW;n++)
3157 +    {
3158 +      if (!fwrite(rgb1[(int) *(colour_matrix+n)], 3, 1, fp))
3159 +       {
3160 +         export_error("error while writting to file");
3161 +         free(colour_matrix);
3162 +         fclose(fp);
3163 +         return -1;
3164 +       }
3165 +    }
3166 +  free(colour_matrix);
3167 +  fclose(fp);
3168 +  return 0;
3169 +}
3170 +
3171 +
3172 +#ifdef WITH_PNG
3173 +
3174 +#include <png.h>
3175 +static int png_open(struct export *e);
3176 +static int png_option(struct export *e, int opt, char *arg);
3177 +static int png_output(struct export *e, char *name, struct fmt_page *pg);
3178 +static char *png_opts[] =      // module options
3179 +{
3180 +    "compression=<0-9>",       // set compression level
3181 +    0
3182 +};
3183 +
3184 +struct png_data                        // private data in struct export
3185 +{
3186 +    int compression;
3187 +};
3188 +
3189 +struct export_module export_png =      // exported module definition
3190 +{
3191 +    "png",                     // id
3192 +    "png",                     // extension
3193 +    png_opts,                  // options
3194 +    sizeof(struct png_data),   // size
3195 +    png_open,                  // open
3196 +    0,                         // close
3197 +    png_option,                        // option
3198 +    png_output                 // output
3199 +};
3200 +
3201 +#define D  ((struct png_data *)e->data)
3202 +
3203 +
3204 +static int png_open(struct export *e)
3205 +{
3206 +    D->compression = Z_DEFAULT_COMPRESSION;
3207 +    return 0;
3208 +}
3209 +
3210 +
3211 +static int png_option(struct export *e, int opt, char *arg)
3212 +{
3213 +    switch (opt)
3214 +    {
3215 +       case 1: // compression=
3216 +           if (*arg >= '0' && *arg <= '9')
3217 +               D->compression = *arg - '0';
3218 +           break;
3219 +    }
3220 +    return 0;
3221 +}
3222 +
3223 +
3224 +static int png_output(struct export *e, char *name, struct fmt_page *pg)
3225 +{
3226 +  FILE *fp;
3227 +  int x;
3228 +  png_structp png_ptr;
3229 +  png_infop info_ptr;
3230 +  png_byte *row_pointers[WH];
3231 +  static u8 rgb8[][3]={{  0,  0,  0},
3232 +                     {255,  0,  0},
3233 +                     {  0,255,  0},
3234 +                     {255,255,  0},
3235 +                     {  0,  0,255},
3236 +                     {255,  0,255},
3237 +                     {  0,255,255},
3238 +                     {255,255,255}};
3239 +  unsigned char *colour_matrix;
3240 +
3241 +  if (!(colour_matrix=malloc(WH*WW))) 
3242 +    {
3243 +      export_error("cannot allocate memory");
3244 +      return -1;
3245 +    }
3246 +  prepare_colour_matrix(/*e,*/ pg, (unsigned char *)colour_matrix); 
3247 +  if (not(fp = fopen(name, "w")))
3248 +    {
3249 +      free(colour_matrix);
3250 +      export_error("cannot create file");
3251 +      return -1;
3252 +      }
3253 +  png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 
3254 +                                   NULL, NULL, NULL);
3255 +  if (!png_ptr)
3256 +    {
3257 +      free(colour_matrix);
3258 +      fclose(fp);
3259 +      export_error("libpng init error");
3260 +      return -1;
3261 +    }
3262 +  info_ptr = png_create_info_struct(png_ptr);
3263 +  if (!info_ptr)
3264 +    {
3265 +      png_destroy_write_struct(&png_ptr,
3266 +                              (png_infopp)NULL);
3267 +      free(colour_matrix);
3268 +      fclose(fp);
3269 +      export_error("libpng init error");
3270 +      return -1;
3271 +    }
3272 +  png_init_io(png_ptr, fp);
3273 +  png_set_compression_level(png_ptr, D->compression);
3274 +  png_set_compression_mem_level(png_ptr, 9);
3275 +  png_set_compression_window_bits(png_ptr, 15);
3276 +  png_set_IHDR(png_ptr, info_ptr, WW, WH,
3277 +              8, PNG_COLOR_TYPE_PALETTE , PNG_INTERLACE_NONE,
3278 +              PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
3279 +  png_set_PLTE(png_ptr, info_ptr,(png_color*) rgb8 , 8);
3280 +  png_write_info(png_ptr, info_ptr);
3281 +  for(x=0; x<WH; x++)
3282 +    { row_pointers[x]=colour_matrix+x*WW; }
3283 +  png_write_image(png_ptr, row_pointers);
3284 +  png_write_end(png_ptr, info_ptr);
3285 +  png_destroy_write_struct(&png_ptr, &info_ptr);
3286 +  free(colour_matrix);
3287 +  fclose(fp);
3288 +  return 0;
3289 +}
3290 +
3291 +#endif
3292 +
3293 diff -r af23d23c278b util/alevt/exp-html.c
3294 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
3295 +++ b/util/alevt/exp-html.c     Tue Dec 21 12:13:28 2010 +0100
3296 @@ -0,0 +1,299 @@
3297 +/* Copyright 1999 by Paul Ortyl <ortylp@from.pl> */
3298 +
3299 +#include <stdio.h>
3300 +#include <string.h>
3301 +#include "lang.h"
3302 +#include "export.h"
3303 +
3304 +static int html_open(struct export *e);
3305 +static int html_option(struct export *e, int opt, char *arg);
3306 +static int html_output(struct export *e, char *name, struct fmt_page *pg);
3307 +static char *html_opts[] = // module options
3308 +{
3309 +  "gfx-chr=<char>",             // substitute <char> for gfx-symbols
3310 +  "bare",                     // no headers
3311 +   0
3312 +};
3313 +
3314 +struct html_data // private data in struct export
3315 +{
3316 +  u8 gfx_chr;
3317 +  u8 bare;
3318 +};
3319 +
3320 +
3321 +struct export_module export_html =     // exported module definition
3322 +{
3323 +    "html",                    // id
3324 +    "html",                    // extension
3325 +    html_opts,                 // options
3326 +    sizeof(struct html_data),  // size
3327 +    html_open,                 // open
3328 +    0,                         // close
3329 +    html_option,               // option
3330 +    html_output                        // output
3331 +};
3332 +
3333 +#define D  ((struct html_data *)e->data)
3334 +
3335 +
3336 +static int html_open(struct export *e)
3337 +{
3338 +    D->gfx_chr = '#';
3339 +    D->bare = 0;
3340 +    //e->reveal=1;     // the default should be the same for all formats.
3341 +    return 0;
3342 +}
3343 +
3344 +
3345 +static int html_option(struct export *e, int opt, char *arg)
3346 +{
3347 +  switch (opt)
3348 +    {
3349 +    case 1: // gfx-chr=
3350 +      D->gfx_chr = *arg ?: ' ';
3351 +      break;
3352 +    case 2: // bare (no headers)
3353 +      D->bare=1;
3354 +      break;
3355 +    }
3356 +  return 0;
3357 +}
3358 +
3359 +#define HTML_BLACK   "#000000"
3360 +#define HTML_RED     "#FF0000"
3361 +#define HTML_GREEN   "#00FF00"
3362 +#define HTML_YELLOW  "#FFFF00"
3363 +#define HTML_BLUE    "#0000FF"
3364 +#define HTML_MAGENTA "#FF00FF"
3365 +#define HTML_CYAN    "#00FFFF"
3366 +#define HTML_WHITE   "#FFFFFF"
3367 +
3368 +#undef UNREADABLE_HTML //no '\n'
3369 +#define STRIPPED_HTML   //only necessary fields in header
3370 +
3371 +static int html_output(struct export *e, char *name, struct fmt_page *pg)
3372 +{
3373 +    
3374 +  const char* html_colours[]={ HTML_BLACK,
3375 +                              HTML_RED,
3376 +                              HTML_GREEN,
3377 +                              HTML_YELLOW,
3378 +                              HTML_BLUE,
3379 +                              HTML_MAGENTA,
3380 +                              HTML_CYAN,
3381 +                              HTML_WHITE};
3382 +  FILE *fp;
3383 +  int x, y;
3384 +
3385 +#ifdef UNREADABLE_HTML
3386 +#define HTML_NL
3387 +#else
3388 +#define HTML_NL fputc('\n',fp);
3389 +#endif
3390 +  
3391 +  if (not(fp = fopen(name, "w")))
3392 +    {
3393 +      export_error("cannot create file");
3394 +      return -1;
3395 +    }
3396 +
3397 +if (!D->bare)
3398 +  {
3399 +#ifndef STRIPPED_HTML  
3400 +    fputs("<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">",fp);
3401 +    HTML_NL
3402 +#endif
3403 +      fputs("<html><head>",fp);
3404 +    HTML_NL
3405 +#ifndef STRIPPED_HTML
3406 +      fputs("<meta http-equiv=\"Content-Type\" content=\"text/html;",fp);
3407 +    switch(latin1) {
3408 +      case LATIN1: fprintf(fp,"charset=iso-8859-1\">"); break;
3409 +      case LATIN2: fprintf(fp,"charset=iso-8859-2\">"); break;
3410 +      case KOI8: fprintf(fp,"charset=koi8-r\">"); break;
3411 +      case GREEK: fprintf(fp,"charset=iso-8859-7\">"); break;
3412 +    }
3413 +    HTML_NL
3414 +      fputs("<meta name=\"GENERATOR\" content=\"alevt-cap\">",fp);
3415 +    HTML_NL
3416 +#else
3417 +    switch(latin1) {
3418 +      case LATIN1: fprintf(fp,"<meta charset=iso-8859-1\">"); break;
3419 +      case LATIN2: fprintf(fp,"<meta charset=iso-8859-2\">"); break;
3420 +      case KOI8: fprintf(fp,"<meta charset=koi8-r\">"); break;
3421 +      case GREEK: fprintf(fp,"<meta charset=iso-8859-7\">"); break;
3422 +    }
3423 +    HTML_NL
3424 +#endif
3425 +      fputs("</head>",fp);
3426 +    fputs("<body text=\"#FFFFFF\" bgcolor=\"#000000\">",fp);
3427 +    HTML_NL
3428 +      } //bare
3429 +
3430 +      fputs("<tt><b>",fp);
3431 +    HTML_NL
3432 +
3433 +  // write tables in form of HTML format
3434 +  for (y = 0; y < 25; ++y)
3435 +    { 
3436 +      int last_nonblank=0;
3437 +      int first_unprinted=0;
3438 +      int last_space=1;
3439 +      // previous char was &nbsp;
3440 +      // is used for deciding to put semicolon or not
3441 +      int nbsp=0; 
3442 +
3443 +      // for output filled with ' ' up to 40 chars
3444 +      // set last_nonblank=39
3445 +      for (x = 0 ; x < 40; ++x) 
3446 +       { 
3447 +         if (pg->data[y][x].attr & EA_GRAPHIC)
3448 +           {pg->data[y][x].ch= D->gfx_chr;}
3449 +         
3450 +         if (pg->data[y][x].ch!=' ')
3451 +         {
3452 +           last_nonblank=x;
3453 +         }
3454 +       }
3455 +
3456 +      for (x = 0 ; x <= last_nonblank ; ++x)
3457 +       {
3458 +         if (pg->data[y][x].ch==' ')
3459 +           {
3460 +             // if single space between blinking/colour words
3461 +             // then make the space blinking/colour too
3462 +             if ((x)&&(x<39))
3463 +               {
3464 +                 if ((pg->data[y][x-1].ch!=' ')
3465 +                     &&(pg->data[y][x+1].ch!=' ')
3466 +                     &&(pg->data[y][x-1].attr & EA_BLINK)
3467 +                     &&(pg->data[y][x+1].attr & EA_BLINK))
3468 +                   {pg->data[y][x].attr |= EA_BLINK;}
3469 +                 else              
3470 +                   {pg->data[y][x].attr &= ~EA_BLINK;}
3471 +                           
3472 +                 if ((pg->data[y][x-1].ch!=' ')
3473 +                     &&(pg->data[y][x+1].ch!=' ')
3474 +                     &&(pg->data[y][x-1].fg==pg->data[y][x+1].fg))
3475 +                   {pg->data[y][x].fg=pg->data[y][x-1].fg;}
3476 +                 else
3477 +                   pg->data[y][x].fg=7;
3478 +               }
3479 +             else
3480 +               {
3481 +                 pg->data[y][x].attr &= ~EA_BLINK;
3482 +                 pg->data[y][x].fg=7;
3483 +               }
3484 +           }
3485 +         else
3486 +           {
3487 +             // if foreground is black set the foreground to previous 
3488 +             // background colour to let it be visible
3489 +             if (!pg->data[y][x].fg)
3490 +               {pg->data[y][x].fg=pg->data[y][x].bg;}
3491 +           }
3492 +         //check if attributes changed,
3493 +         //if yes then print chars and update first_unprinted
3494 +         //if not then go to next char
3495 +         if (x)
3496 +           {
3497 +             if (((
3498 +                   (pg->data[y][x].attr & EA_BLINK)
3499 +                   ==
3500 +                   (pg->data[y][x-1].attr & EA_BLINK)
3501 +                   )
3502 +                  &&
3503 +                  (
3504 +                   pg->data[y][x].fg == pg->data[y][x-1].fg
3505 +                   ))
3506 +                 &&(x!=last_nonblank))
3507 +               
3508 +               { continue; }
3509 +           }
3510 +         else continue;
3511 +           
3512 +         {
3513 +           int z=first_unprinted;
3514 +           for(;(pg->data[y][z].ch==' ') && (z<x);z++)
3515 +             {
3516 +               if (last_space)
3517 +                 {
3518 +                   fprintf(fp,"&nbsp");
3519 +                   last_space=0;
3520 +                   nbsp=1;
3521 +                 }
3522 +               else 
3523 +                 {
3524 +                   fputc(' ',fp);
3525 +                   last_space=1;
3526 +                   nbsp=0;
3527 +                 }
3528 +             }
3529 +          
3530 +           first_unprinted=z;
3531 +           
3532 +           if (z==x) continue; 
3533 +           
3534 +           if (pg->data[y][first_unprinted].attr & EA_BLINK) 
3535 +             {
3536 +               fprintf(fp,"<blink>");
3537 +               nbsp=0;
3538 +             }
3539 +           
3540 +           if (pg->data[y][first_unprinted].fg!=7)
3541 +             {
3542 +               fprintf(fp,"<font color=\"%s\">",
3543 +                       html_colours[pg->data[y][first_unprinted].fg]);
3544 +               nbsp=0;
3545 +             }
3546 +           for(;(z<x)||(z==last_nonblank);z++)
3547 +             {
3548 +               
3549 +               if (pg->data[y][z].ch==' ')
3550 +                 {
3551 +                   for(;(pg->data[y][z].ch==' ') && (z<x);z++)
3552 +                     {
3553 +                       if (last_space)
3554 +                         {
3555 +                           fprintf(fp,"&nbsp");
3556 +                           last_space=0;
3557 +                           nbsp=1;
3558 +                         }
3559 +                       else 
3560 +                         {
3561 +                           fputc(' ',fp);
3562 +                           last_space=1;
3563 +                           nbsp=0;
3564 +                         }
3565 +                     }
3566 +                   z--;
3567 +                 }
3568 +               else
3569 +                 {
3570 +                   //if previous nbsp --> put semicolon!!!
3571 +                   if (nbsp) fputc(';',fp);
3572 +                   fputc(pg->data[y][z].ch,fp);
3573 +                   last_space=0;
3574 +                   nbsp=0;
3575 +                 }
3576 +             }
3577 +           if (pg->data[y][first_unprinted].fg!=7)
3578 +             {
3579 +               fprintf(fp,"</font>");
3580 +             }
3581 +           if (pg->data[y][first_unprinted].attr & EA_BLINK)
3582 +             fprintf(fp,"</blink>");
3583 +           
3584 +           first_unprinted=z;
3585 +         }
3586 +       }
3587 +      fputs("<br>",fp);
3588 +      HTML_NL
3589 +    }
3590 +  fputs("</b></tt>",fp);
3591 +  if (!D->bare)
3592 +    fputs("</body></html>",fp);
3593 +  fclose(fp);
3594 +  return 0;
3595 +}
3596 diff -r af23d23c278b util/alevt/exp-txt.c
3597 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
3598 +++ b/util/alevt/exp-txt.c      Tue Dec 21 12:13:28 2010 +0100
3599 @@ -0,0 +1,226 @@
3600 +#include <stdio.h>
3601 +#include <string.h>
3602 +#include <stdlib.h>
3603 +#include "os.h"
3604 +#include "export.h"
3605 +
3606 +static int txt_open(struct export *e);
3607 +static int txt_option(struct export *e, int opt, char *arg);
3608 +static int txt_output(struct export *e, char *name, struct fmt_page *pg);
3609 +static char *txt_opts[] =      // module options
3610 +{
3611 +    "color",                   // generate ansi color codes (and attributes)
3612 +    "gfx-chr=<char>",          // substitute <char> for gfx-symbols
3613 +    "fg=<0-7|none>",           // assume term has <x> as foreground color
3614 +    "bg=<0-7|none>",           // assume term has <x> as background color
3615 +    "lines=<1-25>",            // output 24 or 25 lines
3616 +    0
3617 +};
3618 +
3619 +
3620 +struct txt_data                        // private data in struct export
3621 +{
3622 +    u8 color;
3623 +    u8 gfx_chr;
3624 +    u8 def_fg;
3625 +    u8 def_bg;
3626 +    int endline;
3627 +    struct fmt_char curr[1];
3628 +    FILE *fp;
3629 +};
3630 +
3631 +
3632 +struct export_module export_txt =      // exported module definition
3633 +{
3634 +    "ascii",                   // id
3635 +    "txt",                     // extension
3636 +    txt_opts,                  // options
3637 +    sizeof(struct txt_data),   // data size
3638 +    txt_open,                  // open
3639 +    0,                         // close
3640 +    txt_option,                        // option
3641 +    txt_output,                        // output
3642 +};
3643 +
3644 +
3645 +struct export_module export_ansi =     // exported module definition
3646 +{
3647 +    "ansi",                    // id
3648 +    "txt",                     // extension
3649 +    txt_opts,                  // options
3650 +    sizeof(struct txt_data),   // data size
3651 +    txt_open,                  // open
3652 +    0,                         // close
3653 +    txt_option,                        // option
3654 +    txt_output,                        // output
3655 +};
3656 +
3657 +#define D  ((struct txt_data *)e->data)
3658 +
3659 +
3660 +char * my_stpcpy(char *dst, const char *src)
3661 +{
3662 +    while (*dst = *src++)
3663 +       dst++;
3664 +    return dst;
3665 +}
3666 +
3667 +
3668 +static int txt_open(struct export *e)
3669 +{
3670 +    D->gfx_chr = '#';
3671 +    D->def_fg = -1;
3672 +    D->def_bg = -1;
3673 +    D->endline = H;
3674 +    if (e->mod == &export_ansi)
3675 +       D->color = 1;
3676 +    return 0;
3677 +}
3678 +
3679 +
3680 +static int txt_option(struct export *e, int opt, char *arg)
3681 +{
3682 +    switch (opt)
3683 +    {
3684 +       case 1: // color
3685 +           D->color = 1;
3686 +           break;
3687 +       case 2: // gfx-chr=
3688 +           D->gfx_chr = *arg ?: ' ';
3689 +           break;
3690 +       case 3: // fg=
3691 +           D->def_fg = *arg - '0';
3692 +           break;
3693 +       case 4: // bg=
3694 +           D->def_bg = *arg - '0';
3695 +           break;
3696 +       case 5: // lines=
3697 +           D->endline = atoi(arg);
3698 +           if (D->endline < 1 || D->endline > H)
3699 +           {
3700 +               export_error("lines: invalid number");
3701 +               return 1;
3702 +           }
3703 +    }
3704 +    return 0;
3705 +}
3706 +
3707 +
3708 +static void put_attr(struct export *e, struct fmt_char *new)
3709 +{
3710 +    char buf[512];
3711 +    char *p = buf;
3712 +    int fg, bg, attr;
3713 +    int reset = 0;
3714 +
3715 +    if (D->color)
3716 +    {
3717 +       fg = D->curr->fg ^ new->fg;
3718 +       bg = D->curr->bg ^ new->bg;
3719 +       attr = (D->curr->attr ^ new->attr) & (EA_BLINK | EA_DOUBLE);
3720 +
3721 +       if (fg | bg | attr)
3722 +       {
3723 +           if (~new->attr & attr)      // reset some attributes ->  reset all.
3724 +               reset = 1;
3725 +           if (fg && new->fg == D->def_fg)     // switch to def fg -> reset all
3726 +               reset = 1;
3727 +           if (bg && new->bg == D->def_bg)     // switch to def bg -> reset all
3728 +               reset = 1;
3729 +
3730 +           p = my_stpcpy(buf, "\e[");
3731 +           if (reset)
3732 +           {
3733 +               p = my_stpcpy(p, ";");          // "0;" but 0 isn't neccesary
3734 +               attr = -1;                      // set all attributes
3735 +               fg = new->fg ^ D->def_fg;       // set fg if != default fg
3736 +               bg = new->bg ^ D->def_bg;       // set bg if != default bg
3737 +           }
3738 +           if (attr & new->attr & EA_BLINK)
3739 +               p = my_stpcpy(p, "5;");                 // blink
3740 +           if (attr & new->attr & EA_DOUBLE)
3741 +               p = my_stpcpy(p, "1;");                 // bold
3742 +           if (fg)
3743 +               p += sprintf(p, "%d;", new->fg + 30);   // fg-color
3744 +           if (bg)
3745 +               p += sprintf(p, "%d;", new->bg + 40);   // bg-color
3746 +           p[-1] = 'm';        // replace last ;
3747 +           *D->curr = *new;
3748 +       }
3749 +    }
3750 +    *p++ = new->ch;
3751 +    *p = 0;
3752 +    fputs(buf, D->fp);
3753 +}
3754 +
3755 +
3756 +static int txt_output(struct export *e, char *name, struct fmt_page *pg)
3757 +{
3758 +    struct fmt_char def_c[1];
3759 +    struct fmt_char l[W+2];
3760 +    #define L (l+1)
3761 +    int x, y;
3762 +
3763 +    D->fp = fopen(name, "w");
3764 +    if (not D->fp)
3765 +    {
3766 +       export_error("cannot create file");
3767 +       return -1;
3768 +    }
3769 +
3770 +    /* initialize default colors. These have to be restored at EOL. */
3771 +    def_c->ch = '\n';
3772 +    def_c->fg = D->def_fg;
3773 +    def_c->bg = D->def_bg;
3774 +    def_c->attr = E_DEF_ATTR;
3775 +    *D->curr = *def_c;
3776 +    L[-1] = L[W] = *def_c;
3777 +
3778 +    for (y = 0; y < D->endline; y++)
3779 +       if (~pg->hid & (1 << y))        // not hidden
3780 +       {
3781 +           // character conversion
3782 +           for (x = 0; x < W; ++x)
3783 +           {
3784 +               struct fmt_char c = pg->data[y][x];
3785 +
3786 +               switch (c.ch)
3787 +               {
3788 +                   case 0x00: case 0xa0:               c.ch = ' '; break;
3789 +                   case 0x7f:                          c.ch = '*'; break;
3790 +                   case BAD_CHAR:                      c.ch = '?'; break;
3791 +                   default:
3792 +                       if (c.attr & EA_GRAPHIC)
3793 +                           c.ch = D->gfx_chr;
3794 +                       break;
3795 +               }
3796 +               L[x] = c;
3797 +           }
3798 +
3799 +           if (D->color)
3800 +           {
3801 +               // optimize color and attribute changes
3802 +               // delay fg and attr changes as far as possible
3803 +               for (x = 0; x < W; ++x)
3804 +                   if (L[x].ch == ' ')
3805 +                   {
3806 +                       L[x].fg = L[x-1].fg;
3807 +                       l[x].attr = L[x-1].attr;
3808 +                   }
3809 +
3810 +               // move fg and attr changes to prev bg change point
3811 +               for (x = W-1; x >= 0; x--)
3812 +                   if (L[x].ch == ' ' && L[x].bg == L[x+1].bg)
3813 +                   {
3814 +                       L[x].fg = L[x+1].fg;
3815 +                       L[x].attr = L[x+1].attr;
3816 +                   }
3817 +           }
3818 +
3819 +           // now emit the whole line (incl EOL)
3820 +           for (x = 0; x < W+1; ++x)
3821 +               put_attr(e, L + x);
3822 +       }
3823 +    fclose(D->fp);
3824 +    return 0;
3825 +}
3826 diff -r af23d23c278b util/alevt/export.c
3827 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
3828 +++ b/util/alevt/export.c       Tue Dec 21 12:13:28 2010 +0100
3829 @@ -0,0 +1,364 @@
3830 +#include <stdarg.h>
3831 +#include <stdlib.h>
3832 +#include <stdio.h>
3833 +#include <string.h>
3834 +#include "vt.h"
3835 +#include "misc.h"
3836 +#include "export.h"
3837 +
3838 +extern struct export_module export_txt;
3839 +extern struct export_module export_ansi;
3840 +extern struct export_module export_html;
3841 +extern struct export_module export_png;
3842 +extern struct export_module export_ppm;
3843 +struct export_module *modules[] =
3844 +{
3845 +    &export_txt,
3846 +    &export_ansi,
3847 +    &export_html,
3848 +    &export_ppm,
3849 +#ifdef WITH_PNG
3850 +    &export_png,
3851 +#endif
3852 +    0
3853 +};
3854 +
3855 +
3856 +static char *glbl_opts[] =
3857 +{
3858 +    "reveal",          // show hidden text
3859 +    "hide",            // don't show hidden text (default)
3860 +    0
3861 +};
3862 +
3863 +static char errbuf[64];
3864 +
3865 +
3866 +void export_error(char *str, ...)
3867 +{
3868 +    va_list args;
3869 +
3870 +    va_start(args, str);
3871 +    vsnprintf(errbuf, sizeof(errbuf)-1, str, args);
3872 +}
3873 +
3874 +
3875 +char * export_errstr(void)
3876 +{
3877 +    return errbuf;
3878 +}
3879 +
3880 +
3881 +static int find_opt(char **opts, char *opt, char *arg)
3882 +{
3883 +    int err = 0;
3884 +    char buf[256];
3885 +    char **oo, *o, *a;
3886 +
3887 +    if (oo = opts)
3888 +       while (o = *oo++)
3889 +       {
3890 +           if (a = strchr(o, '='))
3891 +           {
3892 +               a = buf + (a - o);
3893 +               o = strcpy(buf, o);
3894 +               *a++ = 0;
3895 +           }
3896 +           if (strcasecmp(o, opt) == 0)
3897 +           {
3898 +               if ((a != 0) == (arg != 0))
3899 +                   return oo - opts;
3900 +               err = -1;
3901 +           }
3902 +       }
3903 +    return err;
3904 +}
3905 +
3906 +
3907 +struct export * export_open(char *fmt)
3908 +{
3909 +    struct export_module **eem, *em;
3910 +    struct export *e;
3911 +    char *opt, *optend, *optarg;
3912 +    int opti;
3913 +
3914 +    if (fmt = strdup(fmt))
3915 +    {
3916 +       if (opt = strchr(fmt, ','))
3917 +           *opt++ = 0;
3918 +       for (eem = modules; em = *eem; eem++)
3919 +           if (strcasecmp(em->fmt_name, fmt) == 0)
3920 +               break;
3921 +       if (em)
3922 +       {
3923 +           if (e = malloc(sizeof(*e) + em->local_size))
3924 +           {
3925 +               e->mod = em;
3926 +               e->fmt_str = fmt;
3927 +               e->reveal = 0;
3928 +               memset(e + 1, 0, em->local_size);
3929 +               if (not em->open || em->open(e) == 0)
3930 +               {
3931 +                   for (; opt; opt = optend)
3932 +                   {
3933 +                       if (optend = strchr(opt, ','))
3934 +                           *optend++ = 0;
3935 +                       if (not *opt)
3936 +                           continue;
3937 +                       if (optarg = strchr(opt, '='))
3938 +                           *optarg++ = 0;
3939 +                       if ((opti = find_opt(glbl_opts, opt, optarg)) > 0)
3940 +                       {
3941 +                           if (opti == 1) // reveal
3942 +                               e->reveal = 1;
3943 +                           else if (opti == 2) // hide
3944 +                               e->reveal = 0;
3945 +                       }
3946 +                       else if (opti == 0 &&
3947 +                               (opti = find_opt(em->options, opt, optarg)) > 0)
3948 +                       {
3949 +                           if (em->option(e, opti, optarg))
3950 +                               break;
3951 +                       }
3952 +                       else
3953 +                       {
3954 +                           if (opti == 0)
3955 +                               export_error("%s: unknown option", opt);
3956 +                           else if (optarg)
3957 +                               export_error("%s: takes no arg", opt);
3958 +                           else
3959 +                               export_error("%s: missing arg", opt);
3960 +                           break;
3961 +                       }
3962 +                   }
3963 +                   if (opt == 0)
3964 +                       return e;
3965 +
3966 +                   if (em->close)
3967 +                       em->close(e);
3968 +               }
3969 +               free(e);
3970 +           }
3971 +           else
3972 +               export_error("out of memory");
3973 +       }
3974 +       else
3975 +           export_error("unknown format: %s", fmt);
3976 +       free(fmt);
3977 +    }
3978 +    else
3979 +       export_error("out of memory");
3980 +    return 0;
3981 +}
3982 +
3983 +
3984 +void export_close(struct export *e)
3985 +{
3986 +    if (e->mod->close)
3987 +       e->mod->close(e);
3988 +    free(e->fmt_str);
3989 +    free(e);
3990 +}
3991 +
3992 +
3993 +static char * hexnum(char *buf, unsigned int num)
3994 +{
3995 +    char *p = buf + 5;
3996 +
3997 +    num &= 0xffff;
3998 +    *--p = 0;
3999 +    do
4000 +    {
4001 +       *--p = "0123456789abcdef"[num % 16];
4002 +       num /= 16;
4003 +    } while (num);
4004 +    return p;
4005 +}
4006 +
4007 +
4008 +static char * adjust(char *p, char *str, char fill, int width)
4009 +{
4010 +    int l = width - strlen(str);
4011 +
4012 +    while (l-- > 0)
4013 +       *p++ = fill;
4014 +    while (*p = *str++)
4015 +       p++;
4016 +    return p;
4017 +}
4018 +
4019 +
4020 +char * export_mkname(struct export *e, char *fmt, struct vt_page *vtp, char *usr)
4021 +{
4022 +    char bbuf[1024];
4023 +    char *p = bbuf;
4024 +
4025 +    while (*p = *fmt++)
4026 +       if (*p++ == '%')
4027 +       {
4028 +           char buf[32], buf2[32];
4029 +           int width = 0;
4030 +
4031 +           p--;
4032 +           while (*fmt >= '0' && *fmt <= '9')
4033 +               width = width*10 + *fmt++ - '0';
4034 +
4035 +           switch (*fmt++)
4036 +           {
4037 +               case '%':
4038 +                   p = adjust(p, "%", '%', width);
4039 +                   break;
4040 +               case 'e':       // extension
4041 +                   p = adjust(p, e->mod->extension, '.', width);
4042 +                   break;
4043 +               case 'p':       // pageno[.subno]
4044 +                   if (vtp->subno)
4045 +                       p = adjust(p,strcat(strcat(hexnum(buf, vtp->pgno),
4046 +                               "."), hexnum(buf2, vtp->subno)), ' ', width);
4047 +                   else
4048 +                       p = adjust(p, hexnum(buf, vtp->pgno), ' ', width);
4049 +                   break;
4050 +               case 'S':       // subno
4051 +                   p = adjust(p, hexnum(buf, vtp->subno), '0', width);
4052 +                   break;
4053 +               case 'P':       // pgno
4054 +                   p = adjust(p, hexnum(buf, vtp->pgno), '0', width);
4055 +                   break;
4056 +               case 's':       // user strin
4057 +                   p = adjust(p, usr, ' ', width);
4058 +                   break;
4059 +               //TODO: add date, channel name, ...
4060 +           }
4061 +       }
4062 +    p = strdup(bbuf);
4063 +    if (not p)
4064 +       export_error("out of memory");
4065 +    return p;
4066 +}
4067 +
4068 +
4069 +static void fmt_page(struct export *e, struct fmt_page *pg, struct vt_page *vtp)
4070 +{
4071 +    char buf[16];
4072 +    int x, y;
4073 +    u8 *p = vtp->data[0];
4074 +
4075 +    pg->dbl = 0;
4076 +
4077 +    sprintf(buf, "\2%x.%02x\7", vtp->pgno, vtp->subno & 0xff);
4078 +
4079 +    for (y = 0; y < H; y++)
4080 +    {
4081 +       struct fmt_char c;
4082 +       int last_ch = ' ';
4083 +       int dbl = 0, hold = 0;
4084 +
4085 +       c.fg = 7;
4086 +       c.bg = 0;
4087 +       c.attr = 0;
4088 +
4089 +       for (x = 0; x < W; ++x)
4090 +       {
4091 +           c.ch = *p++;
4092 +           if (y == 0 && x < 8)
4093 +               c.ch = buf[x];
4094 +           switch (c.ch)
4095 +           {
4096 +               case 0x00 ... 0x07:     /* alpha + fg color */
4097 +                   c.fg = c.ch & 7;
4098 +                   c.attr &= ~(EA_GRAPHIC | EA_CONCEALED);
4099 +                   goto ctrl;
4100 +               case 0x08:              /* flash */
4101 +                   c.attr |= EA_BLINK;
4102 +                   goto ctrl;
4103 +               case 0x09:              /* steady */
4104 +                   c.attr &= ~EA_BLINK;
4105 +                   goto ctrl;
4106 +               case 0x0a:              /* end box */
4107 +               case 0x0b:              /* start box */
4108 +                   goto ctrl;
4109 +               case 0x0c:              /* normal height */
4110 +                   c.attr &= EA_DOUBLE;
4111 +                   goto ctrl;
4112 +               case 0x0d:              /* double height */
4113 +                   if (y < H-2)        /* ignored on last 2 lines */
4114 +                   {
4115 +                       c.attr |= EA_DOUBLE;
4116 +                       dbl = 1;
4117 +                   }
4118 +                   goto ctrl;
4119 +               case 0x10 ... 0x17:     /* gfx + fg color */
4120 +                   c.fg = c.ch & 7;
4121 +                   c.attr |= EA_GRAPHIC;
4122 +                   c.attr &= ~EA_CONCEALED;
4123 +                   goto ctrl;
4124 +               case 0x18:              /* conceal */
4125 +                   c.attr |= EA_CONCEALED;
4126 +                   goto ctrl;
4127 +               case 0x19:              /* contiguous gfx */
4128 +                   c.attr &= ~EA_SEPARATED;
4129 +                   goto ctrl;
4130 +               case 0x1a:              /* separate gfx */
4131 +                   c.attr |= EA_SEPARATED;
4132 +                   goto ctrl;
4133 +               case 0x1c:              /* black bg */
4134 +                   c.bg = 0;
4135 +                   goto ctrl;
4136 +               case 0x1d:              /* new bg */
4137 +                   c.bg = c.fg;
4138 +                   goto ctrl;
4139 +               case 0x1e:              /* hold gfx */
4140 +                   hold = 1;
4141 +                   goto ctrl;
4142 +               case 0x1f:              /* release gfx */
4143 +                   hold = 0;
4144 +                   goto ctrl;
4145 +
4146 +               case 0x0e:              /* SO */
4147 +               case 0x0f:              /* SI */
4148 +               case 0x1b:              /* ESC */
4149 +                   c.ch = ' ';
4150 +                   break;
4151 +
4152 +               ctrl:
4153 +                   c.ch = ' ';
4154 +                   if (hold && (c.attr & EA_GRAPHIC))
4155 +                       c.ch = last_ch;
4156 +                   break;
4157 +           }
4158 +           if (c.attr & EA_GRAPHIC)
4159 +               if ((c.ch & 0xa0) == 0x20)
4160 +               {
4161 +                   last_ch = c.ch;
4162 +                   c.ch += (c.ch & 0x40) ? 32 : -32;
4163 +               }
4164 +           if (c.attr & EA_CONCEALED)
4165 +               if (not e->reveal)
4166 +                   c.ch = ' ';
4167 +           pg->data[y][x] = c;
4168 +       }
4169 +       if (dbl)
4170 +       {
4171 +           pg->dbl |= 1 << y;
4172 +           for (x = 0; x < W; ++x)
4173 +           {
4174 +               if (~pg->data[y][x].attr & EA_DOUBLE)
4175 +                   pg->data[y][x].attr |= EA_HDOUBLE;
4176 +               pg->data[y+1][x] = pg->data[y][x];
4177 +               pg->data[y+1][x].ch = ' ';
4178 +           }
4179 +           y++;
4180 +           p += W;
4181 +       }
4182 +    }
4183 +    pg->hid = pg->dbl << 1;
4184 +}
4185 +
4186 +
4187 +int export(struct export *e, struct vt_page *vtp, char *name)
4188 +{
4189 +    struct fmt_page pg[1];
4190 +
4191 +    fmt_page(e, pg, vtp);
4192 +    return e->mod->output(e, name, pg);
4193 +}
4194 diff -r af23d23c278b util/alevt/export.h
4195 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4196 +++ b/util/alevt/export.h       Tue Dec 21 12:13:28 2010 +0100
4197 @@ -0,0 +1,66 @@
4198 +#ifndef EXPORT_H
4199 +#define EXPORT_H
4200 +
4201 +#include "vt.h"
4202 +#include "misc.h"
4203 +
4204 +
4205 +struct fmt_char
4206 +{
4207 +    u8 ch, fg, bg, attr;
4208 +};
4209 +
4210 +#define EA_DOUBLE      1       // double height char
4211 +#define EA_HDOUBLE     2       // single height char in double height line
4212 +#define EA_BLINK       4       // blink
4213 +#define EA_CONCEALED   8       // concealed
4214 +#define EA_GRAPHIC     16      // graphic symbol
4215 +#define EA_SEPARATED   32      // use separated graphic symbol
4216 +
4217 +#define E_DEF_FG       7
4218 +#define E_DEF_BG       0
4219 +#define E_DEF_ATTR     0
4220 +
4221 +
4222 +struct fmt_page
4223 +{
4224 +    struct vt_page *vtp;
4225 +    u32 dbl, hid;
4226 +    struct fmt_char data[H][W];
4227 +};
4228 +
4229 +
4230 +struct export
4231 +{
4232 +    struct export_module *mod; // module type
4233 +    char *fmt_str;             // saved option string (splitted)
4234 +    // global options
4235 +    int reveal;                        // reveal hidden chars
4236 +    // local data for module's use.  initialized to 0.
4237 +    struct { int dummy; } data[0];
4238 +};
4239 +
4240 +
4241 +struct export_module
4242 +{
4243 +    char *fmt_name;            // the format type name (ASCII/HTML/PNG/...)
4244 +    char *extension;           // the default file name extension
4245 +    char **options;            // module options
4246 +    int local_size;
4247 +    int (*open)(struct export *fmt);
4248 +    void (*close)(struct export *fmt);
4249 +    int (*option)(struct export *fmt, int opt, char *arg);
4250 +    int (*output)(struct export *fmt, char *name, struct fmt_page *pg);
4251 +};
4252 +
4253 +
4254 +extern struct export_module *modules[];        // list of modules (for help msgs)
4255 +void export_error(char *str, ...);     // set error
4256 +char *export_errstr(void);             // return last error
4257 +char *export_mkname(struct export *e, char *fmt, struct vt_page *vtp, char *usr);
4258 +
4259 +
4260 +struct export *export_open(char *fmt);
4261 +void export_close(struct export *e);
4262 +int export(struct export *e, struct vt_page *vtp, char *user_str);
4263 +#endif
4264 diff -r af23d23c278b util/alevt/fdset.c
4265 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4266 +++ b/util/alevt/fdset.c        Tue Dec 21 12:13:28 2010 +0100
4267 @@ -0,0 +1,97 @@
4268 +#include <stdlib.h>
4269 +#include <unistd.h>
4270 +#include <sys/time.h>
4271 +#include "dllist.h"
4272 +#include "misc.h"
4273 +#include "fdset.h"
4274 +
4275 +struct fdset fds[1];           /* global fd list */
4276 +
4277 +
4278 +int fdset_init(struct fdset *fds)
4279 +{
4280 +    dl_init(fds->list);
4281 +    fds->del_count = 0;
4282 +    return 0;
4283 +}
4284 +
4285 +
4286 +int fdset_add_fd(struct fdset *fds, int fd, void *handler, void *data)
4287 +{
4288 +    struct fdset_node *fn;
4289 +
4290 +    if (fd < 0)
4291 +       return -1;
4292 +    if (handler == 0)
4293 +       return -1;
4294 +
4295 +    for (fn = PTR fds->list->first; fn->node->next; fn = PTR fn->node->next)
4296 +       if (fn->fd == fd)
4297 +           return -1;
4298 +
4299 +    if (not(fn = malloc(sizeof(*fn))))
4300 +       return -1;
4301 +    fn->fd = fd;
4302 +    fn->handler = handler;
4303 +    fn->data = data;
4304 +    dl_insert_last(fds->list, fn->node);
4305 +    return 0;
4306 +}
4307 +
4308 +
4309 +int fdset_del_fd(struct fdset *fds, int fd)
4310 +{
4311 +    struct fdset_node *fn;
4312 +
4313 +    for (fn = PTR fds->list->first; fn->node->next; fn = PTR fn->node->next)
4314 +       if (fn->fd == fd)
4315 +       {
4316 +           dl_remove(fn->node);
4317 +           free(fn);
4318 +           fds->del_count++;
4319 +           return 0;
4320 +       }
4321 +    return -1;
4322 +}
4323 +
4324 +
4325 +int fdset_select(struct fdset *fds, int timeout)
4326 +{
4327 +    struct fdset_node *fn;
4328 +    fd_set rfds[1];
4329 +    struct timeval tv[1], *tvp = 0;
4330 +    int max_fd, x, del_count;
4331 +
4332 +    FD_ZERO(rfds);
4333 +    max_fd = 0;
4334 +    for (fn = PTR fds->list->first; fn->node->next; fn = PTR fn->node->next)
4335 +    {
4336 +       FD_SET(fn->fd, rfds);
4337 +       if (fn->fd >= max_fd)
4338 +           max_fd = fn->fd + 1;
4339 +    }
4340 +
4341 +    if (timeout >= 0)
4342 +    {
4343 +       tv->tv_sec = timeout/1000;
4344 +       tv->tv_usec = timeout%1000*1000;
4345 +       tvp = tv;
4346 +    }
4347 +
4348 +    x = select(max_fd, rfds, 0, 0, tvp);
4349 +    if (x <= 0)
4350 +       return x;
4351 +
4352 +    /* A little bit complicated. A called handler may modify the fdset... */
4353 +restart:
4354 +    del_count = fds->del_count;
4355 +    for (fn = PTR fds->list->first; fn->node->next; fn = PTR fn->node->next)
4356 +       if (FD_ISSET(fn->fd, rfds))
4357 +       {
4358 +           FD_CLR(fn->fd, rfds);
4359 +           fn->handler(fn->data, fn->fd);
4360 +           if (fds->del_count != del_count)
4361 +               goto restart;
4362 +       }
4363 +    return 1;
4364 +}
4365 diff -r af23d23c278b util/alevt/fdset.h
4366 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4367 +++ b/util/alevt/fdset.h        Tue Dec 21 12:13:28 2010 +0100
4368 @@ -0,0 +1,28 @@
4369 +#ifndef FDSET_H
4370 +#define FDSET_H
4371 +
4372 +#include "dllist.h"
4373 +
4374 +
4375 +struct fdset
4376 +{
4377 +    struct dl_head list[1];
4378 +    int del_count;
4379 +};
4380 +
4381 +
4382 +struct fdset_node /*internal*/
4383 +{
4384 +    struct dl_node node[1];
4385 +    int fd;
4386 +    void (*handler)(void *data, int fd);
4387 +    void *data;
4388 +};
4389 +
4390 +extern struct fdset fds[1]; /* global fd list */
4391 +
4392 +int fdset_init(struct fdset *fds);
4393 +int fdset_add_fd(struct fdset *fds, int fd, void *handler, void *data);
4394 +int fdset_del_fd(struct fdset *fds, int fd);
4395 +int fdset_select(struct fdset *fds, int timeout /*millisec*/);
4396 +#endif
4397 diff -r af23d23c278b util/alevt/font.c
4398 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4399 +++ b/util/alevt/font.c Tue Dec 21 12:13:28 2010 +0100
4400 @@ -0,0 +1,5 @@
4401 +#define static /* I want them global */
4402 +#include "font1.xbm"
4403 +#include "font2.xbm"
4404 +#include "font3.xbm"
4405 +#include "font4.xbm"
4406 diff -r af23d23c278b util/alevt/font.h
4407 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4408 +++ b/util/alevt/font.h Tue Dec 21 12:13:28 2010 +0100
4409 @@ -0,0 +1,19 @@
4410 +#ifndef FONT_H
4411 +#define FONT_H
4412 +
4413 +#include "fontsize.h" /* the #defines from font?.xbm */
4414 +
4415 +#if font1_width != font2_width || font1_height != font2_height
4416 +#error different font sizes.
4417 +#endif
4418 +
4419 +extern unsigned char font1_bits[];
4420 +extern unsigned char font2_bits[];
4421 +extern unsigned char font3_bits[];
4422 +extern unsigned char font4_bits[];
4423 +
4424 +#define font_width font1_width
4425 +#define font_height font1_height
4426 +#define CW (font_width/32) /* pixel width of a character */
4427 +#define CH (font_height/8) /* pixel height of a character */
4428 +#endif
4429 diff -r af23d23c278b util/alevt/hamm.c
4430 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4431 +++ b/util/alevt/hamm.c Tue Dec 21 12:13:28 2010 +0100
4432 @@ -0,0 +1,229 @@
4433 +#include "vt.h"
4434 +#include "hamm.h"
4435 +
4436 +// table to decode hamm8/4 encoded bytes.
4437 +// the low 4 bits are the (corrected) data bits
4438 +// bit 8 is set if there was a single bit error
4439 +// bit 12 is set if there was an uncorrectable error
4440 +
4441 +// the idea: you may add up to 15 words and get the
4442 +// number of single bit errors in b8-b11 and the number
4443 +// of double errors in b12-b15
4444 +
4445 +
4446 +static unsigned short hammtab[256] =
4447 +{
4448 +    0x0101, 0x100f, 0x0001, 0x0101, 0x100f, 0x0100, 0x0101, 0x100f,
4449 +    0x100f, 0x0102, 0x0101, 0x100f, 0x010a, 0x100f, 0x100f, 0x0107,
4450 +    0x100f, 0x0100, 0x0101, 0x100f, 0x0100, 0x0000, 0x100f, 0x0100,
4451 +    0x0106, 0x100f, 0x100f, 0x010b, 0x100f, 0x0100, 0x0103, 0x100f,
4452 +    0x100f, 0x010c, 0x0101, 0x100f, 0x0104, 0x100f, 0x100f, 0x0107,
4453 +    0x0106, 0x100f, 0x100f, 0x0107, 0x100f, 0x0107, 0x0107, 0x0007,
4454 +    0x0106, 0x100f, 0x100f, 0x0105, 0x100f, 0x0100, 0x010d, 0x100f,
4455 +    0x0006, 0x0106, 0x0106, 0x100f, 0x0106, 0x100f, 0x100f, 0x0107,
4456 +    0x100f, 0x0102, 0x0101, 0x100f, 0x0104, 0x100f, 0x100f, 0x0109,
4457 +    0x0102, 0x0002, 0x100f, 0x0102, 0x100f, 0x0102, 0x0103, 0x100f,
4458 +    0x0108, 0x100f, 0x100f, 0x0105, 0x100f, 0x0100, 0x0103, 0x100f,
4459 +    0x100f, 0x0102, 0x0103, 0x100f, 0x0103, 0x100f, 0x0003, 0x0103,
4460 +    0x0104, 0x100f, 0x100f, 0x0105, 0x0004, 0x0104, 0x0104, 0x100f,
4461 +    0x100f, 0x0102, 0x010f, 0x100f, 0x0104, 0x100f, 0x100f, 0x0107,
4462 +    0x100f, 0x0105, 0x0105, 0x0005, 0x0104, 0x100f, 0x100f, 0x0105,
4463 +    0x0106, 0x100f, 0x100f, 0x0105, 0x100f, 0x010e, 0x0103, 0x100f,
4464 +    0x100f, 0x010c, 0x0101, 0x100f, 0x010a, 0x100f, 0x100f, 0x0109,
4465 +    0x010a, 0x100f, 0x100f, 0x010b, 0x000a, 0x010a, 0x010a, 0x100f,
4466 +    0x0108, 0x100f, 0x100f, 0x010b, 0x100f, 0x0100, 0x010d, 0x100f,
4467 +    0x100f, 0x010b, 0x010b, 0x000b, 0x010a, 0x100f, 0x100f, 0x010b,
4468 +    0x010c, 0x000c, 0x100f, 0x010c, 0x100f, 0x010c, 0x010d, 0x100f,
4469 +    0x100f, 0x010c, 0x010f, 0x100f, 0x010a, 0x100f, 0x100f, 0x0107,
4470 +    0x100f, 0x010c, 0x010d, 0x100f, 0x010d, 0x100f, 0x000d, 0x010d,
4471 +    0x0106, 0x100f, 0x100f, 0x010b, 0x100f, 0x010e, 0x010d, 0x100f,
4472 +    0x0108, 0x100f, 0x100f, 0x0109, 0x100f, 0x0109, 0x0109, 0x0009,
4473 +    0x100f, 0x0102, 0x010f, 0x100f, 0x010a, 0x100f, 0x100f, 0x0109,
4474 +    0x0008, 0x0108, 0x0108, 0x100f, 0x0108, 0x100f, 0x100f, 0x0109,
4475 +    0x0108, 0x100f, 0x100f, 0x010b, 0x100f, 0x010e, 0x0103, 0x100f,
4476 +    0x100f, 0x010c, 0x010f, 0x100f, 0x0104, 0x100f, 0x100f, 0x0109,
4477 +    0x010f, 0x100f, 0x000f, 0x010f, 0x100f, 0x010e, 0x010f, 0x100f,
4478 +    0x0108, 0x100f, 0x100f, 0x0105, 0x100f, 0x010e, 0x010d, 0x100f,
4479 +    0x100f, 0x010e, 0x010f, 0x100f, 0x010e, 0x000e, 0x100f, 0x010e,
4480 +};
4481 +
4482 +#if 0  // this information is contained in hamm24par bit 5
4483 +// simple parity table (sum of 1 bits modulo 2)
4484 +
4485 +
4486 +static char odd_parity[256] =
4487 +{
4488 +    0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,
4489 +    1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
4490 +    1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
4491 +    0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,
4492 +    1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
4493 +    0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,
4494 +    0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,
4495 +    1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
4496 +    1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
4497 +    0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,
4498 +    0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,
4499 +    1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
4500 +    0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,
4501 +    1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
4502 +    1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
4503 +    0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0
4504 +};
4505 +#endif
4506 +
4507 +// this table generates the parity checks for hamm24/18 decoding.
4508 +// bit 0 is for test A, 1 for B, ...
4509 +// thanks to R. Gancarz for this fine table *g*
4510 +
4511 +
4512 +static char hamm24par[3][256] =
4513 +{
4514 +    { // parities of first byte
4515 +        0, 33, 34,  3, 35,  2,  1, 32, 36,  5,  6, 39,  7, 38, 37,  4,
4516 +       37,  4,  7, 38,  6, 39, 36,  5,  1, 32, 35,  2, 34,  3,  0, 33,
4517 +       38,  7,  4, 37,  5, 36, 39,  6,  2, 35, 32,  1, 33,  0,  3, 34,
4518 +        3, 34, 33,  0, 32,  1,  2, 35, 39,  6,  5, 36,  4, 37, 38,  7,
4519 +       39,  6,  5, 36,  4, 37, 38,  7,  3, 34, 33,  0, 32,  1,  2, 35,
4520 +        2, 35, 32,  1, 33,  0,  3, 34, 38,  7,  4, 37,  5, 36, 39,  6,
4521 +        1, 32, 35,  2, 34,  3,  0, 33, 37,  4,  7, 38,  6, 39, 36,  5,
4522 +       36,  5,  6, 39,  7, 38, 37,  4,  0, 33, 34,  3, 35,  2,  1, 32,
4523 +       40,  9, 10, 43, 11, 42, 41,  8, 12, 45, 46, 15, 47, 14, 13, 44,
4524 +       13, 44, 47, 14, 46, 15, 12, 45, 41,  8, 11, 42, 10, 43, 40,  9,
4525 +       14, 47, 44, 13, 45, 12, 15, 46, 42, 11,  8, 41,  9, 40, 43, 10,
4526 +       43, 10,  9, 40,  8, 41, 42, 11, 15, 46, 45, 12, 44, 13, 14, 47,
4527 +       15, 46, 45, 12, 44, 13, 14, 47, 43, 10,  9, 40,  8, 41, 42, 11,
4528 +       42, 11,  8, 41,  9, 40, 43, 10, 14, 47, 44, 13, 45, 12, 15, 46,
4529 +       41,  8, 11, 42, 10, 43, 40,  9, 13, 44, 47, 14, 46, 15, 12, 45,
4530 +       12, 45, 46, 15, 47, 14, 13, 44, 40,  9, 10, 43, 11, 42, 41,  8
4531 +    }, { // parities of second byte
4532 +        0, 41, 42,  3, 43,  2,  1, 40, 44,  5,  6, 47,  7, 46, 45,  4,
4533 +       45,  4,  7, 46,  6, 47, 44,  5,  1, 40, 43,  2, 42,  3,  0, 41,
4534 +       46,  7,  4, 45,  5, 44, 47,  6,  2, 43, 40,  1, 41,  0,  3, 42,
4535 +        3, 42, 41,  0, 40,  1,  2, 43, 47,  6,  5, 44,  4, 45, 46,  7,
4536 +       47,  6,  5, 44,  4, 45, 46,  7,  3, 42, 41,  0, 40,  1,  2, 43,
4537 +        2, 43, 40,  1, 41,  0,  3, 42, 46,  7,  4, 45,  5, 44, 47,  6,
4538 +        1, 40, 43,  2, 42,  3,  0, 41, 45,  4,  7, 46,  6, 47, 44,  5,
4539 +       44,  5,  6, 47,  7, 46, 45,  4,  0, 41, 42,  3, 43,  2,  1, 40,
4540 +       48, 25, 26, 51, 27, 50, 49, 24, 28, 53, 54, 31, 55, 30, 29, 52,
4541 +       29, 52, 55, 30, 54, 31, 28, 53, 49, 24, 27, 50, 26, 51, 48, 25,
4542 +       30, 55, 52, 29, 53, 28, 31, 54, 50, 27, 24, 49, 25, 48, 51, 26,
4543 +       51, 26, 25, 48, 24, 49, 50, 27, 31, 54, 53, 28, 52, 29, 30, 55,
4544 +       31, 54, 53, 28, 52, 29, 30, 55, 51, 26, 25, 48, 24, 49, 50, 27,
4545 +       50, 27, 24, 49, 25, 48, 51, 26, 30, 55, 52, 29, 53, 28, 31, 54,
4546 +       49, 24, 27, 50, 26, 51, 48, 25, 29, 52, 55, 30, 54, 31, 28, 53,
4547 +       28, 53, 54, 31, 55, 30, 29, 52, 48, 25, 26, 51, 27, 50, 49, 24
4548 +    }, { // parities of third byte
4549 +       63, 14, 13, 60, 12, 61, 62, 15, 11, 58, 57,  8, 56,  9, 10, 59,
4550 +       10, 59, 56,  9, 57,  8, 11, 58, 62, 15, 12, 61, 13, 60, 63, 14,
4551 +        9, 56, 59, 10, 58, 11,  8, 57, 61, 12, 15, 62, 14, 63, 60, 13,
4552 +       60, 13, 14, 63, 15, 62, 61, 12,  8, 57, 58, 11, 59, 10,  9, 56,
4553 +        8, 57, 58, 11, 59, 10,  9, 56, 60, 13, 14, 63, 15, 62, 61, 12,
4554 +       61, 12, 15, 62, 14, 63, 60, 13,  9, 56, 59, 10, 58, 11,  8, 57,
4555 +       62, 15, 12, 61, 13, 60, 63, 14, 10, 59, 56,  9, 57,  8, 11, 58,
4556 +       11, 58, 57,  8, 56,  9, 10, 59, 63, 14, 13, 60, 12, 61, 62, 15,
4557 +       31, 46, 45, 28, 44, 29, 30, 47, 43, 26, 25, 40, 24, 41, 42, 27,
4558 +       42, 27, 24, 41, 25, 40, 43, 26, 30, 47, 44, 29, 45, 28, 31, 46,
4559 +       41, 24, 27, 42, 26, 43, 40, 25, 29, 44, 47, 30, 46, 31, 28, 45,
4560 +       28, 45, 46, 31, 47, 30, 29, 44, 40, 25, 26, 43, 27, 42, 41, 24,
4561 +       40, 25, 26, 43, 27, 42, 41, 24, 28, 45, 46, 31, 47, 30, 29, 44,
4562 +       29, 44, 47, 30, 46, 31, 28, 45, 41, 24, 27, 42, 26, 43, 40, 25,
4563 +       30, 47, 44, 29, 45, 28, 31, 46, 42, 27, 24, 41, 25, 40, 43, 26,
4564 +       43, 26, 25, 40, 24, 41, 42, 27, 31, 46, 45, 28, 44, 29, 30, 47
4565 +    }
4566 +};
4567 +
4568 +// table to extract the lower 4 bit from hamm24/18 encoded bytes
4569 +
4570 +
4571 +static char hamm24val[256] =
4572 +{
4573 +      0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,
4574 +      2,  2,  2,  2,  3,  3,  3,  3,  2,  2,  2,  2,  3,  3,  3,  3,
4575 +      4,  4,  4,  4,  5,  5,  5,  5,  4,  4,  4,  4,  5,  5,  5,  5,
4576 +      6,  6,  6,  6,  7,  7,  7,  7,  6,  6,  6,  6,  7,  7,  7,  7,
4577 +      8,  8,  8,  8,  9,  9,  9,  9,  8,  8,  8,  8,  9,  9,  9,  9,
4578 +     10, 10, 10, 10, 11, 11, 11, 11, 10, 10, 10, 10, 11, 11, 11, 11,
4579 +     12, 12, 12, 12, 13, 13, 13, 13, 12, 12, 12, 12, 13, 13, 13, 13,
4580 +     14, 14, 14, 14, 15, 15, 15, 15, 14, 14, 14, 14, 15, 15, 15, 15,
4581 +      0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,
4582 +      2,  2,  2,  2,  3,  3,  3,  3,  2,  2,  2,  2,  3,  3,  3,  3,
4583 +      4,  4,  4,  4,  5,  5,  5,  5,  4,  4,  4,  4,  5,  5,  5,  5,
4584 +      6,  6,  6,  6,  7,  7,  7,  7,  6,  6,  6,  6,  7,  7,  7,  7,
4585 +      8,  8,  8,  8,  9,  9,  9,  9,  8,  8,  8,  8,  9,  9,  9,  9,
4586 +     10, 10, 10, 10, 11, 11, 11, 11, 10, 10, 10, 10, 11, 11, 11, 11,
4587 +     12, 12, 12, 12, 13, 13, 13, 13, 12, 12, 12, 12, 13, 13, 13, 13,
4588 +     14, 14, 14, 14, 15, 15, 15, 15, 14, 14, 14, 14, 15, 15, 15, 15
4589 +};
4590 +
4591 +// mapping from parity checks made by table hamm24par to error
4592 +// results return by hamm24.
4593 +// (0 = no error, 0x0100 = single bit error, 0x1000 = double error)
4594 +
4595 +
4596 +static short hamm24err[64] =
4597 +{
4598 +    0x0000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
4599 +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
4600 +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
4601 +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
4602 +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
4603 +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
4604 +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
4605 +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
4606 +};
4607 +
4608 +// mapping from parity checks made by table hamm24par to faulty bit
4609 +// in the decoded 18 bit word.
4610 +
4611 +
4612 +static int hamm24cor[64] =
4613 +{
4614 +    0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000,
4615 +    0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000,
4616 +    0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000,
4617 +    0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000,
4618 +    0x00000, 0x00000, 0x00000, 0x00001, 0x00000, 0x00002, 0x00004, 0x00008,
4619 +    0x00000, 0x00010, 0x00020, 0x00040, 0x00080, 0x00100, 0x00200, 0x00400,
4620 +    0x00000, 0x00800, 0x01000, 0x02000, 0x04000, 0x08000, 0x10000, 0x20000,
4621 +    0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000,
4622 +};
4623 +
4624 +
4625 +int hamm8(u8 *p, int *err)
4626 +{
4627 +    int a = hammtab[p[0]];
4628 +    *err += a;
4629 +    return a & 15;
4630 +}
4631 +
4632 +
4633 +int hamm16(u8 *p, int *err)
4634 +{
4635 +    int a = hammtab[p[0]];
4636 +    int b = hammtab[p[1]];
4637 +    *err += a;
4638 +    *err += b;
4639 +    return (a & 15) | (b & 15) * 16;
4640 +}
4641 +
4642 +
4643 +int hamm24(u8 *p, int *err)
4644 +{
4645 +    int e = hamm24par[0][p[0]] ^ hamm24par[1][p[1]] ^ hamm24par[2][p[2]];
4646 +    int x = hamm24val[p[0]] + p[1] % 128 * 16 + p[2] % 128 * 2048;
4647 +    *err += hamm24err[e];
4648 +    return x ^ hamm24cor[e];
4649 +}
4650 +
4651 +
4652 +int chk_parity(u8 *p, int n)
4653 +{
4654 +    int err;
4655 +    for (err = 0; n--; p++)
4656 +       if (hamm24par[0][*p] & 32)
4657 +           *p &= 0x7f;
4658 +       else
4659 +           *p = BAD_CHAR, err++;
4660 +    return err;
4661 +}
4662 diff -r af23d23c278b util/alevt/hamm.h
4663 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4664 +++ b/util/alevt/hamm.h Tue Dec 21 12:13:28 2010 +0100
4665 @@ -0,0 +1,7 @@
4666 +#ifndef HAMM_H
4667 +#define HAMM_H
4668 +int hamm8(u8 *p, int *err);
4669 +int hamm16(u8 *p, int *err);
4670 +int hamm24(u8 *p, int *err);
4671 +int chk_parity(u8 *p, int n);
4672 +#endif
4673 diff -r af23d23c278b util/alevt/help.c
4674 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4675 +++ b/util/alevt/help.c Tue Dec 21 12:13:28 2010 +0100
4676 @@ -0,0 +1,83 @@
4677 +#include "vt.h"
4678 +#include "misc.h"
4679 +
4680 +#define VFILL "     "
4681 +#define HELP_HEADER                                                    \
4682 +"........\6AleVT Online Help System       ",                           \
4683 +"  \22`p0`0    p `0pppp                    ",                          \
4684 +"\4\35\22\177 \177j5`p  \177 j5 j5        \7   Version \34",           \
4685 +"\4\35\22\177,\177j5\177.! +t>! j5        \7"VFILL VERSION" \34",      \
4686 +"  \22# #\42!\42#   \42   \42!                     ",
4687 +#define FLOF_DATA                                                      \
4688 +       1, { {0x100,ANY_SUB}, {0x200,ANY_SUB}, {0x300,ANY_SUB},         \
4689 +            {0x400,ANY_SUB}, {0x0ff,ANY_SUB}, {0x100,ANY_SUB} }
4690 +
4691 +
4692 +struct vt_page help_pages[] =
4693 +{
4694 +    { 0x900, 0, -1, 0, 0, (1<<26)-1, {
4695 +#include "vt900.out"
4696 +    }, FLOF_DATA },
4697 +
4698 +    { 0x901, 1, -1, 0, 0, (1<<26)-1, {
4699 +#include "vt901.out"
4700 +    }, FLOF_DATA },
4701 +
4702 +    { 0x902, 1, -1, 0, 0, (1<<26)-1, {
4703 +#include "vt902.out"
4704 +    }, FLOF_DATA },
4705 +
4706 +    { 0x903, 1, -1, 0, 0, (1<<26)-1, {
4707 +#include "vt903.out"
4708 +    }, FLOF_DATA },
4709 +
4710 +    { 0x904, 1, -1, 0, 0, (1<<26)-1, {
4711 +#include "vt904.out"
4712 +    }, FLOF_DATA },
4713 +
4714 +    { 0x905, 2, -1, 0, 0, (1<<26)-1, {
4715 +#include "vt905.out"
4716 +    }, FLOF_DATA },
4717 +
4718 +    { 0x906, 1, -1, 0, 0, (1<<26)-1, {
4719 +#include "vt906.out"
4720 +    }, FLOF_DATA },
4721 +
4722 +    { 0x907, 2, -1, 0, 0, (1<<26)-1, {
4723 +#include "vt907.out"
4724 +    }, FLOF_DATA },
4725 +
4726 +    { 0x908, 1, -1, 0, 0, (1<<26)-1, {
4727 +#include "vt908.out"
4728 +    }, FLOF_DATA },
4729 +
4730 +    { 0x909, 0, -1, 0, 0, (1<<26)-1, {
4731 +#include "vt909.out"
4732 +    }, FLOF_DATA },
4733 +
4734 +    { 0x910, 2, -1, 0, 0, (1<<26)-1, {
4735 +#include "vt910.out"
4736 +    }, FLOF_DATA },
4737 +
4738 +    { 0x911, 1, -1, 0, 0, (1<<26)-1, {
4739 +#include "vt911.out"
4740 +    }, FLOF_DATA },
4741 +
4742 +    { 0x912, 2, -1, 0, 0, (1<<26)-1, {
4743 +#include "vt912.out"
4744 +    }, FLOF_DATA },
4745 +
4746 +    { 0x913, 1, -1, 0, 0, (1<<26)-1, {
4747 +#include "vt913.out"
4748 +    }, FLOF_DATA },
4749 +
4750 +    { 0x914, 0, -1, 0, 0, (1<<26)-1, {
4751 +#include "vt914.out"
4752 +    }, FLOF_DATA },
4753 +
4754 +    { 0x915, 0, -1, 0, 0, (1<<26)-1, {
4755 +#include "vt915.out"
4756 +    }, FLOF_DATA },
4757 +};
4758 +
4759 +const int nr_help_pages = NELEM(help_pages);
4760 diff -r af23d23c278b util/alevt/help.h
4761 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4762 +++ b/util/alevt/help.h Tue Dec 21 12:13:28 2010 +0100
4763 @@ -0,0 +1,8 @@
4764 +#ifndef HELP_H
4765 +#define HELP_H
4766 +
4767 +#include "vt.h"
4768 +
4769 +extern struct vt_page help_pages[];
4770 +extern const int nr_help_pages;
4771 +#endif
4772 diff -r af23d23c278b util/alevt/icon.xbm
4773 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4774 +++ b/util/alevt/icon.xbm       Tue Dec 21 12:13:28 2010 +0100
4775 @@ -0,0 +1,17 @@
4776 +#define icon_width 58
4777 +#define icon_height 20
4778 +static unsigned char icon_bits[] = {
4779 +  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff,
4780 +  0xff, 0xff, 0xff, 0x03, 0x0f, 0x30, 0xfe, 0xff, 0xf8, 0x11, 0x00, 0x03,
4781 +  0x0f, 0x30, 0xfe, 0xff, 0xf8, 0x11, 0x00, 0x03, 0xc5, 0x23, 0xaa, 0xaa,
4782 +  0xa8, 0xf1, 0xf1, 0x03, 0xc6, 0x22, 0xfe, 0xd5, 0x58, 0xb1, 0xb1, 0x02,
4783 +  0x45, 0x23, 0x06, 0xaa, 0xa8, 0x51, 0x51, 0x01, 0xc6, 0x22, 0x06, 0xd6,
4784 +  0x58, 0xb1, 0xb1, 0x02, 0x45, 0x23, 0x62, 0xac, 0xa8, 0x51, 0x51, 0x01,
4785 +  0xc6, 0x22, 0x62, 0xd4, 0x58, 0xb1, 0xb1, 0x02, 0x45, 0x23, 0x62, 0xac,
4786 +  0xa8, 0x51, 0x51, 0x01, 0xc6, 0x23, 0x62, 0xd4, 0xf8, 0xb1, 0xb1, 0x02,
4787 +  0x05, 0x20, 0x02, 0xae, 0x61, 0x58, 0x51, 0x01, 0x06, 0x20, 0x02, 0x56,
4788 +  0x61, 0xa8, 0xb1, 0x02, 0xc5, 0x23, 0xe2, 0xab, 0x06, 0x56, 0x51, 0x01,
4789 +  0x46, 0x22, 0xe2, 0x57, 0x05, 0xaa, 0xb1, 0x02, 0xc7, 0x23, 0x06, 0xfe,
4790 +  0x9f, 0xff, 0xf1, 0x03, 0xc7, 0x23, 0x06, 0xfe, 0x9f, 0xff, 0xf1, 0x03,
4791 +  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff,
4792 +  0xff, 0xff, 0xff, 0x03, };
4793 diff -r af23d23c278b util/alevt/lang.c
4794 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
4795 +++ b/util/alevt/lang.c Tue Dec 21 12:13:28 2010 +0100
4796 @@ -0,0 +1,393 @@
4797 +#include <string.h>
4798 +#include <ctype.h>
4799 +#include "misc.h"
4800 +#include "vt.h"
4801 +#include "lang.h"
4802 +
4803 +int latin1 = -1;
4804 +
4805 +
4806 +static u8 lang_char[256];
4807 +static u8 lang_chars[1+8+8][16] =
4808 +{
4809 +    { 0, 0x23,0x24,0x40,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x7b,0x7c,0x7d,0x7e },
4810 +
4811 +    // for latin-1 font
4812 +    // English (100%)
4813 +    { 0,  '£', '$', '@', '«', '½', '»', '¬', '#', '­', '¼', '¦', '¾', '÷' },
4814 +    // German (100%)
4815 +    { 0,  '#', '$', '§', 'Ä', 'Ö', 'Ü', '^', '_', '°', 'ä', 'ö', 'ü', 'ß' },
4816 +    // Swedish/Finnish/Hungarian (100%)
4817 +    { 0,  '#', '¤', 'É', 'Ä', 'Ö', 'Å', 'Ü', '_', 'é', 'ä', 'ö', 'å', 'ü' },
4818 +    // Italian (100%)
4819 +    { 0,  '£', '$', 'é', '°', 'ç', '»', '¬', '#', 'ù', 'à', 'ò', 'è', 'ì' },
4820 +    // French (100%)
4821 +    { 0,  'é', 'ï', 'à', 'ë', 'ê', 'ù', 'î', '#', 'è', 'â', 'ô', 'û', 'ç' },
4822 +    // Portuguese/Spanish (100%)
4823 +    { 0,  'ç', '$', '¡', 'á', 'é', 'í', 'ó', 'ú', '¿', 'ü', 'ñ', 'è', 'à' },
4824 +    // Czech/Slovak (60%)
4825 +    { 0,  '#', 'u', 'c', 't', 'z', 'ý', 'í', 'r', 'é', 'á', 'e', 'ú', 's' },
4826 +    // reserved (English mapping)
4827 +    { 0,  '£', '$', '@', '«', '½', '»', '¬', '#', '­', '¼', '¦', '¾', '÷' },
4828 +
4829 +    // for latin-2 font
4830 +    // Polish (100%)
4831 +    { 0,  '#', 'ñ', '±', '¯', '¦', '£', 'æ', 'ó', 'ê', '¿', '¶', '³', '¼' },
4832 +    // German (100%)
4833 +    { 0,  '#', '$', '§', 'Ä', 'Ö', 'Ü', '^', '_', '°', 'ä', 'ö', 'ü', 'ß' },
4834 +    // Estonian (100%)
4835 +    { 0,  '#', 'õ', '©', 'Ä', 'Ö', '®', 'Ü', 'Õ', '¹', 'ä', 'ö', '¾', 'ü' },
4836 +    // Lettish/Lithuanian (90%)
4837 +    { 0,  '#', '$', '©', 'ë', 'ê', '®', 'è', 'ü', '¹', '±', 'u', '¾', 'i' },
4838 +    // French (90%)
4839 +    { 0,  'é', 'i', 'a', 'ë', 'ì', 'u', 'î', '#', 'e', 'â', 'ô', 'u', 'ç' },
4840 +    // Serbian/Croation/Slovenian (100%)
4841 +    { 0,  '#', 'Ë', 'È', 'Æ', '®', 'Ð', '©', 'ë', 'è', 'æ', '®', 'ð', '¹' },
4842 +    // Czech/Slovak (100%)
4843 +    { 0,  '#', 'ù', 'è', '»', '¾', 'ý', 'í', 'ø', 'é', 'á', 'ì', 'ú', '¹' },
4844 +    // Rumanian (95%)
4845 +    { 0,  '#', '¢', 'Þ', 'Â', 'ª', 'Ã', 'Î', 'i', 'þ', 'â', 'º', 'ã', 'î' },
4846 +};
4847 +
4848 +/* Yankable latin charset :-)
4849 +     !"#$%&'()*+,-./0123456789:;<=>?
4850 +    @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
4851 +    `abcdefghijklmnopqrstuvwxyz{|}~
4852 +     ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿
4853 +    ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
4854 +    àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
4855 +*/
4856 +
4857 +
4858 +static struct mark { u8 *g0, *latin1, *latin2; } marks[16] =
4859 +{
4860 +    /* none */         { "#",
4861 +                         "¤",
4862 +                         "$"                                   },
4863 +    /* grave - ` */    { " aeiouAEIOU",
4864 +                         "`àèìòùÀÈÌÒÙ",
4865 +                         "`aeiouAEIOU"                         },
4866 +    /* acute - ' */    { " aceilnorsuyzACEILNORSUYZ",
4867 +                         "'ácéílnórsúýzÁCÉÍLNÓRSÚÝZ",
4868 +                         "'áæéíåñóà¶úý¼ÁÆÉÍÅÑÓÀ¦Úݬ"           },
4869 +    /* cirumflex - ^ */        { " aeiouAEIOU",
4870 +                         "^âêîôûÂÊÎÔÛ",
4871 +                         "^âeîôuÂEÎÔU"                         },
4872 +    /* tilde - ~ */    { " anoANO",
4873 +                         "~ãñõÃÑÕ",
4874 +                         "~anoANO"                             },
4875 +    /* ??? - ¯ */      { "",
4876 +                         "",
4877 +                         ""                                    },
4878 +    /* breve - u */    { "aA",
4879 +                         "aA",
4880 +                         "ãÃ"                                  },
4881 +    /* abovedot - · */ { "zZ",
4882 +                         "zZ",
4883 +                         "¿¯"                                  },
4884 +    /* diaeresis ¨ */  { "aeiouAEIOU",
4885 +                         "äëïöüÄËÏÖÜ",
4886 +                         "äëiöüÄËIÖÜ"                          },
4887 +    /* ??? - . */      { "",
4888 +                         "",
4889 +                         ""                                    },
4890 +    /* ringabove - ° */        { " auAU",
4891 +                         "°åuÅU",
4892 +                         "°aùAÙ"                               },
4893 +    /* cedilla - ¸ */  { "cstCST",
4894 +                         "çstÇST",
4895 +                         "çºþǪÞ"                              },
4896 +    /* ??? - _ */      { " ",
4897 +                         "_",
4898 +                         "_"                                   },
4899 +    /* dbl acute - " */        { " ouOU",
4900 +                         "\"ouOU",
4901 +                         "\"õûÕÛ"                              },
4902 +    /* ogonek - \, */  { "aeAE",
4903 +                         "aeAE",
4904 +                         "±ê¡Ê"                                },
4905 +    /* caron - v */    { "cdelnrstzCDELNRSTZ",
4906 +                         "cdelnrstzCDELNRSTZ",
4907 +                         "èïìµòø¹»¾ÈÏÌ¥ÒØ©«®"                  },
4908 +};
4909 +
4910 +
4911 +static u8 g2map_latin1[] =
4912 +   /*0123456789abcdef*/
4913 +    " ¡¢£$¥#§¤'\"«    "
4914 +    "°±²³×µ¶·÷'\"»¼½¾¿"
4915 +    " `´^~   ¨.°¸_\"  "
4916 +    "_¹®©            "
4917 +    " ÆЪH ILLØ ºÞTNn"
4918 +    "Kædðhiillø ßþtn\x7f";
4919 +
4920 +
4921 +static u8 g2map_latin2[] =
4922 +   /*0123456789abcdef*/
4923 +    " icL$Y#§¤'\"<    "
4924 +    "°   ×u  ÷'\">    "
4925 +    " `´^~ ¢ÿ¨.°¸_½²·"
4926 +    "- RC            "
4927 +    "  ÐaH iL£O opTNn"
4928 +    "K ðdhiil³o ßptn\x7f";
4929 +
4930 +
4931 +void lang_init(void)
4932 +{
4933 +    int i;
4934 +
4935 +    memset(lang_char, 0, sizeof(lang_char));
4936 +    for (i = 1; i <= 13; i++)
4937 +       lang_char[lang_chars[0][i]] = i;
4938 +}
4939 +
4940 +
4941 +void conv2latin(u8 *p, int n, int lang)
4942 +{
4943 +    int c, gfx = 0, lat=0;
4944 +
4945 +  if ((latin1 == KOI8) && lang==12) { /* russian */
4946 +    while (n--) {
4947 +      c=*p;
4948 +
4949 +      if(c==0x1b) lat = !lat; /* ESC switches languages inside page */
4950 +
4951 +       if ( is_koi(c)) {
4952 +         if (not gfx || (c & 0xa0) != 0x20) {
4953 +            if(!lat) conv2koi8(p);
4954 +         }
4955 +       }
4956 +       else if ((c & 0xe8) == 0)
4957 +           gfx = c & 0x10;
4958 +       p++;
4959 +   }
4960 + }
4961 +else if ((latin1 == GREEK) && lang==15) { /* Hellas */
4962 +    while (n--) {
4963 +      c=*p;
4964 +
4965 +      if(c==0x1b) lat = !lat; /* ESC switches languages inside page */
4966 +
4967 +       if ( is_greek(c)) {
4968 +         if (not gfx || (c & 0xa0) != 0x20) {
4969 +            if(!lat) conv2greek(p);
4970 +         }
4971 +       }
4972 +       else if ((c & 0xe8) == 0)
4973 +           gfx = c & 0x10;
4974 +       p++;
4975 +   }
4976 + }
4977 +
4978 + else {
4979 +    while (n--)
4980 +    {
4981 +       if (lang_char[c = *p])
4982 +       {
4983 +           if (not gfx || (c & 0xa0) != 0x20) 
4984 +               *p = lang_chars[lang + 1][lang_char[c]];
4985 +       }
4986 +       else if ((c & 0xe8) == 0)
4987 +           gfx = c & 0x10;
4988 +       p++;
4989 +    }
4990 +  }
4991 +}
4992 +
4993 +
4994 +/* check for Greek chars - needs locale iso8859-7 set */
4995 +int is_greek(int c)
4996 +{
4997 +  if( isalpha(c | 0x80)) return 1;
4998 +  return 0;
4999 +}
5000 +
5001 +
5002 +/* check for russian chars - needs locale KOI8-R set */
5003 +int is_koi(int c)
5004 +{
5005 +  if( isalpha(c | 0x80)) return 1;
5006 +  if( c=='&' ) return 1;
5007 +  return 0;
5008 +}
5009 +
5010 +
5011 +/* teletext to koi8-r conversion */
5012 +void conv2koi8(u8 *p)
5013 +{
5014 +    u8 c;
5015 +    static u8 l2koi[]={
5016 +       0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9,
5017 +       0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3,
5018 +       0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xFF, 0xFA, 0xFB, 0xFC, 0xFD,
5019 +       0xFE, 0xF9, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
5020 +       0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1,
5021 +       0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB,
5022 +       0xDC, 0xDD, 0xDE, 0xDF
5023 +    };
5024 +
5025 +      c= *p;
5026 +      if ( (c >= 0x40) && (c <= 0x7f)) *p=l2koi[(c & 0x7f) - 0x40];
5027 +      if (c=='&') *p='Ù';
5028 +}
5029 +
5030 +
5031 +/* teletext to iso8859-7 conversion */
5032 +void conv2greek(u8 *p)
5033 +{
5034 +    u8 c;
5035 +   static u8 l2greek[]={
5036 +/* 1 @ 0x40->ú*/0xc0,
5037 +/* 2 A 0x41->Á*/0xc1,
5038 +/* 3 B 0x42->Â*/0xc2,
5039 +/* 4 C 0x43->Ã*/0xc3,
5040 +/* 5 D 0x44->Ä*/0xc4,
5041 +/* 6 E 0x45->Å*/0xc5,
5042 +/* 7 F 0x46->Æ*/0xc6,
5043 +/* 8 G 0x47->Ç*/0xc7,
5044 +/* 9 H 0x48->È*/0xc8,
5045 +/*10 I 0x49->É*/0xc9,
5046 +/*11 J 0x4a->Ê*/0xca,
5047 +/*12 K 0x4b->Ë*/0xcb,
5048 +/*13 L 0x4c->Ì*/0xcc,
5049 +/*14 M 0x4d->Í*/0xcd,
5050 +/*15 N 0x4e->Î*/0xce,
5051 +/*16 O 0x4f->Ï*/0xcf,
5052 +/*17 P 0x50->Ð*/0xd0,
5053 +/*18 Q 0x51->Ñ*/0xd1,
5054 +/*19 R 0x52->?*/0x52,
5055 +/*20 S 0x53->Ó*/0xd3,
5056 +/*21 T 0x54->Ô*/0xd4,
5057 +/*22 U 0x55->Õ*/0xd5,
5058 +/*23 V 0x56->Ö*/0xd6,
5059 +/*24 W 0x57->÷*/0xd7,
5060 +/*25 X 0x58->Ø*/0xd8,
5061 +/*26 Y 0x59->Ù*/0xd9,
5062 +/*27 Z 0x5a->?*/0x5a,
5063 +/*28 [ 0x5b->?*/0x5b,
5064 +/*!29 \ 0x5c->Ü*/0xdc,
5065 +/*!30 ] 0x5d->Ý*/0xdd,
5066 +/*!31 ^ 0x5e->Þ*/0xde,
5067 +/*!32 _ 0x5f->ß*/0xdf,
5068 +/*33 ` 0x60->?*/0x60,
5069 +/*!34 a 0x61->á*/0xe1,
5070 +/*!35 b 0x62->â*/0xe2,
5071 +/*!36 c 0x63->ã*/0xe3,
5072 +/*!37 d 0x64->ä*/0xe4,
5073 +/*!38 e 0x65->å*/0xe5,
5074 +/*!39 f 0x66->æ*/0xe6,
5075 +/*!40 g 0x67->ç*/0xe7,
5076 +/*!41 h 0x68->è*/0xe8,
5077 +/*!42 i 0x69->é*/0xe9,
5078 +/*!43 j 0x6a->ê*/0xea,
5079 +/*!44 k 0x6b->ë*/0xeb,
5080 +/*!45 l 0x6c->ì*/0xec,
5081 +/*!46 m 0x6d->í*/0xed,
5082 +/*!47 n 0x6e->î*/0xee,
5083 +/*!48 o 0x6f->ï*/0xef,
5084 +/*!49 p 0x70->ð*/0xf0,
5085 +/*!50 q 0x71->ñ*/0xf1,
5086 +/*!51 r 0x72->ò*/0xf2,
5087 +/*!52 s 0x73->ó*/0xf3,
5088 +/*!53 t 0x74->ô*/0xf4,
5089 +/*!54 u 0x75->õ*/0xf5,
5090 +/*!55 v 0x76->ö*/0xf6,
5091 +/*!56 w 0x77->÷*/0xf7,
5092 +/*!57 x 0x78->ø*/0xf8,
5093 +/*!58 y 0x79->ù*/0xf9,
5094 +/*59 z 0x7a->ú(ìå ôüíï)*/0xc0,
5095 +/*60 { 0x7b->?*/0x7b,
5096 +/*!61 | 0x7c->ü*/0xfc,
5097 +/*!62 } 0x7d->ý*/0xfd,
5098 +/*!63 ~ 0x7e->þ*/0xfe,
5099 +/*64   0x7f->?*/0x7f
5100 +  };
5101 +      c= *p;
5102 +      if ( (c >= 0x40) && (c <= 0x7f)) *p=l2greek[(c & 0x7f) - 0x40];
5103 +}
5104 +
5105 +
5106 +void init_enhance(struct enhance *eh)
5107 +{
5108 +    eh->next_des = 0;
5109 +}
5110 +
5111 +
5112 +void add_enhance(struct enhance *eh, int dcode, u32 *t)
5113 +{
5114 +
5115 +    if (dcode == eh->next_des)
5116 +    {
5117 +       memcpy(eh->trip + dcode * 13, t, 13 * sizeof(*t));
5118 +       eh->next_des++;
5119 +    }
5120 +    else
5121 +       eh->next_des = -1;
5122 +}
5123 +
5124 +
5125 +void enhance(struct enhance *eh, struct vt_page *vtp)
5126 +{
5127 +    int row = 0;
5128 +    u32 *p, *e;
5129 +
5130 +    if (eh->next_des < 1)
5131 +       return;
5132 +
5133 +    for (p = eh->trip, e = p + eh->next_des * 13; p < e; p++)
5134 +       if (*p % 2048 != 2047)
5135 +       {
5136 +           int adr = *p % 64;
5137 +           int mode = *p / 64 % 32;
5138 +           int data = *p / 2048 % 128;
5139 +
5140 +           if (adr < 40)
5141 +           {
5142 +               // col functions
5143 +               switch (mode)
5144 +               {
5145 +                   case 15: // char from G2 set
5146 +                       if (adr < W && row < H)
5147 +                           if (latin1==LATIN1)
5148 +                               vtp->data[row][adr] = g2map_latin1[data-32];
5149 +                           else if (latin1==LATIN2)
5150 +                               vtp->data[row][adr] = g2map_latin2[data-32];
5151 +                       break;
5152 +                   case 16 ... 31: // char from G0 set with diacritical mark
5153 +                       if (adr < W && row < H)
5154 +                       {
5155 +                           struct mark *mark = marks + (mode - 16);
5156 +                           u8 *x;
5157 +
5158 +                           if (x = strchr(mark->g0, data))
5159 +                               if (latin1==LATIN1)
5160 +                                   data = mark->latin1[x - mark->g0];
5161 +                               else if (latin1==LATIN2)
5162 +                                   data = mark->latin2[x - mark->g0];
5163 +                           vtp->data[row][adr] = data;
5164 +                       }
5165 +                       break;
5166 +               }
5167 +           }
5168 +           else
5169 +           {
5170 +               // row functions
5171 +               if ((adr -= 40) == 0)
5172 +                   adr = 24;
5173 +               
5174 +               switch (mode)
5175 +               {
5176 +                   case 1: // full row color
5177 +                       row = adr;
5178 +                       break;
5179 +                   case 4: // set active position
5180 +                       row = adr;
5181 +                       break;
5182 +                   case 7: // address row 0 (+ full row color)
5183 +                       if (adr == 23)
5184 +                           row = 0;
5185 +                       break;
5186 +               }
5187 +           }
5188 +       }
5189 +}
5190 diff -r af23d23c278b util/alevt/lang.h
5191 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
5192 +++ b/util/alevt/lang.h Tue Dec 21 12:13:28 2010 +0100
5193 @@ -0,0 +1,28 @@
5194 +#ifndef LANG_H
5195 +#define LANG_H
5196 +
5197 +#include "misc.h"
5198 +#include "vt.h"
5199 +
5200 +extern int latin1;
5201 +
5202 +#define LATIN1 1
5203 +#define LATIN2 2
5204 +#define KOI8 3
5205 +#define GREEK 4
5206 +
5207 +
5208 +struct enhance
5209 +{
5210 +    int next_des; // next expected designation code
5211 +    u32 trip[13*16]; // tripplets
5212 +};
5213 +
5214 +void lang_init(void);
5215 +void conv2latin(u8 *p, int n, int lang);
5216 +void conv2koi8(u8 *p);
5217 +void conv2greek(u8 *p);
5218 +void init_enhance(struct enhance *eh);
5219 +void add_enhance(struct enhance *eh, int dcode, u32 *data);
5220 +void enhance(struct enhance *eh, struct vt_page *vtp);
5221 +#endif
5222 diff -r af23d23c278b util/alevt/main.c
5223 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
5224 +++ b/util/alevt/main.c Tue Dec 21 12:13:28 2010 +0100
5225 @@ -0,0 +1,221 @@
5226 +#include <stdio.h>
5227 +#include <stdlib.h>
5228 +#include <string.h>
5229 +#include <locale.h>
5230 +#include "vt.h"
5231 +#include "misc.h"
5232 +#include "fdset.h"
5233 +#include "xio.h"
5234 +#include "vbi.h"
5235 +#include "lang.h"
5236 +#include "cache.h"
5237 +#include "ui.h"
5238 +
5239 +static char *geometry;
5240 +static char *dpy_name;
5241 +static char *vbi_name = NULL;
5242 +static struct xio *xio;
5243 +static struct vbi *vbi;
5244 +static int erc = 1;
5245 +char *outfile = "";
5246 +static char *channel;
5247 +static int ttpid = -1;
5248 +u_int16_t sid = 0;
5249 +
5250 +
5251 +static void usage(FILE *fp, int exitval)
5252 +{
5253 +    fprintf(fp, "\nUsage: %s [options]\n", prgname);
5254 +    fprintf(fp,
5255 +           "\n"
5256 +           "  Valid options:\t\tDefault:\n"
5257 +           "    -c <channel name>\t\t(none;dvb only)\n"
5258 +           "    -ch -child <ppp.ss>\t\t(none)\n"
5259 +           "    -cs -charset\t\tlatin-1\n"
5260 +           "    <latin-1/2/koi8-r/iso8859-7>\n"
5261 +           "    -h -help\n"
5262 +           "    -o <outfile>\t\t(none;dvb only)\n"
5263 +           "    -p -parent <ppp.ss>\t\t900\n"
5264 +           "    -s -sid <sid>\t\t(none;dvb only)\n"
5265 +           "    -t -ttpid <ttpid>\t\t(none;dvb only)\n"
5266 +           "    -v -vbi <vbidev>\t\t/dev/vbi\n"
5267 +               "                 \t\t/dev/vbi0\n"
5268 +               "                 \t\t/dev/video0\n"
5269 +               "                 \t\t/dev/dvb/adapter0/demux0\n"
5270 +           "\n"
5271 +           "  ppp.ss stands for a page number and an\n"
5272 +           "  optional subpage number (Example: 123.4).\n"
5273 +           "\n"
5274 +           "  The -child option requires a parent\n"
5275 +           "  window. So it must be preceded by\n"
5276 +           "  a parent or another child window.\n"
5277 +       );
5278 +    exit(exitval);
5279 +}
5280 +
5281 +
5282 +static int arg_pgno(char *p, int *subno)
5283 +{
5284 +    char *end;
5285 +    int pgno;
5286 +
5287 +    *subno = ANY_SUB;
5288 +    if (*p)
5289 +    {
5290 +       pgno = strtol(p, &end, 16);
5291 +       if ((*end == ':' || *end == '/' || *end == '.') && end[1])
5292 +           *subno = strtol(end + 1, &end, 16);
5293 +       if (*end == 0)
5294 +           if (pgno >= 0x100 && pgno <= 0x999)
5295 +               if (*subno == ANY_SUB || (*subno >= 0x00 && *subno <= 0x3f7f))
5296 +                   return pgno;
5297 +    }
5298 +    fatal("%s: invalid page number", p);
5299 +}
5300 +
5301 +
5302 +static struct vtwin * start(int argc, char **argv, struct vtwin *parent,
5303 +       int pgno, int subno)
5304 +{
5305 +    static int valid_vbi_name = 1;
5306 +
5307 +    if (!valid_vbi_name)
5308 +       return parent;
5309 +
5310 +    if (vbi == 0)
5311 +       vbi = vbi_open(vbi_name, cache_open(), channel, outfile, sid, ttpid);
5312 +    if (vbi == 0)
5313 +    {
5314 +       if (vbi_name)
5315 +           error("cannot open device: %s", vbi_name);
5316 +       valid_vbi_name = 0;
5317 +       vbi = open_null_vbi(cache_open());
5318 +    }
5319 +    if (vbi->cache)
5320 +       vbi->cache->op->mode(vbi->cache, CACHE_MODE_ERC, erc);
5321 +
5322 +    if (xio == 0)
5323 +       xio = xio_open_dpy(dpy_name, argc, argv);
5324 +    if (xio == 0)
5325 +       fatal("cannot open display");
5326 +
5327 +    parent = vtwin_new(xio, vbi, geometry, parent, pgno, subno);
5328 +    if (parent == 0)
5329 +       fatal("cannot create window");
5330 +
5331 +    if (!valid_vbi_name)
5332 +    {
5333 +       if (vbi_name)
5334 +           send_errmsg(vbi, "cannot open device: %s", vbi_name);
5335 +       else
5336 +           send_errmsg(vbi, "cannot open any device", vbi_name);
5337 +    }
5338 +
5339 +    return parent;
5340 +}
5341 +
5342 +
5343 +static int option(int argc, char **argv, int *ind, char **arg)
5344 +{
5345 +    static struct { char *nam, *altnam; int arg; } opts[] = {
5346 +       { "-channel", "-c", 1 },
5347 +       { "-child", "-ch", 1 },
5348 +       { "-charset", "-cs", 1 },
5349 +       { "-help", "-h", 0 },
5350 +       { "-outfile", "-o", 1 },
5351 +       { "-parent", "-p", 1 },
5352 +       { "-sid", "-s", 1 },
5353 +       { "-ttpid", "-t", 1 },
5354 +       { "-vbi", "-v", 1 },
5355 +    };
5356 +    int i;
5357 +    if (*ind >= argc)
5358 +       return 0;
5359 +    *arg = argv[(*ind)++];
5360 +    for (i = 0; i < NELEM(opts); ++i)
5361 +       if (streq(*arg, opts[i].nam) || streq(*arg, opts[i].altnam))
5362 +       {
5363 +           if (opts[i].arg)
5364 +               if (*ind < argc)
5365 +                   *arg = argv[(*ind)++];
5366 +               else
5367 +                   fatal("option %s requires an argument", *arg);
5368 +           return i+1;
5369 +       }
5370 +    if (**arg == '-')
5371 +    {
5372 +       fatal("%s: invalid option", *arg);
5373 +       usage(stderr, 1);
5374 +    }
5375 +    return -1;
5376 +}
5377 +
5378 +
5379 +int main(int argc, char **argv)
5380 +{
5381 +    struct vtwin *parent = 0;
5382 +    int pgno, subno;
5383 +    int opt, ind;
5384 +    char *arg;
5385 +    sid = 0;
5386 +
5387 +    setprgname(argv[0]);
5388 +    fdset_init(fds);
5389 +
5390 +    ind = 1;
5391 +    while (opt = option(argc, argv, &ind, &arg))
5392 +       switch (opt)
5393 +       {
5394 +
5395 +           case 1: // channel
5396 +               channel = arg;
5397 +               break;
5398 +           case 2: // child
5399 +               if (parent == 0)
5400 +                   fatal("-child requires a parent window");
5401 +               pgno = arg_pgno(arg, &subno);
5402 +               parent = start(argc, argv, parent, pgno, subno);
5403 +               geometry = 0;
5404 +               break;
5405 +           case 3: // charset
5406 +               if (streq(arg, "latin-1") || streq(arg, "1"))
5407 +                   latin1 = LATIN1;
5408 +               else if (streq(arg, "latin-2") || streq(arg, "2"))
5409 +                   latin1 = LATIN2;
5410 +               else if (streq(arg, "koi8-r") || streq(arg, "koi"))
5411 +                   latin1 = KOI8;
5412 +               else if (streq(arg, "iso8859-7") || streq(arg, "el"))
5413 +                   latin1 = GREEK;
5414 +               else
5415 +                   fatal("bad charset (not latin-1/2/koi8-r/iso8859-7)");
5416 +               break;
5417 +           case 4: // help
5418 +               usage(stdout, 0);
5419 +               break;
5420 +           case 5: // outfile
5421 +               outfile = arg;
5422 +               break;
5423 +           case 6: // parent
5424 +           case -1: // non-option arg
5425 +               pgno = arg_pgno(arg, &subno);
5426 +               parent = start(argc, argv, 0, pgno, subno);
5427 +               geometry = 0;
5428 +               break;
5429 +           case 7: // sid
5430 +               sid = strtoul(arg, NULL, 0);
5431 +               break;
5432 +           case 8: // ttpid
5433 +               ttpid = strtoul(arg, NULL, 0);
5434 +               break;
5435 +           case 9: // vbi
5436 +               vbi_name = arg;
5437 +               vbi = 0;
5438 +               parent = 0;
5439 +               break;
5440 +       }
5441 +
5442 +    if (parent == 0)
5443 +    start(argc, argv, 0, 0x900, ANY_SUB);
5444 +    xio_event_loop();
5445 +    exit(0);
5446 +}
5447 diff -r af23d23c278b util/alevt/misc.c
5448 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
5449 +++ b/util/alevt/misc.c Tue Dec 21 12:13:28 2010 +0100
5450 @@ -0,0 +1,66 @@
5451 +#include <stdio.h>
5452 +#include <stdarg.h>
5453 +#include "misc.h"
5454 +
5455 +char *prgname = 0;
5456 +
5457 +extern char *strrchr(const char *, int);
5458 +NORETURN(exit(int));
5459 +
5460 +
5461 +void setprgname(char *str)
5462 +{
5463 +    char *x = strrchr(str, '/');
5464 +    prgname = x ? x+1 : str;
5465 +}
5466 +
5467 +
5468 +static void print_prgname(void)
5469 +{
5470 +    if (prgname && *prgname)
5471 +       fprintf(stderr, "%s: ", prgname);
5472 +}
5473 +
5474 +
5475 +void error(const char *str, ...)
5476 +{
5477 +    va_list args;
5478 +    va_start(args, str);
5479 +    print_prgname();
5480 +    vfprintf(stderr, str, args);
5481 +    fputc('\n', stderr);
5482 +}
5483 +
5484 +
5485 +void ioerror(const char *str)
5486 +{
5487 +    print_prgname();
5488 +    perror(str);
5489 +}
5490 +
5491 +
5492 +void fatal(const char *str, ...)
5493 +{
5494 +    va_list args;
5495 +    va_start(args, str);
5496 +    print_prgname();
5497 +    vfprintf(stderr, str, args);
5498 +    fputc('\n', stderr);
5499 +    exit(2);
5500 +}
5501 +
5502 +
5503 +void fatal_ioerror(const char *str)
5504 +{
5505 +    print_prgname();
5506 +    perror(str);
5507 +    exit(2);
5508 +}
5509 +
5510 +
5511 +void out_of_mem(int size)
5512 +{
5513 +    if (size > 0)
5514 +       fatal("out of memory allocating %d bytes.", size);
5515 +    fatal("out of memory.");
5516 +}
5517 diff -r af23d23c278b util/alevt/misc.h
5518 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
5519 +++ b/util/alevt/misc.h Tue Dec 21 12:13:28 2010 +0100
5520 @@ -0,0 +1,32 @@
5521 +#ifndef MISC_H
5522 +#define MISC_H
5523 +#define PTR (void *)
5524 +#define NELEM(x) ((int)(sizeof(x)/sizeof(*(x))))
5525 +#define NORETURN(x) void x __attribute__((__noreturn__))
5526 +#define DEFINE(x) typeof(x) x
5527 +#define OFFSET_OF(type, elem) ((u8 *)&((type *)0)->elem - (u8 *)0)
5528 +#define BASE_OF(type, elem, p) ((type *)((u8 *)(p) - OFFSET_OF(type, elem)))
5529 +
5530 +#define not !
5531 +#define streq(a, b) (strcmp((a), (b)) == 0)
5532 +#define min(a,b) ({ typeof(a) _a = a; typeof(b) _b = b; _a < _b ? _a : _b; })
5533 +#define max(a,b) ({ typeof(a) _a = a; typeof(b) _b = b; _a > _b ? _a : _b; })
5534 +#define bound(a,b,c) ({ typeof(a) _a = a; typeof(b) _b = b; typeof(c) _c = c; \
5535 +       _b < _a ? _a : _b > _c ? _c : _b; })
5536 +
5537 +typedef unsigned char u8;
5538 +typedef unsigned short u16;
5539 +typedef unsigned int u32;
5540 +typedef signed char s8;
5541 +typedef signed short s16;
5542 +typedef signed int s32;
5543 +
5544 +extern char *prgname;
5545 +void setprgname(char *argv_0);
5546 +
5547 +NORETURN(fatal(const char *str, ...));
5548 +NORETURN(fatal_ioerror(const char *str));
5549 +NORETURN(out_of_mem(int size));
5550 +void error(const char *str, ...);
5551 +void ioerror(const char *str);
5552 +#endif
5553 diff -r af23d23c278b util/alevt/os.h
5554 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
5555 +++ b/util/alevt/os.h   Tue Dec 21 12:13:28 2010 +0100
5556 @@ -0,0 +1,7 @@
5557 +#ifndef OS_H
5558 +#define OS_H
5559 +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBsd__) \
5560 +       || defined(__bsdi__)
5561 +#define BSD
5562 +#endif
5563 +#endif
5564 diff -r af23d23c278b util/alevt/search.c
5565 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
5566 +++ b/util/alevt/search.c       Tue Dec 21 12:13:28 2010 +0100
5567 @@ -0,0 +1,127 @@
5568 +#include <sys/types.h> // for freebsd
5569 +#include <stdlib.h>
5570 +#include "vt.h"
5571 +#include "misc.h"
5572 +#include "cache.h"
5573 +#include "search.h"
5574 +
5575 +
5576 +static void convert(u8 *p, u8 *buf, int *line)
5577 +{
5578 +    int x, y, c, ch, gfx, hid = 0;
5579 +
5580 +    for (y = 1, p += 40; y < 25; ++y)
5581 +    {
5582 +       if (not hid)
5583 +       {
5584 +           gfx = 0;
5585 +           for (x = 0; x < 40; ++x)
5586 +           {
5587 +               c = ' ';
5588 +               switch (ch = *p++)
5589 +               {
5590 +                   case 0x00 ... 0x07:
5591 +                       gfx = 0;
5592 +                       break;
5593 +                   case 0x10 ... 0x17:
5594 +                       gfx = 1;
5595 +                       break;
5596 +                   case 0x0c:
5597 +                       hid = 1;
5598 +                       break;
5599 +                   case 0x7f:
5600 +                       c = '*';
5601 +                       break;
5602 +                   case 0x20 ... 0x7e:
5603 +                       if (gfx && ch != ' ' && (ch & 0xa0) == 0x20)
5604 +                           ch = '#';
5605 +                   case 0xa0 ... 0xff:
5606 +                       c= ch;
5607 +               }
5608 +               *buf++ = c;
5609 +           }
5610 +           *buf++ = '\n';
5611 +           *line++ = y;
5612 +       }
5613 +       else
5614 +       {
5615 +           p += 40;
5616 +           hid = 0;
5617 +       }
5618 +    }
5619 +    *line = y;
5620 +    *buf = 0;
5621 +}
5622 +
5623 +
5624 +static int search_pg(struct search *s, struct vt_page *vtp)
5625 +{
5626 +    regmatch_t m[1];
5627 +    u8 buf[H *(W+1) + 1];
5628 +    int line[H];
5629 +
5630 +    convert(PTR vtp->data, buf, line);
5631 +    if (regexec(s->pattern, buf, 1, m, 0) == 0)
5632 +    {
5633 +       s->len = 0;
5634 +       if (m->rm_so >= 0)
5635 +       {
5636 +           s->y = line[m->rm_so / (W+1)];
5637 +           s->x = m->rm_so % (W+1);
5638 +           s->len = m->rm_eo - m->rm_so;
5639 +           if (s->x + s->len > 40)
5640 +               s->len = 40 - s->x;
5641 +       }
5642 +       return 1;
5643 +    }
5644 +    return 0;
5645 +}
5646 +
5647 +
5648 +struct search * search_start(struct cache *ca, u8 *pattern)
5649 +{
5650 +    struct search *s;
5651 +    int f = 0;
5652 +
5653 +    if (not(s = malloc(sizeof(*s))))
5654 +       goto fail1;
5655 +
5656 +    if (pattern[0] == '!')
5657 +       pattern++;
5658 +    else
5659 +       f = REG_ICASE;
5660 +
5661 +    if (regcomp(s->pattern, pattern, f | REG_NEWLINE) != 0)
5662 +       goto fail2;
5663 +
5664 +    s->cache = ca;
5665 +    return s;
5666 +
5667 +fail2:
5668 +    free(s);
5669 +fail1:
5670 +    return 0;
5671 +}
5672 +
5673 +
5674 +void search_end(struct search *s)
5675 +{
5676 +    regfree(s->pattern);
5677 +    free(s);
5678 +}
5679 +
5680 +
5681 +int search_next(struct search *s, int *pgno, int *subno, int dir)
5682 +{
5683 +    struct vt_page *vtp = 0;
5684 +
5685 +    if (s->cache)
5686 +       vtp = s->cache->op->foreach_pg(s->cache, *pgno, *subno, dir,
5687 +       search_pg, s);
5688 +    if (vtp == 0)
5689 +       return -1;
5690 +
5691 +    *pgno = vtp->pgno;
5692 +    *subno = vtp->subno ?: ANY_SUB;
5693 +    return 0;
5694 +}
5695 diff -r af23d23c278b util/alevt/search.h
5696 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
5697 +++ b/util/alevt/search.h       Tue Dec 21 12:13:28 2010 +0100
5698 @@ -0,0 +1,16 @@
5699 +#ifndef SEARCH_H
5700 +#define SEARCH_H
5701 +
5702 +#include <regex.h>
5703 +
5704 +struct search
5705 +{
5706 +    struct cache *cache;
5707 +    regex_t pattern[1];
5708 +    int x, y, len; // the position of the match
5709 +};
5710 +
5711 +struct search *search_start(struct cache *ca, u8 *pattern);
5712 +void search_end(struct search *s);
5713 +int search_next(struct search *s, int *pgno, int *subno, int dir);
5714 +#endif
5715 diff -r af23d23c278b util/alevt/ui.c
5716 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
5717 +++ b/util/alevt/ui.c   Tue Dec 21 12:13:28 2010 +0100
5718 @@ -0,0 +1,721 @@
5719 +#include <stdio.h>
5720 +#include <unistd.h>
5721 +#include <stdlib.h>
5722 +#include <string.h>
5723 +#include <fcntl.h>
5724 +#include <ctype.h>
5725 +#include <stdarg.h>
5726 +#include "vt.h"
5727 +#include "misc.h"
5728 +#include "xio.h"
5729 +#include "vbi.h"
5730 +#include "fdset.h"
5731 +#include "search.h"
5732 +#include "export.h"
5733 +#include "ui.h"
5734 +
5735 +static void vtwin_event(struct vtwin *w, struct vt_event *ev);
5736 +static void msg(struct vtwin *w, u8 *str, ...);
5737 +static void err(struct vtwin *w, u8 *str, ...);
5738 +
5739 +#define hist(w,o) ((w)->hist + (((w)->hist_top + (o)) & (N_HISTORY-1)))
5740 +
5741 +
5742 +static int inc_hex(int i, int bcd_mode)
5743 +{
5744 +    i++;
5745 +    if (bcd_mode)
5746 +    {
5747 +       if ((i & 0x000f) > 0x0009)
5748 +           i = (i + 0x0010) & 0x0ff0;
5749 +       if ((i & 0x00f0) > 0x090)
5750 +           i = (i + 0x0100) & 0x0f00;
5751 +       if ((i & 0x0f00) > 0x0900)
5752 +           i = (i + 0x1000) & 0xf000;
5753 +    }
5754 +    return i;
5755 +}
5756 +
5757 +
5758 +static int dec_hex(int i, int bcd_mode)
5759 +{
5760 +    i--;
5761 +    if (bcd_mode)
5762 +    {
5763 +       if ((i & 0x000f) > 0x0009)
5764 +           i = (i & 0xfff0) + 0x0009;
5765 +       if ((i & 0x00f0) > 0x0090)
5766 +           i = (i & 0xff00) + 0x0099;
5767 +       if ((i & 0x0f00) > 0x0900)
5768 +           i = (i & 0xf000) + 0x0999;
5769 +    }
5770 +    return i;
5771 +}
5772 +
5773 +
5774 +static void set_title(struct vtwin *w)
5775 +{
5776 +    char buf[32], buf2[32];
5777 +
5778 +    if (w->subno == ANY_SUB)
5779 +       sprintf(buf, "%x", w->pgno);
5780 +    else
5781 +       sprintf(buf, "%x/%x", w->pgno, w->subno);
5782 +    if (w->searching)
5783 +       sprintf(buf2, "(%s)", buf);
5784 +    else
5785 +       sprintf(buf2, "%s", buf);
5786 +    xio_title(w->xw, buf2);
5787 +}
5788 +
5789 +
5790 +static void query_page(struct vtwin *w, int pgno, int subno)
5791 +{
5792 +    w->pgno = pgno;
5793 +    w->subno = subno;
5794 +    w->searching = 1;
5795 +    w->hold = 0; //subno != ANY_SUB;
5796 +    xio_set_concealed(w->xw, w->revealed = 0);
5797 +
5798 +    if (hist(w, 0)->pgno != pgno ||
5799 +       (hist(w,0)->subno == ANY_SUB && subno != ANY_SUB))
5800 +       w->hist_top++;
5801 +    hist(w, 0)->pgno = pgno;
5802 +    hist(w, 0)->subno = subno;
5803 +    hist(w, 1)->pgno = 0;      // end marker
5804 +
5805 +    xio_cancel_selection(w->xw);
5806 +    if (vbi_query_page(w->vbi, pgno, subno) == 0)
5807 +    {
5808 +       w->vtp = 0;
5809 +    }
5810 +    set_title(w);
5811 +}
5812 +
5813 +
5814 +static void new_or_query(struct vtwin *w, int pgno, int subno, int new_win)
5815 +{
5816 +    if (new_win)
5817 +    {
5818 +       if (w->child)
5819 +           query_page(w->child, pgno, subno);
5820 +       else
5821 +           vtwin_new(w->xw->xio, w->vbi, 0, w, pgno, subno);
5822 +    }
5823 +    else
5824 +       query_page(w, pgno, subno);
5825 +}
5826 +
5827 +static int _next_pgno(int *arg, struct vt_page *vtp)
5828 +{
5829 +    int pgno = vtp->pgno;
5830 +
5831 +    if (arg[0] == pgno) // want different page
5832 +       return 0;
5833 +    if (arg[1])                // and not a hex page
5834 +       for (; pgno; pgno >>=4)
5835 +           if ((pgno & 15) > 9)
5836 +               return 0;
5837 +    return 1;
5838 +}
5839 +
5840 +
5841 +static int _next_subno(int *arg, struct vt_page *vtp)
5842 +{
5843 +    return vtp->pgno == arg[0];        // only subpages of this page
5844 +}
5845 +
5846 +
5847 +static void do_next_pgno(struct vtwin *w, int dir, int bcd_mode, int subs,
5848 +    int new_win)
5849 +{
5850 +    struct vt_page *vtp;
5851 +    struct vtwin *cw = (new_win && w->child) ? w->child : w;
5852 +    int pgno = cw->pgno;
5853 +    int subno = cw->subno;
5854 +
5855 +    if (w->vbi->cache)
5856 +    {
5857 +       int arg[2];
5858 +       arg[0] = pgno;
5859 +       arg[1] = bcd_mode;
5860 +        if (vtp = w->vbi->cache->op->foreach_pg(w->vbi->cache,
5861 +                   pgno, subno, dir, subs ? _next_subno:_next_pgno, &arg))
5862 +       {
5863 +           new_or_query(w, vtp->pgno, subs ? vtp->subno : ANY_SUB, new_win);
5864 +           return;
5865 +       }
5866 +    }
5867 +    err(w, "No page.");
5868 +}
5869 +
5870 +#define notdigit(x) (not isdigit((x)))
5871 +
5872 +
5873 +static int chk_screen_fromto(u8 *p, int x, int *n1, int *n2)
5874 +{
5875 +    p += x;
5876 +
5877 +    if (x >= 0 && x+5 < 42)
5878 +       if (notdigit(p[1]) || notdigit(p[0]))
5879 +           if (isdigit(p[2]))
5880 +               if (p[3] == '/' || p[3] == ':')
5881 +                   if (isdigit(p[4]))
5882 +                       if (notdigit(p[5]) || notdigit(p[6]))   /* p[6] is save here */
5883 +                       {
5884 +                           *n1 = p[2] % 16;
5885 +                           if (isdigit(p[1]))
5886 +                               *n1 += p[1] % 16 * 16;
5887 +                           *n2 = p[4] % 16;
5888 +                           if (isdigit(p[5]))
5889 +                               *n2 = *n2 * 16 + p[5] % 16;
5890 +                           return 1;
5891 +                       }
5892 +    return 0;
5893 +}
5894 +
5895 +
5896 +static int chk_screen_pgno(u8 *p, int x, int *pgno, int *subno)
5897 +{
5898 +    p += x;
5899 +
5900 +    if (x >= 0 && x+4 < 42)
5901 +       if (notdigit(p[0]) && notdigit(p[4]))
5902 +           if (isdigit(p[1]) && isdigit(p[2]) && isdigit(p[3]))
5903 +           {
5904 +               *pgno = p[1] % 16 * 256 + p[2] % 16 * 16 + p[3] % 16;
5905 +               if (*pgno >= 0x100 && *pgno <= 0x999)
5906 +               {
5907 +                   *subno = ANY_SUB;
5908 +                   if (x+6 < 42)
5909 +                       if (p[4] == '.' || p[4] == '/')
5910 +                           if (isdigit(p[5]))
5911 +                               if (notdigit(p[6]) || notdigit(p[7]))   /* p[7] is save here */
5912 +                               {
5913 +                                   *subno = p[5] % 16;
5914 +                                   if (isdigit(p[6]))
5915 +                                       *subno = *subno * 16 + p[6] % 16;
5916 +                               }
5917 +                   // hackhackhack:
5918 +                   // pgno followed by start box gets subno 1
5919 +                   if (x+4 < 42 && p[4] == 11)
5920 +                       *subno = 1;
5921 +                   return 1;
5922 +               }
5923 +           }
5924 +    return 0;
5925 +}
5926 +
5927 +
5928 +static void do_screen_pgno(struct vtwin *w, int x, int y, int new_win)
5929 +{
5930 +    u8 buf[42];
5931 +    int n1, n2, i;
5932 +
5933 +    if (x >= 0 && x < 40)
5934 +    {
5935 +       if (xio_get_line(w->xw, y, buf+1) == 0)
5936 +       {
5937 +           buf[0] = buf[41] = ' ';
5938 +           x++;
5939 +
5940 +           for (i = -6; i < 35; i++)
5941 +           {
5942 +               if (w->vtp == 0 || w->vtp->subno != 0)
5943 +                   if (chk_screen_fromto(buf, x+i, &n1, &n2))
5944 +                   {
5945 +                       // subno cycling works wrong with children.
5946 +                       // so middle button cycles backwards...
5947 +                       if (w->subno != ANY_SUB)
5948 +                           n1 = w->subno;
5949 +                       n1 = new_win ? dec_hex(n1, 1) : inc_hex(n1, 1);
5950 +                       if (n1 < 1)
5951 +                           n1 = n2;
5952 +                       if (n1 > n2)
5953 +                           n1 = 1;
5954 +                       new_or_query(w, w->pgno, n1, 0);
5955 +                       return;
5956 +                   }
5957 +               if (i >= -4)
5958 +                   if (chk_screen_pgno(buf, x+i, &n1, &n2))
5959 +                   {
5960 +                       new_or_query(w, n1, n2, new_win);
5961 +                       return;
5962 +                   }
5963 +           }
5964 +       }
5965 +    }
5966 +    err(w, "No page.");
5967 +}
5968 +
5969 +
5970 +static void do_flof_pgno(struct vtwin *w, int button, int x, int new_win)
5971 +{
5972 +    struct vt_page *vtp = w->vtp;
5973 +    int lk = 99, i, c;
5974 +
5975 +    if (vtp && vtp->flof)
5976 +    {
5977 +       switch (button)
5978 +       {
5979 +           case 1 ... 3:
5980 +               for (i = 0; i <= x && i < 40; ++i)
5981 +                   if ((c = vtp->data[24][i]) < 8)     // fg-color code
5982 +                       lk = c;
5983 +               lk = "x\0\1\2\3x\3x"[lk];               // color -> link#
5984 +               break;
5985 +           case KEY_F(1): lk = 0; break;
5986 +           case KEY_F(2): lk = 1; break;
5987 +           case KEY_F(3): lk = 2; break;
5988 +           case KEY_F(4): lk = 3; break;
5989 +           case KEY_F(5): lk = 5; break;
5990 +       }
5991 +       if (lk < 6 && (vtp->link[lk].pgno & 0xff) != 0xff)
5992 +       {
5993 +           new_or_query(w, vtp->link[lk].pgno, vtp->link[lk].subno, new_win);
5994 +           return;
5995 +       }
5996 +    }
5997 +    else
5998 +    {
5999 +       switch (button)
6000 +       {
6001 +           case 1 ... 3: lk = x / 8;   break;
6002 +           case KEY_F(1): lk = 0;      break;
6003 +           case KEY_F(2): lk = 1;      break;
6004 +           case KEY_F(3): lk = 2;      break;
6005 +           case KEY_F(4): lk = 3;      break;
6006 +           case KEY_F(5): lk = 4;      break;
6007 +       }
6008 +       switch (lk)
6009 +       {
6010 +           case 0: new_or_query(w, 0x100, ANY_SUB, new_win);   return;
6011 +           case 1: do_next_pgno(w, -1, 1, 0, new_win);         return;
6012 +           case 2: new_or_query(w, 0x900, ANY_SUB, new_win);   return;
6013 +           case 3: do_next_pgno(w, 1, 1, 0, new_win);          return;
6014 +           case 4: new_or_query(w, 0x999, ANY_SUB, new_win);   return;
6015 +       }
6016 +    }
6017 +    err(w, "No page.");
6018 +}
6019 +
6020 +
6021 +static void do_hist_pgno(struct vtwin *w)
6022 +{
6023 +    if (hist(w, -1)->pgno)
6024 +    {
6025 +       w->hist_top--;
6026 +       query_page(w, hist(w, 0)->pgno, hist(w, 0)->subno);
6027 +    }
6028 +    else
6029 +       err(w, "Empty history.");
6030 +}
6031 +
6032 +
6033 +static void put_head_line(struct vtwin *w, u8 *p)
6034 +{
6035 +    char buf[40];
6036 +
6037 +    if (p == 0)
6038 +       xio_get_line(w->xw, 0, buf);
6039 +    else
6040 +       memcpy(buf + 8, p + 8, 32);
6041 +
6042 +    if (w->subno == ANY_SUB)
6043 +       sprintf(buf, "\2%3x \5\xb7", w->pgno);
6044 +    else
6045 +       sprintf(buf, "\2S%02x \5\xb7", w->subno & 0xff);
6046 +
6047 +    if (w->searching)
6048 +       buf[0] = 1;
6049 +    if (w->hold)
6050 +       buf[4] = 'H';
6051 +    if (w->xw->concealed)
6052 +       buf[6] = '*';
6053 +    buf[7] = 7;
6054 +
6055 +    xio_put_line(w->xw, 0, buf);
6056 +}
6057 +
6058 +
6059 +static void put_menu_line(struct vtwin *w)
6060 +{
6061 +    if (w->status > 0)
6062 +       xio_put_line(w->xw, 24, w->statusline);
6063 +    else if (w->vtp && w->vtp->flof)
6064 +       xio_put_line(w->xw, 24, w->vtp->data[24]);
6065 +    else
6066 +       xio_put_line(w->xw, 24, "\0   100     \4<<  \6Help  \4>>\0     999    ");
6067 +}
6068 +
6069 +
6070 +static void _msg(struct vtwin *w, u8 *str, va_list args)
6071 +{
6072 +    u8 buf[128];
6073 +    int i;
6074 +
6075 +    i = vsprintf(buf, str, args);
6076 +    if (i > W)
6077 +    i = W;
6078 +    memset(w->statusline, ' ', W);
6079 +    memcpy(w->statusline + (W-i+1)/2, buf, i);
6080 +    w->status = 6;
6081 +    put_menu_line(w);
6082 +}
6083 +
6084 +
6085 +static void msg(struct vtwin *w, u8 *str, ...)
6086 +{
6087 +    va_list args;
6088 +
6089 +    va_start(args, str);
6090 +    _msg(w, str, args);
6091 +    va_end(args);
6092 +}
6093 +
6094 +
6095 +static void err(struct vtwin *w, u8 *str, ...)
6096 +{
6097 +    va_list args;
6098 +
6099 +    va_start(args, str);
6100 +    _msg(w, str, args);
6101 +    va_end(args);
6102 +}
6103 +
6104 +
6105 +static void next_search(struct vtwin *w, int rev)
6106 +{
6107 +    if (w->search)
6108 +    {
6109 +       int pgno = w->pgno;
6110 +       int subno = w->subno;
6111 +       int dir = rev ? -w->searchdir : w->searchdir;
6112 +
6113 +       if (search_next(w->search, &pgno, &subno, dir) == 0)
6114 +       {
6115 +           query_page(w, pgno, subno);
6116 +           if (not w->searching && w->search->len)
6117 +               xio_set_selection(w->xw, w->search->x, w->search->y,
6118 +                           w->search->x + w->search->len - 1, w->search->y);
6119 +           return;
6120 +       }
6121 +       else
6122 +           err(w, "Pattern not found.");
6123 +    }
6124 +    else
6125 +       err(w, "No search pattern.");
6126 +}
6127 +
6128 +
6129 +static void start_search(struct vtwin *w, u8 *string)
6130 +{
6131 +    if (not string)
6132 +       return;
6133 +
6134 +    if (*string)
6135 +    {
6136 +       if (w->search)
6137 +           search_end(w->search);
6138 +       w->search = search_start(w->vbi->cache, string);
6139 +       if (w->search == 0)
6140 +       {
6141 +           err(w, "Bad search pattern.");
6142 +           return;
6143 +       }
6144 +    }
6145 +    next_search(w, 0);
6146 +}
6147 +
6148 +
6149 +static void start_save2(struct vtwin *w, u8 *name)
6150 +{
6151 +    if (name && *name)
6152 +       if (export(w->export, w->vtp, name))
6153 +           err(w, export_errstr());
6154 +
6155 +    export_close(w->export);
6156 +    w->export = 0;
6157 +    put_menu_line(w);
6158 +}
6159 +
6160 +
6161 +struct vtwin * vtwin_new(struct xio *xio, struct vbi *vbi, char *geom,
6162 +    struct vtwin *parent, int pgno, int subno)
6163 +{
6164 +    struct vtwin *w;
6165 +
6166 +    if (not(w = malloc(sizeof(*w))))
6167 +       goto fail1;
6168 +
6169 +    if (not (w->xw = xio_open_win(xio, geom)))
6170 +       goto fail2;
6171 +    w->vbi = vbi;
6172 +    w->vtp = 0;
6173 +    w->search = 0;
6174 +    w->export = 0;
6175 +    w->parent = parent;
6176 +    w->child = 0;
6177 +    if (parent && parent->child)
6178 +       fatal("internal error: parent already has a child != 0");
6179 +    if (parent)
6180 +       parent->child = w;
6181 +
6182 +    w->hist_top = 1;
6183 +    hist(w,0)->pgno = 0;
6184 +    hist(w,1)->pgno = 0;
6185 +    w->status = 0;
6186 +    xio_set_handler(w->xw, vtwin_event, w);
6187 +    vbi_add_handler(w->vbi, vtwin_event, w);
6188 +    query_page(w, pgno, subno);
6189 +    return w;
6190 +
6191 +fail2:
6192 +    free(w);
6193 +fail1:
6194 +    return 0;
6195 +}
6196 +
6197 +
6198 +static void vtwin_close(struct vtwin *w)
6199 +{
6200 +    if (w->parent)
6201 +       w->parent->child = w->child;
6202 +    if (w->child)
6203 +       w->child->parent = w->parent;
6204 +
6205 +    if (w->search)
6206 +       search_end(w->search);
6207 +    if (w->export)
6208 +       export_close(w->export);
6209 +
6210 +    vbi_del_handler(w->vbi, vtwin_event, w);
6211 +    xio_close_win(w->xw, 1);
6212 +    free(w);
6213 +}
6214 +
6215 +
6216 +static void vtwin_event(struct vtwin *w, struct vt_event *ev)
6217 +{
6218 +    struct xio_win *xw = w->xw;
6219 +    int i;
6220 +
6221 +    switch (ev->type)
6222 +    {
6223 +       case EV_CLOSE:
6224 +           vtwin_close(w);
6225 +           break;
6226 +
6227 +       case EV_TIMER:
6228 +           if (w->status > 0 && --w->status == 0)
6229 +               put_menu_line(w);
6230 +           break;
6231 +
6232 +       case EV_KEY:
6233 +       {
6234 +           switch (ev->i1)
6235 +           {
6236 +               case '0' ... '9':
6237 +                   i = ev->i1 - '0';
6238 +                   if (w->pgno >= 0x100)
6239 +                   {
6240 +                       if (i == 0)
6241 +                           break;
6242 +                       w->pgno = i;
6243 +                   }
6244 +                   else
6245 +                   {
6246 +                       w->pgno = w->pgno * 16 + i;
6247 +                       if (w->pgno >= 0x100)
6248 +                           query_page(w, w->pgno, ANY_SUB);
6249 +                   }
6250 +                   break;
6251 +               case 'q':
6252 +               case '\e':
6253 +                   vtwin_close(w);
6254 +                   break;
6255 +               case 'h':
6256 +                   query_page(w, 0x900, ANY_SUB);
6257 +                   break;
6258 +               case 'e':
6259 +                   if (w->vbi->cache)
6260 +                   {
6261 +                       i = w->vbi->cache->op->mode(w->vbi->cache,
6262 +                                                           CACHE_MODE_ERC, 0);
6263 +                       w->vbi->cache->op->mode(w->vbi->cache,
6264 +                                                           CACHE_MODE_ERC, !i);
6265 +                       msg(w, "Error reduction %sabled.", i ? "dis" : "en");
6266 +                   }
6267 +                   break;
6268 +               case 'o':
6269 +                   if (vtwin_new(xw->xio, w->vbi, 0, 0, w->pgno, w->subno) == 0)
6270 +                       err(w, "Unable to open new window.");
6271 +                   break;
6272 +               case KEY_RIGHT:
6273 +                   do_next_pgno(w, 1, not ev->i2, 0, 0);
6274 +                   break;
6275 +               case KEY_LEFT:
6276 +                   do_next_pgno(w, -1, not ev->i2, 0, 0);
6277 +                   break;
6278 +               case KEY_UP:
6279 +                   do_next_pgno(w, -1, not ev->i2, 1, 0);
6280 +                   break;
6281 +               case KEY_DOWN:
6282 +                   do_next_pgno(w, 1, not ev->i2, 1, 0);
6283 +                   break;
6284 +               case '\b':
6285 +                   do_hist_pgno(w);
6286 +                   break;
6287 +               case ' ':
6288 +                   w->hold = !w->hold;
6289 +                   break;
6290 +               case 'c':
6291 +                   vbi_reset(w->vbi);
6292 +                   break;
6293 +               case 'i':
6294 +                   if (w->vtp && w->vtp->flof &&
6295 +                                        (w->vtp->link[5].pgno & 0xff) != 0xff)
6296 +                       query_page(w, w->vtp->link[5].pgno,
6297 +                                                w->vtp->link[5].subno);
6298 +                   else
6299 +                       query_page(w, 0x100, ANY_SUB);
6300 +                   break;
6301 +               case 'r':
6302 +                   xio_set_concealed(xw, w->revealed = !w->revealed);
6303 +                   break;
6304 +               case KEY_F(1) ... KEY_F(5):
6305 +                   do_flof_pgno(w, ev->i1, 0, ev->i2);
6306 +                   break;
6307 +               case 'n':
6308 +                   next_search(w, 0);
6309 +                   break;
6310 +               case 'N':
6311 +                   next_search(w, 1);
6312 +                   break;
6313 +               default:
6314 +                   err(w, "Unused key.");
6315 +                   break;
6316 +           }
6317 +           break;
6318 +       }
6319 +       case EV_RESET:
6320 +       {
6321 +           if (w->search)
6322 +               search_end(w->search);
6323 +           w->search = 0;
6324 +
6325 +           query_page(w, w->pgno, w->subno);
6326 +           msg(w, "Cache cleared!");
6327 +           break;
6328 +       }
6329 +       case EV_MOUSE:
6330 +       {
6331 +           if (ev->i1 == 3)
6332 +               do_hist_pgno(w);
6333 +           else if (ev->i1 == 5) // wheel mouse
6334 +               do_next_pgno(w, 1, not ev->i2, 0, 0);
6335 +           else if (ev->i1 == 4) // wheel mouse
6336 +               do_next_pgno(w, -1, not ev->i2, 0, 0);
6337 +           else if (ev->i1 == 7) // dual wheel mouse
6338 +               do_next_pgno(w, 1, not ev->i2, 1, 0);
6339 +           else if (ev->i1 == 6) // dual wheel mouse
6340 +               do_next_pgno(w, -1, not ev->i2, 1, 0);
6341 +           else if (ev->i4 == 24)
6342 +               do_flof_pgno(w, ev->i1, ev->i3, ev->i1 == 2);
6343 +           else if (ev->i4 == 0 && ev->i3 < 5)
6344 +           {
6345 +               if (ev->i1 == 1)
6346 +                   w->hold = !w->hold;
6347 +               else
6348 +                   vtwin_new(xw->xio, w->vbi, 0, 0, w->pgno, w->subno);
6349 +           }
6350 +           else if (ev->i4 == 0 && ev->i3 < 8)
6351 +           {
6352 +               if (ev->i1 == 2 && w->child)
6353 +                   w = w->child;
6354 +               xio_set_concealed(w->xw, w->revealed = !w->revealed);
6355 +           }
6356 +           else
6357 +               do_screen_pgno(w, ev->i3, ev->i4, ev->i1 == 2);
6358 +           break;
6359 +       }
6360 +       case EV_PAGE:
6361 +       {
6362 +           struct vt_page *vtp = ev->p1;
6363 +
6364 +           if (0)
6365 +               if (vtp->errors)
6366 +                   printf("errors=%4d\n",vtp->errors);
6367 +           if (w->searching || not(w->hold || ev->i1))
6368 +               if (vtp->pgno == w->pgno)
6369 +                   if (w->subno == ANY_SUB || vtp->subno == w->subno)
6370 +               {
6371 +                       w->searching = 0;
6372 +                       w->vtp = vtp;
6373 +                       put_head_line(w, vtp->data[0]);
6374 +                       for (i = 1; i < 24; ++i)
6375 +                           xio_put_line(w->xw, i, vtp->data[i]);
6376 +                       put_menu_line(w);
6377 +                       set_title(w);
6378 +               }
6379 +           break;
6380 +       }
6381 +       case EV_HEADER:
6382 +       {
6383 +           u8 *p = ev->p1;
6384 +           int hdr_mag = ev->i1 / 256;
6385 +           int flags = ev->i3;
6386 +           int mag = w->pgno;
6387 +           if (mag >= 0x10)
6388 +               mag = mag >> 4;
6389 +           if (mag >= 0x10)
6390 +               mag = mag >> 4;
6391 +           if (flags & PG_OUTOFSEQ)
6392 +               p = 0;
6393 +           else
6394 +               if (~flags & PG_MAGSERIAL)
6395 +                   if (mag != hdr_mag)
6396 +                       p = 0;
6397 +
6398 +           put_head_line(w, p);
6399 +           break;
6400 +       }
6401 +       case EV_XPACKET:
6402 +       {
6403 +#if 0 /* VPS data (seems to be unused in .de */
6404 +           u8 *p = ev->p1;
6405 +
6406 +           if (ev->i1 == 8 && ev->i2 == 30 && p[0]/2 == 1)
6407 +           {
6408 +               int i;
6409 +               int pil, cni, pty, misc;
6410 +
6411 +               for (i = 7; i < 20; ++i)
6412 +                   p[i] = hamm8(p+i, &ev->i3);
6413 +               if (ev->i3 & 0xf000)    /* uncorrectable errors */
6414 +                   break;
6415 +               cni = p[9] + p[15]/4*16 + p[16]%4*64 + p[10]%4*256
6416 +                                       + p[16]/4*1024 + p[17]*4096;
6417 +               pty = p[18] + p[19]*16;
6418 +               pil = p[10]/4 + p[11]*4 + p[12]*64 + p[13]*1024
6419 +                                       + p[14]*16384 + p[15]%4*262144;
6420 +               misc = p[7] + p[8]*16;
6421 +               err(w, "%02x %04x %05x %02x: %.20s", misc, cni, pil, pty, p+20);
6422 +           }
6423 +#endif
6424 +           break;
6425 +       }
6426 +       case EV_ERR:
6427 +       {
6428 +           char *errmsg = ev->p1;
6429 +           if (errmsg != NULL && *errmsg != '\0')
6430 +           {
6431 +               err(w, errmsg);
6432 +               w->status = 30;
6433 +               ev->p1 = NULL;
6434 +               free(errmsg);
6435 +           }
6436 +           break;
6437 +       }
6438 +    }
6439 +}
6440 diff -r af23d23c278b util/alevt/ui.h
6441 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
6442 +++ b/util/alevt/ui.h   Tue Dec 21 12:13:28 2010 +0100
6443 @@ -0,0 +1,35 @@
6444 +#ifndef UI_H
6445 +#define UI_H
6446 +
6447 +#include "vt.h"
6448 +#include "xio.h"
6449 +#include "vbi.h"
6450 +#include "search.h"
6451 +
6452 +#define N_HISTORY (1 << 6) // number of history entries
6453 +
6454 +struct vtwin
6455 +{
6456 +    struct vtwin *parent, *child;
6457 +    struct xio_win *xw;
6458 +    struct vbi *vbi;
6459 +    struct {
6460 +    int pgno;
6461 +    int subno;
6462 +    } hist[N_HISTORY];
6463 +    int hist_top;
6464 +    int searching;
6465 +    int revealed;
6466 +    int hold;
6467 +    int pgno, subno;
6468 +    struct vt_page *vtp;
6469 +    struct search *search;
6470 +    int searchdir;
6471 +    int status;
6472 +    u8 statusline[W+1];
6473 +    struct export *export;
6474 +};
6475 +
6476 +extern struct vtwin *vtwin_new(struct xio *xio, struct vbi *vbi, char *geom,
6477 +    struct vtwin *parent, int pgno, int subno);
6478 +#endif
6479 diff -r af23d23c278b util/alevt/vbi.c
6480 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
6481 +++ b/util/alevt/vbi.c  Tue Dec 21 12:13:28 2010 +0100
6482 @@ -0,0 +1,942 @@
6483 +#define _GNU_SOURCE
6484 +#include <stdlib.h>
6485 +#include <string.h>
6486 +#include <unistd.h>
6487 +#include <fcntl.h>
6488 +#include <stdio.h>
6489 +#include <errno.h>
6490 +#include <stdarg.h>
6491 +#include <sys/ioctl.h>
6492 +#include <sys/poll.h>
6493 +#include "os.h"
6494 +#include "vt.h"
6495 +#include "misc.h"
6496 +#include "vbi.h"
6497 +#include "fdset.h"
6498 +#include "hamm.h"
6499 +#include "lang.h"
6500 +#include <libzvbi.h>
6501 +
6502 +
6503 +static vbi_capture      * pZvbiCapt;
6504 +static vbi_raw_decoder  * pZvbiRawDec;
6505 +static vbi_sliced       * pZvbiData;
6506 +static vbi_proxy_client * pProxy;
6507 +
6508 +#define ZVBI_BUFFER_COUNT  10
6509 +#define ZVBI_TRACE          0
6510 +
6511 +
6512 +static int vbi_dvb_open(struct vbi *vbi, const char *vbi_name,
6513 +       const char *channel, char *outfile, u_int16_t sid, int ttpid);
6514 +static void dvb_handler(struct vbi *vbi, int fd);
6515 +
6516 +#define FAC (1<<16) // factor for fix-point arithmetic
6517 +
6518 +static u8 *rawbuf; // one common buffer for raw vbi data
6519 +static int rawbuf_size; // its current size
6520 +u_int16_t sid;
6521 +static char *vbi_names[]
6522 +       = { "/dev/vbi", "/dev/vbi0", "/dev/video0", "/dev/dvb/adapter0/demux0",
6523 +       NULL }; // default device names if none was given at the command line
6524 +
6525 +
6526 +static void out_of_sync(struct vbi *vbi)
6527 +{
6528 +    int i; // discard all in progress pages
6529 +    for (i = 0; i < 8; ++i)
6530 +    vbi->rpage[i].page->flags &= ~PG_ACTIVE;
6531 +}
6532 +
6533 +
6534 +// send an event to all clients
6535 +static void vbi_send(struct vbi *vbi, int type, int i1, int i2, int i3, void *p1)
6536 +{
6537 +    struct vt_event ev[1];
6538 +    struct vbi_client *cl, *cln;
6539 +    ev->resource = vbi;
6540 +    ev->type = type;
6541 +    ev->i1 = i1;
6542 +    ev->i2 = i2;
6543 +    ev->i3 = i3;
6544 +    ev->p1 = p1;
6545 +    for (cl = PTR vbi->clients->first; cln = PTR cl->node->next; cl = cln)
6546 +    cl->handler(cl->data, ev);
6547 +}
6548 +
6549 +
6550 +static void vbi_send_page(struct vbi *vbi, struct raw_page *rvtp, int page)
6551 +{
6552 +    struct vt_page *cvtp = 0;
6553 +
6554 +    if (rvtp->page->flags & PG_ACTIVE)
6555 +    {
6556 +    if (rvtp->page->pgno % 256 != page)
6557 +    {
6558 +    rvtp->page->flags &= ~PG_ACTIVE;
6559 +    enhance(rvtp->enh, rvtp->page);
6560 +    if (vbi->cache)
6561 +    cvtp = vbi->cache->op->put(vbi->cache, rvtp->page);
6562 +    vbi_send(vbi, EV_PAGE, 0, 0, 0, cvtp ?: rvtp->page);
6563 +    }
6564 +    }
6565 +}
6566 +
6567 +
6568 +static void pll_add(struct vbi *vbi, int n, int err)
6569 +{
6570 +}
6571 +
6572 +
6573 +// process one videotext packet
6574 +static int vt_line(struct vbi *vbi, u8 *p)
6575 +{
6576 +    struct vt_page *cvtp;
6577 +    struct raw_page *rvtp;
6578 +    int hdr, mag, mag8, pkt, i;
6579 +    int err = 0;
6580 +
6581 +    hdr = hamm16(p, &err);
6582 +    if (err & 0xf000)
6583 +    return -4;
6584 +    mag = hdr & 7;
6585 +    mag8 = mag?: 8;
6586 +    pkt = (hdr >> 3) & 0x1f;
6587 +    p += 2;
6588 +    rvtp = vbi->rpage + mag;
6589 +    cvtp = rvtp->page;
6590 +    switch (pkt)
6591 +    {
6592 +       case 0:
6593 +       {
6594 +           int b1, b2, b3, b4;
6595 +           b1 = hamm16(p, &err); // page number
6596 +           b2 = hamm16(p+2, &err); // subpage number + flags
6597 +           b3 = hamm16(p+4, &err); // subpage number + flags
6598 +           b4 = hamm16(p+6, &err); // language code + more flags
6599 +           if (vbi->ppage->page->flags & PG_MAGSERIAL)
6600 +               vbi_send_page(vbi, vbi->ppage, b1);
6601 +           vbi_send_page(vbi, rvtp, b1);
6602 +
6603 +           if (err & 0xf000)
6604 +               return 4;
6605 +
6606 +           cvtp->errors = (err >> 8) + chk_parity(p + 8, 32);;
6607 +           cvtp->pgno = mag8 * 256 + b1;
6608 +           cvtp->subno = (b2 + b3 * 256) & 0x3f7f;
6609 +           cvtp->lang = "\0\4\2\6\1\5\3\7"[b4 >> 5] + (latin1==LATIN1 ? 0 : 8);
6610 +           cvtp->flags = b4 & 0x1f;
6611 +           cvtp->flags |= b3 & 0xc0;
6612 +           cvtp->flags |= (b2 & 0x80) >> 2;
6613 +           cvtp->lines = 1;
6614 +           cvtp->flof = 0;
6615 +           vbi->ppage = rvtp;
6616 +           pll_add(vbi, 1, cvtp->errors);
6617 +           conv2latin(p + 8, 32, cvtp->lang);
6618 +           vbi_send(vbi, EV_HEADER, cvtp->pgno, cvtp->subno, cvtp->flags, p);
6619 +
6620 +           if (b1 == 0xff)
6621 +           return 0;
6622 +           cvtp->flags |= PG_ACTIVE;
6623 +           init_enhance(rvtp->enh);
6624 +           memcpy(cvtp->data[0]+0, p, 40);
6625 +           memset(cvtp->data[0]+40, ' ', sizeof(cvtp->data)-40);
6626 +           return 0;
6627 +       }
6628 +
6629 +       case 1 ... 24:
6630 +       {
6631 +           pll_add(vbi, 1, err = chk_parity(p, 40));
6632 +
6633 +           if (~cvtp->flags & PG_ACTIVE)
6634 +               return 0;
6635 +
6636 +           cvtp->errors += err;
6637 +           cvtp->lines |= 1 << pkt;
6638 +           conv2latin(p, 40, cvtp->lang);
6639 +           memcpy(cvtp->data[pkt], p, 40);
6640 +           return 0;
6641 +       }
6642 +       case 26:
6643 +       {
6644 +           int d, t[13];
6645 +
6646 +           if (~cvtp->flags & PG_ACTIVE)
6647 +               return 0;
6648 +
6649 +           d = hamm8(p, &err);
6650 +           if (err & 0xf000)
6651 +               return 4;
6652 +
6653 +           for (i = 0; i < 13; ++i)
6654 +               t[i] = hamm24(p + 1 + 3*i, &err);
6655 +           if (err & 0xf000)
6656 +               return 4;
6657 +
6658 +           add_enhance(rvtp->enh, d, t);
6659 +           return 0;
6660 +       }
6661 +       case 27:
6662 +       {
6663 +           int b1,b2,b3,x;
6664 +           if (~cvtp->flags & PG_ACTIVE)
6665 +               return 0; // -1 flushes all pages. We may never resync again
6666 +
6667 +           b1 = hamm8(p, &err);
6668 +           b2 = hamm8(p + 37, &err);
6669 +           if (err & 0xf000)
6670 +               return 4;
6671 +           if (b1 != 0 || not(b2 & 8))
6672 +               return 0;
6673 +
6674 +           for (i = 0; i < 6; ++i)
6675 +           {
6676 +               err = 0;
6677 +               b1 = hamm16(p+1+6*i, &err);
6678 +               b2 = hamm16(p+3+6*i, &err);
6679 +               b3 = hamm16(p+5+6*i, &err);
6680 +               if (err & 0xf000)
6681 +                   return 1;
6682 +               x = (b2 >> 7) | ((b3 >> 5) & 0x06);
6683 +               cvtp->link[i].pgno = ((mag ^ x) ?: 8) * 256 + b1;
6684 +               cvtp->link[i].subno = (b2 + b3 * 256) & 0x3f7f;
6685 +           }
6686 +           cvtp->flof = 1;
6687 +           return 0;
6688 +       }
6689 +       case 30:
6690 +       {
6691 +           if (mag8 != 8)
6692 +           return 0;
6693 +           p[0] = hamm8(p, &err); // designation code
6694 +           p[1] = hamm16(p+1, &err); // initial page
6695 +           p[3] = hamm16(p+3, &err); // initial subpage + mag
6696 +           p[5] = hamm16(p+5, &err); // initial subpage + mag
6697 +           if (err & 0xf000)
6698 +           return 4;
6699 +           err += chk_parity(p+20, 20);
6700 +           conv2latin(p+20, 20, 0);
6701 +           vbi_send(vbi, EV_XPACKET, mag8, pkt, err, p);
6702 +           return 0;
6703 +       }
6704 +       default:
6705 +           return 0;
6706 +    }
6707 +    return 0;
6708 +}
6709 +
6710 +
6711 +// called when new vbi data is waiting
6712 +static void vbi_handler(struct vbi *vbi, int fd)
6713 +{
6714 +    double timestamp;
6715 +    struct timeval timeout;
6716 +    int lineCount;
6717 +    int line;
6718 +    int res;
6719 +
6720 +    timeout.tv_sec  = 0;
6721 +    timeout.tv_usec = 25000;
6722 +    res = vbi_capture_read_sliced(pZvbiCapt, pZvbiData, &lineCount, &timestamp,
6723 +    &timeout);
6724 +    if (res > 0)
6725 +    {
6726 +       for (line=0; line < lineCount; line++)
6727 +       {
6728 +            if ((pZvbiData[line].id & VBI_SLICED_TELETEXT_B) != 0)
6729 +           {
6730 +               vt_line(vbi, pZvbiData[line].data);
6731 +           }
6732 +       }
6733 +    }
6734 +    else if (res < 0)
6735 +    {
6736 +    }
6737 +}
6738 +
6739 +
6740 +int vbi_add_handler(struct vbi *vbi, void *handler, void *data)
6741 +{
6742 +    struct vbi_client *cl;
6743 +
6744 +    if (not(cl = malloc(sizeof(*cl))))
6745 +    return -1;
6746 +    cl->handler = handler;
6747 +    cl->data = data;
6748 +    dl_insert_last(vbi->clients, cl->node);
6749 +    return 0;
6750 +}
6751 +
6752 +
6753 +void vbi_del_handler(struct vbi *vbi, void *handler, void *data)
6754 +{
6755 +    struct vbi_client *cl;
6756 +
6757 +    for (cl = PTR vbi->clients->first; cl->node->next; cl = PTR cl->node->next)
6758 +       if (cl->handler == handler && cl->data == data)
6759 +       {
6760 +           dl_remove(cl->node);
6761 +           break;
6762 +       }
6763 +    return;
6764 +}
6765 +
6766 +
6767 +struct vbi * vbi_open(char *vbi_name, struct cache *ca,
6768 +       const char *channel, char *outfile, u_int16_t sid, int ttpid)
6769 +{
6770 +    static int inited = 0;
6771 +    struct vbi *vbi;
6772 +    char * pErrStr;
6773 +    int services;
6774 +
6775 +    if (vbi_name == NULL)
6776 +    {
6777 +        int i;
6778 +        char *tried_devices = NULL;
6779 +        char *old_tried_devices = NULL;
6780 +        for (i = 0; vbi_names[i] != NULL; i++)
6781 +        {
6782 +        vbi_name = vbi_names[i];
6783 +        // collect device names for the error message below
6784 +        if (old_tried_devices)
6785 +        {
6786 +        if (asprintf(&tried_devices, "%s, %s", old_tried_devices, vbi_name) < 0)
6787 +        tried_devices = NULL;
6788 +        free(old_tried_devices);
6789 +        }
6790 +        else if (asprintf(&tried_devices, "%s", vbi_name) < 0)
6791 +        tried_devices = NULL;
6792 +        if (tried_devices == NULL)
6793 +        out_of_mem(-1);
6794 +        old_tried_devices = tried_devices;
6795 +        if (access(vbi_name, R_OK) != 0)
6796 +        continue;
6797 +        vbi = vbi_open(vbi_name, ca, channel, outfile, sid, ttpid);
6798 +        if (vbi != NULL)
6799 +        {
6800 +        if (tried_devices != NULL)
6801 +        free(tried_devices);
6802 +        return vbi;
6803 +        }
6804 +        }
6805 +
6806 +       error("could not open any of the standard devices (%s)", tried_devices);
6807 +        free(tried_devices);
6808 +       return NULL;
6809 +    }
6810 +
6811 +    if (not inited)
6812 +    lang_init();
6813 +    inited = 1;
6814 +
6815 +    if (not(vbi = malloc(sizeof(*vbi))))
6816 +    {
6817 +       error("out of memory");
6818 +       goto fail1;
6819 +    }
6820 +    if (!vbi_dvb_open(vbi, vbi_name, channel, outfile, sid, ttpid)) {
6821 +           vbi->cache = ca;
6822 +           dl_init(vbi->clients);
6823 +           out_of_sync(vbi);
6824 +           vbi->ppage = vbi->rpage;
6825 +           fdset_add_fd(fds, vbi->fd, dvb_handler, vbi);
6826 +           return vbi;
6827 +    }
6828 +
6829 +    services = VBI_SLICED_TELETEXT_B;
6830 +    pErrStr = NULL;
6831 +    vbi->fd = -1;
6832 +
6833 +    pProxy = vbi_proxy_client_create(vbi_name, "alevt",
6834 +    VBI_PROXY_CLIENT_NO_STATUS_IND, &pErrStr, ZVBI_TRACE);
6835 +    if (pProxy != NULL)
6836 +    {
6837 +       pZvbiCapt = vbi_capture_proxy_new(pProxy, ZVBI_BUFFER_COUNT, 0,
6838 +       &services, 0, &pErrStr);
6839 +       if (pZvbiCapt == NULL)
6840 +       {
6841 +          vbi_proxy_client_destroy(pProxy);
6842 +          pProxy = NULL;
6843 +       }
6844 +    }
6845 +    if (pZvbiCapt == NULL)
6846 +        pZvbiCapt = vbi_capture_v4l2_new(vbi_name, ZVBI_BUFFER_COUNT,
6847 +        &services, 0, &pErrStr, ZVBI_TRACE);
6848 +    if (pZvbiCapt == NULL)
6849 +        pZvbiCapt = vbi_capture_v4l_new(vbi_name, 0, &services, 0, &pErrStr,
6850 +        ZVBI_TRACE);
6851 +
6852 +    if (pZvbiCapt != NULL)
6853 +    {
6854 +        pZvbiRawDec = vbi_capture_parameters(pZvbiCapt);
6855 +        if ((pZvbiRawDec != NULL) && ((services & VBI_SLICED_TELETEXT_B) != 0))
6856 +        {
6857 +            pZvbiData = malloc((pZvbiRawDec->count[0] + pZvbiRawDec->count[1]) \
6858 +            * sizeof(*pZvbiData));
6859 +
6860 +            vbi->fd = vbi_capture_fd(pZvbiCapt);
6861 +        }
6862 +        else
6863 +            vbi_capture_delete(pZvbiCapt);
6864 +    }
6865 +
6866 +    if (pErrStr != NULL)
6867 +    {
6868 +        fprintf(stderr, "libzvbi: %s\n", pErrStr);
6869 +        free(pErrStr);
6870 +    }
6871 +
6872 +    if (vbi->fd == -1)
6873 +        goto fail2;
6874 +    vbi->cache = ca;
6875 +    dl_init(vbi->clients);
6876 +    out_of_sync(vbi);
6877 +    vbi->ppage = vbi->rpage;
6878 +    fdset_add_fd(fds, vbi->fd, vbi_handler, vbi);
6879 +    return vbi;
6880 +
6881 +fail3:
6882 +    close(vbi->fd);
6883 +fail2:
6884 +    free(vbi);
6885 +fail1:
6886 +    return 0;
6887 +}
6888 +
6889 +
6890 +void vbi_close(struct vbi *vbi)
6891 +{
6892 +    fdset_del_fd(fds, vbi->fd);
6893 +    if (vbi->cache)
6894 +    vbi->cache->op->close(vbi->cache);
6895 +
6896 +    if (pZvbiData != NULL)
6897 +       free(pZvbiData);
6898 +    pZvbiData = NULL;
6899 +
6900 +    if (pZvbiCapt != NULL)
6901 +    {
6902 +       vbi_capture_delete(pZvbiCapt);
6903 +       pZvbiCapt = NULL;
6904 +    }
6905 +    if (pProxy != NULL)
6906 +    {
6907 +       vbi_proxy_client_destroy(pProxy);
6908 +       pProxy = NULL;
6909 +    }
6910 +    free(vbi);
6911 +}
6912 +
6913 +
6914 +struct vt_page * vbi_query_page(struct vbi *vbi, int pgno, int subno)
6915 +{
6916 +    struct vt_page *vtp = 0;
6917 +    if (vbi->cache)
6918 +    vtp = vbi->cache->op->get(vbi->cache, pgno, subno);
6919 +    if (vtp == 0)
6920 +    {
6921 +    return 0;
6922 +    }
6923 +    vbi_send(vbi, EV_PAGE, 1, 0, 0, vtp);
6924 +    return vtp;
6925 +}
6926 +
6927 +
6928 +void vbi_reset(struct vbi *vbi)
6929 +{
6930 +    if (vbi->cache)
6931 +    vbi->cache->op->reset(vbi->cache);
6932 +    vbi_send(vbi, EV_RESET, 0, 0, 0, 0);
6933 +}
6934 +
6935 +
6936 +/* Starting from here: DVB API */
6937 +#include <linux/dvb/dmx.h>
6938 +#include <linux/dvb/frontend.h>
6939 +#include <linux/dvb/video.h>
6940 +
6941 +static int dvb_get_table(int fd, u_int16_t pid, u_int8_t tblid, u_int8_t *buf,
6942 +       size_t bufsz)
6943 +{
6944 +    struct dmx_sct_filter_params sctFilterParams;
6945 +    struct pollfd pfd;
6946 +    int r;
6947 +    memset(&sctFilterParams, 0, sizeof(sctFilterParams));
6948 +    sctFilterParams.pid = pid;
6949 +    sctFilterParams.timeout = 10000;
6950 +    sctFilterParams.flags = DMX_ONESHOT | DMX_IMMEDIATE_START | DMX_CHECK_CRC;
6951 +    sctFilterParams.filter.filter[0] = tblid;
6952 +    sctFilterParams.filter.mask[0] = 0xff;
6953 +    if (ioctl(fd, DMX_SET_FILTER, &sctFilterParams)) {
6954 +               perror("DMX_SET_FILTER");
6955 +               return -1;
6956 +       }
6957 +       pfd.fd = fd;
6958 +       pfd.events = POLLIN;
6959 +       r = poll(&pfd, 1, 10000);
6960 +       if (r < 0) {
6961 +               perror("poll");
6962 +               goto out;
6963 +       }
6964 +       if (r > 0) {
6965 +               r = read(fd, buf, bufsz);
6966 +               if (r < 0) {
6967 +                       perror("read");
6968 +                       goto out;
6969 +               }
6970 +       }
6971 + out:
6972 +       ioctl(fd, DMX_STOP, 0);
6973 +       return r;
6974 +}
6975 +
6976 +static const u_int8_t byterev8[256] = {
6977 +        0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
6978 +        0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
6979 +        0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8,
6980 +        0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8,
6981 +        0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4,
6982 +        0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,
6983 +        0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec,
6984 +        0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc,
6985 +        0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2,
6986 +        0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2,
6987 +        0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea,
6988 +        0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,
6989 +        0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6,
6990 +        0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6,
6991 +        0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee,
6992 +        0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe,
6993 +        0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1,
6994 +        0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1,
6995 +        0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9,
6996 +        0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9,
6997 +        0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5,
6998 +        0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5,
6999 +        0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed,
7000 +        0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd,
7001 +        0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3,
7002 +        0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3,
7003 +        0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb,
7004 +        0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb,
7005 +        0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7,
7006 +        0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7,
7007 +        0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef,
7008 +        0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff
7009 +};
7010 +
7011 +static void dvb_handle_pes_payload(struct vbi *vbi, const u_int8_t *buf,
7012 +       unsigned int len)
7013 +{
7014 +       unsigned int p, i;
7015 +       u_int8_t data[42];
7016 +
7017 +       if (buf[0] < 0x10 || buf[0] > 0x1f)
7018 +               return;  /* no EBU teletext data */
7019 +       for (p = 1; p < len; p += /*6 + 40*/ 2 + buf[p + 1]) {
7020 +#if 0
7021 +       printf("Txt Line:\n"
7022 +              "  data_unit_id             0x%02x\n"
7023 +              "  data_unit_length         0x%02x\n"
7024 +              "  reserved_for_future_use  0x%01x\n"
7025 +              "  field_parity             0x%01x\n"
7026 +              "  line_offset              0x%02x\n"
7027 +              "  framing_code             0x%02x\n"
7028 +              "  magazine_and_packet_addr 0x%04x\n"
7029 +              "  data_block               0x%02x 0x%02x 0x%02x 0x%02x\n",
7030 +              buf[p], buf[p+1],
7031 +              buf[p+2] >> 6,
7032 +              (buf[p+2] >> 5) & 1,
7033 +              buf[p+2] & 0x1f,
7034 +              buf[p+3],
7035 +              (buf[p+4] << 8) | buf[p+5],
7036 +              buf[p+6], buf[p+7], buf[p+8], buf[p+9]);
7037 +#endif
7038 +               for (i = 0; i < sizeof(data); i++)
7039 +                       data[i] = byterev8[buf[p+4+i]];
7040 +               /* note: we should probably check for missing lines and then
7041 +                * call out_of_sync(vbi); and/or vbi_reset(vbi); */
7042 +               vt_line(vbi, data);
7043 +       }
7044 +}
7045 +
7046 +static unsigned int rawptr;
7047 +
7048 +static void dvb_handler(struct vbi *vbi, int fd)
7049 +{
7050 +       /* PES packet start code prefix and stream_id == private_stream_1 */
7051 +       static const u_int8_t peshdr[4] = { 0x00, 0x00, 0x01, 0xbd };
7052 +       u_int8_t *bp;
7053 +       int n;
7054 +       unsigned int p, i, len;
7055 +        u_int16_t rpid;
7056 +        u_int32_t crc, crccomp;
7057 +
7058 +       if (rawptr >= (unsigned int)rawbuf_size)
7059 +               rawptr = 0;
7060 +       n = read(vbi->fd, rawbuf + rawptr, rawbuf_size - rawptr);
7061 +       if (n <= 0)
7062 +               return;
7063 +       rawptr += n;
7064 +       if (rawptr < 6)
7065 +               return;
7066 +       if (memcmp(rawbuf, peshdr, sizeof(peshdr))) {
7067 +               bp = memmem(rawbuf, rawptr, peshdr, sizeof(peshdr));
7068 +               if (!bp)
7069 +                       return;
7070 +               rawptr -= (bp - rawbuf);
7071 +               memmove(rawbuf, bp, rawptr);
7072 +               if (rawptr < 6)
7073 +                       return;
7074 +       }
7075 +       len = (rawbuf[4] << 8) | rawbuf[5];
7076 +       if (len < 9) {
7077 +               rawptr = 0;
7078 +               return;
7079 +       }
7080 +       if (rawptr < len + 6)
7081 +               return;
7082 +       p = 9 + rawbuf[8];
7083 +#if 0
7084 +       for (i = 0; i < len - p; i++) {
7085 +               if (!(i & 15))
7086 +                       printf("\n%04x:", i);
7087 +               printf(" %02x", rawbuf[p + i]);
7088 +       }
7089 +       printf("\n");
7090 +#endif
7091 +       if (!dl_empty(vbi->clients))
7092 +               dvb_handle_pes_payload(vbi, rawbuf + p, len - p);
7093 +       rawptr -= len;
7094 +       if (rawptr)
7095 +               memmove(rawbuf, rawbuf + len, rawptr);
7096 +}
7097 +
7098 +
7099 +static int vbi_dvb_open(struct vbi *vbi, const char *vbi_name,
7100 +       const char *channel, char *outfile, u_int16_t sid, int ttpid)
7101 +{
7102 +       struct {
7103 +               u_int16_t pmtpid;
7104 +               u_int16_t ttpid;
7105 +               u_int16_t service_id;
7106 +               u_int8_t service_type;
7107 +               char service_provider_name[64];
7108 +               char service_name[64];
7109 +               u_int8_t txtlang[3];
7110 +               u_int8_t txttype;
7111 +               u_int8_t txtmagazine;
7112 +               u_int8_t txtpage;
7113 +       } progtbl[16], *progp;
7114 +       u_int8_t tbl[4096];
7115 +       u_int8_t * ppname, * psname, pncode, sncode, pnlen, snlen;
7116 +       int r;
7117 +       FILE *ofd;
7118 +       unsigned int i, j, k, l, progcnt = 0;
7119 +       struct dmx_pes_filter_params filterpar;
7120 +
7121 +       /* open DVB demux device */
7122 +       if (!vbi_name)
7123 +               vbi_name = "/dev/dvb/adapter0/demux0";
7124 +       if ((vbi->fd = open(vbi_name, O_RDWR)) == -1) {
7125 +               error("cannot open demux device %s", vbi_name);
7126 +               return -1;
7127 +       }
7128 +       memset(progtbl, 0, sizeof(progtbl));
7129 +       if (ttpid >= 0x15 && ttpid < 0x1fff) {
7130 +               vbi->ttpid = ttpid;
7131 +               printf("Using command line specified teletext PID 0x%x\n",
7132 +               vbi->ttpid);
7133 +               goto ttpidfound;
7134 +       }
7135 +       /* parse PAT to enumerate services and to find the PMT PIDs */
7136 +       r = dvb_get_table(vbi->fd, 0, 0, tbl, sizeof(tbl));
7137 +       if (r == -1)
7138 +               goto outerr;
7139 +       if (!(tbl[5] & 1)) {
7140 +               error("PAT not active (current_next_indicator == 0)");
7141 +               goto outerr;
7142 +       }
7143 +       if (tbl[6] != 0 || tbl[7] != 0) {
7144 +               error("PAT has multiple sections");
7145 +               goto outerr;
7146 +       }
7147 +       if (r < 13) {
7148 +               error("PAT too short\n");
7149 +               goto outerr;
7150 +       }
7151 +       r -= 13;
7152 +       for (i = 0; i < (unsigned)r; i += 4) {
7153 +               if (progcnt >= sizeof(progtbl)/sizeof(progtbl[0])) {
7154 +                       error("Program table overflow");
7155 +                       goto outerr;
7156 +               }
7157 +               progtbl[progcnt].service_id = (tbl[8 + i] << 8) | tbl[9 + i];
7158 +               if (!progtbl[progcnt].service_id) /* this is the NIT pointer */
7159 +                       continue;
7160 +               progtbl[progcnt].pmtpid = ((tbl[10 + i] << 8) | tbl[11 + i])
7161 +               & 0x1fff;
7162 +               progcnt++;
7163 +       }
7164 +       /* find the SDT to get the station names */
7165 +       r = dvb_get_table(vbi->fd, 0x11, 0x42, tbl, sizeof(tbl));
7166 +       if (r == -1)
7167 +               goto outerr;
7168 +       if (!(tbl[5] & 1)) {
7169 +               error("SDT not active (current_next_indicator == 0)");
7170 +               goto outerr;
7171 +       }
7172 +       if (tbl[6] != 0 || tbl[7] != 0) {
7173 +               error("SDT has multiple sections");
7174 +               goto outerr;
7175 +       }
7176 +       if (r < 12) {
7177 +               error("SDT too short\n");
7178 +               goto outerr;
7179 +       }
7180 +       i = 11;
7181 +       while (i < (unsigned)r - 1) {
7182 +               k = (tbl[i] << 8) | tbl[i+1]; /* service ID */
7183 +               progp = NULL;
7184 +               for (j = 0; j < progcnt; j++)
7185 +                       if (progtbl[j].service_id == k) {
7186 +                               progp = &progtbl[j];
7187 +                               break;
7188 +                       }
7189 +               j = i + 5;
7190 +               i = j + (((tbl[i+3] << 8) | tbl[i+4]) & 0x0fff);
7191 +               if (!progp) {
7192 +                       error("SDT: service_id 0x%x not in PAT\n", k);
7193 +                       continue;
7194 +               }
7195 +         while (j < i) {
7196 +            switch (tbl[j]) {
7197 +               case 0x48: // service descriptor
7198 +                  k = j + 4 + tbl[j + 3];
7199 +                  progp->service_type = tbl[j+2];
7200 +                  ppname = tbl+j+4 ; // points to 1st byte of provider_name
7201 +                  pncode = *ppname ; // 1st byte of provider_name
7202 +                  pnlen = tbl[j+3]; // length of provider_name
7203 +                  psname = tbl+k+1 ; // points to 1st byte of service_name
7204 +                  sncode = *psname ; // 1st byte of service_name
7205 +                  snlen = tbl[k]  ; // length of service_name
7206 +                  if (pncode >= 0x20) {
7207 +                     pncode = 0 ; // default character set Latin alphabet fig.A.1
7208 +                  } else {
7209 +                     ppname++ ; pnlen-- ;
7210 +                     // character code from table A.3 1st byte = ctrl-code
7211 +                  }
7212 +                  if (sncode >= 0x20) {
7213 +                     sncode = 0 ; // default character set Latin alphabet fig.A.1
7214 +                  } else {
7215 +                     psname++ ; snlen-- ;
7216 +                     // character code from table A.3 ; 1st byte = ctrl-code
7217 +                  }
7218 +                  snprintf(progp->service_provider_name,
7219 +                  sizeof(progp->service_provider_name), "%.*s", pnlen, ppname);
7220 +                  snprintf(progp->service_name,
7221 +                  sizeof(progp->service_name), "%.*s", snlen, psname); break;
7222 +            }
7223 +            j += 2 + tbl[j + 1]; // next descriptor
7224 +         }
7225 +      }
7226 +       /* parse PMT's to find Teletext Services */
7227 +       for (l = 0; l < progcnt; l++) {
7228 +               progtbl[l].ttpid = 0x1fff;
7229 +               if (progtbl[l].service_type != 0x01 || /* not digital TV */
7230 +                   progtbl[l].pmtpid < 0x15 || /* PMT PID sanity check */
7231 +                   progtbl[l].pmtpid >= 0x1fff)
7232 +                       continue;
7233 +               r = dvb_get_table(vbi->fd, progtbl[l].pmtpid, 0x02, tbl,
7234 +               sizeof(tbl));
7235 +               if (r == -1)
7236 +                       goto outerr;
7237 +               if (!(tbl[5] & 1)) { error \
7238 +               ("PMT pid 0x%x not active (current_next_indicator == 0)",
7239 +               progtbl[l].pmtpid);
7240 +                       goto outerr;
7241 +               }
7242 +               if (tbl[6] != 0 || tbl[7] != 0) {
7243 +                       error("PMT pid 0x%x has multiple sections",
7244 +                       progtbl[l].pmtpid);
7245 +                       goto outerr;
7246 +               }
7247 +               if (r < 13) {
7248 +                       error("PMT pid 0x%x too short\n", progtbl[l].pmtpid);
7249 +                       goto outerr;
7250 +               }
7251 +               i = 12 + (((tbl[10] << 8) | tbl[11]) & 0x0fff);
7252 +               /* skip program info section */
7253 +               while (i <= (unsigned)r-6) {
7254 +                       j = i + 5;
7255 +                       i = j + (((tbl[i + 3] << 8) | tbl[i + 4]) & 0x0fff);
7256 +                       if (tbl[j - 5] != 0x06)
7257 +                       /* teletext streams have type 0x06 */
7258 +                               continue;
7259 +                       k = ((tbl[j - 4] << 8) | tbl[j - 3]) & 0x1fff;
7260 +               /* elementary PID - save until we know if it's teletext PID */
7261 +                       while (j < i) {
7262 +                               switch (tbl[j]) {
7263 +                               case 0x56: /* EBU teletext descriptor */
7264 +                                       progtbl[l].txtlang[0] = tbl[j + 2];
7265 +                                       progtbl[l].txtlang[1] = tbl[j + 3];
7266 +                                       progtbl[l].txtlang[2] = tbl[j + 4];
7267 +                                       progtbl[l].txttype = tbl[j + 5] >> 3;
7268 +                                       progtbl[l].txtmagazine = tbl[j + 5] & 7;
7269 +                                       progtbl[l].txtpage = tbl[j + 6];
7270 +                                       progtbl[l].ttpid = k;
7271 +                                       break;
7272 +                               }
7273 +                               j += 2 + tbl[j + 1];
7274 +                       }
7275 +               }
7276 +       }
7277 +
7278 +    printf \
7279 +    ("sid:pmtpid:ttpid:type:provider:name:language:texttype:magazine:page\n\n");
7280 +    for (i = 0; i < progcnt; i++) {
7281 +    printf("%d:%d:%d:%d:%s:%s:lang=%.3s:type=%d:magazine=%1u:page=%3u\n",
7282 +    progtbl[i].service_id, progtbl[i].pmtpid, progtbl[i].ttpid,
7283 +    progtbl[i].service_type, progtbl[i].service_provider_name,
7284 +    progtbl[i].service_name, progtbl[i].txtlang, progtbl[i].txttype,
7285 +    progtbl[i].txtmagazine, progtbl[i].txtpage);
7286 +    }
7287 +
7288 +    if (*outfile) {
7289 +    ofd = fopen(outfile,"w") ;
7290 +    if (ofd == NULL) { error("cannot open outfile\n"); goto outerr ; }
7291 +    for (i = 0; i < progcnt; i++) {
7292 +    if (progtbl[i].ttpid == 0x1fff) continue ; // service without teletext
7293 +    fprintf(ofd,"%d:%d:%s:%s:lang=%.3s\n",
7294 +    progtbl[i].service_id, progtbl[i].ttpid, progtbl[i].service_provider_name,
7295 +    progtbl[i].service_name, progtbl[i].txtlang);
7296 +    }
7297 +    fclose(ofd) ;
7298 + }
7299 +
7300 +       progp = NULL;
7301 +
7302 +       if (channel) {
7303 +               j = strlen(channel);
7304 +               for (i = 0; i < progcnt; i++)
7305 +                       if (!strncmp(progtbl[i].service_name, channel, j)
7306 +                       && progtbl[i].ttpid != 0x1fff) { progp = &progtbl[i];
7307 +                               break ;
7308 +                       }
7309 +       }
7310 +
7311 +       if (channel && !progp) {
7312 +               j = strlen(channel);
7313 +               for (i = 0; i < progcnt; i++)
7314 +                       if (!strncasecmp(progtbl[i].service_name, channel, j)
7315 +                       && progtbl[i].ttpid != 0x1fff) { progp = &progtbl[i];
7316 +                               break ;
7317 +                       }
7318 +       }
7319 +
7320 +    if (sid) {
7321 +    for (i = 0; i < progcnt; i++) {
7322 +    if ((progtbl[i].service_id == sid) && (progtbl[i].ttpid != 0x1fff)) {
7323 +            progp = &progtbl[i]; break ; }
7324 +            }
7325 +    }
7326 +
7327 +    if (!progp) {
7328 +               for (i = 0; i < progcnt; i++)
7329 +                       if (progtbl[i].ttpid != 0x1fff) {
7330 +                               progp = &progtbl[i]; break ;
7331 +                       }
7332 +       }
7333 +
7334 +    printf("\nUsing: Service ID = %d ; PMT PID = %d ; TXT PID = %d ;\n"
7335 +    "Service type = %d ; Provider Name = %s ; Service name = %s ;\n"
7336 +    "language = %.3s ; Text type = %d ; Text Magazine = %1u ; Text page = %3u\n",
7337 +    progp->service_id, progp->pmtpid, progp->ttpid, progp->service_type,
7338 +    progp->service_provider_name, progp->service_name, progp->txtlang,
7339 +    progp->txttype, progp->txtmagazine, progp->txtpage);
7340 +    vbi->ttpid = progp->ttpid;
7341 +
7342 + ttpidfound:
7343 +       rawbuf = malloc(rawbuf_size = 8192);
7344 +       if (!rawbuf)
7345 +               goto outerr;
7346 +       rawptr = 0;
7347 +#if 0
7348 +       close(vbi->fd);
7349 +       if ((vbi->fd = open(vbi_name, O_RDWR)) == -1) {
7350 +               error("cannot open demux device %s", vbi_name);
7351 +               return -1;
7352 +       }
7353 +#endif
7354 +       memset(&filterpar, 0, sizeof(filterpar));
7355 +       filterpar.pid = vbi->ttpid;
7356 +        filterpar.input = DMX_IN_FRONTEND;
7357 +        filterpar.output = DMX_OUT_TAP;
7358 +        filterpar.pes_type = DMX_PES_OTHER;
7359 +        filterpar.flags = DMX_IMMEDIATE_START;
7360 +        if (ioctl(vbi->fd, DMX_SET_PES_FILTER, &filterpar) < 0) {
7361 +        error("ioctl: DMX_SET_PES_FILTER %s (%u)", strerror(errno), errno);
7362 +        goto outerr;
7363 +        }
7364 +       return 0;
7365 +
7366 + outerr:
7367 +       close(vbi->fd);
7368 +       vbi->fd = -1;
7369 +       return -1;
7370 +}
7371 +
7372 +
7373 +struct vbi *open_null_vbi(struct cache *ca)
7374 +{
7375 +    static int inited = 0;
7376 +    struct vbi *vbi;
7377 +
7378 +    if (not inited)
7379 +    lang_init();
7380 +    inited = 1;
7381 +
7382 +    vbi = malloc(sizeof(*vbi));
7383 +    if (!vbi)
7384 +    {
7385 +               error("out of memory");
7386 +               goto fail1;
7387 +    }
7388 +
7389 +    vbi->fd = open("/dev/null", O_RDONLY);
7390 +       if (vbi->fd == -1)
7391 +       {
7392 +               error("cannot open null device");
7393 +               goto fail2;
7394 +       }
7395 +
7396 +    vbi->ttpid = -1;
7397 +    out_of_sync(vbi);
7398 +    vbi->ppage = vbi->rpage;
7399 +    fdset_add_fd(fds, vbi->fd, vbi_handler, vbi);
7400 +    return vbi;
7401 +
7402 +fail3:
7403 +    close(vbi->fd);
7404 +fail2:
7405 +    free(vbi);
7406 +fail1:
7407 +    return 0;
7408 +}
7409 +
7410 +
7411 +void send_errmsg(struct vbi *vbi, char *errmsg, ...)
7412 +{
7413 +       va_list args;
7414 +       if (errmsg == NULL || *errmsg == '\0')
7415 +               return;
7416 +       va_start(args, errmsg);
7417 +       char *buff = NULL;
7418 +       if (vasprintf(&buff, errmsg, args) < 0)
7419 +               buff = NULL;
7420 +       va_end(args);
7421 +       if(buff == NULL)
7422 +               out_of_mem(-1);
7423 +       vbi_send(vbi, EV_ERR, 0, 0, 0, buff);
7424 +}
7425 diff -r af23d23c278b util/alevt/vbi.h
7426 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7427 +++ b/util/alevt/vbi.h  Tue Dec 21 12:13:28 2010 +0100
7428 @@ -0,0 +1,47 @@
7429 +#ifndef VBI_H
7430 +#define VBI_H
7431 +
7432 +#include "vt.h"
7433 +#include "dllist.h"
7434 +#include "cache.h"
7435 +#include "lang.h"
7436 +
7437 +#define PLL_ADJUST 4
7438 +
7439 +struct raw_page
7440 +{
7441 +    struct vt_page page[1];
7442 +    struct enhance enh[1];
7443 +};
7444 +
7445 +struct vbi
7446 +{
7447 +    int fd;
7448 +    struct cache *cache;
7449 +    struct dl_head clients[1];
7450 +    // page assembly
7451 +    struct raw_page rpage[8]; // one for each magazin
7452 +    struct raw_page *ppage; // points to page of previous pkt0
7453 +    // DVB stuff
7454 +    unsigned int ttpid;
7455 +    u_int16_t sid;
7456 +};
7457 +
7458 +struct vbi_client
7459 +{
7460 +    struct dl_node node[1];
7461 +    void (*handler)(void *data, struct vt_event *ev);
7462 +    void *data;
7463 +};
7464 +
7465 +struct vbi *vbi_open(char *vbi_dev_name, struct cache *ca,
7466 +       const char *channel, char *outfile, u_int16_t sid, int ttpid);
7467 +void vbi_close(struct vbi *vbi);
7468 +void vbi_reset(struct vbi *vbi);
7469 +int vbi_add_handler(struct vbi *vbi, void *handler, void *data);
7470 +void vbi_del_handler(struct vbi *vbi, void *handler, void *data);
7471 +struct vt_page *vbi_query_page(struct vbi *vbi, int pgno, int subno);
7472 +
7473 +struct vbi *open_null_vbi(struct cache *ca);
7474 +void send_errmsg(struct vbi *vbi, char *errmsg, ...);
7475 +#endif
7476 diff -r af23d23c278b util/alevt/vt.h
7477 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7478 +++ b/util/alevt/vt.h   Tue Dec 21 12:13:28 2010 +0100
7479 @@ -0,0 +1,62 @@
7480 +#ifndef VT_H
7481 +#define VT_H
7482 +
7483 +#include "misc.h"
7484 +
7485 +#define W 40
7486 +#define H 25
7487 +#define BAD_CHAR 0xb8 // substitute for chars with bad parity
7488 +
7489 +struct vt_event
7490 +{
7491 +    int type;
7492 +    void *resource;    /* struct xio_win *, struct vbi *, ... */
7493 +    int i1, i2, i3, i4;
7494 +    void *p1;
7495 +};
7496 +
7497 +#define EV_CLOSE       1
7498 +#define EV_KEY         2       // i1:KEY_xxx  i2:shift-flag
7499 +#define EV_MOUSE       3       // i1:button  i2:shift-flag i3:x  i4:y
7500 +#define EV_SELECTION   4       // i1:len  p1:data
7501 +#define EV_PAGE                5       // p1:vt_page i1:query-flag
7502 +#define EV_HEADER      6       // i1:pgno  i2:subno  i3:flags  p1:data
7503 +#define EV_XPACKET     7       // i1:mag  i2:pkt  i3:errors  p1:data
7504 +#define EV_RESET       8       // ./.
7505 +#define EV_TIMER       9       // ./.
7506 +#define EV_ERR         10      // p1: errmsg
7507 +#define KEY_F(i)       (1000+i)
7508 +#define KEY_LEFT       2001
7509 +#define KEY_RIGHT      2002
7510 +#define KEY_UP         2003
7511 +#define KEY_DOWN       2004
7512 +#define KEY_PUP                2005
7513 +#define KEY_PDOWN      2006
7514 +#define KEY_DEL                2007
7515 +#define KEY_INS                2008
7516 +
7517 +struct vt_page
7518 +{
7519 +    int pgno, subno;   // the wanted page number
7520 +    int lang;          // language code
7521 +    int flags;         // misc flags (see PG_xxx below)
7522 +    int errors;                // number of single bit errors in page
7523 +    u32 lines;         // 1 bit for each line received
7524 +    u8 data[25][40];   // page contents
7525 +    int flof;          // page has FastText links
7526 +    struct {
7527 +    int pgno;
7528 +    int subno;
7529 +    } link[6]; // FastText links (FLOF)
7530 +};
7531 +
7532 +#define PG_SUPPHEADER  0x01    // C7  row 0 is not to be displayed
7533 +#define PG_OUTOFSEQ    0x04    // C9  page out of numerical order
7534 +#define PG_NODISPLAY   0x08    // C10 rows 1-24 is not to be displayed
7535 +#define PG_MAGSERIAL   0x10    // C11 serial trans. (any pkt0 terminates page)
7536 +#define PG_ERASE       0x20    // C4  clear previously stored lines
7537 +#define PG_NEWSFLASH   0x40    // C5  box it and insert into normal video pict.
7538 +#define PG_SUBTITLE    0x80    // C6  box it and insert into normal video pict.
7539 +#define PG_ACTIVE      0x100   // currently fetching this page
7540 +#define ANY_SUB                0x3f7f  // universal subpage number
7541 +#endif
7542 diff -r af23d23c278b util/alevt/vt900.out
7543 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7544 +++ b/util/alevt/vt900.out      Tue Dec 21 12:13:28 2010 +0100
7545 @@ -0,0 +1,29 @@
7546 +#ifndef HELP_HEADER
7547 +"        \6AleVT Online Help System         ",
7548 +"  \22`p0`0    p `0pppp                     ",
7549 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7550 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7551 +"  \22# #\42!\42#   \42   \42!              ",
7552 +#else
7553 +HELP_HEADER
7554 +#endif
7555 +"                                           ",
7556 +"\6\15Contents:                             ",
7557 +"\6\15Contents:                             ",
7558 +"\24 ####################################   ",
7559 +"                                           ",
7560 +"   \3\177\6Starting alevt . . . . . . 902  ",
7561 +"                                           ",
7562 +"   \3\177\6Copying/Warranty . . . . . 904  ",
7563 +"                                           ",
7564 +"   \3\177\6The Status Line  . . . . . 905  ",
7565 +"                                           ",
7566 +"   \3\177\6Selecting Pages  . . . . . 907  ",
7567 +"                                           ",
7568 +"   \3\177\6QuickClick Page  . . . . . 915  ",
7569 +"                                           ",
7570 +"\24 pppppppppppppppppppppppppppppppppppp   ",
7571 +"              (Click to select a page)     ",
7572 +"                                           ",
7573 +"\4\35\7                           Next 901 \34",
7574 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7575 diff -r af23d23c278b util/alevt/vt901.out
7576 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7577 +++ b/util/alevt/vt901.out      Tue Dec 21 12:13:28 2010 +0100
7578 @@ -0,0 +1,29 @@
7579 +#ifndef HELP_HEADER
7580 +"        \6AleVT Online Help System         ",
7581 +"  \22`p0`0    p `0pppp                     ",
7582 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7583 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7584 +"  \22# #\42!\42#   \42   \42!              ",
7585 +#else
7586 +HELP_HEADER
7587 +#endif
7588 +"                                           ",
7589 +"\6\15Contents:                             ",
7590 +"\6\15Contents:                             ",
7591 +"\24 ####################################   ",
7592 +"                                           ",
7593 +"\6  \3\177\6FastText Menu  . . . . . . 909 ",
7594 +"\6                                         ",
7595 +"\6  \3\177\6Keyboard Commands  . . . . 910 ",
7596 +"\6                                         ",
7597 +"\6  \3\177\6Starting alevt-cap . . . . 912 ",
7598 +"\6                                         ",
7599 +"\6  \3\177\6Starting alevt-date  . . . 914 ",
7600 +"\6                                         ",
7601 +"\6  \3\177\6QuickClick Page  . . . . . 915 ",
7602 +"                                           ",
7603 +"\24 pppppppppppppppppppppppppppppppppppp   ",
7604 +"              (Click to select a page)     ",
7605 +"                                           ",
7606 +"\4\35\7Back 900     Index 900     Next 902 \34",
7607 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7608 diff -r af23d23c278b util/alevt/vt902.out
7609 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7610 +++ b/util/alevt/vt902.out      Tue Dec 21 12:13:28 2010 +0100
7611 @@ -0,0 +1,29 @@
7612 +#ifndef HELP_HEADER
7613 +"        \6AleVT Online Help System         ",
7614 +"  \22`p0`0    p `0pppp                     ",
7615 +"\4\35\22\177 \177j5`p  \177 j5 j5        \7   Version \34",
7616 +"\4\35\22\177,\177j5\177.! +t>! j5        \7     1.7.0 \34",
7617 +"  \22# #\42!\42#   \42   \42!              ",
7618 +#else
7619 +HELP_HEADER
7620 +#endif
7621 +"                                           ",
7622 +"\6\15Starting alevt:                       ",
7623 +"\6\15Starting alevt:                       ",
7624 +"\24 ####################################   ",
7625 +"\6 $\7alevt\6[options]     Default:        ",
7626 +"                                           ",
7627 +"    -c\6<channel name>   (none;dvb only)   ",
7628 +"    -ch -child\6<ppp.ss> (none)            ",
7629 +"    -cs -charset       \6latin-1           ",
7630 +"   \6<latin-1/2/koi8-r/                    ",
7631 +"   \6iso8859-7>                            ",
7632 +"    -h -help                               ",
7633 +"                                           ",
7634 +"                                           ",
7635 +"                                           ",
7636 +"\24 pppppppppppppppppppppppppppppppppppp   ",
7637 +"                                           ",
7638 +"                                           ",
7639 +"\4\35\7Back 901     Index 900     Next 903 \34",
7640 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7641 diff -r af23d23c278b util/alevt/vt903.out
7642 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7643 +++ b/util/alevt/vt903.out      Tue Dec 21 12:13:28 2010 +0100
7644 @@ -0,0 +1,29 @@
7645 +#ifndef HELP_HEADER
7646 +"        \6AleVT Online Help System         ",
7647 +"  \22`p0`0    p `0pppp                     ",
7648 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7649 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7650 +"  \22# #\42!\42#   \42   \42!              ",
7651 +#else
7652 +HELP_HEADER
7653 +#endif
7654 +"                                           ",
7655 +"\6\15Starting alevt:                       ",
7656 +"\6\15Starting alevt:                       ",
7657 +"\24 ####################################   ",
7658 +"\6 $\7alevt\6[options]     Default:        ",
7659 +"    -o\6<outfile>        (none;dvb only)   ",
7660 +"    -p -parent\6<ppp.ss> 900               ",
7661 +"    -s -sid\6<sid>       (none;dvb only)   ",
7662 +"    -t -ttpid\6<ttpid>   (none;dvb only)   ",
7663 +"    -v -vbi\6<vbidev>    /dev/vbi          ",
7664 +"                       \6/dev/vbi0         ",
7665 +"                       \6/dev/video0       ",
7666 +"          \6/dev/dvb/adapter0/demux0       ",
7667 +"                                           ",
7668 +"                                           ",
7669 +"\24 pppppppppppppppppppppppppppppppppppp   ",
7670 +"                                           ",
7671 +"                                           ",
7672 +"\4\35\7Back 902     Index 900     Next 904 \34",
7673 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7674 diff -r af23d23c278b util/alevt/vt904.out
7675 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7676 +++ b/util/alevt/vt904.out      Tue Dec 21 12:13:28 2010 +0100
7677 @@ -0,0 +1,29 @@
7678 +#ifndef HELP_HEADER
7679 +"        \6AleVT Online Help System       ",
7680 +"  \22`p0`0    p `0pppp                   ",
7681 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7682 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7683 +"  \22# #\42!\42#   \42   \42!            ",
7684 +#else
7685 +HELP_HEADER
7686 +#endif
7687 +"                                         ",
7688 +"\6\15Copying:                            ",
7689 +"\6\15Copying:                            ",
7690 +"\24 #################################### ",
7691 +"\6 2002-07 Edgar Toernig (froese@gmx.de) ",
7692 +"\6         All Rights Reserved.          ",
7693 +"\6                                       ",
7694 +"\6 This program is free software; you    ",
7695 +"\6 can redistribute it and/or modify it  ",
7696 +"\6 under the terms of the GNU General    ",
7697 +"\6 Public License Version 2 as published ",
7698 +"\6 by the Free Software Foundation.      ",
7699 +"\6                                       ",
7700 +"\6 This program is distributed in the    ",
7701 +"\6 hope that it will be useful, but      ",
7702 +"\6\7without any warranty.\6See the GNU   ",
7703 +"\6 General Public License for details.   ",
7704 +"                                         ",
7705 +"\4\35\7Back 903     Index 900     Next 905 \34",
7706 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7707 diff -r af23d23c278b util/alevt/vt905.out
7708 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7709 +++ b/util/alevt/vt905.out      Tue Dec 21 12:13:28 2010 +0100
7710 @@ -0,0 +1,29 @@
7711 +#ifndef HELP_HEADER
7712 +"        \6AleVT Online Help System       ",
7713 +"  \22`p0`0    p `0pppp                   ",
7714 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7715 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7716 +"  \22# #\42!\42#   \42   \42!            ",
7717 +#else
7718 +HELP_HEADER
7719 +#endif
7720 +"                                         ",
7721 +"\6\15Status Line:                        ",
7722 +"\6\15Status Line:                        ",
7723 +"\24 #################################### ",
7724 +"\6 The top line of each window is the    ",
7725 +"\6 status line. On the left it shows     ",
7726 +"\6 the current page number (CPN) and     ",
7727 +"\6 some flags. The rest of the line      ",
7728 +"\6 is the running header sent by the     ",
7729 +"\6 TV station.                           ",
7730 +"\6                                       ",
7731 +"\6 If the CPN is red, the program is     ",
7732 +"\6 searching for that page. If it's      ",
7733 +"\6 green, it's the PN of the currently   ",
7734 +"\6 displayed page.                       ",
7735 +"\24 pppppppppppppppppppppppppppppppppppp ",
7736 +"                                         ",
7737 +"                                         ",
7738 +"\4\35\7Back 904     Index 900     Next 906 \34",
7739 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7740 diff -r af23d23c278b util/alevt/vt906.out
7741 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7742 +++ b/util/alevt/vt906.out      Tue Dec 21 12:13:28 2010 +0100
7743 @@ -0,0 +1,29 @@
7744 +#ifndef HELP_HEADER
7745 +"        \6AleVT Online Help System       ",
7746 +"  \22`p0`0    p `0pppp                   ",
7747 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7748 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7749 +"  \22# #\42!\42#   \42   \42!            ",
7750 +#else
7751 +HELP_HEADER
7752 +#endif
7753 +"                                         ",
7754 +"\6\15Status Line:           \14\5\30     ",
7755 +"\6\15Status Line:           \14\5\30     ",
7756 +"\24 #################################### ",
7757 +"\6 An\2H\6behind the CPN indicates that  ",
7758 +"\6 the page is on hold. This inhibits    ",
7759 +"\6 subpage cycling and page updates. A   ",
7760 +"\6 click on the CPN toggles the\2H\6flag.",
7761 +"                                         ",
7762 +"\6 A\5*\6indicates that the page         ",
7763 +"\6 contains concealed text. Clicking on  ",
7764 +"\6 the\5*\6reveals that text.            ",
7765 +"                                         ",
7766 +"\6 A CPN in the form\2Sxx\6is shown if a ",
7767 +"\6 specific subpage is selected.         ",
7768 +"\24 pppppppppppppppppppppppppppppppppppp ",
7769 +"                                         ",
7770 +"                                         ",
7771 +"\4\35\7Back 905     Index 900     Next 907 \34",
7772 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7773 diff -r af23d23c278b util/alevt/vt907.out
7774 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7775 +++ b/util/alevt/vt907.out      Tue Dec 21 12:13:28 2010 +0100
7776 @@ -0,0 +1,29 @@
7777 +#ifndef HELP_HEADER
7778 +"        \6AleVT Online Help System        ",
7779 +"  \22`p0`0    p `0pppp                    ",
7780 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7781 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7782 +"  \22# #\42!\42#   \42   \42!             ",
7783 +#else
7784 +HELP_HEADER
7785 +#endif
7786 +"                                          ",
7787 +"\6\15Selecting Pages:                     ",
7788 +"\6\15Selecting Pages:                     ",
7789 +"\24 ####################################  ",
7790 +"\6 To select a specific page, you may     ",
7791 +"\6 either enter the page number with      ",
7792 +"\6 the keyboard or click with the\7left   ",
7793 +"\6 mouse button on a page number          ",
7794 +"\6 somewhere on the screen.               ",
7795 +"\6                                        ",
7796 +"\6 Clicking with the\7middle\6button will ",
7797 +"\6 show the page in a child window. If    ",
7798 +"\6 there is no child window, a new one    ",
7799 +"\6 will be opened.                        ",
7800 +"\6                                        ",
7801 +"\24 pppppppppppppppppppppppppppppppppppp  ",
7802 +"                                          ",
7803 +"                                          ",
7804 +"\4\35\7Back 906     Index 900     Next 908 \34",
7805 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7806 diff -r af23d23c278b util/alevt/vt908.out
7807 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7808 +++ b/util/alevt/vt908.out      Tue Dec 21 12:13:28 2010 +0100
7809 @@ -0,0 +1,29 @@
7810 +#ifndef HELP_HEADER
7811 +"        \6AleVT Online Help System        ",
7812 +"  \22`p0`0    p `0pppp                    ",
7813 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7814 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7815 +"  \22# #\42!\42#   \42   \42!             ",
7816 +#else
7817 +HELP_HEADER
7818 +#endif
7819 +"                                          ",
7820 +"\6\15Selecting Pages:                     ",
7821 +"\6\15Selecting Pages:                     ",
7822 +"\24 ####################################  ",
7823 +"\6 AleVT also recognizes something like   ",
7824 +"\3 3/7\6as a valid page number. Clicking  ",
7825 +"\6 with the\7left\6button will cycle to   ",
7826 +"\6 the next subpage of the current page.  ",
7827 +"\6 The\7middle\6buttons cycles backwards. ",
7828 +"\6                                        ",
7829 +"\6 For each window a history of           ",
7830 +"\6 recently visited pages is kept.        ",
7831 +"\6 Pressing the\7right\6mouse button will ",
7832 +"\6 take you back to the previous page.    ",
7833 +"\6                                        ",
7834 +"\24 pppppppppppppppppppppppppppppppppppp  ",
7835 +"                                          ",
7836 +"                                          ",
7837 +"\4\35\7Back 907     Index 900     Next 909 \34",
7838 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7839 diff -r af23d23c278b util/alevt/vt909.out
7840 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7841 +++ b/util/alevt/vt909.out      Tue Dec 21 12:13:28 2010 +0100
7842 @@ -0,0 +1,29 @@
7843 +#ifndef HELP_HEADER
7844 +"        \6AleVT Online Help System       ",
7845 +"  \22`p0`0    p `0pppp                   ",
7846 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7847 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7848 +"  \22# #\42!\42#   \42   \42!            ",
7849 +#else
7850 +HELP_HEADER
7851 +#endif
7852 +"                                         ",
7853 +"\6\15FastText Menu:                      ",
7854 +"\6\15FastText Menu:                      ",
7855 +"\24 #################################### ",
7856 +"\6 The last line of each window shows    ",
7857 +"\6 the FastText Menu (only if one is     ",
7858 +"\6 transmitted for that page).           ",
7859 +"\6                                       ",
7860 +"\6 It consists of up to four colored     ",
7861 +"\6 labels. You may click on a label      ",
7862 +"\6 or press one of the function keys     ",
7863 +"\6 F1-F4 to go to the associated page.   ",
7864 +"\6                                       ",
7865 +"\6 For the 5th (white) key present on    ",
7866 +"\6 some remote controls press F5.        ",
7867 +"\24 pppppppppppppppppppppppppppppppppppp ",
7868 +"                                         ",
7869 +"                                         ",
7870 +"\4\35\7Back 908     Index 900     Next 910 \34",
7871 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7872 diff -r af23d23c278b util/alevt/vt910.out
7873 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7874 +++ b/util/alevt/vt910.out      Tue Dec 21 12:13:28 2010 +0100
7875 @@ -0,0 +1,29 @@
7876 +#ifndef HELP_HEADER
7877 +"        \6AleVT Online Help System       ",
7878 +"  \22`p0`0    p `0pppp                   ",
7879 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
7880 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
7881 +"  \22# #\42!\42#   \42   \42!            ",
7882 +#else
7883 +HELP_HEADER
7884 +#endif
7885 +"                                         ",
7886 +"\6\15Keyboard Commands:                  ",
7887 +"\6\15Keyboard Commands:                  ",
7888 +"\24 #################################### ",
7889 +"  0\6-\0079    \6Enter page number       ",
7890 +"  q\6or\7ESC \6Close window              ",
7891 +"  h        \6Goto page 900 (help page)   ",
7892 +"  i        \6Goto page 100 (index page)  ",
7893 +"  o        \6Open a new window           ",
7894 +"  SPACE    \6Hold page                   ",
7895 +"  RIGHT    \6Goto next page              ",
7896 +"  LEFT     \6Goto previous page          ",
7897 +"  DOWN     \6Goto next subpage           ",
7898 +"  UP       \6Goto previous subpage       ",
7899 +"  BACKSPACE\6Previous page from history  ",
7900 +"\24 pppppppppppppppppppppppppppppppppppp ",
7901 +"                                         ",
7902 +"                                         ",
7903 +"\4\35\7Back 909     Index 900     Next 911 \34",
7904 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7905 diff -r af23d23c278b util/alevt/vt911.out
7906 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7907 +++ b/util/alevt/vt911.out      Tue Dec 21 12:13:28 2010 +0100
7908 @@ -0,0 +1,29 @@
7909 +#ifndef HELP_HEADER
7910 +"        \6AleVT Online Help System        ",
7911 +"  \22`p0`0    p `0pppp                    ",
7912 +"\4\35\22\177 \177j5`p  \177 j5 j5        \7   Version \34",
7913 +"\4\35\22\177,\177j5\177.! +t>! j5        \007 1.7.0   \34",
7914 +"  \22# #\42!\42#   \42   \42!             ",
7915 +#else
7916 +HELP_HEADER
7917 +#endif
7918 +"                                          ",
7919 +"\6\15Keyboard Commands:                   ",
7920 +"\6\15Keyboard Commands:                   ",
7921 +"\24 ####################################  ",
7922 +"  s        \6Save page to file            ",
7923 +"  c        \6Clear page cache             ",
7924 +"  r        \6Reveal concealed text        ",
7925 +"  F1\6-\7F5  \6FastText keys              ",
7926 +"  /\6and\7?  \6Search forward/backward    ",
7927 +"  n\6and\7N  \6Search next/previous       ",
7928 +"  f\6and\7F  \6Fine tune the decoder      ",
7929 +"  e        \6Error reduction on/off       ",
7930 +"  b        \6Error bell on/off            ",
7931 +"\6 Holding the\7shift\6key while pressing ",
7932 +"\6 one of the\7cursor\6keys allows        ",
7933 +"\6 selecting the 'hex' pages (Ex.: 1f1).  ",
7934 +"\24 pppppppppppppppppppppppppppppppppppp  ",
7935 +"                                          ",
7936 +"\4\35\7Back 910     Index 900     Next 912 \34",
7937 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7938 diff -r af23d23c278b util/alevt/vt912.out
7939 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7940 +++ b/util/alevt/vt912.out      Tue Dec 21 12:13:28 2010 +0100
7941 @@ -0,0 +1,29 @@
7942 +#ifndef HELP_HEADER
7943 +"        \6AleVT Online Help System         ",
7944 +"  \22`p0`0    p `0pppp                     ",
7945 +"\4\35\22\177 \177j5`p  \177 j5 j5        \7   Version \34",
7946 +"\4\35\22\177,\177j5\177.! +t>! j5        \7     1.7.0 \34",
7947 +"  \22# #\42!\42#   \42   \42!              ",
7948 +#else
7949 +HELP_HEADER
7950 +#endif
7951 +"                                           ",
7952 +"\6\15Starting alevt-cap:                   ",
7953 +"\6\15Starting alevt-cap:                   ",
7954 +"\24 ####################################   ",
7955 +"\6 $\7alevt-cap\6[options]   Default:      ",
7956 +"                                           ",
7957 +"   -cs -charset          \6latin-1         ",
7958 +"   \6<latin-1/2/koi8-r/                    ",
7959 +"   \6iso8859-7>                            ",
7960 +"   -f -format            \6ascii           ",
7961 +"   \6<fmt,options>                         ",
7962 +"   -f help -format help                    ",
7963 +"   -h -help                                ",
7964 +"   -n -name \6<filename>   ttext-%s.%e     ",
7965 +"                                           ",
7966 +"\24 pppppppppppppppppppppppppppppppppppp   ",
7967 +"                                           ",
7968 +"                                           ",
7969 +"\4\35\7Back 911     Index 900     Next 913 \34",
7970 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
7971 diff -r af23d23c278b util/alevt/vt913.out
7972 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
7973 +++ b/util/alevt/vt913.out      Tue Dec 21 12:13:28 2010 +0100
7974 @@ -0,0 +1,29 @@
7975 +#ifndef HELP_HEADER
7976 +"        \6AleVT Online Help System         ",
7977 +"  \22`p0`0    p `0pppp                     ",
7978 +"\4\35\22\177 \177j5`p  \177 j5 j5        \7   Version \34",
7979 +"\4\35\22\177,\177j5\177.! +t>! j5        \7     1.7.0 \34",
7980 +"  \22# #\42!\42#   \42   \42!              ",
7981 +#else
7982 +HELP_HEADER
7983 +#endif
7984 +"                                           ",
7985 +"\6\15Starting alevt-cap:                   ",
7986 +"\6\15Starting alevt-cap:                   ",
7987 +"\24 ####################################   ",
7988 +"\6 $\7alevt-cap\6[options] Default:        ",
7989 +"                                           ",
7990 +"    -s -sid\6<sid>       (none;dvb only)   ",
7991 +"    -t -ttpid\6<ttpid>   (none;dvb only)   ",
7992 +"    -to -timeout\6<secs> (none)            ",
7993 +"    -v -vbi\6<vbidev>    /dev/vbi          ",
7994 +"                       \6/dev/vbi0         ",
7995 +"                       \6/dev/video0       ",
7996 +"          \6/dev/dvb/adapter0/demux0       ",
7997 +"                                           ",
7998 +"                                           ",
7999 +"\24 pppppppppppppppppppppppppppppppppppp   ",
8000 +"                                           ",
8001 +"                                           ",
8002 +"\4\35\7Back 912     Index 900     Next 914 \34",
8003 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
8004 diff -r af23d23c278b util/alevt/vt914.out
8005 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
8006 +++ b/util/alevt/vt914.out      Tue Dec 21 12:13:28 2010 +0100
8007 @@ -0,0 +1,29 @@
8008 +#ifndef HELP_HEADER
8009 +"        \6AleVT Online Help System         ",
8010 +"  \22`p0`0    p `0pppp                     ",
8011 +"\4\35\22\177 \177j5`p  \177 j5 j5        \7   Version \34",
8012 +"\4\35\22\177,\177j5\177.! +t>! j5        \7     1.7.0 \34",
8013 +"  \22# #\42!\42#   \42   \42!              ",
8014 +#else
8015 +HELP_HEADER
8016 +#endif
8017 +"                                           ",
8018 +"\6\15Starting alevt-date:                  ",
8019 +"\6\15Starting alevt-date:                  ",
8020 +"\24 ####################################   ",
8021 +"\6 $\7alevt-date\6[options]  Default:      ",
8022 +"                                           ",
8023 +"    -d -delta\6<max_secs>  7200 (2 hours)  ",
8024 +"    -f -format\6<fmtstr>   %c              ",
8025 +"    -h -help                               ",
8026 +"    -s -set              \6off             ",
8027 +"    -to -timeout\6<seconds>(none)          ",
8028 +"    -v -vbi\6<vbidev>      /dev/vbi        ",
8029 +"                         \6/dev/vbi0       ",
8030 +"                         \6/dev/video0     ",
8031 +"            \6/dev/dvb/adapter0/demux0     ",
8032 +"\24 pppppppppppppppppppppppppppppppppppp   ",
8033 +"                                           ",
8034 +"                                           ",
8035 +"\4\35\7Back 913     Index 900     Next 915 \34",
8036 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
8037 diff -r af23d23c278b util/alevt/vt915.out
8038 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
8039 +++ b/util/alevt/vt915.out      Tue Dec 21 12:13:28 2010 +0100
8040 @@ -0,0 +1,29 @@
8041 +#ifndef HELP_HEADER
8042 +"        \6AleVT Online Help System       ",
8043 +"  \22`p0`0    p `0pppp                   ",
8044 +"\4\35\22\177 \177j5`p  \177 j5 j5           \7Version \34",
8045 +"\4\35\22\177,\177j5\177.! +t>! j5           \7  1.7.0 \34",
8046 +"  \22# #\42!\42#   \42   \42!            ",
8047 +#else
8048 +HELP_HEADER
8049 +#endif
8050 +"                                         ",
8051 +"\6\15QuickClick:                         ",
8052 +"\6\15QuickClick:                         ",
8053 +"\24 #################################### ",
8054 +"\6   100 200 300 400 500 600 700 800     ",
8055 +"\6   101 201 301 401 501 601 701 801     ",
8056 +"\6   110 210 310 410 510 610 710 810     ",
8057 +"\6   120\006220 320 420 520 620 720 820  ",
8058 +"\6   130 230 330 430 530 630 730 830     ",
8059 +"\6   140\006240 340 440 540 640 740 840  ",
8060 +"\6   150 250 350 450 550 650 750 850     ",
8061 +"\6   160\006260 360 460 560 660 760 860  ",
8062 +"\6   170 270 370 470 570 670 770 870     ",
8063 +"\6   180\006280 380 480 580 680 780 880  ",
8064 +"\6   190 290 390 490 590 690 790 890     ",
8065 +"\24 pppppppppppppppppppppppppppppppppppp ",
8066 +"                                         ",
8067 +"                                         ",
8068 +"\4\35\7             Index 900              \34",
8069 +"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34",
8070 diff -r af23d23c278b util/alevt/vtxt-iso8859-7.bdf
8071 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
8072 +++ b/util/alevt/vtxt-iso8859-7.bdf     Tue Dec 21 12:13:28 2010 +0100
8073 @@ -0,0 +1,5768 @@
8074 +STARTFONT 2.1
8075 +FONT -alevt-teletext-medium-r-normal--16-1-75-75-c-90-fontspecific-1
8076 +SIZE 1 75 75
8077 +FONTBOUNDINGBOX 9 16 0 -4
8078 +STARTPROPERTIES 10
8079 +POINT_SIZE 1
8080 +PIXEL_SIZE 16
8081 +RESOLUTION_X 75
8082 +RESOLUTION_Y 75
8083 +FONT_ASCENT 12
8084 +FONT_DESCENT 4
8085 +AVERAGE_WIDTH 90
8086 +SPACING "C"
8087 +_XMBDFED_INFO "Edited with xmbdfed 4.5."
8088 +FONT "vtxt"
8089 +ENDPROPERTIES
8090 +CHARS 250
8091 +STARTCHAR char0
8092 +ENCODING 0
8093 +SWIDTH 8640 0
8094 +DWIDTH 9 0
8095 +BBX 9 16 0 -4
8096 +BITMAP
8097 +0000
8098 +0000
8099 +0000
8100 +0000
8101 +0000
8102 +0000
8103 +0000
8104 +0000
8105 +0000
8106 +0000
8107 +0000
8108 +0000
8109 +0000
8110 +0000
8111 +0000
8112 +0000
8113 +ENDCHAR
8114 +STARTCHAR char1
8115 +ENCODING 1
8116 +SWIDTH 8640 0
8117 +DWIDTH 9 0
8118 +BBX 9 16 0 -4
8119 +BITMAP
8120 +F000
8121 +F000
8122 +F000
8123 +F000
8124 +F000
8125 +0000
8126 +0000
8127 +0000
8128 +0000
8129 +0000
8130 +0000
8131 +0000
8132 +0000
8133 +0000
8134 +0000
8135 +0000
8136 +ENDCHAR
8137 +STARTCHAR char2
8138 +ENCODING 2
8139 +SWIDTH 8640 0
8140 +DWIDTH 9 0
8141 +BBX 9 16 0 -4
8142 +BITMAP
8143 +0F80
8144 +0F80
8145 +0F80
8146 +0F80
8147 +0F80
8148 +0000
8149 +0000
8150 +0000
8151 +0000
8152 +0000
8153 +0000
8154 +0000
8155 +0000
8156 +0000
8157 +0000
8158 +0000
8159 +ENDCHAR
8160 +STARTCHAR char1
8161 +ENCODING 3
8162 +SWIDTH 8640 0
8163 +DWIDTH 9 0
8164 +BBX 9 16 0 -4
8165 +BITMAP
8166 +FF80
8167 +FF80
8168 +FF80
8169 +FF80
8170 +FF80
8171 +0000
8172 +0000
8173 +0000
8174 +0000
8175 +0000
8176 +0000
8177 +0000
8178 +0000
8179 +0000
8180 +0000
8181 +0000
8182 +ENDCHAR
8183 +STARTCHAR char0
8184 +ENCODING 4
8185 +SWIDTH 8640 0
8186 +DWIDTH 9 0
8187 +BBX 9 16 0 -4
8188 +BITMAP
8189 +0000
8190 +0000
8191 +0000
8192 +0000
8193 +0000
8194 +F000
8195 +F000
8196 +F000
8197 +F000
8198 +F000
8199 +F000
8200 +0000
8201 +0000
8202 +0000
8203 +0000
8204 +0000
8205 +ENDCHAR
8206 +STARTCHAR char1
8207 +ENCODING 5
8208 +SWIDTH 8640 0
8209 +DWIDTH 9 0
8210 +BBX 9 16 0 -4
8211 +BITMAP
8212 +F000
8213 +F000
8214 +F000
8215 +F000
8216 +F000
8217 +F000
8218 +F000
8219 +F000
8220 +F000
8221 +F000
8222 +F000
8223 +0000
8224 +0000
8225 +0000
8226 +0000
8227 +0000
8228 +ENDCHAR
8229 +STARTCHAR char2
8230 +ENCODING 6
8231 +SWIDTH 8640 0
8232 +DWIDTH 9 0
8233 +BBX 9 16 0 -4
8234 +BITMAP
8235 +0F80
8236 +0F80
8237 +0F80
8238 +0F80
8239 +0F80
8240 +F000
8241 +F000
8242 +F000
8243 +F000
8244 +F000
8245 +F000
8246 +0000
8247 +0000
8248 +0000
8249 +0000
8250 +0000
8251 +ENDCHAR
8252 +STARTCHAR char1
8253 +ENCODING 7
8254 +SWIDTH 8640 0
8255 +DWIDTH 9 0
8256 +BBX 9 16 0 -4
8257 +BITMAP
8258 +FF80
8259 +FF80
8260 +FF80
8261 +FF80
8262 +FF80
8263 +F000
8264 +F000
8265 +F000
8266 +F000
8267 +F000
8268 +F000
8269 +0000
8270 +0000
8271 +0000
8272 +0000
8273 +0000
8274 +ENDCHAR
8275 +STARTCHAR char0
8276 +ENCODING 8
8277 +SWIDTH 8640 0
8278 +DWIDTH 9 0
8279 +BBX 9 16 0 -4
8280 +BITMAP
8281 +0000
8282 +0000
8283 +0000
8284 +0000
8285 +0000
8286 +0F80
8287 +0F80
8288 +0F80
8289 +0F80
8290 +0F80
8291 +0F80
8292 +0000
8293 +0000
8294 +0000
8295 +0000
8296 +0000
8297 +ENDCHAR
8298 +STARTCHAR char1
8299 +ENCODING 9
8300 +SWIDTH 8640 0
8301 +DWIDTH 9 0
8302 +BBX 9 16 0 -4
8303 +BITMAP
8304 +F000
8305 +F000
8306 +F000
8307 +F000
8308 +F000
8309 +0F80
8310 +0F80
8311 +0F80
8312 +0F80
8313 +0F80
8314 +0F80
8315 +0000
8316 +0000
8317 +0000
8318 +0000
8319 +0000
8320 +ENDCHAR
8321 +STARTCHAR char2
8322 +ENCODING 10
8323 +SWIDTH 8640 0
8324 +DWIDTH 9 0
8325 +BBX 9 16 0 -4
8326 +BITMAP
8327 +0F80
8328 +0F80
8329 +0F80
8330 +0F80
8331 +0F80
8332 +0F80
8333 +0F80
8334 +0F80
8335 +0F80
8336 +0F80
8337 +0F80
8338 +0000
8339 +0000
8340 +0000
8341 +0000
8342 +0000
8343 +ENDCHAR
8344 +STARTCHAR char1
8345 +ENCODING 11
8346 +SWIDTH 8640 0
8347 +DWIDTH 9 0
8348 +BBX 9 16 0 -4
8349 +BITMAP
8350 +FF80
8351 +FF80
8352 +FF80
8353 +FF80
8354 +FF80
8355 +0F80
8356 +0F80
8357 +0F80
8358 +0F80
8359 +0F80
8360 +0F80
8361 +0000
8362 +0000
8363 +0000
8364 +0000
8365 +0000
8366 +ENDCHAR
8367 +STARTCHAR char0
8368 +ENCODING 12
8369 +SWIDTH 8640 0
8370 +DWIDTH 9 0
8371 +BBX 9 16 0 -4
8372 +BITMAP
8373 +0000
8374 +0000
8375 +0000
8376 +0000
8377 +0000
8378 +FF80
8379 +FF80
8380 +FF80
8381 +FF80
8382 +FF80
8383 +FF80
8384 +0000
8385 +0000
8386 +0000
8387 +0000
8388 +0000
8389 +ENDCHAR
8390 +STARTCHAR char1
8391 +ENCODING 13
8392 +SWIDTH 8640 0
8393 +DWIDTH 9 0
8394 +BBX 9 16 0 -4
8395 +BITMAP
8396 +F000
8397 +F000
8398 +F000
8399 +F000
8400 +F000
8401 +FF80
8402 +FF80
8403 +FF80
8404 +FF80
8405 +FF80
8406 +FF80
8407 +0000
8408 +0000
8409 +0000
8410 +0000
8411 +0000
8412 +ENDCHAR
8413 +STARTCHAR char2
8414 +ENCODING 14
8415 +SWIDTH 8640 0
8416 +DWIDTH 9 0
8417 +BBX 9 16 0 -4
8418 +BITMAP
8419 +0F80
8420 +0F80
8421 +0F80
8422 +0F80
8423 +0F80
8424 +FF80
8425 +FF80
8426 +FF80
8427 +FF80
8428 +FF80
8429 +FF80
8430 +0000
8431 +0000
8432 +0000
8433 +0000
8434 +0000
8435 +ENDCHAR
8436 +STARTCHAR char1
8437 +ENCODING 15
8438 +SWIDTH 8640 0
8439 +DWIDTH 9 0
8440 +BBX 9 16 0 -4
8441 +BITMAP
8442 +FF80
8443 +FF80
8444 +FF80
8445 +FF80
8446 +FF80
8447 +FF80
8448 +FF80
8449 +FF80
8450 +FF80
8451 +FF80
8452 +FF80
8453 +0000
8454 +0000
8455 +0000
8456 +0000
8457 +0000
8458 +ENDCHAR
8459 +STARTCHAR char0
8460 +ENCODING 16
8461 +SWIDTH 8640 0
8462 +DWIDTH 9 0
8463 +BBX 9 16 0 -4
8464 +BITMAP
8465 +0000
8466 +0000
8467 +0000
8468 +0000
8469 +0000
8470 +0000
8471 +0000
8472 +0000
8473 +0000
8474 +0000
8475 +0000
8476 +F000
8477 +F000
8478 +F000
8479 +0000
8480 +0000
8481 +ENDCHAR
8482 +STARTCHAR char1
8483 +ENCODING 17
8484 +SWIDTH 8640 0
8485 +DWIDTH 9 0
8486 +BBX 9 16 0 -4
8487 +BITMAP
8488 +F000
8489 +F000
8490 +F000
8491 +F000
8492 +F000
8493 +0000
8494 +0000
8495 +0000
8496 +0000
8497 +0000
8498 +0000
8499 +F000
8500 +F000
8501 +F000
8502 +0000
8503 +0000
8504 +ENDCHAR
8505 +STARTCHAR char2
8506 +ENCODING 18
8507 +SWIDTH 8640 0
8508 +DWIDTH 9 0
8509 +BBX 9 16 0 -4
8510 +BITMAP
8511 +0F80
8512 +0F80
8513 +0F80
8514 +0F80
8515 +0F80
8516 +0000
8517 +0000
8518 +0000
8519 +0000
8520 +0000
8521 +0000
8522 +F000
8523 +F000
8524 +F000
8525 +0000
8526 +0000
8527 +ENDCHAR
8528 +STARTCHAR char1
8529 +ENCODING 19
8530 +SWIDTH 8640 0
8531 +DWIDTH 9 0
8532 +BBX 9 16 0 -4
8533 +BITMAP
8534 +FF80
8535 +FF80
8536 +FF80
8537 +FF80
8538 +FF80
8539 +0000
8540 +0000
8541 +0000
8542 +0000
8543 +0000
8544 +0000
8545 +F000
8546 +F000
8547 +F000
8548 +0000
8549 +0000
8550 +ENDCHAR
8551 +STARTCHAR char0
8552 +ENCODING 20
8553 +SWIDTH 8640 0
8554 +DWIDTH 9 0
8555 +BBX 9 16 0 -4
8556 +BITMAP
8557 +0000
8558 +0000
8559 +0000
8560 +0000
8561 +0000
8562 +F000
8563 +F000
8564 +F000
8565 +F000
8566 +F000
8567 +F000
8568 +F000
8569 +F000
8570 +F000
8571 +0000
8572 +0000
8573 +ENDCHAR
8574 +STARTCHAR char1
8575 +ENCODING 21
8576 +SWIDTH 8640 0
8577 +DWIDTH 9 0
8578 +BBX 9 16 0 -4
8579 +BITMAP
8580 +F000
8581 +F000
8582 +F000
8583 +F000
8584 +F000
8585 +F000
8586 +F000
8587 +F000
8588 +F000
8589 +F000
8590 +F000
8591 +F000
8592 +F000
8593 +F000
8594 +0000
8595 +0000
8596 +ENDCHAR
8597 +STARTCHAR char2
8598 +ENCODING 22
8599 +SWIDTH 8640 0
8600 +DWIDTH 9 0
8601 +BBX 9 16 0 -4
8602 +BITMAP
8603 +0F80
8604 +0F80
8605 +0F80
8606 +0F80
8607 +0F80
8608 +F000
8609 +F000
8610 +F000
8611 +F000
8612 +F000
8613 +F000
8614 +F000
8615 +F000
8616 +F000
8617 +0000
8618 +0000
8619 +ENDCHAR
8620 +STARTCHAR char1
8621 +ENCODING 23
8622 +SWIDTH 8640 0
8623 +DWIDTH 9 0
8624 +BBX 9 16 0 -4
8625 +BITMAP
8626 +FF80
8627 +FF80
8628 +FF80
8629 +FF80
8630 +FF80
8631 +F000
8632 +F000
8633 +F000
8634 +F000
8635 +F000
8636 +F000
8637 +F000
8638 +F000
8639 +F000
8640 +0000
8641 +0000
8642 +ENDCHAR
8643 +STARTCHAR char0
8644 +ENCODING 24
8645 +SWIDTH 8640 0
8646 +DWIDTH 9 0
8647 +BBX 9 16 0 -4
8648 +BITMAP
8649 +0000
8650 +0000
8651 +0000
8652 +0000
8653 +0000
8654 +0F80
8655 +0F80
8656 +0F80
8657 +0F80
8658 +0F80
8659 +0F80
8660 +F000
8661 +F000
8662 +F000
8663 +0000
8664 +0000
8665 +ENDCHAR
8666 +STARTCHAR char1
8667 +ENCODING 25
8668 +SWIDTH 8640 0
8669 +DWIDTH 9 0
8670 +BBX 9 16 0 -4
8671 +BITMAP
8672 +F000
8673 +F000
8674 +F000
8675 +F000
8676 +F000
8677 +0F80
8678 +0F80
8679 +0F80
8680 +0F80
8681 +0F80
8682 +0F80
8683 +F000
8684 +F000
8685 +F000
8686 +0000
8687 +0000
8688 +ENDCHAR
8689 +STARTCHAR char2
8690 +ENCODING 26
8691 +SWIDTH 8640 0
8692 +DWIDTH 9 0
8693 +BBX 9 16 0 -4
8694 +BITMAP
8695 +0F80
8696 +0F80
8697 +0F80
8698 +0F80
8699 +0F80
8700 +0F80
8701 +0F80
8702 +0F80
8703 +0F80
8704 +0F80
8705 +0F80
8706 +F000
8707 +F000
8708 +F000
8709 +0000
8710 +0000
8711 +ENDCHAR
8712 +STARTCHAR char1
8713 +ENCODING 27
8714 +SWIDTH 8640 0
8715 +DWIDTH 9 0
8716 +BBX 9 16 0 -4
8717 +BITMAP
8718 +FF80
8719 +FF80
8720 +FF80
8721 +FF80
8722 +FF80
8723 +0F80
8724 +0F80
8725 +0F80
8726 +0F80
8727 +0F80
8728 +0F80
8729 +F000
8730 +F000
8731 +F000
8732 +0000
8733 +0000
8734 +ENDCHAR
8735 +STARTCHAR char0
8736 +ENCODING 28
8737 +SWIDTH 8640 0
8738 +DWIDTH 9 0
8739 +BBX 9 16 0 -4
8740 +BITMAP
8741 +0000
8742 +0000
8743 +0000
8744 +0000
8745 +0000
8746 +FF80
8747 +FF80
8748 +FF80
8749 +FF80
8750 +FF80
8751 +FF80
8752 +F000
8753 +F000
8754 +F000
8755 +0000
8756 +0000
8757 +ENDCHAR
8758 +STARTCHAR char1
8759 +ENCODING 29
8760 +SWIDTH 8640 0
8761 +DWIDTH 9 0
8762 +BBX 9 16 0 -4
8763 +BITMAP
8764 +F000
8765 +F000
8766 +F000
8767 +F000
8768 +F000
8769 +FF80
8770 +FF80
8771 +FF80
8772 +FF80
8773 +FF80
8774 +FF80
8775 +F000
8776 +F000
8777 +F000
8778 +0000
8779 +0000
8780 +ENDCHAR
8781 +STARTCHAR char2
8782 +ENCODING 30
8783 +SWIDTH 8640 0
8784 +DWIDTH 9 0
8785 +BBX 9 16 0 -4
8786 +BITMAP
8787 +0F80
8788 +0F80
8789 +0F80
8790 +0F80
8791 +0F80
8792 +FF80
8793 +FF80
8794 +FF80
8795 +FF80
8796 +FF80
8797 +FF80
8798 +F000
8799 +F000
8800 +F000
8801 +0000
8802 +0000
8803 +ENDCHAR
8804 +STARTCHAR char1
8805 +ENCODING 31
8806 +SWIDTH 8640 0
8807 +DWIDTH 9 0
8808 +BBX 9 16 0 -4
8809 +BITMAP
8810 +FF80
8811 +FF80
8812 +FF80
8813 +FF80
8814 +FF80
8815 +FF80
8816 +FF80
8817 +FF80
8818 +FF80
8819 +FF80
8820 +FF80
8821 +F000
8822 +F000
8823 +F000
8824 +0000
8825 +0000
8826 +ENDCHAR
8827 +STARTCHAR char32
8828 +ENCODING 32
8829 +SWIDTH 8640 0
8830 +DWIDTH 9 0
8831 +BBX 9 16 0 -4
8832 +BITMAP
8833 +0000
8834 +0000
8835 +0000
8836 +0000
8837 +0000
8838 +0000
8839 +0000
8840 +0000
8841 +0000
8842 +0000
8843 +0000
8844 +0000
8845 +0000
8846 +0000
8847 +0000
8848 +0000
8849 +ENDCHAR
8850 +STARTCHAR char33
8851 +ENCODING 33
8852 +SWIDTH 8640 0
8853 +DWIDTH 9 0
8854 +BBX 9 16 0 -4
8855 +BITMAP
8856 +0000
8857 +0000
8858 +1800
8859 +3C00
8860 +3C00
8861 +3C00
8862 +1800
8863 +1800
8864 +1800
8865 +0000
8866 +1800
8867 +1800
8868 +0000
8869 +0000
8870 +0000
8871 +0000
8872 +ENDCHAR
8873 +STARTCHAR char34
8874 +ENCODING 34
8875 +SWIDTH 8640 0
8876 +DWIDTH 9 0
8877 +BBX 9 16 0 -4
8878 +BITMAP
8879 +0000
8880 +6600
8881 +6600
8882 +6600
8883 +2400
8884 +0000
8885 +0000
8886 +0000
8887 +0000
8888 +0000
8889 +0000
8890 +0000
8891 +0000
8892 +0000
8893 +0000
8894 +0000
8895 +ENDCHAR
8896 +STARTCHAR char35
8897 +ENCODING 35
8898 +SWIDTH 8640 0
8899 +DWIDTH 9 0
8900 +BBX 9 16 0 -4
8901 +BITMAP
8902 +0000
8903 +0000
8904 +0000
8905 +3600
8906 +3600
8907 +7F00
8908 +3600
8909 +3600
8910 +3600
8911 +7F00
8912 +3600
8913 +3600
8914 +0000
8915 +0000
8916 +0000
8917 +0000
8918 +ENDCHAR
8919 +STARTCHAR char36
8920 +ENCODING 36
8921 +SWIDTH 8640 0
8922 +DWIDTH 9 0
8923 +BBX 9 16 0 -4
8924 +BITMAP
8925 +0C00
8926 +0C00
8927 +3E00
8928 +6300
8929 +6100
8930 +6000
8931 +3E00
8932 +0300
8933 +0300
8934 +4300
8935 +6300
8936 +3E00
8937 +0C00
8938 +0C00
8939 +0000
8940 +0000
8941 +ENDCHAR
8942 +STARTCHAR char37
8943 +ENCODING 37
8944 +SWIDTH 8640 0
8945 +DWIDTH 9 0
8946 +BBX 9 16 0 -4
8947 +BITMAP
8948 +0000
8949 +0000
8950 +0000
8951 +0000
8952 +6100
8953 +6300
8954 +0600
8955 +0C00
8956 +1800
8957 +3000
8958 +6300
8959 +4300
8960 +0000
8961 +0000
8962 +0000
8963 +0000
8964 +ENDCHAR
8965 +STARTCHAR char38
8966 +ENCODING 38
8967 +SWIDTH 8640 0
8968 +DWIDTH 9 0
8969 +BBX 9 16 0 -4
8970 +BITMAP
8971 +0000
8972 +0000
8973 +1C00
8974 +3600
8975 +3600
8976 +1C00
8977 +3B00
8978 +6E00
8979 +6600
8980 +6600
8981 +6600
8982 +3B00
8983 +0000
8984 +0000
8985 +0000
8986 +0000
8987 +ENDCHAR
8988 +STARTCHAR char39
8989 +ENCODING 39
8990 +SWIDTH 8640 0
8991 +DWIDTH 9 0
8992 +BBX 9 16 0 -4
8993 +BITMAP
8994 +0000
8995 +3000
8996 +3000
8997 +3000
8998 +6000
8999 +0000
9000 +0000
9001 +0000
9002 +0000
9003 +0000
9004 +0000
9005 +0000
9006 +0000
9007 +0000
9008 +0000
9009 +0000
9010 +ENDCHAR
9011 +STARTCHAR char40
9012 +ENCODING 40
9013 +SWIDTH 8640 0
9014 +DWIDTH 9 0
9015 +BBX 9 16 0 -4
9016 +BITMAP
9017 +0000
9018 +0000
9019 +0C00
9020 +1800
9021 +3000
9022 +3000
9023 +3000
9024 +3000
9025 +3000
9026 +3000
9027 +1800
9028 +0C00
9029 +0000
9030 +0000
9031 +0000
9032 +0000
9033 +ENDCHAR
9034 +STARTCHAR char41
9035 +ENCODING 41
9036 +SWIDTH 8640 0
9037 +DWIDTH 9 0
9038 +BBX 9 16 0 -4
9039 +BITMAP
9040 +0000
9041 +0000
9042 +3000
9043 +1800
9044 +0C00
9045 +0C00
9046 +0C00
9047 +0C00
9048 +0C00
9049 +0C00
9050 +1800
9051 +3000
9052 +0000
9053 +0000
9054 +0000
9055 +0000
9056 +ENDCHAR
9057 +STARTCHAR char42
9058 +ENCODING 42
9059 +SWIDTH 8640 0
9060 +DWIDTH 9 0
9061 +BBX 9 16 0 -4
9062 +BITMAP
9063 +0000
9064 +0000
9065 +0000
9066 +0000
9067 +0000
9068 +6600
9069 +3C00
9070 +FF00
9071 +3C00
9072 +6600
9073 +0000
9074 +0000
9075 +0000
9076 +0000
9077 +0000
9078 +0000
9079 +ENDCHAR
9080 +STARTCHAR char43
9081 +ENCODING 43
9082 +SWIDTH 8640 0
9083 +DWIDTH 9 0
9084 +BBX 9 16 0 -4
9085 +BITMAP
9086 +0000
9087 +0000
9088 +0000
9089 +0000
9090 +0000
9091 +1800
9092 +1800
9093 +7E00
9094 +1800
9095 +1800
9096 +0000
9097 +0000
9098 +0000
9099 +0000
9100 +0000
9101 +0000
9102 +ENDCHAR
9103 +STARTCHAR char44
9104 +ENCODING 44
9105 +SWIDTH 8640 0
9106 +DWIDTH 9 0
9107 +BBX 9 16 0 -4
9108 +BITMAP
9109 +0000
9110 +0000
9111 +0000
9112 +0000
9113 +0000
9114 +0000
9115 +0000
9116 +0000
9117 +0000
9118 +1800
9119 +1800
9120 +1800
9121 +3000
9122 +0000
9123 +0000
9124 +0000
9125 +ENDCHAR
9126 +STARTCHAR char45
9127 +ENCODING 45
9128 +SWIDTH 8640 0
9129 +DWIDTH 9 0
9130 +BBX 9 16 0 -4
9131 +BITMAP
9132 +0000
9133 +0000
9134 +0000
9135 +0000
9136 +0000
9137 +0000
9138 +0000
9139 +7F00
9140 +0000
9141 +0000
9142 +0000
9143 +0000
9144 +0000
9145 +0000
9146 +0000
9147 +0000
9148 +ENDCHAR
9149 +STARTCHAR char46
9150 +ENCODING 46
9151 +SWIDTH 8640 0
9152 +DWIDTH 9 0
9153 +BBX 9 16 0 -4
9154 +BITMAP
9155 +0000
9156 +0000
9157 +0000
9158 +0000
9159 +0000
9160 +0000
9161 +0000
9162 +0000
9163 +0000
9164 +0000
9165 +1800
9166 +1800
9167 +0000
9168 +0000
9169 +0000
9170 +0000
9171 +ENDCHAR
9172 +STARTCHAR char47
9173 +ENCODING 47
9174 +SWIDTH 8640 0
9175 +DWIDTH 9 0
9176 +BBX 9 16 0 -4
9177 +BITMAP
9178 +0000
9179 +0000
9180 +0000
9181 +0000
9182 +0100
9183 +0300
9184 +0600
9185 +0C00
9186 +1800
9187 +3000
9188 +6000
9189 +4000
9190 +0000
9191 +0000
9192 +0000
9193 +0000
9194 +ENDCHAR
9195 +STARTCHAR char48
9196 +ENCODING 48
9197 +SWIDTH 8640 0
9198 +DWIDTH 9 0
9199 +BBX 9 16 0 -4
9200 +BITMAP
9201 +0000
9202 +0000
9203 +3C00
9204 +6600
9205 +C300
9206 +C300
9207 +DB00
9208 +DB00
9209 +C300
9210 +C300
9211 +6600
9212 +3C00
9213 +0000
9214 +0000
9215 +0000
9216 +0000
9217 +ENDCHAR
9218 +STARTCHAR char49
9219 +ENCODING 49
9220 +SWIDTH 8640 0
9221 +DWIDTH 9 0
9222 +BBX 9 16 0 -4
9223 +BITMAP
9224 +0000
9225 +0000
9226 +1800
9227 +3800
9228 +7800
9229 +1800
9230 +1800
9231 +1800
9232 +1800
9233 +1800
9234 +1800
9235 +7E00
9236 +0000
9237 +0000
9238 +0000
9239 +0000
9240 +ENDCHAR
9241 +STARTCHAR char50
9242 +ENCODING 50
9243 +SWIDTH 8640 0
9244 +DWIDTH 9 0
9245 +BBX 9 16 0 -4
9246 +BITMAP
9247 +0000
9248 +0000
9249 +3E00
9250 +6300
9251 +0300
9252 +0600
9253 +0C00
9254 +1800
9255 +3000
9256 +6000
9257 +6300
9258 +7F00
9259 +0000
9260 +0000
9261 +0000
9262 +0000
9263 +ENDCHAR
9264 +STARTCHAR char51
9265 +ENCODING 51
9266 +SWIDTH 8640 0
9267 +DWIDTH 9 0
9268 +BBX 9 16 0 -4
9269 +BITMAP
9270 +0000
9271 +0000
9272 +3E00
9273 +6300
9274 +0300
9275 +0300
9276 +1E00
9277 +0300
9278 +0300
9279 +0300
9280 +6300
9281 +3E00
9282 +0000
9283 +0000
9284 +0000
9285 +0000
9286 +ENDCHAR
9287 +STARTCHAR char52
9288 +ENCODING 52
9289 +SWIDTH 8640 0
9290 +DWIDTH 9 0
9291 +BBX 9 16 0 -4
9292 +BITMAP
9293 +0000
9294 +0000
9295 +0600
9296 +0E00
9297 +1E00
9298 +3600
9299 +6600
9300 +7F00
9301 +0600
9302 +0600
9303 +0600
9304 +0F00
9305 +0000
9306 +0000
9307 +0000
9308 +0000
9309 +ENDCHAR
9310 +STARTCHAR char53
9311 +ENCODING 53
9312 +SWIDTH 8640 0
9313 +DWIDTH 9 0
9314 +BBX 9 16 0 -4
9315 +BITMAP
9316 +0000
9317 +0000
9318 +7F00
9319 +6000
9320 +6000
9321 +6000
9322 +7E00
9323 +0300
9324 +0300
9325 +0300
9326 +6300
9327 +3E00
9328 +0000
9329 +0000
9330 +0000
9331 +0000
9332 +ENDCHAR
9333 +STARTCHAR char54
9334 +ENCODING 54
9335 +SWIDTH 8640 0
9336 +DWIDTH 9 0
9337 +BBX 9 16 0 -4
9338 +BITMAP
9339 +0000
9340 +0000
9341 +1C00
9342 +3000
9343 +6000
9344 +6000
9345 +7E00
9346 +6300
9347 +6300
9348 +6300
9349 +6300
9350 +3E00
9351 +0000
9352 +0000
9353 +0000
9354 +0000
9355 +ENDCHAR
9356 +STARTCHAR char55
9357 +ENCODING 55
9358 +SWIDTH 8640 0
9359 +DWIDTH 9 0
9360 +BBX 9 16 0 -4
9361 +BITMAP
9362 +0000
9363 +0000
9364 +7F00
9365 +6300
9366 +0300
9367 +0300
9368 +0600
9369 +0C00
9370 +1800
9371 +1800
9372 +1800
9373 +1800
9374 +0000
9375 +0000
9376 +0000
9377 +0000
9378 +ENDCHAR
9379 +STARTCHAR char56
9380 +ENCODING 56
9381 +SWIDTH 8640 0
9382 +DWIDTH 9 0
9383 +BBX 9 16 0 -4
9384 +BITMAP
9385 +0000
9386 +0000
9387 +3E00
9388 +6300
9389 +6300
9390 +6300
9391 +3E00
9392 +6300
9393 +6300
9394 +6300
9395 +6300
9396 +3E00
9397 +0000
9398 +0000
9399 +0000
9400 +0000
9401 +ENDCHAR
9402 +STARTCHAR char57
9403 +ENCODING 57
9404 +SWIDTH 8640 0
9405 +DWIDTH 9 0
9406 +BBX 9 16 0 -4
9407 +BITMAP
9408 +0000
9409 +0000
9410 +3E00
9411 +6300
9412 +6300
9413 +6300
9414 +3F00
9415 +0300
9416 +0300
9417 +0300
9418 +0600
9419 +3C00
9420 +0000
9421 +0000
9422 +0000
9423 +0000
9424 +ENDCHAR
9425 +STARTCHAR char58
9426 +ENCODING 58
9427 +SWIDTH 8640 0
9428 +DWIDTH 9 0
9429 +BBX 9 16 0 -4
9430 +BITMAP
9431 +0000
9432 +0000
9433 +0000
9434 +0000
9435 +1800
9436 +1800
9437 +0000
9438 +0000
9439 +0000
9440 +1800
9441 +1800
9442 +0000
9443 +0000
9444 +0000
9445 +0000
9446 +0000
9447 +ENDCHAR
9448 +STARTCHAR char59
9449 +ENCODING 59
9450 +SWIDTH 8640 0
9451 +DWIDTH 9 0
9452 +BBX 9 16 0 -4
9453 +BITMAP
9454 +0000
9455 +0000
9456 +0000
9457 +0000
9458 +1800
9459 +1800
9460 +0000
9461 +0000
9462 +0000
9463 +1800
9464 +1800
9465 +1800
9466 +3000
9467 +0000
9468 +0000
9469 +0000
9470 +ENDCHAR
9471 +STARTCHAR char60
9472 +ENCODING 60
9473 +SWIDTH 8640 0
9474 +DWIDTH 9 0
9475 +BBX 9 16 0 -4
9476 +BITMAP
9477 +0000
9478 +0000
9479 +0000
9480 +0600
9481 +0C00
9482 +1800
9483 +3000
9484 +6000
9485 +3000
9486 +1800
9487 +0C00
9488 +0600
9489 +0000
9490 +0000
9491 +0000
9492 +0000
9493 +ENDCHAR
9494 +STARTCHAR char61
9495 +ENCODING 61
9496 +SWIDTH 8640 0
9497 +DWIDTH 9 0
9498 +BBX 9 16 0 -4
9499 +BITMAP
9500 +0000
9501 +0000
9502 +0000
9503 +0000
9504 +0000
9505 +7E00
9506 +0000
9507 +0000
9508 +7E00
9509 +0000
9510 +0000
9511 +0000
9512 +0000
9513 +0000
9514 +0000
9515 +0000
9516 +ENDCHAR
9517 +STARTCHAR char62
9518 +ENCODING 62
9519 +SWIDTH 8640 0
9520 +DWIDTH 9 0
9521 +BBX 9 16 0 -4
9522 +BITMAP
9523 +0000
9524 +0000
9525 +0000
9526 +6000
9527 +3000
9528 +1800
9529 +0C00
9530 +0600
9531 +0C00
9532 +1800
9533 +3000
9534 +6000
9535 +0000
9536 +0000
9537 +0000
9538 +0000
9539 +ENDCHAR
9540 +STARTCHAR char63
9541 +ENCODING 63
9542 +SWIDTH 8640 0
9543 +DWIDTH 9 0
9544 +BBX 9 16 0 -4
9545 +BITMAP
9546 +0000
9547 +0000
9548 +3E00
9549 +6300
9550 +6300
9551 +0600
9552 +0C00
9553 +0C00
9554 +0C00
9555 +0000
9556 +0C00
9557 +0C00
9558 +0000
9559 +0000
9560 +0000
9561 +0000
9562 +ENDCHAR
9563 +STARTCHAR char64
9564 +ENCODING 64
9565 +SWIDTH 8640 0
9566 +DWIDTH 9 0
9567 +BBX 9 16 0 -4
9568 +BITMAP
9569 +0000
9570 +0000
9571 +0000
9572 +3E00
9573 +6300
9574 +6300
9575 +6F00
9576 +6F00
9577 +6F00
9578 +6E00
9579 +6000
9580 +3E00
9581 +0000
9582 +0000
9583 +0000
9584 +0000
9585 +ENDCHAR
9586 +STARTCHAR char65
9587 +ENCODING 65
9588 +SWIDTH 8640 0
9589 +DWIDTH 9 0
9590 +BBX 9 16 0 -4
9591 +BITMAP
9592 +0000
9593 +0000
9594 +0800
9595 +1C00
9596 +3600
9597 +6300
9598 +6300
9599 +7F00
9600 +6300
9601 +6300
9602 +6300
9603 +6300
9604 +0000
9605 +0000
9606 +0000
9607 +0000
9608 +ENDCHAR
9609 +STARTCHAR char66
9610 +ENCODING 66
9611 +SWIDTH 8640 0
9612 +DWIDTH 9 0
9613 +BBX 9 16 0 -4
9614 +BITMAP
9615 +0000
9616 +0000
9617 +7E00
9618 +3300
9619 +3300
9620 +3300
9621 +3E00
9622 +3300
9623 +3300
9624 +3300
9625 +3300
9626 +7E00
9627 +0000
9628 +0000
9629 +0000
9630 +0000
9631 +ENDCHAR
9632 +STARTCHAR char67
9633 +ENCODING 67
9634 +SWIDTH 8640 0
9635 +DWIDTH 9 0
9636 +BBX 9 16 0 -4
9637 +BITMAP
9638 +0000
9639 +0000
9640 +1E00
9641 +3300
9642 +6100
9643 +6000
9644 +6000
9645 +6000
9646 +6000
9647 +6100
9648 +3300
9649 +1E00
9650 +0000
9651 +0000
9652 +0000
9653 +0000
9654 +ENDCHAR
9655 +STARTCHAR char68
9656 +ENCODING 68
9657 +SWIDTH 8640 0
9658 +DWIDTH 9 0
9659 +BBX 9 16 0 -4
9660 +BITMAP
9661 +0000
9662 +0000
9663 +7C00
9664 +3600
9665 +3300
9666 +3300
9667 +3300
9668 +3300
9669 +3300
9670 +3300
9671 +3600
9672 +7C00
9673 +0000
9674 +0000
9675 +0000
9676 +0000
9677 +ENDCHAR
9678 +STARTCHAR char69
9679 +ENCODING 69
9680 +SWIDTH 8640 0
9681 +DWIDTH 9 0
9682 +BBX 9 16 0 -4
9683 +BITMAP
9684 +0000
9685 +0000
9686 +7F00
9687 +3300
9688 +3100
9689 +3400
9690 +3C00
9691 +3400
9692 +3000
9693 +3100
9694 +3300
9695 +7F00
9696 +0000
9697 +0000
9698 +0000
9699 +0000
9700 +ENDCHAR
9701 +STARTCHAR char70
9702 +ENCODING 70
9703 +SWIDTH 8640 0
9704 +DWIDTH 9 0
9705 +BBX 9 16 0 -4
9706 +BITMAP
9707 +0000
9708 +0000
9709 +7F00
9710 +3300
9711 +3100
9712 +3400
9713 +3C00
9714 +3400
9715 +3000
9716 +3000
9717 +3000
9718 +7800
9719 +0000
9720 +0000
9721 +0000
9722 +0000
9723 +ENDCHAR
9724 +STARTCHAR char71
9725 +ENCODING 71
9726 +SWIDTH 8640 0
9727 +DWIDTH 9 0
9728 +BBX 9 16 0 -4
9729 +BITMAP
9730 +0000
9731 +0000
9732 +1E00
9733 +3300
9734 +6100
9735 +6000
9736 +6000
9737 +6F00
9738 +6300
9739 +6300
9740 +3300
9741 +1D00
9742 +0000
9743 +0000
9744 +0000
9745 +0000
9746 +ENDCHAR
9747 +STARTCHAR char72
9748 +ENCODING 72
9749 +SWIDTH 8640 0
9750 +DWIDTH 9 0
9751 +BBX 9 16 0 -4
9752 +BITMAP
9753 +0000
9754 +0000
9755 +6300
9756 +6300
9757 +6300
9758 +6300
9759 +7F00
9760 +6300
9761 +6300
9762 +6300
9763 +6300
9764 +6300
9765 +0000
9766 +0000
9767 +0000
9768 +0000
9769 +ENDCHAR
9770 +STARTCHAR char73
9771 +ENCODING 73
9772 +SWIDTH 8640 0
9773 +DWIDTH 9 0
9774 +BBX 9 16 0 -4
9775 +BITMAP
9776 +0000
9777 +0000
9778 +3C00
9779 +1800
9780 +1800
9781 +1800
9782 +1800
9783 +1800
9784 +1800
9785 +1800
9786 +1800
9787 +3C00
9788 +0000
9789 +0000
9790 +0000
9791 +0000
9792 +ENDCHAR
9793 +STARTCHAR char74
9794 +ENCODING 74
9795 +SWIDTH 8640 0
9796 +DWIDTH 9 0
9797 +BBX 9 16 0 -4
9798 +BITMAP
9799 +0000
9800 +0000
9801 +0F00
9802 +0600
9803 +0600
9804 +0600
9805 +0600
9806 +0600
9807 +6600
9808 +6600
9809 +6600
9810 +3C00
9811 +0000
9812 +0000
9813 +0000
9814 +0000
9815 +ENDCHAR
9816 +STARTCHAR char75
9817 +ENCODING 75
9818 +SWIDTH 8640 0
9819 +DWIDTH 9 0
9820 +BBX 9 16 0 -4
9821 +BITMAP
9822 +0000
9823 +0000
9824 +7300
9825 +3300
9826 +3300
9827 +3600
9828 +3C00
9829 +3C00
9830 +3600
9831 +3300
9832 +3300
9833 +7300
9834 +0000
9835 +0000
9836 +0000
9837 +0000
9838 +ENDCHAR
9839 +STARTCHAR char76
9840 +ENCODING 76
9841 +SWIDTH 8640 0
9842 +DWIDTH 9 0
9843 +BBX 9 16 0 -4
9844 +BITMAP
9845 +0000
9846 +0000
9847 +7800
9848 +3000
9849 +3000
9850 +3000
9851 +3000
9852 +3000
9853 +3000
9854 +3100
9855 +3300
9856 +7F00
9857 +0000
9858 +0000
9859 +0000
9860 +0000
9861 +ENDCHAR
9862 +STARTCHAR char77
9863 +ENCODING 77
9864 +SWIDTH 8640 0
9865 +DWIDTH 9 0
9866 +BBX 9 16 0 -4
9867 +BITMAP
9868 +0000
9869 +0000
9870 +C300
9871 +E700
9872 +FF00
9873 +FF00
9874 +DB00
9875 +C300
9876 +C300
9877 +C300
9878 +C300
9879 +C300
9880 +0000
9881 +0000
9882 +0000
9883 +0000
9884 +ENDCHAR
9885 +STARTCHAR char78
9886 +ENCODING 78
9887 +SWIDTH 8640 0
9888 +DWIDTH 9 0
9889 +BBX 9 16 0 -4
9890 +BITMAP
9891 +0000
9892 +0000
9893 +6300
9894 +7300
9895 +7B00
9896 +7F00
9897 +6F00
9898 +6700
9899 +6300
9900 +6300
9901 +6300
9902 +6300
9903 +0000
9904 +0000
9905 +0000
9906 +0000
9907 +ENDCHAR
9908 +STARTCHAR char79
9909 +ENCODING 79
9910 +SWIDTH 8640 0
9911 +DWIDTH 9 0
9912 +BBX 9 16 0 -4
9913 +BITMAP
9914 +0000
9915 +0000
9916 +3E00
9917 +6300
9918 +6300
9919 +6300
9920 +6300
9921 +6300
9922 +6300
9923 +6300
9924 +6300
9925 +3E00
9926 +0000
9927 +0000
9928 +0000
9929 +0000
9930 +ENDCHAR
9931 +STARTCHAR char80
9932 +ENCODING 80
9933 +SWIDTH 8640 0
9934 +DWIDTH 9 0
9935 +BBX 9 16 0 -4
9936 +BITMAP
9937 +0000
9938 +0000
9939 +7E00
9940 +3300
9941 +3300
9942 +3300
9943 +3E00
9944 +3000
9945 +3000
9946 +3000
9947 +3000
9948 +7800
9949 +0000
9950 +0000
9951 +0000
9952 +0000
9953 +ENDCHAR
9954 +STARTCHAR char81
9955 +ENCODING 81
9956 +SWIDTH 8640 0
9957 +DWIDTH 9 0
9958 +BBX 9 16 0 -4
9959 +BITMAP
9960 +0000
9961 +0000
9962 +3E00
9963 +6300
9964 +6300
9965 +6300
9966 +6300
9967 +6300
9968 +6300
9969 +6B00
9970 +6F00
9971 +3E00
9972 +0600
9973 +0700
9974 +0000
9975 +0000
9976 +ENDCHAR
9977 +STARTCHAR char82
9978 +ENCODING 82
9979 +SWIDTH 8640 0
9980 +DWIDTH 9 0
9981 +BBX 9 16 0 -4
9982 +BITMAP
9983 +0000
9984 +0000
9985 +7E00
9986 +3300
9987 +3300
9988 +3300
9989 +3E00
9990 +3600
9991 +3300
9992 +3300
9993 +3300
9994 +7300
9995 +0000
9996 +0000
9997 +0000
9998 +0000
9999 +ENDCHAR
10000 +STARTCHAR char83
10001 +ENCODING 83
10002 +SWIDTH 8640 0
10003 +DWIDTH 9 0
10004 +BBX 9 16 0 -4
10005 +BITMAP
10006 +0000
10007 +0000
10008 +3E00
10009 +6300
10010 +6300
10011 +3000
10012 +1C00
10013 +0600
10014 +0300
10015 +6300
10016 +6300
10017 +3E00
10018 +0000
10019 +0000
10020 +0000
10021 +0000
10022 +ENDCHAR
10023 +STARTCHAR char84
10024 +ENCODING 84
10025 +SWIDTH 8640 0
10026 +DWIDTH 9 0
10027 +BBX 9 16 0 -4
10028 +BITMAP
10029 +0000
10030 +0000
10031 +FF00
10032 +DB00
10033 +9900
10034 +1800
10035 +1800
10036 +1800
10037 +1800
10038 +1800
10039 +1800
10040 +3C00
10041 +0000
10042 +0000
10043 +0000
10044 +0000
10045 +ENDCHAR
10046 +STARTCHAR char85
10047 +ENCODING 85
10048 +SWIDTH 8640 0
10049 +DWIDTH 9 0
10050 +BBX 9 16 0 -4
10051 +BITMAP
10052 +0000
10053 +0000
10054 +6300
10055 +6300
10056 +6300
10057 +6300
10058 +6300
10059 +6300
10060 +6300
10061 +6300
10062 +6300
10063 +3E00
10064 +0000
10065 +0000
10066 +0000
10067 +0000
10068 +ENDCHAR
10069 +STARTCHAR char86
10070 +ENCODING 86
10071 +SWIDTH 8640 0
10072 +DWIDTH 9 0
10073 +BBX 9 16 0 -4
10074 +BITMAP
10075 +0000
10076 +0000
10077 +C300
10078 +C300
10079 +C300
10080 +C300
10081 +C300
10082 +C300
10083 +C300
10084 +6600
10085 +3C00
10086 +1800
10087 +0000
10088 +0000
10089 +0000
10090 +0000
10091 +ENDCHAR
10092 +STARTCHAR char87
10093 +ENCODING 87
10094 +SWIDTH 8640 0
10095 +DWIDTH 9 0
10096 +BBX 9 16 0 -4
10097 +BITMAP
10098 +0000
10099 +0000
10100 +C300
10101 +C300
10102 +C300
10103 +C300
10104 +C300
10105 +DB00
10106 +DB00
10107 +FF00
10108 +6600
10109 +6600
10110 +0000
10111 +0000
10112 +0000
10113 +0000
10114 +ENDCHAR
10115 +STARTCHAR char88
10116 +ENCODING 88
10117 +SWIDTH 8640 0
10118 +DWIDTH 9 0
10119 +BBX 9 16 0 -4
10120 +BITMAP
10121 +0000
10122 +0000
10123 +C300
10124 +C300
10125 +6600
10126 +3C00
10127 +1800
10128 +1800
10129 +3C00
10130 +6600
10131 +C300
10132 +C300
10133 +0000
10134 +0000
10135 +0000
10136 +0000
10137 +ENDCHAR
10138 +STARTCHAR char89
10139 +ENCODING 89
10140 +SWIDTH 8640 0
10141 +DWIDTH 9 0
10142 +BBX 9 16 0 -4
10143 +BITMAP
10144 +0000
10145 +0000
10146 +C300
10147 +C300
10148 +C300
10149 +6600
10150 +3C00
10151 +1800
10152 +1800
10153 +1800
10154 +1800
10155 +3C00
10156 +0000
10157 +0000
10158 +0000
10159 +0000
10160 +ENDCHAR
10161 +STARTCHAR char90
10162 +ENCODING 90
10163 +SWIDTH 8640 0
10164 +DWIDTH 9 0
10165 +BBX 9 16 0 -4
10166 +BITMAP
10167 +0000
10168 +0000
10169 +FF00
10170 +C300
10171 +8600
10172 +0C00
10173 +1800
10174 +3000
10175 +6000
10176 +C100
10177 +C300
10178 +FF00
10179 +0000
10180 +0000
10181 +0000
10182 +0000
10183 +ENDCHAR
10184 +STARTCHAR char91
10185 +ENCODING 91
10186 +SWIDTH 8640 0
10187 +DWIDTH 9 0
10188 +BBX 9 16 0 -4
10189 +BITMAP
10190 +0000
10191 +0000
10192 +3C00
10193 +3000
10194 +3000
10195 +3000
10196 +3000
10197 +3000
10198 +3000
10199 +3000
10200 +3000
10201 +3C00
10202 +0000
10203 +0000
10204 +0000
10205 +0000
10206 +ENDCHAR
10207 +STARTCHAR char92
10208 +ENCODING 92
10209 +SWIDTH 8640 0
10210 +DWIDTH 9 0
10211 +BBX 9 16 0 -4
10212 +BITMAP
10213 +0000
10214 +0000
10215 +0000
10216 +4000
10217 +6000
10218 +7000
10219 +3800
10220 +1C00
10221 +0E00
10222 +0700
10223 +0300
10224 +0100
10225 +0000
10226 +0000
10227 +0000
10228 +0000
10229 +ENDCHAR
10230 +STARTCHAR char93
10231 +ENCODING 93
10232 +SWIDTH 8640 0
10233 +DWIDTH 9 0
10234 +BBX 9 16 0 -4
10235 +BITMAP
10236 +0000
10237 +0000
10238 +3C00
10239 +0C00
10240 +0C00
10241 +0C00
10242 +0C00
10243 +0C00
10244 +0C00
10245 +0C00
10246 +0C00
10247 +3C00
10248 +0000
10249 +0000
10250 +0000
10251 +0000
10252 +ENDCHAR
10253 +STARTCHAR char94
10254 +ENCODING 94
10255 +SWIDTH 8640 0
10256 +DWIDTH 9 0
10257 +BBX 9 16 0 -4
10258 +BITMAP
10259 +0800
10260 +1C00
10261 +3600
10262 +6300
10263 +0000
10264 +0000
10265 +0000
10266 +0000
10267 +0000
10268 +0000
10269 +0000
10270 +0000
10271 +0000
10272 +0000
10273 +0000
10274 +0000
10275 +ENDCHAR
10276 +STARTCHAR char95
10277 +ENCODING 95
10278 +SWIDTH 8640 0
10279 +DWIDTH 9 0
10280 +BBX 9 16 0 -4
10281 +BITMAP
10282 +0000
10283 +0000
10284 +0000
10285 +0000
10286 +0000
10287 +0000
10288 +0000
10289 +0000
10290 +0000
10291 +0000
10292 +0000
10293 +0000
10294 +0000
10295 +FF80
10296 +0000
10297 +0000
10298 +ENDCHAR
10299 +STARTCHAR char96
10300 +ENCODING 96
10301 +SWIDTH 8640 0
10302 +DWIDTH 9 0
10303 +BBX 9 16 0 -4
10304 +BITMAP
10305 +3000
10306 +3000
10307 +1800
10308 +0000
10309 +0000
10310 +0000
10311 +0000
10312 +0000
10313 +0000
10314 +0000
10315 +0000
10316 +0000
10317 +0000
10318 +0000
10319 +0000
10320 +0000
10321 +ENDCHAR
10322 +STARTCHAR char97
10323 +ENCODING 97
10324 +SWIDTH 8640 0
10325 +DWIDTH 9 0
10326 +BBX 9 16 0 -4
10327 +BITMAP
10328 +0000
10329 +0000
10330 +0000
10331 +0000
10332 +0000
10333 +3C00
10334 +0600
10335 +3E00
10336 +6600
10337 +6600
10338 +6600
10339 +3B00
10340 +0000
10341 +0000
10342 +0000
10343 +0000
10344 +ENDCHAR
10345 +STARTCHAR char98
10346 +ENCODING 98
10347 +SWIDTH 8640 0
10348 +DWIDTH 9 0
10349 +BBX 9 16 0 -4
10350 +BITMAP
10351 +0000
10352 +0000
10353 +7000
10354 +3000
10355 +3000
10356 +3C00
10357 +3600
10358 +3300
10359 +3300
10360 +3300
10361 +3300
10362 +3E00
10363 +0000
10364 +0000
10365 +0000
10366 +0000
10367 +ENDCHAR
10368 +STARTCHAR char99
10369 +ENCODING 99
10370 +SWIDTH 8640 0
10371 +DWIDTH 9 0
10372 +BBX 9 16 0 -4
10373 +BITMAP
10374 +0000
10375 +0000
10376 +0000
10377 +0000
10378 +0000
10379 +3E00
10380 +6300
10381 +6000
10382 +6000
10383 +6000
10384 +6300
10385 +3E00
10386 +0000
10387 +0000
10388 +0000
10389 +0000
10390 +ENDCHAR
10391 +STARTCHAR char100
10392 +ENCODING 100
10393 +SWIDTH 8640 0
10394 +DWIDTH 9 0
10395 +BBX 9 16 0 -4
10396 +BITMAP
10397 +0000
10398 +0000
10399 +0E00
10400 +0600
10401 +0600
10402 +1E00
10403 +3600
10404 +6600
10405 +6600
10406 +6600
10407 +6600
10408 +3B00
10409 +0000
10410 +0000
10411 +0000
10412 +0000
10413 +ENDCHAR
10414 +STARTCHAR char101
10415 +ENCODING 101
10416 +SWIDTH 8640 0
10417 +DWIDTH 9 0
10418 +BBX 9 16 0 -4
10419 +BITMAP
10420 +0000
10421 +0000
10422 +0000
10423 +0000
10424 +0000
10425 +3E00
10426 +6300
10427 +7F00
10428 +6000
10429 +6000
10430 +6300
10431 +3E00
10432 +0000
10433 +0000
10434 +0000
10435 +0000
10436 +ENDCHAR
10437 +STARTCHAR char102
10438 +ENCODING 102
10439 +SWIDTH 8640 0
10440 +DWIDTH 9 0
10441 +BBX 9 16 0 -4
10442 +BITMAP
10443 +0000
10444 +0000
10445 +1C00
10446 +3600
10447 +3200
10448 +3000
10449 +7800
10450 +3000
10451 +3000
10452 +3000
10453 +3000
10454 +7800
10455 +0000
10456 +0000
10457 +0000
10458 +0000
10459 +ENDCHAR
10460 +STARTCHAR char103
10461 +ENCODING 103
10462 +SWIDTH 8640 0
10463 +DWIDTH 9 0
10464 +BBX 9 16 0 -4
10465 +BITMAP
10466 +0000
10467 +0000
10468 +0000
10469 +0000
10470 +0000
10471 +3B00
10472 +6600
10473 +6600
10474 +6600
10475 +6600
10476 +6600
10477 +3E00
10478 +0600
10479 +6600
10480 +3C00
10481 +0000
10482 +ENDCHAR
10483 +STARTCHAR char104
10484 +ENCODING 104
10485 +SWIDTH 8640 0
10486 +DWIDTH 9 0
10487 +BBX 9 16 0 -4
10488 +BITMAP
10489 +0000
10490 +0000
10491 +7000
10492 +3000
10493 +3000
10494 +3600
10495 +3B00
10496 +3300
10497 +3300
10498 +3300
10499 +3300
10500 +7300
10501 +0000
10502 +0000
10503 +0000
10504 +0000
10505 +ENDCHAR
10506 +STARTCHAR char105
10507 +ENCODING 105
10508 +SWIDTH 8640 0
10509 +DWIDTH 9 0
10510 +BBX 9 16 0 -4
10511 +BITMAP
10512 +0000
10513 +0000
10514 +1800
10515 +1800
10516 +0000
10517 +3800
10518 +1800
10519 +1800
10520 +1800
10521 +1800
10522 +1800
10523 +3C00
10524 +0000
10525 +0000
10526 +0000
10527 +0000
10528 +ENDCHAR
10529 +STARTCHAR char106
10530 +ENCODING 106
10531 +SWIDTH 8640 0
10532 +DWIDTH 9 0
10533 +BBX 9 16 0 -4
10534 +BITMAP
10535 +0000
10536 +0000
10537 +0600
10538 +0600
10539 +0000
10540 +0E00
10541 +0600
10542 +0600
10543 +0600
10544 +0600
10545 +0600
10546 +0600
10547 +6600
10548 +6600
10549 +3C00
10550 +0000
10551 +ENDCHAR
10552 +STARTCHAR char107
10553 +ENCODING 107
10554 +SWIDTH 8640 0
10555 +DWIDTH 9 0
10556 +BBX 9 16 0 -4
10557 +BITMAP
10558 +0000
10559 +0000
10560 +7000
10561 +3000
10562 +3000
10563 +3300
10564 +3600
10565 +3C00
10566 +3C00
10567 +3600
10568 +3300
10569 +7300
10570 +0000
10571 +0000
10572 +0000
10573 +0000
10574 +ENDCHAR
10575 +STARTCHAR char108
10576 +ENCODING 108
10577 +SWIDTH 8640 0
10578 +DWIDTH 9 0
10579 +BBX 9 16 0 -4
10580 +BITMAP
10581 +0000
10582 +0000
10583 +3800
10584 +1800
10585 +1800
10586 +1800
10587 +1800
10588 +1800
10589 +1800
10590 +1800
10591 +1800
10592 +3C00
10593 +0000
10594 +0000
10595 +0000
10596 +0000
10597 +ENDCHAR
10598 +STARTCHAR char109
10599 +ENCODING 109
10600 +SWIDTH 8640 0
10601 +DWIDTH 9 0
10602 +BBX 9 16 0 -4
10603 +BITMAP
10604 +0000
10605 +0000
10606 +0000
10607 +0000
10608 +0000
10609 +E600
10610 +FF00
10611 +DB00
10612 +DB00
10613 +DB00
10614 +DB00
10615 +DB00
10616 +0000
10617 +0000
10618 +0000
10619 +0000
10620 +ENDCHAR
10621 +STARTCHAR char110
10622 +ENCODING 110
10623 +SWIDTH 8640 0
10624 +DWIDTH 9 0
10625 +BBX 9 16 0 -4
10626 +BITMAP
10627 +0000
10628 +0000
10629 +0000
10630 +0000
10631 +0000
10632 +6E00
10633 +3300
10634 +3300
10635 +3300
10636 +3300
10637 +3300
10638 +3300
10639 +0000
10640 +0000
10641 +0000
10642 +0000
10643 +ENDCHAR
10644 +STARTCHAR char111
10645 +ENCODING 111
10646 +SWIDTH 8640 0
10647 +DWIDTH 9 0
10648 +BBX 9 16 0 -4
10649 +BITMAP
10650 +0000
10651 +0000
10652 +0000
10653 +0000
10654 +0000
10655 +3E00
10656 +6300
10657 +6300
10658 +6300
10659 +6300
10660 +6300
10661 +3E00
10662 +0000
10663 +0000
10664 +0000
10665 +0000
10666 +ENDCHAR
10667 +STARTCHAR char112
10668 +ENCODING 112
10669 +SWIDTH 8640 0
10670 +DWIDTH 9 0
10671 +BBX 9 16 0 -4
10672 +BITMAP
10673 +0000
10674 +0000
10675 +0000
10676 +0000
10677 +0000
10678 +6E00
10679 +3300
10680 +3300
10681 +3300
10682 +3300
10683 +3300
10684 +3E00
10685 +3000
10686 +3000
10687 +3000
10688 +0000
10689 +ENDCHAR
10690 +STARTCHAR char113
10691 +ENCODING 113
10692 +SWIDTH 8640 0
10693 +DWIDTH 9 0
10694 +BBX 9 16 0 -4
10695 +BITMAP
10696 +0000
10697 +0000
10698 +0000
10699 +0000
10700 +0000
10701 +3B00
10702 +6600
10703 +6600
10704 +6600
10705 +6600
10706 +6600
10707 +3E00
10708 +0600
10709 +0600
10710 +0600
10711 +0000
10712 +ENDCHAR
10713 +STARTCHAR char114
10714 +ENCODING 114
10715 +SWIDTH 8640 0
10716 +DWIDTH 9 0
10717 +BBX 9 16 0 -4
10718 +BITMAP
10719 +0000
10720 +0000
10721 +0000
10722 +0000
10723 +0000
10724 +6E00
10725 +3B00
10726 +3300
10727 +3000
10728 +3000
10729 +3000
10730 +7800
10731 +0000
10732 +0000
10733 +0000
10734 +0000
10735 +ENDCHAR
10736 +STARTCHAR char115
10737 +ENCODING 115
10738 +SWIDTH 8640 0
10739 +DWIDTH 9 0
10740 +BBX 9 16 0 -4
10741 +BITMAP
10742 +0000
10743 +0000
10744 +0000
10745 +0000
10746 +0000
10747 +3E00
10748 +6300
10749 +3000
10750 +1C00
10751 +0600
10752 +6300
10753 +3E00
10754 +0000
10755 +0000
10756 +0000
10757 +0000
10758 +ENDCHAR
10759 +STARTCHAR char116
10760 +ENCODING 116
10761 +SWIDTH 8640 0
10762 +DWIDTH 9 0
10763 +BBX 9 16 0 -4
10764 +BITMAP
10765 +0000
10766 +0000
10767 +0800
10768 +1800
10769 +1800
10770 +7E00
10771 +1800
10772 +1800
10773 +1800
10774 +1800
10775 +1B00
10776 +0E00
10777 +0000
10778 +0000
10779 +0000
10780 +0000
10781 +ENDCHAR
10782 +STARTCHAR char117
10783 +ENCODING 117
10784 +SWIDTH 8640 0
10785 +DWIDTH 9 0
10786 +BBX 9 16 0 -4
10787 +BITMAP
10788 +0000
10789 +0000
10790 +0000
10791 +0000
10792 +0000
10793 +6600
10794 +6600
10795 +6600
10796 +6600
10797 +6600
10798 +6600
10799 +3B00
10800 +0000
10801 +0000
10802 +0000
10803 +0000
10804 +ENDCHAR
10805 +STARTCHAR char118
10806 +ENCODING 118
10807 +SWIDTH 8640 0
10808 +DWIDTH 9 0
10809 +BBX 9 16 0 -4
10810 +BITMAP
10811 +0000
10812 +0000
10813 +0000
10814 +0000
10815 +0000
10816 +C300
10817 +C300
10818 +C300
10819 +C300
10820 +6600
10821 +3C00
10822 +1800
10823 +0000
10824 +0000
10825 +0000
10826 +0000
10827 +ENDCHAR
10828 +STARTCHAR char119
10829 +ENCODING 119
10830 +SWIDTH 8640 0
10831 +DWIDTH 9 0
10832 +BBX 9 16 0 -4
10833 +BITMAP
10834 +0000
10835 +0000
10836 +0000
10837 +0000
10838 +0000
10839 +C300
10840 +C300
10841 +C300
10842 +DB00
10843 +DB00
10844 +FF00
10845 +6600
10846 +0000
10847 +0000
10848 +0000
10849 +0000
10850 +ENDCHAR
10851 +STARTCHAR char120
10852 +ENCODING 120
10853 +SWIDTH 8640 0
10854 +DWIDTH 9 0
10855 +BBX 9 16 0 -4
10856 +BITMAP
10857 +0000
10858 +0000
10859 +0000
10860 +0000
10861 +0000
10862 +C300
10863 +6600
10864 +3C00
10865 +1800
10866 +3C00
10867 +6600
10868 +C300
10869 +0000
10870 +0000
10871 +0000
10872 +0000
10873 +ENDCHAR
10874 +STARTCHAR char121
10875 +ENCODING 121
10876 +SWIDTH 8640 0
10877 +DWIDTH 9 0
10878 +BBX 9 16 0 -4
10879 +BITMAP
10880 +0000
10881 +0000
10882 +0000
10883 +0000
10884 +0000
10885 +6300
10886 +6300
10887 +6300
10888 +6300
10889 +6300
10890 +6300
10891 +3F00
10892 +0300
10893 +0600
10894 +0C00
10895 +0000
10896 +ENDCHAR
10897 +STARTCHAR char122
10898 +ENCODING 122
10899 +SWIDTH 8640 0
10900 +DWIDTH 9 0
10901 +BBX 9 16 0 -4
10902 +BITMAP
10903 +0000
10904 +0000
10905 +0000
10906 +0000
10907 +0000
10908 +7F00
10909 +6600
10910 +0C00
10911 +1800
10912 +3000
10913 +6300
10914 +7F00
10915 +0000
10916 +0000
10917 +0000
10918 +0000
10919 +ENDCHAR
10920 +STARTCHAR char123
10921 +ENCODING 123
10922 +SWIDTH 8640 0
10923 +DWIDTH 9 0
10924 +BBX 9 16 0 -4
10925 +BITMAP
10926 +0000
10927 +0000
10928 +0E00
10929 +1800
10930 +1800
10931 +1800
10932 +7000
10933 +1800
10934 +1800
10935 +1800
10936 +1800
10937 +0E00
10938 +0000
10939 +0000
10940 +0000
10941 +0000
10942 +ENDCHAR
10943 +STARTCHAR char124
10944 +ENCODING 124
10945 +SWIDTH 8640 0
10946 +DWIDTH 9 0
10947 +BBX 9 16 0 -4
10948 +BITMAP
10949 +0000
10950 +0000
10951 +1800
10952 +1800
10953 +1800
10954 +1800
10955 +1800
10956 +1800
10957 +1800
10958 +1800
10959 +1800
10960 +1800
10961 +0000
10962 +0000
10963 +0000
10964 +0000
10965 +ENDCHAR
10966 +STARTCHAR char125
10967 +ENCODING 125
10968 +SWIDTH 8640 0
10969 +DWIDTH 9 0
10970 +BBX 9 16 0 -4
10971 +BITMAP
10972 +0000
10973 +0000
10974 +7000
10975 +1800
10976 +1800
10977 +1800
10978 +0E00
10979 +1800
10980 +1800
10981 +1800
10982 +1800
10983 +7000
10984 +0000
10985 +0000
10986 +0000
10987 +0000
10988 +ENDCHAR
10989 +STARTCHAR char126
10990 +ENCODING 126
10991 +SWIDTH 8640 0
10992 +DWIDTH 9 0
10993 +BBX 9 16 0 -4
10994 +BITMAP
10995 +0000
10996 +0000
10997 +3B00
10998 +6E00
10999 +0000
11000 +0000
11001 +0000
11002 +0000
11003 +0000
11004 +0000
11005 +0000
11006 +0000
11007 +0000
11008 +0000
11009 +0000
11010 +0000
11011 +ENDCHAR
11012 +STARTCHAR char127
11013 +ENCODING 127
11014 +SWIDTH 8640 0
11015 +DWIDTH 9 0
11016 +BBX 9 16 0 -4
11017 +BITMAP
11018 +0000
11019 +0000
11020 +0000
11021 +7F00
11022 +7F00
11023 +7F00
11024 +7F00
11025 +7F00
11026 +7F00
11027 +7F00
11028 +7F00
11029 +0000
11030 +0000
11031 +0000
11032 +0000
11033 +0000
11034 +ENDCHAR
11035 +STARTCHAR char0
11036 +ENCODING 128
11037 +SWIDTH 8640 0
11038 +DWIDTH 9 0
11039 +BBX 9 16 0 -4
11040 +BITMAP
11041 +0000
11042 +0000
11043 +0000
11044 +0000
11045 +0000
11046 +0000
11047 +0000
11048 +0000
11049 +0000
11050 +0000
11051 +0000
11052 +0F80
11053 +0F80
11054 +0F80
11055 +0000
11056 +0000
11057 +ENDCHAR
11058 +STARTCHAR char1
11059 +ENCODING 129
11060 +SWIDTH 8640 0
11061 +DWIDTH 9 0
11062 +BBX 9 16 0 -4
11063 +BITMAP
11064 +F000
11065 +F000
11066 +F000
11067 +F000
11068 +F000
11069 +0000
11070 +0000
11071 +0000
11072 +0000
11073 +0000
11074 +0000
11075 +0F80
11076 +0F80
11077 +0F80
11078 +0000
11079 +0000
11080 +ENDCHAR
11081 +STARTCHAR char2
11082 +ENCODING 130
11083 +SWIDTH 8640 0
11084 +DWIDTH 9 0
11085 +BBX 9 16 0 -4
11086 +BITMAP
11087 +0F80
11088 +0F80
11089 +0F80
11090 +0F80
11091 +0F80
11092 +0000
11093 +0000
11094 +0000
11095 +0000
11096 +0000
11097 +0000
11098 +0F80
11099 +0F80
11100 +0F80
11101 +0000
11102 +0000
11103 +ENDCHAR
11104 +STARTCHAR char1
11105 +ENCODING 131
11106 +SWIDTH 8640 0
11107 +DWIDTH 9 0
11108 +BBX 9 16 0 -4
11109 +BITMAP
11110 +FF80
11111 +FF80
11112 +FF80
11113 +FF80
11114 +FF80
11115 +0000
11116 +0000
11117 +0000
11118 +0000
11119 +0000
11120 +0000
11121 +0F80
11122 +0F80
11123 +0F80
11124 +0000
11125 +0000
11126 +ENDCHAR
11127 +STARTCHAR char0
11128 +ENCODING 132
11129 +SWIDTH 8640 0
11130 +DWIDTH 9 0
11131 +BBX 9 16 0 -4
11132 +BITMAP
11133 +0000
11134 +0000
11135 +0000
11136 +0000
11137 +0000
11138 +F000
11139 +F000
11140 +F000
11141 +F000
11142 +F000
11143 +F000
11144 +0F80
11145 +0F80
11146 +0F80
11147 +0000
11148 +0000
11149 +ENDCHAR
11150 +STARTCHAR char1
11151 +ENCODING 133
11152 +SWIDTH 8640 0
11153 +DWIDTH 9 0
11154 +BBX 9 16 0 -4
11155 +BITMAP
11156 +F000
11157 +F000
11158 +F000
11159 +F000
11160 +F000
11161 +F000
11162 +F000
11163 +F000
11164 +F000
11165 +F000
11166 +F000
11167 +0F80
11168 +0F80
11169 +0F80
11170 +0000
11171 +0000
11172 +ENDCHAR
11173 +STARTCHAR char2
11174 +ENCODING 134
11175 +SWIDTH 8640 0
11176 +DWIDTH 9 0
11177 +BBX 9 16 0 -4
11178 +BITMAP
11179 +0F80
11180 +0F80
11181 +0F80
11182 +0F80
11183 +0F80
11184 +F000
11185 +F000
11186 +F000
11187 +F000
11188 +F000
11189 +F000
11190 +0F80
11191 +0F80
11192 +0F80
11193 +0000
11194 +0000
11195 +ENDCHAR
11196 +STARTCHAR char1
11197 +ENCODING 135
11198 +SWIDTH 8640 0
11199 +DWIDTH 9 0
11200 +BBX 9 16 0 -4
11201 +BITMAP
11202 +FF80
11203 +FF80
11204 +FF80
11205 +FF80
11206 +FF80
11207 +F000
11208 +F000
11209 +F000
11210 +F000
11211 +F000
11212 +F000
11213 +0F80
11214 +0F80
11215 +0F80
11216 +0000
11217 +0000
11218 +ENDCHAR
11219 +STARTCHAR char0
11220 +ENCODING 136
11221 +SWIDTH 8640 0
11222 +DWIDTH 9 0
11223 +BBX 9 16 0 -4
11224 +BITMAP
11225 +0000
11226 +0000
11227 +0000
11228 +0000
11229 +0000
11230 +0F80
11231 +0F80
11232 +0F80
11233 +0F80
11234 +0F80
11235 +0F80
11236 +0F80
11237 +0F80
11238 +0F80
11239 +0000
11240 +0000
11241 +ENDCHAR
11242 +STARTCHAR char1
11243 +ENCODING 137
11244 +SWIDTH 8640 0
11245 +DWIDTH 9 0
11246 +BBX 9 16 0 -4
11247 +BITMAP
11248 +F000
11249 +F000
11250 +F000
11251 +F000
11252 +F000
11253 +0F80
11254 +0F80
11255 +0F80
11256 +0F80
11257 +0F80
11258 +0F80
11259 +0F80
11260 +0F80
11261 +0F80
11262 +0000
11263 +0000
11264 +ENDCHAR
11265 +STARTCHAR char2
11266 +ENCODING 138
11267 +SWIDTH 8640 0
11268 +DWIDTH 9 0
11269 +BBX 9 16 0 -4
11270 +BITMAP
11271 +0F80
11272 +0F80
11273 +0F80
11274 +0F80
11275 +0F80
11276 +0F80
11277 +0F80
11278 +0F80
11279 +0F80
11280 +0F80
11281 +0F80
11282 +0F80
11283 +0F80
11284 +0F80
11285 +0000
11286 +0000
11287 +ENDCHAR
11288 +STARTCHAR char1
11289 +ENCODING 139
11290 +SWIDTH 8640 0
11291 +DWIDTH 9 0
11292 +BBX 9 16 0 -4
11293 +BITMAP
11294 +FF80
11295 +FF80
11296 +FF80
11297 +FF80
11298 +FF80
11299 +0F80
11300 +0F80
11301 +0F80
11302 +0F80
11303 +0F80
11304 +0F80
11305 +0F80
11306 +0F80
11307 +0F80
11308 +0000
11309 +0000
11310 +ENDCHAR
11311 +STARTCHAR char0
11312 +ENCODING 140
11313 +SWIDTH 8640 0
11314 +DWIDTH 9 0
11315 +BBX 9 16 0 -4
11316 +BITMAP
11317 +0000
11318 +0000
11319 +0000
11320 +0000
11321 +0000
11322 +FF80
11323 +FF80
11324 +FF80
11325 +FF80
11326 +FF80
11327 +FF80
11328 +0F80
11329 +0F80
11330 +0F80
11331 +0000
11332 +0000
11333 +ENDCHAR
11334 +STARTCHAR char1
11335 +ENCODING 141
11336 +SWIDTH 8640 0
11337 +DWIDTH 9 0
11338 +BBX 9 16 0 -4
11339 +BITMAP
11340 +F000
11341 +F000
11342 +F000
11343 +F000
11344 +F000
11345 +FF80
11346 +FF80
11347 +FF80
11348 +FF80
11349 +FF80
11350 +FF80
11351 +0F80
11352 +0F80
11353 +0F80
11354 +0000
11355 +0000
11356 +ENDCHAR
11357 +STARTCHAR char2
11358 +ENCODING 142
11359 +SWIDTH 8640 0
11360 +DWIDTH 9 0
11361 +BBX 9 16 0 -4
11362 +BITMAP
11363 +0F80
11364 +0F80
11365 +0F80
11366 +0F80
11367 +0F80
11368 +FF80
11369 +FF80
11370 +FF80
11371 +FF80
11372 +FF80
11373 +FF80
11374 +0F80
11375 +0F80
11376 +0F80
11377 +0000
11378 +0000
11379 +ENDCHAR
11380 +STARTCHAR char1
11381 +ENCODING 143
11382 +SWIDTH 8640 0
11383 +DWIDTH 9 0
11384 +BBX 9 16 0 -4
11385 +BITMAP
11386 +FF80
11387 +FF80
11388 +FF80
11389 +FF80
11390 +FF80
11391 +FF80
11392 +FF80
11393 +FF80
11394 +FF80
11395 +FF80
11396 +FF80
11397 +0F80
11398 +0F80
11399 +0F80
11400 +0000
11401 +0000
11402 +ENDCHAR
11403 +STARTCHAR char0
11404 +ENCODING 144
11405 +SWIDTH 8640 0
11406 +DWIDTH 9 0
11407 +BBX 9 16 0 -4
11408 +BITMAP
11409 +0000
11410 +0000
11411 +0000
11412 +0000
11413 +0000
11414 +0000
11415 +0000
11416 +0000
11417 +0000
11418 +0000
11419 +0000
11420 +FF80
11421 +FF80
11422 +FF80
11423 +0000
11424 +0000
11425 +ENDCHAR
11426 +STARTCHAR char1
11427 +ENCODING 145
11428 +SWIDTH 8640 0
11429 +DWIDTH 9 0
11430 +BBX 9 16 0 -4
11431 +BITMAP
11432 +F000
11433 +F000
11434 +F000
11435 +F000
11436 +F000
11437 +0000
11438 +0000
11439 +0000
11440 +0000
11441 +0000
11442 +0000
11443 +FF80
11444 +FF80
11445 +FF80
11446 +0000
11447 +0000
11448 +ENDCHAR
11449 +STARTCHAR char2
11450 +ENCODING 146
11451 +SWIDTH 8640 0
11452 +DWIDTH 9 0
11453 +BBX 9 16 0 -4
11454 +BITMAP
11455 +0F80
11456 +0F80
11457 +0F80
11458 +0F80
11459 +0F80
11460 +0000
11461 +0000
11462 +0000
11463 +0000
11464 +0000
11465 +0000
11466 +FF80
11467 +FF80
11468 +FF80
11469 +0000
11470 +0000
11471 +ENDCHAR
11472 +STARTCHAR char1
11473 +ENCODING 147
11474 +SWIDTH 8640 0
11475 +DWIDTH 9 0
11476 +BBX 9 16 0 -4
11477 +BITMAP
11478 +FF80
11479 +FF80
11480 +FF80
11481 +FF80
11482 +FF80
11483 +0000
11484 +0000
11485 +0000
11486 +0000
11487 +0000
11488 +0000
11489 +FF80
11490 +FF80
11491 +FF80
11492 +0000
11493 +0000
11494 +ENDCHAR
11495 +STARTCHAR char0
11496 +ENCODING 148
11497 +SWIDTH 8640 0
11498 +DWIDTH 9 0
11499 +BBX 9 16 0 -4
11500 +BITMAP
11501 +0000
11502 +0000
11503 +0000
11504 +0000
11505 +0000
11506 +F000
11507 +F000
11508 +F000
11509 +F000
11510 +F000
11511 +F000
11512 +FF80
11513 +FF80
11514 +FF80
11515 +0000
11516 +0000
11517 +ENDCHAR
11518 +STARTCHAR char1
11519 +ENCODING 149
11520 +SWIDTH 8640 0
11521 +DWIDTH 9 0
11522 +BBX 9 16 0 -4
11523 +BITMAP
11524 +F000
11525 +F000
11526 +F000
11527 +F000
11528 +F000
11529 +F000
11530 +F000
11531 +F000
11532 +F000
11533 +F000
11534 +F000
11535 +FF80
11536 +FF80
11537 +FF80
11538 +0000
11539 +0000
11540 +ENDCHAR
11541 +STARTCHAR char2
11542 +ENCODING 150
11543 +SWIDTH 8640 0
11544 +DWIDTH 9 0
11545 +BBX 9 16 0 -4
11546 +BITMAP
11547 +0F80
11548 +0F80
11549 +0F80
11550 +0F80
11551 +0F80
11552 +F000
11553 +F000
11554 +F000
11555 +F000
11556 +F000
11557 +F000
11558 +FF80
11559 +FF80
11560 +FF80
11561 +0000
11562 +0000
11563 +ENDCHAR
11564 +STARTCHAR char1
11565 +ENCODING 151
11566 +SWIDTH 8640 0
11567 +DWIDTH 9 0
11568 +BBX 9 16 0 -4
11569 +BITMAP
11570 +FF80
11571 +FF80
11572 +FF80
11573 +FF80
11574 +FF80
11575 +F000
11576 +F000
11577 +F000
11578 +F000
11579 +F000
11580 +F000
11581 +FF80
11582 +FF80
11583 +FF80
11584 +0000
11585 +0000
11586 +ENDCHAR
11587 +STARTCHAR char0
11588 +ENCODING 152
11589 +SWIDTH 8640 0
11590 +DWIDTH 9 0
11591 +BBX 9 16 0 -4
11592 +BITMAP
11593 +0000
11594 +0000
11595 +0000
11596 +0000
11597 +0000
11598 +0F80
11599 +0F80
11600 +0F80
11601 +0F80
11602 +0F80
11603 +0F80
11604 +FF80
11605 +FF80
11606 +FF80
11607 +0000
11608 +0000
11609 +ENDCHAR
11610 +STARTCHAR char1
11611 +ENCODING 153
11612 +SWIDTH 8640 0
11613 +DWIDTH 9 0
11614 +BBX 9 16 0 -4
11615 +BITMAP
11616 +F000
11617 +F000
11618 +F000
11619 +F000
11620 +F000
11621 +0F80
11622 +0F80
11623 +0F80
11624 +0F80
11625 +0F80
11626 +0F80
11627 +FF80
11628 +FF80
11629 +FF80
11630 +0000
11631 +0000
11632 +ENDCHAR
11633 +STARTCHAR char2
11634 +ENCODING 154
11635 +SWIDTH 8640 0
11636 +DWIDTH 9 0
11637 +BBX 9 16 0 -4
11638 +BITMAP
11639 +0F80
11640 +0F80
11641 +0F80
11642 +0F80
11643 +0F80
11644 +0F80
11645 +0F80
11646 +0F80
11647 +0F80
11648 +0F80
11649 +0F80
11650 +FF80
11651 +FF80
11652 +FF80
11653 +0000
11654 +0000
11655 +ENDCHAR
11656 +STARTCHAR char1
11657 +ENCODING 155
11658 +SWIDTH 8640 0
11659 +DWIDTH 9 0
11660 +BBX 9 16 0 -4
11661 +BITMAP
11662 +FF80
11663 +FF80
11664 +FF80
11665 +FF80
11666 +FF80
11667 +0F80
11668 +0F80
11669 +0F80
11670 +0F80
11671 +0F80
11672 +0F80
11673 +FF80
11674 +FF80
11675 +FF80
11676 +0000
11677 +0000
11678 +ENDCHAR
11679 +STARTCHAR char0
11680 +ENCODING 156
11681 +SWIDTH 8640 0
11682 +DWIDTH 9 0
11683 +BBX 9 16 0 -4
11684 +BITMAP
11685 +0000
11686 +0000
11687 +0000
11688 +0000
11689 +0000
11690 +FF80
11691 +FF80
11692 +FF80
11693 +FF80
11694 +FF80
11695 +FF80
11696 +FF80
11697 +FF80
11698 +FF80
11699 +0000
11700 +0000
11701 +ENDCHAR
11702 +STARTCHAR char1
11703 +ENCODING 157
11704 +SWIDTH 8640 0
11705 +DWIDTH 9 0
11706 +BBX 9 16 0 -4
11707 +BITMAP
11708 +F000
11709 +F000
11710 +F000
11711 +F000
11712 +F000
11713 +FF80
11714 +FF80
11715 +FF80
11716 +FF80
11717 +FF80
11718 +FF80
11719 +FF80
11720 +FF80
11721 +FF80
11722 +0000
11723 +0000
11724 +ENDCHAR
11725 +STARTCHAR char2
11726 +ENCODING 158
11727 +SWIDTH 8640 0
11728 +DWIDTH 9 0
11729 +BBX 9 16 0 -4
11730 +BITMAP
11731 +0F80
11732 +0F80
11733 +0F80
11734 +0F80
11735 +0F80
11736 +FF80
11737 +FF80
11738 +FF80
11739 +FF80
11740 +FF80
11741 +FF80
11742 +FF80
11743 +FF80
11744 +FF80
11745 +0000
11746 +0000
11747 +ENDCHAR
11748 +STARTCHAR char1
11749 +ENCODING 159
11750 +SWIDTH 8640 0
11751 +DWIDTH 9 0
11752 +BBX 9 16 0 -4
11753 +BITMAP
11754 +FF80
11755 +FF80
11756 +FF80
11757 +FF80
11758 +FF80
11759 +FF80
11760 +FF80
11761 +FF80
11762 +FF80
11763 +FF80
11764 +FF80
11765 +FF80
11766 +FF80
11767 +FF80
11768 +0000
11769 +0000
11770 +ENDCHAR
11771 +STARTCHAR U+00A0 NO-BREAK SPACE
11772 +ENCODING 160
11773 +SWIDTH 8640 0
11774 +DWIDTH 9 0
11775 +BBX 9 16 0 -4
11776 +BITMAP
11777 +0000
11778 +0000
11779 +0000
11780 +0000
11781 +0000
11782 +0000
11783 +0000
11784 +0000
11785 +0000
11786 +0000
11787 +0000
11788 +0000
11789 +0000
11790 +0000
11791 +0000
11792 +0000
11793 +ENDCHAR
11794 +STARTCHAR U+02BD MODIFIER LETTER REVERSED COMMA
11795 +ENCODING 161
11796 +SWIDTH 8640 0
11797 +DWIDTH 9 0
11798 +BBX 9 16 0 -4
11799 +BITMAP
11800 +1800
11801 +1000
11802 +1000
11803 +0800
11804 +0000
11805 +0000
11806 +0000
11807 +0000
11808 +0000
11809 +0000
11810 +0000
11811 +0000
11812 +0000
11813 +0000
11814 +0000
11815 +0000
11816 +ENDCHAR
11817 +STARTCHAR U+02BC MODIFIER LETTER APOSTROPHE
11818 +ENCODING 162
11819 +SWIDTH 8640 0
11820 +DWIDTH 9 0
11821 +BBX 9 16 0 -4
11822 +BITMAP
11823 +1800
11824 +0800
11825 +0800
11826 +1000
11827 +0000
11828 +0000
11829 +0000
11830 +0000
11831 +0000
11832 +0000
11833 +0000
11834 +0000
11835 +0000
11836 +0000
11837 +0000
11838 +0000
11839 +ENDCHAR
11840 +STARTCHAR U+00A3 POUND SIGN
11841 +ENCODING 163
11842 +SWIDTH 8640 0
11843 +DWIDTH 9 0
11844 +BBX 9 16 0 -4
11845 +BITMAP
11846 +0000
11847 +0000
11848 +0E00
11849 +1000
11850 +1000
11851 +1000
11852 +7C00
11853 +1000
11854 +1000
11855 +1000
11856 +3E00
11857 +6100
11858 +0000
11859 +0000
11860 +0000
11861 +0000
11862 +ENDCHAR
11863 +STARTCHAR U+00A6 BROKEN BAR
11864 +ENCODING 166
11865 +SWIDTH 8640 0
11866 +DWIDTH 9 0
11867 +BBX 9 16 0 -4
11868 +BITMAP
11869 +0000
11870 +0000
11871 +0800
11872 +0800
11873 +0800
11874 +0800
11875 +0000
11876 +0000
11877 +0800
11878 +0800
11879 +0800
11880 +0800
11881 +0000
11882 +0000
11883 +0000
11884 +0000
11885 +ENDCHAR
11886 +STARTCHAR U+00A7 SECTION SIGN
11887 +ENCODING 167
11888 +SWIDTH 8640 0
11889 +DWIDTH 9 0
11890 +BBX 9 16 0 -4
11891 +BITMAP
11892 +0000
11893 +0000
11894 +3C00
11895 +4200
11896 +4000
11897 +3C00
11898 +4200
11899 +4200
11900 +3C00
11901 +0200
11902 +4200
11903 +3C00
11904 +0000
11905 +0000
11906 +0000
11907 +0000
11908 +ENDCHAR
11909 +STARTCHAR U+00A8 DIAERESIS
11910 +ENCODING 168
11911 +SWIDTH 8640 0
11912 +DWIDTH 9 0
11913 +BBX 9 16 0 -4
11914 +BITMAP
11915 +2400
11916 +2400
11917 +0000
11918 +0000
11919 +0000
11920 +0000
11921 +0000
11922 +0000
11923 +0000
11924 +0000
11925 +0000
11926 +0000
11927 +0000
11928 +0000
11929 +0000
11930 +0000
11931 +ENDCHAR
11932 +STARTCHAR U+00A9 COPYRIGHT SIGN
11933 +ENCODING 169
11934 +SWIDTH 8640 0
11935 +DWIDTH 9 0
11936 +BBX 9 16 0 -4
11937 +BITMAP
11938 +0000
11939 +0000
11940 +3C00
11941 +4200
11942 +9900
11943 +A500
11944 +A100
11945 +A100
11946 +A500
11947 +9900
11948 +4200
11949 +3C00
11950 +0000
11951 +0000
11952 +0000
11953 +0000
11954 +ENDCHAR
11955 +STARTCHAR U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
11956 +ENCODING 171
11957 +SWIDTH 8640 0
11958 +DWIDTH 9 0
11959 +BBX 9 16 0 -4
11960 +BITMAP
11961 +0000
11962 +0000
11963 +0000
11964 +1200
11965 +1200
11966 +2400
11967 +2400
11968 +4800
11969 +2400
11970 +2400
11971 +1200
11972 +1200
11973 +0000
11974 +0000
11975 +0000
11976 +0000
11977 +ENDCHAR
11978 +STARTCHAR U+00AC NOT SIGN
11979 +ENCODING 172
11980 +SWIDTH 8640 0
11981 +DWIDTH 9 0
11982 +BBX 9 16 0 -4
11983 +BITMAP
11984 +0000
11985 +0000
11986 +0000
11987 +0000
11988 +0000
11989 +0000
11990 +0000
11991 +0000
11992 +7E00
11993 +0200
11994 +0200
11995 +0200
11996 +0000
11997 +0000
11998 +0000
11999 +0000
12000 +ENDCHAR
12001 +STARTCHAR U+00AD SOFT HYPHEN
12002 +ENCODING 173
12003 +SWIDTH 8640 0
12004 +DWIDTH 9 0
12005 +BBX 9 16 0 -4
12006 +BITMAP
12007 +0000
12008 +0000
12009 +0000
12010 +0000
12011 +0000
12012 +0000
12013 +0000
12014 +7E00
12015 +0000
12016 +0000
12017 +0000
12018 +0000
12019 +0000
12020 +0000
12021 +0000
12022 +0000
12023 +ENDCHAR
12024 +STARTCHAR U+2015 HORIZONTAL BAR
12025 +ENCODING 175
12026 +SWIDTH 8640 0
12027 +DWIDTH 9 0
12028 +BBX 9 16 0 -4
12029 +BITMAP
12030 +0000
12031 +0000
12032 +0000
12033 +0000
12034 +0000
12035 +0000
12036 +0000
12037 +FF00
12038 +0000
12039 +0000
12040 +0000
12041 +0000
12042 +0000
12043 +0000
12044 +0000
12045 +0000
12046 +ENDCHAR
12047 +STARTCHAR U+00B0 DEGREE SIGN
12048 +ENCODING 176
12049 +SWIDTH 8640 0
12050 +DWIDTH 9 0
12051 +BBX 9 16 0 -4
12052 +BITMAP
12053 +1000
12054 +2800
12055 +2800
12056 +1000
12057 +0000
12058 +0000
12059 +0000
12060 +0000
12061 +0000
12062 +0000
12063 +0000
12064 +0000
12065 +0000
12066 +0000
12067 +0000
12068 +0000
12069 +ENDCHAR
12070 +STARTCHAR U+00B1 PLUS-MINUS SIGN
12071 +ENCODING 177
12072 +SWIDTH 8640 0
12073 +DWIDTH 9 0
12074 +BBX 9 16 0 -4
12075 +BITMAP
12076 +0000
12077 +0000
12078 +0800
12079 +0800
12080 +0800
12081 +7F00
12082 +0800
12083 +0800
12084 +0800
12085 +0000
12086 +7F00
12087 +0000
12088 +0000
12089 +0000
12090 +0000
12091 +0000
12092 +ENDCHAR
12093 +STARTCHAR U+00B2 SUPERSCRIPT TWO
12094 +ENCODING 178
12095 +SWIDTH 8640 0
12096 +DWIDTH 9 0
12097 +BBX 9 16 0 -4
12098 +BITMAP
12099 +1C00
12100 +2200
12101 +0200
12102 +1C00
12103 +2000
12104 +2000
12105 +3E00
12106 +0000
12107 +0000
12108 +0000
12109 +0000
12110 +0000
12111 +0000
12112 +0000
12113 +0000
12114 +0000
12115 +ENDCHAR
12116 +STARTCHAR U+00B3 SUPERSCRIPT THREE
12117 +ENCODING 179
12118 +SWIDTH 8640 0
12119 +DWIDTH 9 0
12120 +BBX 9 16 0 -4
12121 +BITMAP
12122 +1C00
12123 +2200
12124 +0200
12125 +1C00
12126 +0200
12127 +2200
12128 +1C00
12129 +0000
12130 +0000
12131 +0000
12132 +0000
12133 +0000
12134 +0000
12135 +0000
12136 +0000
12137 +0000
12138 +ENDCHAR
12139 +STARTCHAR U+0384 GREEK TONOS
12140 +ENCODING 180
12141 +SWIDTH 8640 0
12142 +DWIDTH 9 0
12143 +BBX 9 16 0 -4
12144 +BITMAP
12145 +1000
12146 +1000
12147 +1000
12148 +0000
12149 +0000
12150 +0000
12151 +0000
12152 +0000
12153 +0000
12154 +0000
12155 +0000
12156 +0000
12157 +0000
12158 +0000
12159 +0000
12160 +0000
12161 +ENDCHAR
12162 +STARTCHAR U+0385 GREEK DIALYTIKA TONOS
12163 +ENCODING 181
12164 +SWIDTH 8640 0
12165 +DWIDTH 9 0
12166 +BBX 9 16 0 -4
12167 +BITMAP
12168 +1000
12169 +1000
12170 +1000
12171 +4400
12172 +4400
12173 +0000
12174 +0000
12175 +0000
12176 +0000
12177 +0000
12178 +0000
12179 +0000
12180 +0000
12181 +0000
12182 +0000
12183 +0000
12184 +ENDCHAR
12185 +STARTCHAR U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS
12186 +ENCODING 182
12187 +SWIDTH 8640 0
12188 +DWIDTH 9 0
12189 +BBX 9 16 0 -4
12190 +BITMAP
12191 +4000
12192 +4000
12193 +0000
12194 +1800
12195 +2400
12196 +2400
12197 +4200
12198 +4200
12199 +7E00
12200 +4200
12201 +4200
12202 +4200
12203 +0000
12204 +0000
12205 +0000
12206 +0000
12207 +ENDCHAR
12208 +STARTCHAR U+00B7 MIDDLE DOT
12209 +ENCODING 183
12210 +SWIDTH 8640 0
12211 +DWIDTH 9 0
12212 +BBX 9 16 0 -4
12213 +BITMAP
12214 +0000
12215 +0000
12216 +0000
12217 +0000
12218 +0000
12219 +0000
12220 +1800
12221 +1800
12222 +0000
12223 +0000
12224 +0000
12225 +0000
12226 +0000
12227 +0000
12228 +0000
12229 +0000
12230 +ENDCHAR
12231 +STARTCHAR U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS
12232 +ENCODING 184
12233 +SWIDTH 8640 0
12234 +DWIDTH 9 0
12235 +BBX 9 16 0 -4
12236 +BITMAP
12237 +4000
12238 +4000
12239 +0000
12240 +7E00
12241 +4000
12242 +4000
12243 +4000
12244 +7C00
12245 +4000
12246 +4000
12247 +4000
12248 +7E00
12249 +0000
12250 +0000
12251 +0000
12252 +0000
12253 +ENDCHAR
12254 +STARTCHAR U+0389 GREEK CAPITAL LETTER ETA WITH TONOS
12255 +ENCODING 185
12256 +SWIDTH 8640 0
12257 +DWIDTH 9 0
12258 +BBX 9 16 0 -4
12259 +BITMAP
12260 +4000
12261 +4000
12262 +0000
12263 +4200
12264 +4200
12265 +4200
12266 +4200
12267 +7E00
12268 +4200
12269 +4200
12270 +4200
12271 +4200
12272 +0000
12273 +0000
12274 +0000
12275 +0000
12276 +ENDCHAR
12277 +STARTCHAR U+038A GREEK CAPITAL LETTER IOTA WITH TONOS
12278 +ENCODING 186
12279 +SWIDTH 8640 0
12280 +DWIDTH 9 0
12281 +BBX 9 16 0 -4
12282 +BITMAP
12283 +4000
12284 +4000
12285 +0000
12286 +3E00
12287 +0800
12288 +0800
12289 +0800
12290 +0800
12291 +0800
12292 +0800
12293 +0800
12294 +3E00
12295 +0000
12296 +0000
12297 +0000
12298 +0000
12299 +ENDCHAR
12300 +STARTCHAR U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
12301 +ENCODING 187
12302 +SWIDTH 8640 0
12303 +DWIDTH 9 0
12304 +BBX 9 16 0 -4
12305 +BITMAP
12306 +0000
12307 +0000
12308 +0000
12309 +4800
12310 +4800
12311 +2400
12312 +2400
12313 +1200
12314 +2400
12315 +2400
12316 +4800
12317 +4800
12318 +0000
12319 +0000
12320 +0000
12321 +0000
12322 +ENDCHAR
12323 +STARTCHAR U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS
12324 +ENCODING 188
12325 +SWIDTH 8640 0
12326 +DWIDTH 9 0
12327 +BBX 9 16 0 -4
12328 +BITMAP
12329 +4000
12330 +4000
12331 +0000
12332 +3C00
12333 +4200
12334 +4200
12335 +4200
12336 +4200
12337 +4200
12338 +4200
12339 +4200
12340 +3C00
12341 +0000
12342 +0000
12343 +0000
12344 +0000
12345 +ENDCHAR
12346 +STARTCHAR U+00BD VULGAR FRACTION ONE HALF
12347 +ENCODING 189
12348 +SWIDTH 8640 0
12349 +DWIDTH 9 0
12350 +BBX 9 16 0 -4
12351 +BITMAP
12352 +0000
12353 +0000
12354 +2200
12355 +6200
12356 +2400
12357 +2800
12358 +2800
12359 +1400
12360 +1A00
12361 +2200
12362 +4400
12363 +4E00
12364 +0000
12365 +0000
12366 +0000
12367 +0000
12368 +ENDCHAR
12369 +STARTCHAR U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS
12370 +ENCODING 190
12371 +SWIDTH 8640 0
12372 +DWIDTH 9 0
12373 +BBX 9 16 0 -4
12374 +BITMAP
12375 +4000
12376 +4000
12377 +0000
12378 +4100
12379 +4100
12380 +2200
12381 +2200
12382 +1400
12383 +0800
12384 +0800
12385 +0800
12386 +0800
12387 +0000
12388 +0000
12389 +0000
12390 +0000
12391 +ENDCHAR
12392 +STARTCHAR U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS
12393 +ENCODING 191
12394 +SWIDTH 8640 0
12395 +DWIDTH 9 0
12396 +BBX 9 16 0 -4
12397 +BITMAP
12398 +4000
12399 +4000
12400 +0000
12401 +3E00
12402 +4100
12403 +4100
12404 +4100
12405 +4100
12406 +2200
12407 +1400
12408 +1400
12409 +7700
12410 +0000
12411 +0000
12412 +0000
12413 +0000
12414 +ENDCHAR
12415 +STARTCHAR U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
12416 +ENCODING 192
12417 +SWIDTH 8640 0
12418 +DWIDTH 9 0
12419 +BBX 9 16 0 -4
12420 +BITMAP
12421 +0000
12422 +1000
12423 +5400
12424 +4400
12425 +0000
12426 +1000
12427 +1000
12428 +1000
12429 +1000
12430 +1000
12431 +1000
12432 +0C00
12433 +0000
12434 +0000
12435 +0000
12436 +0000
12437 +ENDCHAR
12438 +STARTCHAR U+0391 GREEK CAPITAL LETTER ALPHA
12439 +ENCODING 193
12440 +SWIDTH 8640 0
12441 +DWIDTH 9 0
12442 +BBX 9 16 0 -4
12443 +BITMAP
12444 +0000
12445 +0000
12446 +1800
12447 +2400
12448 +2400
12449 +4200
12450 +4200
12451 +7E00
12452 +4200
12453 +4200
12454 +4200
12455 +4200
12456 +0000
12457 +0000
12458 +0000
12459 +0000
12460 +ENDCHAR
12461 +STARTCHAR U+0392 GREEK CAPITAL LETTER BETA
12462 +ENCODING 194
12463 +SWIDTH 8640 0
12464 +DWIDTH 9 0
12465 +BBX 9 16 0 -4
12466 +BITMAP
12467 +0000
12468 +0000
12469 +7C00
12470 +4200
12471 +4200
12472 +4200
12473 +7C00
12474 +4200
12475 +4200
12476 +4200
12477 +4200
12478 +7C00
12479 +0000
12480 +0000
12481 +0000
12482 +0000
12483 +ENDCHAR
12484 +STARTCHAR U+0393 GREEK CAPITAL LETTER GAMMA
12485 +ENCODING 195
12486 +SWIDTH 8640 0
12487 +DWIDTH 9 0
12488 +BBX 9 16 0 -4
12489 +BITMAP
12490 +0000
12491 +0000
12492 +7E00
12493 +4000
12494 +4000
12495 +4000
12496 +4000
12497 +4000
12498 +4000
12499 +4000
12500 +4000
12501 +4000
12502 +0000
12503 +0000
12504 +0000
12505 +0000
12506 +ENDCHAR
12507 +STARTCHAR U+0394 GREEK CAPITAL LETTER DELTA
12508 +ENCODING 196
12509 +SWIDTH 8640 0
12510 +DWIDTH 9 0
12511 +BBX 9 16 0 -4
12512 +BITMAP
12513 +0000
12514 +0000
12515 +0800
12516 +0800
12517 +1400
12518 +1400
12519 +2200
12520 +2200
12521 +2200
12522 +4100
12523 +4100
12524 +7F00
12525 +0000
12526 +0000
12527 +0000
12528 +0000
12529 +ENDCHAR
12530 +STARTCHAR U+0395 GREEK CAPITAL LETTER EPSILON
12531 +ENCODING 197
12532 +SWIDTH 8640 0
12533 +DWIDTH 9 0
12534 +BBX 9 16 0 -4
12535 +BITMAP
12536 +0000
12537 +0000
12538 +7E00
12539 +4000
12540 +4000
12541 +4000
12542 +7C00
12543 +4000
12544 +4000
12545 +4000
12546 +4000
12547 +7E00
12548 +0000
12549 +0000
12550 +0000
12551 +0000
12552 +ENDCHAR
12553 +STARTCHAR U+0396 GREEK CAPITAL LETTER ZETA
12554 +ENCODING 198
12555 +SWIDTH 8640 0
12556 +DWIDTH 9 0
12557 +BBX 9 16 0 -4
12558 +BITMAP
12559 +0000
12560 +0000
12561 +7E00
12562 +0200
12563 +0200
12564 +0400
12565 +0800
12566 +1000
12567 +2000
12568 +4000
12569 +4000
12570 +7E00
12571 +0000
12572 +0000
12573 +0000
12574 +0000
12575 +ENDCHAR
12576 +STARTCHAR U+0397 GREEK CAPITAL LETTER ETA
12577 +ENCODING 199
12578 +SWIDTH 8640 0
12579 +DWIDTH 9 0
12580 +BBX 9 16 0 -4
12581 +BITMAP
12582 +0000
12583 +0000
12584 +4200
12585 +4200
12586 +4200
12587 +4200
12588 +7E00
12589 +4200
12590 +4200
12591 +4200
12592 +4200
12593 +4200
12594 +0000
12595 +0000
12596 +0000
12597 +0000
12598 +ENDCHAR
12599 +STARTCHAR U+0398 GREEK CAPITAL LETTER THETA
12600 +ENCODING 200
12601 +SWIDTH 8640 0
12602 +DWIDTH 9 0
12603 +BBX 9 16 0 -4
12604 +BITMAP
12605 +0000
12606 +0000
12607 +3C00
12608 +4200
12609 +4200
12610 +4200
12611 +7E00
12612 +4200
12613 +4200
12614 +4200
12615 +4200
12616 +3C00
12617 +0000
12618 +0000
12619 +0000
12620 +0000
12621 +ENDCHAR
12622 +STARTCHAR U+0399 GREEK CAPITAL LETTER IOTA
12623 +ENCODING 201
12624 +SWIDTH 8640 0
12625 +DWIDTH 9 0
12626 +BBX 9 16 0 -4
12627 +BITMAP
12628 +0000
12629 +0000
12630 +3E00
12631 +0800
12632 +0800
12633 +0800
12634 +0800
12635 +0800
12636 +0800
12637 +0800
12638 +0800
12639 +3E00
12640 +0000
12641 +0000
12642 +0000
12643 +0000
12644 +ENDCHAR
12645 +STARTCHAR U+039A GREEK CAPITAL LETTER KAPPA
12646 +ENCODING 202
12647 +SWIDTH 8640 0
12648 +DWIDTH 9 0
12649 +BBX 9 16 0 -4
12650 +BITMAP
12651 +0000
12652 +0000
12653 +4200
12654 +4400
12655 +4800
12656 +5000
12657 +6000
12658 +6000
12659 +5000
12660 +4800
12661 +4400
12662 +4200
12663 +0000
12664 +0000
12665 +0000
12666 +0000
12667 +ENDCHAR
12668 +STARTCHAR U+039B GREEK CAPITAL LETTER LAMDA
12669 +ENCODING 203
12670 +SWIDTH 8640 0
12671 +DWIDTH 9 0
12672 +BBX 9 16 0 -4
12673 +BITMAP
12674 +0000
12675 +0000
12676 +0800
12677 +0800
12678 +1400
12679 +1400
12680 +2200
12681 +2200
12682 +2200
12683 +4100
12684 +4100
12685 +4100
12686 +0000
12687 +0000
12688 +0000
12689 +0000
12690 +ENDCHAR
12691 +STARTCHAR U+039C GREEK CAPITAL LETTER MU
12692 +ENCODING 204
12693 +SWIDTH 8640 0
12694 +DWIDTH 9 0
12695 +BBX 9 16 0 -4
12696 +BITMAP
12697 +0000
12698 +0000
12699 +4200
12700 +4200
12701 +6600
12702 +6600
12703 +5A00
12704 +5A00
12705 +4200
12706 +4200
12707 +4200
12708 +4200
12709 +0000
12710 +0000
12711 +0000
12712 +0000
12713 +ENDCHAR
12714 +STARTCHAR U+039D GREEK CAPITAL LETTER NU
12715 +ENCODING 205
12716 +SWIDTH 8640 0
12717 +DWIDTH 9 0
12718 +BBX 9 16 0 -4
12719 +BITMAP
12720 +0000
12721 +0000
12722 +4200
12723 +6200
12724 +6200
12725 +5200
12726 +5200
12727 +4A00
12728 +4A00
12729 +4600
12730 +4600
12731 +4200
12732 +0000
12733 +0000
12734 +0000
12735 +0000
12736 +ENDCHAR
12737 +STARTCHAR U+039E GREEK CAPITAL LETTER XI
12738 +ENCODING 206
12739 +SWIDTH 8640 0
12740 +DWIDTH 9 0
12741 +BBX 9 16 0 -4
12742 +BITMAP
12743 +0000
12744 +0000
12745 +7E00
12746 +0000
12747 +0000
12748 +0000
12749 +3C00
12750 +0000
12751 +0000
12752 +0000
12753 +0000
12754 +7E00
12755 +0000
12756 +0000
12757 +0000
12758 +0000
12759 +ENDCHAR
12760 +STARTCHAR U+039F GREEK CAPITAL LETTER OMICRON
12761 +ENCODING 207
12762 +SWIDTH 8640 0
12763 +DWIDTH 9 0
12764 +BBX 9 16 0 -4
12765 +BITMAP
12766 +0000
12767 +0000
12768 +3C00
12769 +4200
12770 +4200
12771 +4200
12772 +4200
12773 +4200
12774 +4200
12775 +4200
12776 +4200
12777 +3C00
12778 +0000
12779 +0000
12780 +0000
12781 +0000
12782 +ENDCHAR
12783 +STARTCHAR U+03A0 GREEK CAPITAL LETTER PI
12784 +ENCODING 208
12785 +SWIDTH 8640 0
12786 +DWIDTH 9 0
12787 +BBX 9 16 0 -4
12788 +BITMAP
12789 +0000
12790 +0000
12791 +7F00
12792 +2200
12793 +2200
12794 +2200
12795 +2200
12796 +2200
12797 +2200
12798 +2200
12799 +2200
12800 +2200
12801 +0000
12802 +0000
12803 +0000
12804 +0000
12805 +ENDCHAR
12806 +STARTCHAR U+03A1 GREEK CAPITAL LETTER RHO
12807 +ENCODING 209
12808 +SWIDTH 8640 0
12809 +DWIDTH 9 0
12810 +BBX 9 16 0 -4
12811 +BITMAP
12812 +0000
12813 +0000
12814 +7C00
12815 +4200
12816 +4200
12817 +4200
12818 +7C00
12819 +4000
12820 +4000
12821 +4000
12822 +4000
12823 +4000
12824 +0000
12825 +0000
12826 +0000
12827 +0000
12828 +ENDCHAR
12829 +STARTCHAR U+03A3 GREEK CAPITAL LETTER SIGMA
12830 +ENCODING 211
12831 +SWIDTH 8640 0
12832 +DWIDTH 9 0
12833 +BBX 9 16 0 -4
12834 +BITMAP
12835 +0000
12836 +0000
12837 +7E00
12838 +4000
12839 +2000
12840 +1000
12841 +0800
12842 +0800
12843 +1000
12844 +2000
12845 +4000
12846 +7E00
12847 +0000
12848 +0000
12849 +0000
12850 +0000
12851 +ENDCHAR
12852 +STARTCHAR U+03A4 GREEK CAPITAL LETTER TAU
12853 +ENCODING 212
12854 +SWIDTH 8640 0
12855 +DWIDTH 9 0
12856 +BBX 9 16 0 -4
12857 +BITMAP
12858 +0000
12859 +0000
12860 +7F00
12861 +0800
12862 +0800
12863 +0800
12864 +0800
12865 +0800
12866 +0800
12867 +0800
12868 +0800
12869 +0800
12870 +0000
12871 +0000
12872 +0000
12873 +0000
12874 +ENDCHAR
12875 +STARTCHAR U+03A5 GREEK CAPITAL LETTER UPSILON
12876 +ENCODING 213
12877 +SWIDTH 8640 0
12878 +DWIDTH 9 0
12879 +BBX 9 16 0 -4
12880 +BITMAP
12881 +0000
12882 +0000
12883 +4100
12884 +4100
12885 +2200
12886 +2200
12887 +1400
12888 +0800
12889 +0800
12890 +0800
12891 +0800
12892 +0800
12893 +0000
12894 +0000
12895 +0000
12896 +0000
12897 +ENDCHAR
12898 +STARTCHAR U+03A6 GREEK CAPITAL LETTER PHI
12899 +ENCODING 214
12900 +SWIDTH 8640 0
12901 +DWIDTH 9 0
12902 +BBX 9 16 0 -4
12903 +BITMAP
12904 +0000
12905 +0000
12906 +1C00
12907 +0800
12908 +3E00
12909 +4900
12910 +4900
12911 +4900
12912 +4900
12913 +3E00
12914 +0800
12915 +1C00
12916 +0000
12917 +0000
12918 +0000
12919 +0000
12920 +ENDCHAR
12921 +STARTCHAR U+03A7 GREEK CAPITAL LETTER CHI
12922 +ENCODING 215
12923 +SWIDTH 8640 0
12924 +DWIDTH 9 0
12925 +BBX 9 16 0 -4
12926 +BITMAP
12927 +0000
12928 +0000
12929 +4200
12930 +4200
12931 +2400
12932 +2400
12933 +1800
12934 +1800
12935 +2400
12936 +2400
12937 +4200
12938 +4200
12939 +0000
12940 +0000
12941 +0000
12942 +0000
12943 +ENDCHAR
12944 +STARTCHAR U+03A8 GREEK CAPITAL LETTER PSI
12945 +ENCODING 216
12946 +SWIDTH 8640 0
12947 +DWIDTH 9 0
12948 +BBX 9 16 0 -4
12949 +BITMAP
12950 +0000
12951 +0000
12952 +4900
12953 +4900
12954 +4900
12955 +4900
12956 +4900
12957 +3E00
12958 +0800
12959 +0800
12960 +0800
12961 +0800
12962 +0000
12963 +0000
12964 +0000
12965 +0000
12966 +ENDCHAR
12967 +STARTCHAR U+03A9 GREEK CAPITAL LETTER OMEGA
12968 +ENCODING 217
12969 +SWIDTH 8640 0
12970 +DWIDTH 9 0
12971 +BBX 9 16 0 -4
12972 +BITMAP
12973 +0000
12974 +0000
12975 +3E00
12976 +4100
12977 +4100
12978 +4100
12979 +4100
12980 +4100
12981 +2200
12982 +1400
12983 +1400
12984 +7700
12985 +0000
12986 +0000
12987 +0000
12988 +0000
12989 +ENDCHAR
12990 +STARTCHAR U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
12991 +ENCODING 218
12992 +SWIDTH 8640 0
12993 +DWIDTH 9 0
12994 +BBX 9 16 0 -4
12995 +BITMAP
12996 +2400
12997 +2400
12998 +0000
12999 +3E00
13000 +0800
13001 +0800
13002 +0800
13003 +0800
13004 +0800
13005 +0800
13006 +0800
13007 +3E00
13008 +0000
13009 +0000
13010 +0000
13011 +0000
13012 +ENDCHAR
13013 +STARTCHAR U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
13014 +ENCODING 219
13015 +SWIDTH 8640 0
13016 +DWIDTH 9 0
13017 +BBX 9 16 0 -4
13018 +BITMAP
13019 +2400
13020 +2400
13021 +0000
13022 +4100
13023 +4100
13024 +2200
13025 +2200
13026 +1400
13027 +0800
13028 +0800
13029 +0800
13030 +0800
13031 +0000
13032 +0000
13033 +0000
13034 +0000
13035 +ENDCHAR
13036 +STARTCHAR U+03AC GREEK SMALL LETTER ALPHA WITH TONOS
13037 +ENCODING 220
13038 +SWIDTH 8640 0
13039 +DWIDTH 9 0
13040 +BBX 9 16 0 -4
13041 +BITMAP
13042 +1000
13043 +1000
13044 +0000
13045 +0000
13046 +3200
13047 +4A00
13048 +4400
13049 +4400
13050 +4400
13051 +4400
13052 +4A00
13053 +3200
13054 +0000
13055 +0000
13056 +0000
13057 +0000
13058 +ENDCHAR
13059 +STARTCHAR U+03AD GREEK SMALL LETTER EPSILON WITH TONOS
13060 +ENCODING 221
13061 +SWIDTH 8640 0
13062 +DWIDTH 9 0
13063 +BBX 9 16 0 -4
13064 +BITMAP
13065 +1000
13066 +1000
13067 +0000
13068 +0000
13069 +3E00
13070 +4000
13071 +4000
13072 +3C00
13073 +4000
13074 +4000
13075 +4000
13076 +3E00
13077 +0000
13078 +0000
13079 +0000
13080 +0000
13081 +ENDCHAR
13082 +STARTCHAR U+03AE GREEK SMALL LETTER ETA WITH TONOS
13083 +ENCODING 222
13084 +SWIDTH 8640 0
13085 +DWIDTH 9 0
13086 +BBX 9 16 0 -4
13087 +BITMAP
13088 +1000
13089 +1000
13090 +0000
13091 +0000
13092 +5C00
13093 +6200
13094 +4200
13095 +4200
13096 +4200
13097 +4200
13098 +4200
13099 +4200
13100 +0200
13101 +0000
13102 +0000
13103 +0000
13104 +ENDCHAR
13105 +STARTCHAR U+03AF GREEK SMALL LETTER IOTA WITH TONOS
13106 +ENCODING 223
13107 +SWIDTH 8640 0
13108 +DWIDTH 9 0
13109 +BBX 9 16 0 -4
13110 +BITMAP
13111 +1000
13112 +1000
13113 +0000
13114 +0000
13115 +1000
13116 +1000
13117 +1000
13118 +1000
13119 +1000
13120 +1000
13121 +1000
13122 +0C00
13123 +0000
13124 +0000
13125 +0000
13126 +0000
13127 +ENDCHAR
13128 +STARTCHAR U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
13129 +ENCODING 224
13130 +SWIDTH 8640 0
13131 +DWIDTH 9 0
13132 +BBX 9 16 0 -4
13133 +BITMAP
13134 +1000
13135 +1000
13136 +4400
13137 +4400
13138 +0000
13139 +4200
13140 +4200
13141 +4200
13142 +4200
13143 +4200
13144 +4200
13145 +3C00
13146 +0000
13147 +0000
13148 +0000
13149 +0000
13150 +ENDCHAR
13151 +STARTCHAR U+03B1 GREEK SMALL LETTER ALPHA
13152 +ENCODING 225
13153 +SWIDTH 8640 0
13154 +DWIDTH 9 0
13155 +BBX 9 16 0 -4
13156 +BITMAP
13157 +0000
13158 +0000
13159 +0000
13160 +0000
13161 +3200
13162 +4A00
13163 +4400
13164 +4400
13165 +4400
13166 +4400
13167 +4A00
13168 +3200
13169 +0000
13170 +0000
13171 +0000
13172 +0000
13173 +ENDCHAR
13174 +STARTCHAR U+03B2 GREEK SMALL LETTER BETA
13175 +ENCODING 226
13176 +SWIDTH 8640 0
13177 +DWIDTH 9 0
13178 +BBX 9 16 0 -4
13179 +BITMAP
13180 +0000
13181 +0000
13182 +3800
13183 +4400
13184 +4400
13185 +4400
13186 +7C00
13187 +4200
13188 +4200
13189 +4200
13190 +6200
13191 +5C00
13192 +4000
13193 +4000
13194 +0000
13195 +0000
13196 +ENDCHAR
13197 +STARTCHAR U+03B3 GREEK SMALL LETTER GAMMA
13198 +ENCODING 227
13199 +SWIDTH 8640 0
13200 +DWIDTH 9 0
13201 +BBX 9 16 0 -4
13202 +BITMAP
13203 +0000
13204 +0000
13205 +0000
13206 +0000
13207 +3100
13208 +4900
13209 +0A00
13210 +0400
13211 +0800
13212 +0800
13213 +1000
13214 +1000
13215 +0000
13216 +0000
13217 +0000
13218 +0000
13219 +ENDCHAR
13220 +STARTCHAR U+03B4 GREEK SMALL LETTER DELTA
13221 +ENCODING 228
13222 +SWIDTH 8640 0
13223 +DWIDTH 9 0
13224 +BBX 9 16 0 -4
13225 +BITMAP
13226 +0000
13227 +0000
13228 +1C00
13229 +2000
13230 +2000
13231 +2000
13232 +1800
13233 +2400
13234 +4200
13235 +4200
13236 +4200
13237 +3C00
13238 +0000
13239 +0000
13240 +0000
13241 +0000
13242 +ENDCHAR
13243 +STARTCHAR U+03B5 GREEK SMALL LETTER EPSILON
13244 +ENCODING 229
13245 +SWIDTH 8640 0
13246 +DWIDTH 9 0
13247 +BBX 9 16 0 -4
13248 +BITMAP
13249 +0000
13250 +0000
13251 +0000
13252 +0000
13253 +3C00
13254 +4200
13255 +4000
13256 +3C00
13257 +4000
13258 +4000
13259 +4200
13260 +3C00
13261 +0000
13262 +0000
13263 +0000
13264 +0000
13265 +ENDCHAR
13266 +STARTCHAR U+03B6 GREEK SMALL LETTER ZETA
13267 +ENCODING 230
13268 +SWIDTH 8640 0
13269 +DWIDTH 9 0
13270 +BBX 9 16 0 -4
13271 +BITMAP
13272 +0000
13273 +0000
13274 +2000
13275 +2000
13276 +1C00
13277 +0800
13278 +1000
13279 +2000
13280 +2000
13281 +2000
13282 +2000
13283 +1C00
13284 +0200
13285 +1C00
13286 +0000
13287 +0000
13288 +ENDCHAR
13289 +STARTCHAR U+03B7 GREEK SMALL LETTER ETA
13290 +ENCODING 231
13291 +SWIDTH 8640 0
13292 +DWIDTH 9 0
13293 +BBX 9 16 0 -4
13294 +BITMAP
13295 +0000
13296 +0000
13297 +0000
13298 +0000
13299 +5C00
13300 +6200
13301 +4200
13302 +4200
13303 +4200
13304 +4200
13305 +4200
13306 +4200
13307 +0200
13308 +0200
13309 +0000
13310 +0000
13311 +ENDCHAR
13312 +STARTCHAR U+03B8 GREEK SMALL LETTER THETA
13313 +ENCODING 232
13314 +SWIDTH 8640 0
13315 +DWIDTH 9 0
13316 +BBX 9 16 0 -4
13317 +BITMAP
13318 +0000
13319 +0000
13320 +1800
13321 +2400
13322 +2400
13323 +4200
13324 +7E00
13325 +4200
13326 +4200
13327 +2400
13328 +2400
13329 +1800
13330 +0000
13331 +0000
13332 +0000
13333 +0000
13334 +ENDCHAR
13335 +STARTCHAR U+03B9 GREEK SMALL LETTER IOTA
13336 +ENCODING 233
13337 +SWIDTH 8640 0
13338 +DWIDTH 9 0
13339 +BBX 9 16 0 -4
13340 +BITMAP
13341 +0000
13342 +0000
13343 +0000
13344 +0000
13345 +1000
13346 +1000
13347 +1000
13348 +1000
13349 +1000
13350 +1000
13351 +1000
13352 +0C00
13353 +0000
13354 +0000
13355 +0000
13356 +0000
13357 +ENDCHAR
13358 +STARTCHAR U+03BA GREEK SMALL LETTER KAPPA
13359 +ENCODING 234
13360 +SWIDTH 8640 0
13361 +DWIDTH 9 0
13362 +BBX 9 16 0 -4
13363 +BITMAP
13364 +0000
13365 +0000
13366 +0000
13367 +0000
13368 +2200
13369 +2400
13370 +2800
13371 +3000
13372 +3000
13373 +2800
13374 +2400
13375 +2200
13376 +0000
13377 +0000
13378 +0000
13379 +0000
13380 +ENDCHAR
13381 +STARTCHAR U+03BB GREEK SMALL LETTER LAMDA
13382 +ENCODING 235
13383 +SWIDTH 8640 0
13384 +DWIDTH 9 0
13385 +BBX 9 16 0 -4
13386 +BITMAP
13387 +0000
13388 +0000
13389 +2000
13390 +2000
13391 +1000
13392 +1000
13393 +0800
13394 +1800
13395 +2400
13396 +2400
13397 +4200
13398 +4200
13399 +0000
13400 +0000
13401 +0000
13402 +0000
13403 +ENDCHAR
13404 +STARTCHAR U+03BC GREEK SMALL LETTER MU
13405 +ENCODING 236
13406 +SWIDTH 8640 0
13407 +DWIDTH 9 0
13408 +BBX 9 16 0 -4
13409 +BITMAP
13410 +0000
13411 +0000
13412 +0000
13413 +0000
13414 +4200
13415 +4200
13416 +4200
13417 +4200
13418 +6600
13419 +6600
13420 +5A00
13421 +4200
13422 +4000
13423 +4000
13424 +0000
13425 +0000
13426 +ENDCHAR
13427 +STARTCHAR U+03BD GREEK SMALL LETTER NU
13428 +ENCODING 237
13429 +SWIDTH 8640 0
13430 +DWIDTH 9 0
13431 +BBX 9 16 0 -4
13432 +BITMAP
13433 +0000
13434 +0000
13435 +0000
13436 +0000
13437 +4200
13438 +4200
13439 +4200
13440 +4400
13441 +4400
13442 +4800
13443 +5000
13444 +6000
13445 +0000
13446 +0000
13447 +0000
13448 +0000
13449 +ENDCHAR
13450 +STARTCHAR U+03BE GREEK SMALL LETTER XI
13451 +ENCODING 238
13452 +SWIDTH 8640 0
13453 +DWIDTH 9 0
13454 +BBX 9 16 0 -4
13455 +BITMAP
13456 +0000
13457 +0000
13458 +4000
13459 +4000
13460 +3C00
13461 +4000
13462 +4000
13463 +3C00
13464 +4000
13465 +4000
13466 +3C00
13467 +0200
13468 +0200
13469 +3C00
13470 +0000
13471 +0000
13472 +ENDCHAR
13473 +STARTCHAR U+03BF GREEK SMALL LETTER OMICRON
13474 +ENCODING 239
13475 +SWIDTH 8640 0
13476 +DWIDTH 9 0
13477 +BBX 9 16 0 -4
13478 +BITMAP
13479 +0000
13480 +0000
13481 +0000
13482 +0000
13483 +3C00
13484 +4200
13485 +4200
13486 +4200
13487 +4200
13488 +4200
13489 +4200
13490 +3C00
13491 +0000
13492 +0000
13493 +0000
13494 +0000
13495 +ENDCHAR
13496 +STARTCHAR U+03C0 GREEK SMALL LETTER PI
13497 +ENCODING 240
13498 +SWIDTH 8640 0
13499 +DWIDTH 9 0
13500 +BBX 9 16 0 -4
13501 +BITMAP
13502 +0000
13503 +0000
13504 +0000
13505 +0000
13506 +7E00
13507 +2400
13508 +2400
13509 +2400
13510 +2400
13511 +2400
13512 +2400
13513 +2400
13514 +0000
13515 +0000
13516 +0000
13517 +0000
13518 +ENDCHAR
13519 +STARTCHAR U+03C1 GREEK SMALL LETTER RHO
13520 +ENCODING 241
13521 +SWIDTH 8640 0
13522 +DWIDTH 9 0
13523 +BBX 9 16 0 -4
13524 +BITMAP
13525 +0000
13526 +0000
13527 +0000
13528 +0000
13529 +3C00
13530 +4200
13531 +4200
13532 +4200
13533 +4200
13534 +4200
13535 +6200
13536 +5C00
13537 +4000
13538 +4000
13539 +0000
13540 +0000
13541 +ENDCHAR
13542 +STARTCHAR U+03C2 GREEK SMALL LETTER FINAL SIGMA
13543 +ENCODING 242
13544 +SWIDTH 8640 0
13545 +DWIDTH 9 0
13546 +BBX 9 16 0 -4
13547 +BITMAP
13548 +0000
13549 +0000
13550 +0000
13551 +0000
13552 +1E00
13553 +2000
13554 +4000
13555 +4000
13556 +4000
13557 +2000
13558 +1C00
13559 +0200
13560 +0200
13561 +1C00
13562 +0000
13563 +0000
13564 +ENDCHAR
13565 +STARTCHAR U+03C3 GREEK SMALL LETTER SIGMA
13566 +ENCODING 243
13567 +SWIDTH 8640 0
13568 +DWIDTH 9 0
13569 +BBX 9 16 0 -4
13570 +BITMAP
13571 +0000
13572 +0000
13573 +0000
13574 +0000
13575 +3F00
13576 +4800
13577 +4400
13578 +4400
13579 +4400
13580 +4400
13581 +4400
13582 +3800
13583 +0000
13584 +0000
13585 +0000
13586 +0000
13587 +ENDCHAR
13588 +STARTCHAR U+03C4 GREEK SMALL LETTER TAU
13589 +ENCODING 244
13590 +SWIDTH 8640 0
13591 +DWIDTH 9 0
13592 +BBX 9 16 0 -4
13593 +BITMAP
13594 +0000
13595 +0000
13596 +0000
13597 +0000
13598 +7E00
13599 +1000
13600 +1000
13601 +1000
13602 +1000
13603 +1000
13604 +1000
13605 +0C00
13606 +0000
13607 +0000
13608 +0000
13609 +0000
13610 +ENDCHAR
13611 +STARTCHAR U+03C5 GREEK SMALL LETTER UPSILON
13612 +ENCODING 245
13613 +SWIDTH 8640 0
13614 +DWIDTH 9 0
13615 +BBX 9 16 0 -4
13616 +BITMAP
13617 +0000
13618 +0000
13619 +0000
13620 +0000
13621 +4200
13622 +4200
13623 +4200
13624 +4200
13625 +4200
13626 +4200
13627 +4200
13628 +3C00
13629 +0000
13630 +0000
13631 +0000
13632 +0000
13633 +ENDCHAR
13634 +STARTCHAR U+03C6 GREEK SMALL LETTER PHI
13635 +ENCODING 246
13636 +SWIDTH 8640 0
13637 +DWIDTH 9 0
13638 +BBX 9 16 0 -4
13639 +BITMAP
13640 +0000
13641 +0000
13642 +0000
13643 +0000
13644 +3E00
13645 +4900
13646 +4900
13647 +4900
13648 +4900
13649 +4900
13650 +4900
13651 +3E00
13652 +0800
13653 +0800
13654 +0000
13655 +0000
13656 +ENDCHAR
13657 +STARTCHAR U+03C7 GREEK SMALL LETTER CHI
13658 +ENCODING 247
13659 +SWIDTH 8640 0
13660 +DWIDTH 9 0
13661 +BBX 9 16 0 -4
13662 +BITMAP
13663 +0000
13664 +0000
13665 +0000
13666 +0000
13667 +4200
13668 +4200
13669 +2400
13670 +2400
13671 +1800
13672 +1800
13673 +2400
13674 +2400
13675 +4200
13676 +4200
13677 +0000
13678 +0000
13679 +ENDCHAR
13680 +STARTCHAR U+03C8 GREEK SMALL LETTER PSI
13681 +ENCODING 248
13682 +SWIDTH 8640 0
13683 +DWIDTH 9 0
13684 +BBX 9 16 0 -4
13685 +BITMAP
13686 +0000
13687 +0000
13688 +0000
13689 +0000
13690 +0000
13691 +0000
13692 +4900
13693 +4900
13694 +4900
13695 +4900
13696 +4900
13697 +3E00
13698 +0800
13699 +0800
13700 +0000
13701 +0000
13702 +ENDCHAR
13703 +STARTCHAR U+03C9 GREEK SMALL LETTER OMEGA
13704 +ENCODING 249
13705 +SWIDTH 8640 0
13706 +DWIDTH 9 0
13707 +BBX 9 16 0 -4
13708 +BITMAP
13709 +0000
13710 +0000
13711 +0000
13712 +0000
13713 +2200
13714 +4100
13715 +4100
13716 +4900
13717 +4900
13718 +4900
13719 +4900
13720 +3600
13721 +0000
13722 +0000
13723 +0000
13724 +0000
13725 +ENDCHAR
13726 +STARTCHAR U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA
13727 +ENCODING 250
13728 +SWIDTH 8640 0
13729 +DWIDTH 9 0
13730 +BBX 9 16 0 -4
13731 +BITMAP
13732 +2400
13733 +2400
13734 +0000
13735 +0000
13736 +1000
13737 +1000
13738 +1000
13739 +1000
13740 +1000
13741 +1000
13742 +1000
13743 +0C00
13744 +0000
13745 +0000
13746 +0000
13747 +0000
13748 +ENDCHAR
13749 +STARTCHAR U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA
13750 +ENCODING 251
13751 +SWIDTH 8640 0
13752 +DWIDTH 9 0
13753 +BBX 9 16 0 -4
13754 +BITMAP
13755 +2400
13756 +2400
13757 +0000
13758 +0000
13759 +4200
13760 +4200
13761 +4200
13762 +4200
13763 +4200
13764 +4200
13765 +4200
13766 +3C00
13767 +0000
13768 +0000
13769 +0000
13770 +0000
13771 +ENDCHAR
13772 +STARTCHAR U+03CC GREEK SMALL LETTER OMICRON WITH TONOS
13773 +ENCODING 252
13774 +SWIDTH 8640 0
13775 +DWIDTH 9 0
13776 +BBX 9 16 0 -4
13777 +BITMAP
13778 +1000
13779 +1000
13780 +0000
13781 +0000
13782 +3C00
13783 +4200
13784 +4200
13785 +4200
13786 +4200
13787 +4200
13788 +4200
13789 +3C00
13790 +0000
13791 +0000
13792 +0000
13793 +0000
13794 +ENDCHAR
13795 +STARTCHAR U+03CD GREEK SMALL LETTER UPSILON WITH TONOS
13796 +ENCODING 253
13797 +SWIDTH 8640 0
13798 +DWIDTH 9 0
13799 +BBX 9 16 0 -4
13800 +BITMAP
13801 +1000
13802 +1000
13803 +0000
13804 +0000
13805 +4200
13806 +4200
13807 +4200
13808 +4200
13809 +4200
13810 +4200
13811 +4200
13812 +3C00
13813 +0000
13814 +0000
13815 +0000
13816 +0000
13817 +ENDCHAR
13818 +STARTCHAR U+03CE GREEK SMALL LETTER OMEGA WITH TONOS
13819 +ENCODING 254
13820 +SWIDTH 8640 0
13821 +DWIDTH 9 0
13822 +BBX 9 16 0 -4
13823 +BITMAP
13824 +0800
13825 +0800
13826 +0000
13827 +0000
13828 +2200
13829 +4100
13830 +4100
13831 +4900
13832 +4900
13833 +4900
13834 +4900
13835 +3600
13836 +0000
13837 +0000
13838 +0000
13839 +0000
13840 +ENDCHAR
13841 +ENDFONT
13842 diff -r af23d23c278b util/alevt/vtxt-koi8.bdf
13843 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
13844 +++ b/util/alevt/vtxt-koi8.bdf  Tue Dec 21 12:13:28 2010 +0100
13845 @@ -0,0 +1,5906 @@
13846 +STARTFONT 2.1
13847 +FONT -alevt-teletext-medium-r-normal--16-1-75-75-c-90-fontspecific-1
13848 +SIZE 1 75 75
13849 +FONTBOUNDINGBOX 9 16 0 -4
13850 +STARTPROPERTIES 10
13851 +POINT_SIZE 1
13852 +PIXEL_SIZE 16
13853 +RESOLUTION_X 75
13854 +RESOLUTION_Y 75
13855 +FONT_ASCENT 12
13856 +FONT_DESCENT 4
13857 +AVERAGE_WIDTH 90
13858 +SPACING "C"
13859 +_XMBDFED_INFO "Edited with xmbdfed 3.0."
13860 +FONT "vtxt"
13861 +ENDPROPERTIES
13862 +CHARS 256
13863 +STARTCHAR char0
13864 +ENCODING 0
13865 +SWIDTH 8640 0
13866 +DWIDTH 9 0
13867 +BBX 9 16 0 -4
13868 +BITMAP
13869 +0000
13870 +0000
13871 +0000
13872 +0000
13873 +0000
13874 +0000
13875 +0000
13876 +0000
13877 +0000
13878 +0000
13879 +0000
13880 +0000
13881 +0000
13882 +0000
13883 +0000
13884 +0000
13885 +ENDCHAR
13886 +STARTCHAR char1
13887 +ENCODING 1
13888 +SWIDTH 8640 0
13889 +DWIDTH 9 0
13890 +BBX 9 16 0 -4
13891 +BITMAP
13892 +F000
13893 +F000
13894 +F000
13895 +F000
13896 +F000
13897 +0000
13898 +0000
13899 +0000
13900 +0000
13901 +0000
13902 +0000
13903 +0000
13904 +0000
13905 +0000
13906 +0000
13907 +0000
13908 +ENDCHAR
13909 +STARTCHAR char2
13910 +ENCODING 2
13911 +SWIDTH 8640 0
13912 +DWIDTH 9 0
13913 +BBX 9 16 0 -4
13914 +BITMAP
13915 +0F80
13916 +0F80
13917 +0F80
13918 +0F80
13919 +0F80
13920 +0000
13921 +0000
13922 +0000
13923 +0000
13924 +0000
13925 +0000
13926 +0000
13927 +0000
13928 +0000
13929 +0000
13930 +0000
13931 +ENDCHAR
13932 +STARTCHAR char1
13933 +ENCODING 3
13934 +SWIDTH 8640 0
13935 +DWIDTH 9 0
13936 +BBX 9 16 0 -4
13937 +BITMAP
13938 +FF80
13939 +FF80
13940 +FF80
13941 +FF80
13942 +FF80
13943 +0000
13944 +0000
13945 +0000
13946 +0000
13947 +0000
13948 +0000
13949 +0000
13950 +0000
13951 +0000
13952 +0000
13953 +0000
13954 +ENDCHAR
13955 +STARTCHAR char0
13956 +ENCODING 4
13957 +SWIDTH 8640 0
13958 +DWIDTH 9 0
13959 +BBX 9 16 0 -4
13960 +BITMAP
13961 +0000
13962 +0000
13963 +0000
13964 +0000
13965 +0000
13966 +F000
13967 +F000
13968 +F000
13969 +F000
13970 +F000
13971 +F000
13972 +0000
13973 +0000
13974 +0000
13975 +0000
13976 +0000
13977 +ENDCHAR
13978 +STARTCHAR char1
13979 +ENCODING 5
13980 +SWIDTH 8640 0
13981 +DWIDTH 9 0
13982 +BBX 9 16 0 -4
13983 +BITMAP
13984 +F000
13985 +F000
13986 +F000
13987 +F000
13988 +F000
13989 +F000
13990 +F000
13991 +F000
13992 +F000
13993 +F000
13994 +F000
13995 +0000
13996 +0000
13997 +0000
13998 +0000
13999 +0000
14000 +ENDCHAR
14001 +STARTCHAR char2
14002 +ENCODING 6
14003 +SWIDTH 8640 0
14004 +DWIDTH 9 0
14005 +BBX 9 16 0 -4
14006 +BITMAP
14007 +0F80
14008 +0F80
14009 +0F80
14010 +0F80
14011 +0F80
14012 +F000
14013 +F000
14014 +F000
14015 +F000
14016 +F000
14017 +F000
14018 +0000
14019 +0000
14020 +0000
14021 +0000
14022 +0000
14023 +ENDCHAR
14024 +STARTCHAR char1
14025 +ENCODING 7
14026 +SWIDTH 8640 0
14027 +DWIDTH 9 0
14028 +BBX 9 16 0 -4
14029 +BITMAP
14030 +FF80
14031 +FF80
14032 +FF80
14033 +FF80
14034 +FF80
14035 +F000
14036 +F000
14037 +F000
14038 +F000
14039 +F000
14040 +F000
14041 +0000
14042 +0000
14043 +0000
14044 +0000
14045 +0000
14046 +ENDCHAR
14047 +STARTCHAR char0
14048 +ENCODING 8
14049 +SWIDTH 8640 0
14050 +DWIDTH 9 0
14051 +BBX 9 16 0 -4
14052 +BITMAP
14053 +0000
14054 +0000
14055 +0000
14056 +0000
14057 +0000
14058 +0F80
14059 +0F80
14060 +0F80
14061 +0F80
14062 +0F80
14063 +0F80
14064 +0000
14065 +0000
14066 +0000
14067 +0000
14068 +0000
14069 +ENDCHAR
14070 +STARTCHAR char1
14071 +ENCODING 9
14072 +SWIDTH 8640 0
14073 +DWIDTH 9 0
14074 +BBX 9 16 0 -4
14075 +BITMAP
14076 +F000
14077 +F000
14078 +F000
14079 +F000
14080 +F000
14081 +0F80
14082 +0F80
14083 +0F80
14084 +0F80
14085 +0F80
14086 +0F80
14087 +0000
14088 +0000
14089 +0000
14090 +0000
14091 +0000
14092 +ENDCHAR
14093 +STARTCHAR char2
14094 +ENCODING 10
14095 +SWIDTH 8640 0
14096 +DWIDTH 9 0
14097 +BBX 9 16 0 -4
14098 +BITMAP
14099 +0F80
14100 +0F80
14101 +0F80
14102 +0F80
14103 +0F80
14104 +0F80
14105 +0F80
14106 +0F80
14107 +0F80
14108 +0F80
14109 +0F80
14110 +0000
14111 +0000
14112 +0000
14113 +0000
14114 +0000
14115 +ENDCHAR
14116 +STARTCHAR char1
14117 +ENCODING 11
14118 +SWIDTH 8640 0
14119 +DWIDTH 9 0
14120 +BBX 9 16 0 -4
14121 +BITMAP
14122 +FF80
14123 +FF80
14124 +FF80
14125 +FF80
14126 +FF80
14127 +0F80
14128 +0F80
14129 +0F80
14130 +0F80
14131 +0F80
14132 +0F80
14133 +0000
14134 +0000
14135 +0000
14136 +0000
14137 +0000
14138 +ENDCHAR
14139 +STARTCHAR char0
14140 +ENCODING 12
14141 +SWIDTH 8640 0
14142 +DWIDTH 9 0
14143 +BBX 9 16 0 -4
14144 +BITMAP
14145 +0000
14146 +0000
14147 +0000
14148 +0000
14149 +0000
14150 +FF80
14151 +FF80
14152 +FF80
14153 +FF80
14154 +FF80
14155 +FF80
14156 +0000
14157 +0000
14158 +0000
14159 +0000
14160 +0000
14161 +ENDCHAR
14162 +STARTCHAR char1
14163 +ENCODING 13
14164 +SWIDTH 8640 0
14165 +DWIDTH 9 0
14166 +BBX 9 16 0 -4
14167 +BITMAP
14168 +F000
14169 +F000
14170 +F000
14171 +F000
14172 +F000
14173 +FF80
14174 +FF80
14175 +FF80
14176 +FF80
14177 +FF80
14178 +FF80
14179 +0000
14180 +0000
14181 +0000
14182 +0000
14183 +0000
14184 +ENDCHAR
14185 +STARTCHAR char2
14186 +ENCODING 14
14187 +SWIDTH 8640 0
14188 +DWIDTH 9 0
14189 +BBX 9 16 0 -4
14190 +BITMAP
14191 +0F80
14192 +0F80
14193 +0F80
14194 +0F80
14195 +0F80
14196 +FF80
14197 +FF80
14198 +FF80
14199 +FF80
14200 +FF80
14201 +FF80
14202 +0000
14203 +0000
14204 +0000
14205 +0000
14206 +0000
14207 +ENDCHAR
14208 +STARTCHAR char1
14209 +ENCODING 15
14210 +SWIDTH 8640 0
14211 +DWIDTH 9 0
14212 +BBX 9 16 0 -4
14213 +BITMAP
14214 +FF80
14215 +FF80
14216 +FF80
14217 +FF80
14218 +FF80
14219 +FF80
14220 +FF80
14221 +FF80
14222 +FF80
14223 +FF80
14224 +FF80
14225 +0000
14226 +0000
14227 +0000
14228 +0000
14229 +0000
14230 +ENDCHAR
14231 +STARTCHAR char0
14232 +ENCODING 16
14233 +SWIDTH 8640 0
14234 +DWIDTH 9 0
14235 +BBX 9 16 0 -4
14236 +BITMAP
14237 +0000
14238 +0000
14239 +0000
14240 +0000
14241 +0000
14242 +0000
14243 +0000
14244 +0000
14245 +0000
14246 +0000
14247 +0000
14248 +F000
14249 +F000
14250 +F000
14251 +F000
14252 +F000
14253 +ENDCHAR
14254 +STARTCHAR char1
14255 +ENCODING 17
14256 +SWIDTH 8640 0
14257 +DWIDTH 9 0
14258 +BBX 9 16 0 -4
14259 +BITMAP
14260 +F000
14261 +F000
14262 +F000
14263 +F000
14264 +F000
14265 +0000
14266 +0000
14267 +0000
14268 +0000
14269 +0000
14270 +0000
14271 +F000
14272 +F000
14273 +F000
14274 +F000
14275 +F000
14276 +ENDCHAR
14277 +STARTCHAR char2
14278 +ENCODING 18
14279 +SWIDTH 8640 0
14280 +DWIDTH 9 0
14281 +BBX 9 16 0 -4
14282 +BITMAP
14283 +0F80
14284 +0F80
14285 +0F80
14286 +0F80
14287 +0F80
14288 +0000
14289 +0000
14290 +0000
14291 +0000
14292 +0000
14293 +0000
14294 +F000
14295 +F000
14296 +F000
14297 +F000
14298 +F000
14299 +ENDCHAR
14300 +STARTCHAR char1
14301 +ENCODING 19
14302 +SWIDTH 8640 0
14303 +DWIDTH 9 0
14304 +BBX 9 16 0 -4
14305 +BITMAP
14306 +FF80
14307 +FF80
14308 +FF80
14309 +FF80
14310 +FF80
14311 +0000
14312 +0000
14313 +0000
14314 +0000
14315 +0000
14316 +0000
14317 +F000
14318 +F000
14319 +F000
14320 +F000
14321 +F000
14322 +ENDCHAR
14323 +STARTCHAR char0
14324 +ENCODING 20
14325 +SWIDTH 8640 0
14326 +DWIDTH 9 0
14327 +BBX 9 16 0 -4
14328 +BITMAP
14329 +0000
14330 +0000
14331 +0000
14332 +0000
14333 +0000
14334 +F000
14335 +F000
14336 +F000
14337 +F000
14338 +F000
14339 +F000
14340 +F000
14341 +F000
14342 +F000
14343 +F000
14344 +F000
14345 +ENDCHAR
14346 +STARTCHAR char1
14347 +ENCODING 21
14348 +SWIDTH 8640 0
14349 +DWIDTH 9 0
14350 +BBX 9 16 0 -4
14351 +BITMAP
14352 +F000
14353 +F000
14354 +F000
14355 +F000
14356 +F000
14357 +F000
14358 +F000
14359 +F000
14360 +F000
14361 +F000
14362 +F000
14363 +F000
14364 +F000
14365 +F000
14366 +F000
14367 +F000
14368 +ENDCHAR
14369 +STARTCHAR char2
14370 +ENCODING 22
14371 +SWIDTH 8640 0
14372 +DWIDTH 9 0
14373 +BBX 9 16 0 -4
14374 +BITMAP
14375 +0F80
14376 +0F80
14377 +0F80
14378 +0F80
14379 +0F80
14380 +F000
14381 +F000
14382 +F000
14383 +F000
14384 +F000
14385 +F000
14386 +F000
14387 +F000
14388 +F000
14389 +F000
14390 +F000
14391 +ENDCHAR
14392 +STARTCHAR char1
14393 +ENCODING 23
14394 +SWIDTH 8640 0
14395 +DWIDTH 9 0
14396 +BBX 9 16 0 -4
14397 +BITMAP
14398 +FF80
14399 +FF80
14400 +FF80
14401 +FF80
14402 +FF80
14403 +F000
14404 +F000
14405 +F000
14406 +F000
14407 +F000
14408 +F000
14409 +F000
14410 +F000
14411 +F000
14412 +F000
14413 +F000
14414 +ENDCHAR
14415 +STARTCHAR char0
14416 +ENCODING 24
14417 +SWIDTH 8640 0
14418 +DWIDTH 9 0
14419 +BBX 9 16 0 -4
14420 +BITMAP
14421 +0000
14422 +0000
14423 +0000
14424 +0000
14425 +0000
14426 +0F80
14427 +0F80
14428 +0F80
14429 +0F80
14430 +0F80
14431 +0F80
14432 +F000
14433 +F000
14434 +F000
14435 +F000
14436 +F000
14437 +ENDCHAR
14438 +STARTCHAR char1
14439 +ENCODING 25
14440 +SWIDTH 8640 0
14441 +DWIDTH 9 0
14442 +BBX 9 16 0 -4
14443 +BITMAP
14444 +F000
14445 +F000
14446 +F000
14447 +F000
14448 +F000
14449 +0F80
14450 +0F80
14451 +0F80
14452 +0F80
14453 +0F80
14454 +0F80
14455 +F000
14456 +F000
14457 +F000
14458 +F000
14459 +F000
14460 +ENDCHAR
14461 +STARTCHAR char2
14462 +ENCODING 26
14463 +SWIDTH 8640 0
14464 +DWIDTH 9 0
14465 +BBX 9 16 0 -4
14466 +BITMAP
14467 +0F80
14468 +0F80
14469 +0F80
14470 +0F80
14471 +0F80
14472 +0F80
14473 +0F80
14474 +0F80
14475 +0F80
14476 +0F80
14477 +0F80
14478 +F000
14479 +F000
14480 +F000
14481 +F000
14482 +F000
14483 +ENDCHAR
14484 +STARTCHAR char1
14485 +ENCODING 27
14486 +SWIDTH 8640 0
14487 +DWIDTH 9 0
14488 +BBX 9 16 0 -4
14489 +BITMAP
14490 +FF80
14491 +FF80
14492 +FF80
14493 +FF80
14494 +FF80
14495 +0F80
14496 +0F80
14497 +0F80
14498 +0F80
14499 +0F80
14500 +0F80
14501 +F000
14502 +F000
14503 +F000
14504 +F000
14505 +F000
14506 +ENDCHAR
14507 +STARTCHAR char0
14508 +ENCODING 28
14509 +SWIDTH 8640 0
14510 +DWIDTH 9 0
14511 +BBX 9 16 0 -4
14512 +BITMAP
14513 +0000
14514 +0000
14515 +0000
14516 +0000
14517 +0000
14518 +FF80
14519 +FF80
14520 +FF80
14521 +FF80
14522 +FF80
14523 +FF80
14524 +F000
14525 +F000
14526 +F000
14527 +F000
14528 +F000
14529 +ENDCHAR
14530 +STARTCHAR char1
14531 +ENCODING 29
14532 +SWIDTH 8640 0
14533 +DWIDTH 9 0
14534 +BBX 9 16 0 -4
14535 +BITMAP
14536 +F000
14537 +F000
14538 +F000
14539 +F000
14540 +F000
14541 +FF80
14542 +FF80
14543 +FF80
14544 +FF80
14545 +FF80
14546 +FF80
14547 +F000
14548 +F000
14549 +F000
14550 +F000
14551 +F000
14552 +ENDCHAR
14553 +STARTCHAR char2
14554 +ENCODING 30
14555 +SWIDTH 8640 0
14556 +DWIDTH 9 0
14557 +BBX 9 16 0 -4
14558 +BITMAP
14559 +0F80
14560 +0F80
14561 +0F80
14562 +0F80
14563 +0F80
14564 +FF80
14565 +FF80
14566 +FF80
14567 +FF80
14568 +FF80
14569 +FF80
14570 +F000
14571 +F000
14572 +F000
14573 +F000
14574 +F000
14575 +ENDCHAR
14576 +STARTCHAR char1
14577 +ENCODING 31
14578 +SWIDTH 8640 0
14579 +DWIDTH 9 0
14580 +BBX 9 16 0 -4
14581 +BITMAP
14582 +FF80
14583 +FF80
14584 +FF80
14585 +FF80
14586 +FF80
14587 +FF80
14588 +FF80
14589 +FF80
14590 +FF80
14591 +FF80
14592 +FF80
14593 +F000
14594 +F000
14595 +F000
14596 +F000
14597 +F000
14598 +ENDCHAR
14599 +STARTCHAR char32
14600 +ENCODING 32
14601 +SWIDTH 8640 0
14602 +DWIDTH 9 0
14603 +BBX 9 16 0 -4
14604 +BITMAP
14605 +0000
14606 +0000
14607 +0000
14608 +0000
14609 +0000
14610 +0000
14611 +0000
14612 +0000
14613 +0000
14614 +0000
14615 +0000
14616 +0000
14617 +0000
14618 +0000
14619 +0000
14620 +0000
14621 +ENDCHAR
14622 +STARTCHAR char33
14623 +ENCODING 33
14624 +SWIDTH 8640 0
14625 +DWIDTH 9 0
14626 +BBX 9 16 0 -4
14627 +BITMAP
14628 +0000
14629 +0000
14630 +1800
14631 +3C00
14632 +3C00
14633 +3C00
14634 +1800
14635 +1800
14636 +1800
14637 +0000
14638 +1800
14639 +1800
14640 +0000
14641 +0000
14642 +0000
14643 +0000
14644 +ENDCHAR
14645 +STARTCHAR char34
14646 +ENCODING 34
14647 +SWIDTH 8640 0
14648 +DWIDTH 9 0
14649 +BBX 9 16 0 -4
14650 +BITMAP
14651 +0000
14652 +6600
14653 +6600
14654 +6600
14655 +2400
14656 +0000
14657 +0000
14658 +0000
14659 +0000
14660 +0000
14661 +0000
14662 +0000
14663 +0000
14664 +0000
14665 +0000
14666 +0000
14667 +ENDCHAR
14668 +STARTCHAR char35
14669 +ENCODING 35
14670 +SWIDTH 8640 0
14671 +DWIDTH 9 0
14672 +BBX 9 16 0 -4
14673 +BITMAP
14674 +0000
14675 +0000
14676 +0000
14677 +3600
14678 +3600
14679 +7F00
14680 +3600
14681 +3600
14682 +3600
14683 +7F00
14684 +3600
14685 +3600
14686 +0000
14687 +0000
14688 +0000
14689 +0000
14690 +ENDCHAR
14691 +STARTCHAR char36
14692 +ENCODING 36
14693 +SWIDTH 8640 0
14694 +DWIDTH 9 0
14695 +BBX 9 16 0 -4
14696 +BITMAP
14697 +0C00
14698 +0C00
14699 +3E00
14700 +6300
14701 +6100
14702 +6000
14703 +3E00
14704 +0300
14705 +0300
14706 +4300
14707 +6300
14708 +3E00
14709 +0C00
14710 +0C00
14711 +0000
14712 +0000
14713 +ENDCHAR
14714 +STARTCHAR char37
14715 +ENCODING 37
14716 +SWIDTH 8640 0
14717 +DWIDTH 9 0
14718 +BBX 9 16 0 -4
14719 +BITMAP
14720 +0000
14721 +0000
14722 +0000
14723 +0000
14724 +6100
14725 +6300
14726 +0600
14727 +0C00
14728 +1800
14729 +3000
14730 +6300
14731 +4300
14732 +0000
14733 +0000
14734 +0000
14735 +0000
14736 +ENDCHAR
14737 +STARTCHAR char38
14738 +ENCODING 38
14739 +SWIDTH 8640 0
14740 +DWIDTH 9 0
14741 +BBX 9 16 0 -4
14742 +BITMAP
14743 +0000
14744 +0000
14745 +1C00
14746 +3600
14747 +3600
14748 +1C00
14749 +3B00
14750 +6E00
14751 +6600
14752 +6600
14753 +6600
14754 +3B00
14755 +0000
14756 +0000
14757 +0000
14758 +0000
14759 +ENDCHAR
14760 +STARTCHAR char39
14761 +ENCODING 39
14762 +SWIDTH 8640 0
14763 +DWIDTH 9 0
14764 +BBX 9 16 0 -4
14765 +BITMAP
14766 +0000
14767 +3000
14768 +3000
14769 +3000
14770 +6000
14771 +0000
14772 +0000
14773 +0000
14774 +0000
14775 +0000
14776 +0000
14777 +0000
14778 +0000
14779 +0000
14780 +0000
14781 +0000
14782 +ENDCHAR
14783 +STARTCHAR char40
14784 +ENCODING 40
14785 +SWIDTH 8640 0
14786 +DWIDTH 9 0
14787 +BBX 9 16 0 -4
14788 +BITMAP
14789 +0000
14790 +0000
14791 +0C00
14792 +1800
14793 +3000
14794 +3000
14795 +3000
14796 +3000
14797 +3000
14798 +3000
14799 +1800
14800 +0C00
14801 +0000
14802 +0000
14803 +0000
14804 +0000
14805 +ENDCHAR
14806 +STARTCHAR char41
14807 +ENCODING 41
14808 +SWIDTH 8640 0
14809 +DWIDTH 9 0
14810 +BBX 9 16 0 -4
14811 +BITMAP
14812 +0000
14813 +0000
14814 +3000
14815 +1800
14816 +0C00
14817 +0C00
14818 +0C00
14819 +0C00
14820 +0C00
14821 +0C00
14822 +1800
14823 +3000
14824 +0000
14825 +0000
14826 +0000
14827 +0000
14828 +ENDCHAR
14829 +STARTCHAR char42
14830 +ENCODING 42
14831 +SWIDTH 8640 0
14832 +DWIDTH 9 0
14833 +BBX 9 16 0 -4
14834 +BITMAP
14835 +0000
14836 +0000
14837 +0000
14838 +0000
14839 +0000
14840 +6600
14841 +3C00
14842 +FF00
14843 +3C00
14844 +6600
14845 +0000
14846 +0000
14847 +0000
14848 +0000
14849 +0000
14850 +0000
14851 +ENDCHAR
14852 +STARTCHAR char43
14853 +ENCODING 43
14854 +SWIDTH 8640 0
14855 +DWIDTH 9 0
14856 +BBX 9 16 0 -4
14857 +BITMAP
14858 +0000
14859 +0000
14860 +0000
14861 +0000
14862 +0000
14863 +1800
14864 +1800
14865 +7E00
14866 +1800
14867 +1800
14868 +0000
14869 +0000
14870 +0000
14871 +0000
14872 +0000
14873 +0000
14874 +ENDCHAR
14875 +STARTCHAR char44
14876 +ENCODING 44
14877 +SWIDTH 8640 0
14878 +DWIDTH 9 0
14879 +BBX 9 16 0 -4
14880 +BITMAP
14881 +0000
14882 +0000
14883 +0000
14884 +0000
14885 +0000
14886 +0000
14887 +0000
14888 +0000
14889 +0000
14890 +1800
14891 +1800
14892 +1800
14893 +3000
14894 +0000
14895 +0000
14896 +0000
14897 +ENDCHAR
14898 +STARTCHAR char45
14899 +ENCODING 45
14900 +SWIDTH 8640 0
14901 +DWIDTH 9 0
14902 +BBX 9 16 0 -4
14903 +BITMAP
14904 +0000
14905 +0000
14906 +0000
14907 +0000
14908 +0000
14909 +0000
14910 +0000
14911 +7F00
14912 +0000
14913 +0000
14914 +0000
14915 +0000
14916 +0000
14917 +0000
14918 +0000
14919 +0000
14920 +ENDCHAR
14921 +STARTCHAR char46
14922 +ENCODING 46
14923 +SWIDTH 8640 0
14924 +DWIDTH 9 0
14925 +BBX 9 16 0 -4
14926 +BITMAP
14927 +0000
14928 +0000
14929 +0000
14930 +0000
14931 +0000
14932 +0000
14933 +0000
14934 +0000
14935 +0000
14936 +0000
14937 +1800
14938 +1800
14939 +0000
14940 +0000
14941 +0000
14942 +0000
14943 +ENDCHAR
14944 +STARTCHAR char47
14945 +ENCODING 47
14946 +SWIDTH 8640 0
14947 +DWIDTH 9 0
14948 +BBX 9 16 0 -4
14949 +BITMAP
14950 +0000
14951 +0000
14952 +0000
14953 +0000
14954 +0100
14955 +0300
14956 +0600
14957 +0C00
14958 +1800
14959 +3000
14960 +6000
14961 +4000
14962 +0000
14963 +0000
14964 +0000
14965 +0000
14966 +ENDCHAR
14967 +STARTCHAR char48
14968 +ENCODING 48
14969 +SWIDTH 8640 0
14970 +DWIDTH 9 0
14971 +BBX 9 16 0 -4
14972 +BITMAP
14973 +0000
14974 +0000
14975 +3C00
14976 +6600
14977 +C300
14978 +C300
14979 +DB00
14980 +DB00
14981 +C300
14982 +C300
14983 +6600
14984 +3C00
14985 +0000
14986 +0000
14987 +0000
14988 +0000
14989 +ENDCHAR
14990 +STARTCHAR char49
14991 +ENCODING 49
14992 +SWIDTH 8640 0
14993 +DWIDTH 9 0
14994 +BBX 9 16 0 -4
14995 +BITMAP
14996 +0000
14997 +0000
14998 +1800
14999 +3800
15000 +7800
15001 +1800
15002 +1800
15003 +1800
15004 +1800
15005 +1800
15006 +1800
15007 +7E00
15008 +0000
15009 +0000
15010 +0000
15011 +0000
15012 +ENDCHAR
15013 +STARTCHAR char50
15014 +ENCODING 50
15015 +SWIDTH 8640 0
15016 +DWIDTH 9 0
15017 +BBX 9 16 0 -4
15018 +BITMAP
15019 +0000
15020 +0000
15021 +3E00
15022 +6300
15023 +0300
15024 +0600
15025 +0C00
15026 +1800
15027 +3000
15028 +6000
15029 +6300
15030 +7F00
15031 +0000
15032 +0000
15033 +0000
15034 +0000
15035 +ENDCHAR
15036 +STARTCHAR char51
15037 +ENCODING 51
15038 +SWIDTH 8640 0
15039 +DWIDTH 9 0
15040 +BBX 9 16 0 -4
15041 +BITMAP
15042 +0000
15043 +0000
15044 +3E00
15045 +6300
15046 +0300
15047 +0300
15048 +1E00
15049 +0300
15050 +0300
15051 +0300
15052 +6300
15053 +3E00
15054 +0000
15055 +0000
15056 +0000
15057 +0000
15058 +ENDCHAR
15059 +STARTCHAR char52
15060 +ENCODING 52
15061 +SWIDTH 8640 0
15062 +DWIDTH 9 0
15063 +BBX 9 16 0 -4
15064 +BITMAP
15065 +0000
15066 +0000
15067 +0600
15068 +0E00
15069 +1E00
15070 +3600
15071 +6600
15072 +7F00
15073 +0600
15074 +0600
15075 +0600
15076 +0F00
15077 +0000
15078 +0000
15079 +0000
15080 +0000
15081 +ENDCHAR
15082 +STARTCHAR char53
15083 +ENCODING 53
15084 +SWIDTH 8640 0
15085 +DWIDTH 9 0
15086 +BBX 9 16 0 -4
15087 +BITMAP
15088 +0000
15089 +0000
15090 +7F00
15091 +6000
15092 +6000
15093 +6000
15094 +7E00
15095 +0300
15096 +0300
15097 +0300
15098 +6300
15099 +3E00
15100 +0000
15101 +0000
15102 +0000
15103 +0000
15104 +ENDCHAR
15105 +STARTCHAR char54
15106 +ENCODING 54
15107 +SWIDTH 8640 0
15108 +DWIDTH 9 0
15109 +BBX 9 16 0 -4
15110 +BITMAP
15111 +0000
15112 +0000
15113 +1C00
15114 +3000
15115 +6000
15116 +6000
15117 +7E00
15118 +6300
15119 +6300
15120 +6300
15121 +6300
15122 +3E00
15123 +0000
15124 +0000
15125 +0000
15126 +0000
15127 +ENDCHAR
15128 +STARTCHAR char55
15129 +ENCODING 55
15130 +SWIDTH 8640 0
15131 +DWIDTH 9 0
15132 +BBX 9 16 0 -4
15133 +BITMAP
15134 +0000
15135 +0000
15136 +7F00
15137 +6300
15138 +0300
15139 +0300
15140 +0600
15141 +0C00
15142 +1800
15143 +1800
15144 +1800
15145 +1800
15146 +0000
15147 +0000
15148 +0000
15149 +0000
15150 +ENDCHAR
15151 +STARTCHAR char56
15152 +ENCODING 56
15153 +SWIDTH 8640 0
15154 +DWIDTH 9 0
15155 +BBX 9 16 0 -4
15156 +BITMAP
15157 +0000
15158 +0000
15159 +3E00
15160 +6300
15161 +6300
15162 +6300
15163 +3E00
15164 +6300
15165 +6300
15166 +6300
15167 +6300
15168 +3E00
15169 +0000
15170 +0000
15171 +0000
15172 +0000
15173 +ENDCHAR
15174 +STARTCHAR char57
15175 +ENCODING 57
15176 +SWIDTH 8640 0
15177 +DWIDTH 9 0
15178 +BBX 9 16 0 -4
15179 +BITMAP
15180 +0000
15181 +0000
15182 +3E00
15183 +6300
15184 +6300
15185 +6300
15186 +3F00
15187 +0300
15188 +0300
15189 +0300
15190 +0600
15191 +3C00
15192 +0000
15193 +0000
15194 +0000
15195 +0000
15196 +ENDCHAR
15197 +STARTCHAR char58
15198 +ENCODING 58
15199 +SWIDTH 8640 0
15200 +DWIDTH 9 0
15201 +BBX 9 16 0 -4
15202 +BITMAP
15203 +0000
15204 +0000
15205 +0000
15206 +0000
15207 +1800
15208 +1800
15209 +0000
15210 +0000
15211 +0000
15212 +1800
15213 +1800
15214 +0000
15215 +0000
15216 +0000
15217 +0000
15218 +0000
15219 +ENDCHAR
15220 +STARTCHAR char59
15221 +ENCODING 59
15222 +SWIDTH 8640 0
15223 +DWIDTH 9 0
15224 +BBX 9 16 0 -4
15225 +BITMAP
15226 +0000
15227 +0000
15228 +0000
15229 +0000
15230 +1800
15231 +1800
15232 +0000
15233 +0000
15234 +0000
15235 +1800
15236 +1800
15237 +1800
15238 +3000
15239 +0000
15240 +0000
15241 +0000
15242 +ENDCHAR
15243 +STARTCHAR char60
15244 +ENCODING 60
15245 +SWIDTH 8640 0
15246 +DWIDTH 9 0
15247 +BBX 9 16 0 -4
15248 +BITMAP
15249 +0000
15250 +0000
15251 +0000
15252 +0600
15253 +0C00
15254 +1800
15255 +3000
15256 +6000
15257 +3000
15258 +1800
15259 +0C00
15260 +0600
15261 +0000
15262 +0000
15263 +0000
15264 +0000
15265 +ENDCHAR
15266 +STARTCHAR char61
15267 +ENCODING 61
15268 +SWIDTH 8640 0
15269 +DWIDTH 9 0
15270 +BBX 9 16 0 -4
15271 +BITMAP
15272 +0000
15273 +0000
15274 +0000
15275 +0000
15276 +0000
15277 +7E00
15278 +0000
15279 +0000
15280 +7E00
15281 +0000
15282 +0000
15283 +0000
15284 +0000
15285 +0000
15286 +0000
15287 +0000
15288 +ENDCHAR
15289 +STARTCHAR char62
15290 +ENCODING 62
15291 +SWIDTH 8640 0
15292 +DWIDTH 9 0
15293 +BBX 9 16 0 -4
15294 +BITMAP
15295 +0000
15296 +0000
15297 +0000
15298 +6000
15299 +3000
15300 +1800
15301 +0C00
15302 +0600
15303 +0C00
15304 +1800
15305 +3000
15306 +6000
15307 +0000
15308 +0000
15309 +0000
15310 +0000
15311 +ENDCHAR
15312 +STARTCHAR char63
15313 +ENCODING 63
15314 +SWIDTH 8640 0
15315 +DWIDTH 9 0
15316 +BBX 9 16 0 -4
15317 +BITMAP
15318 +0000
15319 +0000
15320 +3E00
15321 +6300
15322 +6300
15323 +0600
15324 +0C00
15325 +0C00
15326 +0C00
15327 +0000
15328 +0C00
15329 +0C00
15330 +0000
15331 +0000
15332 +0000
15333 +0000
15334 +ENDCHAR
15335 +STARTCHAR char64
15336 +ENCODING 64
15337 +SWIDTH 8640 0
15338 +DWIDTH 9 0
15339 +BBX 9 16 0 -4
15340 +BITMAP
15341 +0000
15342 +0000
15343 +0000
15344 +3E00
15345 +6300
15346 +6300
15347 +6F00
15348 +6F00
15349 +6F00
15350 +6E00
15351 +6000
15352 +3E00
15353 +0000
15354 +0000
15355 +0000
15356 +0000
15357 +ENDCHAR
15358 +STARTCHAR char65
15359 +ENCODING 65
15360 +SWIDTH 8640 0
15361 +DWIDTH 9 0
15362 +BBX 9 16 0 -4
15363 +BITMAP
15364 +0000
15365 +0000
15366 +0800
15367 +1C00
15368 +3600
15369 +6300
15370 +6300
15371 +7F00
15372 +6300
15373 +6300
15374 +6300
15375 +6300
15376 +0000
15377 +0000
15378 +0000
15379 +0000
15380 +ENDCHAR
15381 +STARTCHAR char66
15382 +ENCODING 66
15383 +SWIDTH 8640 0
15384 +DWIDTH 9 0
15385 +BBX 9 16 0 -4
15386 +BITMAP
15387 +0000
15388 +0000
15389 +7E00
15390 +3300
15391 +3300
15392 +3300
15393 +3E00
15394 +3300
15395 +3300
15396 +3300
15397 +3300
15398 +7E00
15399 +0000
15400 +0000
15401 +0000
15402 +0000
15403 +ENDCHAR
15404 +STARTCHAR char67
15405 +ENCODING 67
15406 +SWIDTH 8640 0
15407 +DWIDTH 9 0
15408 +BBX 9 16 0 -4
15409 +BITMAP
15410 +0000
15411 +0000
15412 +1E00
15413 +3300
15414 +6100
15415 +6000
15416 +6000
15417 +6000
15418 +6000
15419 +6100
15420 +3300
15421 +1E00
15422 +0000
15423 +0000
15424 +0000
15425 +0000
15426 +ENDCHAR
15427 +STARTCHAR char68
15428 +ENCODING 68
15429 +SWIDTH 8640 0
15430 +DWIDTH 9 0
15431 +BBX 9 16 0 -4
15432 +BITMAP
15433 +0000
15434 +0000
15435 +7C00
15436 +3600
15437 +3300
15438 +3300
15439 +3300
15440 +3300
15441 +3300
15442 +3300
15443 +3600
15444 +7C00
15445 +0000
15446 +0000
15447 +0000
15448 +0000
15449 +ENDCHAR
15450 +STARTCHAR char69
15451 +ENCODING 69
15452 +SWIDTH 8640 0
15453 +DWIDTH 9 0
15454 +BBX 9 16 0 -4
15455 +BITMAP
15456 +0000
15457 +0000
15458 +7F00
15459 +3300
15460 +3100
15461 +3400
15462 +3C00
15463 +3400
15464 +3000
15465 +3100
15466 +3300
15467 +7F00
15468 +0000
15469 +0000
15470 +0000
15471 +0000
15472 +ENDCHAR
15473 +STARTCHAR char70
15474 +ENCODING 70
15475 +SWIDTH 8640 0
15476 +DWIDTH 9 0
15477 +BBX 9 16 0 -4
15478 +BITMAP
15479 +0000
15480 +0000
15481 +7F00
15482 +3300
15483 +3100
15484 +3400
15485 +3C00
15486 +3400
15487 +3000
15488 +3000
15489 +3000
15490 +7800
15491 +0000
15492 +0000
15493 +0000
15494 +0000
15495 +ENDCHAR
15496 +STARTCHAR char71
15497 +ENCODING 71
15498 +SWIDTH 8640 0
15499 +DWIDTH 9 0
15500 +BBX 9 16 0 -4
15501 +BITMAP
15502 +0000
15503 +0000
15504 +1E00
15505 +3300
15506 +6100
15507 +6000
15508 +6000
15509 +6F00
15510 +6300
15511 +6300
15512 +3300
15513 +1D00
15514 +0000
15515 +0000
15516 +0000
15517 +0000
15518 +ENDCHAR
15519 +STARTCHAR char72
15520 +ENCODING 72
15521 +SWIDTH 8640 0
15522 +DWIDTH 9 0
15523 +BBX 9 16 0 -4
15524 +BITMAP
15525 +0000
15526 +0000
15527 +6300
15528 +6300
15529 +6300
15530 +6300
15531 +7F00
15532 +6300
15533 +6300
15534 +6300
15535 +6300
15536 +6300
15537 +0000
15538 +0000
15539 +0000
15540 +0000
15541 +ENDCHAR
15542 +STARTCHAR char73
15543 +ENCODING 73
15544 +SWIDTH 8640 0
15545 +DWIDTH 9 0
15546 +BBX 9 16 0 -4
15547 +BITMAP
15548 +0000
15549 +0000
15550 +3C00
15551 +1800
15552 +1800
15553 +1800
15554 +1800
15555 +1800
15556 +1800
15557 +1800
15558 +1800
15559 +3C00
15560 +0000
15561 +0000
15562 +0000
15563 +0000
15564 +ENDCHAR
15565 +STARTCHAR char74
15566 +ENCODING 74
15567 +SWIDTH 8640 0
15568 +DWIDTH 9 0
15569 +BBX 9 16 0 -4
15570 +BITMAP
15571 +0000
15572 +0000
15573 +0F00
15574 +0600
15575 +0600
15576 +0600
15577 +0600
15578 +0600
15579 +6600
15580 +6600
15581 +6600
15582 +3C00
15583 +0000
15584 +0000
15585 +0000
15586 +0000
15587 +ENDCHAR
15588 +STARTCHAR char75
15589 +ENCODING 75
15590 +SWIDTH 8640 0
15591 +DWIDTH 9 0
15592 +BBX 9 16 0 -4
15593 +BITMAP
15594 +0000
15595 +0000
15596 +7300
15597 +3300
15598 +3300
15599 +3600
15600 +3C00
15601 +3C00
15602 +3600
15603 +3300
15604 +3300
15605 +7300
15606 +0000
15607 +0000
15608 +0000
15609 +0000
15610 +ENDCHAR
15611 +STARTCHAR char76
15612 +ENCODING 76
15613 +SWIDTH 8640 0
15614 +DWIDTH 9 0
15615 +BBX 9 16 0 -4
15616 +BITMAP
15617 +0000
15618 +0000
15619 +7800
15620 +3000
15621 +3000
15622 +3000
15623 +3000
15624 +3000
15625 +3000
15626 +3100
15627 +3300
15628 +7F00
15629 +0000
15630 +0000
15631 +0000
15632 +0000
15633 +ENDCHAR
15634 +STARTCHAR char77
15635 +ENCODING 77
15636 +SWIDTH 8640 0
15637 +DWIDTH 9 0
15638 +BBX 9 16 0 -4
15639 +BITMAP
15640 +0000
15641 +0000
15642 +C300
15643 +E700
15644 +FF00
15645 +FF00
15646 +DB00
15647 +C300
15648 +C300
15649 +C300
15650 +C300
15651 +C300
15652 +0000
15653 +0000
15654 +0000
15655 +0000
15656 +ENDCHAR
15657 +STARTCHAR char78
15658 +ENCODING 78
15659 +SWIDTH 8640 0
15660 +DWIDTH 9 0
15661 +BBX 9 16 0 -4
15662 +BITMAP
15663 +0000
15664 +0000
15665 +6300
15666 +7300
15667 +7B00
15668 +7F00
15669 +6F00
15670 +6700
15671 +6300
15672 +6300
15673 +6300
15674 +6300
15675 +0000
15676 +0000
15677 +0000
15678 +0000
15679 +ENDCHAR
15680 +STARTCHAR char79
15681 +ENCODING 79
15682 +SWIDTH 8640 0
15683 +DWIDTH 9 0
15684 +BBX 9 16 0 -4
15685 +BITMAP
15686 +0000
15687 +0000
15688 +3E00
15689 +6300
15690 +6300
15691 +6300
15692 +6300
15693 +6300
15694 +6300
15695 +6300
15696 +6300
15697 +3E00
15698 +0000
15699 +0000
15700 +0000
15701 +0000
15702 +ENDCHAR
15703 +STARTCHAR char80
15704 +ENCODING 80
15705 +SWIDTH 8640 0
15706 +DWIDTH 9 0
15707 +BBX 9 16 0 -4
15708 +BITMAP
15709 +0000
15710 +0000
15711 +7E00
15712 +3300
15713 +3300
15714 +3300
15715 +3E00
15716 +3000
15717 +3000
15718 +3000
15719 +3000
15720 +7800
15721 +0000
15722 +0000
15723 +0000
15724 +0000
15725 +ENDCHAR
15726 +STARTCHAR char81
15727 +ENCODING 81
15728 +SWIDTH 8640 0
15729 +DWIDTH 9 0
15730 +BBX 9 16 0 -4
15731 +BITMAP
15732 +0000
15733 +0000
15734 +3E00
15735 +6300
15736 +6300
15737 +6300
15738 +6300
15739 +6300
15740 +6300
15741 +6B00
15742 +6F00
15743 +3E00
15744 +0600
15745 +0700
15746 +0000
15747 +0000
15748 +ENDCHAR
15749 +STARTCHAR char82
15750 +ENCODING 82
15751 +SWIDTH 8640 0
15752 +DWIDTH 9 0
15753 +BBX 9 16 0 -4
15754 +BITMAP
15755 +0000
15756 +0000
15757 +7E00
15758 +3300
15759 +3300
15760 +3300
15761 +3E00
15762 +3600
15763 +3300
15764 +3300
15765 +3300
15766 +7300
15767 +0000
15768 +0000
15769 +0000
15770 +0000
15771 +ENDCHAR
15772 +STARTCHAR char83
15773 +ENCODING 83
15774 +SWIDTH 8640 0
15775 +DWIDTH 9 0
15776 +BBX 9 16 0 -4
15777 +BITMAP
15778 +0000
15779 +0000
15780 +3E00
15781 +6300
15782 +6300
15783 +3000
15784 +1C00
15785 +0600
15786 +0300
15787 +6300
15788 +6300
15789 +3E00
15790 +0000
15791 +0000
15792 +0000
15793 +0000
15794 +ENDCHAR
15795 +STARTCHAR char84
15796 +ENCODING 84
15797 +SWIDTH 8640 0
15798 +DWIDTH 9 0
15799 +BBX 9 16 0 -4
15800 +BITMAP
15801 +0000
15802 +0000
15803 +FF00
15804 +DB00
15805 +9900
15806 +1800
15807 +1800
15808 +1800
15809 +1800
15810 +1800
15811 +1800
15812 +3C00
15813 +0000
15814 +0000
15815 +0000
15816 +0000
15817 +ENDCHAR
15818 +STARTCHAR char85
15819 +ENCODING 85
15820 +SWIDTH 8640 0
15821 +DWIDTH 9 0
15822 +BBX 9 16 0 -4
15823 +BITMAP
15824 +0000
15825 +0000
15826 +6300
15827 +6300
15828 +6300
15829 +6300
15830 +6300
15831 +6300
15832 +6300
15833 +6300
15834 +6300
15835 +3E00
15836 +0000
15837 +0000
15838 +0000
15839 +0000
15840 +ENDCHAR
15841 +STARTCHAR char86
15842 +ENCODING 86
15843 +SWIDTH 8640 0
15844 +DWIDTH 9 0
15845 +BBX 9 16 0 -4
15846 +BITMAP
15847 +0000
15848 +0000
15849 +C300
15850 +C300
15851 +C300
15852 +C300
15853 +C300
15854 +C300
15855 +C300
15856 +6600
15857 +3C00
15858 +1800
15859 +0000
15860 +0000
15861 +0000
15862 +0000
15863 +ENDCHAR
15864 +STARTCHAR char87
15865 +ENCODING 87
15866 +SWIDTH 8640 0
15867 +DWIDTH 9 0
15868 +BBX 9 16 0 -4
15869 +BITMAP
15870 +0000
15871 +0000
15872 +C300
15873 +C300
15874 +C300
15875 +C300
15876 +C300
15877 +DB00
15878 +DB00
15879 +FF00
15880 +6600
15881 +6600
15882 +0000
15883 +0000
15884 +0000
15885 +0000
15886 +ENDCHAR
15887 +STARTCHAR char88
15888 +ENCODING 88
15889 +SWIDTH 8640 0
15890 +DWIDTH 9 0
15891 +BBX 9 16 0 -4
15892 +BITMAP
15893 +0000
15894 +0000
15895 +C300
15896 +C300
15897 +6600
15898 +3C00
15899 +1800
15900 +1800
15901 +3C00
15902 +6600
15903 +C300
15904 +C300
15905 +0000
15906 +0000
15907 +0000
15908 +0000
15909 +ENDCHAR
15910 +STARTCHAR char89
15911 +ENCODING 89
15912 +SWIDTH 8640 0
15913 +DWIDTH 9 0
15914 +BBX 9 16 0 -4
15915 +BITMAP
15916 +0000
15917 +0000
15918 +C300
15919 +C300
15920 +C300
15921 +6600
15922 +3C00
15923 +1800
15924 +1800
15925 +1800
15926 +1800
15927 +3C00
15928 +0000
15929 +0000
15930 +0000
15931 +0000
15932 +ENDCHAR
15933 +STARTCHAR char90
15934 +ENCODING 90
15935 +SWIDTH 8640 0
15936 +DWIDTH 9 0
15937 +BBX 9 16 0 -4
15938 +BITMAP
15939 +0000
15940 +0000
15941 +FF00
15942 +C300
15943 +8600
15944 +0C00
15945 +1800
15946 +3000
15947 +6000
15948 +C100
15949 +C300
15950 +FF00
15951 +0000
15952 +0000
15953 +0000
15954 +0000
15955 +ENDCHAR
15956 +STARTCHAR char91
15957 +ENCODING 91
15958 +SWIDTH 8640 0
15959 +DWIDTH 9 0
15960 +BBX 9 16 0 -4
15961 +BITMAP
15962 +0000
15963 +0000
15964 +3C00
15965 +3000
15966 +3000
15967 +3000
15968 +3000
15969 +3000
15970 +3000
15971 +3000
15972 +3000
15973 +3C00
15974 +0000
15975 +0000
15976 +0000
15977 +0000
15978 +ENDCHAR
15979 +STARTCHAR char92
15980 +ENCODING 92
15981 +SWIDTH 8640 0
15982 +DWIDTH 9 0
15983 +BBX 9 16 0 -4
15984 +BITMAP
15985 +0000
15986 +0000
15987 +0000
15988 +4000
15989 +6000
15990 +7000
15991 +3800
15992 +1C00
15993 +0E00
15994 +0700
15995 +0300
15996 +0100
15997 +0000
15998 +0000
15999 +0000
16000 +0000
16001 +ENDCHAR
16002 +STARTCHAR char93
16003 +ENCODING 93
16004 +SWIDTH 8640 0
16005 +DWIDTH 9 0
16006 +BBX 9 16 0 -4
16007 +BITMAP
16008 +0000
16009 +0000
16010 +3C00
16011 +0C00
16012 +0C00
16013 +0C00
16014 +0C00
16015 +0C00
16016 +0C00
16017 +0C00
16018 +0C00
16019 +3C00
16020 +0000
16021 +0000
16022 +0000
16023 +0000
16024 +ENDCHAR
16025 +STARTCHAR char94
16026 +ENCODING 94
16027 +SWIDTH 8640 0
16028 +DWIDTH 9 0
16029 +BBX 9 16 0 -4
16030 +BITMAP
16031 +0800
16032 +1C00
16033 +3600
16034 +6300
16035 +0000
16036 +0000
16037 +0000
16038 +0000
16039 +0000
16040 +0000
16041 +0000
16042 +0000
16043 +0000
16044 +0000
16045 +0000
16046 +0000
16047 +ENDCHAR
16048 +STARTCHAR char95
16049 +ENCODING 95
16050 +SWIDTH 8640 0
16051 +DWIDTH 9 0
16052 +BBX 9 16 0 -4
16053 +BITMAP
16054 +0000
16055 +0000
16056 +0000
16057 +0000
16058 +0000
16059 +0000
16060 +0000
16061 +0000
16062 +0000
16063 +0000
16064 +0000
16065 +0000
16066 +0000
16067 +FF80
16068 +0000
16069 +0000
16070 +ENDCHAR
16071 +STARTCHAR char96
16072 +ENCODING 96
16073 +SWIDTH 8640 0
16074 +DWIDTH 9 0
16075 +BBX 9 16 0 -4
16076 +BITMAP
16077 +3000
16078 +3000
16079 +1800
16080 +0000
16081 +0000
16082 +0000
16083 +0000
16084 +0000
16085 +0000
16086 +0000
16087 +0000
16088 +0000
16089 +0000
16090 +0000
16091 +0000
16092 +0000
16093 +ENDCHAR
16094 +STARTCHAR char97
16095 +ENCODING 97
16096 +SWIDTH 8640 0
16097 +DWIDTH 9 0
16098 +BBX 9 16 0 -4
16099 +BITMAP
16100 +0000
16101 +0000
16102 +0000
16103 +0000
16104 +0000
16105 +3C00
16106 +0600
16107 +3E00
16108 +6600
16109 +6600
16110 +6600
16111 +3B00
16112 +0000
16113 +0000
16114 +0000
16115 +0000
16116 +ENDCHAR
16117 +STARTCHAR char98
16118 +ENCODING 98
16119 +SWIDTH 8640 0
16120 +DWIDTH 9 0
16121 +BBX 9 16 0 -4
16122 +BITMAP
16123 +0000
16124 +0000
16125 +7000
16126 +3000
16127 +3000
16128 +3C00
16129 +3600
16130 +3300
16131 +3300
16132 +3300
16133 +3300
16134 +3E00
16135 +0000
16136 +0000
16137 +0000
16138 +0000
16139 +ENDCHAR
16140 +STARTCHAR char99
16141 +ENCODING 99
16142 +SWIDTH 8640 0
16143 +DWIDTH 9 0
16144 +BBX 9 16 0 -4
16145 +BITMAP
16146 +0000
16147 +0000
16148 +0000
16149 +0000
16150 +0000
16151 +3E00
16152 +6300
16153 +6000
16154 +6000
16155 +6000
16156 +6300
16157 +3E00
16158 +0000
16159 +0000
16160 +0000
16161 +0000
16162 +ENDCHAR
16163 +STARTCHAR char100
16164 +ENCODING 100
16165 +SWIDTH 8640 0
16166 +DWIDTH 9 0
16167 +BBX 9 16 0 -4
16168 +BITMAP
16169 +0000
16170 +0000
16171 +0E00
16172 +0600
16173 +0600
16174 +1E00
16175 +3600
16176 +6600
16177 +6600
16178 +6600
16179 +6600
16180 +3B00
16181 +0000
16182 +0000
16183 +0000
16184 +0000
16185 +ENDCHAR
16186 +STARTCHAR char101
16187 +ENCODING 101
16188 +SWIDTH 8640 0
16189 +DWIDTH 9 0
16190 +BBX 9 16 0 -4
16191 +BITMAP
16192 +0000
16193 +0000
16194 +0000
16195 +0000
16196 +0000
16197 +3E00
16198 +6300
16199 +7F00
16200 +6000
16201 +6000
16202 +6300
16203 +3E00
16204 +0000
16205 +0000
16206 +0000
16207 +0000
16208 +ENDCHAR
16209 +STARTCHAR char102
16210 +ENCODING 102
16211 +SWIDTH 8640 0
16212 +DWIDTH 9 0
16213 +BBX 9 16 0 -4
16214 +BITMAP
16215 +0000
16216 +0000
16217 +1C00
16218 +3600
16219 +3200
16220 +3000
16221 +7800
16222 +3000
16223 +3000
16224 +3000
16225 +3000
16226 +7800
16227 +0000
16228 +0000
16229 +0000
16230 +0000
16231 +ENDCHAR
16232 +STARTCHAR char103
16233 +ENCODING 103
16234 +SWIDTH 8640 0
16235 +DWIDTH 9 0
16236 +BBX 9 16 0 -4
16237 +BITMAP
16238 +0000
16239 +0000
16240 +0000
16241 +0000
16242 +0000
16243 +3B00
16244 +6600
16245 +6600
16246 +6600
16247 +6600
16248 +6600
16249 +3E00
16250 +0600
16251 +6600
16252 +3C00
16253 +0000
16254 +ENDCHAR
16255 +STARTCHAR char104
16256 +ENCODING 104
16257 +SWIDTH 8640 0
16258 +DWIDTH 9 0
16259 +BBX 9 16 0 -4
16260 +BITMAP
16261 +0000
16262 +0000
16263 +7000
16264 +3000
16265 +3000
16266 +3600
16267 +3B00
16268 +3300
16269 +3300
16270 +3300
16271 +3300
16272 +7300
16273 +0000
16274 +0000
16275 +0000
16276 +0000
16277 +ENDCHAR
16278 +STARTCHAR char105
16279 +ENCODING 105
16280 +SWIDTH 8640 0
16281 +DWIDTH 9 0
16282 +BBX 9 16 0 -4
16283 +BITMAP
16284 +0000
16285 +0000
16286 +1800
16287 +1800
16288 +0000
16289 +3800
16290 +1800
16291 +1800
16292 +1800
16293 +1800
16294 +1800
16295 +3C00
16296 +0000
16297 +0000
16298 +0000
16299 +0000
16300 +ENDCHAR
16301 +STARTCHAR char106
16302 +ENCODING 106
16303 +SWIDTH 8640 0
16304 +DWIDTH 9 0
16305 +BBX 9 16 0 -4
16306 +BITMAP
16307 +0000
16308 +0000
16309 +0600
16310 +0600
16311 +0000
16312 +0E00
16313 +0600
16314 +0600
16315 +0600
16316 +0600
16317 +0600
16318 +0600
16319 +6600
16320 +6600
16321 +3C00
16322 +0000
16323 +ENDCHAR
16324 +STARTCHAR char107
16325 +ENCODING 107
16326 +SWIDTH 8640 0
16327 +DWIDTH 9 0
16328 +BBX 9 16 0 -4
16329 +BITMAP
16330 +0000
16331 +0000
16332 +7000
16333 +3000
16334 +3000
16335 +3300
16336 +3600
16337 +3C00
16338 +3C00
16339 +3600
16340 +3300
16341 +7300
16342 +0000
16343 +0000
16344 +0000
16345 +0000
16346 +ENDCHAR
16347 +STARTCHAR char108
16348 +ENCODING 108
16349 +SWIDTH 8640 0
16350 +DWIDTH 9 0
16351 +BBX 9 16 0 -4
16352 +BITMAP
16353 +0000
16354 +0000
16355 +3800
16356 +1800
16357 +1800
16358 +1800
16359 +1800
16360 +1800
16361 +1800
16362 +1800
16363 +1800
16364 +3C00
16365 +0000
16366 +0000
16367 +0000
16368 +0000
16369 +ENDCHAR
16370 +STARTCHAR char109
16371 +ENCODING 109
16372 +SWIDTH 8640 0
16373 +DWIDTH 9 0
16374 +BBX 9 16 0 -4
16375 +BITMAP
16376 +0000
16377 +0000
16378 +0000
16379 +0000
16380 +0000
16381 +E600
16382 +FF00
16383 +DB00
16384 +DB00
16385 +DB00
16386 +DB00
16387 +DB00
16388 +0000
16389 +0000
16390 +0000
16391 +0000
16392 +ENDCHAR
16393 +STARTCHAR char110
16394 +ENCODING 110
16395 +SWIDTH 8640 0
16396 +DWIDTH 9 0
16397 +BBX 9 16 0 -4
16398 +BITMAP
16399 +0000
16400 +0000
16401 +0000
16402 +0000
16403 +0000
16404 +6E00
16405 +3300
16406 +3300
16407 +3300
16408 +3300
16409 +3300
16410 +3300
16411 +0000
16412 +0000
16413 +0000
16414 +0000
16415 +ENDCHAR
16416 +STARTCHAR char111
16417 +ENCODING 111
16418 +SWIDTH 8640 0
16419 +DWIDTH 9 0
16420 +BBX 9 16 0 -4
16421 +BITMAP
16422 +0000
16423 +0000
16424 +0000
16425 +0000
16426 +0000
16427 +3E00
16428 +6300
16429 +6300
16430 +6300
16431 +6300
16432 +6300
16433 +3E00
16434 +0000
16435 +0000
16436 +0000
16437 +0000
16438 +ENDCHAR
16439 +STARTCHAR char112
16440 +ENCODING 112
16441 +SWIDTH 8640 0
16442 +DWIDTH 9 0
16443 +BBX 9 16 0 -4
16444 +BITMAP
16445 +0000
16446 +0000
16447 +0000
16448 +0000
16449 +0000
16450 +6E00
16451 +3300
16452 +3300
16453 +3300
16454 +3300
16455 +3300
16456 +3E00
16457 +3000
16458 +3000
16459 +7800
16460 +0000
16461 +ENDCHAR
16462 +STARTCHAR char113
16463 +ENCODING 113
16464 +SWIDTH 8640 0
16465 +DWIDTH 9 0
16466 +BBX 9 16 0 -4
16467 +BITMAP
16468 +0000
16469 +0000
16470 +0000
16471 +0000
16472 +0000
16473 +3B00
16474 +6600
16475 +6600
16476 +6600
16477 +6600
16478 +6600
16479 +3E00
16480 +0600
16481 +0600
16482 +0F00
16483 +0000
16484 +ENDCHAR
16485 +STARTCHAR char114
16486 +ENCODING 114
16487 +SWIDTH 8640 0
16488 +DWIDTH 9 0
16489 +BBX 9 16 0 -4
16490 +BITMAP
16491 +0000
16492 +0000
16493 +0000
16494 +0000
16495 +0000
16496 +6E00
16497 +3B00
16498 +3300
16499 +3000
16500 +3000
16501 +3000
16502 +7800
16503 +0000
16504 +0000
16505 +0000
16506 +0000
16507 +ENDCHAR
16508 +STARTCHAR char115
16509 +ENCODING 115
16510 +SWIDTH 8640 0
16511 +DWIDTH 9 0
16512 +BBX 9 16 0 -4
16513 +BITMAP
16514 +0000
16515 +0000
16516 +0000
16517 +0000
16518 +0000
16519 +3E00
16520 +6300
16521 +3000
16522 +1C00
16523 +0600
16524 +6300
16525 +3E00
16526 +0000
16527 +0000
16528 +0000
16529 +0000
16530 +ENDCHAR
16531 +STARTCHAR char116
16532 +ENCODING 116
16533 +SWIDTH 8640 0
16534 +DWIDTH 9 0
16535 +BBX 9 16 0 -4
16536 +BITMAP
16537 +0000
16538 +0000
16539 +0800
16540 +1800
16541 +1800
16542 +7E00
16543 +1800
16544 +1800
16545 +1800
16546 +1800
16547 +1B00
16548 +0E00
16549 +0000
16550 +0000
16551 +0000
16552 +0000
16553 +ENDCHAR
16554 +STARTCHAR char117
16555 +ENCODING 117
16556 +SWIDTH 8640 0
16557 +DWIDTH 9 0
16558 +BBX 9 16 0 -4
16559 +BITMAP
16560 +0000
16561 +0000
16562 +0000
16563 +0000
16564 +0000
16565 +6600
16566 +6600
16567 +6600
16568 +6600
16569 +6600
16570 +6600
16571 +3B00
16572 +0000
16573 +0000
16574 +0000
16575 +0000
16576 +ENDCHAR
16577 +STARTCHAR char118
16578 +ENCODING 118
16579 +SWIDTH 8640 0
16580 +DWIDTH 9 0
16581 +BBX 9 16 0 -4
16582 +BITMAP
16583 +0000
16584 +0000
16585 +0000
16586 +0000
16587 +0000
16588 +C300
16589 +C300
16590 +C300
16591 +C300
16592 +6600
16593 +3C00
16594 +1800
16595 +0000
16596 +0000
16597 +0000
16598 +0000
16599 +ENDCHAR
16600 +STARTCHAR char119
16601 +ENCODING 119
16602 +SWIDTH 8640 0
16603 +DWIDTH 9 0
16604 +BBX 9 16 0 -4
16605 +BITMAP
16606 +0000
16607 +0000
16608 +0000
16609 +0000
16610 +0000
16611 +C300
16612 +C300
16613 +C300
16614 +DB00
16615 +DB00
16616 +FF00
16617 +6600
16618 +0000
16619 +0000
16620 +0000
16621 +0000
16622 +ENDCHAR
16623 +STARTCHAR char120
16624 +ENCODING 120
16625 +SWIDTH 8640 0
16626 +DWIDTH 9 0
16627 +BBX 9 16 0 -4
16628 +BITMAP
16629 +0000
16630 +0000
16631 +0000
16632 +0000
16633 +0000
16634 +C300
16635 +6600
16636 +3C00
16637 +1800
16638 +3C00
16639 +6600
16640 +C300
16641 +0000
16642 +0000
16643 +0000
16644 +0000
16645 +ENDCHAR
16646 +STARTCHAR char121
16647 +ENCODING 121
16648 +SWIDTH 8640 0
16649 +DWIDTH 9 0
16650 +BBX 9 16 0 -4
16651 +BITMAP
16652 +0000
16653 +0000
16654 +0000
16655 +0000
16656 +0000
16657 +6300
16658 +6300
16659 +6300
16660 +6300
16661 +6300
16662 +6300
16663 +3F00
16664 +0300
16665 +0600
16666 +7C00
16667 +0000
16668 +ENDCHAR
16669 +STARTCHAR char122
16670 +ENCODING 122
16671 +SWIDTH 8640 0
16672 +DWIDTH 9 0
16673 +BBX 9 16 0 -4
16674 +BITMAP
16675 +0000
16676 +0000
16677 +0000
16678 +0000
16679 +0000
16680 +7F00
16681 +6600
16682 +0C00
16683 +1800
16684 +3000
16685 +6300
16686 +7F00
16687 +0000
16688 +0000
16689 +0000
16690 +0000
16691 +ENDCHAR
16692 +STARTCHAR char123
16693 +ENCODING 123
16694 +SWIDTH 8640 0
16695 +DWIDTH 9 0
16696 +BBX 9 16 0 -4
16697 +BITMAP
16698 +0000
16699 +0000
16700 +0E00
16701 +1800
16702 +1800
16703 +1800
16704 +7000
16705 +1800
16706 +1800
16707 +1800
16708 +1800
16709 +0E00
16710 +0000
16711 +0000
16712 +0000
16713 +0000
16714 +ENDCHAR
16715 +STARTCHAR char124
16716 +ENCODING 124
16717 +SWIDTH 8640 0
16718 +DWIDTH 9 0
16719 +BBX 9 16 0 -4
16720 +BITMAP
16721 +0000
16722 +0000
16723 +1800
16724 +1800
16725 +1800
16726 +1800
16727 +1800
16728 +1800
16729 +1800
16730 +1800
16731 +1800
16732 +1800
16733 +0000
16734 +0000
16735 +0000
16736 +0000
16737 +ENDCHAR
16738 +STARTCHAR char125
16739 +ENCODING 125
16740 +SWIDTH 8640 0
16741 +DWIDTH 9 0
16742 +BBX 9 16 0 -4
16743 +BITMAP
16744 +0000
16745 +0000
16746 +7000
16747 +1800
16748 +1800
16749 +1800
16750 +0E00
16751 +1800
16752 +1800
16753 +1800
16754 +1800
16755 +7000
16756 +0000
16757 +0000
16758 +0000
16759 +0000
16760 +ENDCHAR
16761 +STARTCHAR char126
16762 +ENCODING 126
16763 +SWIDTH 8640 0
16764 +DWIDTH 9 0
16765 +BBX 9 16 0 -4
16766 +BITMAP
16767 +0000
16768 +0000
16769 +3B00
16770 +6E00
16771 +0000
16772 +0000
16773 +0000
16774 +0000
16775 +0000
16776 +0000
16777 +0000
16778 +0000
16779 +0000
16780 +0000
16781 +0000
16782 +0000
16783 +ENDCHAR
16784 +STARTCHAR char127
16785 +ENCODING 127
16786 +SWIDTH 8640 0
16787 +DWIDTH 9 0
16788 +BBX 9 16 0 -4
16789 +BITMAP
16790 +0000
16791 +0000
16792 +0000
16793 +7F00
16794 +7F00
16795 +7F00
16796 +7F00
16797 +7F00
16798 +7F00
16799 +7F00
16800 +7F00
16801 +0000
16802 +0000
16803 +0000
16804 +0000
16805 +0000
16806 +ENDCHAR
16807 +STARTCHAR char0
16808 +ENCODING 128
16809 +SWIDTH 8640 0
16810 +DWIDTH 9 0
16811 +BBX 9 16 0 -4
16812 +BITMAP
16813 +0000
16814 +0000
16815 +0000
16816 +0000
16817 +0000
16818 +0000
16819 +0000
16820 +0000
16821 +0000
16822 +0000
16823 +0000
16824 +0F80
16825 +0F80
16826 +0F80
16827 +0F80
16828 +0F80
16829 +ENDCHAR
16830 +STARTCHAR char1
16831 +ENCODING 129
16832 +SWIDTH 8640 0
16833 +DWIDTH 9 0
16834 +BBX 9 16 0 -4
16835 +BITMAP
16836 +F000
16837 +F000
16838 +F000
16839 +F000
16840 +F000
16841 +0000
16842 +0000
16843 +0000
16844 +0000
16845 +0000
16846 +0000
16847 +0F80
16848 +0F80
16849 +0F80
16850 +0F80
16851 +0F80
16852 +ENDCHAR
16853 +STARTCHAR char2
16854 +ENCODING 130
16855 +SWIDTH 8640 0
16856 +DWIDTH 9 0
16857 +BBX 9 16 0 -4
16858 +BITMAP
16859 +0F80
16860 +0F80
16861 +0F80
16862 +0F80
16863 +0F80
16864 +0000
16865 +0000
16866 +0000
16867 +0000
16868 +0000
16869 +0000
16870 +0F80
16871 +0F80
16872 +0F80
16873 +0F80
16874 +0F80
16875 +ENDCHAR
16876 +STARTCHAR char1
16877 +ENCODING 131
16878 +SWIDTH 8640 0
16879 +DWIDTH 9 0
16880 +BBX 9 16 0 -4
16881 +BITMAP
16882 +FF80
16883 +FF80
16884 +FF80
16885 +FF80
16886 +FF80
16887 +0000
16888 +0000
16889 +0000
16890 +0000
16891 +0000
16892 +0000
16893 +0F80
16894 +0F80
16895 +0F80
16896 +0F80
16897 +0F80
16898 +ENDCHAR
16899 +STARTCHAR char0
16900 +ENCODING 132
16901 +SWIDTH 8640 0
16902 +DWIDTH 9 0
16903 +BBX 9 16 0 -4
16904 +BITMAP
16905 +0000
16906 +0000
16907 +0000
16908 +0000
16909 +0000
16910 +F000
16911 +F000
16912 +F000
16913 +F000
16914 +F000
16915 +F000
16916 +0F80
16917 +0F80
16918 +0F80
16919 +0F80
16920 +0F80
16921 +ENDCHAR
16922 +STARTCHAR char1
16923 +ENCODING 133
16924 +SWIDTH 8640 0
16925 +DWIDTH 9 0
16926 +BBX 9 16 0 -4
16927 +BITMAP
16928 +F000
16929 +F000
16930 +F000
16931 +F000
16932 +F000
16933 +F000
16934 +F000
16935 +F000
16936 +F000
16937 +F000
16938 +F000
16939 +0F80
16940 +0F80
16941 +0F80
16942 +0F80
16943 +0F80
16944 +ENDCHAR
16945 +STARTCHAR char2
16946 +ENCODING 134
16947 +SWIDTH 8640 0
16948 +DWIDTH 9 0
16949 +BBX 9 16 0 -4
16950 +BITMAP
16951 +0F80
16952 +0F80
16953 +0F80
16954 +0F80
16955 +0F80
16956 +F000
16957 +F000
16958 +F000
16959 +F000
16960 +F000
16961 +F000
16962 +0F80
16963 +0F80
16964 +0F80
16965 +0F80
16966 +0F80
16967 +ENDCHAR
16968 +STARTCHAR char1
16969 +ENCODING 135
16970 +SWIDTH 8640 0
16971 +DWIDTH 9 0
16972 +BBX 9 16 0 -4
16973 +BITMAP
16974 +FF80
16975 +FF80
16976 +FF80
16977 +FF80
16978 +FF80
16979 +F000
16980 +F000
16981 +F000
16982 +F000
16983 +F000
16984 +F000
16985 +0F80
16986 +0F80
16987 +0F80
16988 +0F80
16989 +0F80
16990 +ENDCHAR
16991 +STARTCHAR char0
16992 +ENCODING 136
16993 +SWIDTH 8640 0
16994 +DWIDTH 9 0
16995 +BBX 9 16 0 -4
16996 +BITMAP
16997 +0000
16998 +0000
16999 +0000
17000 +0000
17001 +0000
17002 +0F80
17003 +0F80
17004 +0F80
17005 +0F80
17006 +0F80
17007 +0F80
17008 +0F80
17009 +0F80
17010 +0F80
17011 +0F80
17012 +0F80
17013 +ENDCHAR
17014 +STARTCHAR char1
17015 +ENCODING 137
17016 +SWIDTH 8640 0
17017 +DWIDTH 9 0
17018 +BBX 9 16 0 -4
17019 +BITMAP
17020 +F000
17021 +F000
17022 +F000
17023 +F000
17024 +F000
17025 +0F80
17026 +0F80
17027 +0F80
17028 +0F80
17029 +0F80
17030 +0F80
17031 +0F80
17032 +0F80
17033 +0F80
17034 +0F80
17035 +0F80
17036 +ENDCHAR
17037 +STARTCHAR char2
17038 +ENCODING 138
17039 +SWIDTH 8640 0
17040 +DWIDTH 9 0
17041 +BBX 9 16 0 -4
17042 +BITMAP
17043 +0F80
17044 +0F80
17045 +0F80
17046 +0F80
17047 +0F80
17048 +0F80
17049 +0F80
17050 +0F80
17051 +0F80
17052 +0F80
17053 +0F80
17054 +0F80
17055 +0F80
17056 +0F80
17057 +0F80
17058 +0F80
17059 +ENDCHAR
17060 +STARTCHAR char1
17061 +ENCODING 139
17062 +SWIDTH 8640 0
17063 +DWIDTH 9 0
17064 +BBX 9 16 0 -4
17065 +BITMAP
17066 +FF80
17067 +FF80
17068 +FF80
17069 +FF80
17070 +FF80
17071 +0F80
17072 +0F80
17073 +0F80
17074 +0F80
17075 +0F80
17076 +0F80
17077 +0F80
17078 +0F80
17079 +0F80
17080 +0F80
17081 +0F80
17082 +ENDCHAR
17083 +STARTCHAR char0
17084 +ENCODING 140
17085 +SWIDTH 8640 0
17086 +DWIDTH 9 0
17087 +BBX 9 16 0 -4
17088 +BITMAP
17089 +0000
17090 +0000
17091 +0000
17092 +0000
17093 +0000
17094 +FF80
17095 +FF80
17096 +FF80
17097 +FF80
17098 +FF80
17099 +FF80
17100 +0F80
17101 +0F80
17102 +0F80
17103 +0F80
17104 +0F80
17105 +ENDCHAR
17106 +STARTCHAR char1
17107 +ENCODING 141
17108 +SWIDTH 8640 0
17109 +DWIDTH 9 0
17110 +BBX 9 16 0 -4
17111 +BITMAP
17112 +F000
17113 +F000
17114 +F000
17115 +F000
17116 +F000
17117 +FF80
17118 +FF80
17119 +FF80
17120 +FF80
17121 +FF80
17122 +FF80
17123 +0F80
17124 +0F80
17125 +0F80
17126 +0F80
17127 +0F80
17128 +ENDCHAR
17129 +STARTCHAR char2
17130 +ENCODING 142
17131 +SWIDTH 8640 0
17132 +DWIDTH 9 0
17133 +BBX 9 16 0 -4
17134 +BITMAP
17135 +0F80
17136 +0F80
17137 +0F80
17138 +0F80
17139 +0F80
17140 +FF80
17141 +FF80
17142 +FF80
17143 +FF80
17144 +FF80
17145 +FF80
17146 +0F80
17147 +0F80
17148 +0F80
17149 +0F80
17150 +0F80
17151 +ENDCHAR
17152 +STARTCHAR char1
17153 +ENCODING 143
17154 +SWIDTH 8640 0
17155 +DWIDTH 9 0
17156 +BBX 9 16 0 -4
17157 +BITMAP
17158 +FF80
17159 +FF80
17160 +FF80
17161 +FF80
17162 +FF80
17163 +FF80
17164 +FF80
17165 +FF80
17166 +FF80
17167 +FF80
17168 +FF80
17169 +0F80
17170 +0F80
17171 +0F80
17172 +0F80
17173 +0F80
17174 +ENDCHAR
17175 +STARTCHAR char0
17176 +ENCODING 144
17177 +SWIDTH 8640 0
17178 +DWIDTH 9 0
17179 +BBX 9 16 0 -4
17180 +BITMAP
17181 +0000
17182 +0000
17183 +0000
17184 +0000
17185 +0000
17186 +0000
17187 +0000
17188 +0000
17189 +0000
17190 +0000
17191 +0000
17192 +FF80
17193 +FF80
17194 +FF80
17195 +FF80
17196 +FF80
17197 +ENDCHAR
17198 +STARTCHAR char1
17199 +ENCODING 145
17200 +SWIDTH 8640 0
17201 +DWIDTH 9 0
17202 +BBX 9 16 0 -4
17203 +BITMAP
17204 +F000
17205 +F000
17206 +F000
17207 +F000
17208 +F000
17209 +0000
17210 +0000
17211 +0000
17212 +0000
17213 +0000
17214 +0000
17215 +FF80
17216 +FF80
17217 +FF80
17218 +FF80
17219 +FF80
17220 +ENDCHAR
17221 +STARTCHAR char2
17222 +ENCODING 146
17223 +SWIDTH 8640 0
17224 +DWIDTH 9 0
17225 +BBX 9 16 0 -4
17226 +BITMAP
17227 +0F80
17228 +0F80
17229 +0F80
17230 +0F80
17231 +0F80
17232 +0000
17233 +0000
17234 +0000
17235 +0000
17236 +0000
17237 +0000
17238 +FF80
17239 +FF80
17240 +FF80
17241 +FF80
17242 +FF80
17243 +ENDCHAR
17244 +STARTCHAR char1
17245 +ENCODING 147
17246 +SWIDTH 8640 0
17247 +DWIDTH 9 0
17248 +BBX 9 16 0 -4
17249 +BITMAP
17250 +FF80
17251 +FF80
17252 +FF80
17253 +FF80
17254 +FF80
17255 +0000
17256 +0000
17257 +0000
17258 +0000
17259 +0000
17260 +0000
17261 +FF80
17262 +FF80
17263 +FF80
17264 +FF80
17265 +FF80
17266 +ENDCHAR
17267 +STARTCHAR char0
17268 +ENCODING 148
17269 +SWIDTH 8640 0
17270 +DWIDTH 9 0
17271 +BBX 9 16 0 -4
17272 +BITMAP
17273 +0000
17274 +0000
17275 +0000
17276 +0000
17277 +0000
17278 +F000
17279 +F000
17280 +F000
17281 +F000
17282 +F000
17283 +F000
17284 +FF80
17285 +FF80
17286 +FF80
17287 +FF80
17288 +FF80
17289 +ENDCHAR
17290 +STARTCHAR char1
17291 +ENCODING 149
17292 +SWIDTH 8640 0
17293 +DWIDTH 9 0
17294 +BBX 9 16 0 -4
17295 +BITMAP
17296 +F000
17297 +F000
17298 +F000
17299 +F000
17300 +F000
17301 +F000
17302 +F000
17303 +F000
17304 +F000
17305 +F000
17306 +F000
17307 +FF80
17308 +FF80
17309 +FF80
17310 +FF80
17311 +FF80
17312 +ENDCHAR
17313 +STARTCHAR char2
17314 +ENCODING 150
17315 +SWIDTH 8640 0
17316 +DWIDTH 9 0
17317 +BBX 9 16 0 -4
17318 +BITMAP
17319 +0F80
17320 +0F80
17321 +0F80
17322 +0F80
17323 +0F80
17324 +F000
17325 +F000
17326 +F000
17327 +F000
17328 +F000
17329 +F000
17330 +FF80
17331 +FF80
17332 +FF80
17333 +FF80
17334 +FF80
17335 +ENDCHAR
17336 +STARTCHAR char1
17337 +ENCODING 151
17338 +SWIDTH 8640 0
17339 +DWIDTH 9 0
17340 +BBX 9 16 0 -4
17341 +BITMAP
17342 +FF80
17343 +FF80
17344 +FF80
17345 +FF80
17346 +FF80
17347 +F000
17348 +F000
17349 +F000
17350 +F000
17351 +F000
17352 +F000
17353 +FF80
17354 +FF80
17355 +FF80
17356 +FF80
17357 +FF80
17358 +ENDCHAR
17359 +STARTCHAR char0
17360 +ENCODING 152
17361 +SWIDTH 8640 0
17362 +DWIDTH 9 0
17363 +BBX 9 16 0 -4
17364 +BITMAP
17365 +0000
17366 +0000
17367 +0000
17368 +0000
17369 +0000
17370 +0F80
17371 +0F80
17372 +0F80
17373 +0F80
17374 +0F80
17375 +0F80
17376 +FF80
17377 +FF80
17378 +FF80
17379 +FF80
17380 +FF80
17381 +ENDCHAR
17382 +STARTCHAR char1
17383 +ENCODING 153
17384 +SWIDTH 8640 0
17385 +DWIDTH 9 0
17386 +BBX 9 16 0 -4
17387 +BITMAP
17388 +F000
17389 +F000
17390 +F000
17391 +F000
17392 +F000
17393 +0F80
17394 +0F80
17395 +0F80
17396 +0F80
17397 +0F80
17398 +0F80
17399 +FF80
17400 +FF80
17401 +FF80
17402 +FF80
17403 +FF80
17404 +ENDCHAR
17405 +STARTCHAR char2
17406 +ENCODING 154
17407 +SWIDTH 8640 0
17408 +DWIDTH 9 0
17409 +BBX 9 16 0 -4
17410 +BITMAP
17411 +0F80
17412 +0F80
17413 +0F80
17414 +0F80
17415 +0F80
17416 +0F80
17417 +0F80
17418 +0F80
17419 +0F80
17420 +0F80
17421 +0F80
17422 +FF80
17423 +FF80
17424 +FF80
17425 +FF80
17426 +FF80
17427 +ENDCHAR
17428 +STARTCHAR char1
17429 +ENCODING 155
17430 +SWIDTH 8640 0
17431 +DWIDTH 9 0
17432 +BBX 9 16 0 -4
17433 +BITMAP
17434 +FF80
17435 +FF80
17436 +FF80
17437 +FF80
17438 +FF80
17439 +0F80
17440 +0F80
17441 +0F80
17442 +0F80
17443 +0F80
17444 +0F80
17445 +FF80
17446 +FF80
17447 +FF80
17448 +FF80
17449 +FF80
17450 +ENDCHAR
17451 +STARTCHAR char0
17452 +ENCODING 156
17453 +SWIDTH 8640 0
17454 +DWIDTH 9 0
17455 +BBX 9 16 0 -4
17456 +BITMAP
17457 +0000
17458 +0000
17459 +0000
17460 +0000
17461 +0000
17462 +FF80
17463 +FF80
17464 +FF80
17465 +FF80
17466 +FF80
17467 +FF80
17468 +FF80
17469 +FF80
17470 +FF80
17471 +FF80
17472 +FF80
17473 +ENDCHAR
17474 +STARTCHAR char1
17475 +ENCODING 157
17476 +SWIDTH 8640 0
17477 +DWIDTH 9 0
17478 +BBX 9 16 0 -4
17479 +BITMAP
17480 +F000
17481 +F000
17482 +F000
17483 +F000
17484 +F000
17485 +FF80
17486 +FF80
17487 +FF80
17488 +FF80
17489 +FF80
17490 +FF80
17491 +FF80
17492 +FF80
17493 +FF80
17494 +FF80
17495 +FF80
17496 +ENDCHAR
17497 +STARTCHAR char2
17498 +ENCODING 158
17499 +SWIDTH 8640 0
17500 +DWIDTH 9 0
17501 +BBX 9 16 0 -4
17502 +BITMAP
17503 +0F80
17504 +0F80
17505 +0F80
17506 +0F80
17507 +0F80
17508 +FF80
17509 +FF80
17510 +FF80
17511 +FF80
17512 +FF80
17513 +FF80
17514 +FF80
17515 +FF80
17516 +FF80
17517 +FF80
17518 +FF80
17519 +ENDCHAR
17520 +STARTCHAR char1
17521 +ENCODING 159
17522 +SWIDTH 8640 0
17523 +DWIDTH 9 0
17524 +BBX 9 16 0 -4
17525 +BITMAP
17526 +FF80
17527 +FF80
17528 +FF80
17529 +FF80
17530 +FF80
17531 +FF80
17532 +FF80
17533 +FF80
17534 +FF80
17535 +FF80
17536 +FF80
17537 +FF80
17538 +FF80
17539 +FF80
17540 +FF80
17541 +FF80
17542 +ENDCHAR
17543 +STARTCHAR char160
17544 +ENCODING 160
17545 +SWIDTH 8640 0
17546 +DWIDTH 9 0
17547 +BBX 9 16 0 -4
17548 +BITMAP
17549 +FF80
17550 +0880
17551 +0880
17552 +0880
17553 +0880
17554 +FF80
17555 +0880
17556 +0880
17557 +0880
17558 +0880
17559 +0880
17560 +FF80
17561 +0880
17562 +0880
17563 +0880
17564 +0880
17565 +ENDCHAR
17566 +STARTCHAR char161
17567 +ENCODING 161
17568 +SWIDTH 8640 0
17569 +DWIDTH 9 0
17570 +BBX 9 16 0 -4
17571 +BITMAP
17572 +0000
17573 +0000
17574 +1800
17575 +1800
17576 +0000
17577 +1800
17578 +1800
17579 +1800
17580 +3C00
17581 +3C00
17582 +3C00
17583 +1800
17584 +0000
17585 +0000
17586 +0000
17587 +0000
17588 +ENDCHAR
17589 +STARTCHAR char162
17590 +ENCODING 162
17591 +SWIDTH 8640 0
17592 +DWIDTH 9 0
17593 +BBX 9 16 0 -4
17594 +BITMAP
17595 +0000
17596 +1800
17597 +1800
17598 +7E00
17599 +C300
17600 +C000
17601 +C000
17602 +C000
17603 +C300
17604 +7E00
17605 +1800
17606 +1800
17607 +0000
17608 +0000
17609 +0000
17610 +0000
17611 +ENDCHAR
17612 +STARTCHAR char163
17613 +ENCODING 163
17614 +SWIDTH 8640 0
17615 +DWIDTH 9 0
17616 +BBX 9 16 0 -4
17617 +BITMAP
17618 +0000
17619 +1C00
17620 +3600
17621 +3200
17622 +3000
17623 +7800
17624 +3000
17625 +3000
17626 +3000
17627 +3000
17628 +7300
17629 +7E00
17630 +0000
17631 +0000
17632 +0000
17633 +0000
17634 +ENDCHAR
17635 +STARTCHAR char164
17636 +ENCODING 164
17637 +SWIDTH 8640 0
17638 +DWIDTH 9 0
17639 +BBX 9 16 0 -4
17640 +BITMAP
17641 +0000
17642 +0000
17643 +0000
17644 +4100
17645 +6300
17646 +3E00
17647 +6300
17648 +6300
17649 +6300
17650 +6300
17651 +3E00
17652 +6300
17653 +4100
17654 +0000
17655 +0000
17656 +0000
17657 +ENDCHAR
17658 +STARTCHAR char165
17659 +ENCODING 165
17660 +SWIDTH 8640 0
17661 +DWIDTH 9 0
17662 +BBX 9 16 0 -4
17663 +BITMAP
17664 +0000
17665 +0000
17666 +C300
17667 +6600
17668 +3C00
17669 +1800
17670 +FF00
17671 +1800
17672 +FF00
17673 +1800
17674 +1800
17675 +1800
17676 +0000
17677 +0000
17678 +0000
17679 +0000
17680 +ENDCHAR
17681 +STARTCHAR char166
17682 +ENCODING 166
17683 +SWIDTH 8640 0
17684 +DWIDTH 9 0
17685 +BBX 9 16 0 -4
17686 +BITMAP
17687 +0000
17688 +6600
17689 +6600
17690 +6600
17691 +6600
17692 +6600
17693 +6600
17694 +6600
17695 +6600
17696 +6600
17697 +6600
17698 +6600
17699 +6600
17700 +0000
17701 +0000
17702 +0000
17703 +ENDCHAR
17704 +STARTCHAR char167
17705 +ENCODING 167
17706 +SWIDTH 8640 0
17707 +DWIDTH 9 0
17708 +BBX 9 16 0 -4
17709 +BITMAP
17710 +0000
17711 +3E00
17712 +6300
17713 +3000
17714 +1C00
17715 +3600
17716 +6300
17717 +6300
17718 +3600
17719 +1C00
17720 +0600
17721 +6300
17722 +3E00
17723 +0000
17724 +0000
17725 +0000
17726 +ENDCHAR
17727 +STARTCHAR char168
17728 +ENCODING 168
17729 +SWIDTH 8640 0
17730 +DWIDTH 9 0
17731 +BBX 9 16 0 -4
17732 +BITMAP
17733 +0000
17734 +0000
17735 +3C00
17736 +7E00
17737 +DB00
17738 +FF00
17739 +BD00
17740 +C300
17741 +E700
17742 +FF00
17743 +7E00
17744 +3C00
17745 +0000
17746 +0000
17747 +0000
17748 +0000
17749 +ENDCHAR
17750 +STARTCHAR char169
17751 +ENCODING 169
17752 +SWIDTH 8640 0
17753 +DWIDTH 9 0
17754 +BBX 9 16 0 -4
17755 +BITMAP
17756 +0000
17757 +0000
17758 +3E00
17759 +6300
17760 +4100
17761 +5D00
17762 +5100
17763 +5100
17764 +5D00
17765 +4100
17766 +6300
17767 +3E00
17768 +0000
17769 +0000
17770 +0000
17771 +0000
17772 +ENDCHAR
17773 +STARTCHAR char170
17774 +ENCODING 170
17775 +SWIDTH 8640 0
17776 +DWIDTH 9 0
17777 +BBX 9 16 0 -4
17778 +BITMAP
17779 +0000
17780 +3800
17781 +0C00
17782 +3C00
17783 +6400
17784 +3C00
17785 +0000
17786 +7C00
17787 +0000
17788 +0000
17789 +0000
17790 +0000
17791 +0000
17792 +0000
17793 +0000
17794 +0000
17795 +ENDCHAR
17796 +STARTCHAR char171
17797 +ENCODING 171
17798 +SWIDTH 8640 0
17799 +DWIDTH 9 0
17800 +BBX 9 16 0 -4
17801 +BITMAP
17802 +0000
17803 +0000
17804 +0000
17805 +0000
17806 +0000
17807 +1800
17808 +3000
17809 +7F00
17810 +7F00
17811 +3000
17812 +1800
17813 +0000
17814 +0000
17815 +0000
17816 +0000
17817 +0000
17818 +ENDCHAR
17819 +STARTCHAR char172
17820 +ENCODING 172
17821 +SWIDTH 8640 0
17822 +DWIDTH 9 0
17823 +BBX 9 16 0 -4
17824 +BITMAP
17825 +0000
17826 +0000
17827 +1800
17828 +3C00
17829 +7E00
17830 +5A00
17831 +1800
17832 +1800
17833 +1800
17834 +1800
17835 +1800
17836 +0000
17837 +0000
17838 +0000
17839 +0000
17840 +0000
17841 +ENDCHAR
17842 +STARTCHAR char173
17843 +ENCODING 173
17844 +SWIDTH 8640 0
17845 +DWIDTH 9 0
17846 +BBX 9 16 0 -4
17847 +BITMAP
17848 +0000
17849 +0000
17850 +0000
17851 +0000
17852 +0000
17853 +0000
17854 +0000
17855 +FF80
17856 +0000
17857 +0000
17858 +0000
17859 +0000
17860 +0000
17861 +0000
17862 +0000
17863 +0000
17864 +ENDCHAR
17865 +STARTCHAR char174
17866 +ENCODING 174
17867 +SWIDTH 8640 0
17868 +DWIDTH 9 0
17869 +BBX 9 16 0 -4
17870 +BITMAP
17871 +0000
17872 +0000
17873 +3E00
17874 +6300
17875 +4100
17876 +5D00
17877 +5500
17878 +5900
17879 +5500
17880 +4100
17881 +6300
17882 +3E00
17883 +0000
17884 +0000
17885 +0000
17886 +0000
17887 +ENDCHAR
17888 +STARTCHAR char175
17889 +ENCODING 175
17890 +SWIDTH 8640 0
17891 +DWIDTH 9 0
17892 +BBX 9 16 0 -4
17893 +BITMAP
17894 +0000
17895 +7F00
17896 +0000
17897 +0000
17898 +0000
17899 +0000
17900 +0000
17901 +0000
17902 +0000
17903 +0000
17904 +0000
17905 +0000
17906 +0000
17907 +0000
17908 +0000
17909 +0000
17910 +ENDCHAR
17911 +STARTCHAR char176
17912 +ENCODING 176
17913 +SWIDTH 8640 0
17914 +DWIDTH 9 0
17915 +BBX 9 16 0 -4
17916 +BITMAP
17917 +0000
17918 +1C00
17919 +3600
17920 +3600
17921 +1C00
17922 +0000
17923 +0000
17924 +0000
17925 +0000
17926 +0000
17927 +0000
17928 +0000
17929 +0000
17930 +0000
17931 +0000
17932 +0000
17933 +ENDCHAR
17934 +STARTCHAR char177
17935 +ENCODING 177
17936 +SWIDTH 8640 0
17937 +DWIDTH 9 0
17938 +BBX 9 16 0 -4
17939 +BITMAP
17940 +0000
17941 +0000
17942 +0000
17943 +0000
17944 +1800
17945 +1800
17946 +7E00
17947 +1800
17948 +1800
17949 +0000
17950 +0000
17951 +7E00
17952 +0000
17953 +0000
17954 +0000
17955 +0000
17956 +ENDCHAR
17957 +STARTCHAR char178
17958 +ENCODING 178
17959 +SWIDTH 8640 0
17960 +DWIDTH 9 0
17961 +BBX 9 16 0 -4
17962 +BITMAP
17963 +0000
17964 +3800
17965 +6C00
17966 +1800
17967 +3000
17968 +6400
17969 +7C00
17970 +0000
17971 +0000
17972 +0000
17973 +0000
17974 +0000
17975 +0000
17976 +0000
17977 +0000
17978 +0000
17979 +ENDCHAR
17980 +STARTCHAR char179
17981 +ENCODING 179
17982 +SWIDTH 8640 0
17983 +DWIDTH 9 0
17984 +BBX 9 16 0 -4
17985 +BITMAP
17986 +0000
17987 +7C00
17988 +0C00
17989 +1800
17990 +0C00
17991 +6C00
17992 +3800
17993 +0000
17994 +0000
17995 +0000
17996 +0000
17997 +0000
17998 +0000
17999 +0000
18000 +0000
18001 +0000
18002 +ENDCHAR
18003 +STARTCHAR char180
18004 +ENCODING 180
18005 +SWIDTH 8640 0
18006 +DWIDTH 9 0
18007 +BBX 9 16 0 -4
18008 +BITMAP
18009 +1800
18010 +3000
18011 +6000
18012 +0000
18013 +0000
18014 +0000
18015 +0000
18016 +0000
18017 +0000
18018 +0000
18019 +0000
18020 +0000
18021 +0000
18022 +0000
18023 +0000
18024 +0000
18025 +ENDCHAR
18026 +STARTCHAR char181
18027 +ENCODING 181
18028 +SWIDTH 8640 0
18029 +DWIDTH 9 0
18030 +BBX 9 16 0 -4
18031 +BITMAP
18032 +0000
18033 +0000
18034 +0000
18035 +0000
18036 +6600
18037 +6600
18038 +6600
18039 +6600
18040 +6600
18041 +7E00
18042 +6300
18043 +6000
18044 +C000
18045 +0000
18046 +0000
18047 +0000
18048 +ENDCHAR
18049 +STARTCHAR char182
18050 +ENCODING 182
18051 +SWIDTH 8640 0
18052 +DWIDTH 9 0
18053 +BBX 9 16 0 -4
18054 +BITMAP
18055 +0000
18056 +0000
18057 +7F00
18058 +DB00
18059 +DB00
18060 +DB00
18061 +7B00
18062 +1B00
18063 +1B00
18064 +1B00
18065 +1B00
18066 +1B00
18067 +0000
18068 +0000
18069 +0000
18070 +0000
18071 +ENDCHAR
18072 +STARTCHAR char183
18073 +ENCODING 183
18074 +SWIDTH 8640 0
18075 +DWIDTH 9 0
18076 +BBX 9 16 0 -4
18077 +BITMAP
18078 +0000
18079 +0000
18080 +0000
18081 +0000
18082 +0000
18083 +0000
18084 +0000
18085 +1800
18086 +1800
18087 +0000
18088 +0000
18089 +0000
18090 +0000
18091 +0000
18092 +0000
18093 +0000
18094 +ENDCHAR
18095 +STARTCHAR char184
18096 +ENCODING 184
18097 +SWIDTH 8640 0
18098 +DWIDTH 9 0
18099 +BBX 9 16 0 -4
18100 +BITMAP
18101 +0080
18102 +0100
18103 +0300
18104 +0600
18105 +0C00
18106 +1C00
18107 +3000
18108 +7F00
18109 +7700
18110 +0E00
18111 +1C00
18112 +1800
18113 +3000
18114 +6000
18115 +8000
18116 +0000
18117 +ENDCHAR
18118 +STARTCHAR char185
18119 +ENCODING 185
18120 +SWIDTH 8640 0
18121 +DWIDTH 9 0
18122 +BBX 9 16 0 -4
18123 +BITMAP
18124 +0000
18125 +3000
18126 +7000
18127 +3000
18128 +3000
18129 +3000
18130 +7800
18131 +0000
18132 +0000
18133 +0000
18134 +0000
18135 +0000
18136 +0000
18137 +0000
18138 +0000
18139 +0000
18140 +ENDCHAR
18141 +STARTCHAR char186
18142 +ENCODING 186
18143 +SWIDTH 8640 0
18144 +DWIDTH 9 0
18145 +BBX 9 16 0 -4
18146 +BITMAP
18147 +0000
18148 +3800
18149 +6C00
18150 +4400
18151 +6C00
18152 +3800
18153 +0000
18154 +7C00
18155 +0000
18156 +0000
18157 +0000
18158 +0000
18159 +0000
18160 +0000
18161 +0000
18162 +0000
18163 +ENDCHAR
18164 +STARTCHAR char187
18165 +ENCODING 187
18166 +SWIDTH 8640 0
18167 +DWIDTH 9 0
18168 +BBX 9 16 0 -4
18169 +BITMAP
18170 +0000
18171 +0000
18172 +0000
18173 +0000
18174 +0000
18175 +0C00
18176 +0600
18177 +7F00
18178 +7F00
18179 +0600
18180 +0C00
18181 +0000
18182 +0000
18183 +0000
18184 +0000
18185 +0000
18186 +ENDCHAR
18187 +STARTCHAR char188
18188 +ENCODING 188
18189 +SWIDTH 8640 0
18190 +DWIDTH 9 0
18191 +BBX 9 16 0 -4
18192 +BITMAP
18193 +0000
18194 +6000
18195 +6000
18196 +6100
18197 +6300
18198 +6600
18199 +0C00
18200 +1800
18201 +3300
18202 +6700
18203 +4B00
18204 +1F00
18205 +0300
18206 +0300
18207 +0000
18208 +0000
18209 +ENDCHAR
18210 +STARTCHAR char189
18211 +ENCODING 189
18212 +SWIDTH 8640 0
18213 +DWIDTH 9 0
18214 +BBX 9 16 0 -4
18215 +BITMAP
18216 +0000
18217 +6000
18218 +6000
18219 +6100
18220 +6300
18221 +6600
18222 +0C00
18223 +1800
18224 +3000
18225 +6700
18226 +4D80
18227 +0300
18228 +0600
18229 +0F80
18230 +0000
18231 +0000
18232 +ENDCHAR
18233 +STARTCHAR char190
18234 +ENCODING 190
18235 +SWIDTH 8640 0
18236 +DWIDTH 9 0
18237 +BBX 9 16 0 -4
18238 +BITMAP
18239 +0000
18240 +7800
18241 +1800
18242 +3900
18243 +1B00
18244 +7600
18245 +0C00
18246 +1800
18247 +3300
18248 +6700
18249 +4B00
18250 +1F00
18251 +0300
18252 +0300
18253 +0000
18254 +0000
18255 +ENDCHAR
18256 +STARTCHAR char191
18257 +ENCODING 191
18258 +SWIDTH 8640 0
18259 +DWIDTH 9 0
18260 +BBX 9 16 0 -4
18261 +BITMAP
18262 +0000
18263 +0000
18264 +1800
18265 +1800
18266 +0000
18267 +1800
18268 +1800
18269 +3000
18270 +6000
18271 +6300
18272 +6300
18273 +3E00
18274 +0000
18275 +0000
18276 +0000
18277 +0000
18278 +ENDCHAR
18279 +STARTCHAR char238
18280 +ENCODING 192
18281 +SWIDTH 8640 0
18282 +DWIDTH 9 0
18283 +BBX 9 16 0 -4
18284 +BITMAP
18285 +0000
18286 +0000
18287 +0000
18288 +0000
18289 +0000
18290 +CE00
18291 +DB00
18292 +DB00
18293 +FB00
18294 +DB00
18295 +DB00
18296 +CE00
18297 +0000
18298 +0000
18299 +0000
18300 +0000
18301 +ENDCHAR
18302 +STARTCHAR char160
18303 +ENCODING 193
18304 +SWIDTH 8640 0
18305 +DWIDTH 9 0
18306 +BBX 9 16 0 -4
18307 +BITMAP
18308 +0000
18309 +0000
18310 +0000
18311 +0000
18312 +0000
18313 +7800
18314 +0C00
18315 +7C00
18316 +CC00
18317 +CC00
18318 +CC00
18319 +7600
18320 +0000
18321 +0000
18322 +0000
18323 +0000
18324 +ENDCHAR
18325 +STARTCHAR char161
18326 +ENCODING 194
18327 +SWIDTH 8640 0
18328 +DWIDTH 9 0
18329 +BBX 9 16 0 -4
18330 +BITMAP
18331 +0000
18332 +0200
18333 +0600
18334 +3C00
18335 +6000
18336 +6000
18337 +7C00
18338 +6600
18339 +6600
18340 +6600
18341 +6600
18342 +3C00
18343 +0000
18344 +0000
18345 +0000
18346 +0000
18347 +ENDCHAR
18348 +STARTCHAR char230
18349 +ENCODING 195
18350 +SWIDTH 8640 0
18351 +DWIDTH 9 0
18352 +BBX 9 16 0 -4
18353 +BITMAP
18354 +0000
18355 +0000
18356 +0000
18357 +0000
18358 +0000
18359 +CC00
18360 +CC00
18361 +CC00
18362 +CC00
18363 +CC00
18364 +CC00
18365 +FE00
18366 +0600
18367 +0600
18368 +0000
18369 +0000
18370 +ENDCHAR
18371 +STARTCHAR char164
18372 +ENCODING 196
18373 +SWIDTH 8640 0
18374 +DWIDTH 9 0
18375 +BBX 9 16 0 -4
18376 +BITMAP
18377 +0000
18378 +0000
18379 +0000
18380 +0000
18381 +0000
18382 +1E00
18383 +3600
18384 +3600
18385 +6600
18386 +6600
18387 +6600
18388 +FF00
18389 +C300
18390 +C300
18391 +0000
18392 +0000
18393 +ENDCHAR
18394 +STARTCHAR char165
18395 +ENCODING 197
18396 +SWIDTH 8640 0
18397 +DWIDTH 9 0
18398 +BBX 9 16 0 -4
18399 +BITMAP
18400 +0000
18401 +0000
18402 +0000
18403 +0000
18404 +0000
18405 +7C00
18406 +C600
18407 +FE00
18408 +C000
18409 +C000
18410 +C600
18411 +7C00
18412 +0000
18413 +0000
18414 +0000
18415 +0000
18416 +ENDCHAR
18417 +STARTCHAR char228
18418 +ENCODING 198
18419 +SWIDTH 8640 0
18420 +DWIDTH 9 0
18421 +BBX 9 16 0 -4
18422 +BITMAP
18423 +0000
18424 +0000
18425 +0000
18426 +0000
18427 +3C00
18428 +1800
18429 +7E00
18430 +DB00
18431 +DB00
18432 +DB00
18433 +DB00
18434 +7E00
18435 +1800
18436 +1800
18437 +3C00
18438 +0000
18439 +ENDCHAR
18440 +STARTCHAR char163
18441 +ENCODING 199
18442 +SWIDTH 8640 0
18443 +DWIDTH 9 0
18444 +BBX 9 16 0 -4
18445 +BITMAP
18446 +0000
18447 +0000
18448 +0000
18449 +0000
18450 +0000
18451 +7E00
18452 +3200
18453 +3200
18454 +3000
18455 +3000
18456 +3000
18457 +7800
18458 +0000
18459 +0000
18460 +0000
18461 +0000
18462 +ENDCHAR
18463 +STARTCHAR char229
18464 +ENCODING 200
18465 +SWIDTH 8640 0
18466 +DWIDTH 9 0
18467 +BBX 9 16 0 -4
18468 +BITMAP
18469 +0000
18470 +0000
18471 +0000
18472 +0000
18473 +0000
18474 +C600
18475 +6C00
18476 +3800
18477 +3800
18478 +3800
18479 +6C00
18480 +C600
18481 +0000
18482 +0000
18483 +0000
18484 +0000
18485 +ENDCHAR
18486 +STARTCHAR char168
18487 +ENCODING 201
18488 +SWIDTH 8640 0
18489 +DWIDTH 9 0
18490 +BBX 9 16 0 -4
18491 +BITMAP
18492 +0000
18493 +0000
18494 +0000
18495 +0000
18496 +0000
18497 +C600
18498 +C600
18499 +CE00
18500 +D600
18501 +E600
18502 +C600
18503 +C600
18504 +0000
18505 +0000
18506 +0000
18507 +0000
18508 +ENDCHAR
18509 +STARTCHAR char169
18510 +ENCODING 202
18511 +SWIDTH 8640 0
18512 +DWIDTH 9 0
18513 +BBX 9 16 0 -4
18514 +BITMAP
18515 +0000
18516 +0000
18517 +0000
18518 +3800
18519 +3800
18520 +C600
18521 +C600
18522 +CE00
18523 +D600
18524 +E600
18525 +C600
18526 +C600
18527 +0000
18528 +0000
18529 +0000
18530 +0000
18531 +ENDCHAR
18532 +STARTCHAR char170
18533 +ENCODING 203
18534 +SWIDTH 8640 0
18535 +DWIDTH 9 0
18536 +BBX 9 16 0 -4
18537 +BITMAP
18538 +0000
18539 +0000
18540 +0000
18541 +0000
18542 +0000
18543 +E600
18544 +6C00
18545 +7800
18546 +7800
18547 +6C00
18548 +6600
18549 +E600
18550 +0000
18551 +0000
18552 +0000
18553 +0000
18554 +ENDCHAR
18555 +STARTCHAR char171
18556 +ENCODING 204
18557 +SWIDTH 8640 0
18558 +DWIDTH 9 0
18559 +BBX 9 16 0 -4
18560 +BITMAP
18561 +0000
18562 +0000
18563 +0000
18564 +0000
18565 +0000
18566 +1E00
18567 +3600
18568 +6600
18569 +6600
18570 +6600
18571 +6600
18572 +6600
18573 +0000
18574 +0000
18575 +0000
18576 +0000
18577 +ENDCHAR
18578 +STARTCHAR char172
18579 +ENCODING 205
18580 +SWIDTH 8640 0
18581 +DWIDTH 9 0
18582 +BBX 9 16 0 -4
18583 +BITMAP
18584 +0000
18585 +0000
18586 +0000
18587 +0000
18588 +0000
18589 +C600
18590 +EE00
18591 +FE00
18592 +FE00
18593 +D600
18594 +D600
18595 +C600
18596 +0000
18597 +0000
18598 +0000
18599 +0000
18600 +ENDCHAR
18601 +STARTCHAR char173
18602 +ENCODING 206
18603 +SWIDTH 8640 0
18604 +DWIDTH 9 0
18605 +BBX 9 16 0 -4
18606 +BITMAP
18607 +0000
18608 +0000
18609 +0000
18610 +0000
18611 +0000
18612 +C600
18613 +C600
18614 +C600
18615 +FE00
18616 +C600
18617 +C600
18618 +C600
18619 +0000
18620 +0000
18621 +0000
18622 +0000
18623 +ENDCHAR
18624 +STARTCHAR char174
18625 +ENCODING 207
18626 +SWIDTH 8640 0
18627 +DWIDTH 9 0
18628 +BBX 9 16 0 -4
18629 +BITMAP
18630 +0000
18631 +0000
18632 +0000
18633 +0000
18634 +0000
18635 +7C00
18636 +C600
18637 +C600
18638 +C600
18639 +C600
18640 +C600
18641 +7C00
18642 +0000
18643 +0000
18644 +0000
18645 +0000
18646 +ENDCHAR
18647 +STARTCHAR char175
18648 +ENCODING 208
18649 +SWIDTH 8640 0
18650 +DWIDTH 9 0
18651 +BBX 9 16 0 -4
18652 +BITMAP
18653 +0000
18654 +0000
18655 +0000
18656 +0000
18657 +0000
18658 +FE00
18659 +C600
18660 +C600
18661 +C600
18662 +C600
18663 +C600
18664 +C600
18665 +0000
18666 +0000
18667 +0000
18668 +0000
18669 +ENDCHAR
18670 +STARTCHAR char239
18671 +ENCODING 209
18672 +SWIDTH 8640 0
18673 +DWIDTH 9 0
18674 +BBX 9 16 0 -4
18675 +BITMAP
18676 +0000
18677 +0000
18678 +0000
18679 +0000
18680 +0000
18681 +7E00
18682 +CC00
18683 +CC00
18684 +FC00
18685 +6C00
18686 +CC00
18687 +CE00
18688 +0000
18689 +0000
18690 +0000
18691 +0000
18692 +ENDCHAR
18693 +STARTCHAR char224
18694 +ENCODING 210
18695 +SWIDTH 8640 0
18696 +DWIDTH 9 0
18697 +BBX 9 16 0 -4
18698 +BITMAP
18699 +0000
18700 +0000
18701 +0000
18702 +0000
18703 +0000
18704 +DC00
18705 +6600
18706 +6600
18707 +6600
18708 +6600
18709 +6600
18710 +7C00
18711 +6000
18712 +6000
18713 +F000
18714 +0000
18715 +ENDCHAR
18716 +STARTCHAR char225
18717 +ENCODING 211
18718 +SWIDTH 8640 0
18719 +DWIDTH 9 0
18720 +BBX 9 16 0 -4
18721 +BITMAP
18722 +0000
18723 +0000
18724 +0000
18725 +0000
18726 +0000
18727 +7C00
18728 +C600
18729 +C000
18730 +C000
18731 +C000
18732 +C600
18733 +7C00
18734 +0000
18735 +0000
18736 +0000
18737 +0000
18738 +ENDCHAR
18739 +STARTCHAR char226
18740 +ENCODING 212
18741 +SWIDTH 8640 0
18742 +DWIDTH 9 0
18743 +BBX 9 16 0 -4
18744 +BITMAP
18745 +0000
18746 +0000
18747 +0000
18748 +0000
18749 +0000
18750 +7E00
18751 +5A00
18752 +1800
18753 +1800
18754 +1800
18755 +1800
18756 +3C00
18757 +0000
18758 +0000
18759 +0000
18760 +0000
18761 +ENDCHAR
18762 +STARTCHAR char227
18763 +ENCODING 213
18764 +SWIDTH 8640 0
18765 +DWIDTH 9 0
18766 +BBX 9 16 0 -4
18767 +BITMAP
18768 +0000
18769 +0000
18770 +0000
18771 +0000
18772 +0000
18773 +C600
18774 +C600
18775 +C600
18776 +C600
18777 +C600
18778 +7E00
18779 +0600
18780 +0600
18781 +C600
18782 +7C00
18783 +0000
18784 +ENDCHAR
18785 +STARTCHAR char166
18786 +ENCODING 214
18787 +SWIDTH 8640 0
18788 +DWIDTH 9 0
18789 +BBX 9 16 0 -4
18790 +BITMAP
18791 +0000
18792 +0000
18793 +0000
18794 +0000
18795 +0000
18796 +D600
18797 +D600
18798 +5400
18799 +7C00
18800 +5400
18801 +D600
18802 +D600
18803 +0000
18804 +0000
18805 +0000
18806 +0000
18807 +ENDCHAR
18808 +STARTCHAR char162
18809 +ENCODING 215
18810 +SWIDTH 8640 0
18811 +DWIDTH 9 0
18812 +BBX 9 16 0 -4
18813 +BITMAP
18814 +0000
18815 +0000
18816 +0000
18817 +0000
18818 +0000
18819 +FC00
18820 +6600
18821 +6600
18822 +7C00
18823 +6600
18824 +6600
18825 +FC00
18826 +0000
18827 +0000
18828 +0000
18829 +0000
18830 +ENDCHAR
18831 +STARTCHAR char236
18832 +ENCODING 216
18833 +SWIDTH 8640 0
18834 +DWIDTH 9 0
18835 +BBX 9 16 0 -4
18836 +BITMAP
18837 +0000
18838 +0000
18839 +0000
18840 +0000
18841 +0000
18842 +F000
18843 +6000
18844 +6000
18845 +7C00
18846 +6600
18847 +6600
18848 +FC00
18849 +0000
18850 +0000
18851 +0000
18852 +0000
18853 +ENDCHAR
18854 +STARTCHAR char235
18855 +ENCODING 217
18856 +SWIDTH 8640 0
18857 +DWIDTH 9 0
18858 +BBX 9 16 0 -4
18859 +BITMAP
18860 +0000
18861 +0000
18862 +0000
18863 +0000
18864 +0000
18865 +C600
18866 +C600
18867 +C600
18868 +F600
18869 +DE00
18870 +DE00
18871 +F600
18872 +0000
18873 +0000
18874 +0000
18875 +0000
18876 +ENDCHAR
18877 +STARTCHAR char167
18878 +ENCODING 218
18879 +SWIDTH 8640 0
18880 +DWIDTH 9 0
18881 +BBX 9 16 0 -4
18882 +BITMAP
18883 +0000
18884 +0000
18885 +0000
18886 +0000
18887 +0000
18888 +3C00
18889 +6600
18890 +0600
18891 +0C00
18892 +0600
18893 +6600
18894 +3C00
18895 +0000
18896 +0000
18897 +0000
18898 +0000
18899 +ENDCHAR
18900 +STARTCHAR char232
18901 +ENCODING 219
18902 +SWIDTH 8640 0
18903 +DWIDTH 9 0
18904 +BBX 9 16 0 -4
18905 +BITMAP
18906 +0000
18907 +0000
18908 +0000
18909 +0000
18910 +0000
18911 +D600
18912 +D600
18913 +D600
18914 +D600
18915 +D600
18916 +D600
18917 +FE00
18918 +0000
18919 +0000
18920 +0000
18921 +0000
18922 +ENDCHAR
18923 +STARTCHAR char237
18924 +ENCODING 220
18925 +SWIDTH 8640 0
18926 +DWIDTH 9 0
18927 +BBX 9 16 0 -4
18928 +BITMAP
18929 +0000
18930 +0000
18931 +0000
18932 +0000
18933 +0000
18934 +3C00
18935 +6600
18936 +0600
18937 +1E00
18938 +0600
18939 +6600
18940 +3C00
18941 +0000
18942 +0000
18943 +0000
18944 +0000
18945 +ENDCHAR
18946 +STARTCHAR char233
18947 +ENCODING 221
18948 +SWIDTH 8640 0
18949 +DWIDTH 9 0
18950 +BBX 9 16 0 -4
18951 +BITMAP
18952 +0000
18953 +0000
18954 +0000
18955 +0000
18956 +0000
18957 +D600
18958 +D600
18959 +D600
18960 +D600
18961 +D600
18962 +D600
18963 +FE00
18964 +0300
18965 +0300
18966 +0000
18967 +0000
18968 +ENDCHAR
18969 +STARTCHAR char231
18970 +ENCODING 222
18971 +SWIDTH 8640 0
18972 +DWIDTH 9 0
18973 +BBX 9 16 0 -4
18974 +BITMAP
18975 +0000
18976 +0000
18977 +0000
18978 +0000
18979 +0000
18980 +C600
18981 +C600
18982 +C600
18983 +C600
18984 +7E00
18985 +0600
18986 +0600
18987 +0000
18988 +0000
18989 +0000
18990 +0000
18991 +ENDCHAR
18992 +STARTCHAR char234
18993 +ENCODING 223
18994 +SWIDTH 8640 0
18995 +DWIDTH 9 0
18996 +BBX 9 16 0 -4
18997 +BITMAP
18998 +0000
18999 +0000
19000 +0000
19001 +0000
19002 +0000
19003 +F800
19004 +B000
19005 +3000
19006 +3E00
19007 +3300
19008 +3300
19009 +7E00
19010 +0000
19011 +0000
19012 +0000
19013 +0000
19014 +ENDCHAR
19015 +STARTCHAR char158
19016 +ENCODING 224
19017 +SWIDTH 8640 0
19018 +DWIDTH 9 0
19019 +BBX 9 16 0 -4
19020 +BITMAP
19021 +0000
19022 +0000
19023 +CE00
19024 +DB00
19025 +DB00
19026 +DB00
19027 +FB00
19028 +DB00
19029 +DB00
19030 +DB00
19031 +DB00
19032 +CE00
19033 +0000
19034 +0000
19035 +0000
19036 +0000
19037 +ENDCHAR
19038 +STARTCHAR char128
19039 +ENCODING 225
19040 +SWIDTH 8640 0
19041 +DWIDTH 9 0
19042 +BBX 9 16 0 -4
19043 +BITMAP
19044 +0000
19045 +0000
19046 +1E00
19047 +3600
19048 +6600
19049 +C600
19050 +C600
19051 +FE00
19052 +C600
19053 +C600
19054 +C600
19055 +C600
19056 +0000
19057 +0000
19058 +0000
19059 +0000
19060 +ENDCHAR
19061 +STARTCHAR char129
19062 +ENCODING 226
19063 +SWIDTH 8640 0
19064 +DWIDTH 9 0
19065 +BBX 9 16 0 -4
19066 +BITMAP
19067 +0000
19068 +0000
19069 +FE00
19070 +6200
19071 +6200
19072 +6000
19073 +7C00
19074 +6600
19075 +6600
19076 +6600
19077 +6600
19078 +FC00
19079 +0000
19080 +0000
19081 +0000
19082 +0000
19083 +ENDCHAR
19084 +STARTCHAR char150
19085 +ENCODING 227
19086 +SWIDTH 8640 0
19087 +DWIDTH 9 0
19088 +BBX 9 16 0 -4
19089 +BITMAP
19090 +0000
19091 +0000
19092 +CC00
19093 +CC00
19094 +CC00
19095 +CC00
19096 +CC00
19097 +CC00
19098 +CC00
19099 +CC00
19100 +CC00
19101 +FE00
19102 +0600
19103 +0600
19104 +0000
19105 +0000
19106 +ENDCHAR
19107 +STARTCHAR char132
19108 +ENCODING 228
19109 +SWIDTH 8640 0
19110 +DWIDTH 9 0
19111 +BBX 9 16 0 -4
19112 +BITMAP
19113 +0000
19114 +0000
19115 +1E00
19116 +3600
19117 +6600
19118 +6600
19119 +6600
19120 +6600
19121 +6600
19122 +6600
19123 +6600
19124 +FF00
19125 +C300
19126 +8100
19127 +0000
19128 +0000
19129 +ENDCHAR
19130 +STARTCHAR char133
19131 +ENCODING 229
19132 +SWIDTH 8640 0
19133 +DWIDTH 9 0
19134 +BBX 9 16 0 -4
19135 +BITMAP
19136 +0000
19137 +0000
19138 +FE00
19139 +6600
19140 +6200
19141 +6800
19142 +7800
19143 +6800
19144 +6000
19145 +6200
19146 +6600
19147 +FE00
19148 +0000
19149 +0000
19150 +0000
19151 +0000
19152 +ENDCHAR
19153 +STARTCHAR char148
19154 +ENCODING 230
19155 +SWIDTH 8640 0
19156 +DWIDTH 9 0
19157 +BBX 9 16 0 -4
19158 +BITMAP
19159 +0000
19160 +3C00
19161 +1800
19162 +7E00
19163 +DB00
19164 +DB00
19165 +DB00
19166 +DB00
19167 +DB00
19168 +7E00
19169 +1800
19170 +3C00
19171 +0000
19172 +0000
19173 +0000
19174 +0000
19175 +ENDCHAR
19176 +STARTCHAR char131
19177 +ENCODING 231
19178 +SWIDTH 8640 0
19179 +DWIDTH 9 0
19180 +BBX 9 16 0 -4
19181 +BITMAP
19182 +0000
19183 +0000
19184 +FE00
19185 +6200
19186 +6200
19187 +6000
19188 +6000
19189 +6000
19190 +6000
19191 +6000
19192 +6000
19193 +F000
19194 +0000
19195 +0000
19196 +0000
19197 +0000
19198 +ENDCHAR
19199 +STARTCHAR char149
19200 +ENCODING 232
19201 +SWIDTH 8640 0
19202 +DWIDTH 9 0
19203 +BBX 9 16 0 -4
19204 +BITMAP
19205 +0000
19206 +0000
19207 +C600
19208 +C600
19209 +6C00
19210 +7C00
19211 +3800
19212 +3800
19213 +7C00
19214 +6C00
19215 +C600
19216 +C600
19217 +0000
19218 +0000
19219 +0000
19220 +0000
19221 +ENDCHAR
19222 +STARTCHAR char136
19223 +ENCODING 233
19224 +SWIDTH 8640 0
19225 +DWIDTH 9 0
19226 +BBX 9 16 0 -4
19227 +BITMAP
19228 +0000
19229 +0000
19230 +C600
19231 +C600
19232 +CE00
19233 +CE00
19234 +D600
19235 +E600
19236 +E600
19237 +C600
19238 +C600
19239 +C600
19240 +0000
19241 +0000
19242 +0000
19243 +0000
19244 +ENDCHAR
19245 +STARTCHAR char137
19246 +ENCODING 234
19247 +SWIDTH 8640 0
19248 +DWIDTH 9 0
19249 +BBX 9 16 0 -4
19250 +BITMAP
19251 +3800
19252 +3800
19253 +C600
19254 +C600
19255 +CE00
19256 +CE00
19257 +D600
19258 +E600
19259 +E600
19260 +C600
19261 +C600
19262 +C600
19263 +0000
19264 +0000
19265 +0000
19266 +0000
19267 +ENDCHAR
19268 +STARTCHAR char138
19269 +ENCODING 235
19270 +SWIDTH 8640 0
19271 +DWIDTH 9 0
19272 +BBX 9 16 0 -4
19273 +BITMAP
19274 +0000
19275 +0000
19276 +E600
19277 +6600
19278 +6C00
19279 +6C00
19280 +7800
19281 +7800
19282 +6C00
19283 +6C00
19284 +6600
19285 +E600
19286 +0000
19287 +0000
19288 +0000
19289 +0000
19290 +ENDCHAR
19291 +STARTCHAR char139
19292 +ENCODING 236
19293 +SWIDTH 8640 0
19294 +DWIDTH 9 0
19295 +BBX 9 16 0 -4
19296 +BITMAP
19297 +0000
19298 +0000
19299 +1E00
19300 +3600
19301 +6600
19302 +C600
19303 +C600
19304 +C600
19305 +C600
19306 +C600
19307 +C600
19308 +C600
19309 +0000
19310 +0000
19311 +0000
19312 +0000
19313 +ENDCHAR
19314 +STARTCHAR char140
19315 +ENCODING 237
19316 +SWIDTH 8640 0
19317 +DWIDTH 9 0
19318 +BBX 9 16 0 -4
19319 +BITMAP
19320 +0000
19321 +0000
19322 +C600
19323 +EE00
19324 +FE00
19325 +FE00
19326 +D600
19327 +C600
19328 +C600
19329 +C600
19330 +C600
19331 +C600
19332 +0000
19333 +0000
19334 +0000
19335 +0000
19336 +ENDCHAR
19337 +STARTCHAR char141
19338 +ENCODING 238
19339 +SWIDTH 8640 0
19340 +DWIDTH 9 0
19341 +BBX 9 16 0 -4
19342 +BITMAP
19343 +0000
19344 +0000
19345 +C600
19346 +C600
19347 +C600
19348 +C600
19349 +FE00
19350 +C600
19351 +C600
19352 +C600
19353 +C600
19354 +C600
19355 +0000
19356 +0000
19357 +0000
19358 +0000
19359 +ENDCHAR
19360 +STARTCHAR char142
19361 +ENCODING 239
19362 +SWIDTH 8640 0
19363 +DWIDTH 9 0
19364 +BBX 9 16 0 -4
19365 +BITMAP
19366 +0000
19367 +0000
19368 +7C00
19369 +C600
19370 +C600
19371 +C600
19372 +C600
19373 +C600
19374 +C600
19375 +C600
19376 +C600
19377 +7C00
19378 +0000
19379 +0000
19380 +0000
19381 +0000
19382 +ENDCHAR
19383 +STARTCHAR char143
19384 +ENCODING 240
19385 +SWIDTH 8640 0
19386 +DWIDTH 9 0
19387 +BBX 9 16 0 -4
19388 +BITMAP
19389 +0000
19390 +0000
19391 +FE00
19392 +C600
19393 +C600
19394 +C600
19395 +C600
19396 +C600
19397 +C600
19398 +C600
19399 +C600
19400 +C600
19401 +0000
19402 +0000
19403 +0000
19404 +0000
19405 +ENDCHAR
19406 +STARTCHAR char159
19407 +ENCODING 241
19408 +SWIDTH 8640 0
19409 +DWIDTH 9 0
19410 +BBX 9 16 0 -4
19411 +BITMAP
19412 +0000
19413 +0000
19414 +3F00
19415 +6600
19416 +6600
19417 +6600
19418 +3E00
19419 +3E00
19420 +6600
19421 +6600
19422 +6600
19423 +E700
19424 +0000
19425 +0000
19426 +0000
19427 +0000
19428 +ENDCHAR
19429 +STARTCHAR char144
19430 +ENCODING 242
19431 +SWIDTH 8640 0
19432 +DWIDTH 9 0
19433 +BBX 9 16 0 -4
19434 +BITMAP
19435 +0000
19436 +0000
19437 +FC00
19438 +6600
19439 +6600
19440 +6600
19441 +7C00
19442 +6000
19443 +6000
19444 +6000
19445 +6000
19446 +F000
19447 +0000
19448 +0000
19449 +0000
19450 +0000
19451 +ENDCHAR
19452 +STARTCHAR char145
19453 +ENCODING 243
19454 +SWIDTH 8640 0
19455 +DWIDTH 9 0
19456 +BBX 9 16 0 -4
19457 +BITMAP
19458 +0000
19459 +0000
19460 +3C00
19461 +6600
19462 +C200
19463 +C000
19464 +C000
19465 +C000
19466 +C000
19467 +C200
19468 +6600
19469 +3C00
19470 +0000
19471 +0000
19472 +0000
19473 +0000
19474 +ENDCHAR
19475 +STARTCHAR char146
19476 +ENCODING 244
19477 +SWIDTH 8640 0
19478 +DWIDTH 9 0
19479 +BBX 9 16 0 -4
19480 +BITMAP
19481 +0000
19482 +0000
19483 +7E00
19484 +5A00
19485 +1800
19486 +1800
19487 +1800
19488 +1800
19489 +1800
19490 +1800
19491 +1800
19492 +3C00
19493 +0000
19494 +0000
19495 +0000
19496 +0000
19497 +ENDCHAR
19498 +STARTCHAR char147
19499 +ENCODING 245
19500 +SWIDTH 8640 0
19501 +DWIDTH 9 0
19502 +BBX 9 16 0 -4
19503 +BITMAP
19504 +0000
19505 +0000
19506 +C600
19507 +C600
19508 +C600
19509 +C600
19510 +C600
19511 +7E00
19512 +0600
19513 +0600
19514 +C600
19515 +7C00
19516 +0000
19517 +0000
19518 +0000
19519 +0000
19520 +ENDCHAR
19521 +STARTCHAR char134
19522 +ENCODING 246
19523 +SWIDTH 8640 0
19524 +DWIDTH 9 0
19525 +BBX 9 16 0 -4
19526 +BITMAP
19527 +0000
19528 +0000
19529 +D600
19530 +D600
19531 +5400
19532 +5400
19533 +7C00
19534 +7C00
19535 +5400
19536 +D600
19537 +D600
19538 +D600
19539 +0000
19540 +0000
19541 +0000
19542 +0000
19543 +ENDCHAR
19544 +STARTCHAR char130
19545 +ENCODING 247
19546 +SWIDTH 8640 0
19547 +DWIDTH 9 0
19548 +BBX 9 16 0 -4
19549 +BITMAP
19550 +0000
19551 +0000
19552 +FC00
19553 +6600
19554 +6600
19555 +6600
19556 +7C00
19557 +6600
19558 +6600
19559 +6600
19560 +6600
19561 +FC00
19562 +0000
19563 +0000
19564 +0000
19565 +0000
19566 +ENDCHAR
19567 +STARTCHAR char156
19568 +ENCODING 248
19569 +SWIDTH 8640 0
19570 +DWIDTH 9 0
19571 +BBX 9 16 0 -4
19572 +BITMAP
19573 +0000
19574 +0000
19575 +F000
19576 +6000
19577 +6000
19578 +6000
19579 +7C00
19580 +6600
19581 +6600
19582 +6600
19583 +6600
19584 +FC00
19585 +0000
19586 +0000
19587 +0000
19588 +0000
19589 +ENDCHAR
19590 +STARTCHAR char155
19591 +ENCODING 249
19592 +SWIDTH 8640 0
19593 +DWIDTH 9 0
19594 +BBX 9 16 0 -4
19595 +BITMAP
19596 +0000
19597 +0000
19598 +C300
19599 +C300
19600 +C300
19601 +C300
19602 +F300
19603 +DB00
19604 +DB00
19605 +DB00
19606 +DB00
19607 +F300
19608 +0000
19609 +0000
19610 +0000
19611 +0000
19612 +ENDCHAR
19613 +STARTCHAR char135
19614 +ENCODING 250
19615 +SWIDTH 8640 0
19616 +DWIDTH 9 0
19617 +BBX 9 16 0 -4
19618 +BITMAP
19619 +0000
19620 +0000
19621 +7C00
19622 +C600
19623 +0600
19624 +0600
19625 +3C00
19626 +0600
19627 +0600
19628 +0600
19629 +C600
19630 +7C00
19631 +0000
19632 +0000
19633 +0000
19634 +0000
19635 +ENDCHAR
19636 +STARTCHAR char152
19637 +ENCODING 251
19638 +SWIDTH 8640 0
19639 +DWIDTH 9 0
19640 +BBX 9 16 0 -4
19641 +BITMAP
19642 +0000
19643 +0000
19644 +DB00
19645 +DB00
19646 +DB00
19647 +DB00
19648 +DB00
19649 +DB00
19650 +DB00
19651 +DB00
19652 +DB00
19653 +FF00
19654 +0000
19655 +0000
19656 +0000
19657 +0000
19658 +ENDCHAR
19659 +STARTCHAR char157
19660 +ENCODING 252
19661 +SWIDTH 8640 0
19662 +DWIDTH 9 0
19663 +BBX 9 16 0 -4
19664 +BITMAP
19665 +0000
19666 +0000
19667 +7C00
19668 +C600
19669 +0600
19670 +2600
19671 +3E00
19672 +2600
19673 +0600
19674 +0600
19675 +C600
19676 +7C00
19677 +0000
19678 +0000
19679 +0000
19680 +0000
19681 +ENDCHAR
19682 +STARTCHAR char153
19683 +ENCODING 253
19684 +SWIDTH 8640 0
19685 +DWIDTH 9 0
19686 +BBX 9 16 0 -4
19687 +BITMAP
19688 +0000
19689 +0000
19690 +DB00
19691 +DB00
19692 +DB00
19693 +DB00
19694 +DB00
19695 +DB00
19696 +DB00
19697 +DB00
19698 +DB00
19699 +FF00
19700 +0300
19701 +0300
19702 +0000
19703 +0000
19704 +ENDCHAR
19705 +STARTCHAR char151
19706 +ENCODING 254
19707 +SWIDTH 8640 0
19708 +DWIDTH 9 0
19709 +BBX 9 16 0 -4
19710 +BITMAP
19711 +0000
19712 +0000
19713 +C600
19714 +C600
19715 +C600
19716 +C600
19717 +C600
19718 +7E00
19719 +0600
19720 +0600
19721 +0600
19722 +0600
19723 +0000
19724 +0000
19725 +0000
19726 +0000
19727 +ENDCHAR
19728 +STARTCHAR char154
19729 +ENCODING 255
19730 +SWIDTH 8640 0
19731 +DWIDTH 9 0
19732 +BBX 9 16 0 -4
19733 +BITMAP
19734 +0000
19735 +0000
19736 +F800
19737 +B000
19738 +3000
19739 +3000
19740 +3C00
19741 +3600
19742 +3600
19743 +3600
19744 +3600
19745 +7C00
19746 +0000
19747 +0000
19748 +0000
19749 +0000
19750 +ENDCHAR
19751 +ENDFONT
19752 diff -r af23d23c278b util/alevt/vtxt-latin-1.bdf
19753 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
19754 +++ b/util/alevt/vtxt-latin-1.bdf       Tue Dec 21 12:13:28 2010 +0100
19755 @@ -0,0 +1,5906 @@
19756 +STARTFONT 2.1
19757 +FONT -alevt-teletext-medium-r-normal--16-1-75-75-c-90-fontspecific-1
19758 +SIZE 1 75 75
19759 +FONTBOUNDINGBOX 9 16 0 -4
19760 +STARTPROPERTIES 10
19761 +POINT_SIZE 1
19762 +PIXEL_SIZE 16
19763 +RESOLUTION_X 75
19764 +RESOLUTION_Y 75
19765 +FONT_ASCENT 12
19766 +FONT_DESCENT 4
19767 +AVERAGE_WIDTH 90
19768 +SPACING "C"
19769 +_XMBDFED_INFO "Edited with xmbdfed 2.4."
19770 +FONT "vtxt"
19771 +ENDPROPERTIES
19772 +CHARS 256
19773 +STARTCHAR char0
19774 +ENCODING 0
19775 +SWIDTH 8640 0
19776 +DWIDTH 9 0
19777 +BBX 9 16 0 -4
19778 +BITMAP
19779 +0000
19780 +0000
19781 +0000
19782 +0000
19783 +0000
19784 +0000
19785 +0000
19786 +0000
19787 +0000
19788 +0000
19789 +0000
19790 +0000
19791 +0000
19792 +0000
19793 +0000
19794 +0000
19795 +ENDCHAR
19796 +STARTCHAR char1
19797 +ENCODING 1
19798 +SWIDTH 8640 0
19799 +DWIDTH 9 0
19800 +BBX 9 16 0 -4
19801 +BITMAP
19802 +F000
19803 +F000
19804 +F000
19805 +F000
19806 +F000
19807 +0000
19808 +0000
19809 +0000
19810 +0000
19811 +0000
19812 +0000
19813 +0000
19814 +0000
19815 +0000
19816 +0000
19817 +0000
19818 +ENDCHAR
19819 +STARTCHAR char2
19820 +ENCODING 2
19821 +SWIDTH 8640 0
19822 +DWIDTH 9 0
19823 +BBX 9 16 0 -4
19824 +BITMAP
19825 +0F80
19826 +0F80
19827 +0F80
19828 +0F80
19829 +0F80
19830 +0000
19831 +0000
19832 +0000
19833 +0000
19834 +0000
19835 +0000
19836 +0000
19837 +0000
19838 +0000
19839 +0000
19840 +0000
19841 +ENDCHAR
19842 +STARTCHAR char1
19843 +ENCODING 3
19844 +SWIDTH 8640 0
19845 +DWIDTH 9 0
19846 +BBX 9 16 0 -4
19847 +BITMAP
19848 +FF80
19849 +FF80
19850 +FF80
19851 +FF80
19852 +FF80
19853 +0000
19854 +0000
19855 +0000
19856 +0000
19857 +0000
19858 +0000
19859 +0000
19860 +0000
19861 +0000
19862 +0000
19863 +0000
19864 +ENDCHAR
19865 +STARTCHAR char0
19866 +ENCODING 4
19867 +SWIDTH 8640 0
19868 +DWIDTH 9 0
19869 +BBX 9 16 0 -4
19870 +BITMAP
19871 +0000
19872 +0000
19873 +0000
19874 +0000
19875 +0000
19876 +F000
19877 +F000
19878 +F000
19879 +F000
19880 +F000
19881 +F000
19882 +0000
19883 +0000
19884 +0000
19885 +0000
19886 +0000
19887 +ENDCHAR
19888 +STARTCHAR char1
19889 +ENCODING 5
19890 +SWIDTH 8640 0
19891 +DWIDTH 9 0
19892 +BBX 9 16 0 -4
19893 +BITMAP
19894 +F000
19895 +F000
19896 +F000
19897 +F000
19898 +F000
19899 +F000
19900 +F000
19901 +F000
19902 +F000
19903 +F000
19904 +F000
19905 +0000
19906 +0000
19907 +0000
19908 +0000
19909 +0000
19910 +ENDCHAR
19911 +STARTCHAR char2
19912 +ENCODING 6
19913 +SWIDTH 8640 0
19914 +DWIDTH 9 0
19915 +BBX 9 16 0 -4
19916 +BITMAP
19917 +0F80
19918 +0F80
19919 +0F80
19920 +0F80
19921 +0F80
19922 +F000
19923 +F000
19924 +F000
19925 +F000
19926 +F000
19927 +F000
19928 +0000
19929 +0000
19930 +0000
19931 +0000
19932 +0000
19933 +ENDCHAR
19934 +STARTCHAR char1
19935 +ENCODING 7
19936 +SWIDTH 8640 0
19937 +DWIDTH 9 0
19938 +BBX 9 16 0 -4
19939 +BITMAP
19940 +FF80
19941 +FF80
19942 +FF80
19943 +FF80
19944 +FF80
19945 +F000
19946 +F000
19947 +F000
19948 +F000
19949 +F000
19950 +F000
19951 +0000
19952 +0000
19953 +0000
19954 +0000
19955 +0000
19956 +ENDCHAR
19957 +STARTCHAR char0
19958 +ENCODING 8
19959 +SWIDTH 8640 0
19960 +DWIDTH 9 0
19961 +BBX 9 16 0 -4
19962 +BITMAP
19963 +0000
19964 +0000
19965 +0000
19966 +0000
19967 +0000
19968 +0F80
19969 +0F80
19970 +0F80
19971 +0F80
19972 +0F80
19973 +0F80
19974 +0000
19975 +0000
19976 +0000
19977 +0000
19978 +0000
19979 +ENDCHAR
19980 +STARTCHAR char1
19981 +ENCODING 9
19982 +SWIDTH 8640 0
19983 +DWIDTH 9 0
19984 +BBX 9 16 0 -4
19985 +BITMAP
19986 +F000
19987 +F000
19988 +F000
19989 +F000
19990 +F000
19991 +0F80
19992 +0F80
19993 +0F80
19994 +0F80
19995 +0F80
19996 +0F80
19997 +0000
19998 +0000
19999 +0000
20000 +0000
20001 +0000
20002 +ENDCHAR
20003 +STARTCHAR char2
20004 +ENCODING 10
20005 +SWIDTH 8640 0
20006 +DWIDTH 9 0
20007 +BBX 9 16 0 -4
20008 +BITMAP
20009 +0F80
20010 +0F80
20011 +0F80
20012 +0F80
20013 +0F80
20014 +0F80
20015 +0F80
20016 +0F80
20017 +0F80
20018 +0F80
20019 +0F80
20020 +0000
20021 +0000
20022 +0000
20023 +0000
20024 +0000
20025 +ENDCHAR
20026 +STARTCHAR char1
20027 +ENCODING 11
20028 +SWIDTH 8640 0
20029 +DWIDTH 9 0
20030 +BBX 9 16 0 -4
20031 +BITMAP
20032 +FF80
20033 +FF80
20034 +FF80
20035 +FF80
20036 +FF80
20037 +0F80
20038 +0F80
20039 +0F80
20040 +0F80
20041 +0F80
20042 +0F80
20043 +0000
20044 +0000
20045 +0000
20046 +0000
20047 +0000
20048 +ENDCHAR
20049 +STARTCHAR char0
20050 +ENCODING 12
20051 +SWIDTH 8640 0
20052 +DWIDTH 9 0
20053 +BBX 9 16 0 -4
20054 +BITMAP
20055 +0000
20056 +0000
20057 +0000
20058 +0000
20059 +0000
20060 +FF80
20061 +FF80
20062 +FF80
20063 +FF80
20064 +FF80
20065 +FF80
20066 +0000
20067 +0000
20068 +0000
20069 +0000
20070 +0000
20071 +ENDCHAR
20072 +STARTCHAR char1
20073 +ENCODING 13
20074 +SWIDTH 8640 0
20075 +DWIDTH 9 0
20076 +BBX 9 16 0 -4
20077 +BITMAP
20078 +F000
20079 +F000
20080 +F000
20081 +F000
20082 +F000
20083 +FF80
20084 +FF80
20085 +FF80
20086 +FF80
20087 +FF80
20088 +FF80
20089 +0000
20090 +0000
20091 +0000
20092 +0000
20093 +0000
20094 +ENDCHAR
20095 +STARTCHAR char2
20096 +ENCODING 14
20097 +SWIDTH 8640 0
20098 +DWIDTH 9 0
20099 +BBX 9 16 0 -4
20100 +BITMAP
20101 +0F80
20102 +0F80
20103 +0F80
20104 +0F80
20105 +0F80
20106 +FF80
20107 +FF80
20108 +FF80
20109 +FF80
20110 +FF80
20111 +FF80
20112 +0000
20113 +0000
20114 +0000
20115 +0000
20116 +0000
20117 +ENDCHAR
20118 +STARTCHAR char1
20119 +ENCODING 15
20120 +SWIDTH 8640 0
20121 +DWIDTH 9 0
20122 +BBX 9 16 0 -4
20123 +BITMAP
20124 +FF80
20125 +FF80
20126 +FF80
20127 +FF80
20128 +FF80
20129 +FF80
20130 +FF80
20131 +FF80
20132 +FF80
20133 +FF80
20134 +FF80
20135 +0000
20136 +0000
20137 +0000
20138 +0000
20139 +0000
20140 +ENDCHAR
20141 +STARTCHAR char0
20142 +ENCODING 16
20143 +SWIDTH 8640 0
20144 +DWIDTH 9 0
20145 +BBX 9 16 0 -4
20146 +BITMAP
20147 +0000
20148 +0000
20149 +0000
20150 +0000
20151 +0000
20152 +0000
20153 +0000
20154 +0000
20155 +0000
20156 +0000
20157 +0000
20158 +F000
20159 +F000
20160 +F000
20161 +F000
20162 +F000
20163 +ENDCHAR
20164 +STARTCHAR char1
20165 +ENCODING 17
20166 +SWIDTH 8640 0
20167 +DWIDTH 9 0
20168 +BBX 9 16 0 -4
20169 +BITMAP
20170 +F000
20171 +F000
20172 +F000
20173 +F000
20174 +F000
20175 +0000
20176 +0000
20177 +0000
20178 +0000
20179 +0000
20180 +0000
20181 +F000
20182 +F000
20183 +F000
20184 +F000
20185 +F000
20186 +ENDCHAR
20187 +STARTCHAR char2
20188 +ENCODING 18
20189 +SWIDTH 8640 0
20190 +DWIDTH 9 0
20191 +BBX 9 16 0 -4
20192 +BITMAP
20193 +0F80
20194 +0F80
20195 +0F80
20196 +0F80
20197 +0F80
20198 +0000
20199 +0000
20200 +0000
20201 +0000
20202 +0000
20203 +0000
20204 +F000
20205 +F000
20206 +F000
20207 +F000
20208 +F000
20209 +ENDCHAR
20210 +STARTCHAR char1
20211 +ENCODING 19
20212 +SWIDTH 8640 0
20213 +DWIDTH 9 0
20214 +BBX 9 16 0 -4
20215 +BITMAP
20216 +FF80
20217 +FF80
20218 +FF80
20219 +FF80
20220 +FF80
20221 +0000
20222 +0000
20223 +0000
20224 +0000
20225 +0000
20226 +0000
20227 +F000
20228 +F000
20229 +F000
20230 +F000
20231 +F000
20232 +ENDCHAR
20233 +STARTCHAR char0
20234 +ENCODING 20
20235 +SWIDTH 8640 0
20236 +DWIDTH 9 0
20237 +BBX 9 16 0 -4
20238 +BITMAP
20239 +0000
20240 +0000
20241 +0000
20242 +0000
20243 +0000
20244 +F000
20245 +F000
20246 +F000
20247 +F000
20248 +F000
20249 +F000
20250 +F000
20251 +F000
20252 +F000
20253 +F000
20254 +F000
20255 +ENDCHAR
20256 +STARTCHAR char1
20257 +ENCODING 21
20258 +SWIDTH 8640 0
20259 +DWIDTH 9 0
20260 +BBX 9 16 0 -4
20261 +BITMAP
20262 +F000
20263 +F000
20264 +F000
20265 +F000
20266 +F000
20267 +F000
20268 +F000
20269 +F000
20270 +F000
20271 +F000
20272 +F000
20273 +F000
20274 +F000
20275 +F000
20276 +F000
20277 +F000
20278 +ENDCHAR
20279 +STARTCHAR char2
20280 +ENCODING 22
20281 +SWIDTH 8640 0
20282 +DWIDTH 9 0
20283 +BBX 9 16 0 -4
20284 +BITMAP
20285 +0F80
20286 +0F80
20287 +0F80
20288 +0F80
20289 +0F80
20290 +F000
20291 +F000
20292 +F000
20293 +F000
20294 +F000
20295 +F000
20296 +F000
20297 +F000
20298 +F000
20299 +F000
20300 +F000
20301 +ENDCHAR
20302 +STARTCHAR char1
20303 +ENCODING 23
20304 +SWIDTH 8640 0
20305 +DWIDTH 9 0
20306 +BBX 9 16 0 -4
20307 +BITMAP
20308 +FF80
20309 +FF80
20310 +FF80
20311 +FF80
20312 +FF80
20313 +F000
20314 +F000
20315 +F000
20316 +F000
20317 +F000
20318 +F000
20319 +F000
20320 +F000
20321 +F000
20322 +F000
20323 +F000
20324 +ENDCHAR
20325 +STARTCHAR char0
20326 +ENCODING 24
20327 +SWIDTH 8640 0
20328 +DWIDTH 9 0
20329 +BBX 9 16 0 -4
20330 +BITMAP
20331 +0000
20332 +0000
20333 +0000
20334 +0000
20335 +0000
20336 +0F80
20337 +0F80
20338 +0F80
20339 +0F80
20340 +0F80
20341 +0F80
20342 +F000
20343 +F000
20344 +F000
20345 +F000
20346 +F000
20347 +ENDCHAR
20348 +STARTCHAR char1
20349 +ENCODING 25
20350 +SWIDTH 8640 0
20351 +DWIDTH 9 0
20352 +BBX 9 16 0 -4
20353 +BITMAP
20354 +F000
20355 +F000
20356 +F000
20357 +F000
20358 +F000
20359 +0F80
20360 +0F80
20361 +0F80
20362 +0F80
20363 +0F80
20364 +0F80
20365 +F000
20366 +F000
20367 +F000
20368 +F000
20369 +F000
20370 +ENDCHAR
20371 +STARTCHAR char2
20372 +ENCODING 26
20373 +SWIDTH 8640 0
20374 +DWIDTH 9 0
20375 +BBX 9 16 0 -4
20376 +BITMAP
20377 +0F80
20378 +0F80
20379 +0F80
20380 +0F80
20381 +0F80
20382 +0F80
20383 +0F80
20384 +0F80
20385 +0F80
20386 +0F80
20387 +0F80
20388 +F000
20389 +F000
20390 +F000
20391 +F000
20392 +F000
20393 +ENDCHAR
20394 +STARTCHAR char1
20395 +ENCODING 27
20396 +SWIDTH 8640 0
20397 +DWIDTH 9 0
20398 +BBX 9 16 0 -4
20399 +BITMAP
20400 +FF80
20401 +FF80
20402 +FF80
20403 +FF80
20404 +FF80
20405 +0F80
20406 +0F80
20407 +0F80
20408 +0F80
20409 +0F80
20410 +0F80
20411 +F000
20412 +F000
20413 +F000
20414 +F000
20415 +F000
20416 +ENDCHAR
20417 +STARTCHAR char0
20418 +ENCODING 28
20419 +SWIDTH 8640 0
20420 +DWIDTH 9 0
20421 +BBX 9 16 0 -4
20422 +BITMAP
20423 +0000
20424 +0000
20425 +0000
20426 +0000
20427 +0000
20428 +FF80
20429 +FF80
20430 +FF80
20431 +FF80
20432 +FF80
20433 +FF80
20434 +F000
20435 +F000
20436 +F000
20437 +F000
20438 +F000
20439 +ENDCHAR
20440 +STARTCHAR char1
20441 +ENCODING 29
20442 +SWIDTH 8640 0
20443 +DWIDTH 9 0
20444 +BBX 9 16 0 -4
20445 +BITMAP
20446 +F000
20447 +F000
20448 +F000
20449 +F000
20450 +F000
20451 +FF80
20452 +FF80
20453 +FF80
20454 +FF80
20455 +FF80
20456 +FF80
20457 +F000
20458 +F000
20459 +F000
20460 +F000
20461 +F000
20462 +ENDCHAR
20463 +STARTCHAR char2
20464 +ENCODING 30
20465 +SWIDTH 8640 0
20466 +DWIDTH 9 0
20467 +BBX 9 16 0 -4
20468 +BITMAP
20469 +0F80
20470 +0F80
20471 +0F80
20472 +0F80
20473 +0F80
20474 +FF80
20475 +FF80
20476 +FF80
20477 +FF80
20478 +FF80
20479 +FF80
20480 +F000
20481 +F000
20482 +F000
20483 +F000
20484 +F000
20485 +ENDCHAR
20486 +STARTCHAR char1
20487 +ENCODING 31
20488 +SWIDTH 8640 0
20489 +DWIDTH 9 0
20490 +BBX 9 16 0 -4
20491 +BITMAP
20492 +FF80
20493 +FF80
20494 +FF80
20495 +FF80
20496 +FF80
20497 +FF80
20498 +FF80
20499 +FF80
20500 +FF80
20501 +FF80
20502 +FF80
20503 +F000
20504 +F000
20505 +F000
20506 +F000
20507 +F000
20508 +ENDCHAR
20509 +STARTCHAR char32
20510 +ENCODING 32
20511 +SWIDTH 8640 0
20512 +DWIDTH 9 0
20513 +BBX 9 16 0 -4
20514 +BITMAP
20515 +0000
20516 +0000
20517 +0000
20518 +0000
20519 +0000
20520 +0000
20521 +0000
20522 +0000
20523 +0000
20524 +0000
20525 +0000
20526 +0000
20527 +0000
20528 +0000
20529 +0000
20530 +0000
20531 +ENDCHAR
20532 +STARTCHAR char33
20533 +ENCODING 33
20534 +SWIDTH 8640 0
20535 +DWIDTH 9 0
20536 +BBX 9 16 0 -4
20537 +BITMAP
20538 +0000
20539 +0000
20540 +1800
20541 +3C00
20542 +3C00
20543 +3C00
20544 +1800
20545 +1800
20546 +1800
20547 +0000
20548 +1800
20549 +1800
20550 +0000
20551 +0000
20552 +0000
20553 +0000
20554 +ENDCHAR
20555 +STARTCHAR char34
20556 +ENCODING 34
20557 +SWIDTH 8640 0
20558 +DWIDTH 9 0
20559 +BBX 9 16 0 -4
20560 +BITMAP
20561 +0000
20562 +6600
20563 +6600
20564 +6600
20565 +2400
20566 +0000
20567 +0000
20568 +0000
20569 +0000
20570 +0000
20571 +0000
20572 +0000
20573 +0000
20574 +0000
20575 +0000
20576 +0000
20577 +ENDCHAR
20578 +STARTCHAR char35
20579 +ENCODING 35
20580 +SWIDTH 8640 0
20581 +DWIDTH 9 0
20582 +BBX 9 16 0 -4
20583 +BITMAP
20584 +0000
20585 +0000
20586 +0000
20587 +3600
20588 +3600
20589 +7F00
20590 +3600
20591 +3600
20592 +3600
20593 +7F00
20594 +3600
20595 +3600
20596 +0000
20597 +0000
20598 +0000
20599 +0000
20600 +ENDCHAR
20601 +STARTCHAR char36
20602 +ENCODING 36
20603 +SWIDTH 8640 0
20604 +DWIDTH 9 0
20605 +BBX 9 16 0 -4
20606 +BITMAP
20607 +0C00
20608 +0C00
20609 +3E00
20610 +6300
20611 +6100
20612 +6000
20613 +3E00
20614 +0300
20615 +0300
20616 +4300
20617 +6300
20618 +3E00
20619 +0C00
20620 +0C00
20621 +0000
20622 +0000
20623 +ENDCHAR
20624 +STARTCHAR char37
20625 +ENCODING 37
20626 +SWIDTH 8640 0
20627 +DWIDTH 9 0
20628 +BBX 9 16 0 -4
20629 +BITMAP
20630 +0000
20631 +0000
20632 +0000
20633 +0000
20634 +6100
20635 +6300
20636 +0600
20637 +0C00
20638 +1800
20639 +3000
20640 +6300
20641 +4300
20642 +0000
20643 +0000
20644 +0000
20645 +0000
20646 +ENDCHAR
20647 +STARTCHAR char38
20648 +ENCODING 38
20649 +SWIDTH 8640 0
20650 +DWIDTH 9 0
20651 +BBX 9 16 0 -4
20652 +BITMAP
20653 +0000
20654 +0000
20655 +1C00
20656 +3600
20657 +3600
20658 +1C00
20659 +3B00
20660 +6E00
20661 +6600
20662 +6600
20663 +6600
20664 +3B00
20665 +0000
20666 +0000
20667 +0000
20668 +0000
20669 +ENDCHAR
20670 +STARTCHAR char39
20671 +ENCODING 39
20672 +SWIDTH 8640 0
20673 +DWIDTH 9 0
20674 +BBX 9 16 0 -4
20675 +BITMAP
20676 +0000
20677 +3000
20678 +3000
20679 +3000
20680 +6000
20681 +0000
20682 +0000
20683 +0000
20684 +0000
20685 +0000
20686 +0000
20687 +0000
20688 +0000
20689 +0000
20690 +0000
20691 +0000
20692 +ENDCHAR
20693 +STARTCHAR char40
20694 +ENCODING 40
20695 +SWIDTH 8640 0
20696 +DWIDTH 9 0
20697 +BBX 9 16 0 -4
20698 +BITMAP
20699 +0000
20700 +0000
20701 +0C00
20702 +1800
20703 +3000
20704 +3000
20705 +3000
20706 +3000
20707 +3000
20708 +3000
20709 +1800
20710 +0C00
20711 +0000
20712 +0000
20713 +0000
20714 +0000
20715 +ENDCHAR
20716 +STARTCHAR char41
20717 +ENCODING 41
20718 +SWIDTH 8640 0
20719 +DWIDTH 9 0
20720 +BBX 9 16 0 -4
20721 +BITMAP
20722 +0000
20723 +0000
20724 +3000
20725 +1800
20726 +0C00
20727 +0C00
20728 +0C00
20729 +0C00
20730 +0C00
20731 +0C00
20732 +1800
20733 +3000
20734 +0000
20735 +0000
20736 +0000
20737 +0000
20738 +ENDCHAR
20739 +STARTCHAR char42
20740 +ENCODING 42
20741 +SWIDTH 8640 0
20742 +DWIDTH 9 0
20743 +BBX 9 16 0 -4
20744 +BITMAP
20745 +0000
20746 +0000
20747 +0000
20748 +0000
20749 +0000
20750 +6600
20751 +3C00
20752 +FF00
20753 +3C00
20754 +6600
20755 +0000
20756 +0000
20757 +0000
20758 +0000
20759 +0000
20760 +0000
20761 +ENDCHAR
20762 +STARTCHAR char43
20763 +ENCODING 43
20764 +SWIDTH 8640 0
20765 +DWIDTH 9 0
20766 +BBX 9 16 0 -4
20767 +BITMAP
20768 +0000
20769 +0000
20770 +0000
20771 +0000
20772 +0000
20773 +1800
20774 +1800
20775 +7E00
20776 +1800
20777 +1800
20778 +0000
20779 +0000
20780 +0000
20781 +0000
20782 +0000
20783 +0000
20784 +ENDCHAR
20785 +STARTCHAR char44
20786 +ENCODING 44
20787 +SWIDTH 8640 0
20788 +DWIDTH 9 0
20789 +BBX 9 16 0 -4
20790 +BITMAP
20791 +0000
20792 +0000
20793 +0000
20794 +0000
20795 +0000
20796 +0000
20797 +0000
20798 +0000
20799 +0000
20800 +1800
20801 +1800
20802 +1800
20803 +3000
20804 +0000
20805 +0000
20806 +0000
20807 +ENDCHAR
20808 +STARTCHAR char45
20809 +ENCODING 45
20810 +SWIDTH 8640 0
20811 +DWIDTH 9 0
20812 +BBX 9 16 0 -4
20813 +BITMAP
20814 +0000
20815 +0000
20816 +0000
20817 +0000
20818 +0000
20819 +0000
20820 +0000
20821 +7F00
20822 +0000
20823 +0000
20824 +0000
20825 +0000
20826 +0000
20827 +0000
20828 +0000
20829 +0000
20830 +ENDCHAR
20831 +STARTCHAR char46
20832 +ENCODING 46
20833 +SWIDTH 8640 0
20834 +DWIDTH 9 0
20835 +BBX 9 16 0 -4
20836 +BITMAP
20837 +0000
20838 +0000
20839 +0000
20840 +0000
20841 +0000
20842 +0000
20843 +0000
20844 +0000
20845 +0000
20846 +0000
20847 +1800
20848 +1800
20849 +0000
20850 +0000
20851 +0000
20852 +0000
20853 +ENDCHAR
20854 +STARTCHAR char47
20855 +ENCODING 47
20856 +SWIDTH 8640 0
20857 +DWIDTH 9 0
20858 +BBX 9 16 0 -4
20859 +BITMAP
20860 +0000
20861 +0000
20862 +0000
20863 +0000
20864 +0100
20865 +0300
20866 +0600
20867 +0C00
20868 +1800
20869 +3000
20870 +6000
20871 +4000
20872 +0000
20873 +0000
20874 +0000
20875 +0000
20876 +ENDCHAR
20877 +STARTCHAR char48
20878 +ENCODING 48
20879 +SWIDTH 8640 0
20880 +DWIDTH 9 0
20881 +BBX 9 16 0 -4
20882 +BITMAP
20883 +0000
20884 +0000
20885 +3C00
20886 +6600
20887 +C300
20888 +C300
20889 +DB00
20890 +DB00
20891 +C300
20892 +C300
20893 +6600
20894 +3C00
20895 +0000
20896 +0000
20897 +0000
20898 +0000
20899 +ENDCHAR
20900 +STARTCHAR char49
20901 +ENCODING 49
20902 +SWIDTH 8640 0
20903 +DWIDTH 9 0
20904 +BBX 9 16 0 -4
20905 +BITMAP
20906 +0000
20907 +0000
20908 +1800
20909 +3800
20910 +7800
20911 +1800
20912 +1800
20913 +1800
20914 +1800
20915 +1800
20916 +1800
20917 +7E00
20918 +0000
20919 +0000
20920 +0000
20921 +0000
20922 +ENDCHAR
20923 +STARTCHAR char50
20924 +ENCODING 50
20925 +SWIDTH 8640 0
20926 +DWIDTH 9 0
20927 +BBX 9 16 0 -4
20928 +BITMAP
20929 +0000
20930 +0000
20931 +3E00
20932 +6300
20933 +0300
20934 +0600
20935 +0C00
20936 +1800
20937 +3000
20938 +6000
20939 +6300
20940 +7F00
20941 +0000
20942 +0000
20943 +0000
20944 +0000
20945 +ENDCHAR
20946 +STARTCHAR char51
20947 +ENCODING 51
20948 +SWIDTH 8640 0
20949 +DWIDTH 9 0
20950 +BBX 9 16 0 -4
20951 +BITMAP
20952 +0000
20953 +0000
20954 +3E00
20955 +6300
20956 +0300
20957 +0300
20958 +1E00
20959 +0300
20960 +0300
20961 +0300
20962 +6300
20963 +3E00
20964 +0000
20965 +0000
20966 +0000
20967 +0000
20968 +ENDCHAR
20969 +STARTCHAR char52
20970 +ENCODING 52
20971 +SWIDTH 8640 0
20972 +DWIDTH 9 0
20973 +BBX 9 16 0 -4
20974 +BITMAP
20975 +0000
20976 +0000
20977 +0600
20978 +0E00
20979 +1E00
20980 +3600
20981 +6600
20982 +7F00
20983 +0600
20984 +0600
20985 +0600
20986 +0F00
20987 +0000
20988 +0000
20989 +0000
20990 +0000
20991 +ENDCHAR
20992 +STARTCHAR char53
20993 +ENCODING 53
20994 +SWIDTH 8640 0
20995 +DWIDTH 9 0
20996 +BBX 9 16 0 -4
20997 +BITMAP
20998 +0000
20999 +0000
21000 +7F00
21001 +6000
21002 +6000
21003 +6000
21004 +7E00
21005 +0300
21006 +0300
21007 +0300
21008 +6300
21009 +3E00
21010 +0000
21011 +0000
21012 +0000
21013 +0000
21014 +ENDCHAR
21015 +STARTCHAR char54
21016 +ENCODING 54
21017 +SWIDTH 8640 0
21018 +DWIDTH 9 0
21019 +BBX 9 16 0 -4
21020 +BITMAP
21021 +0000
21022 +0000
21023 +1C00
21024 +3000
21025 +6000
21026 +6000
21027 +7E00
21028 +6300
21029 +6300
21030 +6300
21031 +6300
21032 +3E00
21033 +0000
21034 +0000
21035 +0000
21036 +0000
21037 +ENDCHAR
21038 +STARTCHAR char55
21039 +ENCODING 55
21040 +SWIDTH 8640 0
21041 +DWIDTH 9 0
21042 +BBX 9 16 0 -4
21043 +BITMAP
21044 +0000
21045 +0000
21046 +7F00
21047 +6300
21048 +0300
21049 +0300
21050 +0600
21051 +0C00
21052 +1800
21053 +1800
21054 +1800
21055 +1800
21056 +0000
21057 +0000
21058 +0000
21059 +0000
21060 +ENDCHAR
21061 +STARTCHAR char56
21062 +ENCODING 56
21063 +SWIDTH 8640 0
21064 +DWIDTH 9 0
21065 +BBX 9 16 0 -4
21066 +BITMAP
21067 +0000
21068 +0000
21069 +3E00
21070 +6300
21071 +6300
21072 +6300
21073 +3E00
21074 +6300
21075 +6300
21076 +6300
21077 +6300
21078 +3E00
21079 +0000
21080 +0000
21081 +0000
21082 +0000
21083 +ENDCHAR
21084 +STARTCHAR char57
21085 +ENCODING 57
21086 +SWIDTH 8640 0
21087 +DWIDTH 9 0
21088 +BBX 9 16 0 -4
21089 +BITMAP
21090 +0000
21091 +0000
21092 +3E00
21093 +6300
21094 +6300
21095 +6300
21096 +3F00
21097 +0300
21098 +0300
21099 +0300
21100 +0600
21101 +3C00
21102 +0000
21103 +0000
21104 +0000
21105 +0000
21106 +ENDCHAR
21107 +STARTCHAR char58
21108 +ENCODING 58
21109 +SWIDTH 8640 0
21110 +DWIDTH 9 0
21111 +BBX 9 16 0 -4
21112 +BITMAP
21113 +0000
21114 +0000
21115 +0000
21116 +0000
21117 +1800
21118 +1800
21119 +0000
21120 +0000
21121 +0000
21122 +1800
21123 +1800
21124 +0000
21125 +0000
21126 +0000
21127 +0000
21128 +0000
21129 +ENDCHAR
21130 +STARTCHAR char59
21131 +ENCODING 59
21132 +SWIDTH 8640 0
21133 +DWIDTH 9 0
21134 +BBX 9 16 0 -4
21135 +BITMAP
21136 +0000
21137 +0000
21138 +0000
21139 +0000
21140 +1800
21141 +1800
21142 +0000
21143 +0000
21144 +0000
21145 +1800
21146 +1800
21147 +1800
21148 +3000
21149 +0000
21150 +0000
21151 +0000
21152 +ENDCHAR
21153 +STARTCHAR char60
21154 +ENCODING 60
21155 +SWIDTH 8640 0
21156 +DWIDTH 9 0
21157 +BBX 9 16 0 -4
21158 +BITMAP
21159 +0000
21160 +0000
21161 +0000
21162 +0600
21163 +0C00
21164 +1800
21165 +3000
21166 +6000
21167 +3000
21168 +1800
21169 +0C00
21170 +0600
21171 +0000
21172 +0000
21173 +0000
21174 +0000
21175 +ENDCHAR
21176 +STARTCHAR char61
21177 +ENCODING 61
21178 +SWIDTH 8640 0
21179 +DWIDTH 9 0
21180 +BBX 9 16 0 -4
21181 +BITMAP
21182 +0000
21183 +0000
21184 +0000
21185 +0000
21186 +0000
21187 +7E00
21188 +0000
21189 +0000
21190 +7E00
21191 +0000
21192 +0000
21193 +0000
21194 +0000
21195 +0000
21196 +0000
21197 +0000
21198 +ENDCHAR
21199 +STARTCHAR char62
21200 +ENCODING 62
21201 +SWIDTH 8640 0
21202 +DWIDTH 9 0
21203 +BBX 9 16 0 -4
21204 +BITMAP
21205 +0000
21206 +0000
21207 +0000
21208 +6000
21209 +3000
21210 +1800
21211 +0C00
21212 +0600
21213 +0C00
21214 +1800
21215 +3000
21216 +6000
21217 +0000
21218 +0000
21219 +0000
21220 +0000
21221 +ENDCHAR
21222 +STARTCHAR char63
21223 +ENCODING 63
21224 +SWIDTH 8640 0
21225 +DWIDTH 9 0
21226 +BBX 9 16 0 -4
21227 +BITMAP
21228 +0000
21229 +0000
21230 +3E00
21231 +6300
21232 +6300
21233 +0600
21234 +0C00
21235 +0C00
21236 +0C00
21237 +0000
21238 +0C00
21239 +0C00
21240 +0000
21241 +0000
21242 +0000
21243 +0000
21244 +ENDCHAR
21245 +STARTCHAR char64
21246 +ENCODING 64
21247 +SWIDTH 8640 0
21248 +DWIDTH 9 0
21249 +BBX 9 16 0 -4
21250 +BITMAP
21251 +0000
21252 +0000
21253 +0000
21254 +3E00
21255 +6300
21256 +6300
21257 +6F00
21258 +6F00
21259 +6F00
21260 +6E00
21261 +6000
21262 +3E00
21263 +0000
21264 +0000
21265 +0000
21266 +0000
21267 +ENDCHAR
21268 +STARTCHAR char65
21269 +ENCODING 65
21270 +SWIDTH 8640 0
21271 +DWIDTH 9 0
21272 +BBX 9 16 0 -4
21273 +BITMAP
21274 +0000
21275 +0000
21276 +0800
21277 +1C00
21278 +3600
21279 +6300
21280 +6300
21281 +7F00
21282 +6300
21283 +6300
21284 +6300
21285 +6300
21286 +0000
21287 +0000
21288 +0000
21289 +0000
21290 +ENDCHAR
21291 +STARTCHAR char66
21292 +ENCODING 66
21293 +SWIDTH 8640 0
21294 +DWIDTH 9 0
21295 +BBX 9 16 0 -4
21296 +BITMAP
21297 +0000
21298 +0000
21299 +7E00
21300 +3300
21301 +3300
21302 +3300
21303 +3E00
21304 +3300
21305 +3300
21306 +3300
21307 +3300
21308 +7E00
21309 +0000
21310 +0000
21311 +0000
21312 +0000
21313 +ENDCHAR
21314 +STARTCHAR char67
21315 +ENCODING 67
21316 +SWIDTH 8640 0
21317 +DWIDTH 9 0
21318 +BBX 9 16 0 -4
21319 +BITMAP
21320 +0000
21321 +0000
21322 +1E00
21323 +3300
21324 +6100
21325 +6000
21326 +6000
21327 +6000
21328 +6000
21329 +6100
21330 +3300
21331 +1E00
21332 +0000
21333 +0000
21334 +0000
21335 +0000
21336 +ENDCHAR
21337 +STARTCHAR char68
21338 +ENCODING 68
21339 +SWIDTH 8640 0
21340 +DWIDTH 9 0
21341 +BBX 9 16 0 -4
21342 +BITMAP
21343 +0000
21344 +0000
21345 +7C00
21346 +3600
21347 +3300
21348 +3300
21349 +3300
21350 +3300
21351 +3300
21352 +3300
21353 +3600
21354 +7C00
21355 +0000
21356 +0000
21357 +0000
21358 +0000
21359 +ENDCHAR
21360 +STARTCHAR char69
21361 +ENCODING 69
21362 +SWIDTH 8640 0
21363 +DWIDTH 9 0
21364 +BBX 9 16 0 -4
21365 +BITMAP
21366 +0000
21367 +0000
21368 +7F00
21369 +3300
21370 +3100
21371 +3400
21372 +3C00
21373 +3400
21374 +3000
21375 +3100
21376 +3300
21377 +7F00
21378 +0000
21379 +0000
21380 +0000
21381 +0000
21382 +ENDCHAR
21383 +STARTCHAR char70
21384 +ENCODING 70
21385 +SWIDTH 8640 0
21386 +DWIDTH 9 0
21387 +BBX 9 16 0 -4
21388 +BITMAP
21389 +0000
21390 +0000
21391 +7F00
21392 +3300
21393 +3100
21394 +3400
21395 +3C00
21396 +3400
21397 +3000
21398 +3000
21399 +3000
21400 +7800
21401 +0000
21402 +0000
21403 +0000
21404 +0000
21405 +ENDCHAR
21406 +STARTCHAR char71
21407 +ENCODING 71
21408 +SWIDTH 8640 0
21409 +DWIDTH 9 0
21410 +BBX 9 16 0 -4
21411 +BITMAP
21412 +0000
21413 +0000
21414 +1E00
21415 +3300
21416 +6100
21417 +6000
21418 +6000
21419 +6F00
21420 +6300
21421 +6300
21422 +3300
21423 +1D00
21424 +0000
21425 +0000
21426 +0000
21427 +0000
21428 +ENDCHAR
21429 +STARTCHAR char72
21430 +ENCODING 72
21431 +SWIDTH 8640 0
21432 +DWIDTH 9 0
21433 +BBX 9 16 0 -4
21434 +BITMAP
21435 +0000
21436 +0000
21437 +6300
21438 +6300
21439 +6300
21440 +6300
21441 +7F00
21442 +6300
21443 +6300
21444 +6300
21445 +6300
21446 +6300
21447 +0000
21448 +0000
21449 +0000
21450 +0000
21451 +ENDCHAR
21452 +STARTCHAR char73
21453 +ENCODING 73
21454 +SWIDTH 8640 0
21455 +DWIDTH 9 0
21456 +BBX 9 16 0 -4
21457 +BITMAP
21458 +0000
21459 +0000
21460 +3C00
21461 +1800
21462 +1800
21463 +1800
21464 +1800
21465 +1800
21466 +1800
21467 +1800
21468 +1800
21469 +3C00
21470 +0000
21471 +0000
21472 +0000
21473 +0000
21474 +ENDCHAR
21475 +STARTCHAR char74
21476 +ENCODING 74
21477 +SWIDTH 8640 0
21478 +DWIDTH 9 0
21479 +BBX 9 16 0 -4
21480 +BITMAP
21481 +0000
21482 +0000
21483 +0F00
21484 +0600
21485 +0600
21486 +0600
21487 +0600
21488 +0600
21489 +6600
21490 +6600
21491 +6600
21492 +3C00
21493 +0000
21494 +0000
21495 +0000
21496 +0000
21497 +ENDCHAR
21498 +STARTCHAR char75
21499 +ENCODING 75
21500 +SWIDTH 8640 0
21501 +DWIDTH 9 0
21502 +BBX 9 16 0 -4
21503 +BITMAP
21504 +0000
21505 +0000
21506 +7300
21507 +3300
21508 +3300
21509 +3600
21510 +3C00
21511 +3C00
21512 +3600
21513 +3300
21514 +3300
21515 +7300
21516 +0000
21517 +0000
21518 +0000
21519 +0000
21520 +ENDCHAR
21521 +STARTCHAR char76
21522 +ENCODING 76
21523 +SWIDTH 8640 0
21524 +DWIDTH 9 0
21525 +BBX 9 16 0 -4
21526 +BITMAP
21527 +0000
21528 +0000
21529 +7800
21530 +3000
21531 +3000
21532 +3000
21533 +3000
21534 +3000
21535 +3000
21536 +3100
21537 +3300
21538 +7F00
21539 +0000
21540 +0000
21541 +0000
21542 +0000
21543 +ENDCHAR
21544 +STARTCHAR char77
21545 +ENCODING 77
21546 +SWIDTH 8640 0
21547 +DWIDTH 9 0
21548 +BBX 9 16 0 -4
21549 +BITMAP
21550 +0000
21551 +0000
21552 +C300
21553 +E700
21554 +FF00
21555 +FF00
21556 +DB00
21557 +C300
21558 +C300
21559 +C300
21560 +C300
21561 +C300
21562 +0000
21563 +0000
21564 +0000
21565 +0000
21566 +ENDCHAR
21567 +STARTCHAR char78
21568 +ENCODING 78
21569 +SWIDTH 8640 0
21570 +DWIDTH 9 0
21571 +BBX 9 16 0 -4
21572 +BITMAP
21573 +0000
21574 +0000
21575 +6300
21576 +7300
21577 +7B00
21578 +7F00
21579 +6F00
21580 +6700
21581 +6300
21582 +6300
21583 +6300
21584 +6300
21585 +0000
21586 +0000
21587 +0000
21588 +0000
21589 +ENDCHAR
21590 +STARTCHAR char79
21591 +ENCODING 79
21592 +SWIDTH 8640 0
21593 +DWIDTH 9 0
21594 +BBX 9 16 0 -4
21595 +BITMAP
21596 +0000
21597 +0000
21598 +3E00
21599 +6300
21600 +6300
21601 +6300
21602 +6300
21603 +6300
21604 +6300
21605 +6300
21606 +6300
21607 +3E00
21608 +0000
21609 +0000
21610 +0000
21611 +0000
21612 +ENDCHAR
21613 +STARTCHAR char80
21614 +ENCODING 80
21615 +SWIDTH 8640 0
21616 +DWIDTH 9 0
21617 +BBX 9 16 0 -4
21618 +BITMAP
21619 +0000
21620 +0000
21621 +7E00
21622 +3300
21623 +3300
21624 +3300
21625 +3E00
21626 +3000
21627 +3000
21628 +3000
21629 +3000
21630 +7800
21631 +0000
21632 +0000
21633 +0000
21634 +0000
21635 +ENDCHAR
21636 +STARTCHAR char81
21637 +ENCODING 81
21638 +SWIDTH 8640 0
21639 +DWIDTH 9 0
21640 +BBX 9 16 0 -4
21641 +BITMAP
21642 +0000
21643 +0000
21644 +3E00
21645 +6300
21646 +6300
21647 +6300
21648 +6300
21649 +6300
21650 +6300
21651 +6B00
21652 +6F00
21653 +3E00
21654 +0600
21655 +0700
21656 +0000
21657 +0000
21658 +ENDCHAR
21659 +STARTCHAR char82
21660 +ENCODING 82
21661 +SWIDTH 8640 0
21662 +DWIDTH 9 0
21663 +BBX 9 16 0 -4
21664 +BITMAP
21665 +0000
21666 +0000
21667 +7E00
21668 +3300
21669 +3300
21670 +3300
21671 +3E00
21672 +3600
21673 +3300
21674 +3300
21675 +3300
21676 +7300
21677 +0000
21678 +0000
21679 +0000
21680 +0000
21681 +ENDCHAR
21682 +STARTCHAR char83
21683 +ENCODING 83
21684 +SWIDTH 8640 0
21685 +DWIDTH 9 0
21686 +BBX 9 16 0 -4
21687 +BITMAP
21688 +0000
21689 +0000
21690 +3E00
21691 +6300
21692 +6300
21693 +3000
21694 +1C00
21695 +0600
21696 +0300
21697 +6300
21698 +6300
21699 +3E00
21700 +0000
21701 +0000
21702 +0000
21703 +0000
21704 +ENDCHAR
21705 +STARTCHAR char84
21706 +ENCODING 84
21707 +SWIDTH 8640 0
21708 +DWIDTH 9 0
21709 +BBX 9 16 0 -4
21710 +BITMAP
21711 +0000
21712 +0000
21713 +FF00
21714 +DB00
21715 +9900
21716 +1800
21717 +1800
21718 +1800
21719 +1800
21720 +1800
21721 +1800
21722 +3C00
21723 +0000
21724 +0000
21725 +0000
21726 +0000
21727 +ENDCHAR
21728 +STARTCHAR char85
21729 +ENCODING 85
21730 +SWIDTH 8640 0
21731 +DWIDTH 9 0
21732 +BBX 9 16 0 -4
21733 +BITMAP
21734 +0000
21735 +0000
21736 +6300
21737 +6300
21738 +6300
21739 +6300
21740 +6300
21741 +6300
21742 +6300
21743 +6300
21744 +6300
21745 +3E00
21746 +0000
21747 +0000
21748 +0000
21749 +0000
21750 +ENDCHAR
21751 +STARTCHAR char86
21752 +ENCODING 86
21753 +SWIDTH 8640 0
21754 +DWIDTH 9 0
21755 +BBX 9 16 0 -4
21756 +BITMAP
21757 +0000
21758 +0000
21759 +C300
21760 +C300
21761 +C300
21762 +C300
21763 +C300
21764 +C300
21765 +C300
21766 +6600
21767 +3C00
21768 +1800
21769 +0000
21770 +0000
21771 +0000
21772 +0000
21773 +ENDCHAR
21774 +STARTCHAR char87
21775 +ENCODING 87
21776 +SWIDTH 8640 0
21777 +DWIDTH 9 0
21778 +BBX 9 16 0 -4
21779 +BITMAP
21780 +0000
21781 +0000
21782 +C300
21783 +C300
21784 +C300
21785 +C300
21786 +C300
21787 +DB00
21788 +DB00
21789 +FF00
21790 +6600
21791 +6600
21792 +0000
21793 +0000
21794 +0000
21795 +0000
21796 +ENDCHAR
21797 +STARTCHAR char88
21798 +ENCODING 88
21799 +SWIDTH 8640 0
21800 +DWIDTH 9 0
21801 +BBX 9 16 0 -4
21802 +BITMAP
21803 +0000
21804 +0000
21805 +C300
21806 +C300
21807 +6600
21808 +3C00
21809 +1800
21810 +1800
21811 +3C00
21812 +6600
21813 +C300
21814 +C300
21815 +0000
21816 +0000
21817 +0000
21818 +0000
21819 +ENDCHAR
21820 +STARTCHAR char89
21821 +ENCODING 89
21822 +SWIDTH 8640 0
21823 +DWIDTH 9 0
21824 +BBX 9 16 0 -4
21825 +BITMAP
21826 +0000
21827 +0000
21828 +C300
21829 +C300
21830 +C300
21831 +6600
21832 +3C00
21833 +1800
21834 +1800
21835 +1800
21836 +1800
21837 +3C00
21838 +0000
21839 +0000
21840 +0000
21841 +0000
21842 +ENDCHAR
21843 +STARTCHAR char90
21844 +ENCODING 90
21845 +SWIDTH 8640 0
21846 +DWIDTH 9 0
21847 +BBX 9 16 0 -4
21848 +BITMAP
21849 +0000
21850 +0000
21851 +FF00
21852 +C300
21853 +8600
21854 +0C00
21855 +1800
21856 +3000
21857 +6000
21858 +C100
21859 +C300
21860 +FF00
21861 +0000
21862 +0000
21863 +0000
21864 +0000
21865 +ENDCHAR
21866 +STARTCHAR char91
21867 +ENCODING 91
21868 +SWIDTH 8640 0
21869 +DWIDTH 9 0
21870 +BBX 9 16 0 -4
21871 +BITMAP
21872 +0000
21873 +0000
21874 +3C00
21875 +3000
21876 +3000
21877 +3000
21878 +3000
21879 +3000
21880 +3000
21881 +3000
21882 +3000
21883 +3C00
21884 +0000
21885 +0000
21886 +0000
21887 +0000
21888 +ENDCHAR
21889 +STARTCHAR char92
21890 +ENCODING 92
21891 +SWIDTH 8640 0
21892 +DWIDTH 9 0
21893 +BBX 9 16 0 -4
21894 +BITMAP
21895 +0000
21896 +0000
21897 +0000
21898 +4000
21899 +6000
21900 +7000
21901 +3800
21902 +1C00
21903 +0E00
21904 +0700
21905 +0300
21906 +0100
21907 +0000
21908 +0000
21909 +0000
21910 +0000
21911 +ENDCHAR
21912 +STARTCHAR char93
21913 +ENCODING 93
21914 +SWIDTH 8640 0
21915 +DWIDTH 9 0
21916 +BBX 9 16 0 -4
21917 +BITMAP
21918 +0000
21919 +0000
21920 +3C00
21921 +0C00
21922 +0C00
21923 +0C00
21924 +0C00
21925 +0C00
21926 +0C00
21927 +0C00
21928 +0C00
21929 +3C00
21930 +0000
21931 +0000
21932 +0000
21933 +0000
21934 +ENDCHAR
21935 +STARTCHAR char94
21936 +ENCODING 94
21937 +SWIDTH 8640 0
21938 +DWIDTH 9 0
21939 +BBX 9 16 0 -4
21940 +BITMAP
21941 +0800
21942 +1C00
21943 +3600
21944 +6300
21945 +0000
21946 +0000
21947 +0000
21948 +0000
21949 +0000
21950 +0000
21951 +0000
21952 +0000
21953 +0000
21954 +0000
21955 +0000
21956 +0000
21957 +ENDCHAR
21958 +STARTCHAR char95
21959 +ENCODING 95
21960 +SWIDTH 8640 0
21961 +DWIDTH 9 0
21962 +BBX 9 16 0 -4
21963 +BITMAP
21964 +0000
21965 +0000
21966 +0000
21967 +0000
21968 +0000
21969 +0000
21970 +0000
21971 +0000
21972 +0000
21973 +0000
21974 +0000
21975 +0000
21976 +0000
21977 +FF80
21978 +0000
21979 +0000
21980 +ENDCHAR
21981 +STARTCHAR char96
21982 +ENCODING 96
21983 +SWIDTH 8640 0
21984 +DWIDTH 9 0
21985 +BBX 9 16 0 -4
21986 +BITMAP
21987 +3000
21988 +3000
21989 +1800
21990 +0000
21991 +0000
21992 +0000
21993 +0000
21994 +0000
21995 +0000
21996 +0000
21997 +0000
21998 +0000
21999 +0000
22000 +0000
22001 +0000
22002 +0000
22003 +ENDCHAR
22004 +STARTCHAR char97
22005 +ENCODING 97
22006 +SWIDTH 8640 0
22007 +DWIDTH 9 0
22008 +BBX 9 16 0 -4
22009 +BITMAP
22010 +0000
22011 +0000
22012 +0000
22013 +0000
22014 +0000
22015 +3C00
22016 +0600
22017 +3E00
22018 +6600
22019 +6600
22020 +6600
22021 +3B00
22022 +0000
22023 +0000
22024 +0000
22025 +0000
22026 +ENDCHAR
22027 +STARTCHAR char98
22028 +ENCODING 98
22029 +SWIDTH 8640 0
22030 +DWIDTH 9 0
22031 +BBX 9 16 0 -4
22032 +BITMAP
22033 +0000
22034 +0000
22035 +7000
22036 +3000
22037 +3000
22038 +3C00
22039 +3600
22040 +3300
22041 +3300
22042 +3300
22043 +3300
22044 +3E00
22045 +0000
22046 +0000
22047 +0000
22048 +0000
22049 +ENDCHAR
22050 +STARTCHAR char99
22051 +ENCODING 99
22052 +SWIDTH 8640 0
22053 +DWIDTH 9 0
22054 +BBX 9 16 0 -4
22055 +BITMAP
22056 +0000
22057 +0000
22058 +0000
22059 +0000
22060 +0000
22061 +3E00
22062 +6300
22063 +6000
22064 +6000
22065 +6000
22066 +6300
22067 +3E00
22068 +0000
22069 +0000
22070 +0000
22071 +0000
22072 +ENDCHAR
22073 +STARTCHAR char100
22074 +ENCODING 100
22075 +SWIDTH 8640 0
22076 +DWIDTH 9 0
22077 +BBX 9 16 0 -4
22078 +BITMAP
22079 +0000
22080 +0000
22081 +0E00
22082 +0600
22083 +0600
22084 +1E00
22085 +3600
22086 +6600
22087 +6600
22088 +6600
22089 +6600
22090 +3B00
22091 +0000
22092 +0000
22093 +0000
22094 +0000
22095 +ENDCHAR
22096 +STARTCHAR char101
22097 +ENCODING 101
22098 +SWIDTH 8640 0
22099 +DWIDTH 9 0
22100 +BBX 9 16 0 -4
22101 +BITMAP
22102 +0000
22103 +0000
22104 +0000
22105 +0000
22106 +0000
22107 +3E00
22108 +6300
22109 +7F00
22110 +6000
22111 +6000
22112 +6300
22113 +3E00
22114 +0000
22115 +0000
22116 +0000
22117 +0000
22118 +ENDCHAR
22119 +STARTCHAR char102
22120 +ENCODING 102
22121 +SWIDTH 8640 0
22122 +DWIDTH 9 0
22123 +BBX 9 16 0 -4
22124 +BITMAP
22125 +0000
22126 +0000
22127 +1C00
22128 +3600
22129 +3200
22130 +3000
22131 +7800
22132 +3000
22133 +3000
22134 +3000
22135 +3000
22136 +7800
22137 +0000
22138 +0000
22139 +0000
22140 +0000
22141 +ENDCHAR
22142 +STARTCHAR char103
22143 +ENCODING 103
22144 +SWIDTH 8640 0
22145 +DWIDTH 9 0
22146 +BBX 9 16 0 -4
22147 +BITMAP
22148 +0000
22149 +0000
22150 +0000
22151 +0000
22152 +0000
22153 +3B00
22154 +6600
22155 +6600
22156 +6600
22157 +6600
22158 +6600
22159 +3E00
22160 +0600
22161 +6600
22162 +3C00
22163 +0000
22164 +ENDCHAR
22165 +STARTCHAR char104
22166 +ENCODING 104
22167 +SWIDTH 8640 0
22168 +DWIDTH 9 0
22169 +BBX 9 16 0 -4
22170 +BITMAP
22171 +0000
22172 +0000
22173 +7000
22174 +3000
22175 +3000
22176 +3600
22177 +3B00
22178 +3300
22179 +3300
22180 +3300
22181 +3300
22182 +7300
22183 +0000
22184 +0000
22185 +0000
22186 +0000
22187 +ENDCHAR
22188 +STARTCHAR char105
22189 +ENCODING 105
22190 +SWIDTH 8640 0
22191 +DWIDTH 9 0
22192 +BBX 9 16 0 -4
22193 +BITMAP
22194 +0000
22195 +0000
22196 +1800
22197 +1800
22198 +0000
22199 +3800
22200 +1800
22201 +1800
22202 +1800
22203 +1800
22204 +1800
22205 +3C00
22206 +0000
22207 +0000
22208 +0000
22209 +0000
22210 +ENDCHAR
22211 +STARTCHAR char106
22212 +ENCODING 106
22213 +SWIDTH 8640 0
22214 +DWIDTH 9 0
22215 +BBX 9 16 0 -4
22216 +BITMAP
22217 +0000
22218 +0000
22219 +0600
22220 +0600
22221 +0000
22222 +0E00
22223 +0600
22224 +0600
22225 +0600
22226 +0600
22227 +0600
22228 +0600
22229 +6600
22230 +6600
22231 +3C00
22232 +0000
22233 +ENDCHAR
22234 +STARTCHAR char107
22235 +ENCODING 107
22236 +SWIDTH 8640 0
22237 +DWIDTH 9 0
22238 +BBX 9 16 0 -4
22239 +BITMAP
22240 +0000
22241 +0000
22242 +7000
22243 +3000
22244 +3000
22245 +3300
22246 +3600
22247 +3C00
22248 +3C00
22249 +3600
22250 +3300
22251 +7300
22252 +0000
22253 +0000
22254 +0000
22255 +0000
22256 +ENDCHAR
22257 +STARTCHAR char108
22258 +ENCODING 108
22259 +SWIDTH 8640 0
22260 +DWIDTH 9 0
22261 +BBX 9 16 0 -4
22262 +BITMAP
22263 +0000
22264 +0000
22265 +3800
22266 +1800
22267 +1800
22268 +1800
22269 +1800
22270 +1800
22271 +1800
22272 +1800
22273 +1800
22274 +3C00
22275 +0000
22276 +0000
22277 +0000
22278 +0000
22279 +ENDCHAR
22280 +STARTCHAR char109
22281 +ENCODING 109
22282 +SWIDTH 8640 0
22283 +DWIDTH 9 0
22284 +BBX 9 16 0 -4
22285 +BITMAP
22286 +0000
22287 +0000
22288 +0000
22289 +0000
22290 +0000
22291 +E600
22292 +FF00
22293 +DB00
22294 +DB00
22295 +DB00
22296 +DB00
22297 +DB00
22298 +0000
22299 +0000
22300 +0000
22301 +0000
22302 +ENDCHAR
22303 +STARTCHAR char110
22304 +ENCODING 110
22305 +SWIDTH 8640 0
22306 +DWIDTH 9 0
22307 +BBX 9 16 0 -4
22308 +BITMAP
22309 +0000
22310 +0000
22311 +0000
22312 +0000
22313 +0000
22314 +6E00
22315 +3300
22316 +3300
22317 +3300
22318 +3300
22319 +3300
22320 +3300
22321 +0000
22322 +0000
22323 +0000
22324 +0000
22325 +ENDCHAR
22326 +STARTCHAR char111
22327 +ENCODING 111
22328 +SWIDTH 8640 0
22329 +DWIDTH 9 0
22330 +BBX 9 16 0 -4
22331 +BITMAP
22332 +0000
22333 +0000
22334 +0000
22335 +0000
22336 +0000
22337 +3E00
22338 +6300
22339 +6300
22340 +6300
22341 +6300
22342 +6300
22343 +3E00
22344 +0000
22345 +0000
22346 +0000
22347 +0000
22348 +ENDCHAR
22349 +STARTCHAR char112
22350 +ENCODING 112
22351 +SWIDTH 8640 0
22352 +DWIDTH 9 0
22353 +BBX 9 16 0 -4
22354 +BITMAP
22355 +0000
22356 +0000
22357 +0000
22358 +0000
22359 +0000
22360 +6E00
22361 +3300
22362 +3300
22363 +3300
22364 +3300
22365 +3300
22366 +3E00
22367 +3000
22368 +3000
22369 +7800
22370 +0000
22371 +ENDCHAR
22372 +STARTCHAR char113
22373 +ENCODING 113
22374 +SWIDTH 8640 0
22375 +DWIDTH 9 0
22376 +BBX 9 16 0 -4
22377 +BITMAP
22378 +0000
22379 +0000
22380 +0000
22381 +0000
22382 +0000
22383 +3B00
22384 +6600
22385 +6600
22386 +6600
22387 +6600
22388 +6600
22389 +3E00
22390 +0600
22391 +0600
22392 +0F00
22393 +0000
22394 +ENDCHAR
22395 +STARTCHAR char114
22396 +ENCODING 114
22397 +SWIDTH 8640 0
22398 +DWIDTH 9 0
22399 +BBX 9 16 0 -4
22400 +BITMAP
22401 +0000
22402 +0000
22403 +0000
22404 +0000
22405 +0000
22406 +6E00
22407 +3B00
22408 +3300
22409 +3000
22410 +3000
22411 +3000
22412 +7800
22413 +0000
22414 +0000
22415 +0000
22416 +0000
22417 +ENDCHAR
22418 +STARTCHAR char115
22419 +ENCODING 115
22420 +SWIDTH 8640 0
22421 +DWIDTH 9 0
22422 +BBX 9 16 0 -4
22423 +BITMAP
22424 +0000
22425 +0000
22426 +0000
22427 +0000
22428 +0000
22429 +3E00
22430 +6300
22431 +3000
22432 +1C00
22433 +0600
22434 +6300
22435 +3E00
22436 +0000
22437 +0000
22438 +0000
22439 +0000
22440 +ENDCHAR
22441 +STARTCHAR char116
22442 +ENCODING 116
22443 +SWIDTH 8640 0
22444 +DWIDTH 9 0
22445 +BBX 9 16 0 -4
22446 +BITMAP
22447 +0000
22448 +0000
22449 +0800
22450 +1800
22451 +1800
22452 +7E00
22453 +1800
22454 +1800
22455 +1800
22456 +1800
22457 +1B00
22458 +0E00
22459 +0000
22460 +0000
22461 +0000
22462 +0000
22463 +ENDCHAR
22464 +STARTCHAR char117
22465 +ENCODING 117
22466 +SWIDTH 8640 0
22467 +DWIDTH 9 0
22468 +BBX 9 16 0 -4
22469 +BITMAP
22470 +0000
22471 +0000
22472 +0000
22473 +0000
22474 +0000
22475 +6600
22476 +6600
22477 +6600
22478 +6600
22479 +6600
22480 +6600
22481 +3B00
22482 +0000
22483 +0000
22484 +0000
22485 +0000
22486 +ENDCHAR
22487 +STARTCHAR char118
22488 +ENCODING 118
22489 +SWIDTH 8640 0
22490 +DWIDTH 9 0
22491 +BBX 9 16 0 -4
22492 +BITMAP
22493 +0000
22494 +0000
22495 +0000
22496 +0000
22497 +0000
22498 +C300
22499 +C300
22500 +C300
22501 +C300
22502 +6600
22503 +3C00
22504 +1800
22505 +0000
22506 +0000
22507 +0000
22508 +0000
22509 +ENDCHAR
22510 +STARTCHAR char119
22511 +ENCODING 119
22512 +SWIDTH 8640 0
22513 +DWIDTH 9 0
22514 +BBX 9 16 0 -4
22515 +BITMAP
22516 +0000
22517 +0000
22518 +0000
22519 +0000
22520 +0000
22521 +C300
22522 +C300
22523 +C300
22524 +DB00
22525 +DB00
22526 +FF00
22527 +6600
22528 +0000
22529 +0000
22530 +0000
22531 +0000
22532 +ENDCHAR
22533 +STARTCHAR char120
22534 +ENCODING 120
22535 +SWIDTH 8640 0
22536 +DWIDTH 9 0
22537 +BBX 9 16 0 -4
22538 +BITMAP
22539 +0000
22540 +0000
22541 +0000
22542 +0000
22543 +0000
22544 +C300
22545 +6600
22546 +3C00
22547 +1800
22548 +3C00
22549 +6600
22550 +C300
22551 +0000
22552 +0000
22553 +0000
22554 +0000
22555 +ENDCHAR
22556 +STARTCHAR char121
22557 +ENCODING 121
22558 +SWIDTH 8640 0
22559 +DWIDTH 9 0
22560 +BBX 9 16 0 -4
22561 +BITMAP
22562 +0000
22563 +0000
22564 +0000
22565 +0000
22566 +0000
22567 +6300
22568 +6300
22569 +6300
22570 +6300
22571 +6300
22572 +6300
22573 +3F00
22574 +0300
22575 +0600
22576 +7C00
22577 +0000
22578 +ENDCHAR
22579 +STARTCHAR char122
22580 +ENCODING 122
22581 +SWIDTH 8640 0
22582 +DWIDTH 9 0
22583 +BBX 9 16 0 -4
22584 +BITMAP
22585 +0000
22586 +0000
22587 +0000
22588 +0000
22589 +0000
22590 +7F00
22591 +6600
22592 +0C00
22593 +1800
22594 +3000
22595 +6300
22596 +7F00
22597 +0000
22598 +0000
22599 +0000
22600 +0000
22601 +ENDCHAR
22602 +STARTCHAR char123
22603 +ENCODING 123
22604 +SWIDTH 8640 0
22605 +DWIDTH 9 0
22606 +BBX 9 16 0 -4
22607 +BITMAP
22608 +0000
22609 +0000
22610 +0E00
22611 +1800
22612 +1800
22613 +1800
22614 +7000
22615 +1800
22616 +1800
22617 +1800
22618 +1800
22619 +0E00
22620 +0000
22621 +0000
22622 +0000
22623 +0000
22624 +ENDCHAR
22625 +STARTCHAR char124
22626 +ENCODING 124
22627 +SWIDTH 8640 0
22628 +DWIDTH 9 0
22629 +BBX 9 16 0 -4
22630 +BITMAP
22631 +0000
22632 +0000
22633 +1800
22634 +1800
22635 +1800
22636 +1800
22637 +1800
22638 +1800
22639 +1800
22640 +1800
22641 +1800
22642 +1800
22643 +0000
22644 +0000
22645 +0000
22646 +0000
22647 +ENDCHAR
22648 +STARTCHAR char125
22649 +ENCODING 125
22650 +SWIDTH 8640 0
22651 +DWIDTH 9 0
22652 +BBX 9 16 0 -4
22653 +BITMAP
22654 +0000
22655 +0000
22656 +7000
22657 +1800
22658 +1800
22659 +1800
22660 +0E00
22661 +1800
22662 +1800
22663 +1800
22664 +1800
22665 +7000
22666 +0000
22667 +0000
22668 +0000
22669 +0000
22670 +ENDCHAR
22671 +STARTCHAR char126
22672 +ENCODING 126
22673 +SWIDTH 8640 0
22674 +DWIDTH 9 0
22675 +BBX 9 16 0 -4
22676 +BITMAP
22677 +0000
22678 +0000
22679 +3B00
22680 +6E00
22681 +0000
22682 +0000
22683 +0000
22684 +0000
22685 +0000
22686 +0000
22687 +0000
22688 +0000
22689 +0000
22690 +0000
22691 +0000
22692 +0000
22693 +ENDCHAR
22694 +STARTCHAR char127
22695 +ENCODING 127
22696 +SWIDTH 8640 0
22697 +DWIDTH 9 0
22698 +BBX 9 16 0 -4
22699 +BITMAP
22700 +0000
22701 +0000
22702 +0000
22703 +7F00
22704 +7F00
22705 +7F00
22706 +7F00
22707 +7F00
22708 +7F00
22709 +7F00
22710 +7F00
22711 +0000
22712 +0000
22713 +0000
22714 +0000
22715 +0000
22716 +ENDCHAR
22717 +STARTCHAR char0
22718 +ENCODING 128
22719 +SWIDTH 8640 0
22720 +DWIDTH 9 0
22721 +BBX 9 16 0 -4
22722 +BITMAP
22723 +0000
22724 +0000
22725 +0000
22726 +0000
22727 +0000
22728 +0000
22729 +0000
22730 +0000
22731 +0000
22732 +0000
22733 +0000
22734 +0F80
22735 +0F80
22736 +0F80
22737 +0F80
22738 +0F80
22739 +ENDCHAR
22740 +STARTCHAR char1
22741 +ENCODING 129
22742 +SWIDTH 8640 0
22743 +DWIDTH 9 0
22744 +BBX 9 16 0 -4
22745 +BITMAP
22746 +F000
22747 +F000
22748 +F000
22749 +F000
22750 +F000
22751 +0000
22752 +0000
22753 +0000
22754 +0000
22755 +0000
22756 +0000
22757 +0F80
22758 +0F80
22759 +0F80
22760 +0F80
22761 +0F80
22762 +ENDCHAR
22763 +STARTCHAR char2
22764 +ENCODING 130
22765 +SWIDTH 8640 0
22766 +DWIDTH 9 0
22767 +BBX 9 16 0 -4
22768 +BITMAP
22769 +0F80
22770 +0F80
22771 +0F80
22772 +0F80
22773 +0F80
22774 +0000
22775 +0000
22776 +0000
22777 +0000
22778 +0000
22779 +0000
22780 +0F80
22781 +0F80
22782 +0F80
22783 +0F80
22784 +0F80
22785 +ENDCHAR
22786 +STARTCHAR char1
22787 +ENCODING 131
22788 +SWIDTH 8640 0
22789 +DWIDTH 9 0
22790 +BBX 9 16 0 -4
22791 +BITMAP
22792 +FF80
22793 +FF80
22794 +FF80
22795 +FF80
22796 +FF80
22797 +0000
22798 +0000
22799 +0000
22800 +0000
22801 +0000
22802 +0000
22803 +0F80
22804 +0F80
22805 +0F80
22806 +0F80
22807 +0F80
22808 +ENDCHAR
22809 +STARTCHAR char0
22810 +ENCODING 132
22811 +SWIDTH 8640 0
22812 +DWIDTH 9 0
22813 +BBX 9 16 0 -4
22814 +BITMAP
22815 +0000
22816 +0000
22817 +0000
22818 +0000
22819 +0000
22820 +F000
22821 +F000
22822 +F000
22823 +F000
22824 +F000
22825 +F000
22826 +0F80
22827 +0F80
22828 +0F80
22829 +0F80
22830 +0F80
22831 +ENDCHAR
22832 +STARTCHAR char1
22833 +ENCODING 133
22834 +SWIDTH 8640 0
22835 +DWIDTH 9 0
22836 +BBX 9 16 0 -4
22837 +BITMAP
22838 +F000
22839 +F000
22840 +F000
22841 +F000
22842 +F000
22843 +F000
22844 +F000
22845 +F000
22846 +F000
22847 +F000
22848 +F000
22849 +0F80
22850 +0F80
22851 +0F80
22852 +0F80
22853 +0F80
22854 +ENDCHAR
22855 +STARTCHAR char2
22856 +ENCODING 134
22857 +SWIDTH 8640 0
22858 +DWIDTH 9 0
22859 +BBX 9 16 0 -4
22860 +BITMAP
22861 +0F80
22862 +0F80
22863 +0F80
22864 +0F80
22865 +0F80
22866 +F000
22867 +F000
22868 +F000
22869 +F000
22870 +F000
22871 +F000
22872 +0F80
22873 +0F80
22874 +0F80
22875 +0F80
22876 +0F80
22877 +ENDCHAR
22878 +STARTCHAR char1
22879 +ENCODING 135
22880 +SWIDTH 8640 0
22881 +DWIDTH 9 0
22882 +BBX 9 16 0 -4
22883 +BITMAP
22884 +FF80
22885 +FF80
22886 +FF80
22887 +FF80
22888 +FF80
22889 +F000
22890 +F000
22891 +F000
22892 +F000
22893 +F000
22894 +F000
22895 +0F80
22896 +0F80
22897 +0F80
22898 +0F80
22899 +0F80
22900 +ENDCHAR
22901 +STARTCHAR char0
22902 +ENCODING 136
22903 +SWIDTH 8640 0
22904 +DWIDTH 9 0
22905 +BBX 9 16 0 -4
22906 +BITMAP
22907 +0000
22908 +0000
22909 +0000
22910 +0000
22911 +0000
22912 +0F80
22913 +0F80
22914 +0F80
22915 +0F80
22916 +0F80
22917 +0F80
22918 +0F80
22919 +0F80
22920 +0F80
22921 +0F80
22922 +0F80
22923 +ENDCHAR
22924 +STARTCHAR char1
22925 +ENCODING 137
22926 +SWIDTH 8640 0
22927 +DWIDTH 9 0
22928 +BBX 9 16 0 -4
22929 +BITMAP
22930 +F000
22931 +F000
22932 +F000
22933 +F000
22934 +F000
22935 +0F80
22936 +0F80
22937 +0F80
22938 +0F80
22939 +0F80
22940 +0F80
22941 +0F80
22942 +0F80
22943 +0F80
22944 +0F80
22945 +0F80
22946 +ENDCHAR
22947 +STARTCHAR char2
22948 +ENCODING 138
22949 +SWIDTH 8640 0
22950 +DWIDTH 9 0
22951 +BBX 9 16 0 -4
22952 +BITMAP
22953 +0F80
22954 +0F80
22955 +0F80
22956 +0F80
22957 +0F80
22958 +0F80
22959 +0F80
22960 +0F80
22961 +0F80
22962 +0F80
22963 +0F80
22964 +0F80
22965 +0F80
22966 +0F80
22967 +0F80
22968 +0F80
22969 +ENDCHAR
22970 +STARTCHAR char1
22971 +ENCODING 139
22972 +SWIDTH 8640 0
22973 +DWIDTH 9 0
22974 +BBX 9 16 0 -4
22975 +BITMAP
22976 +FF80
22977 +FF80
22978 +FF80
22979 +FF80
22980 +FF80
22981 +0F80
22982 +0F80
22983 +0F80
22984 +0F80
22985 +0F80
22986 +0F80
22987 +0F80
22988 +0F80
22989 +0F80
22990 +0F80
22991 +0F80
22992 +ENDCHAR
22993 +STARTCHAR char0
22994 +ENCODING 140
22995 +SWIDTH 8640 0
22996 +DWIDTH 9 0
22997 +BBX 9 16 0 -4
22998 +BITMAP
22999 +0000
23000 +0000
23001 +0000
23002 +0000
23003 +0000
23004 +FF80
23005 +FF80
23006 +FF80
23007 +FF80
23008 +FF80
23009 +FF80
23010 +0F80
23011 +0F80
23012 +0F80
23013 +0F80
23014 +0F80
23015 +ENDCHAR
23016 +STARTCHAR char1
23017 +ENCODING 141
23018 +SWIDTH 8640 0
23019 +DWIDTH 9 0
23020 +BBX 9 16 0 -4
23021 +BITMAP
23022 +F000
23023 +F000
23024 +F000
23025 +F000
23026 +F000
23027 +FF80
23028 +FF80
23029 +FF80
23030 +FF80
23031 +FF80
23032 +FF80
23033 +0F80
23034 +0F80
23035 +0F80
23036 +0F80
23037 +0F80
23038 +ENDCHAR
23039 +STARTCHAR char2
23040 +ENCODING 142
23041 +SWIDTH 8640 0
23042 +DWIDTH 9 0
23043 +BBX 9 16 0 -4
23044 +BITMAP
23045 +0F80
23046 +0F80
23047 +0F80
23048 +0F80
23049 +0F80
23050 +FF80
23051 +FF80
23052 +FF80
23053 +FF80
23054 +FF80
23055 +FF80
23056 +0F80
23057 +0F80
23058 +0F80
23059 +0F80
23060 +0F80
23061 +ENDCHAR
23062 +STARTCHAR char1
23063 +ENCODING 143
23064 +SWIDTH 8640 0
23065 +DWIDTH 9 0
23066 +BBX 9 16 0 -4
23067 +BITMAP
23068 +FF80
23069 +FF80
23070 +FF80
23071 +FF80
23072 +FF80
23073 +FF80
23074 +FF80
23075 +FF80
23076 +FF80
23077 +FF80
23078 +FF80
23079 +0F80
23080 +0F80
23081 +0F80
23082 +0F80
23083 +0F80
23084 +ENDCHAR
23085 +STARTCHAR char0
23086 +ENCODING 144
23087 +SWIDTH 8640 0
23088 +DWIDTH 9 0
23089 +BBX 9 16 0 -4
23090 +BITMAP
23091 +0000
23092 +0000
23093 +0000
23094 +0000
23095 +0000
23096 +0000
23097 +0000
23098 +0000
23099 +0000
23100 +0000
23101 +0000
23102 +FF80
23103 +FF80
23104 +FF80
23105 +FF80
23106 +FF80
23107 +ENDCHAR
23108 +STARTCHAR char1
23109 +ENCODING 145
23110 +SWIDTH 8640 0
23111 +DWIDTH 9 0
23112 +BBX 9 16 0 -4
23113 +BITMAP
23114 +F000
23115 +F000
23116 +F000
23117 +F000
23118 +F000
23119 +0000
23120 +0000
23121 +0000
23122 +0000
23123 +0000
23124 +0000
23125 +FF80
23126 +FF80
23127 +FF80
23128 +FF80
23129 +FF80
23130 +ENDCHAR
23131 +STARTCHAR char2
23132 +ENCODING 146
23133 +SWIDTH 8640 0
23134 +DWIDTH 9 0
23135 +BBX 9 16 0 -4
23136 +BITMAP
23137 +0F80
23138 +0F80
23139 +0F80
23140 +0F80
23141 +0F80
23142 +0000
23143 +0000
23144 +0000
23145 +0000
23146 +0000
23147 +0000
23148 +FF80
23149 +FF80
23150 +FF80
23151 +FF80
23152 +FF80
23153 +ENDCHAR
23154 +STARTCHAR char1
23155 +ENCODING 147
23156 +SWIDTH 8640 0
23157 +DWIDTH 9 0
23158 +BBX 9 16 0 -4
23159 +BITMAP
23160 +FF80
23161 +FF80
23162 +FF80
23163 +FF80
23164 +FF80
23165 +0000
23166 +0000
23167 +0000
23168 +0000
23169 +0000
23170 +0000
23171 +FF80
23172 +FF80
23173 +FF80
23174 +FF80
23175 +FF80
23176 +ENDCHAR
23177 +STARTCHAR char0
23178 +ENCODING 148
23179 +SWIDTH 8640 0
23180 +DWIDTH 9 0
23181 +BBX 9 16 0 -4
23182 +BITMAP
23183 +0000
23184 +0000
23185 +0000
23186 +0000
23187 +0000
23188 +F000
23189 +F000
23190 +F000
23191 +F000
23192 +F000
23193 +F000
23194 +FF80
23195 +FF80
23196 +FF80
23197 +FF80
23198 +FF80
23199 +ENDCHAR
23200 +STARTCHAR char1
23201 +ENCODING 149
23202 +SWIDTH 8640 0
23203 +DWIDTH 9 0
23204 +BBX 9 16 0 -4
23205 +BITMAP
23206 +F000
23207 +F000
23208 +F000
23209 +F000
23210 +F000
23211 +F000
23212 +F000
23213 +F000
23214 +F000
23215 +F000
23216 +F000
23217 +FF80
23218 +FF80
23219 +FF80
23220 +FF80
23221 +FF80
23222 +ENDCHAR
23223 +STARTCHAR char2
23224 +ENCODING 150
23225 +SWIDTH 8640 0
23226 +DWIDTH 9 0
23227 +BBX 9 16 0 -4
23228 +BITMAP
23229 +0F80
23230 +0F80
23231 +0F80
23232 +0F80
23233 +0F80
23234 +F000
23235 +F000
23236 +F000
23237 +F000
23238 +F000
23239 +F000
23240 +FF80
23241 +FF80
23242 +FF80
23243 +FF80
23244 +FF80
23245 +ENDCHAR
23246 +STARTCHAR char1
23247 +ENCODING 151
23248 +SWIDTH 8640 0
23249 +DWIDTH 9 0
23250 +BBX 9 16 0 -4
23251 +BITMAP
23252 +FF80
23253 +FF80
23254 +FF80
23255 +FF80
23256 +FF80
23257 +F000
23258 +F000
23259 +F000
23260 +F000
23261 +F000
23262 +F000
23263 +FF80
23264 +FF80
23265 +FF80
23266 +FF80
23267 +FF80
23268 +ENDCHAR
23269 +STARTCHAR char0
23270 +ENCODING 152
23271 +SWIDTH 8640 0
23272 +DWIDTH 9 0
23273 +BBX 9 16 0 -4
23274 +BITMAP
23275 +0000
23276 +0000
23277 +0000
23278 +0000
23279 +0000
23280 +0F80
23281 +0F80
23282 +0F80
23283 +0F80
23284 +0F80
23285 +0F80
23286 +FF80
23287 +FF80
23288 +FF80
23289 +FF80
23290 +FF80
23291 +ENDCHAR
23292 +STARTCHAR char1
23293 +ENCODING 153
23294 +SWIDTH 8640 0
23295 +DWIDTH 9 0
23296 +BBX 9 16 0 -4
23297 +BITMAP
23298 +F000
23299 +F000
23300 +F000
23301 +F000
23302 +F000
23303 +0F80
23304 +0F80
23305 +0F80
23306 +0F80
23307 +0F80
23308 +0F80
23309 +FF80
23310 +FF80
23311 +FF80
23312 +FF80
23313 +FF80
23314 +ENDCHAR
23315 +STARTCHAR char2
23316 +ENCODING 154
23317 +SWIDTH 8640 0
23318 +DWIDTH 9 0
23319 +BBX 9 16 0 -4
23320 +BITMAP
23321 +0F80
23322 +0F80
23323 +0F80
23324 +0F80
23325 +0F80
23326 +0F80
23327 +0F80
23328 +0F80
23329 +0F80
23330 +0F80
23331 +0F80
23332 +FF80
23333 +FF80
23334 +FF80
23335 +FF80
23336 +FF80
23337 +ENDCHAR
23338 +STARTCHAR char1
23339 +ENCODING 155
23340 +SWIDTH 8640 0
23341 +DWIDTH 9 0
23342 +BBX 9 16 0 -4
23343 +BITMAP
23344 +FF80
23345 +FF80
23346 +FF80
23347 +FF80
23348 +FF80
23349 +0F80
23350 +0F80
23351 +0F80
23352 +0F80
23353 +0F80
23354 +0F80
23355 +FF80
23356 +FF80
23357 +FF80
23358 +FF80
23359 +FF80
23360 +ENDCHAR
23361 +STARTCHAR char0
23362 +ENCODING 156
23363 +SWIDTH 8640 0
23364 +DWIDTH 9 0
23365 +BBX 9 16 0 -4
23366 +BITMAP
23367 +0000
23368 +0000
23369 +0000
23370 +0000
23371 +0000
23372 +FF80
23373 +FF80
23374 +FF80
23375 +FF80
23376 +FF80
23377 +FF80
23378 +FF80
23379 +FF80
23380 +FF80
23381 +FF80
23382 +FF80
23383 +ENDCHAR
23384 +STARTCHAR char1
23385 +ENCODING 157
23386 +SWIDTH 8640 0
23387 +DWIDTH 9 0
23388 +BBX 9 16 0 -4
23389 +BITMAP
23390 +F000
23391 +F000
23392 +F000
23393 +F000
23394 +F000
23395 +FF80
23396 +FF80
23397 +FF80
23398 +FF80
23399 +FF80
23400 +FF80
23401 +FF80
23402 +FF80
23403 +FF80
23404 +FF80
23405 +FF80
23406 +ENDCHAR
23407 +STARTCHAR char2
23408 +ENCODING 158
23409 +SWIDTH 8640 0
23410 +DWIDTH 9 0
23411 +BBX 9 16 0 -4
23412 +BITMAP
23413 +0F80
23414 +0F80
23415 +0F80
23416 +0F80
23417 +0F80
23418 +FF80
23419 +FF80
23420 +FF80
23421 +FF80
23422 +FF80
23423 +FF80
23424 +FF80
23425 +FF80
23426 +FF80
23427 +FF80
23428 +FF80
23429 +ENDCHAR
23430 +STARTCHAR char1
23431 +ENCODING 159
23432 +SWIDTH 8640 0
23433 +DWIDTH 9 0
23434 +BBX 9 16 0 -4
23435 +BITMAP
23436 +FF80
23437 +FF80
23438 +FF80
23439 +FF80
23440 +FF80
23441 +FF80
23442 +FF80
23443 +FF80
23444 +FF80
23445 +FF80
23446 +FF80
23447 +FF80
23448 +FF80
23449 +FF80
23450 +FF80
23451 +FF80
23452 +ENDCHAR
23453 +STARTCHAR char160
23454 +ENCODING 160
23455 +SWIDTH 8640 0
23456 +DWIDTH 9 0
23457 +BBX 9 16 0 -4
23458 +BITMAP
23459 +FF80
23460 +0880
23461 +0880
23462 +0880
23463 +0880
23464 +FF80
23465 +0880
23466 +0880
23467 +0880
23468 +0880
23469 +0880
23470 +FF80
23471 +0880
23472 +0880
23473 +0880
23474 +0880
23475 +ENDCHAR
23476 +STARTCHAR char161
23477 +ENCODING 161
23478 +SWIDTH 8640 0
23479 +DWIDTH 9 0
23480 +BBX 9 16 0 -4
23481 +BITMAP
23482 +0000
23483 +0000
23484 +1800
23485 +1800
23486 +0000
23487 +1800
23488 +1800
23489 +1800
23490 +3C00
23491 +3C00
23492 +3C00
23493 +1800
23494 +0000
23495 +0000
23496 +0000
23497 +0000
23498 +ENDCHAR
23499 +STARTCHAR char162
23500 +ENCODING 162
23501 +SWIDTH 8640 0
23502 +DWIDTH 9 0
23503 +BBX 9 16 0 -4
23504 +BITMAP
23505 +0000
23506 +1800
23507 +1800
23508 +7E00
23509 +C300
23510 +C000
23511 +C000
23512 +C000
23513 +C300
23514 +7E00
23515 +1800
23516 +1800
23517 +0000
23518 +0000
23519 +0000
23520 +0000
23521 +ENDCHAR
23522 +STARTCHAR char163
23523 +ENCODING 163
23524 +SWIDTH 8640 0
23525 +DWIDTH 9 0
23526 +BBX 9 16 0 -4
23527 +BITMAP
23528 +0000
23529 +1C00
23530 +3600
23531 +3200
23532 +3000
23533 +7800
23534 +3000
23535 +3000
23536 +3000
23537 +3000
23538 +7300
23539 +7E00
23540 +0000
23541 +0000
23542 +0000
23543 +0000
23544 +ENDCHAR
23545 +STARTCHAR char164
23546 +ENCODING 164
23547 +SWIDTH 8640 0
23548 +DWIDTH 9 0
23549 +BBX 9 16 0 -4
23550 +BITMAP
23551 +0000
23552 +0000
23553 +0000
23554 +4100
23555 +6300
23556 +3E00
23557 +6300
23558 +6300
23559 +6300
23560 +6300
23561 +3E00
23562 +6300
23563 +4100
23564 +0000
23565 +0000
23566 +0000
23567 +ENDCHAR
23568 +STARTCHAR char165
23569 +ENCODING 165
23570 +SWIDTH 8640 0
23571 +DWIDTH 9 0
23572 +BBX 9 16 0 -4
23573 +BITMAP
23574 +0000
23575 +0000
23576 +C300
23577 +6600
23578 +3C00
23579 +1800
23580 +FF00
23581 +1800
23582 +FF00
23583 +1800
23584 +1800
23585 +1800
23586 +0000
23587 +0000
23588 +0000
23589 +0000
23590 +ENDCHAR
23591 +STARTCHAR char166
23592 +ENCODING 166
23593 +SWIDTH 8640 0
23594 +DWIDTH 9 0
23595 +BBX 9 16 0 -4
23596 +BITMAP
23597 +0000
23598 +6600
23599 +6600
23600 +6600
23601 +6600
23602 +6600
23603 +6600
23604 +6600
23605 +6600
23606 +6600
23607 +6600
23608 +6600
23609 +6600
23610 +0000
23611 +0000
23612 +0000
23613 +ENDCHAR
23614 +STARTCHAR char167
23615 +ENCODING 167
23616 +SWIDTH 8640 0
23617 +DWIDTH 9 0
23618 +BBX 9 16 0 -4
23619 +BITMAP
23620 +0000
23621 +3E00
23622 +6300
23623 +3000
23624 +1C00
23625 +3600
23626 +6300
23627 +6300
23628 +3600
23629 +1C00
23630 +0600
23631 +6300
23632 +3E00
23633 +0000
23634 +0000
23635 +0000
23636 +ENDCHAR
23637 +STARTCHAR char168
23638 +ENCODING 168
23639 +SWIDTH 8640 0
23640 +DWIDTH 9 0
23641 +BBX 9 16 0 -4
23642 +BITMAP
23643 +0000
23644 +0000
23645 +3C00
23646 +7E00
23647 +DB00
23648 +FF00
23649 +BD00
23650 +C300
23651 +E700
23652 +FF00
23653 +7E00
23654 +3C00
23655 +0000
23656 +0000
23657 +0000
23658 +0000
23659 +ENDCHAR
23660 +STARTCHAR char169
23661 +ENCODING 169
23662 +SWIDTH 8640 0
23663 +DWIDTH 9 0
23664 +BBX 9 16 0 -4
23665 +BITMAP
23666 +0000
23667 +0000
23668 +3E00
23669 +6300
23670 +4100
23671 +5D00
23672 +5100
23673 +5100
23674 +5D00
23675 +4100
23676 +6300
23677 +3E00
23678 +0000
23679 +0000
23680 +0000
23681 +0000
23682 +ENDCHAR
23683 +STARTCHAR char170
23684 +ENCODING 170
23685 +SWIDTH 8640 0
23686 +DWIDTH 9 0
23687 +BBX 9 16 0 -4
23688 +BITMAP
23689 +0000
23690 +3800
23691 +0C00
23692 +3C00
23693 +6400
23694 +3C00
23695 +0000
23696 +7C00
23697 +0000
23698 +0000
23699 +0000
23700 +0000
23701 +0000
23702 +0000
23703 +0000
23704 +0000
23705 +ENDCHAR
23706 +STARTCHAR char171
23707 +ENCODING 171
23708 +SWIDTH 8640 0
23709 +DWIDTH 9 0
23710 +BBX 9 16 0 -4
23711 +BITMAP
23712 +0000
23713 +0000
23714 +0000
23715 +0000
23716 +0000
23717 +1800
23718 +3000
23719 +7F00
23720 +7F00
23721 +3000
23722 +1800
23723 +0000
23724 +0000
23725 +0000
23726 +0000
23727 +0000
23728 +ENDCHAR
23729 +STARTCHAR char172
23730 +ENCODING 172
23731 +SWIDTH 8640 0
23732 +DWIDTH 9 0
23733 +BBX 9 16 0 -4
23734 +BITMAP
23735 +0000
23736 +0000
23737 +1800
23738 +3C00
23739 +7E00
23740 +5A00
23741 +1800
23742 +1800
23743 +1800
23744 +1800
23745 +1800
23746 +0000
23747 +0000
23748 +0000
23749 +0000
23750 +0000
23751 +ENDCHAR
23752 +STARTCHAR char173
23753 +ENCODING 173
23754 +SWIDTH 8640 0
23755 +DWIDTH 9 0
23756 +BBX 9 16 0 -4
23757 +BITMAP
23758 +0000
23759 +0000
23760 +0000
23761 +0000
23762 +0000
23763 +0000
23764 +0000
23765 +FF80
23766 +0000
23767 +0000
23768 +0000
23769 +0000
23770 +0000
23771 +0000
23772 +0000
23773 +0000
23774 +ENDCHAR
23775 +STARTCHAR char174
23776 +ENCODING 174
23777 +SWIDTH 8640 0
23778 +DWIDTH 9 0
23779 +BBX 9 16 0 -4
23780 +BITMAP
23781 +0000
23782 +0000
23783 +3E00
23784 +6300
23785 +4100
23786 +5D00
23787 +5500
23788 +5900
23789 +5500
23790 +4100
23791 +6300
23792 +3E00
23793 +0000
23794 +0000
23795 +0000
23796 +0000
23797 +ENDCHAR
23798 +STARTCHAR char175
23799 +ENCODING 175
23800 +SWIDTH 8640 0
23801 +DWIDTH 9 0
23802 +BBX 9 16 0 -4
23803 +BITMAP
23804 +0000
23805 +7F00
23806 +0000
23807 +0000
23808 +0000
23809 +0000
23810 +0000
23811 +0000
23812 +0000
23813 +0000
23814 +0000
23815 +0000
23816 +0000
23817 +0000
23818 +0000
23819 +0000
23820 +ENDCHAR
23821 +STARTCHAR char176
23822 +ENCODING 176
23823 +SWIDTH 8640 0
23824 +DWIDTH 9 0
23825 +BBX 9 16 0 -4
23826 +BITMAP
23827 +0000
23828 +1C00
23829 +3600
23830 +3600
23831 +1C00
23832 +0000
23833 +0000
23834 +0000
23835 +0000
23836 +0000
23837 +0000
23838 +0000
23839 +0000
23840 +0000
23841 +0000
23842 +0000
23843 +ENDCHAR
23844 +STARTCHAR char177
23845 +ENCODING 177
23846 +SWIDTH 8640 0
23847 +DWIDTH 9 0
23848 +BBX 9 16 0 -4
23849 +BITMAP
23850 +0000
23851 +0000
23852 +0000
23853 +0000
23854 +1800
23855 +1800
23856 +7E00
23857 +1800
23858 +1800
23859 +0000
23860 +0000
23861 +7E00
23862 +0000
23863 +0000
23864 +0000
23865 +0000
23866 +ENDCHAR
23867 +STARTCHAR char178
23868 +ENCODING 178
23869 +SWIDTH 8640 0
23870 +DWIDTH 9 0
23871 +BBX 9 16 0 -4
23872 +BITMAP
23873 +0000
23874 +3800
23875 +6C00
23876 +1800
23877 +3000
23878 +6400
23879 +7C00
23880 +0000
23881 +0000
23882 +0000
23883 +0000
23884 +0000
23885 +0000
23886 +0000
23887 +0000
23888 +0000
23889 +ENDCHAR
23890 +STARTCHAR char179
23891 +ENCODING 179
23892 +SWIDTH 8640 0
23893 +DWIDTH 9 0
23894 +BBX 9 16 0 -4
23895 +BITMAP
23896 +0000
23897 +7C00
23898 +0C00
23899 +1800
23900 +0C00
23901 +6C00
23902 +3800
23903 +0000
23904 +0000
23905 +0000
23906 +0000
23907 +0000
23908 +0000
23909 +0000
23910 +0000
23911 +0000
23912 +ENDCHAR
23913 +STARTCHAR char180
23914 +ENCODING 180
23915 +SWIDTH 8640 0
23916 +DWIDTH 9 0
23917 +BBX 9 16 0 -4
23918 +BITMAP
23919 +1800
23920 +3000
23921 +6000
23922 +0000
23923 +0000
23924 +0000
23925 +0000
23926 +0000
23927 +0000
23928 +0000
23929 +0000
23930 +0000
23931 +0000
23932 +0000
23933 +0000
23934 +0000
23935 +ENDCHAR
23936 +STARTCHAR char181
23937 +ENCODING 181
23938 +SWIDTH 8640 0
23939 +DWIDTH 9 0
23940 +BBX 9 16 0 -4
23941 +BITMAP
23942 +0000
23943 +0000
23944 +0000
23945 +0000
23946 +6600
23947 +6600
23948 +6600
23949 +6600
23950 +6600
23951 +7E00
23952 +6300
23953 +6000
23954 +C000
23955 +0000
23956 +0000
23957 +0000
23958 +ENDCHAR
23959 +STARTCHAR char182
23960 +ENCODING 182
23961 +SWIDTH 8640 0
23962 +DWIDTH 9 0
23963 +BBX 9 16 0 -4
23964 +BITMAP
23965 +0000
23966 +0000
23967 +7F00
23968 +DB00
23969 +DB00
23970 +DB00
23971 +7B00
23972 +1B00
23973 +1B00
23974 +1B00
23975 +1B00
23976 +1B00
23977 +0000
23978 +0000
23979 +0000
23980 +0000
23981 +ENDCHAR
23982 +STARTCHAR char183
23983 +ENCODING 183
23984 +SWIDTH 8640 0
23985 +DWIDTH 9 0
23986 +BBX 9 16 0 -4
23987 +BITMAP
23988 +0000
23989 +0000
23990 +0000
23991 +0000
23992 +0000
23993 +0000
23994 +0000
23995 +1800
23996 +1800
23997 +0000
23998 +0000
23999 +0000
24000 +0000
24001 +0000
24002 +0000
24003 +0000
24004 +ENDCHAR
24005 +STARTCHAR char184
24006 +ENCODING 184
24007 +SWIDTH 8640 0
24008 +DWIDTH 9 0
24009 +BBX 9 16 0 -4
24010 +BITMAP
24011 +0080
24012 +0100
24013 +0300
24014 +0600
24015 +0C00
24016 +1C00
24017 +3000
24018 +7F00
24019 +7700
24020 +0E00
24021 +1C00
24022 +1800
24023 +3000
24024 +6000
24025 +8000
24026 +0000
24027 +ENDCHAR
24028 +STARTCHAR char185
24029 +ENCODING 185
24030 +SWIDTH 8640 0
24031 +DWIDTH 9 0
24032 +BBX 9 16 0 -4
24033 +BITMAP
24034 +0000
24035 +3000
24036 +7000
24037 +3000
24038 +3000
24039 +3000
24040 +7800
24041 +0000
24042 +0000
24043 +0000
24044 +0000
24045 +0000
24046 +0000
24047 +0000
24048 +0000
24049 +0000
24050 +ENDCHAR
24051 +STARTCHAR char186
24052 +ENCODING 186
24053 +SWIDTH 8640 0
24054 +DWIDTH 9 0
24055 +BBX 9 16 0 -4
24056 +BITMAP
24057 +0000
24058 +3800
24059 +6C00
24060 +4400
24061 +6C00
24062 +3800
24063 +0000
24064 +7C00
24065 +0000
24066 +0000
24067 +0000
24068 +0000
24069 +0000
24070 +0000
24071 +0000
24072 +0000
24073 +ENDCHAR
24074 +STARTCHAR char187
24075 +ENCODING 187
24076 +SWIDTH 8640 0
24077 +DWIDTH 9 0
24078 +BBX 9 16 0 -4
24079 +BITMAP
24080 +0000
24081 +0000
24082 +0000
24083 +0000
24084 +0000
24085 +0C00
24086 +0600
24087 +7F00
24088 +7F00
24089 +0600
24090 +0C00
24091 +0000
24092 +0000
24093 +0000
24094 +0000
24095 +0000
24096 +ENDCHAR
24097 +STARTCHAR char188
24098 +ENCODING 188
24099 +SWIDTH 8640 0
24100 +DWIDTH 9 0
24101 +BBX 9 16 0 -4
24102 +BITMAP
24103 +0000
24104 +6000
24105 +6000
24106 +6100
24107 +6300
24108 +6600
24109 +0C00
24110 +1800
24111 +3300
24112 +6700
24113 +4B00
24114 +1F00
24115 +0300
24116 +0300
24117 +0000
24118 +0000
24119 +ENDCHAR
24120 +STARTCHAR char189
24121 +ENCODING 189
24122 +SWIDTH 8640 0
24123 +DWIDTH 9 0
24124 +BBX 9 16 0 -4
24125 +BITMAP
24126 +0000
24127 +6000
24128 +6000
24129 +6100
24130 +6300
24131 +6600
24132 +0C00
24133 +1800
24134 +3000
24135 +6700
24136 +4D80
24137 +0300
24138 +0600
24139 +0F80
24140 +0000
24141 +0000
24142 +ENDCHAR
24143 +STARTCHAR char190
24144 +ENCODING 190
24145 +SWIDTH 8640 0
24146 +DWIDTH 9 0
24147 +BBX 9 16 0 -4
24148 +BITMAP
24149 +0000
24150 +7800
24151 +1800
24152 +3900
24153 +1B00
24154 +7600
24155 +0C00
24156 +1800
24157 +3300
24158 +6700
24159 +4B00
24160 +1F00
24161 +0300
24162 +0300
24163 +0000
24164 +0000
24165 +ENDCHAR
24166 +STARTCHAR char191
24167 +ENCODING 191
24168 +SWIDTH 8640 0
24169 +DWIDTH 9 0
24170 +BBX 9 16 0 -4
24171 +BITMAP
24172 +0000
24173 +0000
24174 +1800
24175 +1800
24176 +0000
24177 +1800
24178 +1800
24179 +3000
24180 +6000
24181 +6300
24182 +6300
24183 +3E00
24184 +0000
24185 +0000
24186 +0000
24187 +0000
24188 +ENDCHAR
24189 +STARTCHAR char192
24190 +ENCODING 192
24191 +SWIDTH 8640 0
24192 +DWIDTH 9 0
24193 +BBX 9 16 0 -4
24194 +BITMAP
24195 +1800
24196 +0C00
24197 +0800
24198 +1C00
24199 +3600
24200 +6300
24201 +6300
24202 +7F00
24203 +6300
24204 +6300
24205 +6300
24206 +6300
24207 +0000
24208 +0000
24209 +0000
24210 +0000
24211 +ENDCHAR
24212 +STARTCHAR char193
24213 +ENCODING 193
24214 +SWIDTH 8640 0
24215 +DWIDTH 9 0
24216 +BBX 9 16 0 -4
24217 +BITMAP
24218 +0C00
24219 +1800
24220 +0800
24221 +1C00
24222 +3600
24223 +6300
24224 +6300
24225 +7F00
24226 +6300
24227 +6300
24228 +6300
24229 +6300
24230 +0000
24231 +0000
24232 +0000
24233 +0000
24234 +ENDCHAR
24235 +STARTCHAR char194
24236 +ENCODING 194
24237 +SWIDTH 8640 0
24238 +DWIDTH 9 0
24239 +BBX 9 16 0 -4
24240 +BITMAP
24241 +1C00
24242 +3600
24243 +0800
24244 +1C00
24245 +3600
24246 +6300
24247 +6300
24248 +7F00
24249 +6300
24250 +6300
24251 +6300
24252 +6300
24253 +0000
24254 +0000
24255 +0000
24256 +0000
24257 +ENDCHAR
24258 +STARTCHAR char195
24259 +ENCODING 195
24260 +SWIDTH 8640 0
24261 +DWIDTH 9 0
24262 +BBX 9 16 0 -4
24263 +BITMAP
24264 +3B00
24265 +6E00
24266 +0000
24267 +1C00
24268 +3600
24269 +6300
24270 +6300
24271 +7F00
24272 +6300
24273 +6300
24274 +6300
24275 +6300
24276 +0000
24277 +0000
24278 +0000
24279 +0000
24280 +ENDCHAR
24281 +STARTCHAR char196
24282 +ENCODING 196
24283 +SWIDTH 8640 0
24284 +DWIDTH 9 0
24285 +BBX 9 16 0 -4
24286 +BITMAP
24287 +6300
24288 +0000
24289 +0800
24290 +1C00
24291 +3600
24292 +6300
24293 +6300
24294 +7F00
24295 +6300
24296 +6300
24297 +6300
24298 +6300
24299 +0000
24300 +0000
24301 +0000
24302 +0000
24303 +ENDCHAR
24304 +STARTCHAR char197
24305 +ENCODING 197
24306 +SWIDTH 8640 0
24307 +DWIDTH 9 0
24308 +BBX 9 16 0 -4
24309 +BITMAP
24310 +1C00
24311 +1400
24312 +1C00
24313 +1C00
24314 +3600
24315 +6300
24316 +6300
24317 +7F00
24318 +6300
24319 +6300
24320 +6300
24321 +6300
24322 +0000
24323 +0000
24324 +0000
24325 +0000
24326 +ENDCHAR
24327 +STARTCHAR char198
24328 +ENCODING 198
24329 +SWIDTH 8640 0
24330 +DWIDTH 9 0
24331 +BBX 9 16 0 -4
24332 +BITMAP
24333 +0000
24334 +0000
24335 +1F00
24336 +3600
24337 +6600
24338 +6600
24339 +7F00
24340 +6600
24341 +6600
24342 +6600
24343 +6600
24344 +6700
24345 +0000
24346 +0000
24347 +0000
24348 +0000
24349 +ENDCHAR
24350 +STARTCHAR char199
24351 +ENCODING 199
24352 +SWIDTH 8640 0
24353 +DWIDTH 9 0
24354 +BBX 9 16 0 -4
24355 +BITMAP
24356 +0000
24357 +0000
24358 +0000
24359 +1E00
24360 +3300
24361 +6100
24362 +6000
24363 +6000
24364 +6000
24365 +6100
24366 +3300
24367 +1E00
24368 +0600
24369 +0300
24370 +3E00
24371 +0000
24372 +ENDCHAR
24373 +STARTCHAR char200
24374 +ENCODING 200
24375 +SWIDTH 8640 0
24376 +DWIDTH 9 0
24377 +BBX 9 16 0 -4
24378 +BITMAP
24379 +1800
24380 +0C00
24381 +7F00
24382 +3300
24383 +3100
24384 +3400
24385 +3C00
24386 +3400
24387 +3000
24388 +3100
24389 +3300
24390 +7F00
24391 +0000
24392 +0000
24393 +0000
24394 +0000
24395 +ENDCHAR
24396 +STARTCHAR char201
24397 +ENCODING 201
24398 +SWIDTH 8640 0
24399 +DWIDTH 9 0
24400 +BBX 9 16 0 -4
24401 +BITMAP
24402 +0C00
24403 +1800
24404 +7F00
24405 +3300
24406 +3100
24407 +3400
24408 +3C00
24409 +3400
24410 +3000
24411 +3100
24412 +3300
24413 +7F00
24414 +0000
24415 +0000
24416 +0000
24417 +0000
24418 +ENDCHAR
24419 +STARTCHAR char202
24420 +ENCODING 202
24421 +SWIDTH 8640 0
24422 +DWIDTH 9 0
24423 +BBX 9 16 0 -4
24424 +BITMAP
24425 +1C00
24426 +3600
24427 +7F00
24428 +3300
24429 +3100
24430 +3400
24431 +3C00
24432 +3400
24433 +3000
24434 +3100
24435 +3300
24436 +7F00
24437 +0000
24438 +0000
24439 +0000
24440 +0000
24441 +ENDCHAR
24442 +STARTCHAR char203
24443 +ENCODING 203
24444 +SWIDTH 8640 0
24445 +DWIDTH 9 0
24446 +BBX 9 16 0 -4
24447 +BITMAP
24448 +6300
24449 +0000
24450 +7F00
24451 +3300
24452 +3100
24453 +3400
24454 +3C00
24455 +3400
24456 +3000
24457 +3100
24458 +3300
24459 +7F00
24460 +0000
24461 +0000
24462 +0000
24463 +0000
24464 +ENDCHAR
24465 +STARTCHAR char204
24466 +ENCODING 204
24467 +SWIDTH 8640 0
24468 +DWIDTH 9 0
24469 +BBX 9 16 0 -4
24470 +BITMAP
24471 +3000
24472 +1800
24473 +0000
24474 +3C00
24475 +1800
24476 +1800
24477 +1800
24478 +1800
24479 +1800
24480 +1800
24481 +1800
24482 +3C00
24483 +0000
24484 +0000
24485 +0000
24486 +0000
24487 +ENDCHAR
24488 +STARTCHAR char205
24489 +ENCODING 205
24490 +SWIDTH 8640 0
24491 +DWIDTH 9 0
24492 +BBX 9 16 0 -4
24493 +BITMAP
24494 +0C00
24495 +1800
24496 +0000
24497 +3C00
24498 +1800
24499 +1800
24500 +1800
24501 +1800
24502 +1800
24503 +1800
24504 +1800
24505 +3C00
24506 +0000
24507 +0000
24508 +0000
24509 +0000
24510 +ENDCHAR
24511 +STARTCHAR char206
24512 +ENCODING 206
24513 +SWIDTH 8640 0
24514 +DWIDTH 9 0
24515 +BBX 9 16 0 -4
24516 +BITMAP
24517 +3C00
24518 +6600
24519 +0000
24520 +3C00
24521 +1800
24522 +1800
24523 +1800
24524 +1800
24525 +1800
24526 +1800
24527 +1800
24528 +3C00
24529 +0000
24530 +0000
24531 +0000
24532 +0000
24533 +ENDCHAR
24534 +STARTCHAR char207
24535 +ENCODING 207
24536 +SWIDTH 8640 0
24537 +DWIDTH 9 0
24538 +BBX 9 16 0 -4
24539 +BITMAP
24540 +6600
24541 +0000
24542 +3C00
24543 +1800
24544 +1800
24545 +1800
24546 +1800
24547 +1800
24548 +1800
24549 +1800
24550 +1800
24551 +3C00
24552 +0000
24553 +0000
24554 +0000
24555 +0000
24556 +ENDCHAR
24557 +STARTCHAR char208
24558 +ENCODING 208
24559 +SWIDTH 8640 0
24560 +DWIDTH 9 0
24561 +BBX 9 16 0 -4
24562 +BITMAP
24563 +0000
24564 +0000
24565 +3C00
24566 +3600
24567 +3300
24568 +3300
24569 +7B00
24570 +7B00
24571 +3300
24572 +3300
24573 +3600
24574 +3C00
24575 +0000
24576 +0000
24577 +0000
24578 +0000
24579 +ENDCHAR
24580 +STARTCHAR char209
24581 +ENCODING 209
24582 +SWIDTH 8640 0
24583 +DWIDTH 9 0
24584 +BBX 9 16 0 -4
24585 +BITMAP
24586 +3B00
24587 +6E00
24588 +6300
24589 +7300
24590 +7B00
24591 +7F00
24592 +6F00
24593 +6700
24594 +6300
24595 +6300
24596 +6300
24597 +6300
24598 +0000
24599 +0000
24600 +0000
24601 +0000
24602 +ENDCHAR
24603 +STARTCHAR char210
24604 +ENCODING 210
24605 +SWIDTH 8640 0
24606 +DWIDTH 9 0
24607 +BBX 9 16 0 -4
24608 +BITMAP
24609 +3000
24610 +1800
24611 +3E00
24612 +6300
24613 +6300
24614 +6300
24615 +6300
24616 +6300
24617 +6300
24618 +6300
24619 +6300
24620 +3E00
24621 +0000
24622 +0000
24623 +0000
24624 +0000
24625 +ENDCHAR
24626 +STARTCHAR char211
24627 +ENCODING 211
24628 +SWIDTH 8640 0
24629 +DWIDTH 9 0
24630 +BBX 9 16 0 -4
24631 +BITMAP
24632 +0600
24633 +0C00
24634 +3E00
24635 +6300
24636 +6300
24637 +6300
24638 +6300
24639 +6300
24640 +6300
24641 +6300
24642 +6300
24643 +3E00
24644 +0000
24645 +0000
24646 +0000
24647 +0000
24648 +ENDCHAR
24649 +STARTCHAR char212
24650 +ENCODING 212
24651 +SWIDTH 8640 0
24652 +DWIDTH 9 0
24653 +BBX 9 16 0 -4
24654 +BITMAP
24655 +1C00
24656 +3600
24657 +3E00
24658 +6300
24659 +6300
24660 +6300
24661 +6300
24662 +6300
24663 +6300
24664 +6300
24665 +6300
24666 +3E00
24667 +0000
24668 +0000
24669 +0000
24670 +0000
24671 +ENDCHAR
24672 +STARTCHAR char213
24673 +ENCODING 213
24674 +SWIDTH 8640 0
24675 +DWIDTH 9 0
24676 +BBX 9 16 0 -4
24677 +BITMAP
24678 +3B00
24679 +6E00
24680 +3E00
24681 +6300
24682 +6300
24683 +6300
24684 +6300
24685 +6300
24686 +6300
24687 +6300
24688 +6300
24689 +3E00
24690 +0000
24691 +0000
24692 +0000
24693 +0000
24694 +ENDCHAR
24695 +STARTCHAR char214
24696 +ENCODING 214
24697 +SWIDTH 8640 0
24698 +DWIDTH 9 0
24699 +BBX 9 16 0 -4
24700 +BITMAP
24701 +6300
24702 +0000
24703 +3E00
24704 +6300
24705 +6300
24706 +6300
24707 +6300
24708 +6300
24709 +6300
24710 +6300
24711 +6300
24712 +3E00
24713 +0000
24714 +0000
24715 +0000
24716 +0000
24717 +ENDCHAR
24718 +STARTCHAR char215
24719 +ENCODING 215
24720 +SWIDTH 8640 0
24721 +DWIDTH 9 0
24722 +BBX 9 16 0 -4
24723 +BITMAP
24724 +0000
24725 +0000
24726 +0000
24727 +0000
24728 +6300
24729 +3600
24730 +1C00
24731 +0800
24732 +1C00
24733 +3600
24734 +6300
24735 +0000
24736 +0000
24737 +0000
24738 +0000
24739 +0000
24740 +ENDCHAR
24741 +STARTCHAR char216
24742 +ENCODING 216
24743 +SWIDTH 8640 0
24744 +DWIDTH 9 0
24745 +BBX 9 16 0 -4
24746 +BITMAP
24747 +0100
24748 +0300
24749 +3E00
24750 +6700
24751 +6700
24752 +6F00
24753 +6B00
24754 +6B00
24755 +7B00
24756 +7300
24757 +7300
24758 +3E00
24759 +6000
24760 +4000
24761 +0000
24762 +0000
24763 +ENDCHAR
24764 +STARTCHAR char217
24765 +ENCODING 217
24766 +SWIDTH 8640 0
24767 +DWIDTH 9 0
24768 +BBX 9 16 0 -4
24769 +BITMAP
24770 +3000
24771 +1800
24772 +6300
24773 +6300
24774 +6300
24775 +6300
24776 +6300
24777 +6300
24778 +6300
24779 +6300
24780 +6300
24781 +3E00
24782 +0000
24783 +0000
24784 +0000
24785 +0000
24786 +ENDCHAR
24787 +STARTCHAR char218
24788 +ENCODING 218
24789 +SWIDTH 8640 0
24790 +DWIDTH 9 0
24791 +BBX 9 16 0 -4
24792 +BITMAP
24793 +0600
24794 +0C00
24795 +6300
24796 +6300
24797 +6300
24798 +6300
24799 +6300
24800 +6300
24801 +6300
24802 +6300
24803 +6300
24804 +3E00
24805 +0000
24806 +0000
24807 +0000
24808 +0000
24809 +ENDCHAR
24810 +STARTCHAR char219
24811 +ENCODING 219
24812 +SWIDTH 8640 0
24813 +DWIDTH 9 0
24814 +BBX 9 16 0 -4
24815 +BITMAP
24816 +1C00
24817 +1400
24818 +6300
24819 +6300
24820 +6300
24821 +6300
24822 +6300
24823 +6300
24824 +6300
24825 +6300
24826 +6300
24827 +3E00
24828 +0000
24829 +0000
24830 +0000
24831 +0000
24832 +ENDCHAR
24833 +STARTCHAR char220
24834 +ENCODING 220
24835 +SWIDTH 8640 0
24836 +DWIDTH 9 0
24837 +BBX 9 16 0 -4
24838 +BITMAP
24839 +6300
24840 +0000
24841 +6300
24842 +6300
24843 +6300
24844 +6300
24845 +6300
24846 +6300
24847 +6300
24848 +6300
24849 +6300
24850 +3E00
24851 +0000
24852 +0000
24853 +0000
24854 +0000
24855 +ENDCHAR
24856 +STARTCHAR char221
24857 +ENCODING 221
24858 +SWIDTH 8640 0
24859 +DWIDTH 9 0
24860 +BBX 9 16 0 -4
24861 +BITMAP
24862 +1800
24863 +3000
24864 +C300
24865 +C300
24866 +C300
24867 +6600
24868 +3C00
24869 +1800
24870 +1800
24871 +1800
24872 +1800
24873 +3C00
24874 +0000
24875 +0000
24876 +0000
24877 +0000
24878 +ENDCHAR
24879 +STARTCHAR char222
24880 +ENCODING 222
24881 +SWIDTH 8640 0
24882 +DWIDTH 9 0
24883 +BBX 9 16 0 -4
24884 +BITMAP
24885 +7800
24886 +3000
24887 +3E00
24888 +3300
24889 +3300
24890 +3300
24891 +3E00
24892 +3000
24893 +3000
24894 +3000
24895 +3000
24896 +7800
24897 +0000
24898 +0000
24899 +0000
24900 +0000
24901 +ENDCHAR
24902 +STARTCHAR char223
24903 +ENCODING 223
24904 +SWIDTH 8640 0
24905 +DWIDTH 9 0
24906 +BBX 9 16 0 -4
24907 +BITMAP
24908 +0000
24909 +0000
24910 +1C00
24911 +3600
24912 +6300
24913 +6700
24914 +6E00
24915 +6C00
24916 +6600
24917 +6300
24918 +6B00
24919 +6E00
24920 +6000
24921 +4000
24922 +0000
24923 +0000
24924 +ENDCHAR
24925 +STARTCHAR char224
24926 +ENCODING 224
24927 +SWIDTH 8640 0
24928 +DWIDTH 9 0
24929 +BBX 9 16 0 -4
24930 +BITMAP
24931 +0000
24932 +3000
24933 +1800
24934 +0C00
24935 +0000
24936 +3C00
24937 +0600
24938 +3E00
24939 +6600
24940 +6600
24941 +6600
24942 +3B00
24943 +0000
24944 +0000
24945 +0000
24946 +0000
24947 +ENDCHAR
24948 +STARTCHAR char225
24949 +ENCODING 225
24950 +SWIDTH 8640 0
24951 +DWIDTH 9 0
24952 +BBX 9 16 0 -4
24953 +BITMAP
24954 +0000
24955 +0C00
24956 +1800
24957 +3000
24958 +0000
24959 +3C00
24960 +0600
24961 +3E00
24962 +6600
24963 +6600
24964 +6600
24965 +3B00
24966 +0000
24967 +0000
24968 +0000
24969 +0000
24970 +ENDCHAR
24971 +STARTCHAR char226
24972 +ENCODING 226
24973 +SWIDTH 8640 0
24974 +DWIDTH 9 0
24975 +BBX 9 16 0 -4
24976 +BITMAP
24977 +0000
24978 +0800
24979 +1C00
24980 +3600
24981 +0000
24982 +3C00
24983 +0600
24984 +3E00
24985 +6600
24986 +6600
24987 +6600
24988 +3B00
24989 +0000
24990 +0000
24991 +0000
24992 +0000
24993 +ENDCHAR
24994 +STARTCHAR char227
24995 +ENCODING 227
24996 +SWIDTH 8640 0
24997 +DWIDTH 9 0
24998 +BBX 9 16 0 -4
24999 +BITMAP
25000 +0000
25001 +0000
25002 +3B00
25003 +6E00
25004 +0000
25005 +3C00
25006 +0600
25007 +3E00
25008 +6600
25009 +6600
25010 +6600
25011 +3B00
25012 +0000
25013 +0000
25014 +0000
25015 +0000
25016 +ENDCHAR
25017 +STARTCHAR char228
25018 +ENCODING 228
25019 +SWIDTH 8640 0
25020 +DWIDTH 9 0
25021 +BBX 9 16 0 -4
25022 +BITMAP
25023 +0000
25024 +0000
25025 +6600
25026 +0000
25027 +0000
25028 +3C00
25029 +0600
25030 +3E00
25031 +6600
25032 +6600
25033 +6600
25034 +3B00
25035 +0000
25036 +0000
25037 +0000
25038 +0000
25039 +ENDCHAR
25040 +STARTCHAR char229
25041 +ENCODING 229
25042 +SWIDTH 8640 0
25043 +DWIDTH 9 0
25044 +BBX 9 16 0 -4
25045 +BITMAP
25046 +0000
25047 +1C00
25048 +3600
25049 +1C00
25050 +0000
25051 +3C00
25052 +0600
25053 +3E00
25054 +6600
25055 +6600
25056 +6600
25057 +3B00
25058 +0000
25059 +0000
25060 +0000
25061 +0000
25062 +ENDCHAR
25063 +STARTCHAR char230
25064 +ENCODING 230
25065 +SWIDTH 8640 0
25066 +DWIDTH 9 0
25067 +BBX 9 16 0 -4
25068 +BITMAP
25069 +0000
25070 +0000
25071 +0000
25072 +0000
25073 +0000
25074 +6E00
25075 +3B00
25076 +1B00
25077 +7E00
25078 +D800
25079 +DC00
25080 +7700
25081 +0000
25082 +0000
25083 +0000
25084 +0000
25085 +ENDCHAR
25086 +STARTCHAR char231
25087 +ENCODING 231
25088 +SWIDTH 8640 0
25089 +DWIDTH 9 0
25090 +BBX 9 16 0 -4
25091 +BITMAP
25092 +0000
25093 +0000
25094 +0000
25095 +0000
25096 +0000
25097 +3E00
25098 +6300
25099 +6000
25100 +6000
25101 +6000
25102 +6300
25103 +3E00
25104 +0C00
25105 +0600
25106 +3C00
25107 +0000
25108 +ENDCHAR
25109 +STARTCHAR char232
25110 +ENCODING 232
25111 +SWIDTH 8640 0
25112 +DWIDTH 9 0
25113 +BBX 9 16 0 -4
25114 +BITMAP
25115 +0000
25116 +3000
25117 +1800
25118 +0C00
25119 +0000
25120 +3E00
25121 +6300
25122 +7F00
25123 +6000
25124 +6000
25125 +6300
25126 +3E00
25127 +0000
25128 +0000
25129 +0000
25130 +0000
25131 +ENDCHAR
25132 +STARTCHAR char233
25133 +ENCODING 233
25134 +SWIDTH 8640 0
25135 +DWIDTH 9 0
25136 +BBX 9 16 0 -4
25137 +BITMAP
25138 +0000
25139 +0600
25140 +0C00
25141 +1800
25142 +0000
25143 +3E00
25144 +6300
25145 +7F00
25146 +6000
25147 +6000
25148 +6300
25149 +3E00
25150 +0000
25151 +0000
25152 +0000
25153 +0000
25154 +ENDCHAR
25155 +STARTCHAR char234
25156 +ENCODING 234
25157 +SWIDTH 8640 0
25158 +DWIDTH 9 0
25159 +BBX 9 16 0 -4
25160 +BITMAP
25161 +0000
25162 +0800
25163 +1C00
25164 +3600
25165 +0000
25166 +3E00
25167 +6300
25168 +7F00
25169 +6000
25170 +6000
25171 +6300
25172 +3E00
25173 +0000
25174 +0000
25175 +0000
25176 +0000
25177 +ENDCHAR
25178 +STARTCHAR char235
25179 +ENCODING 235
25180 +SWIDTH 8640 0
25181 +DWIDTH 9 0
25182 +BBX 9 16 0 -4
25183 +BITMAP
25184 +0000
25185 +0000
25186 +6300
25187 +0000
25188 +0000
25189 +3E00
25190 +6300
25191 +7F00
25192 +6000
25193 +6000
25194 +6300
25195 +3E00
25196 +0000
25197 +0000
25198 +0000
25199 +0000
25200 +ENDCHAR
25201 +STARTCHAR char236
25202 +ENCODING 236
25203 +SWIDTH 8640 0
25204 +DWIDTH 9 0
25205 +BBX 9 16 0 -4
25206 +BITMAP
25207 +0000
25208 +6000
25209 +3000
25210 +1800
25211 +0000
25212 +3800
25213 +1800
25214 +1800
25215 +1800
25216 +1800
25217 +1800
25218 +3C00
25219 +0000
25220 +0000
25221 +0000
25222 +0000
25223 +ENDCHAR
25224 +STARTCHAR char237
25225 +ENCODING 237
25226 +SWIDTH 8640 0
25227 +DWIDTH 9 0
25228 +BBX 9 16 0 -4
25229 +BITMAP
25230 +0000
25231 +0600
25232 +0C00
25233 +1800
25234 +0000
25235 +3800
25236 +1800
25237 +1800
25238 +1800
25239 +1800
25240 +1800
25241 +3C00
25242 +0000
25243 +0000
25244 +0000
25245 +0000
25246 +ENDCHAR
25247 +STARTCHAR char238
25248 +ENCODING 238
25249 +SWIDTH 8640 0
25250 +DWIDTH 9 0
25251 +BBX 9 16 0 -4
25252 +BITMAP
25253 +0000
25254 +1800
25255 +3C00
25256 +6600
25257 +0000
25258 +3800
25259 +1800
25260 +1800
25261 +1800
25262 +1800
25263 +1800
25264 +3C00
25265 +0000
25266 +0000
25267 +0000
25268 +0000
25269 +ENDCHAR
25270 +STARTCHAR char239
25271 +ENCODING 239
25272 +SWIDTH 8640 0
25273 +DWIDTH 9 0
25274 +BBX 9 16 0 -4
25275 +BITMAP
25276 +0000
25277 +0000
25278 +6600
25279 +0000
25280 +0000
25281 +3800
25282 +1800
25283 +1800
25284 +1800
25285 +1800
25286 +1800
25287 +3C00
25288 +0000
25289 +0000
25290 +0000
25291 +0000
25292 +ENDCHAR
25293 +STARTCHAR char100
25294 +ENCODING 240
25295 +SWIDTH 8640 0
25296 +DWIDTH 9 0
25297 +BBX 9 16 0 -4
25298 +BITMAP
25299 +0000
25300 +0000
25301 +0E00
25302 +0600
25303 +0F00
25304 +0600
25305 +3E00
25306 +6600
25307 +6600
25308 +6600
25309 +6600
25310 +3B00
25311 +0000
25312 +0000
25313 +0000
25314 +0000
25315 +ENDCHAR
25316 +STARTCHAR char241
25317 +ENCODING 241
25318 +SWIDTH 8640 0
25319 +DWIDTH 9 0
25320 +BBX 9 16 0 -4
25321 +BITMAP
25322 +0000
25323 +0000
25324 +3B00
25325 +6E00
25326 +0000
25327 +6E00
25328 +3300
25329 +3300
25330 +3300
25331 +3300
25332 +3300
25333 +3300
25334 +0000
25335 +0000
25336 +0000
25337 +0000
25338 +ENDCHAR
25339 +STARTCHAR char242
25340 +ENCODING 242
25341 +SWIDTH 8640 0
25342 +DWIDTH 9 0
25343 +BBX 9 16 0 -4
25344 +BITMAP
25345 +0000
25346 +3000
25347 +1800
25348 +0C00
25349 +0000
25350 +3E00
25351 +6300
25352 +6300
25353 +6300
25354 +6300
25355 +6300
25356 +3E00
25357 +0000
25358 +0000
25359 +0000
25360 +0000
25361 +ENDCHAR
25362 +STARTCHAR char243
25363 +ENCODING 243
25364 +SWIDTH 8640 0
25365 +DWIDTH 9 0
25366 +BBX 9 16 0 -4
25367 +BITMAP
25368 +0000
25369 +0C00
25370 +1800
25371 +3000
25372 +0000
25373 +3E00
25374 +6300
25375 +6300
25376 +6300
25377 +6300
25378 +6300
25379 +3E00
25380 +0000
25381 +0000
25382 +0000
25383 +0000
25384 +ENDCHAR
25385 +STARTCHAR char244
25386 +ENCODING 244
25387 +SWIDTH 8640 0
25388 +DWIDTH 9 0
25389 +BBX 9 16 0 -4
25390 +BITMAP
25391 +0000
25392 +0800
25393 +1C00
25394 +3600
25395 +0000
25396 +3E00
25397 +6300
25398 +6300
25399 +6300
25400 +6300
25401 +6300
25402 +3E00
25403 +0000
25404 +0000
25405 +0000
25406 +0000
25407 +ENDCHAR
25408 +STARTCHAR char245
25409 +ENCODING 245
25410 +SWIDTH 8640 0
25411 +DWIDTH 9 0
25412 +BBX 9 16 0 -4
25413 +BITMAP
25414 +0000
25415 +0000
25416 +3B00
25417 +6E00
25418 +0000
25419 +3E00
25420 +6300
25421 +6300
25422 +6300
25423 +6300
25424 +6300
25425 +3E00
25426 +0000
25427 +0000
25428 +0000
25429 +0000
25430 +ENDCHAR
25431 +STARTCHAR char246
25432 +ENCODING 246
25433 +SWIDTH 8640 0
25434 +DWIDTH 9 0
25435 +BBX 9 16 0 -4
25436 +BITMAP
25437 +0000
25438 +0000
25439 +6300
25440 +0000
25441 +0000
25442 +3E00
25443 +6300
25444 +6300
25445 +6300
25446 +6300
25447 +6300
25448 +3E00
25449 +0000
25450 +0000
25451 +0000
25452 +0000
25453 +ENDCHAR
25454 +STARTCHAR char247
25455 +ENCODING 247
25456 +SWIDTH 8640 0
25457 +DWIDTH 9 0
25458 +BBX 9 16 0 -4
25459 +BITMAP
25460 +0000
25461 +0000
25462 +0000
25463 +0000
25464 +1800
25465 +1800
25466 +0000
25467 +7E00
25468 +0000
25469 +1800
25470 +1800
25471 +0000
25472 +0000
25473 +0000
25474 +0000
25475 +0000
25476 +ENDCHAR
25477 +STARTCHAR char248
25478 +ENCODING 248
25479 +SWIDTH 8640 0
25480 +DWIDTH 9 0
25481 +BBX 9 16 0 -4
25482 +BITMAP
25483 +0000
25484 +0000
25485 +0000
25486 +0100
25487 +0300
25488 +3E00
25489 +6700
25490 +6F00
25491 +6B00
25492 +7B00
25493 +7300
25494 +3E00
25495 +6000
25496 +4000
25497 +0000
25498 +0000
25499 +ENDCHAR
25500 +STARTCHAR char249
25501 +ENCODING 249
25502 +SWIDTH 8640 0
25503 +DWIDTH 9 0
25504 +BBX 9 16 0 -4
25505 +BITMAP
25506 +0000
25507 +3000
25508 +1800
25509 +0C00
25510 +0000
25511 +6600
25512 +6600
25513 +6600
25514 +6600
25515 +6600
25516 +6600
25517 +3B00
25518 +0000
25519 +0000
25520 +0000
25521 +0000
25522 +ENDCHAR
25523 +STARTCHAR char250
25524 +ENCODING 250
25525 +SWIDTH 8640 0
25526 +DWIDTH 9 0
25527 +BBX 9 16 0 -4
25528 +BITMAP
25529 +0000
25530 +0C00
25531 +1800
25532 +3000
25533 +0000
25534 +6600
25535 +6600
25536 +6600
25537 +6600
25538 +6600
25539 +6600
25540 +3B00
25541 +0000
25542 +0000
25543 +0000
25544 +0000
25545 +ENDCHAR
25546 +STARTCHAR char251
25547 +ENCODING 251
25548 +SWIDTH 8640 0
25549 +DWIDTH 9 0
25550 +BBX 9 16 0 -4
25551 +BITMAP
25552 +0000
25553 +1800
25554 +3C00
25555 +6600
25556 +0000
25557 +6600
25558 +6600
25559 +6600
25560 +6600
25561 +6600
25562 +6600
25563 +3B00
25564 +0000
25565 +0000
25566 +0000
25567 +0000
25568 +ENDCHAR
25569 +STARTCHAR char252
25570 +ENCODING 252
25571 +SWIDTH 8640 0
25572 +DWIDTH 9 0
25573 +BBX 9 16 0 -4
25574 +BITMAP
25575 +0000
25576 +0000
25577 +6600
25578 +0000
25579 +0000
25580 +6600
25581 +6600
25582 +6600
25583 +6600
25584 +6600
25585 +6600
25586 +3B00
25587 +0000
25588 +0000
25589 +0000
25590 +0000
25591 +ENDCHAR
25592 +STARTCHAR char253
25593 +ENCODING 253
25594 +SWIDTH 8640 0
25595 +DWIDTH 9 0
25596 +BBX 9 16 0 -4
25597 +BITMAP
25598 +0000
25599 +0C00
25600 +1800
25601 +3000
25602 +0000
25603 +6300
25604 +6300
25605 +6300
25606 +6300
25607 +6300
25608 +6300
25609 +3F00
25610 +0300
25611 +0600
25612 +7C00
25613 +0000
25614 +ENDCHAR
25615 +STARTCHAR char254
25616 +ENCODING 254
25617 +SWIDTH 8640 0
25618 +DWIDTH 9 0
25619 +BBX 9 16 0 -4
25620 +BITMAP
25621 +0000
25622 +0000
25623 +0000
25624 +7800
25625 +3000
25626 +3E00
25627 +3300
25628 +3300
25629 +3300
25630 +3300
25631 +3300
25632 +3E00
25633 +3000
25634 +3000
25635 +7800
25636 +0000
25637 +ENDCHAR
25638 +STARTCHAR char255
25639 +ENCODING 255
25640 +SWIDTH 8640 0
25641 +DWIDTH 9 0
25642 +BBX 9 16 0 -4
25643 +BITMAP
25644 +0000
25645 +0000
25646 +6300
25647 +0000
25648 +0000
25649 +6300
25650 +6300
25651 +6300
25652 +6300
25653 +6300
25654 +6300
25655 +3F00
25656 +0300
25657 +0600
25658 +7C00
25659 +0000
25660 +ENDCHAR
25661 +ENDFONT
25662 diff -r af23d23c278b util/alevt/vtxt-latin-2.bdf
25663 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
25664 +++ b/util/alevt/vtxt-latin-2.bdf       Tue Dec 21 12:13:28 2010 +0100
25665 @@ -0,0 +1,5906 @@
25666 +STARTFONT 2.1
25667 +FONT -alevt-teletext-medium-r-normal--16-1-75-75-c-90-fontspecific-2
25668 +SIZE 1 75 75
25669 +FONTBOUNDINGBOX 9 16 0 -4
25670 +STARTPROPERTIES 10
25671 +POINT_SIZE 1
25672 +PIXEL_SIZE 16
25673 +RESOLUTION_X 75
25674 +RESOLUTION_Y 75
25675 +FONT_ASCENT 12
25676 +FONT_DESCENT 4
25677 +AVERAGE_WIDTH 90
25678 +SPACING "C"
25679 +_XMBDFED_INFO "Edited with xmbdfed 3.3."
25680 +FONT "vtxt"
25681 +ENDPROPERTIES
25682 +CHARS 256
25683 +STARTCHAR char0
25684 +ENCODING 0
25685 +SWIDTH 8640 0
25686 +DWIDTH 9 0
25687 +BBX 9 16 0 -4
25688 +BITMAP
25689 +0000
25690 +0000
25691 +0000
25692 +0000
25693 +0000
25694 +0000
25695 +0000
25696 +0000
25697 +0000
25698 +0000
25699 +0000
25700 +0000
25701 +0000
25702 +0000
25703 +0000
25704 +0000
25705 +ENDCHAR
25706 +STARTCHAR char1
25707 +ENCODING 1
25708 +SWIDTH 8640 0
25709 +DWIDTH 9 0
25710 +BBX 9 16 0 -4
25711 +BITMAP
25712 +F000
25713 +F000
25714 +F000
25715 +F000
25716 +F000
25717 +0000
25718 +0000
25719 +0000
25720 +0000
25721 +0000
25722 +0000
25723 +0000
25724 +0000
25725 +0000
25726 +0000
25727 +0000
25728 +ENDCHAR
25729 +STARTCHAR char2
25730 +ENCODING 2
25731 +SWIDTH 8640 0
25732 +DWIDTH 9 0
25733 +BBX 9 16 0 -4
25734 +BITMAP
25735 +0F80
25736 +0F80
25737 +0F80
25738 +0F80
25739 +0F80
25740 +0000
25741 +0000
25742 +0000
25743 +0000
25744 +0000
25745 +0000
25746 +0000
25747 +0000
25748 +0000
25749 +0000
25750 +0000
25751 +ENDCHAR
25752 +STARTCHAR char1
25753 +ENCODING 3
25754 +SWIDTH 8640 0
25755 +DWIDTH 9 0
25756 +BBX 9 16 0 -4
25757 +BITMAP
25758 +FF80
25759 +FF80
25760 +FF80
25761 +FF80
25762 +FF80
25763 +0000
25764 +0000
25765 +0000
25766 +0000
25767 +0000
25768 +0000
25769 +0000
25770 +0000
25771 +0000
25772 +0000
25773 +0000
25774 +ENDCHAR
25775 +STARTCHAR char0
25776 +ENCODING 4
25777 +SWIDTH 8640 0
25778 +DWIDTH 9 0
25779 +BBX 9 16 0 -4
25780 +BITMAP
25781 +0000
25782 +0000
25783 +0000
25784 +0000
25785 +0000
25786 +F000
25787 +F000
25788 +F000
25789 +F000
25790 +F000
25791 +F000
25792 +0000
25793 +0000
25794 +0000
25795 +0000
25796 +0000
25797 +ENDCHAR
25798 +STARTCHAR char1
25799 +ENCODING 5
25800 +SWIDTH 8640 0
25801 +DWIDTH 9 0
25802 +BBX 9 16 0 -4
25803 +BITMAP
25804 +F000
25805 +F000
25806 +F000
25807 +F000
25808 +F000
25809 +F000
25810 +F000
25811 +F000
25812 +F000
25813 +F000
25814 +F000
25815 +0000
25816 +0000
25817 +0000
25818 +0000
25819 +0000
25820 +ENDCHAR
25821 +STARTCHAR char2
25822 +ENCODING 6
25823 +SWIDTH 8640 0
25824 +DWIDTH 9 0
25825 +BBX 9 16 0 -4
25826 +BITMAP
25827 +0F80
25828 +0F80
25829 +0F80
25830 +0F80
25831 +0F80
25832 +F000
25833 +F000
25834 +F000
25835 +F000
25836 +F000
25837 +F000
25838 +0000
25839 +0000
25840 +0000
25841 +0000
25842 +0000
25843 +ENDCHAR
25844 +STARTCHAR char1
25845 +ENCODING 7
25846 +SWIDTH 8640 0
25847 +DWIDTH 9 0
25848 +BBX 9 16 0 -4
25849 +BITMAP
25850 +FF80
25851 +FF80
25852 +FF80
25853 +FF80
25854 +FF80
25855 +F000
25856 +F000
25857 +F000
25858 +F000
25859 +F000
25860 +F000
25861 +0000
25862 +0000
25863 +0000
25864 +0000
25865 +0000
25866 +ENDCHAR
25867 +STARTCHAR char0
25868 +ENCODING 8
25869 +SWIDTH 8640 0
25870 +DWIDTH 9 0
25871 +BBX 9 16 0 -4
25872 +BITMAP
25873 +0000
25874 +0000
25875 +0000
25876 +0000
25877 +0000
25878 +0F80
25879 +0F80
25880 +0F80
25881 +0F80
25882 +0F80
25883 +0F80
25884 +0000
25885 +0000
25886 +0000
25887 +0000
25888 +0000
25889 +ENDCHAR
25890 +STARTCHAR char1
25891 +ENCODING 9
25892 +SWIDTH 8640 0
25893 +DWIDTH 9 0
25894 +BBX 9 16 0 -4
25895 +BITMAP
25896 +F000
25897 +F000
25898 +F000
25899 +F000
25900 +F000
25901 +0F80
25902 +0F80
25903 +0F80
25904 +0F80
25905 +0F80
25906 +0F80
25907 +0000
25908 +0000
25909 +0000
25910 +0000
25911 +0000
25912 +ENDCHAR
25913 +STARTCHAR char2
25914 +ENCODING 10
25915 +SWIDTH 8640 0
25916 +DWIDTH 9 0
25917 +BBX 9 16 0 -4
25918 +BITMAP
25919 +0F80
25920 +0F80
25921 +0F80
25922 +0F80
25923 +0F80
25924 +0F80
25925 +0F80
25926 +0F80
25927 +0F80
25928 +0F80
25929 +0F80
25930 +0000
25931 +0000
25932 +0000
25933 +0000
25934 +0000
25935 +ENDCHAR
25936 +STARTCHAR char1
25937 +ENCODING 11
25938 +SWIDTH 8640 0
25939 +DWIDTH 9 0
25940 +BBX 9 16 0 -4
25941 +BITMAP
25942 +FF80
25943 +FF80
25944 +FF80
25945 +FF80
25946 +FF80
25947 +0F80
25948 +0F80
25949 +0F80
25950 +0F80
25951 +0F80
25952 +0F80
25953 +0000
25954 +0000
25955 +0000
25956 +0000
25957 +0000
25958 +ENDCHAR
25959 +STARTCHAR char0
25960 +ENCODING 12
25961 +SWIDTH 8640 0
25962 +DWIDTH 9 0
25963 +BBX 9 16 0 -4
25964 +BITMAP
25965 +0000
25966 +0000
25967 +0000
25968 +0000
25969 +0000
25970 +FF80
25971 +FF80
25972 +FF80
25973 +FF80
25974 +FF80
25975 +FF80
25976 +0000
25977 +0000
25978 +0000
25979 +0000
25980 +0000
25981 +ENDCHAR
25982 +STARTCHAR char1
25983 +ENCODING 13
25984 +SWIDTH 8640 0
25985 +DWIDTH 9 0
25986 +BBX 9 16 0 -4
25987 +BITMAP
25988 +F000
25989 +F000
25990 +F000
25991 +F000
25992 +F000
25993 +FF80
25994 +FF80
25995 +FF80
25996 +FF80
25997 +FF80
25998 +FF80
25999 +0000
26000 +0000
26001 +0000
26002 +0000
26003 +0000
26004 +ENDCHAR
26005 +STARTCHAR char2
26006 +ENCODING 14
26007 +SWIDTH 8640 0
26008 +DWIDTH 9 0
26009 +BBX 9 16 0 -4
26010 +BITMAP
26011 +0F80
26012 +0F80
26013 +0F80
26014 +0F80
26015 +0F80
26016 +FF80
26017 +FF80
26018 +FF80
26019 +FF80
26020 +FF80
26021 +FF80
26022 +0000
26023 +0000
26024 +0000
26025 +0000
26026 +0000
26027 +ENDCHAR
26028 +STARTCHAR char1
26029 +ENCODING 15
26030 +SWIDTH 8640 0
26031 +DWIDTH 9 0
26032 +BBX 9 16 0 -4
26033 +BITMAP
26034 +FF80
26035 +FF80
26036 +FF80
26037 +FF80
26038 +FF80
26039 +FF80
26040 +FF80
26041 +FF80
26042 +FF80
26043 +FF80
26044 +FF80
26045 +0000
26046 +0000
26047 +0000
26048 +0000
26049 +0000
26050 +ENDCHAR
26051 +STARTCHAR char0
26052 +ENCODING 16
26053 +SWIDTH 8640 0
26054 +DWIDTH 9 0
26055 +BBX 9 16 0 -4
26056 +BITMAP
26057 +0000
26058 +0000
26059 +0000
26060 +0000
26061 +0000
26062 +0000
26063 +0000
26064 +0000
26065 +0000
26066 +0000
26067 +0000
26068 +F000
26069 +F000
26070 +F000
26071 +F000
26072 +F000
26073 +ENDCHAR
26074 +STARTCHAR char1
26075 +ENCODING 17
26076 +SWIDTH 8640 0
26077 +DWIDTH 9 0
26078 +BBX 9 16 0 -4
26079 +BITMAP
26080 +F000
26081 +F000
26082 +F000
26083 +F000
26084 +F000
26085 +0000
26086 +0000
26087 +0000
26088 +0000
26089 +0000
26090 +0000
26091 +F000
26092 +F000
26093 +F000
26094 +F000
26095 +F000
26096 +ENDCHAR
26097 +STARTCHAR char2
26098 +ENCODING 18
26099 +SWIDTH 8640 0
26100 +DWIDTH 9 0
26101 +BBX 9 16 0 -4
26102 +BITMAP
26103 +0F80
26104 +0F80
26105 +0F80
26106 +0F80
26107 +0F80
26108 +0000
26109 +0000
26110 +0000
26111 +0000
26112 +0000
26113 +0000
26114 +F000
26115 +F000
26116 +F000
26117 +F000
26118 +F000
26119 +ENDCHAR
26120 +STARTCHAR char1
26121 +ENCODING 19
26122 +SWIDTH 8640 0
26123 +DWIDTH 9 0
26124 +BBX 9 16 0 -4
26125 +BITMAP
26126 +FF80
26127 +FF80
26128 +FF80
26129 +FF80
26130 +FF80
26131 +0000
26132 +0000
26133 +0000
26134 +0000
26135 +0000
26136 +0000
26137 +F000
26138 +F000
26139 +F000
26140 +F000
26141 +F000
26142 +ENDCHAR
26143 +STARTCHAR char0
26144 +ENCODING 20
26145 +SWIDTH 8640 0
26146 +DWIDTH 9 0
26147 +BBX 9 16 0 -4
26148 +BITMAP
26149 +0000
26150 +0000
26151 +0000
26152 +0000
26153 +0000
26154 +F000
26155 +F000
26156 +F000
26157 +F000
26158 +F000
26159 +F000
26160 +F000
26161 +F000
26162 +F000
26163 +F000
26164 +F000
26165 +ENDCHAR
26166 +STARTCHAR char1
26167 +ENCODING 21
26168 +SWIDTH 8640 0
26169 +DWIDTH 9 0
26170 +BBX 9 16 0 -4
26171 +BITMAP
26172 +F000
26173 +F000
26174 +F000
26175 +F000
26176 +F000
26177 +F000
26178 +F000
26179 +F000
26180 +F000
26181 +F000
26182 +F000
26183 +F000
26184 +F000
26185 +F000
26186 +F000
26187 +F000
26188 +ENDCHAR
26189 +STARTCHAR char2
26190 +ENCODING 22
26191 +SWIDTH 8640 0
26192 +DWIDTH 9 0
26193 +BBX 9 16 0 -4
26194 +BITMAP
26195 +0F80
26196 +0F80
26197 +0F80
26198 +0F80
26199 +0F80
26200 +F000
26201 +F000
26202 +F000
26203 +F000
26204 +F000
26205 +F000
26206 +F000
26207 +F000
26208 +F000
26209 +F000
26210 +F000
26211 +ENDCHAR
26212 +STARTCHAR char1
26213 +ENCODING 23
26214 +SWIDTH 8640 0
26215 +DWIDTH 9 0
26216 +BBX 9 16 0 -4
26217 +BITMAP
26218 +FF80
26219 +FF80
26220 +FF80
26221 +FF80
26222 +FF80
26223 +F000
26224 +F000
26225 +F000
26226 +F000
26227 +F000
26228 +F000
26229 +F000
26230 +F000
26231 +F000
26232 +F000
26233 +F000
26234 +ENDCHAR
26235 +STARTCHAR char0
26236 +ENCODING 24
26237 +SWIDTH 8640 0
26238 +DWIDTH 9 0
26239 +BBX 9 16 0 -4
26240 +BITMAP
26241 +0000
26242 +0000
26243 +0000
26244 +0000
26245 +0000
26246 +0F80
26247 +0F80
26248 +0F80
26249 +0F80
26250 +0F80
26251 +0F80
26252 +F000
26253 +F000
26254 +F000
26255 +F000
26256 +F000
26257 +ENDCHAR
26258 +STARTCHAR char1
26259 +ENCODING 25
26260 +SWIDTH 8640 0
26261 +DWIDTH 9 0
26262 +BBX 9 16 0 -4
26263 +BITMAP
26264 +F000
26265 +F000
26266 +F000
26267 +F000
26268 +F000
26269 +0F80
26270 +0F80
26271 +0F80
26272 +0F80
26273 +0F80
26274 +0F80
26275 +F000
26276 +F000
26277 +F000
26278 +F000
26279 +F000
26280 +ENDCHAR
26281 +STARTCHAR char2
26282 +ENCODING 26
26283 +SWIDTH 8640 0
26284 +DWIDTH 9 0
26285 +BBX 9 16 0 -4
26286 +BITMAP
26287 +0F80
26288 +0F80
26289 +0F80
26290 +0F80
26291 +0F80
26292 +0F80
26293 +0F80
26294 +0F80
26295 +0F80
26296 +0F80
26297 +0F80
26298 +F000
26299 +F000
26300 +F000
26301 +F000
26302 +F000
26303 +ENDCHAR
26304 +STARTCHAR char1
26305 +ENCODING 27
26306 +SWIDTH 8640 0
26307 +DWIDTH 9 0
26308 +BBX 9 16 0 -4
26309 +BITMAP
26310 +FF80
26311 +FF80
26312 +FF80
26313 +FF80
26314 +FF80
26315 +0F80
26316 +0F80
26317 +0F80
26318 +0F80
26319 +0F80
26320 +0F80
26321 +F000
26322 +F000
26323 +F000
26324 +F000
26325 +F000
26326 +ENDCHAR
26327 +STARTCHAR char0
26328 +ENCODING 28
26329 +SWIDTH 8640 0
26330 +DWIDTH 9 0
26331 +BBX 9 16 0 -4
26332 +BITMAP
26333 +0000
26334 +0000
26335 +0000
26336 +0000
26337 +0000
26338 +FF80
26339 +FF80
26340 +FF80
26341 +FF80
26342 +FF80
26343 +FF80
26344 +F000
26345 +F000
26346 +F000
26347 +F000
26348 +F000
26349 +ENDCHAR
26350 +STARTCHAR char1
26351 +ENCODING 29
26352 +SWIDTH 8640 0
26353 +DWIDTH 9 0
26354 +BBX 9 16 0 -4
26355 +BITMAP
26356 +F000
26357 +F000
26358 +F000
26359 +F000
26360 +F000
26361 +FF80
26362 +FF80
26363 +FF80
26364 +FF80
26365 +FF80
26366 +FF80
26367 +F000
26368 +F000
26369 +F000
26370 +F000
26371 +F000
26372 +ENDCHAR
26373 +STARTCHAR char2
26374 +ENCODING 30
26375 +SWIDTH 8640 0
26376 +DWIDTH 9 0
26377 +BBX 9 16 0 -4
26378 +BITMAP
26379 +0F80
26380 +0F80
26381 +0F80
26382 +0F80
26383 +0F80
26384 +FF80
26385 +FF80
26386 +FF80
26387 +FF80
26388 +FF80
26389 +FF80
26390 +F000
26391 +F000
26392 +F000
26393 +F000
26394 +F000
26395 +ENDCHAR
26396 +STARTCHAR char1
26397 +ENCODING 31
26398 +SWIDTH 8640 0
26399 +DWIDTH 9 0
26400 +BBX 9 16 0 -4
26401 +BITMAP
26402 +FF80
26403 +FF80
26404 +FF80
26405 +FF80
26406 +FF80
26407 +FF80
26408 +FF80
26409 +FF80
26410 +FF80
26411 +FF80
26412 +FF80
26413 +F000
26414 +F000
26415 +F000
26416 +F000
26417 +F000
26418 +ENDCHAR
26419 +STARTCHAR char32
26420 +ENCODING 32
26421 +SWIDTH 8640 0
26422 +DWIDTH 9 0
26423 +BBX 9 16 0 -4
26424 +BITMAP
26425 +0000
26426 +0000
26427 +0000
26428 +0000
26429 +0000
26430 +0000
26431 +0000
26432 +0000
26433 +0000
26434 +0000
26435 +0000
26436 +0000
26437 +0000
26438 +0000
26439 +0000
26440 +0000
26441 +ENDCHAR
26442 +STARTCHAR char33
26443 +ENCODING 33
26444 +SWIDTH 8640 0
26445 +DWIDTH 9 0
26446 +BBX 9 16 0 -4
26447 +BITMAP
26448 +0000
26449 +0000
26450 +1800
26451 +3C00
26452 +3C00
26453 +3C00
26454 +1800
26455 +1800
26456 +1800
26457 +0000
26458 +1800
26459 +1800
26460 +0000
26461 +0000
26462 +0000
26463 +0000
26464 +ENDCHAR
26465 +STARTCHAR char34
26466 +ENCODING 34
26467 +SWIDTH 8640 0
26468 +DWIDTH 9 0
26469 +BBX 9 16 0 -4
26470 +BITMAP
26471 +0000
26472 +6600
26473 +6600
26474 +6600
26475 +2400
26476 +0000
26477 +0000
26478 +0000
26479 +0000
26480 +0000
26481 +0000
26482 +0000
26483 +0000
26484 +0000
26485 +0000
26486 +0000
26487 +ENDCHAR
26488 +STARTCHAR char35
26489 +ENCODING 35
26490 +SWIDTH 8640 0
26491 +DWIDTH 9 0
26492 +BBX 9 16 0 -4
26493 +BITMAP
26494 +0000
26495 +0000
26496 +0000
26497 +3600
26498 +3600
26499 +7F00
26500 +3600
26501 +3600
26502 +3600
26503 +7F00
26504 +3600
26505 +3600
26506 +0000
26507 +0000
26508 +0000
26509 +0000
26510 +ENDCHAR
26511 +STARTCHAR char36
26512 +ENCODING 36
26513 +SWIDTH 8640 0
26514 +DWIDTH 9 0
26515 +BBX 9 16 0 -4
26516 +BITMAP
26517 +0C00
26518 +0C00
26519 +3E00
26520 +6300
26521 +6100
26522 +6000
26523 +3E00
26524 +0300
26525 +0300
26526 +4300
26527 +6300
26528 +3E00
26529 +0C00
26530 +0C00
26531 +0000
26532 +0000
26533 +ENDCHAR
26534 +STARTCHAR char37
26535 +ENCODING 37
26536 +SWIDTH 8640 0
26537 +DWIDTH 9 0
26538 +BBX 9 16 0 -4
26539 +BITMAP
26540 +0000
26541 +0000
26542 +0000
26543 +0000
26544 +6100
26545 +6300
26546 +0600
26547 +0C00
26548 +1800
26549 +3000
26550 +6300
26551 +4300
26552 +0000
26553 +0000
26554 +0000
26555 +0000
26556 +ENDCHAR
26557 +STARTCHAR char38
26558 +ENCODING 38
26559 +SWIDTH 8640 0
26560 +DWIDTH 9 0
26561 +BBX 9 16 0 -4
26562 +BITMAP
26563 +0000
26564 +0000
26565 +1C00
26566 +3600
26567 +3600
26568 +1C00
26569 +3B00
26570 +6E00
26571 +6600
26572 +6600
26573 +6600
26574 +3B00
26575 +0000
26576 +0000
26577 +0000
26578 +0000
26579 +ENDCHAR
26580 +STARTCHAR char39
26581 +ENCODING 39
26582 +SWIDTH 8640 0
26583 +DWIDTH 9 0
26584 +BBX 9 16 0 -4
26585 +BITMAP
26586 +0000
26587 +3000
26588 +3000
26589 +3000
26590 +6000
26591 +0000
26592 +0000
26593 +0000
26594 +0000
26595 +0000
26596 +0000
26597 +0000
26598 +0000
26599 +0000
26600 +0000
26601 +0000
26602 +ENDCHAR
26603 +STARTCHAR char40
26604 +ENCODING 40
26605 +SWIDTH 8640 0
26606 +DWIDTH 9 0
26607 +BBX 9 16 0 -4
26608 +BITMAP
26609 +0000
26610 +0000
26611 +0C00
26612 +1800
26613 +3000
26614 +3000
26615 +3000
26616 +3000
26617 +3000
26618 +3000
26619 +1800
26620 +0C00
26621 +0000
26622 +0000
26623 +0000
26624 +0000
26625 +ENDCHAR
26626 +STARTCHAR char41
26627 +ENCODING 41
26628 +SWIDTH 8640 0
26629 +DWIDTH 9 0
26630 +BBX 9 16 0 -4
26631 +BITMAP
26632 +0000
26633 +0000
26634 +3000
26635 +1800
26636 +0C00
26637 +0C00
26638 +0C00
26639 +0C00
26640 +0C00
26641 +0C00
26642 +1800
26643 +3000
26644 +0000
26645 +0000
26646 +0000
26647 +0000
26648 +ENDCHAR
26649 +STARTCHAR char42
26650 +ENCODING 42
26651 +SWIDTH 8640 0
26652 +DWIDTH 9 0
26653 +BBX 9 16 0 -4
26654 +BITMAP
26655 +0000
26656 +0000
26657 +0000
26658 +0000
26659 +0000
26660 +6600
26661 +3C00
26662 +FF00
26663 +3C00
26664 +6600
26665 +0000
26666 +0000
26667 +0000
26668 +0000
26669 +0000
26670 +0000
26671 +ENDCHAR
26672 +STARTCHAR char43
26673 +ENCODING 43
26674 +SWIDTH 8640 0
26675 +DWIDTH 9 0
26676 +BBX 9 16 0 -4
26677 +BITMAP
26678 +0000
26679 +0000
26680 +0000
26681 +0000
26682 +0000
26683 +1800
26684 +1800
26685 +7E00
26686 +1800
26687 +1800
26688 +0000
26689 +0000
26690 +0000
26691 +0000
26692 +0000
26693 +0000
26694 +ENDCHAR
26695 +STARTCHAR char44
26696 +ENCODING 44
26697 +SWIDTH 8640 0
26698 +DWIDTH 9 0
26699 +BBX 9 16 0 -4
26700 +BITMAP
26701 +0000
26702 +0000
26703 +0000
26704 +0000
26705 +0000
26706 +0000
26707 +0000
26708 +0000
26709 +0000
26710 +1800
26711 +1800
26712 +1800
26713 +3000
26714 +0000
26715 +0000
26716 +0000
26717 +ENDCHAR
26718 +STARTCHAR char45
26719 +ENCODING 45
26720 +SWIDTH 8640 0
26721 +DWIDTH 9 0
26722 +BBX 9 16 0 -4
26723 +BITMAP
26724 +0000
26725 +0000
26726 +0000
26727 +0000
26728 +0000
26729 +0000
26730 +0000
26731 +7F00
26732 +0000
26733 +0000
26734 +0000
26735 +0000
26736 +0000
26737 +0000
26738 +0000
26739 +0000
26740 +ENDCHAR
26741 +STARTCHAR char46
26742 +ENCODING 46
26743 +SWIDTH 8640 0
26744 +DWIDTH 9 0
26745 +BBX 9 16 0 -4
26746 +BITMAP
26747 +0000
26748 +0000
26749 +0000
26750 +0000
26751 +0000
26752 +0000
26753 +0000
26754 +0000
26755 +0000
26756 +0000
26757 +1800
26758 +1800
26759 +0000
26760 +0000
26761 +0000
26762 +0000
26763 +ENDCHAR
26764 +STARTCHAR char47
26765 +ENCODING 47
26766 +SWIDTH 8640 0
26767 +DWIDTH 9 0
26768 +BBX 9 16 0 -4
26769 +BITMAP
26770 +0000
26771 +0000
26772 +0000
26773 +0000
26774 +0100
26775 +0300
26776 +0600
26777 +0C00
26778 +1800
26779 +3000
26780 +6000
26781 +4000
26782 +0000
26783 +0000
26784 +0000
26785 +0000
26786 +ENDCHAR
26787 +STARTCHAR char48
26788 +ENCODING 48
26789 +SWIDTH 8640 0
26790 +DWIDTH 9 0
26791 +BBX 9 16 0 -4
26792 +BITMAP
26793 +0000
26794 +0000
26795 +3C00
26796 +6600
26797 +C300
26798 +C300
26799 +DB00
26800 +DB00
26801 +C300
26802 +C300
26803 +6600
26804 +3C00
26805 +0000
26806 +0000
26807 +0000
26808 +0000
26809 +ENDCHAR
26810 +STARTCHAR char49
26811 +ENCODING 49
26812 +SWIDTH 8640 0
26813 +DWIDTH 9 0
26814 +BBX 9 16 0 -4
26815 +BITMAP
26816 +0000
26817 +0000
26818 +1800
26819 +3800
26820 +7800
26821 +1800
26822 +1800
26823 +1800
26824 +1800
26825 +1800
26826 +1800
26827 +7E00
26828 +0000
26829 +0000
26830 +0000
26831 +0000
26832 +ENDCHAR
26833 +STARTCHAR char50
26834 +ENCODING 50
26835 +SWIDTH 8640 0
26836 +DWIDTH 9 0
26837 +BBX 9 16 0 -4
26838 +BITMAP
26839 +0000
26840 +0000
26841 +3E00
26842 +6300
26843 +0300
26844 +0600
26845 +0C00
26846 +1800
26847 +3000
26848 +6000
26849 +6300
26850 +7F00
26851 +0000
26852 +0000
26853 +0000
26854 +0000
26855 +ENDCHAR
26856 +STARTCHAR char51
26857 +ENCODING 51
26858 +SWIDTH 8640 0
26859 +DWIDTH 9 0
26860 +BBX 9 16 0 -4
26861 +BITMAP
26862 +0000
26863 +0000
26864 +3E00
26865 +6300
26866 +0300
26867 +0300
26868 +1E00
26869 +0300
26870 +0300
26871 +0300
26872 +6300
26873 +3E00
26874 +0000
26875 +0000
26876 +0000
26877 +0000
26878 +ENDCHAR
26879 +STARTCHAR char52
26880 +ENCODING 52
26881 +SWIDTH 8640 0
26882 +DWIDTH 9 0
26883 +BBX 9 16 0 -4
26884 +BITMAP
26885 +0000
26886 +0000
26887 +0600
26888 +0E00
26889 +1E00
26890 +3600
26891 +6600
26892 +7F00
26893 +0600
26894 +0600
26895 +0600
26896 +0F00
26897 +0000
26898 +0000
26899 +0000
26900 +0000
26901 +ENDCHAR
26902 +STARTCHAR char53
26903 +ENCODING 53
26904 +SWIDTH 8640 0
26905 +DWIDTH 9 0
26906 +BBX 9 16 0 -4
26907 +BITMAP
26908 +0000
26909 +0000
26910 +7F00
26911 +6000
26912 +6000
26913 +6000
26914 +7E00
26915 +0300
26916 +0300
26917 +0300
26918 +6300
26919 +3E00
26920 +0000
26921 +0000
26922 +0000
26923 +0000
26924 +ENDCHAR
26925 +STARTCHAR char54
26926 +ENCODING 54
26927 +SWIDTH 8640 0
26928 +DWIDTH 9 0
26929 +BBX 9 16 0 -4
26930 +BITMAP
26931 +0000
26932 +0000
26933 +1C00
26934 +3000
26935 +6000
26936 +6000
26937 +7E00
26938 +6300
26939 +6300
26940 +6300
26941 +6300
26942 +3E00
26943 +0000
26944 +0000
26945 +0000
26946 +0000
26947 +ENDCHAR
26948 +STARTCHAR char55
26949 +ENCODING 55
26950 +SWIDTH 8640 0
26951 +DWIDTH 9 0
26952 +BBX 9 16 0 -4
26953 +BITMAP
26954 +0000
26955 +0000
26956 +7F00
26957 +6300
26958 +0300
26959 +0300
26960 +0600
26961 +0C00
26962 +1800
26963 +1800
26964 +1800
26965 +1800
26966 +0000
26967 +0000
26968 +0000
26969 +0000
26970 +ENDCHAR
26971 +STARTCHAR char56
26972 +ENCODING 56
26973 +SWIDTH 8640 0
26974 +DWIDTH 9 0
26975 +BBX 9 16 0 -4
26976 +BITMAP
26977 +0000
26978 +0000
26979 +3E00
26980 +6300
26981 +6300
26982 +6300
26983 +3E00
26984 +6300
26985 +6300
26986 +6300
26987 +6300
26988 +3E00
26989 +0000
26990 +0000
26991 +0000
26992 +0000
26993 +ENDCHAR
26994 +STARTCHAR char57
26995 +ENCODING 57
26996 +SWIDTH 8640 0
26997 +DWIDTH 9 0
26998 +BBX 9 16 0 -4
26999 +BITMAP
27000 +0000
27001 +0000
27002 +3E00
27003 +6300
27004 +6300
27005 +6300
27006 +3F00
27007 +0300
27008 +0300
27009 +0300
27010 +0600
27011 +3C00
27012 +0000
27013 +0000
27014 +0000
27015 +0000
27016 +ENDCHAR
27017 +STARTCHAR char58
27018 +ENCODING 58
27019 +SWIDTH 8640 0
27020 +DWIDTH 9 0
27021 +BBX 9 16 0 -4
27022 +BITMAP
27023 +0000
27024 +0000
27025 +0000
27026 +0000
27027 +1800
27028 +1800
27029 +0000
27030 +0000
27031 +0000
27032 +1800
27033 +1800
27034 +0000
27035 +0000
27036 +0000
27037 +0000
27038 +0000
27039 +ENDCHAR
27040 +STARTCHAR char59
27041 +ENCODING 59
27042 +SWIDTH 8640 0
27043 +DWIDTH 9 0
27044 +BBX 9 16 0 -4
27045 +BITMAP
27046 +0000
27047 +0000
27048 +0000
27049 +0000
27050 +1800
27051 +1800
27052 +0000
27053 +0000
27054 +0000
27055 +1800
27056 +1800
27057 +1800
27058 +3000
27059 +0000
27060 +0000
27061 +0000
27062 +ENDCHAR
27063 +STARTCHAR char60
27064 +ENCODING 60
27065 +SWIDTH 8640 0
27066 +DWIDTH 9 0
27067 +BBX 9 16 0 -4
27068 +BITMAP
27069 +0000
27070 +0000
27071 +0000
27072 +0600
27073 +0C00
27074 +1800
27075 +3000
27076 +6000
27077 +3000
27078 +1800
27079 +0C00
27080 +0600
27081 +0000
27082 +0000
27083 +0000
27084 +0000
27085 +ENDCHAR
27086 +STARTCHAR char61
27087 +ENCODING 61
27088 +SWIDTH 8640 0
27089 +DWIDTH 9 0
27090 +BBX 9 16 0 -4
27091 +BITMAP
27092 +0000
27093 +0000
27094 +0000
27095 +0000
27096 +0000
27097 +7E00
27098 +0000
27099 +0000
27100 +7E00
27101 +0000
27102 +0000
27103 +0000
27104 +0000
27105 +0000
27106 +0000
27107 +0000
27108 +ENDCHAR
27109 +STARTCHAR char62
27110 +ENCODING 62
27111 +SWIDTH 8640 0
27112 +DWIDTH 9 0
27113 +BBX 9 16 0 -4
27114 +BITMAP
27115 +0000
27116 +0000
27117 +0000
27118 +6000
27119 +3000
27120 +1800
27121 +0C00
27122 +0600
27123 +0C00
27124 +1800
27125 +3000
27126 +6000
27127 +0000
27128 +0000
27129 +0000
27130 +0000
27131 +ENDCHAR
27132 +STARTCHAR char63
27133 +ENCODING 63
27134 +SWIDTH 8640 0
27135 +DWIDTH 9 0
27136 +BBX 9 16 0 -4
27137 +BITMAP
27138 +0000
27139 +0000
27140 +3E00
27141 +6300
27142 +6300
27143 +0600
27144 +0C00
27145 +0C00
27146 +0C00
27147 +0000
27148 +0C00
27149 +0C00
27150 +0000
27151 +0000
27152 +0000
27153 +0000
27154 +ENDCHAR
27155 +STARTCHAR char64
27156 +ENCODING 64
27157 +SWIDTH 8640 0
27158 +DWIDTH 9 0
27159 +BBX 9 16 0 -4
27160 +BITMAP
27161 +0000
27162 +0000
27163 +0000
27164 +3E00
27165 +6300
27166 +6300
27167 +6F00
27168 +6F00
27169 +6F00
27170 +6E00
27171 +6000
27172 +3E00
27173 +0000
27174 +0000
27175 +0000
27176 +0000
27177 +ENDCHAR
27178 +STARTCHAR char65
27179 +ENCODING 65
27180 +SWIDTH 8640 0
27181 +DWIDTH 9 0
27182 +BBX 9 16 0 -4
27183 +BITMAP
27184 +0000
27185 +0000
27186 +0800
27187 +1C00
27188 +3600
27189 +6300
27190 +6300
27191 +7F00
27192 +6300
27193 +6300
27194 +6300
27195 +6300
27196 +0000
27197 +0000
27198 +0000
27199 +0000
27200 +ENDCHAR
27201 +STARTCHAR char66
27202 +ENCODING 66
27203 +SWIDTH 8640 0
27204 +DWIDTH 9 0
27205 +BBX 9 16 0 -4
27206 +BITMAP
27207 +0000
27208 +0000
27209 +7E00
27210 +3300
27211 +3300
27212 +3300
27213 +3E00
27214 +3300
27215 +3300
27216 +3300
27217 +3300
27218 +7E00
27219 +0000
27220 +0000
27221 +0000
27222 +0000
27223 +ENDCHAR
27224 +STARTCHAR char67
27225 +ENCODING 67
27226 +SWIDTH 8640 0
27227 +DWIDTH 9 0
27228 +BBX 9 16 0 -4
27229 +BITMAP
27230 +0000
27231 +0000
27232 +1E00
27233 +3300
27234 +6100
27235 +6000
27236 +6000
27237 +6000
27238 +6000
27239 +6100
27240 +3300
27241 +1E00
27242 +0000
27243 +0000
27244 +0000
27245 +0000
27246 +ENDCHAR
27247 +STARTCHAR char68
27248 +ENCODING 68
27249 +SWIDTH 8640 0
27250 +DWIDTH 9 0
27251 +BBX 9 16 0 -4
27252 +BITMAP
27253 +0000
27254 +0000
27255 +7C00
27256 +3600
27257 +3300
27258 +3300
27259 +3300
27260 +3300
27261 +3300
27262 +3300
27263 +3600
27264 +7C00
27265 +0000
27266 +0000
27267 +0000
27268 +0000
27269 +ENDCHAR
27270 +STARTCHAR char69
27271 +ENCODING 69
27272 +SWIDTH 8640 0
27273 +DWIDTH 9 0
27274 +BBX 9 16 0 -4
27275 +BITMAP
27276 +0000
27277 +0000
27278 +7F00
27279 +3300
27280 +3100
27281 +3400
27282 +3C00
27283 +3400
27284 +3000
27285 +3100
27286 +3300
27287 +7F00
27288 +0000
27289 +0000
27290 +0000
27291 +0000
27292 +ENDCHAR
27293 +STARTCHAR char70
27294 +ENCODING 70
27295 +SWIDTH 8640 0
27296 +DWIDTH 9 0
27297 +BBX 9 16 0 -4
27298 +BITMAP
27299 +0000
27300 +0000
27301 +7F00
27302 +3300
27303 +3100
27304 +3400
27305 +3C00
27306 +3400
27307 +3000
27308 +3000
27309 +3000
27310 +7800
27311 +0000
27312 +0000
27313 +0000
27314 +0000
27315 +ENDCHAR
27316 +STARTCHAR char71
27317 +ENCODING 71
27318 +SWIDTH 8640 0
27319 +DWIDTH 9 0
27320 +BBX 9 16 0 -4
27321 +BITMAP
27322 +0000
27323 +0000
27324 +1E00
27325 +3300
27326 +6100
27327 +6000
27328 +6000
27329 +6F00
27330 +6300
27331 +6300
27332 +3300
27333 +1D00
27334 +0000
27335 +0000
27336 +0000
27337 +0000
27338 +ENDCHAR
27339 +STARTCHAR char72
27340 +ENCODING 72
27341 +SWIDTH 8640 0
27342 +DWIDTH 9 0
27343 +BBX 9 16 0 -4
27344 +BITMAP
27345 +0000
27346 +0000
27347 +6300
27348 +6300
27349 +6300
27350 +6300
27351 +7F00
27352 +6300
27353 +6300
27354 +6300
27355 +6300
27356 +6300
27357 +0000
27358 +0000
27359 +0000
27360 +0000
27361 +ENDCHAR
27362 +STARTCHAR char73
27363 +ENCODING 73
27364 +SWIDTH 8640 0
27365 +DWIDTH 9 0
27366 +BBX 9 16 0 -4
27367 +BITMAP
27368 +0000
27369 +0000
27370 +3C00
27371 +1800
27372 +1800
27373 +1800
27374 +1800
27375 +1800
27376 +1800
27377 +1800
27378 +1800
27379 +3C00
27380 +0000
27381 +0000
27382 +0000
27383 +0000
27384 +ENDCHAR
27385 +STARTCHAR char74
27386 +ENCODING 74
27387 +SWIDTH 8640 0
27388 +DWIDTH 9 0
27389 +BBX 9 16 0 -4
27390 +BITMAP
27391 +0000
27392 +0000
27393 +0F00
27394 +0600
27395 +0600
27396 +0600
27397 +0600
27398 +0600
27399 +6600
27400 +6600
27401 +6600
27402 +3C00
27403 +0000
27404 +0000
27405 +0000
27406 +0000
27407 +ENDCHAR
27408 +STARTCHAR char75
27409 +ENCODING 75
27410 +SWIDTH 8640 0
27411 +DWIDTH 9 0
27412 +BBX 9 16 0 -4
27413 +BITMAP
27414 +0000
27415 +0000
27416 +7300
27417 +3300
27418 +3300
27419 +3600
27420 +3C00
27421 +3C00
27422 +3600
27423 +3300
27424 +3300
27425 +7300
27426 +0000
27427 +0000
27428 +0000
27429 +0000
27430 +ENDCHAR
27431 +STARTCHAR char76
27432 +ENCODING 76
27433 +SWIDTH 8640 0
27434 +DWIDTH 9 0
27435 +BBX 9 16 0 -4
27436 +BITMAP
27437 +0000
27438 +0000
27439 +7800
27440 +3000
27441 +3000
27442 +3000
27443 +3000
27444 +3000
27445 +3000
27446 +3100
27447 +3300
27448 +7F00
27449 +0000
27450 +0000
27451 +0000
27452 +0000
27453 +ENDCHAR
27454 +STARTCHAR char77
27455 +ENCODING 77
27456 +SWIDTH 8640 0
27457 +DWIDTH 9 0
27458 +BBX 9 16 0 -4
27459 +BITMAP
27460 +0000
27461 +0000
27462 +C300
27463 +E700
27464 +FF00
27465 +FF00
27466 +DB00
27467 +C300
27468 +C300
27469 +C300
27470 +C300
27471 +C300
27472 +0000
27473 +0000
27474 +0000
27475 +0000
27476 +ENDCHAR
27477 +STARTCHAR char78
27478 +ENCODING 78
27479 +SWIDTH 8640 0
27480 +DWIDTH 9 0
27481 +BBX 9 16 0 -4
27482 +BITMAP
27483 +0000
27484 +0000
27485 +6300
27486 +7300
27487 +7B00
27488 +7F00
27489 +6F00
27490 +6700
27491 +6300
27492 +6300
27493 +6300
27494 +6300
27495 +0000
27496 +0000
27497 +0000
27498 +0000
27499 +ENDCHAR
27500 +STARTCHAR char79
27501 +ENCODING 79
27502 +SWIDTH 8640 0
27503 +DWIDTH 9 0
27504 +BBX 9 16 0 -4
27505 +BITMAP
27506 +0000
27507 +0000
27508 +3E00
27509 +6300
27510 +6300
27511 +6300
27512 +6300
27513 +6300
27514 +6300
27515 +6300
27516 +6300
27517 +3E00
27518 +0000
27519 +0000
27520 +0000
27521 +0000
27522 +ENDCHAR
27523 +STARTCHAR char80
27524 +ENCODING 80
27525 +SWIDTH 8640 0
27526 +DWIDTH 9 0
27527 +BBX 9 16 0 -4
27528 +BITMAP
27529 +0000
27530 +0000
27531 +7E00
27532 +3300
27533 +3300
27534 +3300
27535 +3E00
27536 +3000
27537 +3000
27538 +3000
27539 +3000
27540 +7800
27541 +0000
27542 +0000
27543 +0000
27544 +0000
27545 +ENDCHAR
27546 +STARTCHAR char81
27547 +ENCODING 81
27548 +SWIDTH 8640 0
27549 +DWIDTH 9 0
27550 +BBX 9 16 0 -4
27551 +BITMAP
27552 +0000
27553 +0000
27554 +3E00
27555 +6300
27556 +6300
27557 +6300
27558 +6300
27559 +6300
27560 +6300
27561 +6B00
27562 +6F00
27563 +3E00
27564 +0600
27565 +0700
27566 +0000
27567 +0000
27568 +ENDCHAR
27569 +STARTCHAR char82
27570 +ENCODING 82
27571 +SWIDTH 8640 0
27572 +DWIDTH 9 0
27573 +BBX 9 16 0 -4
27574 +BITMAP
27575 +0000
27576 +0000
27577 +7E00
27578 +3300
27579 +3300
27580 +3300
27581 +3E00
27582 +3600
27583 +3300
27584 +3300
27585 +3300
27586 +7300
27587 +0000
27588 +0000
27589 +0000
27590 +0000
27591 +ENDCHAR
27592 +STARTCHAR char83
27593 +ENCODING 83
27594 +SWIDTH 8640 0
27595 +DWIDTH 9 0
27596 +BBX 9 16 0 -4
27597 +BITMAP
27598 +0000
27599 +0000
27600 +3E00
27601 +6300
27602 +6300
27603 +3000
27604 +1C00
27605 +0600
27606 +0300
27607 +6300
27608 +6300
27609 +3E00
27610 +0000
27611 +0000
27612 +0000
27613 +0000
27614 +ENDCHAR
27615 +STARTCHAR char84
27616 +ENCODING 84
27617 +SWIDTH 8640 0
27618 +DWIDTH 9 0
27619 +BBX 9 16 0 -4
27620 +BITMAP
27621 +0000
27622 +0000
27623 +FF00
27624 +DB00
27625 +9900
27626 +1800
27627 +1800
27628 +1800
27629 +1800
27630 +1800
27631 +1800
27632 +3C00
27633 +0000
27634 +0000
27635 +0000
27636 +0000
27637 +ENDCHAR
27638 +STARTCHAR char85
27639 +ENCODING 85
27640 +SWIDTH 8640 0
27641 +DWIDTH 9 0
27642 +BBX 9 16 0 -4
27643 +BITMAP
27644 +0000
27645 +0000
27646 +6300
27647 +6300
27648 +6300
27649 +6300
27650 +6300
27651 +6300
27652 +6300
27653 +6300
27654 +6300
27655 +3E00
27656 +0000
27657 +0000
27658 +0000
27659 +0000
27660 +ENDCHAR
27661 +STARTCHAR char86
27662 +ENCODING 86
27663 +SWIDTH 8640 0
27664 +DWIDTH 9 0
27665 +BBX 9 16 0 -4
27666 +BITMAP
27667 +0000
27668 +0000
27669 +C300
27670 +C300
27671 +C300
27672 +C300
27673 +C300
27674 +C300
27675 +C300
27676 +6600
27677 +3C00
27678 +1800
27679 +0000
27680 +0000
27681 +0000
27682 +0000
27683 +ENDCHAR
27684 +STARTCHAR char87
27685 +ENCODING 87
27686 +SWIDTH 8640 0
27687 +DWIDTH 9 0
27688 +BBX 9 16 0 -4
27689 +BITMAP
27690 +0000
27691 +0000
27692 +C300
27693 +C300
27694 +C300
27695 +C300
27696 +C300
27697 +DB00
27698 +DB00
27699 +FF00
27700 +6600
27701 +6600
27702 +0000
27703 +0000
27704 +0000
27705 +0000
27706 +ENDCHAR
27707 +STARTCHAR char88
27708 +ENCODING 88
27709 +SWIDTH 8640 0
27710 +DWIDTH 9 0
27711 +BBX 9 16 0 -4
27712 +BITMAP
27713 +0000
27714 +0000
27715 +C300
27716 +C300
27717 +6600
27718 +3C00
27719 +1800
27720 +1800
27721 +3C00
27722 +6600
27723 +C300
27724 +C300
27725 +0000
27726 +0000
27727 +0000
27728 +0000
27729 +ENDCHAR
27730 +STARTCHAR char89
27731 +ENCODING 89
27732 +SWIDTH 8640 0
27733 +DWIDTH 9 0
27734 +BBX 9 16 0 -4
27735 +BITMAP
27736 +0000
27737 +0000
27738 +C300
27739 +C300
27740 +C300
27741 +6600
27742 +3C00
27743 +1800
27744 +1800
27745 +1800
27746 +1800
27747 +3C00
27748 +0000
27749 +0000
27750 +0000
27751 +0000
27752 +ENDCHAR
27753 +STARTCHAR char90
27754 +ENCODING 90
27755 +SWIDTH 8640 0
27756 +DWIDTH 9 0
27757 +BBX 9 16 0 -4
27758 +BITMAP
27759 +0000
27760 +0000
27761 +FF00
27762 +C300
27763 +8600
27764 +0C00
27765 +1800
27766 +3000
27767 +6000
27768 +C100
27769 +C300
27770 +FF00
27771 +0000
27772 +0000
27773 +0000
27774 +0000
27775 +ENDCHAR
27776 +STARTCHAR char91
27777 +ENCODING 91
27778 +SWIDTH 8640 0
27779 +DWIDTH 9 0
27780 +BBX 9 16 0 -4
27781 +BITMAP
27782 +0000
27783 +0000
27784 +3C00
27785 +3000
27786 +3000
27787 +3000
27788 +3000
27789 +3000
27790 +3000
27791 +3000
27792 +3000
27793 +3C00
27794 +0000
27795 +0000
27796 +0000
27797 +0000
27798 +ENDCHAR
27799 +STARTCHAR char92
27800 +ENCODING 92
27801 +SWIDTH 8640 0
27802 +DWIDTH 9 0
27803 +BBX 9 16 0 -4
27804 +BITMAP
27805 +0000
27806 +0000
27807 +0000
27808 +4000
27809 +6000
27810 +7000
27811 +3800
27812 +1C00
27813 +0E00
27814 +0700
27815 +0300
27816 +0100
27817 +0000
27818 +0000
27819 +0000
27820 +0000
27821 +ENDCHAR
27822 +STARTCHAR char93
27823 +ENCODING 93
27824 +SWIDTH 8640 0
27825 +DWIDTH 9 0
27826 +BBX 9 16 0 -4
27827 +BITMAP
27828 +0000
27829 +0000
27830 +3C00
27831 +0C00
27832 +0C00
27833 +0C00
27834 +0C00
27835 +0C00
27836 +0C00
27837 +0C00
27838 +0C00
27839 +3C00
27840 +0000
27841 +0000
27842 +0000
27843 +0000
27844 +ENDCHAR
27845 +STARTCHAR char94
27846 +ENCODING 94
27847 +SWIDTH 8640 0
27848 +DWIDTH 9 0
27849 +BBX 9 16 0 -4
27850 +BITMAP
27851 +0800
27852 +1C00
27853 +3600
27854 +6300
27855 +0000
27856 +0000
27857 +0000
27858 +0000
27859 +0000
27860 +0000
27861 +0000
27862 +0000
27863 +0000
27864 +0000
27865 +0000
27866 +0000
27867 +ENDCHAR
27868 +STARTCHAR char95
27869 +ENCODING 95
27870 +SWIDTH 8640 0
27871 +DWIDTH 9 0
27872 +BBX 9 16 0 -4
27873 +BITMAP
27874 +0000
27875 +0000
27876 +0000
27877 +0000
27878 +0000
27879 +0000
27880 +0000
27881 +0000
27882 +0000
27883 +0000
27884 +0000
27885 +0000
27886 +0000
27887 +FF80
27888 +0000
27889 +0000
27890 +ENDCHAR
27891 +STARTCHAR char96
27892 +ENCODING 96
27893 +SWIDTH 8640 0
27894 +DWIDTH 9 0
27895 +BBX 9 16 0 -4
27896 +BITMAP
27897 +3000
27898 +3000
27899 +1800
27900 +0000
27901 +0000
27902 +0000
27903 +0000
27904 +0000
27905 +0000
27906 +0000
27907 +0000
27908 +0000
27909 +0000
27910 +0000
27911 +0000
27912 +0000
27913 +ENDCHAR
27914 +STARTCHAR char97
27915 +ENCODING 97
27916 +SWIDTH 8640 0
27917 +DWIDTH 9 0
27918 +BBX 9 16 0 -4
27919 +BITMAP
27920 +0000
27921 +0000
27922 +0000
27923 +0000
27924 +0000
27925 +3C00
27926 +0600
27927 +3E00
27928 +6600
27929 +6600
27930 +6600
27931 +3B00
27932 +0000
27933 +0000
27934 +0000
27935 +0000
27936 +ENDCHAR
27937 +STARTCHAR char98
27938 +ENCODING 98
27939 +SWIDTH 8640 0
27940 +DWIDTH 9 0
27941 +BBX 9 16 0 -4
27942 +BITMAP
27943 +0000
27944 +0000
27945 +7000
27946 +3000
27947 +3000
27948 +3C00
27949 +3600
27950 +3300
27951 +3300
27952 +3300
27953 +3300
27954 +3E00
27955 +0000
27956 +0000
27957 +0000
27958 +0000
27959 +ENDCHAR
27960 +STARTCHAR char99
27961 +ENCODING 99
27962 +SWIDTH 8640 0
27963 +DWIDTH 9 0
27964 +BBX 9 16 0 -4
27965 +BITMAP
27966 +0000
27967 +0000
27968 +0000
27969 +0000
27970 +0000
27971 +3E00
27972 +6300
27973 +6000
27974 +6000
27975 +6000
27976 +6300
27977 +3E00
27978 +0000
27979 +0000
27980 +0000
27981 +0000
27982 +ENDCHAR
27983 +STARTCHAR char100
27984 +ENCODING 100
27985 +SWIDTH 8640 0
27986 +DWIDTH 9 0
27987 +BBX 9 16 0 -4
27988 +BITMAP
27989 +0000
27990 +0000
27991 +0E00
27992 +0600
27993 +0600
27994 +1E00
27995 +3600
27996 +6600
27997 +6600
27998 +6600
27999 +6600
28000 +3B00
28001 +0000
28002 +0000
28003 +0000
28004 +0000
28005 +ENDCHAR
28006 +STARTCHAR char101
28007 +ENCODING 101
28008 +SWIDTH 8640 0
28009 +DWIDTH 9 0
28010 +BBX 9 16 0 -4
28011 +BITMAP
28012 +0000
28013 +0000
28014 +0000
28015 +0000
28016 +0000
28017 +3E00
28018 +6300
28019 +7F00
28020 +6000
28021 +6000
28022 +6300
28023 +3E00
28024 +0000
28025 +0000
28026 +0000
28027 +0000
28028 +ENDCHAR
28029 +STARTCHAR char102
28030 +ENCODING 102
28031 +SWIDTH 8640 0
28032 +DWIDTH 9 0
28033 +BBX 9 16 0 -4
28034 +BITMAP
28035 +0000
28036 +0000
28037 +1C00
28038 +3600
28039 +3200
28040 +3000
28041 +7800
28042 +3000
28043 +3000
28044 +3000
28045 +3000
28046 +7800
28047 +0000
28048 +0000
28049 +0000
28050 +0000
28051 +ENDCHAR
28052 +STARTCHAR char103
28053 +ENCODING 103
28054 +SWIDTH 8640 0
28055 +DWIDTH 9 0
28056 +BBX 9 16 0 -4
28057 +BITMAP
28058 +0000
28059 +0000
28060 +0000
28061 +0000
28062 +0000
28063 +3B00
28064 +6600
28065 +6600
28066 +6600
28067 +6600
28068 +6600
28069 +3E00
28070 +0600
28071 +6600
28072 +3C00
28073 +0000
28074 +ENDCHAR
28075 +STARTCHAR char104
28076 +ENCODING 104
28077 +SWIDTH 8640 0
28078 +DWIDTH 9 0
28079 +BBX 9 16 0 -4
28080 +BITMAP
28081 +0000
28082 +0000
28083 +7000
28084 +3000
28085 +3000
28086 +3600
28087 +3B00
28088 +3300
28089 +3300
28090 +3300
28091 +3300
28092 +7300
28093 +0000
28094 +0000
28095 +0000
28096 +0000
28097 +ENDCHAR
28098 +STARTCHAR char105
28099 +ENCODING 105
28100 +SWIDTH 8640 0
28101 +DWIDTH 9 0
28102 +BBX 9 16 0 -4
28103 +BITMAP
28104 +0000
28105 +0000
28106 +1800
28107 +1800
28108 +0000
28109 +3800
28110 +1800
28111 +1800
28112 +1800
28113 +1800
28114 +1800
28115 +3C00
28116 +0000
28117 +0000
28118 +0000
28119 +0000
28120 +ENDCHAR
28121 +STARTCHAR char106
28122 +ENCODING 106
28123 +SWIDTH 8640 0
28124 +DWIDTH 9 0
28125 +BBX 9 16 0 -4
28126 +BITMAP
28127 +0000
28128 +0000
28129 +0600
28130 +0600
28131 +0000
28132 +0E00
28133 +0600
28134 +0600
28135 +0600
28136 +0600
28137 +0600
28138 +0600
28139 +6600
28140 +6600
28141 +3C00
28142 +0000
28143 +ENDCHAR
28144 +STARTCHAR char107
28145 +ENCODING 107
28146 +SWIDTH 8640 0
28147 +DWIDTH 9 0
28148 +BBX 9 16 0 -4
28149 +BITMAP
28150 +0000
28151 +0000
28152 +7000
28153 +3000
28154 +3000
28155 +3300
28156 +3600
28157 +3C00
28158 +3C00
28159 +3600
28160 +3300
28161 +7300
28162 +0000
28163 +0000
28164 +0000
28165 +0000
28166 +ENDCHAR
28167 +STARTCHAR char108
28168 +ENCODING 108
28169 +SWIDTH 8640 0
28170 +DWIDTH 9 0
28171 +BBX 9 16 0 -4
28172 +BITMAP
28173 +0000
28174 +0000
28175 +3800
28176 +1800
28177 +1800
28178 +1800
28179 +1800
28180 +1800
28181 +1800
28182 +1800
28183 +1800
28184 +3C00
28185 +0000
28186 +0000
28187 +0000
28188 +0000
28189 +ENDCHAR
28190 +STARTCHAR char109
28191 +ENCODING 109
28192 +SWIDTH 8640 0
28193 +DWIDTH 9 0
28194 +BBX 9 16 0 -4
28195 +BITMAP
28196 +0000
28197 +0000
28198 +0000
28199 +0000
28200 +0000
28201 +E600
28202 +FF00
28203 +DB00
28204 +DB00
28205 +DB00
28206 +DB00
28207 +DB00
28208 +0000
28209 +0000
28210 +0000
28211 +0000
28212 +ENDCHAR
28213 +STARTCHAR char110
28214 +ENCODING 110
28215 +SWIDTH 8640 0
28216 +DWIDTH 9 0
28217 +BBX 9 16 0 -4
28218 +BITMAP
28219 +0000
28220 +0000
28221 +0000
28222 +0000
28223 +0000
28224 +6E00
28225 +3300
28226 +3300
28227 +3300
28228 +3300
28229 +3300
28230 +3300
28231 +0000
28232 +0000
28233 +0000
28234 +0000
28235 +ENDCHAR
28236 +STARTCHAR char111
28237 +ENCODING 111
28238 +SWIDTH 8640 0
28239 +DWIDTH 9 0
28240 +BBX 9 16 0 -4
28241 +BITMAP
28242 +0000
28243 +0000
28244 +0000
28245 +0000
28246 +0000
28247 +3E00
28248 +6300
28249 +6300
28250 +6300
28251 +6300
28252 +6300
28253 +3E00
28254 +0000
28255 +0000
28256 +0000
28257 +0000
28258 +ENDCHAR
28259 +STARTCHAR char112
28260 +ENCODING 112
28261 +SWIDTH 8640 0
28262 +DWIDTH 9 0
28263 +BBX 9 16 0 -4
28264 +BITMAP
28265 +0000
28266 +0000
28267 +0000
28268 +0000
28269 +0000
28270 +6E00
28271 +3300
28272 +3300
28273 +3300
28274 +3300
28275 +3300
28276 +3E00
28277 +3000
28278 +3000
28279 +7800
28280 +0000
28281 +ENDCHAR
28282 +STARTCHAR char113
28283 +ENCODING 113
28284 +SWIDTH 8640 0
28285 +DWIDTH 9 0
28286 +BBX 9 16 0 -4
28287 +BITMAP
28288 +0000
28289 +0000
28290 +0000
28291 +0000
28292 +0000
28293 +3B00
28294 +6600
28295 +6600
28296 +6600
28297 +6600
28298 +6600
28299 +3E00
28300 +0600
28301 +0600
28302 +0F00
28303 +0000
28304 +ENDCHAR
28305 +STARTCHAR char114
28306 +ENCODING 114
28307 +SWIDTH 8640 0
28308 +DWIDTH 9 0
28309 +BBX 9 16 0 -4
28310 +BITMAP
28311 +0000
28312 +0000
28313 +0000
28314 +0000
28315 +0000
28316 +6E00
28317 +3B00
28318 +3300
28319 +3000
28320 +3000
28321 +3000
28322 +7800
28323 +0000
28324 +0000
28325 +0000
28326 +0000
28327 +ENDCHAR
28328 +STARTCHAR char115
28329 +ENCODING 115
28330 +SWIDTH 8640 0
28331 +DWIDTH 9 0
28332 +BBX 9 16 0 -4
28333 +BITMAP
28334 +0000
28335 +0000
28336 +0000
28337 +0000
28338 +0000
28339 +3E00
28340 +6300
28341 +3000
28342 +1C00
28343 +0600
28344 +6300
28345 +3E00
28346 +0000
28347 +0000
28348 +0000
28349 +0000
28350 +ENDCHAR
28351 +STARTCHAR char116
28352 +ENCODING 116
28353 +SWIDTH 8640 0
28354 +DWIDTH 9 0
28355 +BBX 9 16 0 -4
28356 +BITMAP
28357 +0000
28358 +0000
28359 +0800
28360 +1800
28361 +1800
28362 +7E00
28363 +1800
28364 +1800
28365 +1800
28366 +1800
28367 +1B00
28368 +0E00
28369 +0000
28370 +0000
28371 +0000
28372 +0000
28373 +ENDCHAR
28374 +STARTCHAR char117
28375 +ENCODING 117
28376 +SWIDTH 8640 0
28377 +DWIDTH 9 0
28378 +BBX 9 16 0 -4
28379 +BITMAP
28380 +0000
28381 +0000
28382 +0000
28383 +0000
28384 +0000
28385 +6600
28386 +6600
28387 +6600
28388 +6600
28389 +6600
28390 +6600
28391 +3B00
28392 +0000
28393 +0000
28394 +0000
28395 +0000
28396 +ENDCHAR
28397 +STARTCHAR char118
28398 +ENCODING 118
28399 +SWIDTH 8640 0
28400 +DWIDTH 9 0
28401 +BBX 9 16 0 -4
28402 +BITMAP
28403 +0000
28404 +0000
28405 +0000
28406 +0000
28407 +0000
28408 +C300
28409 +C300
28410 +C300
28411 +C300
28412 +6600
28413 +3C00
28414 +1800
28415 +0000
28416 +0000
28417 +0000
28418 +0000
28419 +ENDCHAR
28420 +STARTCHAR char119
28421 +ENCODING 119
28422 +SWIDTH 8640 0
28423 +DWIDTH 9 0
28424 +BBX 9 16 0 -4
28425 +BITMAP
28426 +0000
28427 +0000
28428 +0000
28429 +0000
28430 +0000
28431 +C300
28432 +C300
28433 +C300
28434 +DB00
28435 +DB00
28436 +FF00
28437 +6600
28438 +0000
28439 +0000
28440 +0000
28441 +0000
28442 +ENDCHAR
28443 +STARTCHAR char120
28444 +ENCODING 120
28445 +SWIDTH 8640 0
28446 +DWIDTH 9 0
28447 +BBX 9 16 0 -4
28448 +BITMAP
28449 +0000
28450 +0000
28451 +0000
28452 +0000
28453 +0000
28454 +C300
28455 +6600
28456 +3C00
28457 +1800
28458 +3C00
28459 +6600
28460 +C300
28461 +0000
28462 +0000
28463 +0000
28464 +0000
28465 +ENDCHAR
28466 +STARTCHAR char121
28467 +ENCODING 121
28468 +SWIDTH 8640 0
28469 +DWIDTH 9 0
28470 +BBX 9 16 0 -4
28471 +BITMAP
28472 +0000
28473 +0000
28474 +0000
28475 +0000
28476 +0000
28477 +6300
28478 +6300
28479 +6300
28480 +6300
28481 +6300
28482 +6300
28483 +3F00
28484 +0300
28485 +0600
28486 +7C00
28487 +0000
28488 +ENDCHAR
28489 +STARTCHAR char122
28490 +ENCODING 122
28491 +SWIDTH 8640 0
28492 +DWIDTH 9 0
28493 +BBX 9 16 0 -4
28494 +BITMAP
28495 +0000
28496 +0000
28497 +0000
28498 +0000
28499 +0000
28500 +7F00
28501 +6600
28502 +0C00
28503 +1800
28504 +3000
28505 +6300
28506 +7F00
28507 +0000
28508 +0000
28509 +0000
28510 +0000
28511 +ENDCHAR
28512 +STARTCHAR char123
28513 +ENCODING 123
28514 +SWIDTH 8640 0
28515 +DWIDTH 9 0
28516 +BBX 9 16 0 -4
28517 +BITMAP
28518 +0000
28519 +0000
28520 +0E00
28521 +1800
28522 +1800
28523 +1800
28524 +7000
28525 +1800
28526 +1800
28527 +1800
28528 +1800
28529 +0E00
28530 +0000
28531 +0000
28532 +0000
28533 +0000
28534 +ENDCHAR
28535 +STARTCHAR char124
28536 +ENCODING 124
28537 +SWIDTH 8640 0
28538 +DWIDTH 9 0
28539 +BBX 9 16 0 -4
28540 +BITMAP
28541 +0000
28542 +0000
28543 +1800
28544 +1800
28545 +1800
28546 +1800
28547 +1800
28548 +1800
28549 +1800
28550 +1800
28551 +1800
28552 +1800
28553 +0000
28554 +0000
28555 +0000
28556 +0000
28557 +ENDCHAR
28558 +STARTCHAR char125
28559 +ENCODING 125
28560 +SWIDTH 8640 0
28561 +DWIDTH 9 0
28562 +BBX 9 16 0 -4
28563 +BITMAP
28564 +0000
28565 +0000
28566 +7000
28567 +1800
28568 +1800
28569 +1800
28570 +0E00
28571 +1800
28572 +1800
28573 +1800
28574 +1800
28575 +7000
28576 +0000
28577 +0000
28578 +0000
28579 +0000
28580 +ENDCHAR
28581 +STARTCHAR char126
28582 +ENCODING 126
28583 +SWIDTH 8640 0
28584 +DWIDTH 9 0
28585 +BBX 9 16 0 -4
28586 +BITMAP
28587 +0000
28588 +0000
28589 +3B00
28590 +6E00
28591 +0000
28592 +0000
28593 +0000
28594 +0000
28595 +0000
28596 +0000
28597 +0000
28598 +0000
28599 +0000
28600 +0000
28601 +0000
28602 +0000
28603 +ENDCHAR
28604 +STARTCHAR char127
28605 +ENCODING 127
28606 +SWIDTH 8640 0
28607 +DWIDTH 9 0
28608 +BBX 9 16 0 -4
28609 +BITMAP
28610 +0000
28611 +0000
28612 +0000
28613 +7F00
28614 +7F00
28615 +7F00
28616 +7F00
28617 +7F00
28618 +7F00
28619 +7F00
28620 +7F00
28621 +0000
28622 +0000
28623 +0000
28624 +0000
28625 +0000
28626 +ENDCHAR
28627 +STARTCHAR char0
28628 +ENCODING 128
28629 +SWIDTH 8640 0
28630 +DWIDTH 9 0
28631 +BBX 9 16 0 -4
28632 +BITMAP
28633 +0000
28634 +0000
28635 +0000
28636 +0000
28637 +0000
28638 +0000
28639 +0000
28640 +0000
28641 +0000
28642 +0000
28643 +0000
28644 +0F80
28645 +0F80
28646 +0F80
28647 +0F80
28648 +0F80
28649 +ENDCHAR
28650 +STARTCHAR char1
28651 +ENCODING 129
28652 +SWIDTH 8640 0
28653 +DWIDTH 9 0
28654 +BBX 9 16 0 -4
28655 +BITMAP
28656 +F000
28657 +F000
28658 +F000
28659 +F000
28660 +F000
28661 +0000
28662 +0000
28663 +0000
28664 +0000
28665 +0000
28666 +0000
28667 +0F80
28668 +0F80
28669 +0F80
28670 +0F80
28671 +0F80
28672 +ENDCHAR
28673 +STARTCHAR char2
28674 +ENCODING 130
28675 +SWIDTH 8640 0
28676 +DWIDTH 9 0
28677 +BBX 9 16 0 -4
28678 +BITMAP
28679 +0F80
28680 +0F80
28681 +0F80
28682 +0F80
28683 +0F80
28684 +0000
28685 +0000
28686 +0000
28687 +0000
28688 +0000
28689 +0000
28690 +0F80
28691 +0F80
28692 +0F80
28693 +0F80
28694 +0F80
28695 +ENDCHAR
28696 +STARTCHAR char1
28697 +ENCODING 131
28698 +SWIDTH 8640 0
28699 +DWIDTH 9 0
28700 +BBX 9 16 0 -4
28701 +BITMAP
28702 +FF80
28703 +FF80
28704 +FF80
28705 +FF80
28706 +FF80
28707 +0000
28708 +0000
28709 +0000
28710 +0000
28711 +0000
28712 +0000
28713 +0F80
28714 +0F80
28715 +0F80
28716 +0F80
28717 +0F80
28718 +ENDCHAR
28719 +STARTCHAR char0
28720 +ENCODING 132
28721 +SWIDTH 8640 0
28722 +DWIDTH 9 0
28723 +BBX 9 16 0 -4
28724 +BITMAP
28725 +0000
28726 +0000
28727 +0000
28728 +0000
28729 +0000
28730 +F000
28731 +F000
28732 +F000
28733 +F000
28734 +F000
28735 +F000
28736 +0F80
28737 +0F80
28738 +0F80
28739 +0F80
28740 +0F80
28741 +ENDCHAR
28742 +STARTCHAR char1
28743 +ENCODING 133
28744 +SWIDTH 8640 0
28745 +DWIDTH 9 0
28746 +BBX 9 16 0 -4
28747 +BITMAP
28748 +F000
28749 +F000
28750 +F000
28751 +F000
28752 +F000
28753 +F000
28754 +F000
28755 +F000
28756 +F000
28757 +F000
28758 +F000
28759 +0F80
28760 +0F80
28761 +0F80
28762 +0F80
28763 +0F80
28764 +ENDCHAR
28765 +STARTCHAR char2
28766 +ENCODING 134
28767 +SWIDTH 8640 0
28768 +DWIDTH 9 0
28769 +BBX 9 16 0 -4
28770 +BITMAP
28771 +0F80
28772 +0F80
28773 +0F80
28774 +0F80
28775 +0F80
28776 +F000
28777 +F000
28778 +F000
28779 +F000
28780 +F000
28781 +F000
28782 +0F80
28783 +0F80
28784 +0F80
28785 +0F80
28786 +0F80
28787 +ENDCHAR
28788 +STARTCHAR char1
28789 +ENCODING 135
28790 +SWIDTH 8640 0
28791 +DWIDTH 9 0
28792 +BBX 9 16 0 -4
28793 +BITMAP
28794 +FF80
28795 +FF80
28796 +FF80
28797 +FF80
28798 +FF80
28799 +F000
28800 +F000
28801 +F000
28802 +F000
28803 +F000
28804 +F000
28805 +0F80
28806 +0F80
28807 +0F80
28808 +0F80
28809 +0F80
28810 +ENDCHAR
28811 +STARTCHAR char0
28812 +ENCODING 136
28813 +SWIDTH 8640 0
28814 +DWIDTH 9 0
28815 +BBX 9 16 0 -4
28816 +BITMAP
28817 +0000
28818 +0000
28819 +0000
28820 +0000
28821 +0000
28822 +0F80
28823 +0F80
28824 +0F80
28825 +0F80
28826 +0F80
28827 +0F80
28828 +0F80
28829 +0F80
28830 +0F80
28831 +0F80
28832 +0F80
28833 +ENDCHAR
28834 +STARTCHAR char1
28835 +ENCODING 137
28836 +SWIDTH 8640 0
28837 +DWIDTH 9 0
28838 +BBX 9 16 0 -4
28839 +BITMAP
28840 +F000
28841 +F000
28842 +F000
28843 +F000
28844 +F000
28845 +0F80
28846 +0F80
28847 +0F80
28848 +0F80
28849 +0F80
28850 +0F80
28851 +0F80
28852 +0F80
28853 +0F80
28854 +0F80
28855 +0F80
28856 +ENDCHAR
28857 +STARTCHAR char2
28858 +ENCODING 138
28859 +SWIDTH 8640 0
28860 +DWIDTH 9 0
28861 +BBX 9 16 0 -4
28862 +BITMAP
28863 +0F80
28864 +0F80
28865 +0F80
28866 +0F80
28867 +0F80
28868 +0F80
28869 +0F80
28870 +0F80
28871 +0F80
28872 +0F80
28873 +0F80
28874 +0F80
28875 +0F80
28876 +0F80
28877 +0F80
28878 +0F80
28879 +ENDCHAR
28880 +STARTCHAR char1
28881 +ENCODING 139
28882 +SWIDTH 8640 0
28883 +DWIDTH 9 0
28884 +BBX 9 16 0 -4
28885 +BITMAP
28886 +FF80
28887 +FF80
28888 +FF80
28889 +FF80
28890 +FF80
28891 +0F80
28892 +0F80
28893 +0F80
28894 +0F80
28895 +0F80
28896 +0F80
28897 +0F80
28898 +0F80
28899 +0F80
28900 +0F80
28901 +0F80
28902 +ENDCHAR
28903 +STARTCHAR char0
28904 +ENCODING 140
28905 +SWIDTH 8640 0
28906 +DWIDTH 9 0
28907 +BBX 9 16 0 -4
28908 +BITMAP
28909 +0000
28910 +0000
28911 +0000
28912 +0000
28913 +0000
28914 +FF80
28915 +FF80
28916 +FF80
28917 +FF80
28918 +FF80
28919 +FF80
28920 +0F80
28921 +0F80
28922 +0F80
28923 +0F80
28924 +0F80
28925 +ENDCHAR
28926 +STARTCHAR char1
28927 +ENCODING 141
28928 +SWIDTH 8640 0
28929 +DWIDTH 9 0
28930 +BBX 9 16 0 -4
28931 +BITMAP
28932 +F000
28933 +F000
28934 +F000
28935 +F000
28936 +F000
28937 +FF80
28938 +FF80
28939 +FF80
28940 +FF80
28941 +FF80
28942 +FF80
28943 +0F80
28944 +0F80
28945 +0F80
28946 +0F80
28947 +0F80
28948 +ENDCHAR
28949 +STARTCHAR char2
28950 +ENCODING 142
28951 +SWIDTH 8640 0
28952 +DWIDTH 9 0
28953 +BBX 9 16 0 -4
28954 +BITMAP
28955 +0F80
28956 +0F80
28957 +0F80
28958 +0F80
28959 +0F80
28960 +FF80
28961 +FF80
28962 +FF80
28963 +FF80
28964 +FF80
28965 +FF80
28966 +0F80
28967 +0F80
28968 +0F80
28969 +0F80
28970 +0F80
28971 +ENDCHAR
28972 +STARTCHAR char1
28973 +ENCODING 143
28974 +SWIDTH 8640 0
28975 +DWIDTH 9 0
28976 +BBX 9 16 0 -4
28977 +BITMAP
28978 +FF80
28979 +FF80
28980 +FF80
28981 +FF80
28982 +FF80
28983 +FF80
28984 +FF80
28985 +FF80
28986 +FF80
28987 +FF80
28988 +FF80
28989 +0F80
28990 +0F80
28991 +0F80
28992 +0F80
28993 +0F80
28994 +ENDCHAR
28995 +STARTCHAR char0
28996 +ENCODING 144
28997 +SWIDTH 8640 0
28998 +DWIDTH 9 0
28999 +BBX 9 16 0 -4
29000 +BITMAP
29001 +0000
29002 +0000
29003 +0000
29004 +0000
29005 +0000
29006 +0000
29007 +0000
29008 +0000
29009 +0000
29010 +0000
29011 +0000
29012 +FF80
29013 +FF80
29014 +FF80
29015 +FF80
29016 +FF80
29017 +ENDCHAR
29018 +STARTCHAR char1
29019 +ENCODING 145
29020 +SWIDTH 8640 0
29021 +DWIDTH 9 0
29022 +BBX 9 16 0 -4
29023 +BITMAP
29024 +F000
29025 +F000
29026 +F000
29027 +F000
29028 +F000
29029 +0000
29030 +0000
29031 +0000
29032 +0000
29033 +0000
29034 +0000
29035 +FF80
29036 +FF80
29037 +FF80
29038 +FF80
29039 +FF80
29040 +ENDCHAR
29041 +STARTCHAR char2
29042 +ENCODING 146
29043 +SWIDTH 8640 0
29044 +DWIDTH 9 0
29045 +BBX 9 16 0 -4
29046 +BITMAP
29047 +0F80
29048 +0F80
29049 +0F80
29050 +0F80
29051 +0F80
29052 +0000
29053 +0000
29054 +0000
29055 +0000
29056 +0000
29057 +0000
29058 +FF80
29059 +FF80
29060 +FF80
29061 +FF80
29062 +FF80
29063 +ENDCHAR
29064 +STARTCHAR char1
29065 +ENCODING 147
29066 +SWIDTH 8640 0
29067 +DWIDTH 9 0
29068 +BBX 9 16 0 -4
29069 +BITMAP
29070 +FF80
29071 +FF80
29072 +FF80
29073 +FF80
29074 +FF80
29075 +0000
29076 +0000
29077 +0000
29078 +0000
29079 +0000
29080 +0000
29081 +FF80
29082 +FF80
29083 +FF80
29084 +FF80
29085 +FF80
29086 +ENDCHAR
29087 +STARTCHAR char0
29088 +ENCODING 148
29089 +SWIDTH 8640 0
29090 +DWIDTH 9 0
29091 +BBX 9 16 0 -4
29092 +BITMAP
29093 +0000
29094 +0000
29095 +0000
29096 +0000
29097 +0000
29098 +F000
29099 +F000
29100 +F000
29101 +F000
29102 +F000
29103 +F000
29104 +FF80
29105 +FF80
29106 +FF80
29107 +FF80
29108 +FF80
29109 +ENDCHAR
29110 +STARTCHAR char1
29111 +ENCODING 149
29112 +SWIDTH 8640 0
29113 +DWIDTH 9 0
29114 +BBX 9 16 0 -4
29115 +BITMAP
29116 +F000
29117 +F000
29118 +F000
29119 +F000
29120 +F000
29121 +F000
29122 +F000
29123 +F000
29124 +F000
29125 +F000
29126 +F000
29127 +FF80
29128 +FF80
29129 +FF80
29130 +FF80
29131 +FF80
29132 +ENDCHAR
29133 +STARTCHAR char2
29134 +ENCODING 150
29135 +SWIDTH 8640 0
29136 +DWIDTH 9 0
29137 +BBX 9 16 0 -4
29138 +BITMAP
29139 +0F80
29140 +0F80
29141 +0F80
29142 +0F80
29143 +0F80
29144 +F000
29145 +F000
29146 +F000
29147 +F000
29148 +F000
29149 +F000
29150 +FF80
29151 +FF80
29152 +FF80
29153 +FF80
29154 +FF80
29155 +ENDCHAR
29156 +STARTCHAR char1
29157 +ENCODING 151
29158 +SWIDTH 8640 0
29159 +DWIDTH 9 0
29160 +BBX 9 16 0 -4
29161 +BITMAP
29162 +FF80
29163 +FF80
29164 +FF80
29165 +FF80
29166 +FF80
29167 +F000
29168 +F000
29169 +F000
29170 +F000
29171 +F000
29172 +F000
29173 +FF80
29174 +FF80
29175 +FF80
29176 +FF80
29177 +FF80
29178 +ENDCHAR
29179 +STARTCHAR char0
29180 +ENCODING 152
29181 +SWIDTH 8640 0
29182 +DWIDTH 9 0
29183 +BBX 9 16 0 -4
29184 +BITMAP
29185 +0000
29186 +0000
29187 +0000
29188 +0000
29189 +0000
29190 +0F80
29191 +0F80
29192 +0F80
29193 +0F80
29194 +0F80
29195 +0F80
29196 +FF80
29197 +FF80
29198 +FF80
29199 +FF80
29200 +FF80
29201 +ENDCHAR
29202 +STARTCHAR char1
29203 +ENCODING 153
29204 +SWIDTH 8640 0
29205 +DWIDTH 9 0
29206 +BBX 9 16 0 -4
29207 +BITMAP
29208 +F000
29209 +F000
29210 +F000
29211 +F000
29212 +F000
29213 +0F80
29214 +0F80
29215 +0F80
29216 +0F80
29217 +0F80
29218 +0F80
29219 +FF80
29220 +FF80
29221 +FF80
29222 +FF80
29223 +FF80
29224 +ENDCHAR
29225 +STARTCHAR char2
29226 +ENCODING 154
29227 +SWIDTH 8640 0
29228 +DWIDTH 9 0
29229 +BBX 9 16 0 -4
29230 +BITMAP
29231 +0F80
29232 +0F80
29233 +0F80
29234 +0F80
29235 +0F80
29236 +0F80
29237 +0F80
29238 +0F80
29239 +0F80
29240 +0F80
29241 +0F80
29242 +FF80
29243 +FF80
29244 +FF80
29245 +FF80
29246 +FF80
29247 +ENDCHAR
29248 +STARTCHAR char1
29249 +ENCODING 155
29250 +SWIDTH 8640 0
29251 +DWIDTH 9 0
29252 +BBX 9 16 0 -4
29253 +BITMAP
29254 +FF80
29255 +FF80
29256 +FF80
29257 +FF80
29258 +FF80
29259 +0F80
29260 +0F80
29261 +0F80
29262 +0F80
29263 +0F80
29264 +0F80
29265 +FF80
29266 +FF80
29267 +FF80
29268 +FF80
29269 +FF80
29270 +ENDCHAR
29271 +STARTCHAR char0
29272 +ENCODING 156
29273 +SWIDTH 8640 0
29274 +DWIDTH 9 0
29275 +BBX 9 16 0 -4
29276 +BITMAP
29277 +0000
29278 +0000
29279 +0000
29280 +0000
29281 +0000
29282 +FF80
29283 +FF80
29284 +FF80
29285 +FF80
29286 +FF80
29287 +FF80
29288 +FF80
29289 +FF80
29290 +FF80
29291 +FF80
29292 +FF80
29293 +ENDCHAR
29294 +STARTCHAR char1
29295 +ENCODING 157
29296 +SWIDTH 8640 0
29297 +DWIDTH 9 0
29298 +BBX 9 16 0 -4
29299 +BITMAP
29300 +F000
29301 +F000
29302 +F000
29303 +F000
29304 +F000
29305 +FF80
29306 +FF80
29307 +FF80
29308 +FF80
29309 +FF80
29310 +FF80
29311 +FF80
29312 +FF80
29313 +FF80
29314 +FF80
29315 +FF80
29316 +ENDCHAR
29317 +STARTCHAR char2
29318 +ENCODING 158
29319 +SWIDTH 8640 0
29320 +DWIDTH 9 0
29321 +BBX 9 16 0 -4
29322 +BITMAP
29323 +0F80
29324 +0F80
29325 +0F80
29326 +0F80
29327 +0F80
29328 +FF80
29329 +FF80
29330 +FF80
29331 +FF80
29332 +FF80
29333 +FF80
29334 +FF80
29335 +FF80
29336 +FF80
29337 +FF80
29338 +FF80
29339 +ENDCHAR
29340 +STARTCHAR char1
29341 +ENCODING 159
29342 +SWIDTH 8640 0
29343 +DWIDTH 9 0
29344 +BBX 9 16 0 -4
29345 +BITMAP
29346 +FF80
29347 +FF80
29348 +FF80
29349 +FF80
29350 +FF80
29351 +FF80
29352 +FF80
29353 +FF80
29354 +FF80
29355 +FF80
29356 +FF80
29357 +FF80
29358 +FF80
29359 +FF80
29360 +FF80
29361 +FF80
29362 +ENDCHAR
29363 +STARTCHAR char160
29364 +ENCODING 160
29365 +SWIDTH 8640 0
29366 +DWIDTH 9 0
29367 +BBX 9 16 0 -4
29368 +BITMAP
29369 +FF80
29370 +0880
29371 +0880
29372 +0880
29373 +0880
29374 +FF80
29375 +0880
29376 +0880
29377 +0880
29378 +0880
29379 +0880
29380 +FF80
29381 +0880
29382 +0880
29383 +0880
29384 +0880
29385 +ENDCHAR
29386 +STARTCHAR char65
29387 +ENCODING 161
29388 +SWIDTH 8640 0
29389 +DWIDTH 9 0
29390 +BBX 9 16 0 -4
29391 +BITMAP
29392 +0000
29393 +0000
29394 +0800
29395 +1C00
29396 +3600
29397 +6300
29398 +6300
29399 +7F00
29400 +6300
29401 +6300
29402 +6300
29403 +6300
29404 +0600
29405 +0300
29406 +0000
29407 +0000
29408 +ENDCHAR
29409 +STARTCHAR char162
29410 +ENCODING 162
29411 +SWIDTH 8640 0
29412 +DWIDTH 9 0
29413 +BBX 9 16 0 -4
29414 +BITMAP
29415 +0000
29416 +6600
29417 +3C00
29418 +0000
29419 +0000
29420 +0000
29421 +0000
29422 +0000
29423 +0000
29424 +0000
29425 +0000
29426 +0000
29427 +0000
29428 +0000
29429 +0000
29430 +0000
29431 +ENDCHAR
29432 +STARTCHAR char76
29433 +ENCODING 163
29434 +SWIDTH 8640 0
29435 +DWIDTH 9 0
29436 +BBX 9 16 0 -4
29437 +BITMAP
29438 +0000
29439 +0000
29440 +7800
29441 +3000
29442 +3000
29443 +3C00
29444 +3800
29445 +3000
29446 +7000
29447 +F100
29448 +3300
29449 +7F00
29450 +0000
29451 +0000
29452 +0000
29453 +0000
29454 +ENDCHAR
29455 +STARTCHAR char164
29456 +ENCODING 164
29457 +SWIDTH 8640 0
29458 +DWIDTH 9 0
29459 +BBX 9 16 0 -4
29460 +BITMAP
29461 +0000
29462 +0000
29463 +0000
29464 +4100
29465 +6300
29466 +3E00
29467 +6300
29468 +6300
29469 +6300
29470 +6300
29471 +3E00
29472 +6300
29473 +4100
29474 +0000
29475 +0000
29476 +0000
29477 +ENDCHAR
29478 +STARTCHAR char76
29479 +ENCODING 165
29480 +SWIDTH 8640 0
29481 +DWIDTH 9 0
29482 +BBX 9 16 0 -4
29483 +BITMAP
29484 +0000
29485 +0000
29486 +7B00
29487 +3300
29488 +3600
29489 +3000
29490 +3000
29491 +3000
29492 +3000
29493 +3100
29494 +3300
29495 +7F00
29496 +0000
29497 +0000
29498 +0000
29499 +0000
29500 +ENDCHAR
29501 +STARTCHAR char83
29502 +ENCODING 166
29503 +SWIDTH 8640 0
29504 +DWIDTH 9 0
29505 +BBX 9 16 0 -4
29506 +BITMAP
29507 +0C00
29508 +1800
29509 +3E00
29510 +6300
29511 +6300
29512 +3000
29513 +1C00
29514 +0600
29515 +0300
29516 +6300
29517 +6300
29518 +3E00
29519 +0000
29520 +0000
29521 +0000
29522 +0000
29523 +ENDCHAR
29524 +STARTCHAR char167
29525 +ENCODING 167
29526 +SWIDTH 8640 0
29527 +DWIDTH 9 0
29528 +BBX 9 16 0 -4
29529 +BITMAP
29530 +0000
29531 +3E00
29532 +6300
29533 +3000
29534 +1C00
29535 +3600
29536 +6300
29537 +6300
29538 +3600
29539 +1C00
29540 +0600
29541 +6300
29542 +3E00
29543 +0000
29544 +0000
29545 +0000
29546 +ENDCHAR
29547 +STARTCHAR char196
29548 +ENCODING 168
29549 +SWIDTH 8640 0
29550 +DWIDTH 9 0
29551 +BBX 9 16 0 -4
29552 +BITMAP
29553 +0000
29554 +6300
29555 +0000
29556 +0000
29557 +0000
29558 +0000
29559 +0000
29560 +0000
29561 +0000
29562 +0000
29563 +0000
29564 +0000
29565 +0000
29566 +0000
29567 +0000
29568 +0000
29569 +ENDCHAR
29570 +STARTCHAR char169
29571 +ENCODING 169
29572 +SWIDTH 8640 0
29573 +DWIDTH 9 0
29574 +BBX 9 16 0 -4
29575 +BITMAP
29576 +6600
29577 +3C00
29578 +3E00
29579 +6300
29580 +6300
29581 +3000
29582 +1C00
29583 +0600
29584 +0300
29585 +6300
29586 +6300
29587 +3E00
29588 +0000
29589 +0000
29590 +0000
29591 +0000
29592 +ENDCHAR
29593 +STARTCHAR char83
29594 +ENCODING 170
29595 +SWIDTH 8640 0
29596 +DWIDTH 9 0
29597 +BBX 9 16 0 -4
29598 +BITMAP
29599 +0000
29600 +0000
29601 +3E00
29602 +6300
29603 +6300
29604 +3000
29605 +1C00
29606 +0600
29607 +0300
29608 +6300
29609 +6300
29610 +3E00
29611 +0600
29612 +0300
29613 +3E00
29614 +0000
29615 +ENDCHAR
29616 +STARTCHAR char171
29617 +ENCODING 171
29618 +SWIDTH 8640 0
29619 +DWIDTH 9 0
29620 +BBX 9 16 0 -4
29621 +BITMAP
29622 +6600
29623 +3C00
29624 +FF00
29625 +DB00
29626 +9900
29627 +1800
29628 +1800
29629 +1800
29630 +1800
29631 +1800
29632 +1800
29633 +3C00
29634 +0000
29635 +0000
29636 +0000
29637 +0000
29638 +ENDCHAR
29639 +STARTCHAR char90
29640 +ENCODING 172
29641 +SWIDTH 8640 0
29642 +DWIDTH 9 0
29643 +BBX 9 16 0 -4
29644 +BITMAP
29645 +0C00
29646 +1800
29647 +FF00
29648 +C300
29649 +8600
29650 +0C00
29651 +1800
29652 +3000
29653 +6000
29654 +C100
29655 +C300
29656 +FF00
29657 +0000
29658 +0000
29659 +0000
29660 +0000
29661 +ENDCHAR
29662 +STARTCHAR char173
29663 +ENCODING 173
29664 +SWIDTH 8640 0
29665 +DWIDTH 9 0
29666 +BBX 9 16 0 -4
29667 +BITMAP
29668 +0000
29669 +0000
29670 +0000
29671 +0000
29672 +0000
29673 +0000
29674 +0000
29675 +FF80
29676 +0000
29677 +0000
29678 +0000
29679 +0000
29680 +0000
29681 +0000
29682 +0000
29683 +0000
29684 +ENDCHAR
29685 +STARTCHAR char174
29686 +ENCODING 174
29687 +SWIDTH 8640 0
29688 +DWIDTH 9 0
29689 +BBX 9 16 0 -4
29690 +BITMAP
29691 +6600
29692 +3C00
29693 +FF00
29694 +C300
29695 +8600
29696 +0C00
29697 +1800
29698 +3000
29699 +6000
29700 +C100
29701 +C300
29702 +FF00
29703 +0000
29704 +0000
29705 +0000
29706 +0000
29707 +ENDCHAR
29708 +STARTCHAR char90
29709 +ENCODING 175
29710 +SWIDTH 8640 0
29711 +DWIDTH 9 0
29712 +BBX 9 16 0 -4
29713 +BITMAP
29714 +0000
29715 +0000
29716 +FF00
29717 +C300
29718 +8600
29719 +0C00
29720 +7E00
29721 +3000
29722 +6000
29723 +C100
29724 +C300
29725 +FF00
29726 +0000
29727 +0000
29728 +0000
29729 +0000
29730 +ENDCHAR
29731 +STARTCHAR char176
29732 +ENCODING 176
29733 +SWIDTH 8640 0
29734 +DWIDTH 9 0
29735 +BBX 9 16 0 -4
29736 +BITMAP
29737 +0000
29738 +1C00
29739 +3600
29740 +3600
29741 +1C00
29742 +0000
29743 +0000
29744 +0000
29745 +0000
29746 +0000
29747 +0000
29748 +0000
29749 +0000
29750 +0000
29751 +0000
29752 +0000
29753 +ENDCHAR
29754 +STARTCHAR char97
29755 +ENCODING 177
29756 +SWIDTH 8640 0
29757 +DWIDTH 9 0
29758 +BBX 9 16 0 -4
29759 +BITMAP
29760 +0000
29761 +0000
29762 +0000
29763 +0000
29764 +0000
29765 +3C00
29766 +0600
29767 +3E00
29768 +6600
29769 +6600
29770 +6600
29771 +3B00
29772 +0600
29773 +0300
29774 +0000
29775 +0000
29776 +ENDCHAR
29777 +STARTCHAR char97
29778 +ENCODING 178
29779 +SWIDTH 8640 0
29780 +DWIDTH 9 0
29781 +BBX 9 16 0 -4
29782 +BITMAP
29783 +0000
29784 +0000
29785 +0000
29786 +0000
29787 +0000
29788 +0000
29789 +0000
29790 +0000
29791 +0000
29792 +0000
29793 +0000
29794 +0C00
29795 +1800
29796 +0E00
29797 +0000
29798 +0000
29799 +ENDCHAR
29800 +STARTCHAR char108
29801 +ENCODING 179
29802 +SWIDTH 8640 0
29803 +DWIDTH 9 0
29804 +BBX 9 16 0 -4
29805 +BITMAP
29806 +0000
29807 +0000
29808 +3800
29809 +1800
29810 +1E00
29811 +1C00
29812 +1800
29813 +3800
29814 +7800
29815 +1800
29816 +1800
29817 +3C00
29818 +0000
29819 +0000
29820 +0000
29821 +0000
29822 +ENDCHAR
29823 +STARTCHAR char180
29824 +ENCODING 180
29825 +SWIDTH 8640 0
29826 +DWIDTH 9 0
29827 +BBX 9 16 0 -4
29828 +BITMAP
29829 +1800
29830 +3000
29831 +6000
29832 +0000
29833 +0000
29834 +0000
29835 +0000
29836 +0000
29837 +0000
29838 +0000
29839 +0000
29840 +0000
29841 +0000
29842 +0000
29843 +0000
29844 +0000
29845 +ENDCHAR
29846 +STARTCHAR char108
29847 +ENCODING 181
29848 +SWIDTH 8640 0
29849 +DWIDTH 9 0
29850 +BBX 9 16 0 -4
29851 +BITMAP
29852 +0000
29853 +0000
29854 +3980
29855 +1980
29856 +1B00
29857 +1800
29858 +1800
29859 +1800
29860 +1800
29861 +1800
29862 +1800
29863 +3C00
29864 +0000
29865 +0000
29866 +0000
29867 +0000
29868 +ENDCHAR
29869 +STARTCHAR char115
29870 +ENCODING 182
29871 +SWIDTH 8640 0
29872 +DWIDTH 9 0
29873 +BBX 9 16 0 -4
29874 +BITMAP
29875 +0000
29876 +0000
29877 +0600
29878 +0C00
29879 +0000
29880 +3E00
29881 +6300
29882 +3000
29883 +1C00
29884 +0600
29885 +6300
29886 +3E00
29887 +0000
29888 +0000
29889 +0000
29890 +0000
29891 +ENDCHAR
29892 +STARTCHAR char171
29893 +ENCODING 183
29894 +SWIDTH 8640 0
29895 +DWIDTH 9 0
29896 +BBX 9 16 0 -4
29897 +BITMAP
29898 +6600
29899 +3C00
29900 +1800
29901 +0000
29902 +0000
29903 +0000
29904 +0000
29905 +0000
29906 +0000
29907 +0000
29908 +0000
29909 +0000
29910 +0000
29911 +0000
29912 +0000
29913 +0000
29914 +ENDCHAR
29915 +STARTCHAR char184
29916 +ENCODING 184
29917 +SWIDTH 8640 0
29918 +DWIDTH 9 0
29919 +BBX 9 16 0 -4
29920 +BITMAP
29921 +0080
29922 +0100
29923 +0300
29924 +0600
29925 +0C00
29926 +1C00
29927 +3000
29928 +7F00
29929 +7700
29930 +0E00
29931 +1C00
29932 +1800
29933 +3000
29934 +6000
29935 +8000
29936 +0000
29937 +ENDCHAR
29938 +STARTCHAR char185
29939 +ENCODING 185
29940 +SWIDTH 8640 0
29941 +DWIDTH 9 0
29942 +BBX 9 16 0 -4
29943 +BITMAP
29944 +0000
29945 +0000
29946 +0000
29947 +3600
29948 +1C00
29949 +3E00
29950 +6300
29951 +3000
29952 +1C00
29953 +0600
29954 +6300
29955 +3E00
29956 +0000
29957 +0000
29958 +0000
29959 +0000
29960 +ENDCHAR
29961 +STARTCHAR char115
29962 +ENCODING 186
29963 +SWIDTH 8640 0
29964 +DWIDTH 9 0
29965 +BBX 9 16 0 -4
29966 +BITMAP
29967 +0000
29968 +0000
29969 +0000
29970 +0000
29971 +0000
29972 +3E00
29973 +6300
29974 +3000
29975 +1C00
29976 +0600
29977 +6300
29978 +3E00
29979 +0300
29980 +1E00
29981 +0000
29982 +0000
29983 +ENDCHAR
29984 +STARTCHAR char187
29985 +ENCODING 187
29986 +SWIDTH 8640 0
29987 +DWIDTH 9 0
29988 +BBX 9 16 0 -4
29989 +BITMAP
29990 +0000
29991 +0180
29992 +0980
29993 +1B00
29994 +1800
29995 +7E00
29996 +1800
29997 +1800
29998 +1800
29999 +1800
30000 +1B00
30001 +0E00
30002 +0000
30003 +0000
30004 +0000
30005 +0000
30006 +ENDCHAR
30007 +STARTCHAR char122
30008 +ENCODING 188
30009 +SWIDTH 8640 0
30010 +DWIDTH 9 0
30011 +BBX 9 16 0 -4
30012 +BITMAP
30013 +0000
30014 +0000
30015 +0600
30016 +0C00
30017 +0000
30018 +7F00
30019 +6600
30020 +0C00
30021 +1800
30022 +3000
30023 +6300
30024 +7F00
30025 +0000
30026 +0000
30027 +0000
30028 +0000
30029 +ENDCHAR
30030 +STARTCHAR char189
30031 +ENCODING 189
30032 +SWIDTH 8640 0
30033 +DWIDTH 9 0
30034 +BBX 9 16 0 -4
30035 +BITMAP
30036 +0000
30037 +3300
30038 +6600
30039 +CC00
30040 +0000
30041 +0000
30042 +0000
30043 +0000
30044 +0000
30045 +0000
30046 +0000
30047 +0000
30048 +0000
30049 +0000
30050 +0000
30051 +0000
30052 +ENDCHAR
30053 +STARTCHAR char190
30054 +ENCODING 190
30055 +SWIDTH 8640 0
30056 +DWIDTH 9 0
30057 +BBX 9 16 0 -4
30058 +BITMAP
30059 +0000
30060 +0000
30061 +0000
30062 +6600
30063 +3C00
30064 +7F00
30065 +6600
30066 +0C00
30067 +1800
30068 +3000
30069 +6300
30070 +7F00
30071 +0000
30072 +0000
30073 +0000
30074 +0000
30075 +ENDCHAR
30076 +STARTCHAR char122
30077 +ENCODING 191
30078 +SWIDTH 8640 0
30079 +DWIDTH 9 0
30080 +BBX 9 16 0 -4
30081 +BITMAP
30082 +0000
30083 +0000
30084 +0C00
30085 +0C00
30086 +0000
30087 +7F00
30088 +6600
30089 +0C00
30090 +1800
30091 +3000
30092 +6300
30093 +7F00
30094 +0000
30095 +0000
30096 +0000
30097 +0000
30098 +ENDCHAR
30099 +STARTCHAR char82
30100 +ENCODING 192
30101 +SWIDTH 8640 0
30102 +DWIDTH 9 0
30103 +BBX 9 16 0 -4
30104 +BITMAP
30105 +0600
30106 +0C00
30107 +7E00
30108 +3300
30109 +3300
30110 +3300
30111 +3E00
30112 +3600
30113 +3300
30114 +3300
30115 +3300
30116 +7300
30117 +0000
30118 +0000
30119 +0000
30120 +0000
30121 +ENDCHAR
30122 +STARTCHAR char193
30123 +ENCODING 193
30124 +SWIDTH 8640 0
30125 +DWIDTH 9 0
30126 +BBX 9 16 0 -4
30127 +BITMAP
30128 +0300
30129 +0600
30130 +0000
30131 +1C00
30132 +3600
30133 +6300
30134 +6300
30135 +7F00
30136 +6300
30137 +6300
30138 +6300
30139 +6300
30140 +0000
30141 +0000
30142 +0000
30143 +0000
30144 +ENDCHAR
30145 +STARTCHAR char194
30146 +ENCODING 194
30147 +SWIDTH 8640 0
30148 +DWIDTH 9 0
30149 +BBX 9 16 0 -4
30150 +BITMAP
30151 +1C00
30152 +3600
30153 +0800
30154 +1C00
30155 +3600
30156 +6300
30157 +6300
30158 +7F00
30159 +6300
30160 +6300
30161 +6300
30162 +6300
30163 +0000
30164 +0000
30165 +0000
30166 +0000
30167 +ENDCHAR
30168 +STARTCHAR char195
30169 +ENCODING 195
30170 +SWIDTH 8640 0
30171 +DWIDTH 9 0
30172 +BBX 9 16 0 -4
30173 +BITMAP
30174 +6300
30175 +3E00
30176 +0000
30177 +1C00
30178 +3600
30179 +6300
30180 +6300
30181 +7F00
30182 +6300
30183 +6300
30184 +6300
30185 +6300
30186 +0000
30187 +0000
30188 +0000
30189 +0000
30190 +ENDCHAR
30191 +STARTCHAR char196
30192 +ENCODING 196
30193 +SWIDTH 8640 0
30194 +DWIDTH 9 0
30195 +BBX 9 16 0 -4
30196 +BITMAP
30197 +6300
30198 +0000
30199 +0800
30200 +1C00
30201 +3600
30202 +6300
30203 +6300
30204 +7F00
30205 +6300
30206 +6300
30207 +6300
30208 +6300
30209 +0000
30210 +0000
30211 +0000
30212 +0000
30213 +ENDCHAR
30214 +STARTCHAR char76
30215 +ENCODING 197
30216 +SWIDTH 8640 0
30217 +DWIDTH 9 0
30218 +BBX 9 16 0 -4
30219 +BITMAP
30220 +0C00
30221 +1800
30222 +7C00
30223 +3000
30224 +3000
30225 +3000
30226 +3000
30227 +3000
30228 +3000
30229 +3100
30230 +3300
30231 +7F00
30232 +0000
30233 +0000
30234 +0000
30235 +0000
30236 +ENDCHAR
30237 +STARTCHAR char67
30238 +ENCODING 198
30239 +SWIDTH 8640 0
30240 +DWIDTH 9 0
30241 +BBX 9 16 0 -4
30242 +BITMAP
30243 +0600
30244 +0C00
30245 +1E00
30246 +3300
30247 +6100
30248 +6000
30249 +6000
30250 +6000
30251 +6000
30252 +6100
30253 +3300
30254 +1E00
30255 +0000
30256 +0000
30257 +0000
30258 +0000
30259 +ENDCHAR
30260 +STARTCHAR char199
30261 +ENCODING 199
30262 +SWIDTH 8640 0
30263 +DWIDTH 9 0
30264 +BBX 9 16 0 -4
30265 +BITMAP
30266 +0000
30267 +0000
30268 +0000
30269 +1E00
30270 +3300
30271 +6100
30272 +6000
30273 +6000
30274 +6000
30275 +6100
30276 +3300
30277 +1E00
30278 +0600
30279 +0300
30280 +3E00
30281 +0000
30282 +ENDCHAR
30283 +STARTCHAR char200
30284 +ENCODING 200
30285 +SWIDTH 8640 0
30286 +DWIDTH 9 0
30287 +BBX 9 16 0 -4
30288 +BITMAP
30289 +3300
30290 +1E00
30291 +1E00
30292 +3300
30293 +6100
30294 +6000
30295 +6000
30296 +6000
30297 +6000
30298 +6100
30299 +3300
30300 +1E00
30301 +0000
30302 +0000
30303 +0000
30304 +0000
30305 +ENDCHAR
30306 +STARTCHAR char201
30307 +ENCODING 201
30308 +SWIDTH 8640 0
30309 +DWIDTH 9 0
30310 +BBX 9 16 0 -4
30311 +BITMAP
30312 +0C00
30313 +1800
30314 +7F00
30315 +3300
30316 +3100
30317 +3400
30318 +3C00
30319 +3400
30320 +3000
30321 +3100
30322 +3300
30323 +7F00
30324 +0000
30325 +0000
30326 +0000
30327 +0000
30328 +ENDCHAR
30329 +STARTCHAR char202
30330 +ENCODING 202
30331 +SWIDTH 8640 0
30332 +DWIDTH 9 0
30333 +BBX 9 16 0 -4
30334 +BITMAP
30335 +0000
30336 +0000
30337 +7F00
30338 +3300
30339 +3100
30340 +3400
30341 +3C00
30342 +3400
30343 +3000
30344 +3100
30345 +3300
30346 +7F00
30347 +0C00
30348 +0600
30349 +0000
30350 +0000
30351 +ENDCHAR
30352 +STARTCHAR char203
30353 +ENCODING 203
30354 +SWIDTH 8640 0
30355 +DWIDTH 9 0
30356 +BBX 9 16 0 -4
30357 +BITMAP
30358 +6300
30359 +0000
30360 +7F00
30361 +3300
30362 +3100
30363 +3400
30364 +3C00
30365 +3400
30366 +3000
30367 +3100
30368 +3300
30369 +7F00
30370 +0000
30371 +0000
30372 +0000
30373 +0000
30374 +ENDCHAR
30375 +STARTCHAR char204
30376 +ENCODING 204
30377 +SWIDTH 8640 0
30378 +DWIDTH 9 0
30379 +BBX 9 16 0 -4
30380 +BITMAP
30381 +3300
30382 +1E00
30383 +7F00
30384 +3300
30385 +3100
30386 +3400
30387 +3C00
30388 +3400
30389 +3000
30390 +3100
30391 +3300
30392 +7F00
30393 +0000
30394 +0000
30395 +0000
30396 +0000
30397 +ENDCHAR
30398 +STARTCHAR char205
30399 +ENCODING 205
30400 +SWIDTH 8640 0
30401 +DWIDTH 9 0
30402 +BBX 9 16 0 -4
30403 +BITMAP
30404 +0C00
30405 +1800
30406 +0000
30407 +3C00
30408 +1800
30409 +1800
30410 +1800
30411 +1800
30412 +1800
30413 +1800
30414 +1800
30415 +3C00
30416 +0000
30417 +0000
30418 +0000
30419 +0000
30420 +ENDCHAR
30421 +STARTCHAR char206
30422 +ENCODING 206
30423 +SWIDTH 8640 0
30424 +DWIDTH 9 0
30425 +BBX 9 16 0 -4
30426 +BITMAP
30427 +3C00
30428 +6600
30429 +0000
30430 +3C00
30431 +1800
30432 +1800
30433 +1800
30434 +1800
30435 +1800
30436 +1800
30437 +1800
30438 +3C00
30439 +0000
30440 +0000
30441 +0000
30442 +0000
30443 +ENDCHAR
30444 +STARTCHAR char207
30445 +ENCODING 207
30446 +SWIDTH 8640 0
30447 +DWIDTH 9 0
30448 +BBX 9 16 0 -4
30449 +BITMAP
30450 +6600
30451 +3C00
30452 +7C00
30453 +3600
30454 +3300
30455 +3300
30456 +3300
30457 +3300
30458 +3300
30459 +3300
30460 +3600
30461 +7C00
30462 +0000
30463 +0000
30464 +0000
30465 +0000
30466 +ENDCHAR
30467 +STARTCHAR char208
30468 +ENCODING 208
30469 +SWIDTH 8640 0
30470 +DWIDTH 9 0
30471 +BBX 9 16 0 -4
30472 +BITMAP
30473 +0000
30474 +0000
30475 +3C00
30476 +3600
30477 +3300
30478 +3300
30479 +7B00
30480 +7B00
30481 +3300
30482 +3300
30483 +3600
30484 +3C00
30485 +0000
30486 +0000
30487 +0000
30488 +0000
30489 +ENDCHAR
30490 +STARTCHAR char78
30491 +ENCODING 209
30492 +SWIDTH 8640 0
30493 +DWIDTH 9 0
30494 +BBX 9 16 0 -4
30495 +BITMAP
30496 +0C00
30497 +1800
30498 +6300
30499 +7300
30500 +7B00
30501 +7F00
30502 +6F00
30503 +6700
30504 +6300
30505 +6300
30506 +6300
30507 +6300
30508 +0000
30509 +0000
30510 +0000
30511 +0000
30512 +ENDCHAR
30513 +STARTCHAR char210
30514 +ENCODING 210
30515 +SWIDTH 8640 0
30516 +DWIDTH 9 0
30517 +BBX 9 16 0 -4
30518 +BITMAP
30519 +6600
30520 +3C00
30521 +6300
30522 +7300
30523 +7B00
30524 +7F00
30525 +6F00
30526 +6700
30527 +6300
30528 +6300
30529 +6300
30530 +6300
30531 +0000
30532 +0000
30533 +0000
30534 +0000
30535 +ENDCHAR
30536 +STARTCHAR char211
30537 +ENCODING 211
30538 +SWIDTH 8640 0
30539 +DWIDTH 9 0
30540 +BBX 9 16 0 -4
30541 +BITMAP
30542 +0600
30543 +0C00
30544 +3E00
30545 +6300
30546 +6300
30547 +6300
30548 +6300
30549 +6300
30550 +6300
30551 +6300
30552 +6300
30553 +3E00
30554 +0000
30555 +0000
30556 +0000
30557 +0000
30558 +ENDCHAR
30559 +STARTCHAR char212
30560 +ENCODING 212
30561 +SWIDTH 8640 0
30562 +DWIDTH 9 0
30563 +BBX 9 16 0 -4
30564 +BITMAP
30565 +1C00
30566 +3600
30567 +3E00
30568 +6300
30569 +6300
30570 +6300
30571 +6300
30572 +6300
30573 +6300
30574 +6300
30575 +6300
30576 +3E00
30577 +0000
30578 +0000
30579 +0000
30580 +0000
30581 +ENDCHAR
30582 +STARTCHAR char213
30583 +ENCODING 213
30584 +SWIDTH 8640 0
30585 +DWIDTH 9 0
30586 +BBX 9 16 0 -4
30587 +BITMAP
30588 +3300
30589 +6600
30590 +3E00
30591 +6300
30592 +6300
30593 +6300
30594 +6300
30595 +6300
30596 +6300
30597 +6300
30598 +6300
30599 +3E00
30600 +0000
30601 +0000
30602 +0000
30603 +0000
30604 +ENDCHAR
30605 +STARTCHAR char214
30606 +ENCODING 214
30607 +SWIDTH 8640 0
30608 +DWIDTH 9 0
30609 +BBX 9 16 0 -4
30610 +BITMAP
30611 +6300
30612 +0000
30613 +3E00
30614 +6300
30615 +6300
30616 +6300
30617 +6300
30618 +6300
30619 +6300
30620 +6300
30621 +6300
30622 +3E00
30623 +0000
30624 +0000
30625 +0000
30626 +0000
30627 +ENDCHAR
30628 +STARTCHAR char215
30629 +ENCODING 215
30630 +SWIDTH 8640 0
30631 +DWIDTH 9 0
30632 +BBX 9 16 0 -4
30633 +BITMAP
30634 +0000
30635 +0000
30636 +0000
30637 +0000
30638 +6300
30639 +3600
30640 +1C00
30641 +0800
30642 +1C00
30643 +3600
30644 +6300
30645 +0000
30646 +0000
30647 +0000
30648 +0000
30649 +0000
30650 +ENDCHAR
30651 +STARTCHAR char216
30652 +ENCODING 216
30653 +SWIDTH 8640 0
30654 +DWIDTH 9 0
30655 +BBX 9 16 0 -4
30656 +BITMAP
30657 +6600
30658 +3C00
30659 +7E00
30660 +3300
30661 +3300
30662 +3300
30663 +3E00
30664 +3600
30665 +3300
30666 +3300
30667 +3300
30668 +7300
30669 +0000
30670 +0000
30671 +0000
30672 +0000
30673 +ENDCHAR
30674 +STARTCHAR char217
30675 +ENCODING 217
30676 +SWIDTH 8640 0
30677 +DWIDTH 9 0
30678 +BBX 9 16 0 -4
30679 +BITMAP
30680 +0800
30681 +1400
30682 +6B00
30683 +6300
30684 +6300
30685 +6300
30686 +6300
30687 +6300
30688 +6300
30689 +6300
30690 +6300
30691 +3E00
30692 +0000
30693 +0000
30694 +0000
30695 +0000
30696 +ENDCHAR
30697 +STARTCHAR char218
30698 +ENCODING 218
30699 +SWIDTH 8640 0
30700 +DWIDTH 9 0
30701 +BBX 9 16 0 -4
30702 +BITMAP
30703 +0600
30704 +0C00
30705 +6300
30706 +6300
30707 +6300
30708 +6300
30709 +6300
30710 +6300
30711 +6300
30712 +6300
30713 +6300
30714 +3E00
30715 +0000
30716 +0000
30717 +0000
30718 +0000
30719 +ENDCHAR
30720 +STARTCHAR char219
30721 +ENCODING 219
30722 +SWIDTH 8640 0
30723 +DWIDTH 9 0
30724 +BBX 9 16 0 -4
30725 +BITMAP
30726 +1B00
30727 +3600
30728 +6300
30729 +6300
30730 +6300
30731 +6300
30732 +6300
30733 +6300
30734 +6300
30735 +6300
30736 +6300
30737 +3E00
30738 +0000
30739 +0000
30740 +0000
30741 +0000
30742 +ENDCHAR
30743 +STARTCHAR char220
30744 +ENCODING 220
30745 +SWIDTH 8640 0
30746 +DWIDTH 9 0
30747 +BBX 9 16 0 -4
30748 +BITMAP
30749 +6300
30750 +0000
30751 +6300
30752 +6300
30753 +6300
30754 +6300
30755 +6300
30756 +6300
30757 +6300
30758 +6300
30759 +6300
30760 +3E00
30761 +0000
30762 +0000
30763 +0000
30764 +0000
30765 +ENDCHAR
30766 +STARTCHAR char221
30767 +ENCODING 221
30768 +SWIDTH 8640 0
30769 +DWIDTH 9 0
30770 +BBX 9 16 0 -4
30771 +BITMAP
30772 +1800
30773 +3000
30774 +C300
30775 +C300
30776 +C300
30777 +6600
30778 +3C00
30779 +1800
30780 +1800
30781 +1800
30782 +1800
30783 +3C00
30784 +0000
30785 +0000
30786 +0000
30787 +0000
30788 +ENDCHAR
30789 +STARTCHAR char84
30790 +ENCODING 222
30791 +SWIDTH 8640 0
30792 +DWIDTH 9 0
30793 +BBX 9 16 0 -4
30794 +BITMAP
30795 +0000
30796 +0000
30797 +FF00
30798 +DB00
30799 +9900
30800 +1800
30801 +1800
30802 +1800
30803 +1800
30804 +1800
30805 +1800
30806 +3C00
30807 +0600
30808 +3C00
30809 +0000
30810 +0000
30811 +ENDCHAR
30812 +STARTCHAR char223
30813 +ENCODING 223
30814 +SWIDTH 8640 0
30815 +DWIDTH 9 0
30816 +BBX 9 16 0 -4
30817 +BITMAP
30818 +0000
30819 +0000
30820 +1C00
30821 +3600
30822 +6300
30823 +6700
30824 +6E00
30825 +6C00
30826 +6600
30827 +6300
30828 +6B00
30829 +6E00
30830 +6000
30831 +4000
30832 +0000
30833 +0000
30834 +ENDCHAR
30835 +STARTCHAR char224
30836 +ENCODING 224
30837 +SWIDTH 8640 0
30838 +DWIDTH 9 0
30839 +BBX 9 16 0 -4
30840 +BITMAP
30841 +0000
30842 +0000
30843 +0000
30844 +0C00
30845 +1800
30846 +6E00
30847 +3B00
30848 +3300
30849 +3000
30850 +3000
30851 +3000
30852 +7800
30853 +0000
30854 +0000
30855 +0000
30856 +0000
30857 +ENDCHAR
30858 +STARTCHAR char225
30859 +ENCODING 225
30860 +SWIDTH 8640 0
30861 +DWIDTH 9 0
30862 +BBX 9 16 0 -4
30863 +BITMAP
30864 +0000
30865 +0C00
30866 +1800
30867 +3000
30868 +0000
30869 +3C00
30870 +0600
30871 +3E00
30872 +6600
30873 +6600
30874 +6600
30875 +3B00
30876 +0000
30877 +0000
30878 +0000
30879 +0000
30880 +ENDCHAR
30881 +STARTCHAR char226
30882 +ENCODING 226
30883 +SWIDTH 8640 0
30884 +DWIDTH 9 0
30885 +BBX 9 16 0 -4
30886 +BITMAP
30887 +0000
30888 +0800
30889 +1C00
30890 +3600
30891 +0000
30892 +3C00
30893 +0600
30894 +3E00
30895 +6600
30896 +6600
30897 +6600
30898 +3B00
30899 +0000
30900 +0000
30901 +0000
30902 +0000
30903 +ENDCHAR
30904 +STARTCHAR char227
30905 +ENCODING 227
30906 +SWIDTH 8640 0
30907 +DWIDTH 9 0
30908 +BBX 9 16 0 -4
30909 +BITMAP
30910 +0000
30911 +0000
30912 +6600
30913 +3C00
30914 +0000
30915 +3C00
30916 +0600
30917 +3E00
30918 +6600
30919 +6600
30920 +6600
30921 +3B00
30922 +0000
30923 +0000
30924 +0000
30925 +0000
30926 +ENDCHAR
30927 +STARTCHAR char228
30928 +ENCODING 228
30929 +SWIDTH 8640 0
30930 +DWIDTH 9 0
30931 +BBX 9 16 0 -4
30932 +BITMAP
30933 +0000
30934 +0000
30935 +6600
30936 +0000
30937 +0000
30938 +3C00
30939 +0600
30940 +3E00
30941 +6600
30942 +6600
30943 +6600
30944 +3B00
30945 +0000
30946 +0000
30947 +0000
30948 +0000
30949 +ENDCHAR
30950 +STARTCHAR char108
30951 +ENCODING 229
30952 +SWIDTH 8640 0
30953 +DWIDTH 9 0
30954 +BBX 9 16 0 -4
30955 +BITMAP
30956 +0C00
30957 +1800
30958 +0000
30959 +3800
30960 +1800
30961 +1800
30962 +1800
30963 +1800
30964 +1800
30965 +1800
30966 +1800
30967 +3C00
30968 +0000
30969 +0000
30970 +0000
30971 +0000
30972 +ENDCHAR
30973 +STARTCHAR char99
30974 +ENCODING 230
30975 +SWIDTH 8640 0
30976 +DWIDTH 9 0
30977 +BBX 9 16 0 -4
30978 +BITMAP
30979 +0000
30980 +0000
30981 +0600
30982 +0C00
30983 +0000
30984 +3E00
30985 +6300
30986 +6000
30987 +6000
30988 +6000
30989 +6300
30990 +3E00
30991 +0000
30992 +0000
30993 +0000
30994 +0000
30995 +ENDCHAR
30996 +STARTCHAR char231
30997 +ENCODING 231
30998 +SWIDTH 8640 0
30999 +DWIDTH 9 0
31000 +BBX 9 16 0 -4
31001 +BITMAP
31002 +0000
31003 +0000
31004 +0000
31005 +0000
31006 +0000
31007 +3E00
31008 +6300
31009 +6000
31010 +6000
31011 +6000
31012 +6300
31013 +3E00
31014 +0C00
31015 +0600
31016 +3C00
31017 +0000
31018 +ENDCHAR
31019 +STARTCHAR char232
31020 +ENCODING 232
31021 +SWIDTH 8640 0
31022 +DWIDTH 9 0
31023 +BBX 9 16 0 -4
31024 +BITMAP
31025 +0000
31026 +0000
31027 +0000
31028 +6600
31029 +3C00
31030 +3E00
31031 +6300
31032 +6000
31033 +6000
31034 +6000
31035 +6300
31036 +3E00
31037 +0000
31038 +0000
31039 +0000
31040 +0000
31041 +ENDCHAR
31042 +STARTCHAR char233
31043 +ENCODING 233
31044 +SWIDTH 8640 0
31045 +DWIDTH 9 0
31046 +BBX 9 16 0 -4
31047 +BITMAP
31048 +0000
31049 +0600
31050 +0C00
31051 +1800
31052 +0000
31053 +3E00
31054 +6300
31055 +7F00
31056 +6000
31057 +6000
31058 +6300
31059 +3E00
31060 +0000
31061 +0000
31062 +0000
31063 +0000
31064 +ENDCHAR
31065 +STARTCHAR char234
31066 +ENCODING 234
31067 +SWIDTH 8640 0
31068 +DWIDTH 9 0
31069 +BBX 9 16 0 -4
31070 +BITMAP
31071 +0000
31072 +0000
31073 +0000
31074 +0000
31075 +0000
31076 +3E00
31077 +6300
31078 +7F00
31079 +6000
31080 +6000
31081 +6300
31082 +3E00
31083 +1800
31084 +0E00
31085 +0000
31086 +0000
31087 +ENDCHAR
31088 +STARTCHAR char235
31089 +ENCODING 235
31090 +SWIDTH 8640 0
31091 +DWIDTH 9 0
31092 +BBX 9 16 0 -4
31093 +BITMAP
31094 +0000
31095 +0000
31096 +6300
31097 +0000
31098 +0000
31099 +3E00
31100 +6300
31101 +7F00
31102 +6000
31103 +6000
31104 +6300
31105 +3E00
31106 +0000
31107 +0000
31108 +0000
31109 +0000
31110 +ENDCHAR
31111 +STARTCHAR char236
31112 +ENCODING 236
31113 +SWIDTH 8640 0
31114 +DWIDTH 9 0
31115 +BBX 9 16 0 -4
31116 +BITMAP
31117 +0000
31118 +0000
31119 +0000
31120 +3300
31121 +1E00
31122 +3E00
31123 +6300
31124 +7F00
31125 +6000
31126 +6000
31127 +6300
31128 +3E00
31129 +0000
31130 +0000
31131 +0000
31132 +0000
31133 +ENDCHAR
31134 +STARTCHAR char237
31135 +ENCODING 237
31136 +SWIDTH 8640 0
31137 +DWIDTH 9 0
31138 +BBX 9 16 0 -4
31139 +BITMAP
31140 +0000
31141 +0600
31142 +0C00
31143 +1800
31144 +0000
31145 +3800
31146 +1800
31147 +1800
31148 +1800
31149 +1800
31150 +1800
31151 +3C00
31152 +0000
31153 +0000
31154 +0000
31155 +0000
31156 +ENDCHAR
31157 +STARTCHAR char238
31158 +ENCODING 238
31159 +SWIDTH 8640 0
31160 +DWIDTH 9 0
31161 +BBX 9 16 0 -4
31162 +BITMAP
31163 +0000
31164 +1800
31165 +3C00
31166 +6600
31167 +0000
31168 +3800
31169 +1800
31170 +1800
31171 +1800
31172 +1800
31173 +1800
31174 +3C00
31175 +0000
31176 +0000
31177 +0000
31178 +0000
31179 +ENDCHAR
31180 +STARTCHAR char239
31181 +ENCODING 239
31182 +SWIDTH 8640 0
31183 +DWIDTH 9 0
31184 +BBX 9 16 0 -4
31185 +BITMAP
31186 +0000
31187 +6000
31188 +6E00
31189 +3600
31190 +0600
31191 +1E00
31192 +3600
31193 +6600
31194 +6600
31195 +6600
31196 +6600
31197 +3B00
31198 +0000
31199 +0000
31200 +0000
31201 +0000
31202 +ENDCHAR
31203 +STARTCHAR char100
31204 +ENCODING 240
31205 +SWIDTH 8640 0
31206 +DWIDTH 9 0
31207 +BBX 9 16 0 -4
31208 +BITMAP
31209 +0000
31210 +0000
31211 +0E00
31212 +0600
31213 +0F00
31214 +0600
31215 +3E00
31216 +6600
31217 +6600
31218 +6600
31219 +6600
31220 +3B00
31221 +0000
31222 +0000
31223 +0000
31224 +0000
31225 +ENDCHAR
31226 +STARTCHAR char241
31227 +ENCODING 241
31228 +SWIDTH 8640 0
31229 +DWIDTH 9 0
31230 +BBX 9 16 0 -4
31231 +BITMAP
31232 +0000
31233 +0000
31234 +0600
31235 +0C00
31236 +0000
31237 +6E00
31238 +3300
31239 +3300
31240 +3300
31241 +3300
31242 +3300
31243 +3300
31244 +0000
31245 +0000
31246 +0000
31247 +0000
31248 +ENDCHAR
31249 +STARTCHAR char242
31250 +ENCODING 242
31251 +SWIDTH 8640 0
31252 +DWIDTH 9 0
31253 +BBX 9 16 0 -4
31254 +BITMAP
31255 +0000
31256 +0000
31257 +0000
31258 +3300
31259 +1E00
31260 +6E00
31261 +3300
31262 +3300
31263 +3300
31264 +3300
31265 +3300
31266 +3300
31267 +0000
31268 +0000
31269 +0000
31270 +0000
31271 +ENDCHAR
31272 +STARTCHAR char243
31273 +ENCODING 243
31274 +SWIDTH 8640 0
31275 +DWIDTH 9 0
31276 +BBX 9 16 0 -4
31277 +BITMAP
31278 +0000
31279 +0000
31280 +0600
31281 +0C00
31282 +0000
31283 +3E00
31284 +6300
31285 +6300
31286 +6300
31287 +6300
31288 +6300
31289 +3E00
31290 +0000
31291 +0000
31292 +0000
31293 +0000
31294 +ENDCHAR
31295 +STARTCHAR char244
31296 +ENCODING 244
31297 +SWIDTH 8640 0
31298 +DWIDTH 9 0
31299 +BBX 9 16 0 -4
31300 +BITMAP
31301 +0000
31302 +0800
31303 +1C00
31304 +3600
31305 +0000
31306 +3E00
31307 +6300
31308 +6300
31309 +6300
31310 +6300
31311 +6300
31312 +3E00
31313 +0000
31314 +0000
31315 +0000
31316 +0000
31317 +ENDCHAR
31318 +STARTCHAR char245
31319 +ENCODING 245
31320 +SWIDTH 8640 0
31321 +DWIDTH 9 0
31322 +BBX 9 16 0 -4
31323 +BITMAP
31324 +0000
31325 +0000
31326 +3300
31327 +6600
31328 +0000
31329 +3E00
31330 +6300
31331 +6300
31332 +6300
31333 +6300
31334 +6300
31335 +3E00
31336 +0000
31337 +0000
31338 +0000
31339 +0000
31340 +ENDCHAR
31341 +STARTCHAR char246
31342 +ENCODING 246
31343 +SWIDTH 8640 0
31344 +DWIDTH 9 0
31345 +BBX 9 16 0 -4
31346 +BITMAP
31347 +0000
31348 +0000
31349 +6300
31350 +0000
31351 +0000
31352 +3E00
31353 +6300
31354 +6300
31355 +6300
31356 +6300
31357 +6300
31358 +3E00
31359 +0000
31360 +0000
31361 +0000
31362 +0000
31363 +ENDCHAR
31364 +STARTCHAR char247
31365 +ENCODING 247
31366 +SWIDTH 8640 0
31367 +DWIDTH 9 0
31368 +BBX 9 16 0 -4
31369 +BITMAP
31370 +0000
31371 +0000
31372 +0000
31373 +0000
31374 +1800
31375 +1800
31376 +0000
31377 +7E00
31378 +0000
31379 +1800
31380 +1800
31381 +0000
31382 +0000
31383 +0000
31384 +0000
31385 +0000
31386 +ENDCHAR
31387 +STARTCHAR char248
31388 +ENCODING 248
31389 +SWIDTH 8640 0
31390 +DWIDTH 9 0
31391 +BBX 9 16 0 -4
31392 +BITMAP
31393 +0000
31394 +0000
31395 +0000
31396 +3300
31397 +1E00
31398 +6E00
31399 +3B00
31400 +3300
31401 +3000
31402 +3000
31403 +3000
31404 +7800
31405 +0000
31406 +0000
31407 +0000
31408 +0000
31409 +ENDCHAR
31410 +STARTCHAR char249
31411 +ENCODING 249
31412 +SWIDTH 8640 0
31413 +DWIDTH 9 0
31414 +BBX 9 16 0 -4
31415 +BITMAP
31416 +0000
31417 +1800
31418 +2400
31419 +2400
31420 +1800
31421 +6600
31422 +6600
31423 +6600
31424 +6600
31425 +6600
31426 +6600
31427 +3B00
31428 +0000
31429 +0000
31430 +0000
31431 +0000
31432 +ENDCHAR
31433 +STARTCHAR char250
31434 +ENCODING 250
31435 +SWIDTH 8640 0
31436 +DWIDTH 9 0
31437 +BBX 9 16 0 -4
31438 +BITMAP
31439 +0000
31440 +0C00
31441 +1800
31442 +3000
31443 +0000
31444 +6600
31445 +6600
31446 +6600
31447 +6600
31448 +6600
31449 +6600
31450 +3B00
31451 +0000
31452 +0000
31453 +0000
31454 +0000
31455 +ENDCHAR
31456 +STARTCHAR char251
31457 +ENCODING 251
31458 +SWIDTH 8640 0
31459 +DWIDTH 9 0
31460 +BBX 9 16 0 -4
31461 +BITMAP
31462 +0000
31463 +0000
31464 +3300
31465 +6600
31466 +0000
31467 +6600
31468 +6600
31469 +6600
31470 +6600
31471 +6600
31472 +6600
31473 +3B00
31474 +0000
31475 +0000
31476 +0000
31477 +0000
31478 +ENDCHAR
31479 +STARTCHAR char252
31480 +ENCODING 252
31481 +SWIDTH 8640 0
31482 +DWIDTH 9 0
31483 +BBX 9 16 0 -4
31484 +BITMAP
31485 +0000
31486 +0000
31487 +6600
31488 +0000
31489 +0000
31490 +6600
31491 +6600
31492 +6600
31493 +6600
31494 +6600
31495 +6600
31496 +3B00
31497 +0000
31498 +0000
31499 +0000
31500 +0000
31501 +ENDCHAR
31502 +STARTCHAR char253
31503 +ENCODING 253
31504 +SWIDTH 8640 0
31505 +DWIDTH 9 0
31506 +BBX 9 16 0 -4
31507 +BITMAP
31508 +0000
31509 +0C00
31510 +1800
31511 +3000
31512 +0000
31513 +6300
31514 +6300
31515 +6300
31516 +6300
31517 +6300
31518 +6300
31519 +3F00
31520 +0300
31521 +0600
31522 +7C00
31523 +0000
31524 +ENDCHAR
31525 +STARTCHAR char116
31526 +ENCODING 254
31527 +SWIDTH 8640 0
31528 +DWIDTH 9 0
31529 +BBX 9 16 0 -4
31530 +BITMAP
31531 +0000
31532 +0000
31533 +0800
31534 +1800
31535 +1800
31536 +7E00
31537 +1800
31538 +1800
31539 +1800
31540 +1800
31541 +1B00
31542 +0E00
31543 +0300
31544 +1E00
31545 +0000
31546 +0000
31547 +ENDCHAR
31548 +STARTCHAR char255
31549 +ENCODING 255
31550 +SWIDTH 8640 0
31551 +DWIDTH 9 0
31552 +BBX 9 16 0 -4
31553 +BITMAP
31554 +0000
31555 +0C00
31556 +0000
31557 +0000
31558 +0000
31559 +0000
31560 +0000
31561 +0000
31562 +0000
31563 +0000
31564 +0000
31565 +0000
31566 +0000
31567 +0000
31568 +0000
31569 +0000
31570 +ENDCHAR
31571 +ENDFONT
31572 diff -r af23d23c278b util/alevt/xio.c
31573 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
31574 +++ b/util/alevt/xio.c  Tue Dec 21 12:13:28 2010 +0100
31575 @@ -0,0 +1,1156 @@
31576 +#include <stdio.h>
31577 +#include <unistd.h>
31578 +#include <stdlib.h>
31579 +#include <string.h>
31580 +#include <fcntl.h>
31581 +#include <signal.h>
31582 +#include <X11/Xlib.h>
31583 +#include <X11/Xutil.h>
31584 +#include <X11/Xatom.h>
31585 +#define XK_MISCELLANY
31586 +#define XK_LATIN1
31587 +#include <X11/keysymdef.h>
31588 +#include <sys/time.h>
31589 +#include "vt.h"
31590 +#include "misc.h"
31591 +#include "dllist.h"
31592 +#include "xio.h"
31593 +#include "fdset.h"
31594 +#include "lang.h"
31595 +#include "icon.xbm"
31596 +#include "font.h"
31597 +
31598 +#define WW (W*CW) /* pixel width of window */
31599 +#define WH (H*CH) /* pixel hegiht of window */
31600 +#define NO_SEL 999 /* sel_y1 value if no selection */
31601 +#define SEL_MIN_TIME 500 /* anything shorter is a click */
31602 +
31603 +static struct dl_head dpys[1]; /* list of all displays */
31604 +static void xio_timer(void *data, int fd);
31605 +static void handle_event(struct xio *xio, int fd);
31606 +
31607 +
31608 +static int timer_init(int argc, char **argv)
31609 +{
31610 +    int p[2], timer_pid, i;
31611 +
31612 +    if (pipe(p) == -1)
31613 +    return -1;
31614 +
31615 +    signal(SIGPIPE, SIG_DFL);
31616 +    timer_pid = fork();
31617 +    if (timer_pid == -1)
31618 +    return -1;
31619 +    if (timer_pid > 0)
31620 +    {
31621 +    fdset_add_fd(fds, p[0], xio_timer, 0);
31622 +    close(p[1]);
31623 +    return 0;
31624 +    }
31625 +
31626 +    close(p[0]);
31627 +    for (i = 0; i < 32; ++i)
31628 +    if (p[1] != i)
31629 +    close(i);
31630 +    memcpy(argv[0], "Timer", 6);
31631 +
31632 +    for (;;)
31633 +    {
31634 +    usleep(300000);
31635 +    write(p[1], "*", 1);
31636 +    }
31637 +}
31638 +
31639 +
31640 +static int local_init(int argc, char **argv)
31641 +{
31642 +    static int inited = 0;
31643 +
31644 +    if (inited)
31645 +       return 0;
31646 +
31647 +    if (timer_init(argc, argv) == -1)
31648 +       return -1;
31649 +
31650 +    dl_init(dpys);
31651 +
31652 +    inited = 1;
31653 +    return 0;
31654 +}
31655 +
31656 +
31657 +static int get_colors(struct xio *xio)
31658 +{
31659 +    int i;
31660 +    XColor c;
31661 +
31662 +    static short rgb[][3] =
31663 +    {
31664 +       { 0x0000,0x0000,0x0000 },
31665 +       { 0xffff,0x0000,0x0000 },
31666 +       { 0x0000,0xffff,0x0000 },
31667 +       { 0xffff,0xffff,0x0000 },
31668 +       { 0x0000,0x0000,0xffff },
31669 +       { 0xffff,0x0000,0xffff },
31670 +       { 0x0000,0xffff,0xffff },
31671 +       { 0xffff,0xffff,0xffff },
31672 +       { 0x7fff,0x7fff,0x7fff },
31673 +       { 0x7fff,0x0000,0x0000 },
31674 +       { 0x0000,0x7fff,0x0000 },
31675 +       { 0x7fff,0x7fff,0x0000 },
31676 +       { 0x0000,0x0000,0x7fff },
31677 +       { 0x7fff,0x0000,0x7fff },
31678 +       { 0x0000,0x7fff,0x7fff },
31679 +       { 0x3fff,0x3fff,0x3fff },
31680 +    };
31681 +
31682 +    for (i = 0; i < 16; ++i)
31683 +    {
31684 +       c.red = rgb[i][0];
31685 +       c.green = rgb[i][1];
31686 +       c.blue = rgb[i][2];
31687 +       if (XAllocColor(xio->dpy, xio->cmap, &c) == 0)
31688 +           return -1;
31689 +       xio->color[i] = c.pixel;
31690 +    }
31691 +    return 0;
31692 +}
31693 +
31694 +
31695 +static int get_fonts(struct xio *xio)
31696 +{
31697 +    GC gc;
31698 +    int i;
31699 +    unsigned char *font_bits;
31700 +    switch(latin1) {
31701 +        case LATIN1: font_bits=font1_bits; break;
31702 +        case LATIN2: font_bits=font2_bits; break;
31703 +        case KOI8: font_bits=font3_bits; break;
31704 +        case GREEK: font_bits=font4_bits; break;
31705 +        default: font_bits=font1_bits; break;
31706 +    }
31707 +
31708 +    xio->font[0] = XCreateBitmapFromData(xio->dpy, xio->root,
31709 +                                        font_bits, font_width, font_height);
31710 +    xio->font[1] = XCreatePixmap(xio->dpy, xio->root,
31711 +                                       font_width, font_height*2, 1);
31712 +    gc = XCreateGC(xio->dpy, xio->font[0], 0, 0);
31713 +    for (i = 0; i < font_height; ++i)
31714 +    {
31715 +       XCopyArea(xio->dpy, xio->font[0], xio->font[1], gc, 0, i,
31716 +                                                   font_width, 1, 0, i*2);
31717 +       XCopyArea(xio->dpy, xio->font[0], xio->font[1], gc, 0, i,
31718 +                                                   font_width, 1, 0, i*2+1);
31719 +    }
31720 +    XFreeGC(xio->dpy, gc);
31721 +    return 0;
31722 +}
31723 +
31724 +
31725 +static void xlib_conn_watch(Display *dpy, void *fds, int fd, int open_flag, void *data)
31726 +{
31727 +    if (open_flag)
31728 +       fdset_add_fd(fds, fd, XProcessInternalConnection, dpy);
31729 +    else
31730 +       fdset_del_fd(fds, fd);
31731 +}
31732 +
31733 +
31734 +struct xio * xio_open_dpy(char *dpy, int argc, char **argv)
31735 +{
31736 +    XClassHint classhint[1];
31737 +    struct xio *xio;
31738 +
31739 +    if (local_init(argc, argv) == -1)
31740 +       goto fail1;
31741 +    
31742 +    if (not(xio = malloc(sizeof(*xio))))
31743 +       goto fail1;
31744 +
31745 +    if (not(xio->dpy = XOpenDisplay(dpy)))
31746 +       goto fail2;
31747 +
31748 +    xio->fd = ConnectionNumber(xio->dpy);
31749 +    xio->argc = argc;
31750 +    xio->argv = argv;
31751 +    dl_init(xio->windows);
31752 +    xio->screen = DefaultScreen(xio->dpy);
31753 +    xio->depth = DefaultDepth(xio->dpy, xio->screen);
31754 +    xio->width = DisplayWidth(xio->dpy, xio->screen);
31755 +    xio->height = DisplayHeight(xio->dpy, xio->screen);
31756 +    xio->root = DefaultRootWindow(xio->dpy);
31757 +    xio->cmap = DefaultColormap(xio->dpy, xio->screen);
31758 +    xio->xa_del_win = XInternAtom(xio->dpy, "WM_DELETE_WINDOW", False);
31759 +    xio->xa_targets = XInternAtom(xio->dpy, "TARGETS", False);
31760 +    xio->xa_timestamp = XInternAtom(xio->dpy, "TIMESTAMP", False);
31761 +    xio->xa_multiple = XInternAtom(xio->dpy, "MULTIPLE", False);
31762 +    xio->xa_text = XInternAtom(xio->dpy, "TEXT", False);
31763 +
31764 +    if (get_colors(xio) == -1)
31765 +       goto fail3;
31766 +
31767 +    if (get_fonts(xio) == -1)
31768 +       goto fail3;
31769 +
31770 +    if (fdset_add_fd(fds, xio->fd, handle_event, xio) == -1)
31771 +       goto fail3;
31772 +    
31773 +    XAddConnectionWatch(xio->dpy, PTR xlib_conn_watch, PTR fds);
31774 +       
31775 +    xio->icon = XCreateBitmapFromData(xio->dpy, xio->root,
31776 +                                       icon_bits, icon_width, icon_height);
31777 +
31778 +    xio->group_leader = XCreateSimpleWindow(xio->dpy, xio->root,
31779 +                                                       0, 0, 1, 1, 0, 0, 0);
31780 +    XSetCommand(xio->dpy, xio->group_leader, xio->argv, xio->argc);
31781 +    classhint->res_name = "VTLeader";
31782 +    classhint->res_class = "AleVT";
31783 +    XSetClassHint(xio->dpy, xio->group_leader, classhint);
31784 +
31785 +    dl_insert_first(dpys, xio->node);
31786 +    return xio;
31787 +
31788 +fail4:
31789 +    fdset_del_fd(fds, xio->fd);
31790 +fail3:
31791 +    XCloseDisplay(xio->dpy);
31792 +fail2:
31793 +    free(xio);
31794 +fail1:
31795 +    return 0;
31796 +}
31797 +
31798 +
31799 +static void set_user_geometry(struct xio_win *xw, char *geom, XSizeHints *sh, int bwidth)
31800 +{
31801 +    static int gravs[] = { NorthWestGravity, NorthEastGravity,
31802 +                          SouthWestGravity, SouthEastGravity };
31803 +    int f, g = 0;
31804 +
31805 +    f = XParseGeometry(geom, &sh->x, &sh->y, &sh->width, &sh->height);
31806 +
31807 +    if (f & WidthValue)
31808 +       sh->width = sh->base_width + sh->width * sh->width_inc;
31809 +    if (f & HeightValue)
31810 +       sh->height = sh->base_height + sh->height * sh->height_inc;
31811 +    if (f & XNegative)
31812 +       g+=1, sh->x = xw->xio->width + sh->x - sh->width - bwidth;
31813 +    if (f & YNegative)
31814 +       g+=2, sh->y = xw->xio->height + sh->y - sh->height - bwidth;
31815 +
31816 +    sh->width = bound(sh->min_width, sh->width, sh->max_width);
31817 +    sh->height = bound(sh->min_height, sh->height, sh->max_height);
31818 +
31819 +    if (f & (WidthValue | HeightValue))
31820 +       sh->flags |= USSize;
31821 +    if (f & (XValue | YValue))
31822 +       sh->flags |= USPosition | PWinGravity;
31823 +
31824 +    sh->win_gravity = gravs[g];
31825 +}
31826 +
31827 +
31828 +struct xio_win * xio_open_win(struct xio *xio, char *geom)
31829 +{
31830 +    struct xio_win *xw;
31831 +    XSetWindowAttributes attr;
31832 +    XGCValues gcval;
31833 +    XSizeHints sizehint[1];
31834 +    XClassHint classhint[1];
31835 +    XWMHints wmhint[1];
31836 +
31837 +    if (not(xw = malloc(sizeof(*xw))))
31838 +       goto fail1;
31839 +
31840 +    xw->xio = xio;
31841 +
31842 +    sizehint->flags = PSize | PBaseSize | PMinSize | PMaxSize | PResizeInc;
31843 +    sizehint->x = sizehint->y = 0;
31844 +    sizehint->width_inc = CW;
31845 +    sizehint->height_inc = CH;
31846 +    sizehint->base_width = 0;
31847 +    sizehint->base_height = 0;
31848 +    sizehint->min_width = 11*CW;
31849 +    sizehint->min_height = 1*CH;
31850 +    sizehint->max_width = sizehint->width = WW + CW;
31851 +    sizehint->max_height = sizehint->height = WH;
31852 +    set_user_geometry(xw, geom, sizehint, 1);
31853 +
31854 +    attr.background_pixel = xio->color[0];
31855 +    attr.event_mask = KeyPressMask |
31856 +                        ButtonPressMask|ButtonReleaseMask|Button1MotionMask |
31857 +                        ExposureMask;
31858 +    xw->win = XCreateWindow(xio->dpy, xio->root,
31859 +               sizehint->x, sizehint->y, sizehint->width, sizehint->height, 1,
31860 +                       CopyFromParent, CopyFromParent, CopyFromParent,
31861 +                       CWBackPixel|CWEventMask, &attr);
31862 +
31863 +    classhint->res_name = "VTPage";
31864 +    classhint->res_class = "AleVT";
31865 +
31866 +    wmhint->flags = InputHint | StateHint | WindowGroupHint | IconPixmapHint;
31867 +    wmhint->input = True;
31868 +    wmhint->initial_state = NormalState; //IconicState;
31869 +    wmhint->window_group = xio->group_leader;
31870 +    wmhint->icon_pixmap = xio->icon;
31871 +
31872 +    XSetWMProperties(xio->dpy, xw->win, 0,0, 0,0, sizehint, wmhint, classhint);
31873 +    XSetWMProtocols(xio->dpy, xw->win, &xio->xa_del_win, 1);
31874 +
31875 +    xw->title[0] = 0;
31876 +    xio_title(xw, "AleVT"); // will be reset pretty soon
31877 +
31878 +    gcval.graphics_exposures = False;
31879 +    xw->gc = XCreateGC(xio->dpy, xw->win, GCGraphicsExposures, &gcval);
31880 +
31881 +    xw->tstamp = CurrentTime;
31882 +    xw->fg = xw->bg = -1;      /* unknown colors */
31883 +
31884 +    xw->curs_x = xw->curs_y = 999;     // no cursor
31885 +
31886 +    xw->sel_y1 = NO_SEL;       /* no selection area */
31887 +    xw->sel_start_t = 0;       /* no selection-drag active */
31888 +    xw->sel_set_t = 0;         /* not selection owner */
31889 +    xw->sel_pixmap = 0;                /* no selection pixmap yet */
31890 +
31891 +    xio_clear_win(xw);
31892 +    xw->blink_on = xw->reveal = 0;
31893 +
31894 +    xw->handler = 0;
31895 +
31896 +    XMapWindow(xio->dpy, xw->win);
31897 +    dl_insert_first(xio->windows, xw->node);
31898 +    return xw;
31899 +
31900 +fail2:
31901 +    free(xw);
31902 +fail1:
31903 +    return 0;
31904 +}
31905 +
31906 +
31907 +void xio_close_win(struct xio_win *xw, int dpy_too)
31908 +{
31909 +    struct xio *xio = xw->xio;
31910 +
31911 +    XDestroyWindow(xio->dpy, xw->win);
31912 +    dl_remove(xw->node);
31913 +    free(xw);
31914 +
31915 +    if (dpy_too && dl_empty(xio->windows))
31916 +       xio_close_dpy(xio);
31917 +}
31918 +
31919 +
31920 +void xio_close_dpy(struct xio *xio)
31921 +{
31922 +    while (not dl_empty(xio->windows))
31923 +       xio_close_win((struct xio_win *)xio->windows->first, 0);
31924 +
31925 +    XDestroyWindow(xio->dpy, xio->group_leader);
31926 +    XRemoveConnectionWatch(xio->dpy, PTR xlib_conn_watch, PTR fds);
31927 +    fdset_del_fd(fds, xio->fd);
31928 +    dl_remove(xio->node);
31929 +    free(xio);
31930 +}
31931 +
31932 +
31933 +void xio_set_handler(struct xio_win *xw, void *handler, void *data)
31934 +{
31935 +    xw->handler = handler;
31936 +    xw->data = data;
31937 +}
31938 +
31939 +
31940 +void xio_title(struct xio_win *xw, char *title)
31941 +{
31942 +    char buf[sizeof(xw->title) + 32];
31943 +
31944 +    if (strlen(title) >= sizeof(xw->title))
31945 +       return; //TODO: trimm...
31946 +    if (strcmp(xw->title, title) == 0)
31947 +       return;
31948 +
31949 +    strcpy(xw->title, title);
31950 +    sprintf(buf, "AleVT " VERSION "    %s", xw->title);
31951 +    XStoreName(xw->xio->dpy, xw->win, buf);
31952 +    XSetIconName(xw->xio->dpy, xw->win, xw->title);
31953 +}
31954 +
31955 +
31956 +void xio_clear_win(struct xio_win *xw)
31957 +{
31958 +    memset(xw->ch, ' ', sizeof(xw->ch));
31959 +    xw->dheight = xw->blink = xw->concealed = 0;
31960 +    xw->hidden = xw->lhidden = 0;
31961 +    xw->modified = ALL_LINES;
31962 +}
31963 +
31964 +
31965 +void xio_put_line(struct xio_win *xw, int y, u8 *data)
31966 +{
31967 +    u8 *p = xw->ch + y*W;
31968 +    u8 *ep = p + W;
31969 +    lbits yb = 1 << y;
31970 +    lbits x = xw->dheight;
31971 +
31972 +    if (y < 0 || y >= H)
31973 +       return;
31974 +
31975 +    if (memcmp(data, p, ep - p) == 0)
31976 +       return;
31977 +
31978 +    xw->modified |= yb;
31979 +    xw->blink &= ~yb;
31980 +    xw->dheight &= ~yb;
31981 +    xw->concealed &= ~yb;
31982 +
31983 +    while (p < ep)
31984 +       switch (*p++ = *data++)
31985 +       {
31986 +           case 0x08:
31987 +               xw->blink |= yb;
31988 +               break;
31989 +           case 0x0d:
31990 +               if (y < H-1)
31991 +                   xw->dheight |= yb;
31992 +               break;
31993 +           case 0x18:
31994 +               xw->concealed |= yb;
31995 +               break;
31996 +       }
31997 +
31998 +    if ((xw->dheight ^ x) & yb) // dheight has changed, recalc hidden
31999 +    {
32000 +       xw->hidden &= yb*2 - 1;
32001 +       for (; yb & ALL_LINES/2; yb *= 2)
32002 +           if (~xw->hidden & xw->dheight & yb)
32003 +               xw->hidden |= yb*2;
32004 +    }
32005 +}
32006 +
32007 +
32008 +void xio_put_str(struct xio_win *xw, int y, u8 *str)
32009 +{
32010 +    u8 buf[W];
32011 +    int l;
32012 +    l = strlen(str);
32013 +    if (l < W)
32014 +    {
32015 +       memcpy(buf, str, l);
32016 +       memset(buf + l, ' ', W - l);
32017 +    }
32018 +    else
32019 +       memcpy(buf, str, W);
32020 +    xio_put_line(xw, y, buf);
32021 +}
32022 +
32023 +
32024 +static void dirty(struct xio_win *xw, int y1, int y2) // mark [y1,y2[ dirty
32025 +{
32026 +    if (y1 >= 0 && y1 < H && y1 < y2)
32027 +    {
32028 +       if (y2 > H)
32029 +           y2 = H;
32030 +       if (xw->hidden & (1 << y1))
32031 +           y1--;
32032 +       while (y1 < y2)
32033 +           xw->modified |= 1 << y1++;
32034 +    }
32035 +}
32036 +
32037 +
32038 +int xio_get_line(struct xio_win *xw, int y, u8 *data)
32039 +{
32040 +    if (y < 0 || y >= H)
32041 +       return -1;
32042 +    if (xw->hidden & (1 << y))
32043 +       y--;
32044 +    memcpy(data, xw->ch + y*W, 40);
32045 +    return 0;
32046 +}
32047 +
32048 +
32049 +void xio_set_cursor(struct xio_win *xw, int x, int y)
32050 +{
32051 +    if (xw->curs_y >= 0 && xw->curs_y < H)
32052 +       dirty(xw, xw->curs_y, xw->curs_y + 1);
32053 +    if (x >= 0 && x < W && y >= 0 && y < H)
32054 +       dirty(xw, y, y + 1);
32055 +    else
32056 +       x = y = 999;
32057 +    xw->curs_x = x;
32058 +    xw->curs_y = y;
32059 +}
32060 +
32061 +
32062 +static inline void draw_char(struct xio_win *xw, Window win, int fg, int bg,
32063 +    int c, int dbl, int x, int y, int ry)
32064 +{
32065 +    struct xio *xio = xw->xio;
32066 +
32067 +    if (fg != xw->fg)
32068 +       XSetForeground(xio->dpy, xw->gc, xio->color[xw->fg = fg]);
32069 +    if (bg != xw->bg)
32070 +       XSetBackground(xio->dpy, xw->gc, xio->color[xw->bg = bg]);
32071 +
32072 +    if (dbl)
32073 +    {
32074 +       XCopyPlane(xio->dpy, xio->font[1], win, xw->gc,
32075 +                               c%32*CW, c/32*CH*2, CW, CH*2, x*CW, y*CH, 1);
32076 +    }
32077 +    else
32078 +    {
32079 +       XCopyPlane(xio->dpy, xio->font[0], win, xw->gc,
32080 +                                   c%32*CW, c/32*CH, CW, CH, x*CW, y*CH, 1);
32081 +       if (xw->dheight & (1<<ry))
32082 +           XCopyPlane(xio->dpy, xio->font[0], win, xw->gc,
32083 +                           ' '%32*CW, ' '/32*CH, CW, CH, x*CW, y*CH+CH, 1);
32084 +    }
32085 +}
32086 +
32087 +static void draw_cursor(struct xio_win *xw, int x, int y, int dbl)
32088 +{
32089 +    struct xio *xio = xw->xio;
32090 +
32091 +    if (xw->blink_on)
32092 +       XSetForeground(xio->dpy, xw->gc, xio->color[xw->fg = xw->bg ^ 8]);
32093 +    XDrawRectangle(xio->dpy, xw->win, xw->gc, x * CW, y * CH, CW-1,
32094 +               (dbl ? 2*CH : CH)-1);
32095 +}
32096 +
32097 +
32098 +void xio_update_win(struct xio_win *xw)
32099 +{
32100 +    u8 *p = xw->ch;
32101 +    lbits yb, redraw;
32102 +    int x, y, c;
32103 +
32104 +    if (xw->modified == 0)
32105 +       return;
32106 +
32107 +    redraw = xw->modified; // all modified lines
32108 +    redraw |= xw->lhidden; // all previously hidden lines
32109 +    redraw &= ~xw->hidden;
32110 +
32111 +    xw->lhidden = xw->hidden;
32112 +    xw->modified = 0;
32113 +
32114 +    if (redraw == 0)
32115 +       return;
32116 +
32117 +    for (yb = 1, y = 0; y < H; ++y, yb *= 2)
32118 +       if (redraw & yb)
32119 +       {
32120 +           int fg = 7, bg = 0, _fg, _bg;
32121 +           int dbl = 0, blk = 0, con = 0, gfx = 0, sep = 0, hld = 0;
32122 +           int last_ch = ' ';
32123 +
32124 +           for (x = 0; x < W; ++x)
32125 +           {
32126 +               switch (c = *p++)
32127 +               {
32128 +                   case 0x00 ... 0x07: /* alpha + foreground color */
32129 +                       fg = c & 7;
32130 +                       gfx = 0;
32131 +                       con = 0;
32132 +                       goto ctrl;
32133 +                   case 0x08: /* flash */
32134 +                       blk = not xw->blink_on;
32135 +                       goto ctrl;
32136 +                   case 0x09: /* steady */
32137 +                       blk = 0;
32138 +                       goto ctrl;
32139 +                   case 0x0a: /* end box */
32140 +                   case 0x0b: /* start box */
32141 +                       goto ctrl;
32142 +                   case 0x0c: /* normal height */
32143 +                       dbl = 0;
32144 +                       goto ctrl;
32145 +                   case 0x0d: /* double height */
32146 +                       dbl = y < H-1;
32147 +                       goto ctrl;
32148 +                   case 0x10 ... 0x17: /* graphics + foreground color */
32149 +                       fg = c & 7;
32150 +                       gfx = 1;
32151 +                       con = 0;
32152 +                       goto ctrl;
32153 +                   case 0x18: /* conceal display */
32154 +                       con = not xw->reveal;
32155 +                       goto ctrl;
32156 +                   case 0x19: /* contiguous graphics */
32157 +                       sep = 0;
32158 +                       goto ctrl;
32159 +                   case 0x1a: /* separate graphics */
32160 +                       sep = 1;
32161 +                       goto ctrl;
32162 +                   case 0x1c: /* black background */
32163 +                       bg = 0;
32164 +                       goto ctrl;
32165 +                   case 0x1d: /* new background */
32166 +                       bg = fg;
32167 +                       goto ctrl;
32168 +                   case 0x1e: /* hold graphics */
32169 +                       hld = 1;
32170 +                       goto ctrl;
32171 +                   case 0x1f: /* release graphics */
32172 +                       hld = 0;
32173 +                       goto ctrl;
32174 +
32175 +                   case 0x0e: /* SO (reserved, double width) */
32176 +                   case 0x0f: /* SI (reserved, double size) */
32177 +                       c= ' '; break;
32178 +                   case 0x1b: /* ESC (reserved) */
32179 +                       c = ' ';
32180 +                       break;
32181 +
32182 +                   ctrl:
32183 +                       c = ' ';
32184 +                       if (hld && gfx)
32185 +                           c = last_ch;
32186 +                       break;
32187 +
32188 +                   case 0x80 ... 0x9f: /* these aren't used */
32189 +                       c = BAD_CHAR;
32190 +                       break;
32191 +
32192 +                   default: /* mapped to selected font */
32193 +                       break;
32194 +               }
32195 +
32196 +               if (gfx && (c & 0xa0) == 0x20)
32197 +               {
32198 +                   last_ch = c;
32199 +                   c += (c & 0x40) ? 32 : -32;
32200 +               }
32201 +
32202 +               _fg = fg;
32203 +               _bg = bg;
32204 +               if (blk)
32205 +                   _fg |= 8;
32206 +               if (y >= xw->sel_y1 && y < xw->sel_y2 &&
32207 +                   x >= xw->sel_x1 && x < xw->sel_x2)
32208 +                   _bg |= 8;
32209 +               if (con)
32210 +                   _fg = _bg;
32211 +               
32212 +               draw_char(xw, xw->win, _fg, _bg, c, dbl, x, y, y);
32213 +
32214 +               if (y == xw->curs_y && x == xw->curs_x)
32215 +                   draw_cursor(xw, xw->curs_x, xw->curs_y, dbl);
32216 +
32217 +               if (xw->sel_pixmap && (_bg & 8))
32218 +                   draw_char(xw, xw->sel_pixmap, con ? bg : fg, bg, c, dbl,
32219 +                                           x - xw->sel_x1, y - xw->sel_y1, y);
32220 +           }
32221 +       }
32222 +       else
32223 +           p += 40;
32224 +}
32225 +
32226 +
32227 +static void for_all_windows(void (*func)(struct xio_win *xw), struct xio_win *except)
32228 +{
32229 +    struct xio *xio, *vtn;
32230 +    struct xio_win *xw, *vwn;
32231 +
32232 +    for (xio = PTR dpys->first; vtn = PTR xio->node->next; xio = vtn)
32233 +       for (xw = PTR xio->windows->first; vwn = PTR xw->node->next; xw = vwn)
32234 +           if (xw != except)
32235 +               func(xw);
32236 +}
32237 +
32238 +
32239 +int xio_set_concealed(struct xio_win *xw, int on)
32240 +{
32241 +    on = !!on;
32242 +    if (xw->reveal == on)
32243 +       return on;
32244 +
32245 +    xw->reveal = on;
32246 +    xw->modified |= xw->concealed;
32247 +    return !on;
32248 +}
32249 +
32250 +
32251 +static void sel_set(struct xio_win *xw, int x1, int y1, int x2, int y2)
32252 +{
32253 +    int t;
32254 +
32255 +    x1 = bound(0, x1, W-1);
32256 +    y1 = bound(0, y1, H-1);
32257 +    x2 = bound(0, x2, W-1);
32258 +    y2 = bound(0, y2, H-1);
32259 +
32260 +    if (x1 > x2)
32261 +       t = x1, x1 = x2, x2 = t;
32262 +    if (y1 > y2)
32263 +       t = y1, y1 = y2, y2 = t;
32264 +
32265 +    dirty(xw, xw->sel_y1, xw->sel_y2);
32266 +
32267 +    if (xw->hidden & (1 << y1))
32268 +       y1--;
32269 +    if (xw->hidden & (2 << y2))
32270 +       y2++;
32271 +
32272 +    xw->sel_x1 = x1;
32273 +    xw->sel_y1 = y1;
32274 +    xw->sel_x2 = x2 + 1;
32275 +    xw->sel_y2 = y2 + 1;
32276 +    dirty(xw, xw->sel_y1, xw->sel_y2);
32277 +}
32278 +
32279 +
32280 +static void sel_abort(struct xio_win *xw)
32281 +{
32282 +    if (xw->sel_set_t)
32283 +       XSetSelectionOwner(xw->xio->dpy, XA_PRIMARY, None, xw->sel_set_t);
32284 +    if (xw->sel_y1 != NO_SEL)
32285 +       dirty(xw, xw->sel_y1, xw->sel_y2);
32286 +    xw->sel_y1 = NO_SEL;
32287 +    xw->sel_set_t = 0;
32288 +    xw->sel_start_t = 0;
32289 +}
32290 +
32291 +
32292 +static void sel_start(struct xio_win *xw, int x, int y, Time t)
32293 +{
32294 +    sel_abort(xw);
32295 +    xw->sel_start_x = x;
32296 +    xw->sel_start_y = y;
32297 +    xw->sel_start_t = t;
32298 +}
32299 +
32300 +
32301 +static void sel_move(struct xio_win *xw, int x, int y, Time t)
32302 +{
32303 +    if (xw->sel_start_t == 0)
32304 +       return;
32305 +    if (xw->sel_y1 == NO_SEL)
32306 +       if (t - xw->sel_start_t < SEL_MIN_TIME)
32307 +           if (x == xw->sel_start_x)
32308 +               if (y == xw->sel_start_y)
32309 +                   return;
32310 +    sel_set(xw, xw->sel_start_x, xw->sel_start_y, x, y);
32311 +}
32312 +
32313 +
32314 +static int sel_end(struct xio_win *xw, int x, int y, Time t)
32315 +{
32316 +    sel_move(xw, x, y, t);
32317 +    xw->sel_start_t = 0;
32318 +
32319 +    if (xw->sel_y1 == NO_SEL)
32320 +       return 0;
32321 +
32322 +    for_all_windows(sel_abort, xw);
32323 +    XSetSelectionOwner(xw->xio->dpy, XA_PRIMARY, xw->win, t);
32324 +    if (XGetSelectionOwner(xw->xio->dpy, XA_PRIMARY) == xw->win)
32325 +       xw->sel_set_t = t;
32326 +    else
32327 +       sel_abort(xw);
32328 +    return 1;
32329 +}
32330 +
32331 +
32332 +static int sel_convert2ascii(struct xio_win *xw, u8 *buf)
32333 +{
32334 +    u8 *d = buf;
32335 +    int x, y, nl = 0;
32336 +
32337 +    for (y = xw->sel_y1; y < xw->sel_y2; y++)
32338 +    {
32339 +       u8 *s = xw->ch + y * W;
32340 +       int gfx = 0, con = 0;
32341 +
32342 +       if (~xw->hidden & (1 << y))
32343 +       {
32344 +           for (x = 0; x < xw->sel_x2; ++x)
32345 +           {
32346 +               int ch, c = ' ';
32347 +               switch (ch = *s++)
32348 +               {
32349 +                   case 0x00 ... 0x07:
32350 +                       gfx = con = 0;
32351 +                       break;
32352 +                   case 0x10 ... 0x17:
32353 +                       gfx = 1, con = 0;
32354 +                       break;
32355 +                   case 0x18:
32356 +                       con = not xw->reveal;
32357 +                       break;
32358 +                   case 0xa0 ... 0xff:
32359 +                   case 0x20 ... 0x7f:
32360 +                       if (not con)
32361 +                           if (gfx && ch != ' ' && (ch & 0xa0) == 0x20)
32362 +                               c = '#';
32363 +                           else if (ch == 0x7f)
32364 +                               c = '*';
32365 +                           else
32366 +                               c = ch;
32367 +                       break;
32368 +               }
32369 +               if (x >= xw->sel_x1)
32370 +               {
32371 +                   if (nl)
32372 +                       *d++ = '\n', nl = 0;
32373 +                   *d++ = c;
32374 +               }
32375 +           }
32376 +           nl = 1;
32377 +       }
32378 +    }
32379 +    *d = 0; // not necessary
32380 +    return d - buf;
32381 +}
32382 +
32383 +
32384 +static Pixmap sel_convert2pixmap(struct xio_win *xw)
32385 +{
32386 +    struct xio *xio = xw->xio;
32387 +    Pixmap pm;
32388 +
32389 +    if (xw->sel_y1 == NO_SEL)
32390 +    return None;
32391 +
32392 +    pm = XCreatePixmap(xio->dpy, xio->root, (xw->sel_x2 - xw->sel_x1) * CW,
32393 +                                           (xw->sel_y2 - xw->sel_y1) * CH,
32394 +                                                                xio->depth);
32395 +    xw->sel_pixmap = pm;
32396 +    dirty(xw, xw->sel_y1, xw->sel_y2);
32397 +    xio_update_win(xw);
32398 +    xw->sel_pixmap = 0;
32399 +
32400 +    return pm;
32401 +}
32402 +
32403 +
32404 +static int sel_do_conv(struct xio_win *xw, Window w, Atom type, Atom prop)
32405 +{
32406 +    struct xio *xio = xw->xio;
32407 +
32408 +    if (type == xio->xa_targets)
32409 +    {
32410 +       u32 atoms[6];
32411 +
32412 +       atoms[0] = XA_STRING;
32413 +       atoms[1] = xio->xa_text;
32414 +       atoms[2] = XA_PIXMAP;
32415 +       atoms[3] = XA_COLORMAP;
32416 +       atoms[4] = xio->xa_multiple;
32417 +       atoms[5] = xio->xa_timestamp;
32418 +       XChangeProperty(xio->dpy, w, prop, type,
32419 +                               32, PropModeReplace, PTR atoms, NELEM(atoms));
32420 +    }
32421 +    else if (type == xio->xa_timestamp)
32422 +    {
32423 +       u32 t = xw->sel_set_t;
32424 +
32425 +       XChangeProperty(xio->dpy, w, prop, type, 32, PropModeReplace, PTR &t, 1);
32426 +    }
32427 +    else if (type == XA_COLORMAP)
32428 +    {
32429 +       u32 t = xio->cmap;
32430 +
32431 +       XChangeProperty(xio->dpy, w, prop, type, 32, PropModeReplace, PTR &t, 1);
32432 +    }
32433 +    else if (type == XA_STRING || type == xio->xa_text)
32434 +    {
32435 +       u8 buf[H * (W+1)];
32436 +       int len;
32437 +
32438 +       len = sel_convert2ascii(xw, buf);
32439 +
32440 +       XChangeProperty(xio->dpy, w, prop, type, 8, PropModeReplace, buf, len);
32441 +    }
32442 +    else if (type == XA_PIXMAP || type == XA_DRAWABLE)
32443 +    {
32444 +       Pixmap pm;
32445 +
32446 +       pm = sel_convert2pixmap(xw);
32447 +
32448 +       XChangeProperty(xio->dpy, w, prop, type, 32, PropModeReplace, PTR &pm, 1);
32449 +    }
32450 +    else if (type == xio->xa_multiple)
32451 +    {
32452 +       u32 *atoms, ty, fo, i;
32453 +       unsigned long n, b;
32454 +
32455 +       if (prop != None)
32456 +       {
32457 +           if (Success == XGetWindowProperty(xio->dpy, w, prop, 0, 1024, 0,
32458 +                       AnyPropertyType, PTR &ty, PTR &fo, &n, &b, PTR &atoms))
32459 +           {
32460 +               if (fo == 32 && n%2 == 0)
32461 +               {
32462 +                   for (i = 0; i < n; i += 2)
32463 +                       if (sel_do_conv(xw, w, atoms[i], atoms[i+1]) == None)
32464 +                           atoms[i] = None;
32465 +               }
32466 +               XChangeProperty(xio->dpy, w, prop, type, 32, PropModeReplace,
32467 +                                                                PTR atoms, n);
32468 +               XFree(atoms);
32469 +           }
32470 +       }
32471 +    }
32472 +    else
32473 +       return None;
32474 +    return prop;
32475 +}
32476 +
32477 +
32478 +static void sel_send(struct xio_win *xw, XSelectionRequestEvent *req)
32479 +{
32480 +    XSelectionEvent ev[1];
32481 +
32482 +    if (req->property == None)
32483 +       req->property = req->target;
32484 +
32485 +    ev->type = SelectionNotify;
32486 +    ev->requestor = req->requestor;
32487 +    ev->selection = req->selection;
32488 +    ev->target = req->target;
32489 +    ev->property = sel_do_conv(xw, req->requestor, req->target, req->property);
32490 +    ev->time = req->time;
32491 +    XSendEvent(xw->xio->dpy, req->requestor, False, 0, PTR ev);
32492 +}
32493 +
32494 +
32495 +static void sel_retrieve(struct xio_win *xw, Window w, Atom prop, int del)
32496 +{
32497 +    u8 *data;
32498 +    u32 ty, fo;
32499 +    unsigned long n, b;
32500 +    struct xio *xio = xw->xio;
32501 +
32502 +    if (prop == None)
32503 +       return;
32504 +
32505 +    if (Success == XGetWindowProperty(xio->dpy, w, prop, 0, 1024, del,
32506 +                       AnyPropertyType, PTR &ty, PTR &fo, &n, &b, PTR &data))
32507 +    {
32508 +       if (fo == 8 && n != 0)
32509 +       {
32510 +           struct vt_event vtev[1];
32511 +
32512 +           vtev->resource = xw;
32513 +           vtev->type = EV_SELECTION;
32514 +           vtev->i1 = n;
32515 +           vtev->p1 = data;
32516 +           xw->handler(xw->data, vtev);
32517 +       }
32518 +       XFree(data);
32519 +    }
32520 +}
32521 +
32522 +
32523 +void xio_cancel_selection(struct xio_win *xw)
32524 +{
32525 +    sel_abort(xw);
32526 +}
32527 +
32528 +
32529 +void xio_query_selection(struct xio_win *xw)
32530 +{
32531 +    struct xio *xio = xw->xio;
32532 +
32533 +    if (XGetSelectionOwner(xio->dpy, XA_PRIMARY) == None)
32534 +       sel_retrieve(xw, xio->root, XA_CUT_BUFFER0, False);
32535 +    else
32536 +    {
32537 +       XDeleteProperty(xio->dpy, xw->win, XA_STRING);
32538 +       XConvertSelection(xio->dpy, XA_PRIMARY, XA_STRING,
32539 +                                           XA_STRING, xw->win, xw->tstamp);
32540 +    }
32541 +}
32542 +
32543 +
32544 +void xio_set_selection(struct xio_win *xw, int x1, int y1, int x2, int y2)
32545 +{
32546 +    sel_start(xw, x1, y1, xw->tstamp - SEL_MIN_TIME);
32547 +    sel_end(xw, x2, y2, xw->tstamp);
32548 +}
32549 +
32550 +
32551 +static void handle_event(struct xio *xio, int fd)
32552 +{
32553 +    struct xio_win *xw;
32554 +    struct vt_event vtev[1];
32555 +    XEvent ev[1];
32556 +
32557 +    XNextEvent(xio->dpy, ev);
32558 +
32559 +    for (xw = PTR xio->windows->first; xw->node->next; xw = PTR xw->node->next)
32560 +       if (xw->win == ev->xany.window)
32561 +           break;
32562 +    if (xw->node->next == 0)
32563 +       return;
32564 +
32565 +    vtev->resource = xw;
32566 +
32567 +    switch(ev->type)
32568 +    {
32569 +       case Expose:
32570 +       {
32571 +           int y1 = ev->xexpose.y / CH;
32572 +           int y2 = (ev->xexpose.y + ev->xexpose.height + CH-1) / CH;
32573 +
32574 +           dirty(xw, y1, y2);
32575 +           break;
32576 +       }
32577 +       case ClientMessage:
32578 +       {
32579 +           vtev->type = EV_CLOSE;
32580 +           if (ev->xclient.format == 32)
32581 +               if ((Atom)ev->xclient.data.l[0] == xio->xa_del_win)
32582 +                   xw->handler(xw->data, vtev);
32583 +           break;
32584 +       }
32585 +       case KeyPress:
32586 +       {
32587 +           unsigned char ch;
32588 +           KeySym k;
32589 +
32590 +           xw->tstamp = ev->xkey.time;
32591 +           vtev->type = EV_KEY;
32592 +           vtev->i1 = 0;
32593 +           vtev->i2 = (ev->xkey.state & ShiftMask) != 0;
32594 +           if (XLookupString(&ev->xkey, &ch, 1, &k, 0))
32595 +               vtev->i1 = ch;
32596 +           else
32597 +               switch (k)
32598 +               {
32599 +                   case XK_Left:       vtev->i1 = KEY_LEFT;    break;
32600 +                   case XK_Right:      vtev->i1 = KEY_RIGHT;   break;
32601 +                   case XK_Up:         vtev->i1 = KEY_UP;      break;
32602 +                   case XK_Down:       vtev->i1 = KEY_DOWN;    break;
32603 +                   case XK_Prior:      vtev->i1 = KEY_PUP;     break;
32604 +                   case XK_Next:       vtev->i1 = KEY_PDOWN;   break;
32605 +                   case XK_Delete:     vtev->i1 = KEY_DEL;     break;
32606 +                   case XK_Insert:     vtev->i1 = KEY_INS;     break;
32607 +                   case XK_F1:         vtev->i1 = KEY_F(1);    break;
32608 +                   case XK_F2:         vtev->i1 = KEY_F(2);    break;
32609 +                   case XK_F3:         vtev->i1 = KEY_F(3);    break;
32610 +                   case XK_F4:         vtev->i1 = KEY_F(4);    break;
32611 +                   case XK_F5:         vtev->i1 = KEY_F(5);    break;
32612 +                   case XK_F6:         vtev->i1 = KEY_F(6);    break;
32613 +                   case XK_F7:         vtev->i1 = KEY_F(7);    break;
32614 +                   case XK_F8:         vtev->i1 = KEY_F(8);    break;
32615 +                   case XK_F9:         vtev->i1 = KEY_F(9);    break;
32616 +                   case XK_F10:        vtev->i1 = KEY_F(10);   break;
32617 +                   case XK_F11:        vtev->i1 = KEY_F(11);   break;
32618 +                   case XK_F12:        vtev->i1 = KEY_F(12);   break;
32619 +               }
32620 +           if (vtev->i1)
32621 +               xw->handler(xw->data, vtev);
32622 +           break;
32623 +       }
32624 +       case ButtonPress:
32625 +       {
32626 +           xw->tstamp = ev->xkey.time;
32627 +           ev->xbutton.x /= CW;
32628 +           ev->xbutton.y /= CH;
32629 +           if (ev->xbutton.button == Button1)
32630 +               sel_start(xw, ev->xbutton.x, ev->xbutton.y, ev->xbutton.time);
32631 +           break;
32632 +       }
32633 +       case MotionNotify:
32634 +       {
32635 +           xw->tstamp = ev->xkey.time;
32636 +           ev->xmotion.x /= CW;
32637 +           ev->xmotion.y /= CH;
32638 +           if (ev->xmotion.state & Button1Mask)
32639 +               sel_move(xw, ev->xmotion.x, ev->xmotion.y, ev->xmotion.time);
32640 +           break;
32641 +       }
32642 +       case ButtonRelease:
32643 +       {
32644 +           xw->tstamp = ev->xkey.time;
32645 +           ev->xbutton.x /= CW;
32646 +           ev->xbutton.y /= CH;
32647 +           if (ev->xbutton.button == Button1)
32648 +               if (sel_end(xw, ev->xbutton.x, ev->xbutton.y, ev->xbutton.time))
32649 +                   break;
32650 +
32651 +           vtev->type = EV_MOUSE;
32652 +           vtev->i1 = ev->xbutton.button;
32653 +           vtev->i2 = (ev->xbutton.state & ShiftMask) != 0;
32654 +           vtev->i3 = ev->xbutton.x;
32655 +           vtev->i4 = ev->xbutton.y;
32656 +           if (vtev->i3 >= 0 && vtev->i3 < W && vtev->i4 >= 0 && vtev->i4 < H)
32657 +               xw->handler(xw->data, vtev);
32658 +           break;
32659 +       }
32660 +       case SelectionClear:
32661 +       {
32662 +       // may be our own Owner=None due to sel_start
32663 +           if (xw->sel_set_t && ev->xselectionclear.time >= xw->sel_set_t)
32664 +           {
32665 +               xw->sel_set_t = 0; // no need to reset owner
32666 +               sel_abort(xw);
32667 +           }
32668 +           break;
32669 +       }
32670 +       case SelectionRequest:
32671 +       {
32672 +           sel_send(xw, &ev->xselectionrequest);
32673 +           break;
32674 +       }
32675 +       case SelectionNotify:
32676 +       {
32677 +           sel_retrieve(xw, ev->xselection.requestor, ev->xselection.property, True);
32678 +           break;
32679 +       }
32680 +       default:
32681 +               break;
32682 +    }
32683 +}
32684 +
32685 +
32686 +static void switch_blink_state(struct xio_win *xw)
32687 +{
32688 +    xw->blink_on = !xw->blink_on;
32689 +    xw->modified |= xw->blink;
32690 +    dirty(xw, xw->curs_y, xw->curs_y + 1);
32691 +}
32692 +
32693 +
32694 +static void send_timer_event(struct xio_win *xw)
32695 +{
32696 +    struct vt_event vtev[1];
32697 +    vtev->type = EV_TIMER;
32698 +    xw->handler(xw->data, vtev);
32699 +}
32700 +
32701 +
32702 +static void xio_timer(void *data, int fd)
32703 +{
32704 +    char buf[64];
32705 +    read(fd, buf, sizeof(buf));
32706 +    for_all_windows(switch_blink_state, 0);
32707 +    for_all_windows(send_timer_event, 0);
32708 +}
32709 +
32710 +
32711 +void xio_event_loop(void)
32712 +{
32713 +    struct xio *xio, *vtn;
32714 +    int f;
32715 +
32716 +    while (not dl_empty(dpys))
32717 +    {
32718 +       do
32719 +       {
32720 +           for_all_windows(xio_update_win, 0);
32721 +           f = 0;
32722 +           for (xio = PTR dpys->first; vtn = PTR xio->node->next; xio = vtn)
32723 +               while (XPending(xio->dpy))
32724 +               {
32725 +                   handle_event(xio, xio->fd);
32726 +                   f++;
32727 +               }
32728 +       } while (f);
32729 +       fdset_select(fds, -1);
32730 +    }
32731 +}
32732 diff -r af23d23c278b util/alevt/xio.h
32733 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
32734 +++ b/util/alevt/xio.h  Tue Dec 21 12:13:28 2010 +0100
32735 @@ -0,0 +1,80 @@
32736 +#ifndef VTXIO_H
32737 +#define VTXIO_H
32738 +
32739 +#include <X11/Xlib.h>
32740 +#include "vt.h"
32741 +#include "dllist.h"
32742 +
32743 +typedef u32 lbits;
32744 +#define ALL_LINES ((1ul << H) - 1)
32745 +
32746 +/* one xio per display */
32747 +struct xio
32748 +{
32749 +    struct dl_node node[1];
32750 +    int argc;
32751 +    char **argv;
32752 +    Display *dpy;                      /* display connection */
32753 +    int fd;                            /* the displays file descriptor */
32754 +    Atom xa_del_win;                   /* WM_DELETE_WINDOW atom */
32755 +    Atom xa_targets;                   /* TARGETS atom (selection) */
32756 +    Atom xa_timestamp;                 /* TIMESTAMP atom (selection) */
32757 +    Atom xa_text;                      /* TEXT atom (selection) */
32758 +    Atom xa_multiple;                  /* MULTIPLE atom (selection) */
32759 +    Window group_leader;               /* unmapped window */
32760 +    int screen;                                /* DefaultScreen */
32761 +    int width, height;                 /* DisplayWidth/Height */
32762 +    int depth;                         /* DefaultDepth */
32763 +    Window root;                       /* DefaultRoot */
32764 +    Colormap cmap;
32765 +    int color[16];                     /* 8 normal, 8 dim intensity */
32766 +    Pixmap font[2];                    /* normal, dbl-height */
32767 +    Pixmap icon;                       /* icon pixmap */
32768 +    struct dl_head windows[1];         /* all windows on this display */
32769 +};
32770 +
32771 +/* one vt_win per window */
32772 +struct xio_win
32773 +{
32774 +    struct dl_node node[1];
32775 +    struct xio *xio;                   /* display */
32776 +    Window win;                                /* the drawing window */
32777 +    Time tstamp;                       /* timestamp of last user event */
32778 +    GC gc;                             /* it's graphics context */
32779 +    u8 ch[H*W];                                /* the page contents */
32780 +    lbits modified, hidden, lhidden;   /* states for each line */
32781 +    lbits dheight, blink, concealed;   /* attributes for each line */
32782 +    int fg, bg;                                /* current foreground/background */
32783 +    int blink_on;                      /* blinking on */
32784 +    int reveal;                                /* reveal concealed text */
32785 +    void (*handler)(void *data, struct vt_event *ev); /* event-handler */
32786 +    void *data;                                /* data for the event-handler */
32787 +    int curs_x, curs_y;                        /* cursor position */
32788 +    u8 title[32];                      /* the user title */
32789 +    // selection support
32790 +    int sel_start_x, sel_start_y;
32791 +    Time sel_start_t;
32792 +    Time sel_set_t;                    /* time we got selection owner */
32793 +    int sel_x1, sel_y1, sel_x2, sel_y2;        /* selected area */
32794 +    Pixmap sel_pixmap;                 /* for pixmap-selection requests */
32795 +};
32796 +
32797 +struct xio *xio_open_dpy(char *dpy, int argc, char **argv);
32798 +struct xio_win *xio_open_win(struct xio *xio, char *geom);
32799 +void xio_close_win(struct xio_win *xw, int dpy_too);
32800 +void xio_close_dpy(struct xio *xio);
32801 +void xio_set_handler(struct xio_win *xw, void *handler, void *data);
32802 +void xio_clear_win(struct xio_win *xw);
32803 +void xio_put_line(struct xio_win *xw, int line, u8 *data);
32804 +void xio_put_str(struct xio_win *xw, int line, u8 *c_str);
32805 +int xio_get_line(struct xio_win *xw, int line, u8 *data);
32806 +int xio_set_concealed(struct xio_win *xw, int on);
32807 +void xio_update_win(struct xio_win *xw);
32808 +void xio_fd_handler(int fd, void *handler, void *data);
32809 +void xio_cancel_selection(struct xio_win *xw);
32810 +void xio_query_selection(struct xio_win *xw);
32811 +void xio_set_selection(struct xio_win *xw, int x1, int y1, int x2, int y2);
32812 +void xio_set_cursor(struct xio_win *xw, int x, int y);
32813 +void xio_event_loop(void);
32814 +void xio_title(struct xio_win *xw, char *title);
32815 +#endif
32816 diff -r af23d23c278b util/femon/femon.c
32817 --- a/util/femon/femon.c        Sat Jun 20 16:47:55 2009 +0200
32818 +++ b/util/femon/femon.c        Tue Dec 21 12:13:28 2010 +0100
32819 @@ -42,14 +42,21 @@
32820  static char *usage_str =
32821      "\nusage: femon [options]\n"
32822      "     -H        : human readable output\n"
32823 +    "     -A        : Acoustical mode. A sound indicates the signal quality.\n"
32824 +    "     -r        : If 'Acoustical mode' is active it tells the application\n"
32825 +    "                 is called remotely via ssh. The sound is heard on the 'real'\n"
32826 +    "                 machine but. The user has to be root.\n"
32827      "     -a number : use given adapter (default 0)\n"
32828      "     -f number : use given frontend (default 0)\n"
32829      "     -c number : samples to take (default 0 = infinite)\n\n";
32830  
32831 +int sleep_time=1000000;
32832 +int acoustical_mode=0;
32833 +int remote=0;
32834  
32835  static void usage(void)
32836  {
32837 -       fprintf(stderr, usage_str);
32838 +       fprintf(stderr, "%s", usage_str);
32839         exit(1);
32840  }
32841  
32842 @@ -59,6 +66,27 @@
32843  {
32844         struct dvbfe_info fe_info;
32845         unsigned int samples = 0;
32846 +       FILE *ttyFile=NULL;
32847 +       
32848 +       // We dont write the "beep"-codes to stdout but to /dev/tty1.
32849 +       // This is neccessary for Thin-Client-Systems or Streaming-Boxes
32850 +       // where the computer does not have a monitor and femon is called via ssh.
32851 +       if(acoustical_mode)
32852 +       {
32853 +           if(remote)
32854 +           {
32855 +               ttyFile=fopen("/dev/tty1","w");
32856 +               if(!ttyFile)
32857 +               {
32858 +                   fprintf(stderr, "Could not open /dev/tty1. No access rights?\n");
32859 +                   exit(-1);
32860 +               }
32861 +           }
32862 +           else
32863 +           {
32864 +               ttyFile=stdout;
32865 +           }
32866 +       }
32867  
32868         do {
32869                 if (dvbfe_get_info(fe, FE_STATUS_PARAMS, &fe_info, DVBFE_INFO_QUERYTYPE_IMMEDIATE, 0) != FE_STATUS_PARAMS) {
32870 @@ -94,12 +122,24 @@
32871                 if (fe_info.lock)
32872                         printf("FE_HAS_LOCK");
32873  
32874 +               // create beep if acoustical_mode enabled
32875 +               if(acoustical_mode)
32876 +               {
32877 +                   int signal=(fe_info.signal_strength * 100) / 0xffff;
32878 +                   fprintf( ttyFile, "\033[10;%d]\a", 500+(signal*2));
32879 +                   // printf("Variable : %d\n", signal);
32880 +                   fflush(ttyFile);
32881 +               }
32882 +
32883                 printf("\n");
32884                 fflush(stdout);
32885 -               usleep(1000000);
32886 +               usleep(sleep_time);
32887                 samples++;
32888         } while ((!count) || (count-samples));
32889 -
32890 +       
32891 +       if(ttyFile)
32892 +           fclose(ttyFile);
32893 +       
32894         return 0;
32895  }
32896  
32897 @@ -148,7 +188,7 @@
32898         int human_readable = 0;
32899         int opt;
32900  
32901 -       while ((opt = getopt(argc, argv, "Ha:f:c:")) != -1) {
32902 +       while ((opt = getopt(argc, argv, "rAHa:f:c:")) != -1) {
32903                 switch (opt)
32904                 {
32905                 default:
32906 @@ -166,6 +206,15 @@
32907                 case 'H':
32908                         human_readable = 1;
32909                         break;
32910 +               case 'A':
32911 +                       // Acoustical mode: we have to reduce the delay between
32912 +                       // checks in order to hear nice sound
32913 +                       sleep_time=5000;
32914 +                       acoustical_mode=1;
32915 +                       break;
32916 +               case 'r':
32917 +                       remote=1;
32918 +                       break;
32919                 }
32920         }
32921  
32922 diff -r af23d23c278b util/gotox/Makefile
32923 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
32924 +++ b/util/gotox/Makefile       Tue Dec 21 12:13:28 2010 +0100
32925 @@ -0,0 +1,17 @@
32926 +# Makefile for linuxtv.org dvb-apps/util/gotox
32927 +
32928 +binaries = gotox
32929 +
32930 +inst_bin = $(binaries)
32931 +
32932 +CPPFLAGS += -I../../lib
32933 +LDFLAGS  += -L../../lib/libdvbapi
32934 +LDFLAGS  += -L../../lib/libdvbsec
32935 +LDLIBS   += -ldvbapi
32936 +LDLIBS   += -ldvbsec
32937 +
32938 +.PHONY: all
32939 +
32940 +all: $(binaries)
32941 +
32942 +include ../../Make.rules
32943 diff -r af23d23c278b util/gotox/gotox.c
32944 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
32945 +++ b/util/gotox/gotox.c        Tue Dec 21 12:13:28 2010 +0100
32946 @@ -0,0 +1,145 @@
32947 +/*
32948 + *  Copyright (C) 2006 by Michel Verbraak <michel@verbraak.org>
32949 + *
32950 + *  This program is free software; you can redistribute it and/or modify
32951 + *  it under the terms of the GNU General Public License as published by
32952 + *  the Free Software Foundation; either version 2 of the License, or
32953 + *  (at your option) any later version.
32954 + *
32955 + *  This program is distributed in the hope that it will be useful,
32956 + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
32957 + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
32958 + *  GNU General Public License for more details
32959 + *
32960 + *  You should have received a copy of the GNU General Public License
32961 + *  along with this program; if not, write to the
32962 + *  Free Software Foundation, Inc.,
32963 + *  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
32964 + */
32965 +
32966 +
32967 +#ifdef HAVE_CONFIG_H
32968 +#include <config.h>
32969 +#endif
32970 +
32971 +#include <stdio.h>
32972 +#include <stdlib.h>
32973 +#include <unistd.h>
32974 +#include <libdvbapi/dvbfe.h>
32975 +#include <libdvbsec/dvbsec_api.h>
32976 +
32977 +static char *usage_str =
32978 +       "\nusage: gotox [options] -d <angle>\n"
32979 +       "         Goto the specified angle. Positive value for East rotation\n"
32980 +       "         Negative value for West rotation on Northern Hemisphere.\n"
32981 +       "     -d degrees : Angle to turn to in degrees (default 0)\n"
32982 +       "     -a number : use given adapter (default 0)\n"
32983 +       "     -f number : use given frontend (default 0)\n"
32984 +       "     -t seconds : leave power on to rotor for at least specified seconds of time (default 30)\n\n";
32985 +
32986 +int main(int argc, char *argv[])
32987 +{
32988 +       struct dvbfe_handle *fe;
32989 +       unsigned int adapter = 0, frontend = 0;
32990 +       double angle = 0;
32991 +       int opt;
32992 +       unsigned int sleepcount = 30;
32993 +       static char *weststr = "west";
32994 +       static char *eaststr = "east";
32995 +
32996 +       while ((opt = getopt(argc, argv, "ha:f:t:d:")) != -1) {
32997 +
32998 +               switch (opt){
32999 +               case '?':
33000 +               case 'h':
33001 +               default:
33002 +                       fprintf(stderr, "%s", usage_str);
33003 +                       return EXIT_SUCCESS; 
33004 +
33005 +               case 'a':
33006 +                       adapter = strtoul(optarg, NULL, 0);
33007 +                       break;
33008 +
33009 +               case 'f':
33010 +                       frontend = strtoul(optarg, NULL, 0);
33011 +                       break;
33012 +
33013 +               case 't':
33014 +                       sleepcount = strtoul(optarg, NULL, 0);
33015 +                       break;
33016 +
33017 +               case 'd':
33018 +                       angle = strtod(optarg, NULL);
33019 +                       break;
33020 +               }
33021 +       }
33022 +
33023 +       printf("Will try to rotate %s to %.2f degrees.\n", (angle < 0.0) ? weststr : eaststr, angle );
33024 +
33025 +       fe = dvbfe_open(adapter, frontend, 0);
33026 +       if (fe == NULL) {
33027 +               fprintf(stderr, "Could not open frontend %d on adapter %d.\n", frontend, adapter);
33028 +               exit(1);
33029 +       }
33030 +
33031 +       if (dvbfe_set_voltage(fe, DVBFE_SEC_VOLTAGE_OFF) != 0) {
33032 +               fprintf(stderr, "Could not turn off power.\n");
33033 +               dvbfe_close(fe);
33034 +               return 1;
33035 +       }
33036 +       else
33037 +               printf("Power OFF.\n");
33038 +
33039 +       sleep(1);
33040 +
33041 +       if (dvbfe_set_voltage(fe, DVBFE_SEC_VOLTAGE_18) != 0) {
33042 +               fprintf(stderr, "Could not turn on power.\n");
33043 +               dvbfe_close(fe);
33044 +               return 1;
33045 +       }
33046 +       else
33047 +               printf("Power on to 18V.\n");
33048 +
33049 +       sleep(1);
33050 +
33051 +       if (abs(angle) == 0.0) {
33052 +
33053 +               if (dvbsec_diseqc_goto_satpos_preset(fe, DISEQC_ADDRESS_POLAR_AZIMUTH_POSITIONER, 0) != 0) {
33054 +                       fprintf(stderr, "Could not goto 0.\n");
33055 +                       dvbfe_close(fe);
33056 +                       return 2;
33057 +               } else {
33058 +                       printf("Going to home base 0 degrees.\n");
33059 +               }
33060 +       } else {
33061 +
33062 +               if (dvbsec_diseqc_goto_rotator_bearing(fe, DISEQC_ADDRESS_POLAR_AZIMUTH_POSITIONER, angle) != 0) {
33063 +                       fprintf(stderr, "Could not rotate.\n");
33064 +                       dvbfe_close(fe);
33065 +                       return 2;
33066 +               }
33067 +       }
33068 +
33069 +       while (sleepcount != 0) {
33070 +               printf("%d: Rotating to %.2f.\r", sleepcount, angle);
33071 +               fflush(NULL);
33072 +               sleepcount--;
33073 +               sleep(1);
33074 +       }
33075 +
33076 +       printf("\nRotated.\n");
33077 +
33078 +       if (dvbfe_set_voltage(fe, DVBFE_SEC_VOLTAGE_OFF) != 0) {
33079 +               fprintf(stderr, "Could not turn off power.\n");
33080 +               dvbfe_close(fe);
33081 +               return 1;
33082 +       }
33083 +       else
33084 +               printf("Power OFF.\n");
33085 +
33086 +       sleep(1);
33087 +
33088 +       dvbfe_close(fe);
33089 +
33090 +       return EXIT_SUCCESS;
33091 +}
33092 diff -r af23d23c278b util/scan/dvb-c/at-Kabel-Braunau
33093 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33094 +++ b/util/scan/dvb-c/at-Kabel-Braunau  Tue Dec 21 12:13:28 2010 +0100
33095 @@ -0,0 +1,26 @@
33096 +# Kabel Braunau
33097 +# freq sr fec mod
33098 +C 386000000 6900000 NONE QAM64
33099 +C 394000000 6875000 NONE QAM64
33100 +C 402000000 6875000 NONE QAM64
33101 +C 410000000 6875000 NONE QAM64
33102 +C 418000000 6875000 NONE QAM64
33103 +C 426000000 6875000 NONE QAM64
33104 +C 434000000 6875000 NONE QAM64
33105 +C 458000000 6875000 NONE QAM64
33106 +C 466000000 6900000 NONE QAM64
33107 +C 474000000 6900000 NONE QAM64
33108 +C 482000000 6111000 NONE QAM64
33109 +C 490000000 6111000 NONE QAM64
33110 +C 498000000 6875000 NONE QAM64
33111 +C 506000000 6111000 NONE QAM64
33112 +C 514000000 6111000 NONE QAM64
33113 +C 522000000 6428000 NONE QAM128
33114 +C 530000000 6428000 NONE QAM128
33115 +C 546000000 6875000 NONE QAM64
33116 +C 554000000 6875000 NONE QAM64
33117 +C 562000000 6875000 NONE QAM64
33118 +C 570000000 6111000 NONE QAM64
33119 +C 578000000 6900000 NONE QAM256
33120 +C 586000000 6900000 NONE QAM256
33121 +C 594000000 6875000 NONE QAM64
33122 diff -r af23d23c278b util/scan/dvb-c/at-Kabelsignal
33123 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33124 +++ b/util/scan/dvb-c/at-Kabelsignal    Tue Dec 21 12:13:28 2010 +0100
33125 @@ -0,0 +1,38 @@
33126 +# kabelsignal
33127 +# freq sr fec mod
33128 +C 314000000 6900000 NONE QAM256
33129 +C 322000000 6900000 NONE QAM256
33130 +C 330000000 6900000 NONE QAM256
33131 +C 338000000 6900000 NONE QAM256
33132 +C 346000000 6900000 NONE QAM256
33133 +C 354000000 6900000 NONE QAM256
33134 +C 362000000 6900000 NONE QAM256
33135 +C 370000000 6900000 NONE QAM256
33136 +C 378000000 6900000 NONE QAM256
33137 +C 386000000 6900000 NONE QAM256
33138 +C 394000000 6900000 NONE QAM256
33139 +C 402000000 6900000 NONE QAM256
33140 +C 410000000 6900000 NONE QAM256
33141 +C 418000000 6900000 NONE QAM256
33142 +C 426000000 6900000 NONE QAM256
33143 +C 434000000 6900000 NONE QAM256
33144 +C 442000000 6900000 NONE QAM256
33145 +C 450000000 6900000 NONE QAM256
33146 +C 666000000 6900000 NONE QAM256
33147 +C 674000000 6900000 NONE QAM256
33148 +C 682000000 6900000 NONE QAM256
33149 +C 690000000 6900000 NONE QAM256
33150 +C 698000000 6900000 NONE QAM256
33151 +C 706000000 6900000 NONE QAM256
33152 +C 714000000 6900000 NONE QAM256
33153 +C 722000000 6900000 NONE QAM256
33154 +C 730000000 6900000 NONE QAM256
33155 +C 738000000 6900000 NONE QAM256
33156 +C 746000000 6900000 NONE QAM256
33157 +C 762000000 6900000 NONE QAM256
33158 +C 770000000 6900000 NONE QAM256
33159 +C 778000000 6900000 NONE QAM256
33160 +C 786000000 6900000 NONE QAM256
33161 +C 794000000 6900000 NONE QAM256
33162 +C 802000000 6900000 NONE QAM256
33163 +C 810000000 6900000 NONE QAM256
33164 diff -r af23d23c278b util/scan/dvb-c/at-KarrerNet
33165 --- a/util/scan/dvb-c/at-KarrerNet      Sat Jun 20 16:47:55 2009 +0200
33166 +++ b/util/scan/dvb-c/at-KarrerNet      Tue Dec 21 12:13:28 2010 +0100
33167 @@ -1,18 +1,26 @@
33168  # Kabel St. Florian bei Linz/AT KarrerNet
33169  # 2009-01-10
33170  # freq sr fec mod
33171 -C 418000000 6900000 NONE QAM64
33172 -C 426000000 6900000 NONE QAM64
33173 -C 434000000 6900000 NONE QAM64
33174  C 442000000 6900000 NONE QAM64
33175 -C 450000000 6900000 NONE QAM64
33176  C 458000000 6900000 NONE QAM64
33177  C 466000000 6900000 NONE QAM64
33178  C 474000000 6900000 NONE QAM64
33179  C 482000000 6900000 NONE QAM64
33180 +C 490000000 6900000 NONE QAM64
33181 +C 498000000 6900000 NONE QAM64
33182 +C 506000000 6900000 NONE QAM64
33183 +C 514000000 6900000 NONE QAM64
33184  C 522000000 6900000 NONE QAM64
33185  C 530000000 6900000 NONE QAM64
33186  C 538000000 6900000 NONE QAM64
33187 +C 546000000 6900000 NONE QAM64
33188 +C 554000000 6900000 NONE QAM64
33189 +C 562000000 6900000 NONE QAM64
33190 +C 570000000 6900000 NONE QAM64
33191  C 578000000 6900000 NONE QAM64
33192 -C 402000000 6900000 NONE QAM256
33193 +C 586000000 6900000 NONE QAM64
33194 +C 610000000 6900000 NONE QAM64
33195 +C 386000000 6900000 NONE QAM256
33196 +C 394000000 6900000 NONE QAM256
33197  C 410000000 6900000 NONE QAM256
33198 +C 434000000 6900000 NONE QAM256
33199 diff -r af23d23c278b util/scan/dvb-c/de-Primacom
33200 --- a/util/scan/dvb-c/de-Primacom       Sat Jun 20 16:47:55 2009 +0200
33201 +++ b/util/scan/dvb-c/de-Primacom       Tue Dec 21 12:13:28 2010 +0100
33202 @@ -1,6 +1,9 @@
33203  # Primacom
33204  # freq sr fec mod
33205  C 121000000 6900000 NONE QAM64
33206 +C 129000000 6900000 NONE QAM256
33207 +C 137000000 6900000 NONE QAM256
33208 +C 145000000 6900000 NONE QAM256
33209  C 306000000 6900000 NONE QAM64
33210  C 314000000 6900000 NONE QAM64
33211  C 322000000 6900000 NONE QAM64
33212 @@ -13,6 +16,8 @@
33213  C 378000000 6900000 NONE QAM256
33214  C 386000000 6900000 NONE QAM256
33215  C 394000000 6900000 NONE QAM256
33216 +C 402000000 6900000 NONE QAM256
33217 +C 410000000 6900000 NONE QAM256
33218  C 418000000 6900000 NONE QAM256
33219  C 434000000 6900000 NONE QAM64
33220  C 442000000 6900000 NONE QAM64
33221 diff -r af23d23c278b util/scan/dvb-c/de-Unitymedia
33222 --- a/util/scan/dvb-c/de-Unitymedia     Sat Jun 20 16:47:55 2009 +0200
33223 +++ b/util/scan/dvb-c/de-Unitymedia     Tue Dec 21 12:13:28 2010 +0100
33224 @@ -1,35 +1,36 @@
33225  # Unitymedia
33226 -# Created from http://www.unitymedia.de/service/tv/frequenzen.html
33227 -# and http://blob.unitymedia.de/Download/Unitymedia_Senderlineup_digital_2008-05-28.pdf
33228 +# Created from http://www.unitymedia.de/service/soforthilfe/frequenzen.html
33229 +# and http://www.unitymedia.de/images/UnityDigitalTV_Lineup_01-07-2009.pdf
33230  # freq sr fec mod
33231  C 113000000 6900000 NONE QAM256
33232  C 121000000 6900000 NONE QAM256
33233 -C 338000000 6900000 NONE QAM256
33234  C 346000000 6900000 NONE QAM256
33235  C 354000000 6900000 NONE QAM64
33236  C 362000000 6900000 NONE QAM64
33237  C 370000000 6900000 NONE QAM64
33238  C 378000000 6900000 NONE QAM64
33239  C 386000000 6900000 NONE QAM64
33240 -C 394000000 6900000 NONE QAM256
33241 +C 394000000 6900000 NONE QAM64
33242  C 402000000 6900000 NONE QAM256
33243  C 410000000 6900000 NONE QAM256
33244  C 418000000 6900000 NONE QAM256
33245  C 426000000 6900000 NONE QAM256
33246  C 434000000 6900000 NONE QAM256
33247 -C 442000000 6900000 NONE QAM64
33248 -C 450000000 6900000 NONE QAM64
33249 +C 442000000 6900000 NONE QAM256
33250 +C 450000000 6900000 NONE QAM256
33251  C 458000000 6900000 NONE QAM256
33252  C 466000000 6900000 NONE QAM256
33253 -C 474000000 6900000 NONE QAM64
33254  C 522000000 6900000 NONE QAM256
33255  C 530000000 6900000 NONE QAM256
33256  C 538000000 6900000 NONE QAM256
33257 +C 546000000 6900000 NONE QAM256
33258  C 554000000 6900000 NONE QAM256
33259  C 562000000 6900000 NONE QAM256
33260  C 570000000 6900000 NONE QAM256
33261 -C 610000000 6900000 NONE QAM64
33262  C 650000000 6900000 NONE QAM256
33263  C 658000000 6900000 NONE QAM256
33264  C 666000000 6900000 NONE QAM256
33265  C 674000000 6900000 NONE QAM256
33266 +C 682000000 6900000 NONE QAM256
33267 +C 690000000 6900000 NONE QAM256
33268 +C 698000000 6900000 NONE QAM256
33269 diff -r af23d23c278b util/scan/dvb-c/de-komro-Rosenheim
33270 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33271 +++ b/util/scan/dvb-c/de-komro-Rosenheim        Tue Dec 21 12:13:28 2010 +0100
33272 @@ -0,0 +1,30 @@
33273 +# komro (Rosenheim)
33274 +# freq sr fec mod
33275 +C 113000000 6900000 NONE QAM64
33276 +C 121000000 6900000 NONE QAM64
33277 +C 338000000 6900000 NONE QAM256
33278 +C 394000000 6900000 NONE QAM256
33279 +C 450000000 6900000 NONE QAM64
33280 +C 458000000 6900000 NONE QAM64
33281 +C 466000000 6900000 NONE QAM64
33282 +C 522000000 6900000 NONE QAM256
33283 +C 530000000 6900000 NONE QAM256
33284 +C 602000000 6900000 NONE QAM256
33285 +C 610000000 6900000 NONE QAM256
33286 +C 626000000 6900000 NONE QAM256
33287 +C 642000000 6900000 NONE QAM256
33288 +C 650000000 6900000 NONE QAM256
33289 +C 658000000 6900000 NONE QAM64
33290 +C 666000000 6900000 NONE QAM64
33291 +C 682000000 6900000 NONE QAM64
33292 +C 690000000 6900000 NONE QAM256
33293 +C 698000000 6900000 NONE QAM256
33294 +C 706000000 6900000 NONE QAM256
33295 +C 714000000 6900000 NONE QAM256
33296 +C 722000000 6900000 NONE QAM256
33297 +C 730000000 6900000 NONE QAM64
33298 +C 738000000 6900000 NONE QAM64
33299 +C 746000000 6900000 NONE QAM64
33300 +C 754000000 6900000 NONE QAM64
33301 +C 762000000 6900000 NONE QAM256
33302 +C 778000000 6900000 NONE QAM64
33303 diff -r af23d23c278b util/scan/dvb-c/fi-Oulu
33304 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33305 +++ b/util/scan/dvb-c/fi-Oulu   Tue Dec 21 12:13:28 2010 +0100
33306 @@ -0,0 +1,19 @@
33307 +# DVB-C Channels in Oulu (Finland)\r
33308 +# dna network\r
33309 +# freq      sr      fec  mod\r
33310 +C 330000000 6875000 NONE QAM128 #mux1\r
33311 +C 370000000 6875000 NONE QAM128 #mux2\r
33312 +C 362000000 6875000 NONE QAM128 #mux3\r
33313 +C 354000000 6875000 NONE QAM128 #mux4\r
33314 +C 346000000 6875000 NONE QAM128 #mux5\r
33315 +C 338000000 6875000 NONE QAM128 #mux6\r
33316 +C 322000000 6875000 NONE QAM128 #mux7\r
33317 +C 314000000 6875000 NONE QAM128 #mux8\r
33318 +C 378000000 6875000 NONE QAM128 #mux9\r
33319 +C 306000000 6875000 NONE QAM128 #mux10\r
33320 +C 298000000 6875000 NONE QAM128 #mux11\r
33321 +C 290000000 6875000 NONE QAM128 #mux12\r
33322 +C 274000000 6875000 NONE QAM128 #mux13\r
33323 +C 266000000 6875000 NONE QAM128 #mux14\r
33324 +C 258000000 6875000 NONE QAM128 #mux15\r
33325 +C 250000000 6875000 NONE QAM128 #mux16\r
33326 diff -r af23d23c278b util/scan/dvb-c/fi-Turku
33327 --- a/util/scan/dvb-c/fi-Turku  Sat Jun 20 16:47:55 2009 +0200
33328 +++ b/util/scan/dvb-c/fi-Turku  Tue Dec 21 12:13:28 2010 +0100
33329 @@ -3,6 +3,13 @@
33330  C 146000000 6900000 NONE QAM128
33331  C 154000000 6900000 NONE QAM128
33332  C 162000000 6900000 NONE QAM128
33333 +C 234000000 6900000 NONE QAM256
33334 +C 242000000 6900000 NONE QAM256
33335 +C 250000000 6900000 NONE QAM256
33336 +C 258000000 6900000 NONE QAM256
33337 +C 266000000 6900000 NONE QAM256
33338 +C 290000000 6900000 NONE QAM128
33339 +C 298000000 6900000 NONE QAM128
33340  C 322000000 6900000 NONE QAM128
33341  C 330000000 6900000 NONE QAM128
33342  C 338000000 6900000 NONE QAM128
33343 @@ -14,4 +21,3 @@
33344  C 418000000 6900000 NONE QAM128
33345  C 426000000 6900000 NONE QAM128
33346  C 442000000 6900000 NONE QAM128
33347 -C 354000000 6900000 NONE QAM256
33348 diff -r af23d23c278b util/scan/dvb-c/hu-Digikabel
33349 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33350 +++ b/util/scan/dvb-c/hu-Digikabel      Tue Dec 21 12:13:28 2010 +0100
33351 @@ -0,0 +1,21 @@
33352 +# Digikabel, Hungary
33353 +# For the following cities:
33354 +#  Budapest, Dorog, Hatvan, Kiskunhalas, Debrecen, Szekesfehervar, Pecs,
33355 +#  Veszprem, Dunaujvaros, Miskolc, Gyongyos, Tatabanya, Varpalota, Nagykanizsa,
33356 +#  Salgotarjan, Batonyterenye, Szolnok, Szentistvan, Nyiregyhaza, Gyor,
33357 +#  Szazhalombatta, Bekescsaba, Bekes, Eger, Komlo, Oroszlany
33358 +# In some of the cities not all the frequencies are available.
33359 +# freq sr fec mod
33360 +C 354000000 6900000 NONE QAM256
33361 +C 362000000 6900000 NONE QAM256
33362 +C 370000000 6900000 NONE QAM256
33363 +C 378000000 6900000 NONE QAM256
33364 +C 386000000 6900000 NONE QAM256
33365 +C 394000000 6900000 NONE QAM256
33366 +C 402000000 6900000 NONE QAM256
33367 +C 410000000 6900000 NONE QAM256
33368 +C 762000000 6900000 NONE QAM256
33369 +C 770000000 6900000 NONE QAM256
33370 +C 778000000 6900000 NONE QAM256
33371 +C 786000000 6900000 NONE QAM256
33372 +C 794000000 6900000 NONE QAM256
33373 diff -r af23d23c278b util/scan/dvb-c/nl-REKAM-CAIW_Gouda
33374 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33375 +++ b/util/scan/dvb-c/nl-REKAM-CAIW_Gouda       Tue Dec 21 12:13:28 2010 +0100
33376 @@ -0,0 +1,4 @@
33377 +# REKAM / Caiway, Gouda, Netherlands
33378 +# freq sr fec mod
33379 +C 163000000 6875000 NONE QAM64
33380 +C 770000000 6900000 NONE QAM64
33381 diff -r af23d23c278b util/scan/dvb-c/se-comhem
33382 --- a/util/scan/dvb-c/se-comhem Sat Jun 20 16:47:55 2009 +0200
33383 +++ b/util/scan/dvb-c/se-comhem Tue Dec 21 12:13:28 2010 +0100
33384 @@ -1,3 +1,25 @@
33385  # com hem
33386  # freq sr fec mod
33387 +C 289500000 6875000 NONE QAM64
33388 +C 298000000 6875000 NONE QAM64
33389 +C 306000000 6875000 NONE QAM64
33390 +C 314000000 6875000 NONE QAM64
33391 +C 322000000 6875000 NONE QAM64
33392 +C 338000000 6875000 NONE QAM64
33393 +C 346000000 6875000 NONE QAM64
33394 +C 354000000 6875000 NONE QAM64
33395  C 362000000 6875000 NONE QAM64
33396 +C 370000000 6875000 NONE QAM64
33397 +C 378000000 6875000 NONE QAM64
33398 +C 386000000 6875000 NONE QAM64
33399 +C 394000000 6875000 NONE QAM64
33400 +C 402000000 6875000 NONE QAM64
33401 +C 418000000 6875000 NONE QAM64
33402 +C 434000000 6875000 NONE QAM64
33403 +C 442000000 6875000 NONE QAM64
33404 +C 450000000 6875000 NONE QAM64
33405 +C 458000000 6875000 NONE QAM64
33406 +C 714000000 6875000 NONE QAM64
33407 +C 722000000 6875000 NONE QAM64
33408 +C 738000000 6875000 NONE QAM64
33409 +C 786000000 6875000 NONE QAM64
33410 diff -r af23d23c278b util/scan/dvb-s/Agila2_C-146.0E
33411 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33412 +++ b/util/scan/dvb-s/Agila2_C-146.0E   Tue Dec 21 12:13:28 2010 +0100
33413 @@ -0,0 +1,60 @@
33414 +# Agila 2 @ 146.0E C-BAND
33415 +# Generated by Pietro Casoar
33416 +# 1st March 2009
33417 +
33418 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
33419 +# freq pol sr fec
33420 +
33421 +# Viva Prime Channel
33422 +S 3725000 H 2345000 3/4
33423 +
33424 +# Zoe Philippines
33425 +S 3774000 V 3300000 3/4
33426 +
33427 +# Da Ai TV indonesia
33428 +S 3791000 H 3100000 3/4
33429 +
33430 +# Trinity Broadcasting Multiplex
33431 +S 3791000 V 10091000 5/6
33432 +
33433 +# Bayon TV
33434 +S 3796000 H 3360000 3/4
33435 +
33436 +# White Springs TV
33437 +S 3846000 H 6110000 3/4
33438 +
33439 +# TCT World
33440 +S 3854000 H 2603000 5/6
33441 +
33442 +# CCTN
33443 +S 3873000 V 2532000 3/4
33444 +
33445 +# NBN Philippines
33446 +S 3875000 H 3000000 3/4
33447 +
33448 +# Al Masriyah
33449 +S 3880000 H 2000000 3/4
33450 +
33451 +# Viva Entertainment Multiplex
33452 +S 3887000 H 6716000 3/4
33453 +
33454 +# IBC13
33455 +S 3896000 H 3000000 3/4
33456 +
33457 +# CTN Cambodia Multiplex
33458 +S 3979000 V 9628000 3/4
33459 +
33460 +# Divya TV
33461 +S 3990000 V 13330000 3/4
33462 +
33463 +# Familyland TV Network
33464 +S 4164000 V 3735000 7/8
33465 +
33466 +# MTV Philippines
33467 +S 4171000 V 3213000 3/4
33468 +
33469 +# The Old Path TV
33470 +S 4183000 V 2170000 3/4
33471 +
33472 +# UNTV
33473 +S 4188000 V 2170000 3/4
33474 diff -r af23d23c278b util/scan/dvb-s/Apstar6_C-134.0E
33475 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33476 +++ b/util/scan/dvb-s/Apstar6_C-134.0E  Tue Dec 21 12:13:28 2010 +0100
33477 @@ -0,0 +1,15 @@
33478 +# Apstar 6 @ 134.0E C-BAND
33479 +# Generated by Pietro Casoar
33480 +# 1st March 2009
33481 +
33482 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
33483 +# freq pol sr fec
33484 +
33485 +# New Entertainment
33486 +S 3766000 H 4285000 3/4
33487 +
33488 +# Test
33489 +S 3840000 H 27500000 3/4
33490 +
33491 +# TV Nusantara
33492 +S 3905000 H 3250000 3/4
33493 diff -r af23d23c278b util/scan/dvb-s/AsiaSat2_C-100.5E
33494 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33495 +++ b/util/scan/dvb-s/AsiaSat2_C-100.5E Tue Dec 21 12:13:28 2010 +0100
33496 @@ -0,0 +1,51 @@
33497 +# AsiaSat 2 100.5E C-BAND
33498 +# Generated by Pietro Casoar
33499 +# 1st March 2009
33500 +
33501 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
33502 +# freq pol sr fec
33503 +
33504 +# Iris Sat Multiplex
33505 +S 3660000 V 27500000 3/4
33506 +
33507 +# APTN Direct
33508 +S 3706000 H 4167000 5/6
33509 +
33510 +# APTN Global Video Wire (MPEG-4 S/2)
33511 +S 3732000 H 8889000 2/3
33512 +
33513 +# BYU TV
33514 +S 3767000 V 6527000 1/2
33515 +
33516 +# AJK TV
33517 +S 3778000 V 3333000 3/4
33518 +
33519 +# RTB International Brunei
33520 +S 3786000 H 6000000 7/8
33521 +
33522 +# Shamshad TV
33523 +S 3790000 V 2444000 3/4
33524 +
33525 +# FTV HD (MPEG-4 S/2)
33526 +S 3794000 H 4640000 3/4
33527 +
33528 +# Arabsat ASBU Bouquet Multiplex
33529 +S 3820000 V 27500000 3/4
33530 +
33531 +# Star TV Multiplex (MPEG-4 S/2)
33532 +S 3840000 H 30000000 3/4
33533 +
33534 +# E Network Multiplex
33535 +S 3880000 H 27500000 3/4
33536 +
33537 +# SatLink Multiplex
33538 +S 3960000 H 27500000 3/4
33539 +
33540 +# Star TV Multiplex
33541 +S 3980000 V 28100000 3/4
33542 +
33543 +# SatLink European Bouquet (MPEG-2 & MPEG-4 S2)
33544 +S 4000000 H 28125000 3/4
33545 +
33546 +# Macau Satellite TV Multiplex
33547 +S 4148000 V 11852000 3/4
33548 diff -r af23d23c278b util/scan/dvb-s/AsiaSat3S_C-105.5E
33549 --- a/util/scan/dvb-s/AsiaSat3S_C-105.5E        Sat Jun 20 16:47:55 2009 +0200
33550 +++ b/util/scan/dvb-s/AsiaSat3S_C-105.5E        Tue Dec 21 12:13:28 2010 +0100
33551 @@ -1,122 +1,102 @@
33552  # AsiaSat 3S 105.5E C-BAND
33553 -# Generated by Xingbo Wang
33554 -# Apr 2, 2005
33555 +# Generated by Pietro Casoar
33556 +# 1st March 2009
33557  
33558 -# MPEG-2 QPSK
33559 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
33560  # freq pol sr fec
33561  
33562 -# [encrypted] ZEE English, ZEE TV International, ZEE Movies, MX, ZEE TV SE Asia, ZEE TV Asia, Trendz
33563 -S 3700000 V 27500000 3/4
33564 +# China Entertainment TV & Maharishi Veda Vision
33565 +S 3680000 H 26670000 3/4
33566 +
33567 +# MediaCorp Channel News Asia
33568 +S 3706000 H 6000000 3/4
33569  
33570  # BTV World
33571  S 3725000 V 4450000 3/4
33572  
33573 -# SAB TV
33574 -S 3743000 V 3300000 3/4
33575 +# Galaxy TVB
33576 +S 3729000 H 13650000 3/4
33577  
33578 -# AAJ TV
33579 -S 3750000 V 2820000 3/4
33580 +# Zee Network
33581 +S 3733000 V 6500000 3/4
33582  
33583 -# Arirang TV
33584 -S 3755150 V 4417900 7/8
33585 +# Madani Channel
33586 +S 3739000 V 2815000 3/4
33587  
33588 -# [encrypted] STAR Plus India, STAR Movies India, STAR News India, National Geographic India, STAR Gold, STAR Movies (Middle East)
33589 -# STAR Utsav
33590 +# Fashion TV
33591 +S 3746000 V 2625000 3/4
33592 +
33593 +# Aaj News
33594 +S 3750000 V 2821000 3/4
33595 +
33596 +# Arirang Arab
33597 +S 3755000 V 4418000 7/8
33598 +
33599 +# Globecast multiplex
33600 +S 3760000 H 26000000 7/8
33601 +
33602 +# Star TV Multiplex
33603  S 3780000 V 28100000 3/4
33604  
33605 -# Chinese Provincial TV: Guangxi, Shanxi, Anhui, Jiangsu, Heilongjiang
33606 -S 3806000 V 4420000 3/4
33607 -S 3813000 V 4420000 3/4
33608 -S 3820000 V 4420000 3/4
33609 -S 3827000 V 4420000 3/4
33610 -S 3834000 V 4420000 3/4
33611 +# Airwaves Media Multiplex
33612 +S 3786000 H 5700000 3/4
33613  
33614 -# [encrypted] ESPN Taiwan, STAR Sports Taiwan, ESPN Asia, STAR Sports South East Asia, STAR Sports India, ESPN India, ESPN Philippines
33615 +# Zee Network Multiplex
33616 +S 3820000 V 27500000 3/4
33617 +
33618 +# Star TV Multiplex
33619 +S 3840000 H 26850000 7/8
33620 +
33621 +# Star TV Multiplex
33622  S 3860000 V 27500000 3/4
33623  
33624 -# Dragon TV
33625 -S 3886000 V 4800000 3/4
33626 +# B4U INDIA - MPEG-4 S/2 Multiplex
33627 +S 3880000 H 27500000 3/4
33628  
33629 -# Shandong TV
33630 -S 3895000 V 6813000 3/4
33631 +# Star TV Multiplex
33632 +S 3940000 V 28100000 3/4
33633  
33634 -# CCTV-1(comprehensive), China National Radio Channel 1
33635 -S 3904000 V 4420000 7/8
33636 +# Tuner International Multiplex
33637 +S 3960000 H 28100000 3/4
33638  
33639 -# Jilin Provincial TV
33640 -S 3914500 V 4420000 3/4
33641 -
33642 -# [encrypted] A1, History, STAR Movies SEA/China, STAR World India, STAR Plus Pakistan, Channel[V] India, STAR Chinese Movies, CNBC India, STAR One, STAR Vijay
33643 +# Star TV Multiplex
33644  S 3980000 V 28100000 3/4
33645  
33646 -# Sahara One, Sahara Samay National, Sahara Samay Mumbai, Sahara Samay Uttar Pradesh, Sahara Samay Bihar, Sahara Samay Madhya Pradesh
33647 +# Star TV Multiplex
33648 +S 4000000 H 26850000 7/8
33649 +
33650 +# Sahara Samay Multiplex
33651  S 4020000 V 27250000 3/4
33652  
33653 -# Tianjin TV
33654 -S 4046000 V 5950000 3/4
33655 +# VOA Voice Of America Multiplex
33656 +S 4040000 H 20400000 1/2
33657  
33658 -# PTV-1, PTV World, PTV Channel 3, AVT Khyber
33659 +# Globecast Multiplex
33660 +S 4071000 H 14240000 3/4
33661 +
33662 +# PTV Multiplex
33663  S 4091000 V 13333000 3/4
33664  
33665 -# PTV National
33666 -S 4106000 V 3333300 3/4
33667 +# Sun TV
33668 +S 4095000 H 5554000 3/4
33669  
33670 -# Indus News
33671 -S 4115750 V 3333000 3/4
33672 +# PTV Global USA
33673 +S 4102000 V 2894000 3/4
33674  
33675 -# [encrypted] ZEE Biz, ZEE News, ZEE Cinema, ZEE Music, Alpha TV Punjabi, Alpha TV Gujarati, Alpha TV Bangla, Alpha TV Marathi, Smile TV
33676 +# PTV Global UK & Europe
33677 +S 4106000 V 2894000 3/4
33678 +
33679 +# Galaxy TVB Multiplex
33680 +S 4111000 H 13650000 3/4
33681 +
33682 +# PTV Multiplex
33683 +S 4114000 V 7000000 3/4
33684 +
33685 +# Eye TV Multiplex
33686 +S 4129000 H 13600000 3/4
33687 +
33688 +# Zee Network Multiplex
33689  S 4140000 V 27500000 3/4
33690  
33691 -# Chinese Provincial TV: Henan, Fujian, Jiangxi, Liaoning
33692 -S 4166000 V 4420000 3/4
33693 -S 4180000 V 4420000 3/4
33694 -S 4187000 V 4420000 3/4
33695 -S 4194000 V 4420000 3/4
33696 -
33697 -# CETV
33698 -S 3680000 H 26670000 3/4
33699 -
33700 -# Channel NewsAsia
33701 -S 3706000 H 6000000 3/4
33702 -
33703 -# Asia Plus
33704 -S 3715500 H 7000000 3/4
33705 -
33706 -# TVB 8, CETV
33707 -S 3729000 H 13650000 3/4
33708 -
33709 -# Network of the World, Bloomberg TV Asia, Indus Vision, Indus Music, Muslim TV Ahmadiyya, Living Asia Channel
33710 -# [encrypted] Filmazia
33711 -S 3760000 H 26000000 7/8
33712 -
33713 -# [encrypted] Fox News, Sky News, STAR Movies Int'l Taiwan, National Geographic Taiwan, STAR Chinese Channel, STAR Movies mandarin, Channel[V] Taiwan
33714 -S 3840000 H 26850000 7/8
33715 -
33716 -# STAR Sports Asia
33717 -# [encrypted] ESPN China, STAR Sports Hong Kong, ESPN Hong Kong
33718 -S 3920000 H 26750000 7/8
33719 -
33720 -# [encrypted] CNN International Asia, CNN Newsource, Cartoon Network Asia, Cartoon Network Taiwan, Cartoon Network Philippines, Cartoon Network Australia/New Zealand, TCM Australia, Boomerang
33721 -S 3960000 H 27500000 3/4
33722 -
33723 -# [encrypted] Phoenix Movies, star World Asia, Star Movies Int'l, Channel[V] International, National Geographic Regional
33724 -# Phoenix Chinese Channel, Phoenix Info News Channel, Xiong Kong Int'l, Xing Kong Regional, Channel[V](Greater China)
33725 -S 4000000 H 26850000 7/8
33726 -
33727 -# Chinese Provincial TV: Hubei, Sichuan
33728 -S 4034600 H 4420000 3/4
33729 -S 4051000 H 4420000 3/4
33730 -
33731 -# Chinese Provincial TV: Qinghai, Hunan
33732 -S 4067000 H 4420000 3/4
33733 -S 4082000 H 4420000 3/4
33734 -
33735 -# Sun TV
33736 -S 4094000 H 5555000 3/4
33737 -
33738 -# MATV, Horizon Channel
33739 -# [encrypted] Tian Ying Movies Channel, TVB Xing He Channel
33740 -S 4111000 H 13650000 3/4
33741 -
33742 -# CCTV Channel 4 (International), Channel 9 (English language), CCTV E&F
33743 -S 4129000 H 13240000 3/4
33744 +# Geo TV Network Multiplex
33745 +S 4180000 V 26666000 3/4
33746 diff -r af23d23c278b util/scan/dvb-s/Asiasat4_C-122.2E
33747 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33748 +++ b/util/scan/dvb-s/Asiasat4_C-122.2E Tue Dec 21 12:13:28 2010 +0100
33749 @@ -0,0 +1,27 @@
33750 +# Asiasat 4 @ 122.2E C-BAND
33751 +# Generated by Pietro Casoar
33752 +# 1st March 2009
33753 +
33754 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
33755 +# freq pol sr fec
33756 +
33757 +# SITI Digital Network Multiplex
33758 +S 3760000 H 27500000 3/4
33759 +
33760 +# SITI Digital Network Multiplex
33761 +S 3820000 V 27500000 3/4
33762 +
33763 +# Henan Radio Multiplex
33764 +S 3856000 H 2170000 3/4
33765 +
33766 +# SITI Digital Network Multiplex
33767 +S 3880000 H 27500000 3/4
33768 +
33769 +# SITI Digital network Multiplex
33770 +S 3920000 H 27500000 3/4
33771 +
33772 +# SITI Digital network Multiplex
33773 +S 3960000 H 27500000 3/4
33774 +
33775 +# SITI Digital network Multiplex
33776 +S 4180000 V 27500000 3/4
33777 diff -r af23d23c278b util/scan/dvb-s/Astra-23.5E
33778 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33779 +++ b/util/scan/dvb-s/Astra-23.5E       Tue Dec 21 12:13:28 2010 +0100
33780 @@ -0,0 +1,66 @@
33781 +# Astra 23.5E
33782 +# freq pol sr fec
33783 +S 10758000 V 22000000 7/8
33784 +S 10788000 V 22000000 5/6
33785 +S 10802000 H 22000000 5/6
33786 +S 10842000 V 13333000 5/6
33787 +S 10862000 H 22000000 5/6
33788 +# Astra2Connect
33789 +# S2 10891250 H 22000000 3/4 AUTO 8PSK
33790 +S 11475000 V 27500000 3/4
33791 +S 11515000 H 27500000 3/4
33792 +S2 11515000 V 28500000 9/10 AUTO QPSK
33793 +S2 11555000 H 28500000 9/10 AUTO QPSK
33794 +S2 11555000 V 28500000 9/10 AUTO QPSK
33795 +S2 11592000 V 28500000 9/10 AUTO QPSK
33796 +S2 11595000 H 28500000 9/10 AUTO QPSK
33797 +S2 11635000 H 28500000 9/10 AUTO QPSK
33798 +S2 11635000 V 28500000 9/10 AUTO QPSK
33799 +S 11675000 H 27500000 3/4
33800 +S2 11675000 V 28500000 9/10 AUTO QPSK
33801 +S2 11719000 H 27500000 9/10 AUTO QPSK
33802 +S 11739000 V 27500000 3/4
33803 +# Astra2Connect
33804 +# S2 11758000 H 27500000 5/6 AUTO 8PSK
33805 +S2 11778000 V 27500000 9/10 AUTO QPSK
33806 +S 11798000 H 27500000 3/4
33807 +S2 11817000 V 27500000 9/10 AUTO QPSK
33808 +S 11836000 H 29900000 3/4
33809 +S2 11856000 V 27500000 5/6 AUTO QPSK
33810 +S 11875000 H 27500000 3/4
33811 +S 11914000 H 27500000 3/4
33812 +# Astra2Connect
33813 +# S2 11954000 H 27500000 3/4 AUTO 8PSK
33814 +S 11992000 H 27500000 3/4
33815 +S 12012000 V 27500000 3/4
33816 +S2 12032000 H 27500000 9/10 AUTO QPSK
33817 +S 12070000 H 27500000 3/4
33818 +S2 12109000 H 27500000 9/10 AUTO QPSK
33819 +# Astra2Connect
33820 +# S2 12148000 H 27500000 3/4 AUTO 8PSK
33821 +S 12168000 V 27500000 3/4
33822 +# Astra2Connect
33823 +# S2 12226000 H 27500000 3/5 AUTO 8PSK
33824 +# Astra2Connect
33825 +# S2 12304000 H 27500000 5/6 AUTO 8PSK
33826 +# Astra2Connect
33827 +# S2 12344000 H 28200000 5/6 AUTO 8PSK
33828 +# Astra2Connect
33829 +# S2 12382000 H 27500000 3/4 AUTO 8PSK
33830 +S 12525000 H 27500000 3/4
33831 +S 12525000 V 27500000 3/4
33832 +S 12565000 H 27500000 2/3
33833 +S 12565000 V 27500000 3/4
33834 +S2 12605000 H 28500000 9/10 AUTO QPSK
33835 +S2 12605000 V 28500000 9/10 AUTO QPSK
33836 +S 12630000 V 6000000 3/4
33837 +S 12631000 H 6666000 7/8
33838 +S 12636000 V 2277000 5/6
33839 +S 12641000 H 2220000 7/8
33840 +S 12644000 H 2170000 3/4
33841 +S 12649000 H 5600000 5/6
33842 +S 12661000 H 2170000 5/6
33843 +S 12685000 V 27500000 3/4
33844 +S 12696000 H 3255000 1/2
33845 +S 12711000 H 6111000 AUTO
33846 +S 12725000 V 27500000 3/4
33847 diff -r af23d23c278b util/scan/dvb-s/Atlantic-Bird-3-5.0W
33848 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33849 +++ b/util/scan/dvb-s/Atlantic-Bird-3-5.0W      Tue Dec 21 12:13:28 2010 +0100
33850 @@ -0,0 +1,4 @@
33851 +# Atlantic Bird 3 @ 5.0W
33852 +# freq pol sr fec
33853 +S 11096000 V 29950000 7/8
33854 +S 11591000 V 20000000 2/3
33855 diff -r af23d23c278b util/scan/dvb-s/Chinastar1_C-87.5E
33856 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33857 +++ b/util/scan/dvb-s/Chinastar1_C-87.5E        Tue Dec 21 12:13:28 2010 +0100
33858 @@ -0,0 +1,15 @@
33859 +# ChinaStar 1 @ 87.5E C-BAND
33860 +# Generated by Pietro Casoar
33861 +# 1st March 2009
33862 +
33863 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
33864 +# freq pol sr fec
33865 +
33866 +# Myawady TV
33867 +S 3734000 H 5925000 3/4
33868 +
33869 +# Zam TV Tests
33870 +S 4076000 H 2532000 3/4
33871 +
33872 +# Test Card
33873 +S 4081000 H 4687000 3/4
33874 diff -r af23d23c278b util/scan/dvb-s/Insat2E_C-83.0E
33875 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33876 +++ b/util/scan/dvb-s/Insat2E_C-83.0E   Tue Dec 21 12:13:28 2010 +0100
33877 @@ -0,0 +1,93 @@
33878 +# Insat 2E @ 83.0E C-BAND
33879 +# Generated by Pietro Casoar
33880 +# 1st March 2009
33881 +
33882 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
33883 +# freq pol sr fec
33884 +
33885 +# NE TV Multiplex
33886 +S 3521000 V 8640000 3/4
33887 +
33888 +# NE TV Multiplex
33889 +S 3537000 V 10800000 3/4
33890 +
33891 +# TV 9 Telugu
33892 +S 3550000 V 3255000 3/4
33893 +
33894 +# S1 Channel
33895 +S 3559000 V 3366000 3/4
33896 +
33897 +# TV 9 Kannada
33898 +S 3581000 V 3255000 3/4
33899 +
33900 +# Jaya TV
33901 +S 3593000 V 8680000 3/4
33902 +
33903 +# Tata Communications Multiplex
33904 +S 3593000 V 9629000 3/4
33905 +
33906 +# Asianet Multiplex
33907 +S 3643000 V 19531000 3/4
33908 +
33909 +# Amrita TV Middle East
33910 +S 3678000 V 5926000 3/4
33911 +
33912 +# Mahaa TV
33913 +S 3689000 V 2893000 3/4
33914 +
33915 +# Tata Communications Multiplex
33916 +S 3696000 V 6111000 3/4
33917 +
33918 +# CNBC India
33919 +S 3760000 V 6500000 3/4
33920 +
33921 +# Raj TV Network Multiplex
33922 +S 3774000 V 13021000 3/4
33923 +
33924 +# UTVi TV
33925 +S 3794000 V 3500000 3/5
33926 +
33927 +# PTC Multiplex (MPEG-4 S/2)
33928 +S 3815000 V 6000000 3/4
33929 +
33930 +# Tata Communications Multiplex
33931 +S 3845000 V 26043000 3/4
33932 +
33933 +# Indiavision
33934 +S 3914000 V 3000000 3/4
33935 +
33936 +# Yes Indiavision
33937 +S 3919000 V 3000000 3/4
33938 +
33939 +# Manorama News International
33940 +S 3923000 V 3000000 3/4
33941 +
33942 +# Tata Communications Multiplex
33943 +S 3934000 V 13021000 3/4
33944 +
33945 +# Raj Musix kanada
33946 +S 3961000 V 6656000 3/4
33947 +
33948 +# TV 9 Multiplex
33949 +S 3974000 V 13333000 3/4
33950 +
33951 +# Asianet Multiplex
33952 +S 4010000 V 19531000 3/4
33953 +
33954 +# Tata Communications Multiplex
33955 +S 4031000 V 7440000 7/8
33956 +
33957 +# RRSat Multiplex
33958 +S 4042000 V 7420000 7/8
33959 +
33960 +# Tata Communications Multiplex
33961 +S 4050000 V 5084000 7/8
33962 +
33963 +# DD national
33964 +S 4070000 V 5000000 3/4
33965 +
33966 +# Indiasign Mulitplex
33967 +S 4091000 V 9230000 7/8
33968 +
33969 +# News Live (MPEG-4 S/2)
33970 +S 4100000 V 4700000 3/4
33971 diff -r af23d23c278b util/scan/dvb-s/Insat3A_C-93.5E
33972 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
33973 +++ b/util/scan/dvb-s/Insat3A_C-93.5E   Tue Dec 21 12:13:28 2010 +0100
33974 @@ -0,0 +1,66 @@
33975 +# Insat 3A @ 93.5E C-BAND
33976 +# Generated by Pietro Casoar
33977 +# 1st March 2009
33978 +
33979 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
33980 +# freq pol sr fec
33981 +
33982 +# DD Bangla
33983 +S 3732000 V 6250000 3/4
33984 +
33985 +# DD Punjab
33986 +S 3740000 V 6250000 3/4
33987 +
33988 +# DD Gujarati
33989 +S 3750000 V 6250000 3/4
33990 +
33991 +# DD Chandana
33992 +S 3759000 V 6250000 3/4
33993 +
33994 +# DD Oriya
33995 +S 3772000 V 6250000 3/4
33996 +
33997 +# DD kashir
33998 +S 3782000 V 6250000 3/4
33999 +
34000 +# DD Sahyadri
34001 +S 3791000 V 8600000 3/4
34002 +
34003 +# DD Malayalam
34004 +S 3812000 V 6250000 3/4
34005 +
34006 +# DD Saptagiri
34007 +S 3820000 V 6250000 3/4
34008 +
34009 +# DD podhigai
34010 +S 3831000 V 8600000 3/4
34011 +
34012 +# DD Himachal Pradesh
34013 +S 3932000 V 6250000 3/4
34014 +
34015 +# DD Jaipur
34016 +S 3940000 V 6250000 3/4
34017 +
34018 +# Madhya Pradesh
34019 +S 3950000 V 6250000 3/4
34020 +
34021 +# DD Uttar Pradesh
34022 +S 3958000 V 6250000 3/4
34023 +
34024 +# DD North East
34025 +S 4092000 V 6250000 3/4
34026 +
34027 +# DD Mizoram
34028 +S 4101000 V 6250000 3/4
34029 +
34030 +# DD Tripura
34031 +S 4109000 V 4250000 3/4
34032 +
34033 +# RTA Afghanistan
34034 +S 4132000 V 4000000 3/4
34035 +
34036 +# RTA Afghanistan Nangarhar
34037 +S 4136000 V 2000000 3/4
34038 +
34039 +# Ariana TV Network Multiplex
34040 +S 4141000 V 5150000 3/4
34041 diff -r af23d23c278b util/scan/dvb-s/Insat4A_C-83.0E
34042 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34043 +++ b/util/scan/dvb-s/Insat4A_C-83.0E   Tue Dec 21 12:13:28 2010 +0100
34044 @@ -0,0 +1,93 @@
34045 +# Insat 4A @ 83.0E C-BAND
34046 +# Generated by Pietro Casoar
34047 +# 1st March 2009
34048 +
34049 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34050 +# freq pol sr fec
34051 +
34052 +# NSTPL Multiplex
34053 +S 3725000 H 26665000 3/4
34054 +
34055 +# Indiasign multiplex
34056 +S 3756000 H 13333000 3/4
34057 +
34058 +# Star TV Multiplex
34059 +S 3777000 H 10900000 3/4
34060 +
34061 +# Essel Shyam Multiplex
34062 +S 3805000 H 28500000 7/8
34063 +
34064 +# Tarang TV Multiplex (MPEG-4 S/2)
34065 +S 3841000 H 6920000 3/4
34066 +
34067 +# CTVN AKD Plus
34068 +S 3853000 H 3265000 3/4
34069 +
34070 +# Kasthuri TV
34071 +S 3857000 H 3462000 3/4
34072 +
34073 +# Kamyab TV
34074 +S 3874000 H 3403000 3/4
34075 +
34076 +# Vanitha TV
34077 +S 3892000 H 3300000 3/4
34078 +
34079 +# Essel Shayam Multiplex
34080 +S 3898000 H 6800000 3/4
34081 +
34082 +# Channel 10 India
34083 +S 3910000 H 3600000 7/8
34084 +
34085 +# Essel Shyam
34086 +S 3923000 H 13000000 3/4
34087 +
34088 +# DY 365
34089 +S 3949000 H 3225000 3/4
34090 +
34091 +# Multiplex
34092 +S 3958000 H 9500000 7/8
34093 +
34094 +# Zee News Uttar Pradesh
34095 +S 3976000 H 3200000 3/4
34096 +
34097 +# ETV Network Multiplex
34098 +S 4004000 H 22220000 5/6
34099 +
34100 +# Essel Shyam
34101 +S 4040000 H 7500000 7/8
34102 +
34103 +# Lamhas Multiplex
34104 +S 4054000 H 13230000 3/4
34105 +
34106 +# Network 18 Multiplex
34107 +S 4072000 H 6500000 3/4
34108 +
34109 +# IBN Lokmat
34110 +S 4078000 H 3250000 3/4
34111 +
34112 +# Live India
34113 +S 4087000 H 3300000 3/4
34114 +
34115 +# Mi Marathi
34116 +S 4091000 H 3000000 3/4
34117 +
34118 +# BBS TV
34119 +S 4100000 H 4750000 3/4
34120 +
34121 +# Manorama News
34122 +S 4115000 H 5555000 3/4
34123 +
34124 +# BAG Films
34125 +S 4134000 H 10600000 3/4
34126 +
34127 +# Zee Network Multiplex
34128 +S 4151000 H 6500000 3/4
34129 +
34130 +# Zee Network Multiplex
34131 +S 4161000 H 6500000 3/4
34132 +
34133 +# Lok Sabha TV
34134 +S 4170000 H 6500000 3/4
34135 +
34136 +# Kolkata TV
34137 +S 4180000 H 3233000 3/4
34138 diff -r af23d23c278b util/scan/dvb-s/Insat4B_C-93.5E
34139 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34140 +++ b/util/scan/dvb-s/Insat4B_C-93.5E   Tue Dec 21 12:13:28 2010 +0100
34141 @@ -0,0 +1,51 @@
34142 +# Insat 4B @ 93.5E C-BAND
34143 +# Generated by Pietro Casoar
34144 +# 1st March 2009
34145 +
34146 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34147 +# freq pol sr fec
34148 +
34149 +# Doordarshan Multiplex
34150 +S 3725000 H 27500000 3/4
34151 +
34152 +# DD Dehradun
34153 +S 3750000 H 4250000 3/4
34154 +
34155 +# DD Raipur
34156 +S 3762000 H 4250000 3/4
34157 +
34158 +# DD Ranchi
34159 +S 3768000 H 4250000 3/4
34160 +
34161 +# DD Jammu
34162 +S 3774000 H 4250000 3/4
34163 +
34164 +# DD Hissar
34165 +S 3802000 H 4250000 3/4
34166 +
34167 +# DD Chandigarh
34168 +S 3808000 H 4250000 3/4
34169 +
34170 +# DD Port Blair
34171 +S 3822000 H 4250000 3/4
34172 +
34173 +# DD Bihar
34174 +S 3832000 H 6250000 3/4
34175 +
34176 +# DD North East
34177 +S 3841000 H 6250000 3/4
34178 +
34179 +# Sun network
34180 +S 3885000 H 28000000 3/4
34181 +
34182 +# Doordarshan Multiplex
34183 +S 3925000 H 27500000 3/4
34184 +
34185 +# Sakshi TV
34186 +S 3950000 H 4440000 3/4
34187 +
34188 +# Tata Communications Multiplex
34189 +S 4005000 H 25422000 7/8
34190 +
34191 +# Sun Network
34192 +S 4045000 H 28000000 3/4
34193 diff -r af23d23c278b util/scan/dvb-s/Intelsat8_C-166.0E
34194 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34195 +++ b/util/scan/dvb-s/Intelsat8_C-166.0E        Tue Dec 21 12:13:28 2010 +0100
34196 @@ -0,0 +1,39 @@
34197 +# Intelsat 8 @ 166.0E C-BAND
34198 +# Generated by Pietro Casoar
34199 +# 1st March 2009
34200 +
34201 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34202 +# freq pol sr fec
34203 +
34204 +# Viacom Multiplex
34205 +S 3740000 H 27500000 2/3
34206 +
34207 +# South Korean Multiplex
34208 +S 3790000 V 6510000 3/4
34209 +
34210 +# Arirang World
34211 +S 3815000 V 4400000 3/4
34212 +
34213 +# Australian network Multiplex
34214 +S 3829000 H 13238000 3/4
34215 +
34216 +# TVBS multiplex
34217 +S 3833000 V 17500000 3/4
34218 +
34219 +# NBC Universal
34220 +S 3900000 H 27500000 3/4
34221 +
34222 +# Intelsat multiplex
34223 +S 3940000 H 27690000 7/8
34224 +
34225 +# China Radio multiplex
34226 +S 3959000 V 3428000 3/4
34227 +
34228 +# NHK World network Multiplex
34229 +S 4060000 H 16180000 1/2
34230 +
34231 +# Philippines Network TV Multiplex
34232 +S 4122000 V 5554000 3/4
34233 +
34234 +# TAS Multiplex
34235 +S 4130000 V 5800000 3/4
34236 diff -r af23d23c278b util/scan/dvb-s/JCSat3A_C-128.0E
34237 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34238 +++ b/util/scan/dvb-s/JCSat3A_C-128.0E  Tue Dec 21 12:13:28 2010 +0100
34239 @@ -0,0 +1,18 @@
34240 +# JCSAT 3A @ 128.0E C-BAND
34241 +# Generated by Pietro Casoar
34242 +# 1st March 2009
34243 +
34244 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34245 +# freq pol sr fec
34246 +
34247 +# TAS Multiplex
34248 +S 3960000 V 30000000 5/6
34249 +
34250 +# TAS Multiplex
34251 +S 4000000 V 30000000 5/6
34252 +
34253 +# Miraclenet
34254 +S 4055000 V 3332000 3/4
34255 +
34256 +# TAS Multiplex
34257 +S 4120000 V 30000000 5/6
34258 diff -r af23d23c278b util/scan/dvb-s/Measat3_C-91.5E
34259 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34260 +++ b/util/scan/dvb-s/Measat3_C-91.5E   Tue Dec 21 12:13:28 2010 +0100
34261 @@ -0,0 +1,54 @@
34262 +# Measat 3 @ 91.5E C-BAND
34263 +# Generated by Pietro Casoar
34264 +# 1st March 2009
34265 +
34266 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34267 +# freq pol sr fec
34268 +
34269 +# Shop TV
34270 +S 3629000 V 2200000 3/4
34271 +
34272 +# Aora TV Mulitplex
34273 +S 3644000 H 22320000 3/4
34274 +
34275 +# Solar Entertainment
34276 +S 3645000 V 19510000 3/4
34277 +
34278 +# National Geographic music
34279 +S 3718000 V 1700000 7/8
34280 +
34281 +# DZRH TV Multiplex
34282 +S 3721000 V 2170000 3/4
34283 +
34284 +# Ascent Media (MPEG-4 S/2)
34285 +S 3751000 V 13330000 2/3
34286 +
34287 +# Globecast Multiplex (MPEG-4 S/2)
34288 +S 3769000 V 14000000 3/4
34289 +
34290 +# HTV Multiplex
34291 +S 3796000 V 7030000 3/4
34292 +
34293 +# Sky International
34294 +S 3814000 V 6666000 3/4
34295 +
34296 +# Un-named Mulitplex
34297 +S 3865000 V 3835000 3/4
34298 +
34299 +# RTM Multiplex
34300 +S 3877000 V 12525000 7/8
34301 +
34302 +# RTM Sarawak Feeds
34303 +S 3887000 V 3984000 3/4
34304 +
34305 +# Globecast Multiplex
34306 +S 3920000 V 28000000 7/8
34307 +
34308 +# Ginx TV
34309 +S 4113000 V 2960000 3/4
34310 +
34311 +# YR Asia TV
34312 +S 4117000 V 2963000 3/4
34313 +
34314 +# All Sports Network (MPEG-4 S/2)
34315 +S 4134000 V 7200000 3/4
34316 diff -r af23d23c278b util/scan/dvb-s/PalapaC2_C-113.0E
34317 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34318 +++ b/util/scan/dvb-s/PalapaC2_C-113.0E Tue Dec 21 12:13:28 2010 +0100
34319 @@ -0,0 +1,39 @@
34320 +# Palapa C2 @ 113.0E C-BAND
34321 +# Generated by Pietro Casoar
34322 +# 1st March 2009
34323 +
34324 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34325 +# freq pol sr fec
34326 +
34327 +# SCTV Jawa Timur
34328 +S 3745000 H 3125000 3/4
34329 +
34330 +# SCTV
34331 +S 3758000 H 4470000 3/4
34332 +
34333 +# TVRI Nasional
34334 +S 3765000 H 5555000 3/4
34335 +
34336 +# RCTI
34337 +S 3774000 H 6520000 3/4
34338 +
34339 +# KBS World Indonesia
34340 +S 3836000 V 2097000 3/4
34341 +
34342 +# Bali TV
34343 +S 3926000 H 4208000 3/4
34344 +
34345 +# TV One Indonesia
34346 +S 4054000 H 5632000 3/4
34347 +
34348 +# ANTV Indonesia
34349 +S 4055000 V 6510000 3/4
34350 +
34351 +# Indosiar
34352 +S 4074000 V 6500000 3/4
34353 +
34354 +# Satelindo Multiplex
34355 +S 4080000 H 28125000 3/4
34356 +
34357 +# TPI Indonesia
34358 +S 4184000 V 6700000 3/4
34359 diff -r af23d23c278b util/scan/dvb-s/ST1_C-80.0E
34360 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34361 +++ b/util/scan/dvb-s/ST1_C-80.0E       Tue Dec 21 12:13:28 2010 +0100
34362 @@ -0,0 +1,27 @@
34363 +# ST1 @ 88.0E C-BAND
34364 +# Generated by Pietro Casoar
34365 +# 1st March 2009
34366 +
34367 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34368 +# freq pol sr fec
34369 +
34370 +# GTV Multiplex
34371 +S 3469000 V 30000000 3/4
34372 +
34373 +# ABTV Multiplex
34374 +S 3521000 H 8332000 5/6
34375 +
34376 +# Videoland Multiplex
34377 +S 3550000 V 30000000 3/4
34378 +
34379 +# GTV Multiplex
34380 +S 3595000 H 30000000 3/4
34381 +
34382 +# Videoland multiplex
34383 +S 3632000 V 30000000 3/4
34384 +
34385 +# Chungwa Telecom
34386 +S 3671000 H 9256000 3/4
34387 +
34388 +# NTD TV Asia-Pacific
34389 +S 3689000 H 3000000 3/4
34390 diff -r af23d23c278b util/scan/dvb-s/Telkom1_C-108.0E
34391 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34392 +++ b/util/scan/dvb-s/Telkom1_C-108.0E  Tue Dec 21 12:13:28 2010 +0100
34393 @@ -0,0 +1,48 @@
34394 +# Telkom 1 @ 108.0E C-BAND
34395 +# Generated by Pietro Casoar
34396 +# 1st March 2009
34397 +
34398 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34399 +# freq pol sr fec
34400 +
34401 +# Telkom Vision Multiplex
34402 +S 3580000 H 28000000 3/4
34403 +
34404 +# Telkom Vision Multiplex
34405 +S 3620000 H 28000000 3/4
34406 +
34407 +# Telkom Vision Multiplex
34408 +S 3640000 V 28000000 3/4
34409 +
34410 +# TV Timor Leste
34411 +S 3776000 H 4285000 3/4
34412 +
34413 +# TV Edukasi 1
34414 +S 3785000 H 4000000 3/4
34415 +
34416 +# TVRI Kalbar
34417 +S 3793000 H 3000000 3/4
34418 +
34419 +# TVRI Papua
34420 +S 3797000 H 3900000 3/4
34421 +
34422 +# TV Edukasi 2
34423 +S 3807000 H 4000000 3/4
34424 +
34425 +# Trans 7
34426 +S 3990000 H 6000000 3/4
34427 +
34428 +# TVRI Aceh
34429 +S 4015000 H 6000000 3/4
34430 +
34431 +# RCTI Jawa Timur
34432 +S 4025000 H 3000000 3/4
34433 +
34434 +# Trans TV
34435 +S 4084000 H 6000000 3/4
34436 +
34437 +# Papua TV
34438 +S 4092000 H 3570000 3/4
34439 +
34440 +# JTV
34441 +S 4097000 H 3125000 3/4
34442 diff -r af23d23c278b util/scan/dvb-s/Telstar10_C-76.5E
34443 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34444 +++ b/util/scan/dvb-s/Telstar10_C-76.5E Tue Dec 21 12:13:28 2010 +0100
34445 @@ -0,0 +1,63 @@
34446 +# Telstar 10 @ 76.5E C-BAND
34447 +# Generated by Pietro Casoar
34448 +# 1st March 2009
34449 +
34450 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34451 +# freq pol sr fec
34452 +
34453 +# Racing International
34454 +S 3646000 H 5064000 3/4
34455 +
34456 +# Image Channel
34457 +S 3655000 H 3214000 3/4
34458 +
34459 +# Globe Cast Asia multiplex
34460 +S 3680000 H 27500000 3/4
34461 +
34462 +# UBI World TV Multiplex
34463 +S 3760000 H 28066000 2/3
34464 +
34465 +# UBI World TV Multiplex
34466 +S 3780000 V 28066000 2/3
34467 +
34468 +# Ekushey TV
34469 +S 3787000 H 4600000 2/3
34470 +
34471 +# Diganta TV
34472 +S 3793000 H 4340000 3/4
34473 +
34474 +# RRSat Global Network Multiplex
34475 +S 3840000 H 27500000 3/4
34476 +
34477 +# Channel 1
34478 +S 4003000 H 4080000 3/4
34479 +
34480 +# Boishakhi TV
34481 +S 4009000 H 4300000 3/4
34482 +
34483 +# TV Maldives
34484 +S 4030000 V 6312000 1/2
34485 +
34486 +# Channel I
34487 +S 4034000 H 4300000 3/4
34488 +
34489 +# Bangla Vision
34490 +S 4049000 H 3600000 3/4
34491 +
34492 +# Kantipur TV
34493 +S 4056000 H 3214000 3/4
34494 +
34495 +# BBC World Service Multiplex
34496 +S 4073000 H 13020000 1/2
34497 +
34498 +# MNC Indonesia
34499 +S 4105000 H 3125000 3/4
34500 +
34501 +# NDTV Arabia
34502 +S 4137000 H 2893000 3/4
34503 +
34504 +# Islamic TV
34505 +S 4146000 H 3600000 3/4
34506 +
34507 +# Bangladesh Multiplex
34508 +S 4173000 H 7400000 3/4
34509 diff -r af23d23c278b util/scan/dvb-s/Telstar18_C-138.0E
34510 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34511 +++ b/util/scan/dvb-s/Telstar18_C-138.0E        Tue Dec 21 12:13:28 2010 +0100
34512 @@ -0,0 +1,18 @@
34513 +# Telstar 18 @ 138.0E C-BAND
34514 +# Generated by Pietro Casoar
34515 +# 1st March 2009
34516 +
34517 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34518 +# freq pol sr fec
34519 +
34520 +# I-Sky-Net Multiplex
34521 +S 3599000 V 30000000 3/4
34522 +
34523 +# I-Sky-Net Multiplex
34524 +S 3660000 V 30000000 3/4
34525 +
34526 +# LNTV Laos
34527 +S 3704000 V 3034000 3/4
34528 +
34529 +# BBC World Service Multiplex
34530 +S 4124000 V 3255000 1/2
34531 diff -r af23d23c278b util/scan/dvb-s/Thaicom1A_C-120.0E
34532 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34533 +++ b/util/scan/dvb-s/Thaicom1A_C-120.0E        Tue Dec 21 12:13:28 2010 +0100
34534 @@ -0,0 +1,24 @@
34535 +# Thaicom 1A @ 120.0E C-BAND
34536 +# Generated by Pietro Casoar
34537 +# 1st March 2009
34538 +
34539 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34540 +# freq pol sr fec
34541 +
34542 +# TV3 Cambodia
34543 +S 3725000 V 3255000 3/4
34544 +
34545 +# Panyapiwat
34546 +S 3745000 V 2850000 5/6
34547 +
34548 +# CTN Cambodia Multiplex
34549 +S 3854000 V 9628000 3/4
34550 +
34551 +# Kasikorn TV
34552 +S 3881000 V 2000000 3/4
34553 +
34554 +# Bayon TV
34555 +S 3916000 V 3359000 3/4
34556 +
34557 +# Radio Thailand Multiplex
34558 +S 4135000 V 1808000 3/4
34559 diff -r af23d23c278b util/scan/dvb-s/Thaicom2_C-78.5E
34560 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34561 +++ b/util/scan/dvb-s/Thaicom2_C-78.5E  Tue Dec 21 12:13:28 2010 +0100
34562 @@ -0,0 +1,33 @@
34563 +# Thaicom 2 @ 78.5E C-BAND
34564 +# Generated by Pietro Casoar
34565 +# 1st March 2009
34566 +
34567 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34568 +# freq pol sr fec
34569 +
34570 +# BBTV Channel 7
34571 +S 3764000 H 5900000 3/4
34572 +
34573 +# SBT TV
34574 +S 3803000 H 1445000 7/8
34575 +
34576 +# MCOT Multiplex
34577 +S 3888000 H 15625000 3/4
34578 +
34579 +# Royal Thai Army TV 5
34580 +S 3905000 H 6250000 3/4
34581 +
34582 +# Thai TV Color Channel 3
34583 +S 3967000 H 4551000 3/4
34584 +
34585 +# RU TV 1
34586 +S 4003000 H 1085000 3/4
34587 +
34588 +# Ten TV & Rich Channel
34589 +S 4016000 H 2305000 7/8
34590 +
34591 +# NBT TV
34592 +S 4106000 H 4688000 3/4
34593 +
34594 +# Thai PBS
34595 +S 4145000 H 4815000 3/4
34596 diff -r af23d23c278b util/scan/dvb-s/Thaicom5_C-78.5E
34597 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34598 +++ b/util/scan/dvb-s/Thaicom5_C-78.5E  Tue Dec 21 12:13:28 2010 +0100
34599 @@ -0,0 +1,69 @@
34600 +# Thaicom 5 @ 78.5E C-BAND
34601 +# Generated by Pietro Casoar
34602 +# 1st March 2009
34603 +
34604 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34605 +# freq pol sr fec
34606 +
34607 +# ETC India Multiplex
34608 +S 3421000 V 6667000 3/4
34609 +
34610 +# Europe Media Port Multiplex
34611 +S 3431000 H 13333000 3/4
34612 +
34613 +# Nepal TV Multiplex
34614 +S 3432000 V 6667000 3/4
34615 +
34616 +# CTV9
34617 +S 3448000 V 2222000 3/4
34618 +
34619 +# RRSat Global Network (MPEG-4 S/2)
34620 +S 3450000 H 13333000 3/4
34621 +
34622 +# Avenues TV
34623 +S 3454000 V 3333000 3/4
34624 +
34625 +# PSI Channel
34626 +S 3460000 V 1538000 3/4
34627 +
34628 +# Sagarmatha TV
34629 +S 3489000 V 3333000 3/4
34630 +
34631 +# Dhi TV
34632 +S 3502000 V 4444000 2/3
34633 +
34634 +# Korean Central TV
34635 +S 3504000 H 3367000 2/3
34636 +
34637 +# Gang Cartoon Channel
34638 +S 3505000 V 1852000 3/4
34639 +
34640 +# Lao Star Channel
34641 +S 3521000 V 2917000 3/4
34642 +
34643 +# Thaicom Multiplex
34644 +S 3545000 V 30000000 5/6
34645 +
34646 +# RRSat Global Network
34647 +S 3551000 H 13333000 3/4
34648 +
34649 +# VTV Maldives
34650 +S 3562000 H 4444000 1/2
34651 +
34652 +# MRTV Multiplex
34653 +S 3574000 H 7492000 2/3
34654 +
34655 +# Thaicom Multiplex
34656 +S 3585000 V 26667000 3/4
34657 +
34658 +# Thaicom Multiplex
34659 +S 3600000 H 26667000 3/4
34660 +
34661 +# MRTV Multiplex
34662 +S 3617000 V 12500000 3/4
34663 +
34664 +# RRSat Global Network Multiplex
34665 +S 3640000 H 28066000 3/4
34666 +
34667 +# TVK Cambodia
34668 +S 3664000 H 3704000 3/4
34669 diff -r af23d23c278b util/scan/dvb-s/Vinasat1_C-132.0E
34670 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34671 +++ b/util/scan/dvb-s/Vinasat1_C-132.0E Tue Dec 21 12:13:28 2010 +0100
34672 @@ -0,0 +1,12 @@
34673 +# VINASAT 1 @ 132.0E C-BAND
34674 +# Generated by Pietro Casoar
34675 +# 1st March 2009
34676 +
34677 +# MPEG-2 & MPEG-4 QPSK (DVBS/S2)
34678 +# freq pol sr fec
34679 +
34680 +# VTV Multiplex (VTV 1, VTV 2, VTV 3, VTV 4, VTV6)
34681 +S 3413000 V 9766000 3/4
34682 +
34683 +# VOV TV (Voice of VietNam)
34684 +S 3529000 V 2500000 2/3
34685 diff -r af23d23c278b util/scan/dvb-t/au-Adelaide
34686 --- a/util/scan/dvb-t/au-Adelaide       Sat Jun 20 16:47:55 2009 +0200
34687 +++ b/util/scan/dvb-t/au-Adelaide       Tue Dec 21 12:13:28 2010 +0100
34688 @@ -10,3 +10,5 @@
34689  T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34690  # SBS
34691  T 564500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34692 +# 3D Trial Australia
34693 +T 536625000 7MHz 3/4 NONE QAM16 8k 1/8 NONE
34694 diff -r af23d23c278b util/scan/dvb-t/au-AdelaideFoothills
34695 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34696 +++ b/util/scan/dvb-t/au-AdelaideFoothills      Tue Dec 21 12:13:28 2010 +0100
34697 @@ -0,0 +1,12 @@
34698 +# Australia / Adelaide / Grenfell Street
34699 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34700 +# ABC
34701 +T 781625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34702 +# Seven
34703 +T 711500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34704 +# Nine
34705 +T 795500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34706 +# Ten
34707 +T 732500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34708 +# SBS
34709 +T 760500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34710 diff -r af23d23c278b util/scan/dvb-t/au-Ballarat
34711 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34712 +++ b/util/scan/dvb-t/au-Ballarat       Tue Dec 21 12:13:28 2010 +0100
34713 @@ -0,0 +1,12 @@
34714 +# Australia / Ballarat
34715 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34716 +# ABC
34717 +T 620625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34718 +# Prime
34719 +T 655500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34720 +# WIN
34721 +T 592625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34722 +# SC
34723 +T 613500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34724 +# SBS
34725 +T 634625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34726 diff -r af23d23c278b util/scan/dvb-t/au-Bendigo
34727 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34728 +++ b/util/scan/dvb-t/au-Bendigo        Tue Dec 21 12:13:28 2010 +0100
34729 @@ -0,0 +1,41 @@
34730 +# Australia / Bendigo (Mt Alexandria transmitters)
34731 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34732 +# ABC
34733 +T 669500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34734 +T 620500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34735 +T 572500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34736 +
34737 +# Seven
34738 +T 690500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34739 +T 655500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34740 +T 555250000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34741 +
34742 +# Nine
34743 +T 576250000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34744 +T 592500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34745 +
34746 +# Ten
34747 +T 618250000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34748 +
34749 +# SBS
34750 +T 529500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34751 +T 634500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34752 +T 534250000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34753 +
34754 +# UNK1
34755 +T 676500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34756 +# UNK2
34757 +T 571500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34758 +
34759 +T 536625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34760 +T 585625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34761 +T 564500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34762 +T 543500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34763 +T 536500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34764 +T 529500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34765 +T 205500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34766 +T 564500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34767 +T 536625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34768 +T 690500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34769 +T 711500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34770 +T 550500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34771 diff -r af23d23c278b util/scan/dvb-t/au-Brisbane
34772 --- a/util/scan/dvb-t/au-Brisbane       Sat Jun 20 16:47:55 2009 +0200
34773 +++ b/util/scan/dvb-t/au-Brisbane       Tue Dec 21 12:13:28 2010 +0100
34774 @@ -10,3 +10,5 @@
34775  T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34776  # SBS
34777  T 585625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34778 +# 31 Digital
34779 +T 599500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34780 diff -r af23d23c278b util/scan/dvb-t/au-Devonport
34781 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34782 +++ b/util/scan/dvb-t/au-Devonport      Tue Dec 21 12:13:28 2010 +0100
34783 @@ -0,0 +1,19 @@
34784 +# Australia / Tasmania / Devonport
34785 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34786 +#
34787 +# Brett S Hallett October 2009 , may not be complete !!
34788 +#
34789 +# ABC VHF 57
34790 +T 730250000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34791 +# ABC Digital 45
34792 +T 648500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34793 +# SBS VHF 54
34794 +T 709250000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34795 +# SBS Digital 39
34796 +T 606500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34797 +# SCTV
34798 +T 613498000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34799 +# WIN
34800 +T 627498000 7MHz 3/4 NONE QAM64 8k 1/8 NONE
34801 +# TDT
34802 +T 585498000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34803 diff -r af23d23c278b util/scan/dvb-t/au-FraserCoast-Bundaberg
34804 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34805 +++ b/util/scan/dvb-t/au-FraserCoast-Bundaberg  Tue Dec 21 12:13:28 2010 +0100
34806 @@ -0,0 +1,12 @@
34807 +# Australia / QLD / Fraser Coast - Bundaberg / Mt Goonaneman
34808 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34809 +# ABC VHF9A
34810 +T 205625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34811 +# SBS UHF28
34812 +T 529500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34813 +# Seven VHF7
34814 +T 184625000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
34815 +# WIN Wide Bay VHF10
34816 +T 212500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34817 +# Southern Cross Ten VHF9
34818 +T 198525000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34819 diff -r af23d23c278b util/scan/dvb-t/au-Goulburn-Rocky_Hill
34820 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34821 +++ b/util/scan/dvb-t/au-Goulburn-Rocky_Hill    Tue Dec 21 12:13:28 2010 +0100
34822 @@ -0,0 +1,19 @@
34823 +# Australia / Goulburn / Rocky Hill
34824 +#
34825 +# Scanned 17/10/2009 - Alex Ferrara (alex@receptiveit.com.au)
34826 +
34827 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34828 +# ABC - netid (4112) tid (547) offset (+125Khz)
34829 +T 725625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34830 +
34831 +# SBS - netid (12802) tid (848) offset (+125Khz)
34832 +T 746625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34833 +
34834 +# WIN - netid (12915) tid (12922) offset (+125Khz)
34835 +T 767625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34836 +
34837 +# Prime - netid (12929) tid (2462) offset (+125Khz)
34838 +T 788625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34839 +
34840 +# TEN - netid (12812) tid (2055) offset (0Khz)
34841 +T 809500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34842 diff -r af23d23c278b util/scan/dvb-t/au-Hervey_Bay-Ghost_Hill
34843 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34844 +++ b/util/scan/dvb-t/au-Hervey_Bay-Ghost_Hill  Tue Dec 21 12:13:28 2010 +0100
34845 @@ -0,0 +1,16 @@
34846 +# Australia / Hervey Bay / Ghost Hill
34847 +#
34848 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34849 +#
34850 +# ABC UHF56
34851 +T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34852 +# Seven UHF59
34853 +T 746500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34854 +# Nine UHF62
34855 +T 767625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34856 +# Ten UHF68
34857 +T 809500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34858 +# SBS UHF28
34859 +T 529500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34860 +# SBS UHF34
34861 +T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34862 diff -r af23d23c278b util/scan/dvb-t/au-SunshineCoast
34863 --- a/util/scan/dvb-t/au-SunshineCoast  Sat Jun 20 16:47:55 2009 +0200
34864 +++ b/util/scan/dvb-t/au-SunshineCoast  Tue Dec 21 12:13:28 2010 +0100
34865 @@ -3,7 +3,7 @@
34866  # SBS36 SBS ***
34867  T 585625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34868  # TNQ47 10 ***
34869 -T 662625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
34870 +T 662625000 7MHz 3/4 NONE QAM64 8k 1/8 NONE
34871  # ABQ62 ABC ***
34872  T 767625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34873  # STQ65 7 ***
34874 diff -r af23d23c278b util/scan/dvb-t/au-Sutherland
34875 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34876 +++ b/util/scan/dvb-t/au-Sutherland     Tue Dec 21 12:13:28 2010 +0100
34877 @@ -0,0 +1,20 @@
34878 +# Australia / Sutherland
34879 +#
34880 +# Australia modulation params:
34881 +# - http://www.dba.org.au/index.asp?sectionID=120
34882 +#
34883 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34884 +#
34885 +# North (Broadcast Site Escarpment Road BROKERS NOSE)
34886 +# - http://www.dba.org.au/index.asp?query=true&sectionID=22&recLocation=Wollongong+%2D+North
34887 +#
34888 +#Channel 7 stations
34889 +T 177500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34890 +#Channel 9 bundle
34891 +# T 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO
34892 +#One and Channel 10
34893 +T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34894 +#Aunty
34895 +T 226500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34896 +#SBS
34897 +T 571500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
34898 diff -r af23d23c278b util/scan/dvb-t/be-All
34899 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34900 +++ b/util/scan/dvb-t/be-All    Tue Dec 21 12:13:28 2010 +0100
34901 @@ -0,0 +1,8 @@
34902 +# Belgium, whole country
34903 +# Created from http://nl.wikipedia.org/wiki/DVB-T-frequenties
34904 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34905 +T 482000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
34906 +T 506000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
34907 +T 666000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE
34908 +T 754000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE
34909 +T 834000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE
34910 diff -r af23d23c278b util/scan/dvb-t/be-Brussels
34911 --- a/util/scan/dvb-t/be-Brussels       Sat Jun 20 16:47:55 2009 +0200
34912 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
34913 @@ -1,5 +0,0 @@
34914 -# Brussels - Belgium (Transmitters of the RTBF and the VRT)
34915 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34916 -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE # RTBF
34917 -T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE # BE-TV
34918 -T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE # VRT
34919 diff -r af23d23c278b util/scan/dvb-t/be-Libramont
34920 --- a/util/scan/dvb-t/be-Libramont      Sat Jun 20 16:47:55 2009 +0200
34921 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
34922 @@ -1,10 +0,0 @@
34923 -# Libramont - Belgique
34924 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34925 -# Canal  7 191.5 MHz M6
34926 -# Canal 24 498.0 MHz RTL-TVI  Club-RTL  Plug-TV  RTL 4,5,7
34927 -# Canal 27 522.0 MHz RTL Lux, den 2ten RTL
34928 -# Canal 56 834.0 MHz RTBF 1,2,3 + radio
34929 -T 191500000 7MHz 1/2 NONE QAM64 8k 1/8 NONE
34930 -T 498000000 8MHz 1/2 NONE QAM64 8k 1/16 NONE
34931 -T 522000000 8MHz 1/2 NONE QAM64 8k 1/16 NONE
34932 -T 834000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
34933 diff -r af23d23c278b util/scan/dvb-t/be-Schoten
34934 --- a/util/scan/dvb-t/be-Schoten        Sat Jun 20 16:47:55 2009 +0200
34935 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
34936 @@ -1,3 +0,0 @@
34937 -# Schoten-Antwerpen - Belgie
34938 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34939 -T 778000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
34940 diff -r af23d23c278b util/scan/dvb-t/be-St_Pieters_Leeuw
34941 --- a/util/scan/dvb-t/be-St_Pieters_Leeuw       Sat Jun 20 16:47:55 2009 +0200
34942 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
34943 @@ -1,3 +0,0 @@
34944 -# St.-Pieters-Leeuw - Belgie
34945 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34946 -T 482000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
34947 diff -r af23d23c278b util/scan/dvb-t/be-Tournai
34948 --- a/util/scan/dvb-t/be-Tournai        Sat Jun 20 16:47:55 2009 +0200
34949 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
34950 @@ -1,3 +0,0 @@
34951 -# Tournai - Belgique
34952 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34953 -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
34954 diff -r af23d23c278b util/scan/dvb-t/ch-All
34955 --- a/util/scan/dvb-t/ch-All    Sat Jun 20 16:47:55 2009 +0200
34956 +++ b/util/scan/dvb-t/ch-All    Tue Dec 21 12:13:28 2010 +0100
34957 @@ -19,6 +19,7 @@
34958  T 682000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE
34959  T 690000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE
34960  T 698000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE
34961 +T 706000000 8MHz 1/2 NONE QAM16 8k 1/4 NONE
34962  T 714000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE
34963  T 722000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE
34964  T 722000000 8MHz 5/6 NONE QAM16 8k 1/8 NONE
34965 diff -r af23d23c278b util/scan/dvb-t/ch-Geneva
34966 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34967 +++ b/util/scan/dvb-t/ch-Geneva Tue Dec 21 12:13:28 2010 +0100
34968 @@ -0,0 +1,16 @@
34969 +# Switzerland, whole country
34970 +# Created from http://www.broadcast.ch/portal.aspx?pid=705
34971 +# and http://www.broadcast.ch/data_program_dvbt.aspx
34972 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34973 +#  freq     bw   fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34974 +T 570166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
34975 +T 578000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE
34976 +T 658166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
34977 +T 666166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
34978 +T 682166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
34979 +T 706000000 8MHz 1/2 NONE QAM16 8k 1/4 NONE
34980 +T 746166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
34981 +T 770166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
34982 +T 794166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
34983 +T 818166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
34984 +T 850166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
34985 diff -r af23d23c278b util/scan/dvb-t/cz-All
34986 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
34987 +++ b/util/scan/dvb-t/cz-All    Tue Dec 21 12:13:28 2010 +0100
34988 @@ -0,0 +1,41 @@
34989 +# Czech Republic, whole country
34990 +# Created from http://www.digizone.cz/texty/mapy-pokryti-multiplex-1-ceska-televize/
34991 +# and http://www.digizone.cz/texty/mapy-pokryti-multiplex-2-radiokomunikace/
34992 +# and http://www.digizone.cz/texty/mapy-pokryti-multiplex-3-czech-digital-group/
34993 +# and http://www.digizone.cz/texty/mapy-pokryti-multiplex-4-telefonica-o2/
34994 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
34995 +T 482000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
34996 +T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
34997 +T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
34998 +T 546000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
34999 +T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35000 +T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35001 +T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35002 +T 586000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35003 +T 594000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35004 +T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35005 +T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35006 +T 626000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35007 +T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35008 +T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35009 +T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35010 +T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35011 +T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35012 +T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35013 +T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35014 +T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35015 +T 706000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35016 +T 714000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35017 +T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35018 +T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35019 +T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35020 +T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35021 +T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35022 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35023 +T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35024 +T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35025 +T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35026 +T 810000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35027 +T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35028 +T 826000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35029 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35030 diff -r af23d23c278b util/scan/dvb-t/cz-Brno
35031 --- a/util/scan/dvb-t/cz-Brno   Sat Jun 20 16:47:55 2009 +0200
35032 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
35033 @@ -1,10 +0,0 @@
35034 -# DVB-T Brno (Brno, Czech Republic)
35035 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35036 -# MUX 1 Ceska televize
35037 -T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35038 -# MUX 2 Ceske radiokomunikace
35039 -T 626000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35040 -# MUX 3 Czech Digital Group
35041 -T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35042 -# MUX 4 Telefonica O2
35043 -T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35044 diff -r af23d23c278b util/scan/dvb-t/cz-Domazlice
35045 --- a/util/scan/dvb-t/cz-Domazlice      Sat Jun 20 16:47:55 2009 +0200
35046 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
35047 @@ -1,3 +0,0 @@
35048 -# DVB-T Domažlice (Domažlice, Czech Republic)
35049 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35050 -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35051 diff -r af23d23c278b util/scan/dvb-t/cz-Klet
35052 --- a/util/scan/dvb-t/cz-Klet   Sat Jun 20 16:47:55 2009 +0200
35053 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
35054 @@ -1,4 +0,0 @@
35055 -# DVB-T Ceske Budejovice (Klet, Czech Republic)
35056 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35057 -# CRa - Ceske radiokomunikace, TX Klet
35058 -T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35059 diff -r af23d23c278b util/scan/dvb-t/cz-Ostrava
35060 --- a/util/scan/dvb-t/cz-Ostrava        Sat Jun 20 16:47:55 2009 +0200
35061 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
35062 @@ -1,3 +0,0 @@
35063 -# DVB-T Ostrava (Ostrava, Czech Republic)
35064 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35065 -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35066 diff -r af23d23c278b util/scan/dvb-t/cz-Plzen
35067 --- a/util/scan/dvb-t/cz-Plzen  Sat Jun 20 16:47:55 2009 +0200
35068 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
35069 @@ -1,8 +0,0 @@
35070 -# DVB-T Plzen (Pilsen, Czech Republic)
35071 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35072 -# MUX 1 Ceska televize
35073 -T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35074 -# MUX 2 Ceske Radiokomunikace
35075 -T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35076 -# MUX 3 Czech Digital Group
35077 -T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35078 diff -r af23d23c278b util/scan/dvb-t/cz-Praha
35079 --- a/util/scan/dvb-t/cz-Praha  Sat Jun 20 16:47:55 2009 +0200
35080 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
35081 @@ -1,7 +0,0 @@
35082 -# DVB-T Praha (Prague, Czech Republic)
35083 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35084 -T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35085 -T 674000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35086 -T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35087 -T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35088 -T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
35089 diff -r af23d23c278b util/scan/dvb-t/de-Baden-Wuerttemberg
35090 --- a/util/scan/dvb-t/de-Baden-Wuerttemberg     Sat Jun 20 16:47:55 2009 +0200
35091 +++ b/util/scan/dvb-t/de-Baden-Wuerttemberg     Tue Dec 21 12:13:28 2010 +0100
35092 @@ -1,20 +1,19 @@
35093  # DVB-T Baden-Württemberg
35094  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35095  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35096 -T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35097 -T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35098 +T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH21: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35099 +T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35100 +T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35101  T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH26: Das Erste, arte, Phoenix, EinsPlus
35102 -T 522000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH27: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35103 -T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35104 -T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: SWR-BW, BR, hr, WDR
35105 -T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: SWR-BW, BR, hr, WDR
35106 -T 634000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH41: SWR-BW, BR, hr, WDR
35107 +T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35108 +T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: SWR-BW, Bayerisches Fernsehen, hr, WDR
35109 +T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: SWR-BW, Bayerisches Fernsehen, hr, WDR
35110 +T 634000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH41: SWR-BW, Bayerisches Fernsehen, hr, WDR
35111  T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH43: Das Erste, arte, Phoenix, EinsPlus
35112 -T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: SWR-BW, BR, hr, WDR
35113 -T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH50: Das Erste, arte, Phoenix, EinsPlus
35114 -                                            # CH50: SWR-BW, BR, hr, WDR
35115 +T 666000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH45: RTL, RTL 2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]
35116 +T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: SWR-BW, Bayerisches Fernsehen, hr, WDR
35117 +T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH50: SWR-BW, Bayerisches Fernsehen, hr, WDR
35118  T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: Das Erste, arte, Phoenix, EinsPlus
35119 -T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: Das Erste, arte, Phoenix, EinsPlus
35120 -                                            # CH53: SWR-BW, BR, hr, WDR
35121  T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH54: Das Erste, arte, Phoenix, EinsPlus
35122 +T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH59: Das Erste, arte, Phoenix, EinsPlus
35123  T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Das Erste, arte, Phoenix, EinsPlus
35124 diff -r af23d23c278b util/scan/dvb-t/de-Bayern
35125 --- a/util/scan/dvb-t/de-Bayern Sat Jun 20 16:47:55 2009 +0200
35126 +++ b/util/scan/dvb-t/de-Bayern Tue Dec 21 12:13:28 2010 +0100
35127 @@ -1,40 +1,40 @@
35128  # DVB-T Bayern
35129  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35130  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35131 -T 184500000 7MHz 3/4 NONE QAM16 8k 1/4 NONE # CH06: Das Erste, arte, Phoenix, EinsPlus
35132  T 191500000 7MHz 3/4 NONE QAM16 8k 1/4 NONE # CH07: Das Erste, arte, Phoenix, EinsPlus
35133  T 212500000 7MHz 3/4 NONE QAM16 8k 1/4 NONE # CH10: Das Erste, arte, Phoenix, EinsPlus
35134 -T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35135 -T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH25: BR, BRalpha, SWR, Das Erste
35136 -                                            # CH25: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35137 -T 522000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH27: BR, BRalpha, SWR, Das Erste
35138 -T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: BR, BRalpha, SWR, Das Erste
35139 -                                            # CH28: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35140 +T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35141 +T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH25: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
35142 +                                            # CH25: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35143 +T 522000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH27: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
35144 +T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
35145 +                                            # CH28: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35146  T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: Das Erste, arte, Phoenix, EinsPlus
35147  T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: Das Erste, arte, Phoenix, EinsPlus
35148 -T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35149 -T 578000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH34: RTL, RTL II, Super RTL, VOX
35150 -                                            # CH34: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35151 -T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35152 +T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35153 +T 578000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH34: RTL, RTL 2, Super RTL, VOX
35154 +                                            # CH34: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35155 +T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35156  T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: Das Erste, arte, Phoenix, EinsPlus
35157 -T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: BR, BRalpha, hr, mdr
35158 +T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
35159 +T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: Bayerisches Fernsehen, BR-alpha, MDR, hr
35160                                              # CH40: Das Erste, arte, Phoenix, EinsPlus
35161 -T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35162 -T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35163 -T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: BR, BRalpha, hr, mdr
35164 +T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35165 +T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35166 +T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Bayerisches Fernsehen, BR-alpha, MDR, hr
35167                                              # CH45: Das Erste, arte, Phoenix, EinsPlus
35168 -T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: BR, BRalpha, SWR, Das Erste
35169 -                                            # CH46: BR, BRalpha, hr, mdr
35170 -T 682000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH47: BR, BRalpha, hr, mdr
35171 +T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: Bayerisches Fernsehen, BR-alpha, MDR, hr
35172 +                                            # CH46: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
35173 +T 682000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH47: Bayerisches Fernsehen, BR-alpha, MDR, hr
35174                                              # CH47: Das Erste, arte, Phoenix, EinsPlus
35175 -T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH48: Pro7, Sat.1, Kabel1, N24
35176 -T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: Pro7, Sat.1, Kabel1, N24
35177 -T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: BR, BRalpha, SWR, Das Erste
35178 -                                            # CH53: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35179 -T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH54: http://www.digitalfernsehen.de/news/news_769785.html
35180 +T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH48: Sat.1, ProSieben, Kabel1, N24
35181 +T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: Das Erste, arte, Phoenix, EinsPlus
35182 +T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: ProSieben, Sat.1, Kabel1, N24
35183 +T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
35184 +                                            # CH53: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35185 +T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH54: Das Erste, arte, Phoenix, EinsPlus
35186  T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: Das Erste, arte, Phoenix, EinsPlus
35187 -T 754000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH56: BR, BRalpha, SWR, Das Erste
35188 -T 770000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH58: Das Erste, arte, Phoenix, EinsPlus
35189 -T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Tele 5, Eurosport, MonA, Franken Fernsehen
35190 -T 834000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH66: RTL, RTL II, Super RTL, VOX
35191 -                                            # CH66: Tele 5, Eurosport, HSE 24, münchen.tv
35192 +T 754000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH56: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
35193 +T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Tele 5, Channel21/ Euronews, Bibel TV, HSE 24, Franken Fernsehen
35194 +T 834000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH66: RTL, RTL 2, Super RTL, VOX
35195 +                                            # CH66: Tele 5, Channel21/ Euronews, Bibel TV, HSE 24, münchen.tv
35196 diff -r af23d23c278b util/scan/dvb-t/de-Berlin
35197 --- a/util/scan/dvb-t/de-Berlin Sat Jun 20 16:47:55 2009 +0200
35198 +++ b/util/scan/dvb-t/de-Berlin Tue Dec 21 12:13:28 2010 +0100
35199 @@ -1,11 +1,12 @@
35200  # DVB-T Berlin
35201  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35202  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35203 -T 177500000 7MHz 3/4 NONE QAM16 8k 1/8 NONE # CH05: HSE 24/MONA, FAB, WDR, SWR
35204 +T 177500000 7MHz 3/4 NONE QAM16 8k 1/8 NONE # CH05: Tele 5, HSE 24, WDR, SWR (BW / RP)
35205  T 191500000 7MHz 2/3 NONE QAM16 8k 1/8 NONE # CH07: MDR, NDR, arte
35206 -T 506000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH25: RTL, RTL II, Super RTL, VOX
35207 +T 506000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH25: RTL, RTL 2, Super RTL, VOX
35208  T 522000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH27: Das Erste, RBB, Phoenix, EinsExtra
35209 -T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35210 -T 658000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH44: Pro7, Sat.1, Kabel1, N24
35211 -T 754000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH56: Eurosport, TV.B, DSF, Neun live
35212 -T 778000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH59: n-tv, EuroNews, + 26 Radioprogramme
35213 +T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35214 +T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH39: Das Vierte, Bibel.TV, QVC, Bayerisches Fernsehen
35215 +T 658000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH44: ProSieben, Sat.1, Kabel1, N24
35216 +T 754000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH56: Eurosport, TV.B, Sport1, 9Live
35217 +T 778000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH59: n-tv, EuroNews / Channel 21 Shop, PLACE2BE + 8 Radioprogramme
35218 diff -r af23d23c278b util/scan/dvb-t/de-Brandenburg
35219 --- a/util/scan/dvb-t/de-Brandenburg    Sat Jun 20 16:47:55 2009 +0200
35220 +++ b/util/scan/dvb-t/de-Brandenburg    Tue Dec 21 12:13:28 2010 +0100
35221 @@ -1,7 +1,7 @@
35222  # DVB-T Brandenburg
35223  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35224  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35225 -T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35226 -T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35227 +T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35228 +T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35229  T 730000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE # CH53: Das Erste, RBB, Phoenix, EinsExtra
35230  T 762000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH57: MDR, NDR, arte
35231 diff -r af23d23c278b util/scan/dvb-t/de-Bremen
35232 --- a/util/scan/dvb-t/de-Bremen Sat Jun 20 16:47:55 2009 +0200
35233 +++ b/util/scan/dvb-t/de-Bremen Tue Dec 21 12:13:28 2010 +0100
35234 @@ -3,7 +3,7 @@
35235  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35236  T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: Das Erste (RB), RB TV (NDR NDS), arte, Phoenix
35237  T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35238 -T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35239 -T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: RTL, RTL II, Super RTL, VOX
35240 -T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Tele 5, Neun live, Eurosport, MONA/DMAX
35241 -T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: Pro7, Sat.1, Kabel1, N24
35242 +T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35243 +T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: RTL, RTL 2, Super RTL, VOX
35244 +T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Tele 5, 9Live, Eurosport, MONA / Channel 21
35245 +T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: ProSieben, Sat.1, Kabel1, N24
35246 diff -r af23d23c278b util/scan/dvb-t/de-Hamburg
35247 --- a/util/scan/dvb-t/de-Hamburg        Sat Jun 20 16:47:55 2009 +0200
35248 +++ b/util/scan/dvb-t/de-Hamburg        Tue Dec 21 12:13:28 2010 +0100
35249 @@ -1,16 +1,12 @@
35250  # DVB-T Hamburg
35251  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35252 +# CH36 entry from http://www.dvb-t-nord.de/programme/index.html
35253  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35254 -T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35255 -T 490000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH23: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35256 -T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR/NDR HH
35257 -T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: Pro7, Sat.1, Kabel1, N24
35258 -T 546000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH30: Pro7, Sat.1, Kabel1, N24
35259 +T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35260 +T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH
35261 +T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ProSieben, Sat.1, Kabel1, N24
35262  T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: Das Erste, arte, Phoenix, EinsExtra
35263 -T 570000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH33: Das Erste, arte, Phoenix, EinsExtra
35264 -T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: RTL, RTL II, Super RTL, VOX
35265 -T 626000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH40: RTL, RTL II, Super RTL, VOX
35266 -T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: Neun live, HH1, BibelTV, Eurosport
35267 -T 674000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH46: Neun live, HH1, BibelTV, Eurosport
35268 -T 738000000 8MHz 1/2 NONE QAM64 8k 1/8 NONE # CH54: NDR HH, WDR/NDR NDS, MDR/NDR MVP, BR/NDR SH
35269 -T 738000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH54: NDR HH, WDR/NDR NDS, MDR/NDR MVP, BR/NDR SH
35270 +T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: TELE 5, QVC, DAS VIERTE, Channel 21 / Euronews
35271 +T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: RTL, RTL 2, Super RTL, VOX
35272 +T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: 9Live, HH1, Bibel.TV, Eurosport
35273 +T 738000000 8MHz 1/2 NONE QAM64 8k 1/8 NONE # CH54: NDR HH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR SH
35274 diff -r af23d23c278b util/scan/dvb-t/de-Hessen
35275 --- a/util/scan/dvb-t/de-Hessen Sat Jun 20 16:47:55 2009 +0200
35276 +++ b/util/scan/dvb-t/de-Hessen Tue Dec 21 12:13:28 2010 +0100
35277 @@ -1,19 +1,19 @@
35278  # DVB-T Hessen
35279  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35280  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35281 -T 198500000 7MHz 2/3 NONE QAM16 8k 1/4 NONE # CH08: Phoenix, BR, SWR-RP
35282 -T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH21: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35283 -T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35284 -T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: Phoenix, BR, SWR-RP, WDR
35285 -T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH25: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35286 +T 198500000 7MHz 2/3 NONE QAM16 8k 1/4 NONE # CH08: Phoenix, Bayerisches Fernsehen, SWR-RP
35287 +T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH21: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35288 +T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35289 +T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: Phoenix, Bayerisches Fernsehen, SWR-RP, WDR
35290 +T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH25: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35291  T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: Das Erste, hr, EinsExtra/arte
35292 -T 578000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH34: RTL, RTL II, Super RTL, VOX
35293 +T 578000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH34: RTL, RTL 2, Super RTL, VOX
35294  T 602000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH37: Das Erste, hr, EinsExtra/arte
35295 -T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: Phoenix, BR, SWR-RP, mdr
35296 -T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35297 +T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: Phoenix, Bayerisches Fernsehen, SWR-RP, MDR
35298 +T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35299  T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH43: Das Erste, hr, EinsExtra/arte
35300 -T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35301 -T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: BR, hr, SWR-BW, WDR
35302 -T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH54: Pro7, Sat.1, Kabel1, N24
35303 -T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: Phoenix, NDR, mdr, WDR
35304 -T 818000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH64: Tele5, Eurosport, rheinmaintv
35305 +T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35306 +T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: Bayerisches Fernsehen, hr, SWR-BW, WDR
35307 +T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH54: ProSieben, Sat.1, Kabel1, N24
35308 +T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: Phoenix, NDR, MDR, WDR
35309 +T 818000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH64: Tele5, Eurosport, rheinmaintv, Bibel.TV
35310 diff -r af23d23c278b util/scan/dvb-t/de-Mecklenburg-Vorpommern
35311 --- a/util/scan/dvb-t/de-Mecklenburg-Vorpommern Sat Jun 20 16:47:55 2009 +0200
35312 +++ b/util/scan/dvb-t/de-Mecklenburg-Vorpommern Tue Dec 21 12:13:28 2010 +0100
35313 @@ -2,11 +2,11 @@
35314  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35315  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35316  T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: Das Erste, NDR MVP, RBB, MDR/NDR SH
35317 -T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35318 +T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35319  T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH26: Das Erste, NDR MVP, RBB, MDR/NDR SH
35320  T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: Das Erste, NDR MVP, RBB, MDR/NDR SH
35321  T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: Das Erste, NDR MVP, RBB, MDR/NDR SH
35322 -T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35323 -T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35324 -T 714000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH51: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35325 -T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH54: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35326 +T 602000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH37: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35327 +T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35328 +T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35329 +T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35330 diff -r af23d23c278b util/scan/dvb-t/de-Niedersachsen
35331 --- a/util/scan/dvb-t/de-Niedersachsen  Sat Jun 20 16:47:55 2009 +0200
35332 +++ b/util/scan/dvb-t/de-Niedersachsen  Tue Dec 21 12:13:28 2010 +0100
35333 @@ -5,36 +5,35 @@
35334  T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: Das Erste (RB), RB TV (NDR NDS), arte, Phoenix
35335                                              # CH22: Das Erste, arte, Phoenix, EinsExtra
35336                                              # CH22: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35337 -T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35338 -T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: RTL, RTL II, Super RTL, VOX
35339 -                                            # CH24: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35340 -T 522000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH27: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35341 -T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: Tele 5, NICK/Comedy Central, Eurosport, MONA/DMAX
35342 +T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35343 +T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: RTL, RTL 2, Super RTL, VOX
35344 +T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH26: Das Erste, arte, Phoenix, EinsExtra
35345 +T 522000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH27: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35346 +T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: Tele 5, NICK / Comedy Central, Eurosport, MONA / Channel 21
35347  T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35348 -T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35349 +T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH31: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35350 +T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35351  T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: Das Erste, arte, Phoenix, EinsExtra
35352 -T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35353 +T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35354  T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35355  T 602000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH37: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35356 -T 610000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH38: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35357 +T 610000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH38: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35358  T 634000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH41: Das Erste, arte, Phoenix, EinsExtra
35359 -T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: RTL, RTL II, Super RTL, VOX
35360 -                                            # CH42: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35361 +T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: RTL, RTL 2, Super RTL, VOX
35362 +                                            # CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35363  T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH43: Das Erste, arte, Phoenix, EinsExtra
35364                                              # CH43: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35365 -T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: Pro7, Sat.1, Kabel1, N24
35366 -T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Tele 5, Neun live, Eurosport, MONA/DMAX
35367 +T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: ProSieben, Sat.1, Kabel1, N24
35368 +T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Tele 5, 9Live, Eurosport, MONA / Channel 21
35369  T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35370  T 682000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH47: Das Erste, arte, Phoenix, EinsExtra
35371  T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH48: Das Erste, arte, Phoenix, EinsExtra
35372 -T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: Pro7, Sat.1, Kabel1, N24
35373 +T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: ProSieben, Sat.1, Kabel1, N24
35374  T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH50: Das Erste, arte, Phoenix, EinsExtra
35375 -T 714000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH51: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35376  T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: Das Erste, arte, Phoenix, EinsExtra
35377  T 754000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH56: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35378  T 770000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH58: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
35379  T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH59: Das Erste, arte, Phoenix, EinsExtra
35380 -                                            # CH59: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35381 -T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Tele 5, Comedy Central, Eurosport, MONA/DMAX
35382 -                                            # CH60: Tele 5, NICK/Comedy Central, Eurosport, MONA/DMAX
35383 +                                            # CH59: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35384 +T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Tele 5, NICK / Comedy Central, Eurosport, MONA / Channel 21
35385  T 826000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH65: Das Erste, arte, Phoenix, EinsExtra
35386 diff -r af23d23c278b util/scan/dvb-t/de-Nordrhein-Westfalen
35387 --- a/util/scan/dvb-t/de-Nordrhein-Westfalen    Sat Jun 20 16:47:55 2009 +0200
35388 +++ b/util/scan/dvb-t/de-Nordrhein-Westfalen    Tue Dec 21 12:13:28 2010 +0100
35389 @@ -5,13 +5,13 @@
35390  T 482000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH22: WDR-Wuppertal, NDR/WDR-Düsseldorf, MDR, SWR
35391  T 506000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH25: WDR-Dortmund, NDR/WDR-Essen, MDR, SWR
35392  T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH26: Das Erste, arte, Phoenix, EinsFestival
35393 -                                            # CH26: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35394 +                                            # CH26: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35395  T 522000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH27: WDR-Siegen, NDR, MDR, SWR
35396 -T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: RTL, RTL II, Super RTL, VOX
35397 -T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35398 +T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: RTL, RTL 2, Super RTL, VOX
35399 +T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35400  T 554000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH31: WDR-Bielefeld, NDR/WDR-Siegen, MDR, SWR
35401 -T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35402 -T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35403 +T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35404 +T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35405  T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: CNN, Eurosport, Tele5, VIVA
35406  T 602000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH37: WDR-Aachen, NDR/WDR-Köln, MDR, SWR
35407  T 666000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH45: WDR-Münster, NDR/WDR-Dortmund, MDR, SWR
35408 @@ -20,8 +20,8 @@
35409  T 698000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH49: WDR-Köln, MDR/WDR-Bonn, NDR/WDR-Aachen, SWR
35410  T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH50: Das Erste, arte, Phoenix, EinsFestival
35411  T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: CNN, Eurosport, Tele5, VIVA
35412 -T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: Pro7, Sat.1, Kabel1, N24
35413 -T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: Pro7, Sat.1, Kabel1, N24
35414 +T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: ProSieben, Sat.1, Kabel1, N24
35415 +T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: ProSieben, Sat.1, Kabel1, N24
35416  T 762000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH57: WDR-Essen, NDR/WDR-Dortmund, MDR, SWR
35417 -T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH59: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35418 +T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH59: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35419  T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Das Erste, arte, Phoenix, EinsFestival
35420 diff -r af23d23c278b util/scan/dvb-t/de-Rheinland-Pfalz
35421 --- a/util/scan/dvb-t/de-Rheinland-Pfalz        Sat Jun 20 16:47:55 2009 +0200
35422 +++ b/util/scan/dvb-t/de-Rheinland-Pfalz        Tue Dec 21 12:13:28 2010 +0100
35423 @@ -1,12 +1,12 @@
35424  # DVB-T Rheinland-Pfalz
35425  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35426  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35427 -T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35428 -T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35429 -T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: SWR-RP, BR, hr, WDR
35430 -T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: SWR-RP, BR, hr, WDR
35431 +T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35432 +T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35433 +T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: SWR-RP, Bayerisches Fernsehen, hr, WDR
35434 +T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: SWR-RP, Bayerisches Fernsehen, hr, WDR
35435  T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: Das Erste, arte, Phoenix, EinsPlus
35436 -T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH48: SWR-RP, BR, hr, WDR
35437 +T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH48: SWR-RP, Bayerisches Fernsehen, hr, WDR
35438  T 754000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH56: Das Erste, arte, Phoenix, EinsPlus
35439  T 762000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH57: Das Erste, arte, Phoenix, EinsPlus
35440  T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Das Erste, arte, Phoenix, EinsPlus
35441 diff -r af23d23c278b util/scan/dvb-t/de-Saarland
35442 --- a/util/scan/dvb-t/de-Saarland       Sat Jun 20 16:47:55 2009 +0200
35443 +++ b/util/scan/dvb-t/de-Saarland       Tue Dec 21 12:13:28 2010 +0100
35444 @@ -1,7 +1,7 @@
35445  # DVB-T Saarland
35446  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35447  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35448 -T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35449 +T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35450  T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: Das Erste, SR Fernsehen, arte, Phoenix
35451 -T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: SWR-RP, BR, hr, WDR
35452 -T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: SaarTV, Tele 5, QVC, BibelTV
35453 +T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: SWR-RP, Bayerisches Fernsehen, hr, WDR
35454 +T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: Tele 5, QVC, Bibel.TV, freie Kapazität
35455 diff -r af23d23c278b util/scan/dvb-t/de-Sachsen
35456 --- a/util/scan/dvb-t/de-Sachsen        Sat Jun 20 16:47:55 2009 +0200
35457 +++ b/util/scan/dvb-t/de-Sachsen        Tue Dec 21 12:13:28 2010 +0100
35458 @@ -1,12 +1,14 @@
35459  # DVB-T Sachsen
35460  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35461  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35462 -T 205500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE # CH09: MDR-SN, rbb, BR, WDR
35463 -T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35464 +T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35465  T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH24: Das Erste, arte, Phoenix, EinsFestival
35466  T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH25: Das Erste, arte, Phoenix, EinsFestival
35467 -T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH27: MDR-SN, rbb, BR, WDR
35468 -T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH29: MDR-SN, rbb, BR, WDR
35469 -T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH32: MDR-SN, rbb, BR, WDR
35470 -T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35471 +T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH27: MDR-SN, rbb, Bayerisches Fernsehen, WDR
35472 +T 530000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH28: RTL, RTL 2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG
35473 +T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH29: MDR-SN, rbb, Bayerisches Fernsehen, WDR
35474 +T 554000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH31: LF Leipzg.Ferns., InfoTVLeipzig, BBCWorld, Bibel.TV, RadioLeipzig, RadioHoreb
35475 +T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH32: MDR-SN, rbb, Bayerisches Fernsehen, WDR
35476 +T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35477 +T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH37: MDR-SN, rbb, Bayerisches Fernsehen, WDR
35478  T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH39: Das Erste, arte, Phoenix, EinsFestival
35479 diff -r af23d23c278b util/scan/dvb-t/de-Sachsen-Anhalt
35480 --- a/util/scan/dvb-t/de-Sachsen-Anhalt Sat Jun 20 16:47:55 2009 +0200
35481 +++ b/util/scan/dvb-t/de-Sachsen-Anhalt Tue Dec 21 12:13:28 2010 +0100
35482 @@ -1,12 +1,12 @@
35483  # DVB-T Sachsen-Anhalt
35484  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35485  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35486 -T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35487 +T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35488  T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH24: Das Erste, arte, Phoenix, EinsFestival
35489 +T 530000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH28: RTL, RTL 2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]
35490  T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH29: Das Erste, arte, Phoenix, EinsFestival
35491 -T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35492 -T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH31: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35493 +T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35494 +T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH31: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35495  T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH34: MDR-ST, rbb, NDR, WDR
35496 -T 586000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH35: MDR-ST, rbb, NDR, WDR
35497  T 610000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH38: MDR-ST, rbb, NDR, WDR
35498  T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH41: Das Erste, arte, Phoenix, EinsFestival
35499 diff -r af23d23c278b util/scan/dvb-t/de-Schleswig-Holstein
35500 --- a/util/scan/dvb-t/de-Schleswig-Holstein     Sat Jun 20 16:47:55 2009 +0200
35501 +++ b/util/scan/dvb-t/de-Schleswig-Holstein     Tue Dec 21 12:13:28 2010 +0100
35502 @@ -1,18 +1,18 @@
35503  # DVB-T Schleswig-Holstein
35504  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35505  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35506 -T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH21: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35507 -T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35508 -T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH26: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR/NDR HH
35509 -T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR/NDR HH
35510 -T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: Pro7, Sat.1, Kabel1, N24
35511 -T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH31: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35512 +T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH21: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35513 +T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35514 +T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH
35515 +T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH26: Das Erste, arte, Phoenix, EinsExtra
35516 +T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH
35517 +T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ProSieben, Sat.1, Kabel1, N24
35518 +T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH31: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35519  T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: Das Erste, arte, Phoenix, EinsExtra
35520 -T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: Pro7, Sat.1, Kabel1, N24
35521 -T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR/NDR HH
35522 -T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: RTL, RTL II, Super RTL, VOX
35523 -T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: RTL, RTL II, Super RTL, VOX
35524 +T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ProSieben, Sat.1, Kabel1, N24
35525 +T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH
35526 +T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: RTL, RTL 2, Super RTL, VOX
35527 +T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: RTL, RTL 2, Super RTL, VOX
35528  T 682000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH47: Das Erste, arte, Phoenix, EinsExtra
35529 -T 762000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH57: Neun live, Tele 5, Eurosport, MONA/DMAX
35530 -T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH59: Neun live, Tele 5, Eurosport, MONA/DMAX
35531 -T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Das Erste, arte, Phoenix, EinsExtra
35532 +T 762000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH57: 9Live, Tele 5, Eurosport, Bibel.TV
35533 +T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH59: 9Live, Tele 5, Eurosport, Bibel.TV
35534 diff -r af23d23c278b util/scan/dvb-t/de-Thueringen
35535 --- a/util/scan/dvb-t/de-Thueringen     Sat Jun 20 16:47:55 2009 +0200
35536 +++ b/util/scan/dvb-t/de-Thueringen     Tue Dec 21 12:13:28 2010 +0100
35537 @@ -2,9 +2,9 @@
35538  # Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
35539  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35540  T 474000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH21: Das Erste, arte, Phoenix, EinsFestival
35541 -T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35542 +T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35543  T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH25: Das Erste, arte, Phoenix, EinsFestival
35544 -T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH27: MDR-TH, rbb, hr, BR
35545 -T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH48: MDR-TH, rbb, hr, BR
35546 -T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH50: ZDF, 3sat, KiKa / ZDFdokukanal, ZDFinfokanal
35547 +T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH27: MDR-TH, rbb, hr, Bayerisches Fernsehen
35548 +T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH48: MDR-TH, rbb, hr, Bayerisches Fernsehen
35549 +T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH50: ZDF, 3sat, KiKa / ZDFneo, ZDFinfokanal
35550  T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH53: Das Erste, arte, Phoenix, EinsFestival
35551 diff -r af23d23c278b util/scan/dvb-t/dk-All
35552 --- a/util/scan/dvb-t/dk-All    Sat Jun 20 16:47:55 2009 +0200
35553 +++ b/util/scan/dvb-t/dk-All    Tue Dec 21 12:13:28 2010 +0100
35554 @@ -2,16 +2,22 @@
35555  # Created from http://www.digi-tv.dk/Indhold_og_tilbud/frekvenser.asp
35556  # and http://www.digi-tv.dk/Sendenettets_opbygning/
35557  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35558 -T 482000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35559  T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35560 +T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35561  T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35562 +T 546000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35563  T 554000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35564 +T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35565  T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35566 +T 626000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35567 +T 642000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35568  T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35569 -T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35570 -T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35571 +T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35572 +T 706000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35573  T 714000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35574 +T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35575  T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35576 +T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35577 +T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35578 +T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35579  T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35580 -T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35581 -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35582 diff -r af23d23c278b util/scan/dvb-t/es-Albacete
35583 --- a/util/scan/dvb-t/es-Albacete       Sat Jun 20 16:47:55 2009 +0200
35584 +++ b/util/scan/dvb-t/es-Albacete       Tue Dec 21 12:13:28 2010 +0100
35585 @@ -1,8 +1,14 @@
35586 -# Spain, Albacete
35587 +# Spain, Albacete - Update 2010/08/12 (Freud)
35588  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35589 -T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 59: La Primera, La 2, Canal 24H, Clan/TVE 50, RNE1, RNE Clásica, RNE 3
35590 -T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 63: CLMTV
35591 -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 66: Veo, Veo 2, Net TV, Teledeporte
35592 -T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 67: Cuatro, CNN+, 40 Latino, La Sexta 1
35593 -T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 68: Telecinco, Telecinco Sport, Telecinco Estrellas, Fly Music
35594 -T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 69: Antena 3, Antena Neox, Antena Nova, La Sexta 2
35595 +T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 37: La Regional, TCM, CRN
35596 +T 674000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 46: Sogecuatro, laSexta2, laSexta3 (Todos pendientes de asignar)
35597 +T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 47: CNC, Vision6, ABTeVe, Punto Radio
35598 +T 706000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 50: Boing, La 10, MTV, Punto Radio
35599 +T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 53: Nitro, Marca TV, Veo13
35600 +T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 56: TVE HD, Teledeporte, Pruebas TVE, RNE 1, RNE CLÁSICA, RNE 3
35601 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 59: La 1, La 2, 24H, Clan, RNE1, RNE Clásica, RNE 3
35602 +T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 63: CMT, CMT2, RCM
35603 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 66: Veo7, Tienda en Veo, Intereconomía, AXN, Teledeporte, Radio Intereconomía, Radio Marca, esRadio, Vaughan Radio
35604 +T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 67: Cuatro, CNN+, 40 Latino, Canal+ Dos, Canal Club, LaSexta, SER, 40 Principales, Cadena Dial
35605 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 68: Telecinco, La Siete, FDF, CincoShop, Disney Channel, Punto Radio
35606 +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 69: Antena 3, Neox, Nova, Gol Televisión, Onda Cero, Europa FM, Onda Melodía 
35607 diff -r af23d23c278b util/scan/dvb-t/es-Alfabia
35608 --- a/util/scan/dvb-t/es-Alfabia        Sat Jun 20 16:47:55 2009 +0200
35609 +++ b/util/scan/dvb-t/es-Alfabia        Tue Dec 21 12:13:28 2010 +0100
35610 @@ -1,5 +1,8 @@
35611  # DVB-T Alfabia, Mallorca, Balearic Islands, Spain.
35612  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35613 +T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # TV3 Cat, 3/24, 33, Super3/300
35614 +T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # TV Mallorca, Canal 4
35615 +T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Popular TV, TEVEi
35616  T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.63: 24h, 50 aniv., ClanTV, La 2, TVE1; RNE 1, RNE 3, RNE C; Digitext, EPG, Lanzadera.
35617  T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.65: IB3, Aprenda Ingles TV
35618  T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.66: NetTV, Teledeporte, VeoTV1, VeoTV2.
35619 diff -r af23d23c278b util/scan/dvb-t/es-BaixoMinho
35620 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
35621 +++ b/util/scan/dvb-t/es-BaixoMinho     Tue Dec 21 12:13:28 2010 +0100
35622 @@ -0,0 +1,16 @@
35623 +# file automatically generated by w_scan
35624 +# (http://wirbel.htpc-forum.de/w_scan/index2.html)
35625 +#! <w_scan> 20090528 1 0 OFDM ES </w_scan>
35626 +#------------------------------------------------------------------------------
35627 +# location and provider: Baixo Minho, Pontevedra (Spain)
35628 +# date (yyyy-mm-dd)    : 2009-07-11
35629 +# provided by (opt)    : neonmann@gmail.com
35630 +#
35631 +# T[2] <freq> <bw> <fec_hi> <fec_lo> <mod> <tm> <guard> <hi> [# comment]
35632 +#------------------------------------------------------------------------------
35633 +T 834000000 8MHz  2/3 NONE    QAM64   8k  1/4 NONE      # SFN
35634 +T 842000000 8MHz  2/3 NONE    QAM64   8k  1/4 NONE
35635 +T 850000000 8MHz  2/3 NONE    QAM64   8k  1/4 NONE      # SFN
35636 +T 858000000 8MHz  2/3 NONE    QAM64   8k  1/4 NONE
35637 +T 770000000 8MHz  2/3 NONE    QAM64   8k  1/4 NONE      # RAR Pontevedra
35638 +T 810000000 8MHz  2/3 NONE    QAM64   8k  1/4 NONE      # RGE GALICIA
35639 diff -r af23d23c278b util/scan/dvb-t/es-Collserola
35640 --- a/util/scan/dvb-t/es-Collserola     Sat Jun 20 16:47:55 2009 +0200
35641 +++ b/util/scan/dvb-t/es-Collserola     Tue Dec 21 12:13:28 2010 +0100
35642 @@ -1,10 +1,12 @@
35643  # DVB-T Collserola (Barcelona)
35644  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35645 -T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c26: BTV
35646 -T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c33: CityTV
35647 -T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c61: TV3, K3/33, 3/24, 300
35648 +T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c26: BTV, TV Badalona, TV L'Hospitalet, TV del Besòs, COM Ràdio, Ràdio Ciutat Badalona, Ràdio L'Hospitalet
35649 +T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c33: 8TV, Barça TV, EDC3, 105TV, RAC 1, RAC 105
35650 +T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c43: TV3HD, 3/24, Canal 9, IB3, Catalunya Música, iCat FM
35651 +T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c48: Urbe TV, Canal Català, 25 TV, Localia, Ona FM, Onda Rambla, Sensació Ràdio
35652 +T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c61: TV3, 33, 3/24, K3/300, Catalunya Ràdio, Catalunya Informació
35653  T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c64: TVE1, TVE2, TVE 24H, Clan/TVE 50 Años, RNE1, RNEC, RNE3
35654 -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c66: Veo TV, Veo2, Net TV, Teledeporte
35655 -T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c67: Cuatro, CNN+, 40 Latino, La Sexta1
35656 -T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c68: Telecino, T5 Sport, T5 Estrellas, Fly Music
35657 -T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c69: Antena 3, Antena.Neox, Antena.Nova, La Sexta2
35658 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c66: Veo7, Sony TV en Veo, Tienda en Veo, Intereconomía, Teledeporte, Radio Intereconomía, Radio Marca
35659 +T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c67: Cuatro, CNN+, 40 Latino, La Sexta, Ser, 40 Principales, Cadena Dial
35660 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c68: Telecino, La Siete, FDF, CincoShop, Disney Channel, Punto Radio
35661 +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE     #c69: Antena 3, Antena.Neox, Antena.Nova, Hogar 10, Onda Cero, Europa FM, Onda Melodía
35662 diff -r af23d23c278b util/scan/dvb-t/es-Granada
35663 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
35664 +++ b/util/scan/dvb-t/es-Granada        Tue Dec 21 12:13:28 2010 +0100
35665 @@ -0,0 +1,8 @@
35666 +# Spain, Granada
35667 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35668 +T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35669 +T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35670 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35671 +T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35672 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35673 +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35674 diff -r af23d23c278b util/scan/dvb-t/es-Las_Palmas
35675 --- a/util/scan/dvb-t/es-Las_Palmas     Sat Jun 20 16:47:55 2009 +0200
35676 +++ b/util/scan/dvb-t/es-Las_Palmas     Tue Dec 21 12:13:28 2010 +0100
35677 @@ -1,8 +1,18 @@
35678 -# Funciona correctamente en Las Palmas de Gran Canaria (24-4-2007)
35679 +# Funciona correctamente en Las Palmas de Gran Canaria (25-09-2010)
35680 +# 
35681 +# Revisada y corregida por el Grupo de Usuarios de Linux de Canarias
35682 +# http://www.gulic.org
35683 +#
35684  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35685 +T 530000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 28: TVE HD, Teledeporte, RNE Clásica, RNE 3
35686 +T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 32: Boing, Telecinco HD, La 10, MTV, Punto Radio
35687 +T 586000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 35: Sogecuatro, LaSexta2, LaSexta3
35688 +T 610000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 38: Nitro, Antena 3 HD, Marca TV, Veo13
35689 +T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 44: Canal 7 Gran Canaria, TIC Canal 8, Canal 4, RTI
35690 +T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 52: Localia, Nueve TV, Nueve Radio
35691  T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 60: TVE1, TVE2, 24H TVE, Clan/TVE, RNE, RNEC, RNE3, Lanzadera, EPG, Digitext, Meteo, Bolsa, Trafico, Empleat
35692 -T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 65: TV C, TV C2
35693 -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 66: Net TV, Teledeporte, Veo TV1, SETenVeo, Radio Intereconomía Lanzadera, EPG, Digitext, Meteo, Bolsa, Trafico, Empleat
35694 -T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 67: CNN+, Cuatro, La Sexta 1, 40 Latino TV, EPG Soge V2 5
35695 -T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 68: Fly Music, Punto Radio, Tele 5, Tele 5 Estrellas, Tele 5 Sport
35696 -T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 69: Antena 3, Antena.Neox, Antena.Nova, Telehit, Onda Cero, Europa FM, Onda Melodia, A3Lanzadera, A3Portal, EPGA3, A3Ticker
35697 +T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 65: TV C, TV C2, Antena 3 Canarias, Popular TV, Canarias Radio, Cope, Cadena 100, Radio ECCA, Lanzadera, Ticker, Piloto TDT
35698 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 66: Veo7, Tienda en Veo, AXN, Intereconomia, Teledeporte, Radio Intereconomia, Radio Marca, esRadio, Vaughan Radio, Canal Ingeniería, GUIDE Plus +, C66Gancho, C66Lanzadera, C66EPG, EpgNet
35699 +T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 67: Cuatro, CNN+, Canal+ Dos, Canal Club, laSexta, SER, 40 Principales, Cadena Dial, Lanzadera, EPG TDT, Ticker, Lanzadera, Noticias, EPG
35700 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 68: Telecinco, La Siete, FDF, CincoShop, Disney Channel, T5Lanzadera, T5Digitext, Noticias, Tiempo, Bolsa, Tráfico
35701 +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 69: Antena 3, Neox, Nova, Gol Televisión, Onda Cero, Europa FM, Onda Melodía, tvtv DIGITAL, A3Lanzadera, A3Portal, A3EPG, A3Ticker, T-seniority, Gol Bar
35702 diff -r af23d23c278b util/scan/dvb-t/es-Pamplona
35703 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
35704 +++ b/util/scan/dvb-t/es-Pamplona       Tue Dec 21 12:13:28 2010 +0100
35705 @@ -0,0 +1,9 @@
35706 +# DVB-T Pamplona
35707 +# T freq bw fec_hi fec_lo mod transm-mode guard-interval hierarchy
35708 +T 610000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35709 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35710 +T 802000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35711 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35712 +T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35713 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35714 +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
35715 diff -r af23d23c278b util/scan/dvb-t/es-SC_Tenerife
35716 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
35717 +++ b/util/scan/dvb-t/es-SC_Tenerife    Tue Dec 21 12:13:28 2010 +0100
35718 @@ -0,0 +1,18 @@
35719 +# Funciona correctamente en Santa Cruz de Tenerife (25-09-2010)
35720 +# 
35721 +# Revisada y corregida por el Grupo de Usuarios de Linux de Canarias
35722 +# http://www.gulic.org
35723 +#
35724 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35725 +T 490000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C23
35726 +T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C24
35727 +T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C26
35728 +T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C29
35729 +T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C45
35730 +T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C56
35731 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C59
35732 +T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C60
35733 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C66
35734 +T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C67
35735 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C68
35736 +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # C69
35737 diff -r af23d23c278b util/scan/dvb-t/es-Sevilla
35738 --- a/util/scan/dvb-t/es-Sevilla        Sat Jun 20 16:47:55 2009 +0200
35739 +++ b/util/scan/dvb-t/es-Sevilla        Tue Dec 21 12:13:28 2010 +0100
35740 @@ -1,7 +1,22 @@
35741 -# DVB-T Sevilla (Andalucia)                   by x2 15 Agosto 2006
35742 +# DVB-T Sevilla (Spain) by x2 15-agos-2010, modificado 15-ago-2010
35743 +#                                    thanks to http://www.tdt1.com
35744 +#         thanks to http://wirbel.htpc-forum.de/w_scan/index2.html
35745  # T freq bw fec_hi fec_lo mod transm-mode guard-interval hierarchy
35746 +T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C33
35747 +T 594000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C36
35748 +T 610000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C38
35749 +T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C41
35750 +T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C44
35751 +T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C45
35752 +T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C49
35753 +T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C52
35754 +T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C54
35755 +T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C55
35756 +T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C56
35757  T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C57
35758 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C59
35759  T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C61
35760 +T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C63
35761  T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C66
35762  T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C67
35763  T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE                  # C68
35764 diff -r af23d23c278b util/scan/dvb-t/es-Vitoria-Gasteiz
35765 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
35766 +++ b/util/scan/dvb-t/es-Vitoria-Gasteiz        Tue Dec 21 12:13:28 2010 +0100
35767 @@ -0,0 +1,8 @@
35768 +# Channel names in use at 2009/07/12, in Channel 66 [fffe] is a scrambled channel.
35769 +# In the generated *channels.conf file could be necesary to change Intereconomía, Radio Intereconomía, ONDA MELODÍA to Intereconomia, Radio Intereconomia, ONDA MELODIA for Totem to work well.
35770 +T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 58: ETB1, ETB2, ETB3, ETBSAT, Euskadi Irratia, Gaztea, EiTB Irratia, Radio Euskadi, Radio Vitoria
35771 +T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 63: La 1, La 2, 24h, Clan, RNE1, RNEC, RNE3
35772 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 66: Teledeporte, Canal Ingenieria, VEO7, SONY TV en VEO, Tienda en VEO, GUIDE PLUS+, Intereconomía, Radio Intereconomía, [fffe], RADIO MARCA
35773 +T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 67: laSexta, CUATRO, CNN+, 40 LATINO, CANAL CLUB, SER, 40 PRINCIPALES, CADENA DIAL
35774 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 68: Telecinco, FDF, LaSiete, Disney Channel, Cincoshop
35775 +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE    # Canal 69: ANTENA 3, ANTENA.NEOX, ANTENA.NOVA, ONDA CERO, EUROPA FM, ONDA MELODÍA, HOGAR 10
35776 diff -r af23d23c278b util/scan/dvb-t/fi-Smedsbole
35777 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
35778 +++ b/util/scan/dvb-t/fi-Smedsbole      Tue Dec 21 12:13:28 2010 +0100
35779 @@ -0,0 +1,13 @@
35780 +#------------------------------------------------------------------------------
35781 +# file automatically generated by w_scan
35782 +# (http://wirbel.htpc-forum.de/w_scan/index2.html)
35783 +#! <w_scan> 20090808 2 0 OFDM FI </w_scan>
35784 +#------------------------------------------------------------------------------
35785 +# location and provider: Åland Smedsböle/Sund
35786 +# date (yyyy-mm-dd)    : 2009-12-23
35787 +# provided by (opt)    : k.hampf@gmail.com
35788 +#
35789 +# T[2] <freq> <bw> <fec_hi> <fec_lo> <mod> <tm> <guard> <hi> [# comment]
35790 +#------------------------------------------------------------------------------
35791 +T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # Åland Network
35792 +T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # Åland Network
35793 diff -r af23d23c278b util/scan/dvb-t/fr-Boulogne
35794 --- a/util/scan/dvb-t/fr-Boulogne       Sat Jun 20 16:47:55 2009 +0200
35795 +++ b/util/scan/dvb-t/fr-Boulogne       Tue Dec 21 12:13:28 2010 +0100
35796 @@ -1,24 +1,21 @@
35797  # Boulogne - France (DVB-T transmitter of Boulogne ( MontLambert ) )
35798  # Boulogne - France (signal DVB-T transmis depuis l'émetteur de MontLambert )
35799  #
35800 -# ATTENTION ! Ce fichier a ete construit automatiquement a partir
35801 -# des frequences obtenues sur : http://www.tvnt.net/multiplex_frequences.htm
35802 -# en Avril 2006. Si vous constatez des problemes et voulez apporter des
35803 +# Si vous constatez des problemes et voulez apporter des
35804  # modifications au fichier, envoyez le fichier modifie a
35805 -# l'adresse linux-dvb@linuxtv.org (depot des fichiers d'init dvb)
35806 -# ou a l'auteur du fichier :
35807 -# Nicolas Estre <n_estre@yahoo.fr>
35808 +# l'adresse linux-media@vger.kernel.org (depot des fichiers d'init dvb)
35809  #
35810  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35811  #### Boulogne - MontLambert ####
35812 +# (Boulogne sur mer)
35813  #R1
35814 +T 530000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35815 +#R2
35816  T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35817 -#R2
35818 -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35819  #R3
35820 -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35821 +T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35822  #R4
35823 -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35824 +T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35825  #R5
35826  T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35827  #R6
35828 diff -r af23d23c278b util/scan/dvb-t/fr-Brest
35829 --- a/util/scan/dvb-t/fr-Brest  Sat Jun 20 16:47:55 2009 +0200
35830 +++ b/util/scan/dvb-t/fr-Brest  Tue Dec 21 12:13:28 2010 +0100
35831 @@ -2,8 +2,8 @@
35832  # Emetteur du Roch Tredudon
35833  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35834  T 546000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35835 -T 482000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35836 -T 506000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35837 -T 490000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35838 -T 530000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35839 -T 514000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35840 +T 578000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35841 +T 586000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35842 +T 618000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35843 +T 650000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35844 +T 770000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE
35845 diff -r af23d23c278b util/scan/dvb-t/fr-Chambery
35846 --- a/util/scan/dvb-t/fr-Chambery       Sat Jun 20 16:47:55 2009 +0200
35847 +++ b/util/scan/dvb-t/fr-Chambery       Tue Dec 21 12:13:28 2010 +0100
35848 @@ -1,30 +1,24 @@
35849 -# Chambéry - France (DVB-T transmitter of Chambéry ( Nondéfini ) )
35850 -# Chambéry - France (signal DVB-T transmis depuis l'émetteur de Nondéfini )
35851 +# Chambery - France (DVB-T transmitter of Chambery )
35852 +# Chambery - France (signal DVB-T transmis depuis l'emetteur de Chambery )
35853  #
35854 -# ATTENTION ! Ce fichier a ete construit automatiquement a partir
35855 -# des frequences obtenues sur : http://www.tvnt.net/multiplex_frequences.htm
35856 -# en Avril 2006. Si vous constatez des problemes et voulez apporter des
35857 +# Ce fichier a ete ecrit par Yann Soubeyrand (04/2010)
35858 +# Si vous constatez des problemes et voulez apporter des
35859  # modifications au fichier, envoyez le fichier modifie a
35860  # l'adresse linux-dvb@linuxtv.org (depot des fichiers d'init dvb)
35861 -# ou a l'auteur du fichier :
35862 +# ou au mainteneur du fichier :
35863  # Nicolas Estre <n_estre@yahoo.fr>
35864  #
35865  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35866 -#### Chambéry - Nondéfini ####
35867 -#R1
35868 -#T FREQ1 8MHz AUTO NONE QAM64 8k AUTO NONE
35869 -#R2
35870 -#T FREQ2 8MHz AUTO NONE QAM64 8k AUTO NONE
35871 -#R3
35872 -#T FREQ3 8MHz AUTO NONE QAM64 8k AUTO NONE
35873 -#R4
35874 -#T FREQ4 8MHz AUTO NONE QAM64 8k AUTO NONE
35875 -#R5
35876 -#T FREQ5 8MHz AUTO NONE QAM64 8k AUTO NONE
35877 -#R6
35878 -#T FREQ6 8MHz AUTO NONE QAM64 8k AUTO NONE
35879 -##############################################################
35880 -# en Avril 2006, l'emetteur pour Chambéry n'etait pas defini
35881 -#  Vous devez donc modifier les frequences manuellement.
35882 -# SVP Renvoyez le fichier mis a jour aux contacts ci-dessus.
35883 -##############################################################
35884 +#### Chambery - Defini par Alex le 23/05/2008 pour l'emetteur des monts
35885 +# R1 canal 62
35886 +T 802167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35887 +# R2 canal 48
35888 +T 690167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35889 +# R3 canal 51
35890 +T 714167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35891 +# R4 canal 54
35892 +T 738167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35893 +# R5 canal 59
35894 +T 778167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35895 +# R6 canal 47
35896 +T 682167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35897 diff -r af23d23c278b util/scan/dvb-t/fr-Laval
35898 --- a/util/scan/dvb-t/fr-Laval  Sat Jun 20 16:47:55 2009 +0200
35899 +++ b/util/scan/dvb-t/fr-Laval  Tue Dec 21 12:13:28 2010 +0100
35900 @@ -12,14 +12,14 @@
35901  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35902  #### Laval - MontRochard ####
35903  #R1
35904 -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35905 +T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35906  #R2
35907 -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35908 +T 570000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35909  #R3
35910 -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35911 +T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35912  #R4
35913 -T 794000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35914 +T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35915  #R5
35916 -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35917 +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35918  #R6
35919 -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE
35920 +T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35921 diff -r af23d23c278b util/scan/dvb-t/fr-Lille
35922 --- a/util/scan/dvb-t/fr-Lille  Sat Jun 20 16:47:55 2009 +0200
35923 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
35924 @@ -1,30 +0,0 @@
35925 -# Lille - France (DVB-T transmitter of Lille ( Nondéfini ) )
35926 -# Lille - France (signal DVB-T transmis depuis l'émetteur de Nondéfini )
35927 -#
35928 -# ATTENTION ! Ce fichier a ete construit automatiquement a partir
35929 -# des frequences obtenues sur : http://www.tvnt.net/multiplex_frequences.htm
35930 -# en Avril 2006. Si vous constatez des problemes et voulez apporter des
35931 -# modifications au fichier, envoyez le fichier modifie a
35932 -# l'adresse linux-dvb@linuxtv.org (depot des fichiers d'init dvb)
35933 -# ou a l'auteur du fichier :
35934 -# Nicolas Estre <n_estre@yahoo.fr>
35935 -#
35936 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35937 -#### Lille - Nondéfini ####
35938 -#R1
35939 -#T FREQ1 8MHz AUTO NONE QAM64 8k AUTO NONE
35940 -#R2
35941 -#T FREQ2 8MHz AUTO NONE QAM64 8k AUTO NONE
35942 -#R3
35943 -#T FREQ3 8MHz AUTO NONE QAM64 8k AUTO NONE
35944 -#R4
35945 -#T FREQ4 8MHz AUTO NONE QAM64 8k AUTO NONE
35946 -#R5
35947 -#T FREQ5 8MHz AUTO NONE QAM64 8k AUTO NONE
35948 -#R6
35949 -#T FREQ6 8MHz AUTO NONE QAM64 8k AUTO NONE
35950 -##############################################################
35951 -# en Avril 2006, l'emetteur pour Lille n'etait pas defini
35952 -#  Vous devez donc modifier les frequences manuellement.
35953 -# SVP Renvoyez le fichier mis a jour aux contacts ci-dessus.
35954 -##############################################################
35955 diff -r af23d23c278b util/scan/dvb-t/fr-Lille-Bouvigny
35956 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
35957 +++ b/util/scan/dvb-t/fr-Lille-Bouvigny Tue Dec 21 12:13:28 2010 +0100
35958 @@ -0,0 +1,26 @@
35959 +# Lille - France (DVB-T transmitter of Lille ( Bouvigny ) )
35960 +# Lille - France (signal DVB-T transmis depuis l'emetteur de Bouvigny )
35961 +#
35962 +# Fichier construit par Romain Bajeux (05/2010)
35963 +# Si vous constatez des problemes et voulez apporter des
35964 +# modifications au fichier, envoyez le fichier modifie a
35965 +# l'adresse linux-dvb@linuxtv.org (depot des fichiers d'init dvb)
35966 +# ou au mainteneur du fichier :
35967 +# Nicolas Estre <n_estre@yahoo.fr>
35968 +#
35969 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35970 +#### Lille - Bouvigny ####
35971 +#R1
35972 +T 490167000 8MHz AUTO NONE QAM64 8k AUTO NONE
35973 +#R2
35974 +T 690167000 8MHz AUTO NONE QAM64 8k AUTO NONE
35975 +#R3
35976 +T 514167000 8MHz AUTO NONE QAM64 8k AUTO NONE
35977 +#R4
35978 +T 546167000 8MHz AUTO NONE QAM64 8k AUTO NONE
35979 +#R5
35980 +T 554167000 8MHz AUTO NONE QAM64 8k AUTO NONE
35981 +#R6
35982 +T 586167000 8MHz AUTO NONE QAM64 8k AUTO NONE
35983 +#Belge
35984 +T 754167000 8MHz AUTO NONE QAM64 8k AUTO NONE
35985 diff -r af23d23c278b util/scan/dvb-t/fr-LilleT2
35986 --- a/util/scan/dvb-t/fr-LilleT2        Sat Jun 20 16:47:55 2009 +0200
35987 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
35988 @@ -1,13 +0,0 @@
35989 -# Lille - France (DVB-T transmitter of Lambersart)
35990 -#offset of 167000 for Cinergy T2. Other type of card users need to replace 167 by 000
35991 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
35992 -#R2
35993 -T 538167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35994 -#R4
35995 -T 546167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35996 -#R3
35997 -T 562167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
35998 -#R6
35999 -T 586167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36000 -#R1
36001 -T 594167000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36002 diff -r af23d23c278b util/scan/dvb-t/fr-Montbeliard
36003 --- a/util/scan/dvb-t/fr-Montbeliard    Sat Jun 20 16:47:55 2009 +0200
36004 +++ b/util/scan/dvb-t/fr-Montbeliard    Tue Dec 21 12:13:28 2010 +0100
36005 @@ -1,18 +1,18 @@
36006 -# Montbéliard - France (DVB-T transmitter of Montbéliard "Fort Lachaux" )
36007 -# Montbéliard - France (signal DVB-T transmis depuis l'émetteur de Fort Lachaux )
36008 +# Montbéliard - France (DVB-T transmitter of Montbéliard "Fort Lachaux", since 16 nov. 2010)
36009 +# Montbéliard - France (signal DVB-T transmis depuis l'émetteur de Fort Lachaux, à compter du 16/11/2010)
36010  #
36011  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36012 -# multiplex R1 (GR1), canal 29V + offset 167000 : FRANCE 2 SD , FRANCE 5 , ARTE SD , La Chaîne Parlementaire/Public Sénat , FRANCE 3 , FRANCE 3 Franche-Comté
36013 +# multiplex R4 (MULTI4), canal 58V + offset 167000 : ARTE HD , PARIS PREMIERE, M6 SD , W9 et NT1
36014 +T 490167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36015 +# multiplex R6 (SMR6), canal 26V + offset 167000 : TF1 SD , NRJ 12 , EUROSPORT, LCI, TMC et TF6
36016 +T 514167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36017 +# multiplex R5 (MR5), canal 29 : TF1 HD , France 2 HD et M6HD
36018  T 538167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36019 -# multiplex R3 (CNH), canal 43V + offset 167000 : CANAL+ , CANAL+HD , CANAL+ CINEMA , CANAL+ SPORT , PLANETE , CANAL J et TPS STAR
36020 -T 650167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36021 -# multiplex R2 (NTN), canal 55V + offset 167000 : DIRECT 8 , BFM TV , I>TELE , FRANCE 4 , VIRGIN 17 , GULLI et France 4
36022 -T 746167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36023 -# multiplex R6 (SMR6), canal 32V + offset 167000 : TF1 SD , NRJ 12 , TMC , EUROSPORT , LCI et TF6
36024 -T 562167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36025 -# Télévision Suisse, canal 56V + offset 000000 : TSR1 , TSR2 , TSI1 et SF 1
36026 +# multiplex R2 (NTN), canal 55V + offset 167000 : Direct 8 , BFM TV , i>TELE , DirectStar , Gulli et France 4
36027 +T 658167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36028 +# multiplex R3 (CNH), canal 54V + offset 167000 : CANAL+ , CANAL+ CINEMA , CANAL+ SPORT , PLANETE et TPS STAR
36029 +T 738167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36030 +# Télévision Suisse, canal 56V + offset 000000 : SF1, TSR1 , TSR2 et RSI LA 1
36031  T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36032 -# multiplex R4 (MULTI4), canal 58V + offset 167000 : ARTE HD , PARIS PREMIERE, M6 SD , W9 , NT1
36033 -T 770167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36034 -# multiplex R5 (???), canal ??? : TF1 HD , FRANCE 2 HD, M6 HD
36035 -# canal d'émission pas encore défini (février 2009)
36036 +# multiplex R1 (GR1), canal 60V + offset 167000 : France 2 SD , France 5 , France Ô , LCP et France 3
36037 +T 786167000 8MHz AUTO NONE QAM64 8k AUTO NONE
36038 diff -r af23d23c278b util/scan/dvb-t/fr-Nantes
36039 --- a/util/scan/dvb-t/fr-Nantes Sat Jun 20 16:47:55 2009 +0200
36040 +++ b/util/scan/dvb-t/fr-Nantes Tue Dec 21 12:13:28 2010 +0100
36041 @@ -1,8 +1,9 @@
36042  # Nantes - France
36043  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36044 -T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36045 -T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36046 -T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36047 -T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36048 -T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36049 -T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36050 +T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36051 +T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36052 +T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36053 +T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36054 +T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36055 +T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36056 +T 754000000 8MHz AUTO NONE QAM16 8k AUTO NONE
36057 diff -r af23d23c278b util/scan/dvb-t/fr-Poitiers
36058 --- a/util/scan/dvb-t/fr-Poitiers       Sat Jun 20 16:47:55 2009 +0200
36059 +++ b/util/scan/dvb-t/fr-Poitiers       Tue Dec 21 12:13:28 2010 +0100
36060 @@ -12,14 +12,12 @@
36061  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36062  #### Poitiers - Agglomération ####
36063  #R1
36064 -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36065 +T 506000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36066  #R2
36067 -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36068 +T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36069  #R3
36070 -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36071 +T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36072  #R4
36073 -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36074 -#R5
36075 +T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36076 +#R6 (no R5)
36077  T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36078 -#R6
36079 -T 794000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36080 diff -r af23d23c278b util/scan/dvb-t/fr-Reims
36081 --- a/util/scan/dvb-t/fr-Reims  Sat Jun 20 16:47:55 2009 +0200
36082 +++ b/util/scan/dvb-t/fr-Reims  Tue Dec 21 12:13:28 2010 +0100
36083 @@ -1,25 +1,21 @@
36084  # Reims - France (DVB-T transmitter of Reims ( Hautvillers ) )
36085  # Reims - France (signal DVB-T transmis depuis l'émetteur de Hautvillers )
36086  #
36087 -# ATTENTION ! Ce fichier a ete construit automatiquement a partir
36088 -# des frequences obtenues sur : http://www.tvnt.net/multiplex_frequences.htm
36089 -# en Avril 2006. Si vous constatez des problemes et voulez apporter des
36090 +# Si vous constatez des problemes et voulez apporter des
36091  # modifications au fichier, envoyez le fichier modifie a
36092  # l'adresse linux-dvb@linuxtv.org (depot des fichiers d'init dvb)
36093 -# ou a l'auteur du fichier :
36094 -# Nicolas Estre <n_estre@yahoo.fr>
36095  #
36096  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36097  #### Reims - Hautvillers ####
36098  #R1
36099 -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36100 +T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36101  #R2
36102 -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36103 +T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36104  #R3
36105 -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36106 +T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36107  #R4
36108 -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36109 +T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36110  #R5
36111 -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36112 +T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36113  #R6
36114 -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36115 +T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36116 diff -r af23d23c278b util/scan/dvb-t/fr-Rochefort-sur-mer
36117 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36118 +++ b/util/scan/dvb-t/fr-Rochefort-sur-mer      Tue Dec 21 12:13:28 2010 +0100
36119 @@ -0,0 +1,14 @@
36120 +# TNT à Rochefort (17)
36121 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36122 +
36123 +#multiplex 6 ( TF1 LCI Eurosport TF6 NRJ12 TMC )
36124 +T 498166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36125 +
36126 +#multiplex 4 ( M6 W9 NT1 Paris Première ARTE HD )
36127 +T 738166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36128 +
36129 +#multiplex 1 ( France 2 France 3 France 5 ARTE LCP Chaîne locale ou France Ô )
36130 +T 602166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36131 +
36132 +#multiplex 2 ( Direct 8 France 4 BFM TV Virgin 17 Gulli i>Télé  )
36133 +T 778167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36134 diff -r af23d23c278b util/scan/dvb-t/fr-Tours
36135 --- a/util/scan/dvb-t/fr-Tours  Sat Jun 20 16:47:55 2009 +0200
36136 +++ b/util/scan/dvb-t/fr-Tours  Tue Dec 21 12:13:28 2010 +0100
36137 @@ -1,25 +1,11 @@
36138 -# Tours - France (DVB-T transmitter of Tours ( Chissay ) )
36139 -# Tours - France (signal DVB-T transmis depuis l'émetteur de Chissay )
36140 -#
36141 -# ATTENTION ! Ce fichier a ete construit automatiquement a partir
36142 -# des frequences obtenues sur : http://www.tvnt.net/multiplex_frequences.htm
36143 -# en Avril 2006. Si vous constatez des problemes et voulez apporter des
36144 -# modifications au fichier, envoyez le fichier modifie a
36145 -# l'adresse linux-dvb@linuxtv.org (depot des fichiers d'init dvb)
36146 -# ou a l'auteur du fichier :
36147 -# Nicolas Estre <n_estre@yahoo.fr>
36148 +# Tours (Chissay) - France
36149 +# Initial DVB-T tuning as of 19 october 2010
36150  #
36151  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36152 -#### Tours - Chissay ####
36153 -#R1
36154 -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36155 -#R2
36156 -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36157 -#R3
36158 -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36159 -#R4
36160 -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36161 -#R5
36162 -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36163 -#R6
36164 -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE
36165 +T 498000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
36166 +T 578000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
36167 +T 602000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
36168 +T 610000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
36169 +T 690000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
36170 +T 714000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
36171 +
36172 diff -r af23d23c278b util/scan/dvb-t/gr-Athens
36173 --- a/util/scan/dvb-t/gr-Athens Sat Jun 20 16:47:55 2009 +0200
36174 +++ b/util/scan/dvb-t/gr-Athens Tue Dec 21 12:13:28 2010 +0100
36175 @@ -1,3 +1,5 @@
36176  # Initial scan config for Digital DVB-T (Ert) in Athens Greece
36177  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36178 +T 674000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE     # Digea DVB-T
36179 +T 682000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE     # Digea DVB-T
36180  T 690000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36181 diff -r af23d23c278b util/scan/dvb-t/hr-All
36182 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36183 +++ b/util/scan/dvb-t/hr-All    Tue Dec 21 12:13:28 2010 +0100
36184 @@ -0,0 +1,30 @@
36185 +# Croatia, whole country
36186 +# Created from http://www.oiv.hr/broadcasting/tables/dtv_hr.aspx
36187 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36188 +T 474000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D1 MUXD
36189 +T 490000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D2 MUXA
36190 +T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D4 MUXA
36191 +T 530000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D5 MUXA, D9 MUXD
36192 +T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D5 MUXD
36193 +T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D6 MUXA
36194 +T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D7 MUXD
36195 +T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # D1 MUXC
36196 +T 570000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D8 MUXA
36197 +T 578000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D8 MUXD
36198 +T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # D5 MUXC
36199 +T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D3 MUXD
36200 +T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D1 MUXA
36201 +T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D2 MUXB
36202 +T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D4 MUXD
36203 +T 658000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D1 MUXB, D3 MUXA
36204 +T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # SLO MUXA
36205 +T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # D8 MUXC
36206 +T 674000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D8 MUXD
36207 +T 690000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D3 MUXB, D4 MUXB
36208 +T 714000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D7 MUXA, D9 MUXA
36209 +T 730000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D5 MUXB, D8 MUXB
36210 +T 738000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D6 MUXB
36211 +T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # D4 MUXC
36212 +T 762000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # Tusti Vrh MUXD
36213 +T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D2 MUXD
36214 +T 778000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE # D7 MUXB, D9 MUXB
36215 diff -r af23d23c278b util/scan/dvb-t/hr-Zagreb
36216 --- a/util/scan/dvb-t/hr-Zagreb Sat Jun 20 16:47:55 2009 +0200
36217 +++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
36218 @@ -1,3 +0,0 @@
36219 -# DVB-T Hamburg
36220 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36221 -T 522000000 8MHz 3/4 NONE AUTO 8k 1/32 NONE     # CH27:
36222 diff -r af23d23c278b util/scan/dvb-t/hu-Budapest
36223 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36224 +++ b/util/scan/dvb-t/hu-Budapest       Tue Dec 21 12:13:28 2010 +0100
36225 @@ -0,0 +1,8 @@
36226 +# Hungary / Budapest
36227 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36228 +# A1.multiplex UHF-55:
36229 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36230 +T 746000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36231 +# C.multiplex UHF-62:
36232 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36233 +T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36234 diff -r af23d23c278b util/scan/dvb-t/hu-Debrecen
36235 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36236 +++ b/util/scan/dvb-t/hu-Debrecen       Tue Dec 21 12:13:28 2010 +0100
36237 @@ -0,0 +1,8 @@
36238 +# Hungary / Debrecen
36239 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36240 +# A1.multiplex UHF-46:
36241 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36242 +T 714000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36243 +# C.multiplex UHF-62:
36244 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36245 +T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36246 diff -r af23d23c278b util/scan/dvb-t/hu-Gyor
36247 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36248 +++ b/util/scan/dvb-t/hu-Gyor   Tue Dec 21 12:13:28 2010 +0100
36249 @@ -0,0 +1,8 @@
36250 +# Hungary / Gyor
36251 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36252 +# A1.multiplex UHF-42:
36253 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36254 +T 642000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36255 +# C.multiplex UHF-61:
36256 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36257 +T 794000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36258 diff -r af23d23c278b util/scan/dvb-t/hu-Kabhegy
36259 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36260 +++ b/util/scan/dvb-t/hu-Kabhegy        Tue Dec 21 12:13:28 2010 +0100
36261 @@ -0,0 +1,8 @@
36262 +# Hungary / Kabhegy
36263 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36264 +# C.multiplex UHF-61:
36265 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36266 +T 794000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36267 +# A2.multiplex UHF-64:
36268 +# MTV-1 HD Sopron, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36269 +T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36270 diff -r af23d23c278b util/scan/dvb-t/hu-Kekes
36271 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36272 +++ b/util/scan/dvb-t/hu-Kekes  Tue Dec 21 12:13:28 2010 +0100
36273 @@ -0,0 +1,8 @@
36274 +# Hungary / Kekes
36275 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36276 +# A1.multiplex UHF-44:
36277 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36278 +T 658000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36279 +# C.multiplex UHF-69:
36280 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36281 +T 858000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36282 diff -r af23d23c278b util/scan/dvb-t/hu-Kiskoros
36283 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36284 +++ b/util/scan/dvb-t/hu-Kiskoros       Tue Dec 21 12:13:28 2010 +0100
36285 @@ -0,0 +1,8 @@
36286 +# Hungary / Kiskoros
36287 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36288 +# A1.multiplex UHF-45:
36289 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36290 +T 666000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36291 +# C.multiplex UHF-68:
36292 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36293 +T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36294 diff -r af23d23c278b util/scan/dvb-t/hu-Nagykanizsa-Ujudvar
36295 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36296 +++ b/util/scan/dvb-t/hu-Nagykanizsa-Ujudvar    Tue Dec 21 12:13:28 2010 +0100
36297 @@ -0,0 +1,8 @@
36298 +# Hungary / Nagykanizsa / Ujudvar
36299 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36300 +# A1.multiplex UHF-24:
36301 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36302 +T 498000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36303 +# C.multiplex UHF-65:
36304 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36305 +T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36306 diff -r af23d23c278b util/scan/dvb-t/hu-Pecs
36307 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36308 +++ b/util/scan/dvb-t/hu-Pecs   Tue Dec 21 12:13:28 2010 +0100
36309 @@ -0,0 +1,8 @@
36310 +# Hungary / Pecs
36311 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36312 +# A1.multiplex UHF-52:
36313 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36314 +T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36315 +# C.multiplex UHF-67:
36316 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36317 +T 842000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36318 diff -r af23d23c278b util/scan/dvb-t/hu-Szeged
36319 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36320 +++ b/util/scan/dvb-t/hu-Szeged Tue Dec 21 12:13:28 2010 +0100
36321 @@ -0,0 +1,8 @@
36322 +# Hungary / Szeged
36323 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36324 +# A1.multiplex UHF-60:
36325 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36326 +T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36327 +# C.multiplex UHF-65:
36328 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36329 +T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36330 diff -r af23d23c278b util/scan/dvb-t/hu-Szentes
36331 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36332 +++ b/util/scan/dvb-t/hu-Szentes        Tue Dec 21 12:13:28 2010 +0100
36333 @@ -0,0 +1,8 @@
36334 +# Hungary / Szentes
36335 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36336 +# A3.multiplex UHF-60:
36337 +# MTV-1 HD Szeged, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36338 +T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36339 +# C.multiplex UHF-65:
36340 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36341 +T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36342 diff -r af23d23c278b util/scan/dvb-t/hu-Tokaj
36343 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36344 +++ b/util/scan/dvb-t/hu-Tokaj  Tue Dec 21 12:13:28 2010 +0100
36345 @@ -0,0 +1,8 @@
36346 +# Hungary / Tokaj
36347 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36348 +# A1.multiplex UHF-68:
36349 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36350 +T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36351 +# C.multiplex UHF-63:
36352 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36353 +T 810000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36354 diff -r af23d23c278b util/scan/dvb-t/hu-Uzd
36355 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36356 +++ b/util/scan/dvb-t/hu-Uzd    Tue Dec 21 12:13:28 2010 +0100
36357 @@ -0,0 +1,8 @@
36358 +# Hungary / Uzd
36359 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36360 +# A1.multiplex UHF-52:
36361 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36362 +T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36363 +# C.multiplex UHF-67:
36364 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36365 +T 842000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36366 diff -r af23d23c278b util/scan/dvb-t/hu-Vasvar-Hegyhatsal
36367 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36368 +++ b/util/scan/dvb-t/hu-Vasvar-Hegyhatsal      Tue Dec 21 12:13:28 2010 +0100
36369 @@ -0,0 +1,8 @@
36370 +# Hungary / Vasvar / Hegyhatsal
36371 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36372 +# A1.multiplex UHF-58:
36373 +# MTV-1 HD Budapest, MTV-2 HD, ATV (Hungary), Hir TV, MR-1 Kossuth R, MR-2 Petofi R, MR-3 Bartok R, Katolikus R
36374 +T 770000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36375 +# C.multiplex UHF-68:
36376 +# Duna TV HD, Duna-II. Autonomia, RTL Klub, TV-2 (Hungary), Euronews
36377 +T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
36378 diff -r af23d23c278b util/scan/dvb-t/il-All
36379 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36380 +++ b/util/scan/dvb-t/il-All    Tue Dec 21 12:13:28 2010 +0100
36381 @@ -0,0 +1,5 @@
36382 +# Israel, Israel Broadcasting Authority's transmitters
36383 +# Generated from list in http://www.iba.org.il/reception/
36384 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36385 +T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
36386 +T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
36387 diff -r af23d23c278b util/scan/dvb-t/ir-Tehran
36388 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36389 +++ b/util/scan/dvb-t/ir-Tehran Tue Dec 21 12:13:28 2010 +0100
36390 @@ -0,0 +1,4 @@
36391 +# DVB-T Tehran
36392 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36393 +T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # IRIB-TV1/2/3/4/5, IRINN, AMOUZESH, QURAN-TV
36394 +T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # PRESS TV, AL-ALAM, AL-KOUSAR, JAAMEJAM 1, IRIB MOSTANAD, IRIB OSTANI
36395 diff -r af23d23c278b util/scan/dvb-t/is-Reykjavik
36396 --- a/util/scan/dvb-t/is-Reykjavik      Sat Jun 20 16:47:55 2009 +0200
36397 +++ b/util/scan/dvb-t/is-Reykjavik      Tue Dec 21 12:13:28 2010 +0100
36398 @@ -1,13 +1,29 @@
36399 -# Initial scan config for Digital Ísland in Iceland
36400 -# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36401 -T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36402 -T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36403 -T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36404 -T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36405 -T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36406 -T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36407 -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36408 -T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36409 -T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36410 -T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36411 -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36412 +#------------------------------------------------------------------------------
36413 +# file automatically generated by w_scan
36414 +# (http://wirbel.htpc-forum.de/w_scan/index2.html)
36415 +#! <w_scan> 20100316 1 0 OFDM IS </w_scan>
36416 +#------------------------------------------------------------------------------
36417 +# location and provider: <add description here>
36418 +# date (yyyy-mm-dd)    : 2010-10-22
36419 +# provided by (opt)    : <your name or email here>
36420 +#
36421 +# T[2] <freq> <bw> <fec_hi> <fec_lo> <mod> <tm> <guard> <hi> [# comment]
36422 +#------------------------------------------------------------------------------
36423 +T 522000000 8MHz  2/3 NONE    QAM64   8k 1/16 NONE
36424 +T 530000000 8MHz  2/3 NONE    QAM64   8k 1/16 NONE     # Vodafone
36425 +T 538000000 8MHz  2/3 NONE    QAM64   8k 1/16 NONE
36426 +T 674000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36427 +T 770000000 8MHz  1/2 NONE    QAM64   2k 1/32 NONE     # Vodafone
36428 +T 690000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36429 +T 722000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36430 +T 738000000 8MHz  1/2 NONE     QPSK   2k 1/32 NONE     # Vodafone
36431 +T 754000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36432 +T 762000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36433 +T 778000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36434 +T 818000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36435 +T 714000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36436 +T 682000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36437 +T 698000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36438 +T 706000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36439 +T 794000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36440 +T 802000000 8MHz  2/3 NONE    QAM64   8k 1/32 NONE     # Vodafone
36441 diff -r af23d23c278b util/scan/dvb-t/it-Milano
36442 --- a/util/scan/dvb-t/it-Milano Sat Jun 20 16:47:55 2009 +0200
36443 +++ b/util/scan/dvb-t/it-Milano Tue Dec 21 12:13:28 2010 +0100
36444 @@ -1,15 +1,49 @@
36445  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36446  # MUX-A RAI
36447 -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36448 +T 800000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36449 +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36450  # MUX-B RAI
36451  T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36452  # MUX-A MEDIASET
36453  T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36454  # MUX-A MEDIASET-2
36455  T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36456 +# MEDIASET LA 5 
36457 +T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36458  # MUX La7/MTV
36459 -T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36460 +T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36461  # MUX DFREE
36462  T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36463  # MUX DFREE 2
36464  T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36465 +# MUX RETE A
36466 +T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36467 +# MUX STUDIO1
36468 +T 184500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36469 +# MUX STUDIO NORD
36470 +T 191500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36471 +# MUX VIDEO STAR NOVARA
36472 +T 219500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36473 +# MUX TELENOVA
36474 +T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36475 +# MUX TELE 7 LAGHI 
36476 +T 495250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36477 +# MUX VIDEO BERGAMO
36478 +T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36479 +# MUX TELE MILANO
36480 +T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36481 +# RETE 55
36482 +T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36483 +# TELE LIBERTA'
36484 +T 735250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36485 +# RSI
36486 +T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36487 +# TELE COLOR PRIMARETE
36488 +T 783250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36489 +T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36490 +# TELESTAR
36491 +T 807250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36492 +T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36493 +# TELECAMPIONE
36494 +T 847250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36495 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36496 diff -r af23d23c278b util/scan/dvb-t/it-Montevergine
36497 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36498 +++ b/util/scan/dvb-t/it-Montevergine   Tue Dec 21 12:13:28 2010 +0100
36499 @@ -0,0 +1,18 @@
36500 +# DVB-T Montevergine (Avellino) 83100
36501 +# 12/12/2009 by Antonio Galasso anto1714@libero.it
36502 +# (ricordati di mettere il lettore in posizione stop orima di iniziare la scansione dei canali)
36503 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36504 +# C-MUX
36505 +T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
36506 +T 482000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36507 +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36508 +T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36509 +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36510 +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36511 +T 546000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36512 +T 554000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36513 +T 594000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36514 +T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36515 +T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36516 +T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36517 +T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36518 diff -r af23d23c278b util/scan/dvb-t/lt-All
36519 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36520 +++ b/util/scan/dvb-t/lt-All    Tue Dec 21 12:13:28 2010 +0100
36521 @@ -0,0 +1,39 @@
36522 +# Lithuania, whole country
36523 +# Created from http://www.skaitmenine.lt/lt/skaitmenine_tv_lietuvoje/antzemine_dvb_t.html
36524 +# Created by baruse@gmail.com
36525 +
36526 +# LRTC I tinklas
36527 +T 482000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 22
36528 +T 514000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 26
36529 +T 618000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 39
36530 +T 658000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 44
36531 +T 682000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 47
36532 +T 762000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 57
36533 +T 770000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 58
36534 +T 786000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 60
36535 +T 794000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 61
36536 +
36537 +# LRTC II tinklas
36538 +T 570000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 33
36539 +T 610000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 38
36540 +T 690000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 48
36541 +T 738000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 54
36542 +T 802000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 62
36543 +T 810000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 63
36544 +T 818000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 64
36545 +
36546 +# TEO LT I tinklas
36547 +T 594000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 36
36548 +T 706000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 50
36549 +T 778000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 59
36550 +T 826000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 65
36551 +
36552 +# TEO LT II tinklas
36553 +T 474000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 21
36554 +T 546000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 30
36555 +T 730000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 53
36556 +#T 786000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 60
36557 +
36558 +# Vilniui bonusas
36559 +T 602000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 37
36560 +#T 730000000 8MHz AUTO NONE QAM64 8k 1/16 NONE # kanalas 53
36561 diff -r af23d23c278b util/scan/dvb-t/ro-Bucharest
36562 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36563 +++ b/util/scan/dvb-t/ro-Bucharest      Tue Dec 21 12:13:28 2010 +0100
36564 @@ -0,0 +1,5 @@
36565 +# Romania / Bucharest
36566 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36567 +T 546000000 8MHz 2/3 NONE QAM16 8k 1/16 NONE
36568 +T 738000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE # SRTV
36569 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE # SNR DVB-T
36570 diff -r af23d23c278b util/scan/dvb-t/se-Horby_Sallerup
36571 --- a/util/scan/dvb-t/se-Horby_Sallerup Sat Jun 20 16:47:55 2009 +0200
36572 +++ b/util/scan/dvb-t/se-Horby_Sallerup Tue Dec 21 12:13:28 2010 +0100
36573 @@ -2,6 +2,8 @@
36574  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36575  T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
36576  T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
36577 +T 570000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
36578  T 634000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
36579 +T 650000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
36580  T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
36581  T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
36582 diff -r af23d23c278b util/scan/dvb-t/se-Ornskoldsvik_As
36583 --- a/util/scan/dvb-t/se-Ornskoldsvik_As        Sat Jun 20 16:47:55 2009 +0200
36584 +++ b/util/scan/dvb-t/se-Ornskoldsvik_As        Tue Dec 21 12:13:28 2010 +0100
36585 @@ -4,3 +4,4 @@
36586  T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36587  T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36588  T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36589 +T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36590 diff -r af23d23c278b util/scan/dvb-t/se-Skelleftea
36591 --- a/util/scan/dvb-t/se-Skelleftea     Sat Jun 20 16:47:55 2009 +0200
36592 +++ b/util/scan/dvb-t/se-Skelleftea     Tue Dec 21 12:13:28 2010 +0100
36593 @@ -4,3 +4,4 @@
36594  T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36595  T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36596  T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36597 +T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36598 diff -r af23d23c278b util/scan/dvb-t/si-Ljubljana
36599 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36600 +++ b/util/scan/dvb-t/si-Ljubljana      Tue Dec 21 12:13:28 2010 +0100
36601 @@ -0,0 +1,5 @@
36602 +# Slovenia / Ljubljana
36603 +# MULTIPLEX A
36604 +#------------------------------------------
36605 +T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36606 +T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36607 diff -r af23d23c278b util/scan/dvb-t/sk-BanskaBystrica
36608 --- a/util/scan/dvb-t/sk-BanskaBystrica Sat Jun 20 16:47:55 2009 +0200
36609 +++ b/util/scan/dvb-t/sk-BanskaBystrica Tue Dec 21 12:13:28 2010 +0100
36610 @@ -1,4 +1,11 @@
36611  # DVB-T Banska Bystrica (Banska Bystrica, Slovak Republic)
36612  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36613  
36614 -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36615 +# 1.st multiplex - on channel 65
36616 +T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36617 +
36618 +# 2.st multiplex (commercial) - on channel 51
36619 +T 714000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36620 +
36621 +# 3.st multiplex (public) - on channel 33
36622 +T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36623 diff -r af23d23c278b util/scan/dvb-t/sk-Bardejov
36624 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36625 +++ b/util/scan/dvb-t/sk-Bardejov       Tue Dec 21 12:13:28 2010 +0100
36626 @@ -0,0 +1,11 @@
36627 +# DVB-T Bardejov (Bardejov, Slovak Republic)
36628 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36629 +
36630 +# 1.st multiplex - on channel 62
36631 +T 802000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36632 +
36633 +# 2.st multiplex (commercial) - on channel 40
36634 +T 626000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36635 +
36636 +# 3.st multiplex (public) - on channel 54
36637 +T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36638 diff -r af23d23c278b util/scan/dvb-t/sk-Bratislava
36639 --- a/util/scan/dvb-t/sk-Bratislava     Sat Jun 20 16:47:55 2009 +0200
36640 +++ b/util/scan/dvb-t/sk-Bratislava     Tue Dec 21 12:13:28 2010 +0100
36641 @@ -1,4 +1,11 @@
36642  # DVB-T Bratislava (Bratislava, Slovak Republic)
36643  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36644  
36645 -T 834000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36646 +# 1.st multiplex - on channel 66
36647 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36648 +
36649 +# 2.st multiplex (commercial) - on channel 56
36650 +T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36651 +
36652 +# 3.st multiplex (public) - on channel 27
36653 +T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36654 diff -r af23d23c278b util/scan/dvb-t/sk-Kosice
36655 --- a/util/scan/dvb-t/sk-Kosice Sat Jun 20 16:47:55 2009 +0200
36656 +++ b/util/scan/dvb-t/sk-Kosice Tue Dec 21 12:13:28 2010 +0100
36657 @@ -1,4 +1,11 @@
36658  # DVB-T Kosice (Kosice, Slovak Republic)
36659  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36660  
36661 -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
36662 +# 1.st multiplex - on channel 64
36663 +T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36664 +
36665 +# 2.st multiplex (commercial) - on channel 59
36666 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36667 +
36668 +# 3.st multiplex (public) - on channel 25
36669 +T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36670 diff -r af23d23c278b util/scan/dvb-t/sk-Michalovce
36671 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36672 +++ b/util/scan/dvb-t/sk-Michalovce     Tue Dec 21 12:13:28 2010 +0100
36673 @@ -0,0 +1,11 @@
36674 +# DVB-T Michalovce (Michalovce, Slovak Republic)
36675 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36676 +
36677 +# 1.st multiplex - on channel 64
36678 +T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36679 +
36680 +# 2.st multiplex (commercial) - on channel 59
36681 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36682 +
36683 +# 3.st multiplex (public) - on channel 25
36684 +T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36685 diff -r af23d23c278b util/scan/dvb-t/sk-Namestovo
36686 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36687 +++ b/util/scan/dvb-t/sk-Namestovo      Tue Dec 21 12:13:28 2010 +0100
36688 @@ -0,0 +1,11 @@
36689 +# DVB-T Namestovo (Namestovo, Slovak Republic)
36690 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36691 +
36692 +# 1.st multiplex - on channel 68
36693 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36694 +
36695 +# 2.st multiplex (commercial) - on channel 59
36696 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36697 +
36698 +# 3.st multiplex (public) - on channel 26
36699 +T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36700 diff -r af23d23c278b util/scan/dvb-t/sk-Poprad
36701 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36702 +++ b/util/scan/dvb-t/sk-Poprad Tue Dec 21 12:13:28 2010 +0100
36703 @@ -0,0 +1,11 @@
36704 +# DVB-T Poprad (Poprad, Slovak Republic)
36705 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36706 +
36707 +# 1.st multiplex - on channel 66
36708 +T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36709 +
36710 +# 2.st multiplex (commercial) - on channel 55
36711 +T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36712 +
36713 +# 3.st multiplex (public) - on channel 24
36714 +T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36715 diff -r af23d23c278b util/scan/dvb-t/sk-RimavskaSobota
36716 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36717 +++ b/util/scan/dvb-t/sk-RimavskaSobota Tue Dec 21 12:13:28 2010 +0100
36718 @@ -0,0 +1,11 @@
36719 +# DVB-T Rimavska Sobota (Rimavska Sobota, Slovak Republic)
36720 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36721 +
36722 +# 1.st multiplex - on channel 61
36723 +T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36724 +
36725 +# 2.st multiplex (commercial) - on channel 27
36726 +T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36727 +
36728 +# 3.st multiplex (public) - on channel 54
36729 +T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36730 diff -r af23d23c278b util/scan/dvb-t/sk-Trencin
36731 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36732 +++ b/util/scan/dvb-t/sk-Trencin        Tue Dec 21 12:13:28 2010 +0100
36733 @@ -0,0 +1,12 @@
36734 +# DVB-T Trencin (Trencin, Slovak Republic)
36735 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36736 +
36737 +# 1.st multiplex - on channel 69
36738 +T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36739 +
36740 +# 2.st multiplex (commercial) - on channel 52/56
36741 +T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36742 +T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36743 +
36744 +# 3.st multiplex (public) - on channel 57
36745 +T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36746 diff -r af23d23c278b util/scan/dvb-t/sk-VelkyKrtis
36747 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36748 +++ b/util/scan/dvb-t/sk-VelkyKrtis     Tue Dec 21 12:13:28 2010 +0100
36749 @@ -0,0 +1,11 @@
36750 +# DVB-T Velky Krtis (Velky Krtis, Slovak Republic)
36751 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36752 +
36753 +# 1.st multiplex - on channel 65
36754 +T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36755 +
36756 +# 2.st multiplex (commercial) - on channel 60
36757 +T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36758 +
36759 +# 3.st multiplex (public) - on channel 33
36760 +T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36761 diff -r af23d23c278b util/scan/dvb-t/sk-Zilina
36762 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36763 +++ b/util/scan/dvb-t/sk-Zilina Tue Dec 21 12:13:28 2010 +0100
36764 @@ -0,0 +1,11 @@
36765 +# DVB-T Zilina (Zilina, Slovak Republic)
36766 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36767 +
36768 +# 1.st multiplex - on channel 68
36769 +T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36770 +
36771 +# 2.st multiplex (commercial) - on channel 52
36772 +T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36773 +
36774 +# 3.st multiplex (public) - on channel 32
36775 +T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
36776 diff -r af23d23c278b util/scan/dvb-t/uk-Aberdare
36777 --- a/util/scan/dvb-t/uk-Aberdare       Sat Jun 20 16:47:55 2009 +0200
36778 +++ b/util/scan/dvb-t/uk-Aberdare       Tue Dec 21 12:13:28 2010 +0100
36779 @@ -2,9 +2,14 @@
36780  # Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
36781  # and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
36782  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36783 -T 530167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36784 -T 562167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36785 -T 489833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36786 -T 513833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36787 -T 538167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36788 -T 570167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36789 +
36790 +T 474167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36791 +T 482167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36792 +T 497833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36793 +T 506167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36794 +T 521833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36795 +T 530167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36796 +
36797 +
36798 +#C21+  C22+    C24-    C25+    C27-    C28+
36799 +
36800 diff -r af23d23c278b util/scan/dvb-t/uk-Redruth
36801 --- a/util/scan/dvb-t/uk-Redruth        Sat Jun 20 16:47:55 2009 +0200
36802 +++ b/util/scan/dvb-t/uk-Redruth        Tue Dec 21 12:13:28 2010 +0100
36803 @@ -2,9 +2,12 @@
36804  # Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
36805  # and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
36806  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36807 -T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36808 -T 642167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36809 -T 666167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36810 -T 697833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36811 +T 474167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36812 +T 497833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36813 +T 506167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36814 +T 521833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36815 +T 634167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36816  T 650167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36817 -T 705833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36818 +T 658167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36819 +T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36820 +T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36821 diff -r af23d23c278b util/scan/dvb-t/uk-StocklandHill
36822 --- a/util/scan/dvb-t/uk-StocklandHill  Sat Jun 20 16:47:55 2009 +0200
36823 +++ b/util/scan/dvb-t/uk-StocklandHill  Tue Dec 21 12:13:28 2010 +0100
36824 @@ -1,10 +1,9 @@
36825  # UK, Stockland Hill
36826 -# Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
36827 -# and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
36828 +# http://www.ukfree.tv/txdetail.php?a=ST222014
36829  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36830 -T 481833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36831 -T 529833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36832 -T 505833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36833 -T 561833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36834 -T 546167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36835 -T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36836 +T 514167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE     # PSB1
36837 +T 490167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE     # PSB2
36838 +#T 538167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE     # PSB3 (DVB-T2)
36839 +T 505833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE     # COM4
36840 +T 481833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE     # COM5
36841 +T 529833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE     # COM6
36842 diff -r af23d23c278b util/scan/dvb-t/uk-Storeton
36843 --- a/util/scan/dvb-t/uk-Storeton       Sat Jun 20 16:47:55 2009 +0200
36844 +++ b/util/scan/dvb-t/uk-Storeton       Tue Dec 21 12:13:28 2010 +0100
36845 @@ -2,9 +2,12 @@
36846  # Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
36847  # and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
36848  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36849 -T 546167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36850 -T 578167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36851 -T 490167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36852 -T 514167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36853 -T 538167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36854 -T 570167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36855 +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36856 +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36857 +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36858 +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36859 +T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36860 +T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36861 +T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36862 +T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36863 +T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36864 diff -r af23d23c278b util/scan/dvb-t/uk-WinterHill
36865 --- a/util/scan/dvb-t/uk-WinterHill     Sat Jun 20 16:47:55 2009 +0200
36866 +++ b/util/scan/dvb-t/uk-WinterHill     Tue Dec 21 12:13:28 2010 +0100
36867 @@ -1,13 +1,9 @@
36868  # UK, Winter Hill
36869 -# Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
36870 -# and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
36871 +# Populated by J. Hornsby from a scan of active multiplexes
36872 +# UK, Winter Hill B Ceased broadcasting on 02 December 2009
36873  # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36874 -T 754167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36875 -T 834167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36876 -T 850167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
36877 -T 842167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36878 -T 786167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36879 -T 810167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36880 -# UK, Winter Hill B
36881 -T 650000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36882 -T 626000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
36883 +T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36884 +T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36885 +T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36886 +T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36887 +T 801833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
36888 diff -r af23d23c278b util/scan/dvb-t/vn-Thaibinh
36889 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
36890 +++ b/util/scan/dvb-t/vn-Thaibinh       Tue Dec 21 12:13:28 2010 +0100
36891 @@ -0,0 +1,5 @@
36892 +# Thaibinh - Vietnam - DVB-T by VTC
36893 +# contributed by Pham Thanh Nam <phamthanhnam.ptn@gmail.com>
36894 +# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
36895 +T 626000000 8MHz 3/4 NONE QAM64 2k 1/32 NONE
36896 +T 634000000 8MHz 3/4 NONE QAM64 2k 1/32 NONE
36897 diff -r af23d23c278b util/scan/scan.c
36898 --- a/util/scan/scan.c  Sat Jun 20 16:47:55 2009 +0200
36899 +++ b/util/scan/scan.c  Tue Dec 21 12:13:28 2010 +0100
36900 @@ -236,6 +236,17 @@
36901  
36902  static void copy_transponder(struct transponder *d, struct transponder *s)
36903  {
36904 +       struct list_head *pos;
36905 +       struct service *service;
36906 +
36907 +       if (d->transport_stream_id != s->transport_stream_id) {
36908 +               /* propagate change to any already allocated services */
36909 +               list_for_each(pos, &d->services) {
36910 +                       service = list_entry(pos, struct service, list);
36911 +                       service->transport_stream_id = s->transport_stream_id;
36912 +               }
36913 +       }
36914 +
36915         d->network_id = s->network_id;
36916         d->original_network_id = s->original_network_id;
36917         d->transport_stream_id = s->transport_stream_id;
36918 diff -r af23d23c278b util/szap/Makefile
36919 --- a/util/szap/Makefile        Sat Jun 20 16:47:55 2009 +0200
36920 +++ b/util/szap/Makefile        Tue Dec 21 12:13:28 2010 +0100
36921 @@ -1,6 +1,6 @@
36922  # Makefile for linuxtv.org dvb-apps/util/szap
36923  
36924 -objects  = lnb.o
36925 +objects  = lnb.o util.o
36926  
36927  binaries = azap  \
36928             czap  \
36929 diff -r af23d23c278b util/szap/azap.c
36930 --- a/util/szap/azap.c  Sat Jun 20 16:47:55 2009 +0200
36931 +++ b/util/szap/azap.c  Tue Dec 21 12:13:28 2010 +0100
36932 @@ -13,6 +13,8 @@
36933  #include <linux/dvb/frontend.h>
36934  #include <linux/dvb/dmx.h>
36935  
36936 +#include "util.h"
36937 +
36938  static char FRONTEND_DEV [80];
36939  static char DEMUX_DEV [80];
36940  
36941 @@ -209,31 +211,6 @@
36942  
36943  
36944  static
36945 -int set_pesfilter (int fd, int pid, dmx_pes_type_t type, int dvr)
36946 -{
36947 -        struct dmx_pes_filter_params pesfilter;
36948 -
36949 -        if (pid <= 0 || pid >= 0x1fff)
36950 -                return 0;
36951 -
36952 -        pesfilter.pid = pid;
36953 -        pesfilter.input = DMX_IN_FRONTEND;
36954 -        pesfilter.output = dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER;
36955 -        pesfilter.pes_type = type;
36956 -        pesfilter.flags = DMX_IMMEDIATE_START;
36957 -
36958 -        if (ioctl(fd, DMX_SET_PES_FILTER, &pesfilter) < 0) {
36959 -                PERROR ("ioctl(DMX_SET_PES_FILTER) for %s PID failed",
36960 -                        type == DMX_PES_AUDIO ? "Audio" :
36961 -                        type == DMX_PES_VIDEO ? "Video" : "??");
36962 -                return -1;
36963 -        }
36964 -
36965 -        return 0;
36966 -}
36967 -
36968 -
36969 -static
36970  int setup_frontend (int fe_fd, struct dvb_frontend_parameters *frontend)
36971  {
36972         struct dvb_frontend_info fe_info;
36973 diff -r af23d23c278b util/szap/czap.c
36974 --- a/util/szap/czap.c  Sat Jun 20 16:47:55 2009 +0200
36975 +++ b/util/szap/czap.c  Tue Dec 21 12:13:28 2010 +0100
36976 @@ -13,6 +13,8 @@
36977  #include <linux/dvb/frontend.h>
36978  #include <linux/dvb/dmx.h>
36979  
36980 +#include "util.h"
36981 +
36982  
36983  static char FRONTEND_DEV [80];
36984  static char DEMUX_DEV [80];
36985 @@ -118,7 +120,7 @@
36986  
36987  
36988  int parse(const char *fname, int list_channels, int chan_no, const char *channel,
36989 -         struct dvb_frontend_parameters *frontend, int *vpid, int *apid)
36990 +         struct dvb_frontend_parameters *frontend, int *vpid, int *apid, int *sid)
36991  {
36992         FILE *f;
36993         char *chan;
36994 @@ -141,10 +143,10 @@
36995         }
36996         printf("%3d %s", chan_no, chan);
36997  
36998 -       if ((sscanf(chan, "%a[^:]:%d:%a[^:]:%d:%a[^:]:%a[^:]:%d:%d\n",
36999 +       if ((sscanf(chan, "%m[^:]:%d:%m[^:]:%d:%m[^:]:%m[^:]:%d:%d:%d\n",
37000                                 &name, &frontend->frequency,
37001                                 &inv, &frontend->u.qam.symbol_rate,
37002 -                               &fec, &mod, vpid, apid) != 8)
37003 +                               &fec, &mod, vpid, apid, sid) != 9)
37004                         || !name || !inv || !fec | !mod) {
37005                 ERROR("cannot parse service data");
37006                 return -3;
37007 @@ -165,10 +167,10 @@
37008                 ERROR("modulation field syntax '%s'", mod);
37009                 return -6;
37010         }
37011 -       printf("%3d %s: f %d, s %d, i %d, fec %d, qam %d, v %#x, a %#x\n",
37012 +       printf("%3d %s: f %d, s %d, i %d, fec %d, qam %d, v %#x, a %#x, s %#x \n",
37013                         chan_no, name, frontend->frequency, frontend->u.qam.symbol_rate,
37014                         frontend->inversion, frontend->u.qam.fec_inner,
37015 -                       frontend->u.qam.modulation, *vpid, *apid);
37016 +                       frontend->u.qam.modulation, *vpid, *apid, *sid);
37017         free(name);
37018         free(inv);
37019         free(fec);
37020 @@ -178,31 +180,6 @@
37021  }
37022  
37023  
37024 -
37025 -static
37026 -int set_pesfilter (int fd, int pid, dmx_pes_type_t type, int dvr)
37027 -{
37028 -       struct dmx_pes_filter_params pesfilter;
37029 -
37030 -       if (pid <= 0 || pid >= 0x1fff)
37031 -               return 0;
37032 -
37033 -       pesfilter.pid = pid;
37034 -       pesfilter.input = DMX_IN_FRONTEND;
37035 -       pesfilter.output = dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER;
37036 -       pesfilter.pes_type = type;
37037 -       pesfilter.flags = DMX_IMMEDIATE_START;
37038 -
37039 -       if (ioctl(fd, DMX_SET_PES_FILTER, &pesfilter) < 0) {
37040 -               PERROR ("ioctl(DMX_SET_PES_FILTER) for %s PID failed",
37041 -                       type == DMX_PES_AUDIO ? "Audio" :
37042 -                       type == DMX_PES_VIDEO ? "Video" : "??");
37043 -               return -1;
37044 -       }
37045 -
37046 -       return 0;
37047 -}
37048 -
37049  static
37050  int setup_frontend(int fe_fd, struct dvb_frontend_parameters *frontend)
37051  {
37052 @@ -264,9 +241,20 @@
37053  }
37054  
37055  
37056 -static const char *usage = "\nusage: %s [-a adapter_num] [-f frontend_id] [-d demux_id] [-c conf_file] [ -H ] {<channel name>| -n channel_num} [-x]\n"
37057 -       "   or: %s [-c conf_file]  -l\n\n";
37058 -
37059 +static const char *usage =
37060 +    "\nusage: %s [options]  -l\n"
37061 +    "         list known channels\n"
37062 +    "       %s [options] {-n channel-number|channel_name}\n"
37063 +    "         zap to channel via number or full name (case insensitive)\n"
37064 +    "     -a number : use given adapter (default 0)\n"
37065 +    "     -f number : use given frontend (default 0)\n"
37066 +    "     -d number : use given demux (default 0)\n"
37067 +    "     -c file   : read channels list from 'file'\n"
37068 +    "     -x        : exit after tuning\n"
37069 +    "     -H        : human readable output\n"
37070 +    "     -r        : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
37071 +    "     -p        : add pat and pmt to TS recording (implies -r)\n"
37072 +;
37073  
37074  int main(int argc, char **argv)
37075  {
37076 @@ -275,12 +263,12 @@
37077         char *confname = NULL;
37078         char *channel = NULL;
37079         int adapter = 0, frontend = 0, demux = 0, dvr = 0;
37080 -       int vpid, apid;
37081 -       int frontend_fd, video_fd, audio_fd;
37082 +       int vpid, apid, sid, pmtpid = 0;
37083 +       int frontend_fd, video_fd, audio_fd, pat_fd, pmt_fd;
37084         int opt, list_channels = 0, chan_no = 0;
37085 -       int human_readable = 0;
37086 +       int human_readable = 0, rec_psi = 0;
37087  
37088 -       while ((opt = getopt(argc, argv, "Hln:hrn:a:f:d:c:x")) != -1) {
37089 +       while ((opt = getopt(argc, argv, "Hln:hrn:a:f:d:c:x:p")) != -1) {
37090                 switch (opt) {
37091                 case 'a':
37092                         adapter = strtoul(optarg, NULL, 0);
37093 @@ -300,6 +288,9 @@
37094                 case 'n':
37095                         chan_no = strtoul(optarg, NULL, 0);
37096                         break;
37097 +               case 'p':
37098 +                       rec_psi = 1;
37099 +                       break;
37100                 case 'x':
37101                         exit_after_tuning = 1;
37102                         break;
37103 @@ -352,7 +343,7 @@
37104  
37105         memset(&frontend_param, 0, sizeof(struct dvb_frontend_parameters));
37106  
37107 -       if (parse(confname, list_channels, chan_no, channel, &frontend_param, &vpid, &apid))
37108 +       if (parse(confname, list_channels, chan_no, channel, &frontend_param, &vpid, &apid, &sid))
37109                 return -1;
37110         if (list_channels)
37111                 return 0;
37112 @@ -365,6 +356,28 @@
37113         if (setup_frontend(frontend_fd, &frontend_param) < 0)
37114                 return -1;
37115  
37116 +       if (rec_psi) {
37117 +               pmtpid = get_pmt_pid(DEMUX_DEV, sid);
37118 +               if (pmtpid <= 0) {
37119 +                       fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
37120 +                       return -1;
37121 +               }
37122 +
37123 +               if ((pat_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
37124 +                       perror("opening pat demux failed");
37125 +                       return -1;
37126 +               }
37127 +               if (set_pesfilter(pat_fd, 0, DMX_PES_OTHER, dvr) < 0)
37128 +                       return -1;
37129 +
37130 +               if ((pmt_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
37131 +                       perror("opening pmt demux failed");
37132 +                       return -1;
37133 +               }
37134 +               if (set_pesfilter(pmt_fd, pmtpid, DMX_PES_OTHER, dvr) < 0)
37135 +                       return -1;
37136 +       }
37137 +
37138         if ((video_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
37139                 PERROR("failed opening '%s'", DEMUX_DEV);
37140                 return -1;
37141 @@ -383,6 +396,8 @@
37142  
37143         check_frontend (frontend_fd, human_readable);
37144  
37145 +       close (pat_fd);
37146 +       close (pmt_fd);
37147         close (audio_fd);
37148         close (video_fd);
37149         close (frontend_fd);
37150 diff -r af23d23c278b util/szap/szap.c
37151 --- a/util/szap/szap.c  Sat Jun 20 16:47:55 2009 +0200
37152 +++ b/util/szap/szap.c  Tue Dec 21 12:13:28 2010 +0100
37153 @@ -48,6 +48,7 @@
37154  #include <linux/dvb/dmx.h>
37155  #include <linux/dvb/audio.h>
37156  #include "lnb.h"
37157 +#include "util.h"
37158  
37159  #ifndef TRUE
37160  #define TRUE (1==1)
37161 @@ -92,94 +93,6 @@
37162      "     -p        : add pat and pmt to TS recording (implies -r)\n"
37163      "                 or -n numbers for zapping\n";
37164  
37165 -static int set_demux(int dmxfd, int pid, int pes_type, int dvr)
37166 -{
37167 -   struct dmx_pes_filter_params pesfilter;
37168 -
37169 -   if (pid < 0 || pid >= 0x1fff) /* ignore this pid to allow radio services */
37170 -          return TRUE;
37171 -
37172 -   if (dvr) {
37173 -      int buffersize = 64 * 1024;
37174 -      if (ioctl(dmxfd, DMX_SET_BUFFER_SIZE, buffersize) == -1)
37175 -        perror("DMX_SET_BUFFER_SIZE failed");
37176 -   }
37177 -
37178 -   pesfilter.pid = pid;
37179 -   pesfilter.input = DMX_IN_FRONTEND;
37180 -   pesfilter.output = dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER;
37181 -   pesfilter.pes_type = pes_type;
37182 -   pesfilter.flags = DMX_IMMEDIATE_START;
37183 -
37184 -   if (ioctl(dmxfd, DMX_SET_PES_FILTER, &pesfilter) == -1) {
37185 -      fprintf(stderr, "DMX_SET_PES_FILTER failed "
37186 -             "(PID = 0x%04x): %d %m\n", pid, errno);
37187 -      return FALSE;
37188 -   }
37189 -
37190 -   return TRUE;
37191 -}
37192 -
37193 -int get_pmt_pid(char *dmxdev, int sid)
37194 -{
37195 -   int patfd, count;
37196 -   int pmt_pid = 0;
37197 -   int patread = 0;
37198 -   int section_length;
37199 -   unsigned char buft[4096];
37200 -   unsigned char *buf = buft;
37201 -   struct dmx_sct_filter_params f;
37202 -
37203 -   memset(&f, 0, sizeof(f));
37204 -   f.pid = 0;
37205 -   f.filter.filter[0] = 0x00;
37206 -   f.filter.mask[0] = 0xff;
37207 -   f.timeout = 0;
37208 -   f.flags = DMX_IMMEDIATE_START | DMX_CHECK_CRC;
37209 -
37210 -   if ((patfd = open(dmxdev, O_RDWR)) < 0) {
37211 -      perror("openening pat demux failed");
37212 -      return -1;
37213 -   }
37214 -
37215 -   if (ioctl(patfd, DMX_SET_FILTER, &f) == -1) {
37216 -      perror("ioctl DMX_SET_FILTER failed");
37217 -      close(patfd);
37218 -      return -1;
37219 -   }
37220 -
37221 -   while (!patread){
37222 -      if (((count = read(patfd, buf, sizeof(buft))) < 0) && errno == EOVERFLOW)
37223 -         count = read(patfd, buf, sizeof(buft));
37224 -      if (count < 0) {
37225 -         perror("read_sections: read error");
37226 -         close(patfd);
37227 -         return -1;
37228 -      }
37229 -
37230 -      section_length = ((buf[1] & 0x0f) << 8) | buf[2];
37231 -      if (count != section_length + 3)
37232 -         continue;
37233 -
37234 -      buf += 8;
37235 -      section_length -= 8;
37236 -
37237 -      patread = 1; /* assumes one section contains the whole pat */
37238 -      while (section_length > 0) {
37239 -         int service_id = (buf[0] << 8) | buf[1];
37240 -         if (service_id == sid) {
37241 -            pmt_pid = ((buf[2] & 0x1f) << 8) | buf[3];
37242 -            section_length = 0;
37243 -         }
37244 -         buf += 4;
37245 -         section_length -= 4;
37246 -     }
37247 -   }
37248 -
37249 -   close(patfd);
37250 -   return pmt_pid;
37251 -}
37252 -
37253  struct diseqc_cmd {
37254     struct dvb_diseqc_master_cmd cmd;
37255     uint32_t wait;
37256 @@ -390,10 +303,10 @@
37257  
37258     if (diseqc(fefd, sat_no, pol, hiband))
37259        if (do_tune(fefd, ifreq, sr))
37260 -        if (set_demux(dmxfdv, vpid, DMX_PES_VIDEO, dvr))
37261 +        if (set_pesfilter(dmxfdv, vpid, DMX_PES_VIDEO, dvr))
37262             if (audiofd >= 0)
37263                (void)ioctl(audiofd, AUDIO_SET_BYPASS_MODE, bypass);
37264 -           if (set_demux(dmxfda, apid, DMX_PES_AUDIO, dvr)) {
37265 +           if (set_pesfilter(dmxfda, apid, DMX_PES_AUDIO, dvr)) {
37266                if (rec_psi) {
37267                   pmtpid = get_pmt_pid(dmxdev, sid);
37268                   if (pmtpid < 0) {
37269 @@ -403,8 +316,8 @@
37270                      fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
37271                      result = FALSE;
37272                   }
37273 -                 if (set_demux(patfd, 0, DMX_PES_OTHER, dvr))
37274 -                    if (set_demux(pmtfd, pmtpid, DMX_PES_OTHER, dvr))
37275 +                 if (set_pesfilter(patfd, 0, DMX_PES_OTHER, dvr))
37276 +                    if (set_pesfilter(pmtfd, pmtpid, DMX_PES_OTHER, dvr))
37277                         result = TRUE;
37278                   } else {
37279                     result = TRUE;
37280 diff -r af23d23c278b util/szap/tzap.c
37281 --- a/util/szap/tzap.c  Sat Jun 20 16:47:55 2009 +0200
37282 +++ b/util/szap/tzap.c  Tue Dec 21 12:13:28 2010 +0100
37283 @@ -35,6 +35,8 @@
37284  #include <linux/dvb/frontend.h>
37285  #include <linux/dvb/dmx.h>
37286  
37287 +#include "util.h"
37288 +
37289  static char FRONTEND_DEV [80];
37290  static char DEMUX_DEV [80];
37291  static char DVR_DEV [80];
37292 @@ -269,7 +271,8 @@
37293  
37294  
37295  int parse(const char *fname, const char *channel,
37296 -         struct dvb_frontend_parameters *frontend, int *vpid, int *apid)
37297 +         struct dvb_frontend_parameters *frontend, int *vpid, int *apid,
37298 +         int *sid)
37299  {
37300         int fd;
37301         int err;
37302 @@ -343,7 +346,11 @@
37303  
37304         if ((err = try_parse_int(fd, apid, "Audio PID")))
37305                 return -13;
37306 -
37307 +       
37308 +       if ((err = try_parse_int(fd, sid, "Service ID")))
37309 +           return -14;
37310 +       
37311 +       
37312         close(fd);
37313  
37314         return 0;
37315 @@ -351,31 +358,6 @@
37316  
37317  
37318  static
37319 -int set_pesfilter (int fd, int pid, dmx_pes_type_t type, int dvr)
37320 -{
37321 -        struct dmx_pes_filter_params pesfilter;
37322 -
37323 -        if (pid <= 0 || pid >= 0x1fff)
37324 -                return 0;
37325 -
37326 -        pesfilter.pid = pid;
37327 -        pesfilter.input = DMX_IN_FRONTEND;
37328 -        pesfilter.output = dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER;
37329 -        pesfilter.pes_type = type;
37330 -        pesfilter.flags = DMX_IMMEDIATE_START;
37331 -
37332 -        if (ioctl(fd, DMX_SET_PES_FILTER, &pesfilter) < 0) {
37333 -                PERROR ("ioctl(DMX_SET_PES_FILTER) for %s PID failed",
37334 -                        type == DMX_PES_AUDIO ? "Audio" :
37335 -                        type == DMX_PES_VIDEO ? "Video" : "??");
37336 -                return -1;
37337 -        }
37338 -
37339 -        return 0;
37340 -}
37341 -
37342 -
37343 -static
37344  int setup_frontend (int fe_fd, struct dvb_frontend_parameters *frontend)
37345  {
37346         struct dvb_frontend_info fe_info;
37347 @@ -503,6 +485,7 @@
37348      "     -c file   : read channels list from 'file'\n"
37349      "     -x        : exit after tuning\n"
37350      "     -r        : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
37351 +    "     -p        : add pat and pmt to TS recording (implies -r)\n"
37352      "     -s        : only print summary\n"
37353      "     -S        : run silently (no output)\n"
37354      "     -H        : human readable output\n"
37355 @@ -519,15 +502,16 @@
37356         char *confname = NULL;
37357         char *channel = NULL;
37358         int adapter = 0, frontend = 0, demux = 0, dvr = 0;
37359 -       int vpid, apid;
37360 +       int vpid, apid, sid, pmtpid = 0;
37361 +       int pat_fd, pmt_fd;
37362         int frontend_fd, audio_fd = 0, video_fd = 0, dvr_fd, file_fd;
37363         int opt;
37364         int record = 0;
37365         int frontend_only = 0;
37366         char *filename = NULL;
37367 -       int human_readable = 0;
37368 +       int human_readable = 0, rec_psi = 0;
37369  
37370 -       while ((opt = getopt(argc, argv, "H?hrxRsFSn:a:f:d:c:t:o:")) != -1) {
37371 +       while ((opt = getopt(argc, argv, "H?hrpxRsFSn:a:f:d:c:t:o:")) != -1) {
37372                 switch (opt) {
37373                 case 'a':
37374                         adapter = strtoul(optarg, NULL, 0);
37375 @@ -548,6 +532,9 @@
37376                 case 'r':
37377                         dvr = 1;
37378                         break;
37379 +               case 'p':
37380 +                       rec_psi = 1;
37381 +                       break;
37382                 case 'x':
37383                         exit_after_tuning = 1;
37384                         break;
37385 @@ -610,7 +597,7 @@
37386  
37387         memset(&frontend_param, 0, sizeof(struct dvb_frontend_parameters));
37388  
37389 -       if (parse (confname, channel, &frontend_param, &vpid, &apid))
37390 +       if (parse (confname, channel, &frontend_param, &vpid, &apid, &sid))
37391                 return -1;
37392  
37393         if ((frontend_fd = open(FRONTEND_DEV, O_RDWR)) < 0) {
37394 @@ -624,6 +611,28 @@
37395         if (frontend_only)
37396                 goto just_the_frontend_dude;
37397  
37398 +       if (rec_psi) {
37399 +           pmtpid = get_pmt_pid(DEMUX_DEV, sid);
37400 +           if (pmtpid <= 0) {
37401 +               fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
37402 +               return -1;
37403 +           }
37404 +
37405 +           if ((pat_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
37406 +               perror("opening pat demux failed");
37407 +               return -1;
37408 +           }
37409 +           if (set_pesfilter(pat_fd, 0, DMX_PES_OTHER, dvr) < 0)
37410 +               return -1;
37411 +
37412 +           if ((pmt_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
37413 +               perror("opening pmt demux failed");
37414 +               return -1;
37415 +           }
37416 +           if (set_pesfilter(pmt_fd, pmtpid, DMX_PES_OTHER, dvr) < 0)
37417 +               return -1;
37418 +       }
37419 +
37420          if ((video_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
37421                  PERROR("failed opening '%s'", DEMUX_DEV);
37422                  return -1;
37423 @@ -689,6 +698,8 @@
37424                 check_frontend (frontend_fd, human_readable);
37425         }
37426  
37427 +       close (pat_fd);
37428 +       close (pmt_fd);
37429         close (audio_fd);
37430         close (video_fd);
37431         close (frontend_fd);
37432 diff -r af23d23c278b util/szap/util.c
37433 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
37434 +++ b/util/szap/util.c  Tue Dec 21 12:13:28 2010 +0100
37435 @@ -0,0 +1,126 @@
37436 +/*
37437 + * util functions for various ?zap implementations
37438 + *
37439 + * Copyright (C) 2001 Johannes Stezenbach (js@convergence.de)
37440 + * for convergence integrated media
37441 + *
37442 + * This program is free software; you can redistribute it and/or modify
37443 + * it under the terms of the GNU General Public License as published by
37444 + * the Free Software Foundation; either version 2 of the License, or
37445 + * (at your option) any later version.
37446 + *
37447 + * This program is distributed in the hope that it will be useful,
37448 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
37449 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
37450 + * GNU General Public License for more details.
37451 + *
37452 + * You should have received a copy of the GNU General Public License
37453 + * along with this program; if not, write to the Free Software
37454 + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
37455 + */
37456 +
37457 +#include <string.h>
37458 +#include <unistd.h>
37459 +#include <stdio.h>
37460 +#include <errno.h>
37461 +
37462 +#include <sys/ioctl.h>
37463 +#include <sys/types.h>
37464 +#include <sys/stat.h>
37465 +#include <fcntl.h>
37466 +
37467 +#include <linux/dvb/frontend.h>
37468 +#include <linux/dvb/dmx.h>
37469 +
37470 +
37471 +int set_pesfilter(int dmxfd, int pid, int pes_type, int dvr)
37472 +{
37473 +    struct dmx_pes_filter_params pesfilter;
37474 +
37475 +    /* ignore this pid to allow radio services */
37476 +    if (pid < 0 ||
37477 +       pid >= 0x1fff ||
37478 +       (pid == 0 && pes_type != DMX_PES_OTHER))
37479 +       return 0;
37480 +
37481 +    if (dvr) {
37482 +       int buffersize = 64 * 1024;
37483 +       if (ioctl(dmxfd, DMX_SET_BUFFER_SIZE, buffersize) == -1)
37484 +           perror("DMX_SET_BUFFER_SIZE failed");
37485 +    }
37486 +
37487 +    pesfilter.pid = pid;
37488 +    pesfilter.input = DMX_IN_FRONTEND;
37489 +    pesfilter.output = dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER;
37490 +    pesfilter.pes_type = pes_type;
37491 +    pesfilter.flags = DMX_IMMEDIATE_START;
37492 +
37493 +    if (ioctl(dmxfd, DMX_SET_PES_FILTER, &pesfilter) == -1) {
37494 +       fprintf(stderr, "DMX_SET_PES_FILTER failed "
37495 +       "(PID = 0x%04x): %d %m\n", pid, errno);
37496 +       return -1;
37497 +    }
37498 +
37499 +    return 0;
37500 +}
37501 +
37502 +
37503 +int get_pmt_pid(char *dmxdev, int sid)
37504 +{
37505 +    int patfd, count;
37506 +    int pmt_pid = 0;
37507 +    int patread = 0;
37508 +    int section_length;
37509 +    unsigned char buft[4096];
37510 +    unsigned char *buf = buft;
37511 +    struct dmx_sct_filter_params f;
37512 +
37513 +    memset(&f, 0, sizeof(f));
37514 +    f.pid = 0;
37515 +    f.filter.filter[0] = 0x00;
37516 +    f.filter.mask[0] = 0xff;
37517 +    f.timeout = 0;
37518 +    f.flags = DMX_IMMEDIATE_START | DMX_CHECK_CRC;
37519 +
37520 +    if ((patfd = open(dmxdev, O_RDWR)) < 0) {
37521 +       perror("openening pat demux failed");
37522 +       return -1;
37523 +    }
37524 +
37525 +    if (ioctl(patfd, DMX_SET_FILTER, &f) == -1) {
37526 +       perror("ioctl DMX_SET_FILTER failed");
37527 +       close(patfd);
37528 +       return -1;
37529 +    }
37530 +
37531 +    while (!patread){
37532 +       if (((count = read(patfd, buf, sizeof(buft))) < 0) && errno == EOVERFLOW)
37533 +           count = read(patfd, buf, sizeof(buft));
37534 +       if (count < 0) {
37535 +           perror("read_sections: read error");
37536 +           close(patfd);
37537 +           return -1;
37538 +       }
37539 +       
37540 +       section_length = ((buf[1] & 0x0f) << 8) | buf[2];
37541 +       if (count != section_length + 3)
37542 +           continue;
37543 +       
37544 +       buf += 8;
37545 +       section_length -= 8;
37546 +       
37547 +       patread = 1; /* assumes one section contains the whole pat */
37548 +       while (section_length > 0) {
37549 +           int service_id = (buf[0] << 8) | buf[1];
37550 +           if (service_id == sid) {
37551 +               pmt_pid = ((buf[2] & 0x1f) << 8) | buf[3];
37552 +               section_length = 0;
37553 +           }
37554 +           buf += 4;
37555 +           section_length -= 4;
37556 +       }
37557 +    }
37558 +
37559 +    close(patfd);
37560 +    return pmt_pid;
37561 +}
37562 diff -r af23d23c278b util/szap/util.h
37563 --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
37564 +++ b/util/szap/util.h  Tue Dec 21 12:13:28 2010 +0100
37565 @@ -0,0 +1,24 @@
37566 +/*
37567 + * util functions for various ?zap implementations
37568 + *
37569 + * Copyright (C) 2001 Johannes Stezenbach (js@convergence.de)
37570 + * for convergence integrated media
37571 + *
37572 + * This program is free software; you can redistribute it and/or modify
37573 + * it under the terms of the GNU General Public License as published by
37574 + * the Free Software Foundation; either version 2 of the License, or
37575 + * (at your option) any later version.
37576 + *
37577 + * This program is distributed in the hope that it will be useful,
37578 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
37579 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
37580 + * GNU General Public License for more details.
37581 + *
37582 + * You should have received a copy of the GNU General Public License
37583 + * along with this program; if not, write to the Free Software
37584 + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
37585 + */
37586 +
37587 +int set_pesfilter(int dmxfd, int pid, int pes_type, int dvr);
37588 +
37589 +int get_pmt_pid(char *dmxdev, int sid);