--- alevt-1.6.2.orig/debian/rules +++ alevt-1.6.2/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/buildcore.mk +include /usr/share/cdbs/1/class/makefile.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk + +guilt-cleanexport: + rm -rf debian/patches + mkdir -p debian/patches + cp .git/patches/features/*.diff debian/patches/ + cp .git/patches/features/series debian/patches/ + +DEB_MAKE_CLEAN_TARGET := clean +DEB_MAKE_BUILD_TARGET := all +DEB_MAKE_INSTALL_TARGET := install DESTDIR=$(CURDIR)/debian/tmp PREFIX=/usr +DEB_MAKE_INVOKE := $(DEB_MAKE_ENVVARS) make OPT="$(CFLAGS) $(CPPFLAGS) $(LDFLAGS)" + +DEB_INSTALL_DIRS_ALL := usr/bin usr/share/pixmaps --- alevt-1.6.2.orig/debian/alevt.install +++ alevt-1.6.2/debian/alevt.install @@ -0,0 +1,2 @@ +usr/bin +contrib/mini-alevt.xpm /usr/share/pixmaps/ --- alevt-1.6.2.orig/debian/README.source +++ alevt-1.6.2/debian/README.source @@ -0,0 +1,8 @@ +Building alevt for Debian +-------------------------- + +The alevt source package uses quilt to apply and remove its +patches. Please refer to /usr/share/doc/quilt/README.source for +information about how to use quilt for source packages. + + -- Andreas Rottmann , Sun, 29 Nov 2009 22:00:11 +0100 --- alevt-1.6.2.orig/debian/alevt.menu +++ alevt-1.6.2/debian/alevt.menu @@ -0,0 +1,4 @@ +?package(alevt):needs="X11" section="Applications/TV and Radio" \ + title="AleVT" longtitle="AleVT, X11 Teletext/Videotext browser" \ + command="/usr/bin/alevt" \ + icon="/usr/share/pixmaps/mini-alevt.xpm" --- alevt-1.6.2.orig/debian/alevt.docs +++ alevt-1.6.2/debian/alevt.docs @@ -0,0 +1,3 @@ +README +ReadmeGR +debian/README.source --- alevt-1.6.2.orig/debian/compat +++ alevt-1.6.2/debian/compat @@ -0,0 +1 @@ +7 --- alevt-1.6.2.orig/debian/alevt.manpages +++ alevt-1.6.2/debian/alevt.manpages @@ -0,0 +1,3 @@ +alevt.1x +alevt-cap.1 +alevt-date.1 --- alevt-1.6.2.orig/debian/alevt.postinst +++ alevt-1.6.2/debian/alevt.postinst @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ]; then + # Purge the debconf database we no longer need. + if [ -e /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule + db_purge + fi +fi + +if [ ! -e /dev/vbi0 -a ! -e /dev/.devfsd ]; then + if [ -x /dev/MAKEDEV ]; then + echo "creating video4linux devices..." + cd /dev + ./MAKEDEV video4linux + cd $OLDPWD + fi +fi + +#DEBHELPER# --- alevt-1.6.2.orig/debian/control +++ alevt-1.6.2/debian/control @@ -0,0 +1,30 @@ +Source: alevt +Section: x11 +Priority: extra +Maintainer: Andreas Rottmann +Build-Depends: quilt, cdbs (>= 0.4.53), debhelper (>> 7), libpng-dev, libx11-dev +Standards-Version: 3.9.3 +Homepage: http://www.goron.de/~froese/ + +Package: alevt +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, udev [linux-any] | makedev (>= 2.3.1-24) [linux-any] +Description: X11 Teletext/Videotext browser + AleVT is an X11 program for browsing and searching Teletext/Videotext + pages received by a compatible decoder (at the moment, bttv). + . + Features include: + . + * Multiple windows + * Page cache + * Regular expression searching + * Built-in manual + . + Additional command line utilities can + . + * receive the time from Teletext/Videotext + * capture pages and write them to disk + . + Teletext/Videotext is used by TV channels to transmit textual + information pages (it's transmitted via non-visible scan lines). + --- alevt-1.6.2.orig/debian/copyright +++ alevt-1.6.2/debian/copyright @@ -0,0 +1,26 @@ +This package was debianized by Thomas Schoepf on +Mon, 14 Dec 1998 15:39:52 +0100. + +Current Debian maintainer: Andreas Rottmann + +It was downloaded from http://www.goron.de/~froese/ + +Upstream Author: Edgar Toernig + +Copyright: 1998,1999,2000 Edgar Toernig + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . + +On Debian systems, the complete text of the GNU General Public +License, version 2, can be found in /usr/share/common-licenses/GPL-2. --- alevt-1.6.2.orig/debian/watch +++ alevt-1.6.2/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://www.goron.de/~froese/alevt/alevt-(.*)\.tar\.gz --- alevt-1.6.2.orig/debian/changelog +++ alevt-1.6.2/debian/changelog @@ -0,0 +1,442 @@ +alevt (1:1.6.2-5) unstable; urgency=low + + * Make udev|makedev dependency Linux-only (closes: #666508). Thanks to + Robert Millan for the patch. + * Bump Standards-Version to 3.9.3 (no changes). + * debian/rules: Don't set DEB_DH_INSTALLCHANGELOGS_ARGS, "CHANGELOG" is + now detected by cdbs; cdbs build-dependency version tightened + accordingly. + * debian/rules: Pass $(CPPFLAGS) and $(LDFLAGS) to upstream Makefile + (fixes lintian warnings wrt. hardending). + + -- Andreas Rottmann Tue, 29 May 2012 14:36:11 +0200 + +alevt (1:1.6.2-4) unstable; urgency=low + + * Changed menu section to "Applications/TV and Radio" (closes: #564223). + + -- Andreas Rottmann Sun, 10 Jan 2010 21:26:43 +0100 + +alevt (1:1.6.2-3) unstable; urgency=low + + * Upload to unstable. + * Package now uses guilt instead of topgit. + + Dirk Schuster: + + * New patch features/x11-errormessage: Display a "device-not-found" + error messages also in X11 window, not only only stderr (closes: + #299346). + * New patch features/help-additions: Several improvements to the + built-in help (both X11 and command-line --help). + * features/dvb-demux: Tweaks to the manpages. + * features/cosmetics: Show correct window size in help pages. + + -- Andreas Rottmann Mon, 30 Nov 2009 18:00:19 +0100 + +alevt (1:1.6.2-2) experimental; urgency=low + + Dirk Schuster: + + * features/dvb-demux: Added manpage description of the new options: + -progname and -pid (closes: #546891). + * features/vbi-name: Include DVB device name in search list (closes: #548441). + + Andreas Rottmann: + + * features/vbi-name: Show list of tried devices in error message when no + device is found. + * Standards-Version 3.8.3 (for real, this time -- no further changes). + * Added README.source pointing to tg2quilt HOWTO and alioth repository. + * Install ReadmeGR (Greek README) in /usr/share/doc/alevt. + + -- Andreas Rottmann Sat, 26 Sep 2009 19:50:28 +0200 + +alevt (1:1.6.2-1) experimental; urgency=low + + * New upstream version (closes: #527299): + - Contains v4l2 support (closes: #345229) + - Obsoletes the following patches: + + 27_gcc4.dpatch + + 30_alevt.man.dpatch + + 35_alevt-cap.man.dpatch + + 45_v4l2.dpatch + + 99-undo-brain-fuckage.dpatch + * Switched the package to git-buildpackage/topgit: + - Build-Depend on quilt instead of dpatch. + - 25_buildsystem.dpatch is now branch features/destdir + - 20_alevt-1.6.1.rus.dpatch is now branch features/l10n-russian + - 40_vbi_name.dpatch is now branch features/vbi-name + * New patch: features/dvb-demux. + Adds DVB support. + * New patch: features/l10-greek. + This is essentially the interdiff between the between + contrib/alevt-1.6.1.rus.diff.gz and contrib/alevt-1.6.1.rus+greek.diff.gz. + * New patch: fixes/cosmetics. + Fixes a few cosmetic issues in the man pages, help output, + and page 901-2. + * Bumped debhelper compat level and Build-Depends to 7. + * Bumped Standards-Version to 3.8.3: + - Upgraded Homepage pseudo-field to Homepage field in source package. + + -- Andreas Rottmann Sat, 22 Aug 2009 15:54:12 +0200 + +alevt (1:1.6.1-10.2) unstable; urgency=medium + + * Non-maintainer upload. + * Use correct patch to prevent installation failing in postinst - MAKEDEV will + take care of creating devices in /dev/.static when it detects that udev is + active. Thanks to Adeodato Simó for the updated patch. (Closes: #502824) + + -- Chris Lamb Wed, 05 Nov 2008 21:32:05 +0000 + +alevt (1:1.6.1-10.1) unstable; urgency=medium + + * Non-maintainer upload. + * Add support in postinst for building video4linux devices in /dev/.static as + well as /dev. (Closes: #502824) + + -- Chris Lamb Mon, 20 Oct 2008 23:56:47 +0100 + +alevt (1:1.6.1-10) unstable; urgency=low + + * Update 40_vbi_name.dpatch to make also alevt-cap and alevt-date try + the default devices. Patch by Albert Dengg, thanks! (closes: #440522). + + -- Andreas Rottmann Wed, 12 Sep 2007 16:15:20 +0200 + +alevt (1:1.6.1-9) unstable; urgency=low + + * 40_vbi_name.dpatch: Also try /dev/video0 if both /dev/vbi and + /dev/vbi0 fail (closes: #428298). + * postinst: Use /dev/MAKEDEV instead of /sbin/MAKEDEV. + * Depend on 'udev | makedev' instead of 'makedev' (closes: #436997). + * 45_v4l2.dpatch: New patch intended to fix alevt under Video4Linux + v2, taken from Gentoo portage (alevt-1.6.1-v4l2.patch, + alevt-1.6.1-vbi.patch), see + . + * Revamp copyright file. + * Use "Applications" instead of "Apps" in the menu file. + * Added a debian/watch file. + + -- Andreas Rottmann Sun, 26 Aug 2007 16:51:33 +0200 + +alevt (1:1.6.1-8) unstable; urgency=low + + * 30_alevt.man.dpatch: Added alevt(1) typo fix (closes: #311458). + * 35_alevt-cap.man.dpatch: New patch with a typo fix for alevt-cap(1) + (closes: #311457). + * 40_vbi_name.dpatch: Try /dev/vbi0 if /dev/vbi doesn't exist + (closes: #389161). + * Bumped Standards-Version to 3.7.2 (no changes). + * Remove obsolete xlibs-dev from build-depends. + + -- Andreas Rottmann Thu, 07 Jun 2007 14:43:28 +0200 + +alevt (1:1.6.1-7.1) unstable; urgency=low + + * Non-maintainer upload. + * 99-undo-brain-fuckage.dpatch: undo the amazing abuse of the C language by + upstream. The package now builds on arm (closes: #391566), but it remains + a mystery how it has ever been built on *any* architecture. + + -- martin f. krafft Sun, 8 Oct 2006 11:22:36 +0200 + +alevt (1:1.6.1-7) unstable; urgency=low + + * New maintainer (closes: #290276). + * Switched to CDBS. + + -- Andreas Rottmann Thu, 17 Feb 2005 13:44:55 +0100 + +alevt (1:1.6.1-6) unstable; urgency=low + + * Fix FTBFS with gcc4 (Closes: #285070), thanks Andreas Jochens. + * install icon in /usr/share/pixmaps instead of below /usr/X11R6/... + + -- Andreas Metzler Fri, 10 Dec 2004 19:57:07 +0100 + +alevt (1:1.6.1-5) unstable; urgency=low + + * Clean up description. (Closes: #239694) + * Update build-dependencies for new X11 package layout. + + -- Andreas Metzler Sat, 3 Apr 2004 15:43:47 +0200 + +alevt (1:1.6.1-4) unstable; urgency=low + + * new maintainer. Thanks to Thomas for his work and handing over the package + in perfect 0 bugs state. + * debhelper compatibility level 4 + * Use dpatch + * Standards-Version: 3.6.1. (changelog recoded to utf-8). + * build-depend on libpng-dev as suggested by + /usr/share/doc/libpng12-0/README.Debian + + -- Andreas Metzler Fri, 12 Sep 2003 12:31:56 +0200 + +alevt (1:1.6.1-3) unstable; urgency=low + + * No longer ask for permission to create devices files. + * debian/control: remove dependency on debconf. + + -- Thomas Schoepf Sat, 16 Nov 2002 15:48:18 +0100 + +alevt (1:1.6.1-2) unstable; urgency=low + + * Closes: Bug#163415: swedish a° and A° are displayed incorrectly + * Standards-Version: 3.5.7 + + -- Thomas Schoepf Sun, 6 Oct 2002 00:13:49 +0200 + +alevt (1:1.6.1-1) unstable; urgency=low + + * New upstream version. + + -- Thomas Schoepf Tue, 20 Aug 2002 12:19:48 +0200 + +alevt (1:1.6.0-12) unstable; urgency=low + + * Closes: Bug#156620: Please build-depend on libpng3-dev + * Standards-Version: 3.5.6 + * Removed the patch for Bug#131110: alevt does not use devfs-devices + /dev/vbi is the standard name, alevt has a command line option "-vbi" to + specify a different device and there are tools to automatically create + compatibility symlinks (such as devfsd). + * Included a patch to support the koi8-r codepage. Contributed by + Andrey Kiselev , based upon a patch by + Valery Gruzdev. Thanks! + + -- Thomas Schoepf Sat, 17 Aug 2002 18:14:39 +0200 + +alevt (1:1.6.0-11) unstable; urgency=low + + * Moved debconf translations into separate files. + + -- Thomas Schoepf Sun, 29 Apr 2002 17:05:24 +0200 + +alevt (1:1.6.0-10) unstable; urgency=low + + * Closes: Bug#137612: russian debconf template file + * debian/control: bttv and alevt have a new homepage + + -- Thomas Schoepf Sun, 17 Mar 2002 15:09:36 +0100 + +alevt (1:1.6.0-9) unstable; urgency=low + + * Closes: Bug#131110: alevt does not use devfs-devices + + -- Thomas Schoepf Sun, 27 Jan 2002 12:59:08 +0100 + +alevt (1:1.6.0-8) unstable; urgency=low + + * Closes: Bug#116846: should not try to create device nodes on devfs + + -- Thomas Schoepf Fri, 26 Oct 2001 15:48:26 +0200 + +alevt (1:1.6.0-7) unstable; urgency=low + + * Closes: Bug#109749: Swedish Translation of Debconf Template + + -- Thomas Schoepf Thu, 23 Aug 2001 21:02:05 +0200 + +alevt (1:1.6.0-6) unstable; urgency=low + + * Closes: Bug#106940: alevt: debconf template translation for brazilian + + -- Thomas Schoepf Sun, 29 Jul 2001 17:07:14 +0200 + +alevt (1:1.6.0-5) unstable; urgency=low + + * Closes: Bug#106014: spanish template file + + -- Thomas Schoepf Sat, 21 Jul 2001 21:54:50 +0200 + +alevt (1:1.6.0-4) unstable; urgency=low + + * Closes: Bug#105331: [patch] german templates file + * Standards-Version: 3.5.2 + * Only complains about not creating v4l device files, if /dev/vbi does not + exist. + + -- Thomas Schoepf Sun, 15 Jul 2001 16:53:12 +0200 + +alevt (1:1.6.0-3) unstable; urgency=low + + * Closes: #104769: alevt_1:1.6.0-2(unstable): missing time.h include + + -- Thomas Schoepf Sat, 14 Jul 2001 10:52:19 +0200 + +alevt (1:1.6.0-2) unstable; urgency=low + + * Moved debhelper build dependency from Build-Depends-Indep to + Build-Depends. Closes: #76379 + + -- Thomas Schoepf Mon, 6 Nov 2000 16:55:38 +0100 + +alevt (1:1.6.0-1) unstable; urgency=low + + * New upstream version. + * No more two menu entries (alevt no longer supports the option --oldbttv, + but uses v4l2 api). + * Bumped Standards-Version to 3.2.1 + * Switch to debhelper v2. + + -- Thomas Schoepf Sat, 14 Oct 2000 13:47:58 +0200 + +alevt (1:1.5.1-6) unstable; urgency=low + + * Closes: Bug#64158: Italian translation of debconf templates file + + -- Thomas Schoepf Mon, 15 May 2000 22:50:48 +0200 + +alevt (1:1.5.1-5) unstable; urgency=low + + * Create two different menu entries: one for the kernel driver (needs + -oldbttv option) and another for the separatly available bttv driver. + Closes: Bug#60937: alevt using kernel-bttv-driver + + -- Thomas Schoepf Thu, 23 Mar 2000 16:14:39 +0100 + +alevt (1:1.5.1-4) frozen unstable; urgency=low + + * Release Manager: Fixes important bug -> + * Closes: #56064: alevt_1:1.5.1-3(frozen): Missing build dependencies + Build-Depend: libpng-dev, xlib6g-dev + + -- Thomas Schoepf Mon, 24 Jan 2000 21:06:42 +0100 + +alevt (1:1.5.1-3) frozen unstable; urgency=low + + * Release Manager: Fixes important bug -> + * Closes: #55675: makedev problem in postinst + * Depend on makedev (>= 2.3.1-24) + + -- Thomas Schoepf Thu, 20 Jan 2000 12:47:45 +0100 + +alevt (1:1.5.1-2) unstable; urgency=low + + * Removed README.Debian now that we have a video group. + + -- Thomas Schoepf Tue, 30 Nov 1999 17:29:21 +0100 + +alevt (1:1.5.1-1) unstable; urgency=low + + * New upstream version. + * Standards-Version: 3.1.0 and Build Dependencies. + + -- Thomas Schoepf Sat, 6 Nov 1999 13:09:51 +0100 + +alevt (1:1.5.0-2) unstable; urgency=low + + * Debconf_0.2.0 adjustments. + + -- Thomas Schoepf Sat, 30 Oct 1999 11:55:21 +0200 + +alevt (1:1.5.0-1) unstable; urgency=low + + * New upstream version. + * Corrected menu file a little. + + -- Thomas Schoepf Sat, 16 Oct 1999 22:24:52 +0200 + +alevt (1.5.0-pre3-6) unstable; urgency=low + + * Use debconf to ask whether device files should be created. + + -- Thomas Schoepf Tue, 12 Oct 1999 00:32:32 +0200 + +alevt (1.5.0-pre3-5) unstable; urgency=low + + * debian/control: Made the Description more explanatory. Thanks to Chris + Fearnley. + + -- Thomas Schoepf Sun, 12 Sep 1999 17:27:50 +0200 + +alevt (1.5.0-pre3-4) unstable; urgency=low + + * Debhelper now takes care of the FHS. + + -- Thomas Schoepf Wed, 8 Sep 1999 18:58:08 +0200 + +alevt (1.5.0-pre3-3) unstable; urgency=low + + * debian/control: Standards-Version: 3.0.1. + + -- Thomas Schoepf Mon, 6 Sep 1999 16:24:08 +0200 + +alevt (1.5.0-pre3-2) unstable; urgency=low + + * Ask the user before calling makedev, according to policy. + + -- Thomas Schoepf Sat, 7 Aug 1999 12:46:21 +0200 + +alevt (1.5.0-pre3-1) unstable; urgency=low + + * New upstream version. + * Comply with FHS 2.0 (/usr/share/doc, /usr/share/man). + * debian/control: Standards-Version: 3.0.0. + * debian/copyright: licenses now in usr/share/common-licenses. + * Added /usr/doc/wipe -> /usr/share/doc/wipe transition link. + + -- Thomas Schoepf Thu, 22 Jul 1999 13:00:40 +0200 + +alevt (1.5.0-pre2-1) unstable; urgency=low + + * New upstream version. + + -- Thomas Schoepf Tue, 29 Jun 1999 12:13:47 +0200 + +alevt (1.5.0-pre1-1) unstable; urgency=low + + * New upstream version. + + -- Thomas Schoepf Fri, 25 Jun 1999 22:09:14 +0200 + +alevt (1.4.9-1) unstable; urgency=low + + * New upstream version. + + -- Thomas Schoepf Wed, 16 Jun 1999 13:17:06 +0200 + +alevt (1.4.8-1) unstable; urgency=low + + * New upstream version. + + -- Thomas Schoepf Mon, 7 Jun 1999 16:01:02 +0200 + +alevt (1.4.5-2) unstable; urgency=low + + * debian/postinst: call MAKEDEV to create v4l devices. Thanks to + Bdale Garbee for enhancing makedev. + * Use /dev/vbi0 as default instead of /dev/vbi. + + -- Thomas Schoepf Wed, 2 Jun 1999 23:55:46 +0200 + +alevt (1.4.5-1) unstable; urgency=low + + * New upstream version. + + -- Thomas Schoepf Fri, 28 May 1999 13:57:18 +0200 + +alevt (1.4.4-2) unstable; urgency=low + + * debian/control: updated Standards-Version to 2.5.0.0 + * debian/copyright: fixed typo "Author(s)" -> "Author" + * debian/copyright: removed GPL header and added reference to + /usr/doc/copyright/GPL. + + -- Thomas Schoepf Tue, 11 May 1999 12:32:27 +0200 + +alevt (1.4.4-1) unstable; urgency=low + + * New upstream version. + + -- Thomas Schoepf Thu, 1 Apr 1999 00:30:05 +0200 + +alevt (1.4.3-1) unstable; urgency=low + + * Initial Release. + + -- Thomas Schoepf Fri, 12 Mar 1999 13:24:07 +0100 + --- alevt-1.6.2.orig/debian/patches/help-additions.diff +++ alevt-1.6.2/debian/patches/help-additions.diff @@ -0,0 +1,231 @@ +Subject: Additions to the online help + +From: Andreas Rottmann + +This patch touches both the X11 help screens as well as the +command-line --help output. +--- + Makefile | 3 ++- + help.c | 8 ++++++++ + main.c | 18 +++++++++++------- + vt901-01.out | 18 +++++++++--------- + vt901-02.out | 22 +++++++++++----------- + vt901-03.out | 29 +++++++++++++++++++++++++++++ + vt901-04.out | 29 +++++++++++++++++++++++++++++ + 7 files changed, 99 insertions(+), 28 deletions(-) + create mode 100644 vt901-03.out + create mode 100644 vt901-04.out + +diff --git a/Makefile b/Makefile +index 7493922..e8c1c24 100644 +--- a/Makefile ++++ b/Makefile +@@ -131,7 +131,8 @@ export.o: vt.h misc.h export.h + fdset.o: dllist.h misc.h fdset.h + font.o: font1.xbm font2.xbm + hamm.o: vt.h misc.h hamm.h +-help.o: vt.h misc.h vt900.out vt901-02.out vt901-01.out vt902.out vt903.out ++help.o: vt.h misc.h vt900.out vt902.out vt903.out ++help.o: vt901-04.out vt901-03.out vt901-02.out vt901-01.out + help.o: vt910.out vt911-02.out vt911-01.out vt912-02.out vt912-01.out + help.o: vt913.out vt914-02.out vt914-01.out vt915.out vt999.out + lang.o: misc.h vt.h lang.h +diff --git a/help.c b/help.c +index b17b709..cfe71cf 100644 +--- a/help.c ++++ b/help.c +@@ -22,6 +22,14 @@ struct vt_page help_pages[] = + #include "vt900.out" + }, FLOF_DATA }, + ++ { 0x901, 4, -1, 0, 0, (1<<26)-1, { ++#include "vt901-04.out" ++ }, FLOF_DATA }, ++ ++ { 0x901, 3, -1, 0, 0, (1<<26)-1, { ++#include "vt901-03.out" ++ }, FLOF_DATA }, ++ + { 0x901, 2, -1, 0, 0, (1<<26)-1, { + #include "vt901-02.out" + }, FLOF_DATA }, +diff --git a/main.c b/main.c +index 5ce21d7..e3a52a7 100644 +--- a/main.c ++++ b/main.c +@@ -35,18 +35,22 @@ usage(FILE *fp, int exitval) + " Valid options:\t\tDefault:\n" + " --help\n" + " --version\n" +- " -vbi \t\t/dev/vbi0\n" ++ " -vbi \t\t/dev/vbi\n" ++ " \t\t/dev/vbi0\n" ++ " \t\t/dev/video0\n" ++ " \t\t/dev/dvb/adapter0/demux0\n" + " -display \t\t$DISPLAY\n" + " -geometry \t\t41x25\n" +- " -finetune <-4..4|auto>\t0\n" +- " -child ppp[.ss]\n" +- " [-parent] ppp[.ss]\t\t900\n" ++ " -finetune <-4..4|auto>\t1\n" ++ " -child \n" ++ " [-parent] \t900\n" + //" -oldbttv\t\t(for bttv <0.5.20)\n" + " -[no]erc\t\t\tenabled\n" + " -[no]bell\t\t\tenabled\n" +- " -charset latin-1/2/koi8-r/iso8859-7\tlatin-1\n" +- " -progname name\n" +- " -pid pid\n" ++ " -charset \tlatin-1\n" ++ " -progname \n" ++ " -pid \n" + "\n" + " Order is important! Each page number\n" + " opens a new window with the previously\n" +diff --git a/vt901-01.out b/vt901-01.out +index a9cb44c..da27c83 100644 +--- a/vt901-01.out ++++ b/vt901-01.out +@@ -7,23 +7,23 @@ + #else + HELP_HEADER + #endif +-" \0031/2 ", ++" \0031/4 ", + "\6\15Starting AleVT: ", + "\6\15Starting AleVT: ", + "\24 #################################### ", + "\6 $\7alevt\6[options] ", + "\6 Default: ", +-" -vbi\6 \2/dev/vbi0 ", ++" --help ", ++" --version ", ++" -vbi\6 \2/dev/vbi ", ++" \2/dev/vbi0 ", ++" \2/dev/video0 ", ++" \2/dev/dvb/adapter0/demux0 ", + " -display\6 \2$DISPLAY ", + " -geometry\6 \00241x25 ", +-" -finetune\6<-4..4 | auto> \2auto ", +-" -child\6 ", +-" [-parent]\6 \002900 ", +-" -charset\6 \2latin-1 ", +-" -[no]erc \2enabled ", +-" -[no]bell \2enabled ", ++" ", + "\24 pppppppppppppppppppppppppppppppppppp ", +-" (Click on\0031/2\7for next page) ", ++" (Click on\0031/4\7for next page) ", + " ", + "\4\35\7Back 900 Index 900 Next 903\13 \34", + "\1Page 100 \2Page 200 \3Page 300 \6Page 400\34", +diff --git a/vt901-02.out b/vt901-02.out +index fe4abd2..3b6303d 100644 +--- a/vt901-02.out ++++ b/vt901-02.out +@@ -7,23 +7,23 @@ + #else + HELP_HEADER + #endif +-" \0032/2 ", ++" \0032/4 ", + "\6\15Starting AleVT: ", + "\6\15Starting AleVT: ", + "\24 #################################### ", +-"\6 Order is important! Each page number ", +-"\6 opens a window with the previously ", +-"\6 given geometry, device and display. ", ++" -finetune\6<-4..4 | auto> \2 1 ", ++" -child\6 ", ++" [-parent]\6 \002900 ", ++" -[no]erc \2enabled ", ++" -[no]bell \2enabled ", ++" -charset\6 \2latin-1 ", ++" -progname\6 ", ++" -pid\6 ", + " ", +-" ppp[.ss]\6stand for a page number and ", +-"\6 an optional subpage number. If the ", +-"\6 subpage number is omitted the first ", +-"\6 transmitted subpage is shown. ", + " ", +-"\6 The\7-child\6option requires a parent ", +-"\6 window. So it must be preceded by ", +-"\6 a parent or another child window. ", + "\24 pppppppppppppppppppppppppppppppppppp ", ++" (Click on\0032/4\7for next page) ", + " ", + "\4\35\7Back 900 Index 900 Next 903\13 \34", + "\1Page 100 \2Page 200 \3Page 300 \6Page 400\34", +diff --git a/vt901-03.out b/vt901-03.out +new file mode 100644 +index 0000000..ea03f9c +--- /dev/null ++++ b/vt901-03.out +@@ -0,0 +1,29 @@ ++#ifndef HELP_HEADER ++" \6AleVT Online Help System ", ++" \22`p0`0 p `0pppp ", ++"\4\35\22\177 \177j5`p \177 j5 j5 \7Version \34", ++"\4\35\22\177,\177j5\177.! +t>! j5 \7 1.2.3 \34", ++" \22# #\42!\42# \42 \42! ", ++#else ++HELP_HEADER ++#endif ++" \0033/4 ", ++"\6\15Starting AleVT: ", ++"\6\15Starting AleVT: ", ++"\24 #################################### ", ++"\6 Order is important! Each page number ", ++"\6 opens a window with the previously ", ++"\6 given geometry, device and display. ", ++" ", ++" ppp[.ss]\6stand for a page number and ", ++"\6 an optional subpage number. If the ", ++"\6 subpage number is omitted the first ", ++"\6 transmitted subpage is shown. ", ++" ", ++"\6 The\7-child\6option requires a parent ", ++"\6 window. So it must be preceded by ", ++"\24 pppppppppppppppppppppppppppppppppppp ", ++" (Click on\0033/4\7for next page) ", ++" ", ++"\4\35\7Back 900 Index 900 Next 903\13 \34", ++"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34", +diff --git a/vt901-04.out b/vt901-04.out +new file mode 100644 +index 0000000..dad105d +--- /dev/null ++++ b/vt901-04.out +@@ -0,0 +1,29 @@ ++#ifndef HELP_HEADER ++" \6AleVT Online Help System ", ++" \22`p0`0 p `0pppp ", ++"\4\35\22\177 \177j5`p \177 j5 j5 \7Version \34", ++"\4\35\22\177,\177j5\177.! +t>! j5 \7 1.2.3 \34", ++" \22# #\42!\42# \42 \42! ", ++#else ++HELP_HEADER ++#endif ++" \0034/4 ", ++"\6\15Starting AleVT: ", ++"\6\15Starting AleVT: ", ++"\24 #################################### ", ++"\6 a parent or another child window. ", ++" ", ++"\6 To use the DVB interface, use: ", ++" -vbi /dev/dvb/adapter0/demux0 ", ++" ", ++"\6 The\7-progname\6or\7-pid\6option specify ", ++"\6 the program or teletext PID if using ", ++"\6 the DVB interface. ", ++" ", ++" ", ++" ", ++" ", ++"\24 pppppppppppppppppppppppppppppppppppp ", ++" ", ++"\4\35\7Back 900 Index 900 Next 903\13 \34", ++"\1Page 100 \2Page 200 \3Page 300 \6Page 400\34", --- alevt-1.6.2.orig/debian/patches/l10n-greek.diff +++ alevt-1.6.2/debian/patches/l10n-greek.diff @@ -0,0 +1,6151 @@ +Subject: Add support for iso8859-7 (greek) + +From: Andreas Rottmann + +This is essentially the interdiff between +contrib/alevt-1.6.1.rus.diff.gz and contrib/alevt-1.6.1.rus+greek.diff.gz. +--- + Makefile | 9 + ReadmeGR | 28 + alevt-cap.1.in | 2 + alevt-cap.c | 6 + alevt.1x.in | 2 + exp-html.c | 2 + font.c | 2 + font.h | 1 + lang.c | 110 + + lang.h | 2 + main.c | 6 + vtxt-iso8859-7.bdf | 5768 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + xio.c | 1 + 13 files changed, 5928 insertions(+), 11 deletions(-) + create mode 100644 ReadmeGR + create mode 100644 vtxt-iso8859-7.bdf + +diff --git a/Makefile b/Makefile +index b4cea88..7493922 100644 +--- a/Makefile ++++ b/Makefile +@@ -35,9 +35,9 @@ alevt-date: $(TOBJS) + alevt-cap: $(COBJS) + $(CC) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS) + +-font.o: font1.xbm font2.xbm font3.xbm +-fontsize.h: font1.xbm font2.xbm font3.xbm +- fgrep -h "#define" font1.xbm font2.xbm font3.xbm >fontsize.h ++font.o: font1.xbm font2.xbm font3.xbm font4.xbm ++fontsize.h: font1.xbm font2.xbm font3.xbm font4.xbm ++ fgrep -h "#define" font1.xbm font2.xbm font3.xbm font4.xbm >fontsize.h + + font1.xbm: bdf2xbm $(FONT)-latin-1.bdf + ./bdf2xbm font1 <$(FONT)-latin-1.bdf >font1.xbm +@@ -48,6 +48,9 @@ font2.xbm: bdf2xbm $(FONT)-latin-2.bdf + font3.xbm: bdf2xbm vtxt-koi8.bdf + ./bdf2xbm font3 font3.xbm + ++font4.xbm: bdf2xbm vtxt-iso8859-7.bdf ++ ./bdf2xbm font4 font4.xbm ++ + bdf2xbm: bdf2xbm.c + $(HOSTCC) bdf2xbm.c -o bdf2xbm + +diff --git a/ReadmeGR b/ReadmeGR +new file mode 100644 +index 0000000..e4ad72f +--- /dev/null ++++ b/ReadmeGR +@@ -0,0 +1,28 @@ ++29-9-2003 ++ ++ÅëëçíéêÜ ãéá ôï ALEVT ++Ç ðñïóèÞêç Åëëçíéêþí Ýãéíå ôñïðïðïéþíôáò ôï patch alevt-1.6.1.rus.diff ðïõ âñßóêåôå óôï öÜêåëï ++contrib óôá sources ôïõ alevt-1.6.1 ++ ++ÎåêéíÞóôå ôï ðñüãñáììá ìå ôçí ðáñÜìåôñï ++ ++alevt -charset iso8859-7 ++ ++ç ++ ++alevt -charset el ++ ++ÄïõëåéÝò ðïõ Ý÷ïõí íá ãßíïõí: ++Êáëýôåñïò ó÷åäéáóìüò ôïõ font file vtxt-iso8859-7.bdf ++ïé Áããëéêïß ÷áñáêôÞñåò ìïéÜæïõí óáí bold óå ó÷Ýóç ìå ôïõò Åëëçíéêïýò êáé õðÜñ÷ïõí ++êÜðïéá ìéêñÜ ðñïâëçìáôÜêéá ìå ôïõò graphics (0x01 -0x1f) ++ ++¸ëåã÷ïò ãéá ôï áí áðåéêïíßæïíôáé óùóôÜ üëïé ïé ÷áñáêôÞñåò ++ ++¼ðïéïò èÝëåé íá âïçèÞóåé ðáñáêáëþ íá ìïõ óôåßëåé ôçò áëëáãÝò ôïõ óôï sl45sms@yahoo.gr ++Áí êÜðïéïò êÜíåé åêôåôáìÝíåò áëëáãÝò ðïõ äåí áöïñïýí ôá ÅëëçíéêÜ èá ðñÝðåé íá ôéò óôåßëåé êáé ++óôïí óõããñáöÝá ôïõ ðñïãñÜììáôïò ++ ++ÍåüôåñÜ áñ÷åßá ôïõ ðáñüíôïò èá ìðïñåßôå íá âñßóêåôå óôï http://go.to/sl45sms/alevt/index.html ++ ++ÓêáñâÝëçò Ðáíáãéþôçò +diff --git a/alevt-cap.1.in b/alevt-cap.1.in +index 59d2917..baeb2f2 100644 +--- a/alevt-cap.1.in ++++ b/alevt-cap.1.in +@@ -45,7 +45,7 @@ If the pages cannot be captured in + the program terminates with exit status 1 after saving + the already captured pages. The default is to wait forever. + .TP +-.BI \-charset \ latin-1\||latin-2\||koi8-r ++.BI \-charset \ latin-1\||latin-2\||koi8-r\||iso8859-7 + Selects the character set to use. Characters not present + in the selected set are replaced by similar looking symbols. + (default: latin-1) +diff --git a/alevt-cap.c b/alevt-cap.c +index 0c00e68..d8bd58f 100644 +--- a/alevt-cap.c ++++ b/alevt-cap.c +@@ -40,7 +40,7 @@ usage(FILE *fp, int exitval) + " -vbi \t\t/dev/vbi0\n" + " -finetune <-4..4|auto>\t0\n" + //" -oldbttv\t\t\t(for bttv <0.5.20)\n" +- " -charset latin-1/2/koi8-r\t\tlatin-1\n" ++ " -charset latin-1/2/koi8-r/iso8859-7\tlatin-1\n" + " -timeout \t\tnone\n" + " -name \t\tttext-%%s.%%e\n" + " -format \tascii\n" +@@ -263,8 +263,10 @@ main(int argc, char **argv) + latin1 = LATIN2; + else if (streq(arg, "koi8-r") || streq(arg, "koi")) + latin1 = KOI8; ++ else if (streq(arg, "iso8859-7") || streq(arg, "el")) ++ latin1 = GREEK; + else +- fatal("bad charset (not latin-1/2/koi8-r)"); ++ fatal("bad charset (not latin-1/2/koi8-r/iso8859-7)"); + break; + case 10: // format + if (streq(arg, "help") || streq(arg, "?") || streq(arg, "list")) +diff --git a/alevt.1x.in b/alevt.1x.in +index d310ef4..78f5cc7 100644 +--- a/alevt.1x.in ++++ b/alevt.1x.in +@@ -62,7 +62,7 @@ Enabled by default. + .BR \-bell / \-nobell + Enables/disables the error bell. Normally enabled. + .TP +-.BI \-charset \ latin-1\||latin-2\||koi8-r ++.BI \-charset \ latin-1\||latin-2\||koi8-r\||iso8859-7 + Selects the character set to use. Characters not present + in the selected set are replaced by similar looking symbols. + (default: latin-1) +diff --git a/exp-html.c b/exp-html.c +index 3f3c7c9..4ee26f7 100644 +--- a/exp-html.c ++++ b/exp-html.c +@@ -115,6 +115,7 @@ if (!D->bare) + case LATIN1: fprintf(fp,"charset=iso-8859-1\">"); break; + case LATIN2: fprintf(fp,"charset=iso-8859-2\">"); break; + case KOI8: fprintf(fp,"charset=koi8-r\">"); break; ++ case GREEK: fprintf(fp,"charset=iso-8859-7\">"); break; + } + HTML_NL + fputs("",fp); +@@ -124,6 +125,7 @@ if (!D->bare) + case LATIN1: fprintf(fp,""); break; + case LATIN2: fprintf(fp,""); break; + case KOI8: fprintf(fp,""); break; ++ case GREEK: fprintf(fp,""); break; + } + HTML_NL + #endif +diff --git a/font.c b/font.c +index d16ac8a..8814bfc 100644 +--- a/font.c ++++ b/font.c +@@ -2,3 +2,5 @@ + #include "font1.xbm" + #include "font2.xbm" + #include "font3.xbm" ++#include "font4.xbm" ++ +diff --git a/font.h b/font.h +index 26719ff..9315f4d 100644 +--- a/font.h ++++ b/font.h +@@ -10,6 +10,7 @@ + extern unsigned char font1_bits[]; + extern unsigned char font2_bits[]; + extern unsigned char font3_bits[]; ++extern unsigned char font4_bits[]; + + #define font_width font1_width + #define font_height font1_height +diff --git a/lang.c b/lang.c +index b732274..847fd52 100644 +--- a/lang.c ++++ b/lang.c +@@ -164,6 +164,22 @@ conv2latin(u8 *p, int n, int lang) + p++; + } + } ++else if ((latin1 == GREEK) && lang==15) { /* Hellas */ ++ while (n--) { ++ c=*p; ++ ++ if(c==0x1b) lat = !lat; /* ESC switches languages inside page */ ++ ++ if ( is_greek(c)) { ++ if (not gfx || (c & 0xa0) != 0x20) { ++ if(!lat) conv2greek(p); ++ } ++ } ++ else if ((c & 0xe8) == 0) ++ gfx = c & 0x10; ++ p++; ++ } ++ } + + else { + while (n--) +@@ -180,6 +196,13 @@ conv2latin(u8 *p, int n, int lang) + } + } + ++/* check for Greek chars - needs locale iso8859-7 set */ ++int is_greek(int c) ++{ ++ if( isalpha(c | 0x80)) return 1; ++ return 0; ++} ++ + /* check for russian chars - needs locale KOI8-R set */ + int is_koi(int c) + { +@@ -193,7 +216,7 @@ void + conv2koi8(u8 *p) + { + u8 c; +- static u8 l2koi[]={ ++ static u8 l2koi[]={ + 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, + 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, + 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xFF, 0xFA, 0xFB, 0xFC, 0xFD, +@@ -207,7 +230,90 @@ conv2koi8(u8 *p) + if ( (c >= 0x40) && (c <= 0x7f)) *p=l2koi[(c & 0x7f) - 0x40]; + if (c=='&') *p='Ù'; + } +- ++/* teletext to iso8859-7 conversion */ ++void ++conv2greek(u8 *p) ++{ ++ u8 c; ++/* static u8 l2greek[]={ ++ 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, ++ 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, ++ 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xFF, 0xFA, 0xFB, 0xFC, 0xFD, ++ 0xFE, 0xF9, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, ++ 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, ++ 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, ++ 0xDC, 0xDD, 0xDE, 0xDF ++ }; ++*/ ++ static u8 l2greek[]={ ++/* 1 @ 0x40->ú*/0xc0, ++/* 2 A 0x41->Á*/0xc1, ++/* 3 B 0x42->Â*/0xc2, ++/* 4 C 0x43->Ã*/0xc3, ++/* 5 D 0x44->Ä*/0xc4, ++/* 6 E 0x45->Å*/0xc5, ++/* 7 F 0x46->Æ*/0xc6, ++/* 8 G 0x47->Ç*/0xc7, ++/* 9 H 0x48->È*/0xc8, ++/*10 I 0x49->É*/0xc9, ++/*11 J 0x4a->Ê*/0xca, ++/*12 K 0x4b->Ë*/0xcb, ++/*13 L 0x4c->Ì*/0xcc, ++/*14 M 0x4d->Í*/0xcd, ++/*15 N 0x4e->Î*/0xce, ++/*16 O 0x4f->Ï*/0xcf, ++/*17 P 0x50->Ð*/0xd0, ++/*18 Q 0x51->Ñ*/0xd1, ++/*19 R 0x52->?*/0x52, ++/*20 S 0x53->Ó*/0xd3, ++/*21 T 0x54->Ô*/0xd4, ++/*22 U 0x55->Õ*/0xd5, ++/*23 V 0x56->Ö*/0xd6, ++/*24 W 0x57->÷*/0xd7, ++/*25 X 0x58->Ø*/0xd8, ++/*26 Y 0x59->Ù*/0xd9, ++/*27 Z 0x5a->?*/0x5a, ++/*28 [ 0x5b->?*/0x5b, ++/*!29 \ 0x5c->Ü*/0xdc, ++/*!30 ] 0x5d->Ý*/0xdd, ++/*!31 ^ 0x5e->Þ*/0xde, ++/*!32 _ 0x5f->ß*/0xdf, ++/*33 ` 0x60->?*/0x60, ++/*!34 a 0x61->á*/0xe1, ++/*!35 b 0x62->â*/0xe2, ++/*!36 c 0x63->ã*/0xe3, ++/*!37 d 0x64->ä*/0xe4, ++/*!38 e 0x65->å*/0xe5, ++/*!39 f 0x66->æ*/0xe6, ++/*!40 g 0x67->ç*/0xe7, ++/*!41 h 0x68->è*/0xe8, ++/*!42 i 0x69->é*/0xe9, ++/*!43 j 0x6a->ê*/0xea, ++/*!44 k 0x6b->ë*/0xeb, ++/*!45 l 0x6c->ì*/0xec, ++/*!46 m 0x6d->í*/0xed, ++/*!47 n 0x6e->î*/0xee, ++/*!48 o 0x6f->ï*/0xef, ++/*!49 p 0x70->ð*/0xf0, ++/*!50 q 0x71->ñ*/0xf1, ++/*!51 r 0x72->ò*/0xf2, ++/*!52 s 0x73->ó*/0xf3, ++/*!53 t 0x74->ô*/0xf4, ++/*!54 u 0x75->õ*/0xf5, ++/*!55 v 0x76->ö*/0xf6, ++/*!56 w 0x77->÷*/0xf7, ++/*!57 x 0x78->ø*/0xf8, ++/*!58 y 0x79->ù*/0xf9, ++/*59 z 0x7a->ú(ìå ôüíï)*/0xc0, ++/*60 { 0x7b->?*/0x7b, ++/*!61 | 0x7c->ü*/0xfc, ++/*!62 } 0x7d->ý*/0xfd, ++/*!63 ~ 0x7e->þ*/0xfe, ++/*64 0x7f->?*/0x7f ++ }; ++ c= *p; ++ if ( (c >= 0x40) && (c <= 0x7f)) *p=l2greek[(c & 0x7f) - 0x40]; ++} + + void + init_enhance(struct enhance *eh) +diff --git a/lang.h b/lang.h +index a28206f..a0ff78e 100644 +--- a/lang.h ++++ b/lang.h +@@ -9,6 +9,7 @@ extern int latin1; + #define LATIN1 1 + #define LATIN2 2 + #define KOI8 3 ++#define GREEK 4 + + struct enhance + { +@@ -19,6 +20,7 @@ struct enhance + void lang_init(void); + void conv2latin(u8 *p, int n, int lang); + void conv2koi8(u8 *p); ++void conv2greek(u8 *p); + + void init_enhance(struct enhance *eh); + void add_enhance(struct enhance *eh, int dcode, u32 *data); +diff --git a/main.c b/main.c +index 96b0907..5ce21d7 100644 +--- a/main.c ++++ b/main.c +@@ -44,7 +44,7 @@ usage(FILE *fp, int exitval) + //" -oldbttv\t\t(for bttv <0.5.20)\n" + " -[no]erc\t\t\tenabled\n" + " -[no]bell\t\t\tenabled\n" +- " -charset latin-1/2/koi8-r\tlatin-1\n" ++ " -charset latin-1/2/koi8-r/iso8859-7\tlatin-1\n" + " -progname name\n" + " -pid pid\n" + "\n" +@@ -266,8 +266,10 @@ main(int argc, char **argv) + latin1 = LATIN2; + else if (streq(arg, "koi8-r") || streq(arg, "koi")) + latin1 = KOI8; ++ else if (streq(arg, "iso8859-7") || streq(arg, "el")) ++ latin1 = GREEK; + else +- fatal("bad charset (not latin-1/2/koi8-r)"); ++ fatal("bad charset (not latin-1/2/koi8-r/iso8859-7)"); + break; + case 12: // debug + debug++; +diff --git a/vtxt-iso8859-7.bdf b/vtxt-iso8859-7.bdf +new file mode 100644 +index 0000000..7d62c95 +--- /dev/null ++++ b/vtxt-iso8859-7.bdf +@@ -0,0 +1,5768 @@ ++STARTFONT 2.1 ++FONT -alevt-teletext-medium-r-normal--16-1-75-75-c-90-fontspecific-1 ++SIZE 1 75 75 ++FONTBOUNDINGBOX 9 16 0 -4 ++STARTPROPERTIES 10 ++POINT_SIZE 1 ++PIXEL_SIZE 16 ++RESOLUTION_X 75 ++RESOLUTION_Y 75 ++FONT_ASCENT 12 ++FONT_DESCENT 4 ++AVERAGE_WIDTH 90 ++SPACING "C" ++_XMBDFED_INFO "Edited with xmbdfed 4.5." ++FONT "vtxt" ++ENDPROPERTIES ++CHARS 250 ++STARTCHAR char0 ++ENCODING 0 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 1 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 2 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 3 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 4 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 5 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 6 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 7 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 8 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 9 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 10 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 11 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 12 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 13 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 14 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 15 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 16 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 17 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 18 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 19 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 20 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 21 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 22 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 23 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 24 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 25 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 26 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 27 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 28 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 29 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 30 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 31 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char32 ++ENCODING 32 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char33 ++ENCODING 33 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++3C00 ++3C00 ++3C00 ++1800 ++1800 ++1800 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char34 ++ENCODING 34 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++6600 ++6600 ++6600 ++2400 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char35 ++ENCODING 35 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++3600 ++3600 ++7F00 ++3600 ++3600 ++3600 ++7F00 ++3600 ++3600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char36 ++ENCODING 36 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0C00 ++0C00 ++3E00 ++6300 ++6100 ++6000 ++3E00 ++0300 ++0300 ++4300 ++6300 ++3E00 ++0C00 ++0C00 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char37 ++ENCODING 37 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++6100 ++6300 ++0600 ++0C00 ++1800 ++3000 ++6300 ++4300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char38 ++ENCODING 38 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1C00 ++3600 ++3600 ++1C00 ++3B00 ++6E00 ++6600 ++6600 ++6600 ++3B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char39 ++ENCODING 39 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++3000 ++3000 ++3000 ++6000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char40 ++ENCODING 40 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0C00 ++1800 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++1800 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char41 ++ENCODING 41 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3000 ++1800 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++1800 ++3000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char42 ++ENCODING 42 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6600 ++3C00 ++FF00 ++3C00 ++6600 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char43 ++ENCODING 43 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++7E00 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char44 ++ENCODING 44 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++1800 ++3000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char45 ++ENCODING 45 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++7F00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char46 ++ENCODING 46 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char47 ++ENCODING 47 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0100 ++0300 ++0600 ++0C00 ++1800 ++3000 ++6000 ++4000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char48 ++ENCODING 48 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++6600 ++C300 ++C300 ++DB00 ++DB00 ++C300 ++C300 ++6600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char49 ++ENCODING 49 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++3800 ++7800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char50 ++ENCODING 50 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++0300 ++0600 ++0C00 ++1800 ++3000 ++6000 ++6300 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char51 ++ENCODING 51 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++0300 ++0300 ++1E00 ++0300 ++0300 ++0300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char52 ++ENCODING 52 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0600 ++0E00 ++1E00 ++3600 ++6600 ++7F00 ++0600 ++0600 ++0600 ++0F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char53 ++ENCODING 53 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++6000 ++6000 ++6000 ++7E00 ++0300 ++0300 ++0300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char54 ++ENCODING 54 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1C00 ++3000 ++6000 ++6000 ++7E00 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char55 ++ENCODING 55 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++6300 ++0300 ++0300 ++0600 ++0C00 ++1800 ++1800 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char56 ++ENCODING 56 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++3E00 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char57 ++ENCODING 57 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++3F00 ++0300 ++0300 ++0300 ++0600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char58 ++ENCODING 58 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char59 ++ENCODING 59 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++1800 ++1800 ++1800 ++3000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char60 ++ENCODING 60 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0600 ++0C00 ++1800 ++3000 ++6000 ++3000 ++1800 ++0C00 ++0600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char61 ++ENCODING 61 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7E00 ++0000 ++0000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char62 ++ENCODING 62 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++6000 ++3000 ++1800 ++0C00 ++0600 ++0C00 ++1800 ++3000 ++6000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char63 ++ENCODING 63 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++0600 ++0C00 ++0C00 ++0C00 ++0000 ++0C00 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char64 ++ENCODING 64 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++3E00 ++6300 ++6300 ++6F00 ++6F00 ++6F00 ++6E00 ++6000 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char65 ++ENCODING 65 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0800 ++1C00 ++3600 ++6300 ++6300 ++7F00 ++6300 ++6300 ++6300 ++6300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char66 ++ENCODING 66 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++3300 ++3300 ++3300 ++3E00 ++3300 ++3300 ++3300 ++3300 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char67 ++ENCODING 67 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1E00 ++3300 ++6100 ++6000 ++6000 ++6000 ++6000 ++6100 ++3300 ++1E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char68 ++ENCODING 68 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7C00 ++3600 ++3300 ++3300 ++3300 ++3300 ++3300 ++3300 ++3600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char69 ++ENCODING 69 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++3300 ++3100 ++3400 ++3C00 ++3400 ++3000 ++3100 ++3300 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char70 ++ENCODING 70 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++3300 ++3100 ++3400 ++3C00 ++3400 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char71 ++ENCODING 71 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1E00 ++3300 ++6100 ++6000 ++6000 ++6F00 ++6300 ++6300 ++3300 ++1D00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char72 ++ENCODING 72 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++6300 ++6300 ++6300 ++6300 ++7F00 ++6300 ++6300 ++6300 ++6300 ++6300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char73 ++ENCODING 73 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char74 ++ENCODING 74 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0F00 ++0600 ++0600 ++0600 ++0600 ++0600 ++6600 ++6600 ++6600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char75 ++ENCODING 75 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7300 ++3300 ++3300 ++3600 ++3C00 ++3C00 ++3600 ++3300 ++3300 ++7300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char76 ++ENCODING 76 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7800 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++3100 ++3300 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char77 ++ENCODING 77 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++E700 ++FF00 ++FF00 ++DB00 ++C300 ++C300 ++C300 ++C300 ++C300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char78 ++ENCODING 78 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++6300 ++7300 ++7B00 ++7F00 ++6F00 ++6700 ++6300 ++6300 ++6300 ++6300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char79 ++ENCODING 79 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char80 ++ENCODING 80 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++3300 ++3300 ++3300 ++3E00 ++3000 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char81 ++ENCODING 81 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6B00 ++6F00 ++3E00 ++0600 ++0700 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char82 ++ENCODING 82 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++3300 ++3300 ++3300 ++3E00 ++3600 ++3300 ++3300 ++3300 ++7300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char83 ++ENCODING 83 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++3000 ++1C00 ++0600 ++0300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char84 ++ENCODING 84 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FF00 ++DB00 ++9900 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char85 ++ENCODING 85 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char86 ++ENCODING 86 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++C300 ++C300 ++C300 ++C300 ++C300 ++6600 ++3C00 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char87 ++ENCODING 87 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++C300 ++C300 ++C300 ++DB00 ++DB00 ++FF00 ++6600 ++6600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char88 ++ENCODING 88 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++6600 ++3C00 ++1800 ++1800 ++3C00 ++6600 ++C300 ++C300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char89 ++ENCODING 89 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++C300 ++6600 ++3C00 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char90 ++ENCODING 90 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FF00 ++C300 ++8600 ++0C00 ++1800 ++3000 ++6000 ++C100 ++C300 ++FF00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char91 ++ENCODING 91 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char92 ++ENCODING 92 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++4000 ++6000 ++7000 ++3800 ++1C00 ++0E00 ++0700 ++0300 ++0100 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char93 ++ENCODING 93 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char94 ++ENCODING 94 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0800 ++1C00 ++3600 ++6300 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char95 ++ENCODING 95 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char96 ++ENCODING 96 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++3000 ++3000 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char97 ++ENCODING 97 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3C00 ++0600 ++3E00 ++6600 ++6600 ++6600 ++3B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char98 ++ENCODING 98 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7000 ++3000 ++3000 ++3C00 ++3600 ++3300 ++3300 ++3300 ++3300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char99 ++ENCODING 99 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3E00 ++6300 ++6000 ++6000 ++6000 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char100 ++ENCODING 100 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0E00 ++0600 ++0600 ++1E00 ++3600 ++6600 ++6600 ++6600 ++6600 ++3B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char101 ++ENCODING 101 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3E00 ++6300 ++7F00 ++6000 ++6000 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char102 ++ENCODING 102 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1C00 ++3600 ++3200 ++3000 ++7800 ++3000 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char103 ++ENCODING 103 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3B00 ++6600 ++6600 ++6600 ++6600 ++6600 ++3E00 ++0600 ++6600 ++3C00 ++0000 ++ENDCHAR ++STARTCHAR char104 ++ENCODING 104 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7000 ++3000 ++3000 ++3600 ++3B00 ++3300 ++3300 ++3300 ++3300 ++7300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char105 ++ENCODING 105 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++1800 ++0000 ++3800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char106 ++ENCODING 106 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0600 ++0600 ++0000 ++0E00 ++0600 ++0600 ++0600 ++0600 ++0600 ++0600 ++6600 ++6600 ++3C00 ++0000 ++ENDCHAR ++STARTCHAR char107 ++ENCODING 107 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7000 ++3000 ++3000 ++3300 ++3600 ++3C00 ++3C00 ++3600 ++3300 ++7300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char108 ++ENCODING 108 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char109 ++ENCODING 109 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++E600 ++FF00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char110 ++ENCODING 110 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6E00 ++3300 ++3300 ++3300 ++3300 ++3300 ++3300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char111 ++ENCODING 111 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char112 ++ENCODING 112 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6E00 ++3300 ++3300 ++3300 ++3300 ++3300 ++3E00 ++3000 ++3000 ++3000 ++0000 ++ENDCHAR ++STARTCHAR char113 ++ENCODING 113 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3B00 ++6600 ++6600 ++6600 ++6600 ++6600 ++3E00 ++0600 ++0600 ++0600 ++0000 ++ENDCHAR ++STARTCHAR char114 ++ENCODING 114 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6E00 ++3B00 ++3300 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char115 ++ENCODING 115 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3E00 ++6300 ++3000 ++1C00 ++0600 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char116 ++ENCODING 116 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0800 ++1800 ++1800 ++7E00 ++1800 ++1800 ++1800 ++1800 ++1B00 ++0E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char117 ++ENCODING 117 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++3B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char118 ++ENCODING 118 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C300 ++C300 ++C300 ++C300 ++6600 ++3C00 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char119 ++ENCODING 119 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C300 ++C300 ++C300 ++DB00 ++DB00 ++FF00 ++6600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char120 ++ENCODING 120 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C300 ++6600 ++3C00 ++1800 ++3C00 ++6600 ++C300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char121 ++ENCODING 121 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++3F00 ++0300 ++0600 ++0C00 ++0000 ++ENDCHAR ++STARTCHAR char122 ++ENCODING 122 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7F00 ++6600 ++0C00 ++1800 ++3000 ++6300 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char123 ++ENCODING 123 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0E00 ++1800 ++1800 ++1800 ++7000 ++1800 ++1800 ++1800 ++1800 ++0E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char124 ++ENCODING 124 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char125 ++ENCODING 125 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7000 ++1800 ++1800 ++1800 ++0E00 ++1800 ++1800 ++1800 ++1800 ++7000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char126 ++ENCODING 126 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3B00 ++6E00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char127 ++ENCODING 127 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++7F00 ++7F00 ++7F00 ++7F00 ++7F00 ++7F00 ++7F00 ++7F00 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 128 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 129 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 130 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 131 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 132 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 133 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 134 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 135 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 136 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 137 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 138 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 139 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 140 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 141 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 142 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 143 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 144 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 145 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 146 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 147 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 148 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 149 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 150 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 151 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 152 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 153 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 154 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 155 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 156 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 157 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 158 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 159 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00A0 NO-BREAK SPACE ++ENCODING 160 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+02BD MODIFIER LETTER REVERSED COMMA ++ENCODING 161 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1800 ++1000 ++1000 ++0800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+02BC MODIFIER LETTER APOSTROPHE ++ENCODING 162 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1800 ++0800 ++0800 ++1000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00A3 POUND SIGN ++ENCODING 163 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0E00 ++1000 ++1000 ++1000 ++7C00 ++1000 ++1000 ++1000 ++3E00 ++6100 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00A6 BROKEN BAR ++ENCODING 166 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0800 ++0800 ++0800 ++0800 ++0000 ++0000 ++0800 ++0800 ++0800 ++0800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00A7 SECTION SIGN ++ENCODING 167 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++4200 ++4000 ++3C00 ++4200 ++4200 ++3C00 ++0200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00A8 DIAERESIS ++ENCODING 168 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++2400 ++2400 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00A9 COPYRIGHT SIGN ++ENCODING 169 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++4200 ++9900 ++A500 ++A100 ++A100 ++A500 ++9900 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK ++ENCODING 171 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++1200 ++1200 ++2400 ++2400 ++4800 ++2400 ++2400 ++1200 ++1200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00AC NOT SIGN ++ENCODING 172 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++7E00 ++0200 ++0200 ++0200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00AD SOFT HYPHEN ++ENCODING 173 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+2015 HORIZONTAL BAR ++ENCODING 175 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00B0 DEGREE SIGN ++ENCODING 176 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++2800 ++2800 ++1000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00B1 PLUS-MINUS SIGN ++ENCODING 177 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0800 ++0800 ++0800 ++7F00 ++0800 ++0800 ++0800 ++0000 ++7F00 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00B2 SUPERSCRIPT TWO ++ENCODING 178 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1C00 ++2200 ++0200 ++1C00 ++2000 ++2000 ++3E00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00B3 SUPERSCRIPT THREE ++ENCODING 179 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1C00 ++2200 ++0200 ++1C00 ++0200 ++2200 ++1C00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0384 GREEK TONOS ++ENCODING 180 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++1000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0385 GREEK DIALYTIKA TONOS ++ENCODING 181 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++1000 ++4400 ++4400 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS ++ENCODING 182 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++4000 ++4000 ++0000 ++1800 ++2400 ++2400 ++4200 ++4200 ++7E00 ++4200 ++4200 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00B7 MIDDLE DOT ++ENCODING 183 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS ++ENCODING 184 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++4000 ++4000 ++0000 ++7E00 ++4000 ++4000 ++4000 ++7C00 ++4000 ++4000 ++4000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0389 GREEK CAPITAL LETTER ETA WITH TONOS ++ENCODING 185 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++4000 ++4000 ++0000 ++4200 ++4200 ++4200 ++4200 ++7E00 ++4200 ++4200 ++4200 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+038A GREEK CAPITAL LETTER IOTA WITH TONOS ++ENCODING 186 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++4000 ++4000 ++0000 ++3E00 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK ++ENCODING 187 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++4800 ++4800 ++2400 ++2400 ++1200 ++2400 ++2400 ++4800 ++4800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS ++ENCODING 188 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++4000 ++4000 ++0000 ++3C00 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+00BD VULGAR FRACTION ONE HALF ++ENCODING 189 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++2200 ++6200 ++2400 ++2800 ++2800 ++1400 ++1A00 ++2200 ++4400 ++4E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS ++ENCODING 190 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++4000 ++4000 ++0000 ++4100 ++4100 ++2200 ++2200 ++1400 ++0800 ++0800 ++0800 ++0800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS ++ENCODING 191 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++4000 ++4000 ++0000 ++3E00 ++4100 ++4100 ++4100 ++4100 ++2200 ++1400 ++1400 ++7700 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS ++ENCODING 192 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++1000 ++5400 ++4400 ++0000 ++1000 ++1000 ++1000 ++1000 ++1000 ++1000 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0391 GREEK CAPITAL LETTER ALPHA ++ENCODING 193 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++2400 ++2400 ++4200 ++4200 ++7E00 ++4200 ++4200 ++4200 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0392 GREEK CAPITAL LETTER BETA ++ENCODING 194 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7C00 ++4200 ++4200 ++4200 ++7C00 ++4200 ++4200 ++4200 ++4200 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0393 GREEK CAPITAL LETTER GAMMA ++ENCODING 195 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++4000 ++4000 ++4000 ++4000 ++4000 ++4000 ++4000 ++4000 ++4000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0394 GREEK CAPITAL LETTER DELTA ++ENCODING 196 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0800 ++0800 ++1400 ++1400 ++2200 ++2200 ++2200 ++4100 ++4100 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0395 GREEK CAPITAL LETTER EPSILON ++ENCODING 197 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++4000 ++4000 ++4000 ++7C00 ++4000 ++4000 ++4000 ++4000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0396 GREEK CAPITAL LETTER ZETA ++ENCODING 198 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++0200 ++0200 ++0400 ++0800 ++1000 ++2000 ++4000 ++4000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0397 GREEK CAPITAL LETTER ETA ++ENCODING 199 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++4200 ++4200 ++4200 ++4200 ++7E00 ++4200 ++4200 ++4200 ++4200 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0398 GREEK CAPITAL LETTER THETA ++ENCODING 200 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++4200 ++4200 ++4200 ++7E00 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+0399 GREEK CAPITAL LETTER IOTA ++ENCODING 201 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+039A GREEK CAPITAL LETTER KAPPA ++ENCODING 202 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++4200 ++4400 ++4800 ++5000 ++6000 ++6000 ++5000 ++4800 ++4400 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+039B GREEK CAPITAL LETTER LAMDA ++ENCODING 203 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0800 ++0800 ++1400 ++1400 ++2200 ++2200 ++2200 ++4100 ++4100 ++4100 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+039C GREEK CAPITAL LETTER MU ++ENCODING 204 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++4200 ++4200 ++6600 ++6600 ++5A00 ++5A00 ++4200 ++4200 ++4200 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+039D GREEK CAPITAL LETTER NU ++ENCODING 205 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++4200 ++6200 ++6200 ++5200 ++5200 ++4A00 ++4A00 ++4600 ++4600 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+039E GREEK CAPITAL LETTER XI ++ENCODING 206 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++0000 ++0000 ++0000 ++3C00 ++0000 ++0000 ++0000 ++0000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+039F GREEK CAPITAL LETTER OMICRON ++ENCODING 207 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A0 GREEK CAPITAL LETTER PI ++ENCODING 208 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++2200 ++2200 ++2200 ++2200 ++2200 ++2200 ++2200 ++2200 ++2200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A1 GREEK CAPITAL LETTER RHO ++ENCODING 209 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7C00 ++4200 ++4200 ++4200 ++7C00 ++4000 ++4000 ++4000 ++4000 ++4000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A3 GREEK CAPITAL LETTER SIGMA ++ENCODING 211 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++4000 ++2000 ++1000 ++0800 ++0800 ++1000 ++2000 ++4000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A4 GREEK CAPITAL LETTER TAU ++ENCODING 212 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A5 GREEK CAPITAL LETTER UPSILON ++ENCODING 213 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++4100 ++4100 ++2200 ++2200 ++1400 ++0800 ++0800 ++0800 ++0800 ++0800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A6 GREEK CAPITAL LETTER PHI ++ENCODING 214 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1C00 ++0800 ++3E00 ++4900 ++4900 ++4900 ++4900 ++3E00 ++0800 ++1C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A7 GREEK CAPITAL LETTER CHI ++ENCODING 215 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++4200 ++4200 ++2400 ++2400 ++1800 ++1800 ++2400 ++2400 ++4200 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A8 GREEK CAPITAL LETTER PSI ++ENCODING 216 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++4900 ++4900 ++4900 ++4900 ++4900 ++3E00 ++0800 ++0800 ++0800 ++0800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03A9 GREEK CAPITAL LETTER OMEGA ++ENCODING 217 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++4100 ++4100 ++4100 ++4100 ++4100 ++2200 ++1400 ++1400 ++7700 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA ++ENCODING 218 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++2400 ++2400 ++0000 ++3E00 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++0800 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA ++ENCODING 219 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++2400 ++2400 ++0000 ++4100 ++4100 ++2200 ++2200 ++1400 ++0800 ++0800 ++0800 ++0800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03AC GREEK SMALL LETTER ALPHA WITH TONOS ++ENCODING 220 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++0000 ++0000 ++3200 ++4A00 ++4400 ++4400 ++4400 ++4400 ++4A00 ++3200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03AD GREEK SMALL LETTER EPSILON WITH TONOS ++ENCODING 221 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++0000 ++0000 ++3E00 ++4000 ++4000 ++3C00 ++4000 ++4000 ++4000 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03AE GREEK SMALL LETTER ETA WITH TONOS ++ENCODING 222 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++0000 ++0000 ++5C00 ++6200 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++0200 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03AF GREEK SMALL LETTER IOTA WITH TONOS ++ENCODING 223 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++0000 ++0000 ++1000 ++1000 ++1000 ++1000 ++1000 ++1000 ++1000 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS ++ENCODING 224 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++4400 ++4400 ++0000 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B1 GREEK SMALL LETTER ALPHA ++ENCODING 225 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++3200 ++4A00 ++4400 ++4400 ++4400 ++4400 ++4A00 ++3200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B2 GREEK SMALL LETTER BETA ++ENCODING 226 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3800 ++4400 ++4400 ++4400 ++7C00 ++4200 ++4200 ++4200 ++6200 ++5C00 ++4000 ++4000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B3 GREEK SMALL LETTER GAMMA ++ENCODING 227 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++3100 ++4900 ++0A00 ++0400 ++0800 ++0800 ++1000 ++1000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B4 GREEK SMALL LETTER DELTA ++ENCODING 228 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1C00 ++2000 ++2000 ++2000 ++1800 ++2400 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B5 GREEK SMALL LETTER EPSILON ++ENCODING 229 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++3C00 ++4200 ++4000 ++3C00 ++4000 ++4000 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B6 GREEK SMALL LETTER ZETA ++ENCODING 230 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++2000 ++2000 ++1C00 ++0800 ++1000 ++2000 ++2000 ++2000 ++2000 ++1C00 ++0200 ++1C00 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B7 GREEK SMALL LETTER ETA ++ENCODING 231 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++5C00 ++6200 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++0200 ++0200 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B8 GREEK SMALL LETTER THETA ++ENCODING 232 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++2400 ++2400 ++4200 ++7E00 ++4200 ++4200 ++2400 ++2400 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03B9 GREEK SMALL LETTER IOTA ++ENCODING 233 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++1000 ++1000 ++1000 ++1000 ++1000 ++1000 ++1000 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03BA GREEK SMALL LETTER KAPPA ++ENCODING 234 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++2200 ++2400 ++2800 ++3000 ++3000 ++2800 ++2400 ++2200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03BB GREEK SMALL LETTER LAMDA ++ENCODING 235 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++2000 ++2000 ++1000 ++1000 ++0800 ++1800 ++2400 ++2400 ++4200 ++4200 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03BC GREEK SMALL LETTER MU ++ENCODING 236 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++4200 ++4200 ++4200 ++4200 ++6600 ++6600 ++5A00 ++4200 ++4000 ++4000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03BD GREEK SMALL LETTER NU ++ENCODING 237 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++4200 ++4200 ++4200 ++4400 ++4400 ++4800 ++5000 ++6000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03BE GREEK SMALL LETTER XI ++ENCODING 238 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++4000 ++4000 ++3C00 ++4000 ++4000 ++3C00 ++4000 ++4000 ++3C00 ++0200 ++0200 ++3C00 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03BF GREEK SMALL LETTER OMICRON ++ENCODING 239 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++3C00 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C0 GREEK SMALL LETTER PI ++ENCODING 240 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++7E00 ++2400 ++2400 ++2400 ++2400 ++2400 ++2400 ++2400 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C1 GREEK SMALL LETTER RHO ++ENCODING 241 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++3C00 ++4200 ++4200 ++4200 ++4200 ++4200 ++6200 ++5C00 ++4000 ++4000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C2 GREEK SMALL LETTER FINAL SIGMA ++ENCODING 242 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++1E00 ++2000 ++4000 ++4000 ++4000 ++2000 ++1C00 ++0200 ++0200 ++1C00 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C3 GREEK SMALL LETTER SIGMA ++ENCODING 243 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++3F00 ++4800 ++4400 ++4400 ++4400 ++4400 ++4400 ++3800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C4 GREEK SMALL LETTER TAU ++ENCODING 244 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++7E00 ++1000 ++1000 ++1000 ++1000 ++1000 ++1000 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C5 GREEK SMALL LETTER UPSILON ++ENCODING 245 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C6 GREEK SMALL LETTER PHI ++ENCODING 246 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++3E00 ++4900 ++4900 ++4900 ++4900 ++4900 ++4900 ++3E00 ++0800 ++0800 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C7 GREEK SMALL LETTER CHI ++ENCODING 247 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++4200 ++4200 ++2400 ++2400 ++1800 ++1800 ++2400 ++2400 ++4200 ++4200 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C8 GREEK SMALL LETTER PSI ++ENCODING 248 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++4900 ++4900 ++4900 ++4900 ++4900 ++3E00 ++0800 ++0800 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03C9 GREEK SMALL LETTER OMEGA ++ENCODING 249 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++2200 ++4100 ++4100 ++4900 ++4900 ++4900 ++4900 ++3600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA ++ENCODING 250 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++2400 ++2400 ++0000 ++0000 ++1000 ++1000 ++1000 ++1000 ++1000 ++1000 ++1000 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA ++ENCODING 251 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++2400 ++2400 ++0000 ++0000 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03CC GREEK SMALL LETTER OMICRON WITH TONOS ++ENCODING 252 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++0000 ++0000 ++3C00 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03CD GREEK SMALL LETTER UPSILON WITH TONOS ++ENCODING 253 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1000 ++1000 ++0000 ++0000 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++4200 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR U+03CE GREEK SMALL LETTER OMEGA WITH TONOS ++ENCODING 254 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0800 ++0800 ++0000 ++0000 ++2200 ++4100 ++4100 ++4900 ++4900 ++4900 ++4900 ++3600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++ENDFONT +diff --git a/xio.c b/xio.c +index e906b0e..89fd27e 100644 +--- a/xio.c ++++ b/xio.c +@@ -134,6 +134,7 @@ get_fonts(struct xio *xio) + case LATIN1: font_bits=font1_bits; break; + case LATIN2: font_bits=font2_bits; break; + case KOI8: font_bits=font3_bits; break; ++ case GREEK: font_bits=font4_bits; break; + default: font_bits=font1_bits; break; + } + --- alevt-1.6.2.orig/debian/patches/x11-errormessage.diff +++ alevt-1.6.2/debian/patches/x11-errormessage.diff @@ -0,0 +1,203 @@ +Subject: Show the "device not found" error message via X11 as well + +From: Dirk Schuster + +Signed-off-by: Andreas Rottmann +--- + main.c | 21 ++++++++++++++++- + ui.c | 12 ++++++++++ + vbi.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- + vbi.h | 3 ++ + vt.h | 1 + + 5 files changed, 115 insertions(+), 2 deletions(-) + +diff --git a/main.c b/main.c +index 7a23d0e..811245b 100644 +--- a/main.c ++++ b/main.c +@@ -95,10 +95,20 @@ arg_pgno(char *p, int *subno) + static struct vtwin * + start(int argc, char **argv, struct vtwin *parent, int pgno, int subno) + { ++ static int valid_vbi_name = 1; ++ ++ if (!valid_vbi_name) ++ return parent; ++ + if (vbi == 0) + vbi = vbi_open(vbi_name, cache_open(), fine_tune, newbttv, progname, txtpid); + if (vbi == 0) +- fatal("cannot open %s", vbi_name); ++ { ++ if (vbi_name) ++ error("cannot open device: %s", vbi_name); ++ valid_vbi_name = 0; ++ vbi = open_null_vbi(cache_open()); ++ } + if (vbi->cache) + vbi->cache->op->mode(vbi->cache, CACHE_MODE_ERC, erc); + +@@ -110,6 +120,15 @@ start(int argc, char **argv, struct vtwin *parent, int pgno, int subno) + parent = vtwin_new(xio, vbi, geometry, parent, pgno, subno); + if (parent == 0) + fatal("cannot create window"); ++ ++ if (!valid_vbi_name) ++ { ++ if (vbi_name) ++ send_errmsg(vbi, "cannot open device: %s", vbi_name); ++ else ++ send_errmsg(vbi, "cannot open any device", vbi_name); ++ } ++ + return parent; + } + +diff --git a/ui.c b/ui.c +index 04079f2..426076e 100644 +--- a/ui.c ++++ b/ui.c +@@ -808,5 +808,17 @@ vtwin_event(struct vtwin *w, struct vt_event *ev) + #endif + break; + } ++ case EV_ERR: ++ { ++ char *errmsg = ev->p1; ++ if (errmsg != NULL && *errmsg != '\0') ++ { ++ err(w, errmsg); ++ w->status = 30; ++ ev->p1 = NULL; ++ free(errmsg); ++ } ++ break; ++ } + } + } +diff --git a/vbi.c b/vbi.c +index 62a2e4a..abbc326 100644 +--- a/vbi.c ++++ b/vbi.c +@@ -5,6 +5,7 @@ + #include + #include + #include ++#include + #include + #include + #include "os.h" +@@ -626,7 +627,7 @@ vbi_open(char *vbi_name, struct cache *ca, int fine_tune, int big_buf, const cha + } + } + +- fatal("could not open any of the standard devices (%s)", tried_devices); ++ error("could not open any of the standard devices (%s)", tried_devices); + free(tried_devices); + return NULL; + } +@@ -1112,3 +1113,80 @@ static int vbi_dvb_open(struct vbi *vbi, const char *vbi_name, const char *progn + vbi->fd = -1; + return -1; + } ++ ++struct vbi *open_null_vbi(struct cache *ca) ++{ ++ static int inited = 0; ++ struct vbi *vbi; ++ ++ if (not inited) ++ lang_init(); ++ inited = 1; ++ ++ vbi = malloc(sizeof(*vbi)); ++ if (!vbi) ++ { ++ error("out of memory"); ++ goto fail1; ++ } ++ ++ vbi->fd = open("/dev/null", O_RDONLY); ++ if (vbi->fd == -1) ++ { ++ error("cannot open null device"); ++ goto fail2; ++ } ++ ++ vbi->txtpid = -1; ++ ++ vbi->bpb = 0; ++ vbi->soc = 0; ++ vbi->eoc = 0; ++ vbi->bp8bl = 0; ++ vbi->bp8bh = 0; ++ ++ vbi->bpl = 1; ++ ++ vbi->bufsize = 8; ++ rawbuf_size = vbi->bufsize; ++ rawbuf = malloc(rawbuf_size); ++ if (!rawbuf) ++ goto fail3; ++ rawptr = 0; ++ ++ vbi->cache = ca; ++ ++ dl_init(vbi->clients); ++ vbi->seq = 0; ++ out_of_sync(vbi); ++ vbi->ppage = vbi->rpage; ++ ++ fdset_add_fd(fds, vbi->fd, vbi_handler, vbi); ++ return vbi; ++ ++fail3: ++ close(vbi->fd); ++fail2: ++ free(vbi); ++fail1: ++ return 0; ++} ++ ++void send_errmsg(struct vbi *vbi, char *errmsg, ...) ++{ ++ va_list args; ++ ++ if (errmsg == NULL || *errmsg == '\0') ++ return; ++ ++ va_start(args, errmsg); ++ char *buff = NULL; ++ if (vasprintf(&buff, errmsg, args) < 0) ++ buff = NULL; ++ va_end(args); ++ ++ if(buff == NULL) ++ out_of_mem(-1); ++ ++ vbi_send(vbi, EV_ERR, 0, 0, 0, buff); ++} +diff --git a/vbi.h b/vbi.h +index 06159da..eca5d94 100644 +--- a/vbi.h ++++ b/vbi.h +@@ -59,4 +59,7 @@ void vbi_del_handler(struct vbi *vbi, void *handler, void *data); + struct vt_page *vbi_query_page(struct vbi *vbi, int pgno, int subno); + void vbi_pll_reset(struct vbi *vbi, int fine_tune); + ++struct vbi *open_null_vbi(struct cache *ca); ++void send_errmsg(struct vbi *vbi, char *errmsg, ...); ++ + #endif +diff --git a/vt.h b/vt.h +index 0fda7a3..80edff2 100644 +--- a/vt.h ++++ b/vt.h +@@ -26,6 +26,7 @@ struct vt_event + #define EV_XPACKET 7 // i1:mag i2:pkt i3:errors p1:data + #define EV_RESET 8 // ./. + #define EV_TIMER 9 // ./. ++#define EV_ERR 10 // p1: errmsg + + #define KEY_F(i) (1000+i) + #define KEY_LEFT 2001 --- alevt-1.6.2.orig/debian/patches/cosmetics.diff +++ alevt-1.6.2/debian/patches/cosmetics.diff @@ -0,0 +1,79 @@ +Subject: Cosmetic enhancments + +From: Andreas Rottmann + +- Fix some instances of hyphen being used as minus sign in + alevt-date(1) and alevt(1x) manpages +- Fix typo 'preceeded' in alevt help output and vt901-02.out +--- + alevt-date.1.in | 6 +++--- + alevt.1x.in | 4 ++-- + main.c | 2 +- + vt901-02.out | 2 +- + 4 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/alevt-date.1.in b/alevt-date.1.in +index cd5f70b..4da0bb4 100644 +--- a/alevt-date.1.in ++++ b/alevt-date.1.in +@@ -11,9 +11,9 @@ alevt-date \- display/set time received via Teletext + .B alevt-date + displays the time received from a Teletext source. It can be used to + set the system time. The date is not interpreted (not even +-transmitted on most channels). So it allows only adjustment of +/-12 hours. +-The default allowed adjustment is limited to +/-2 hours (use -delta to +-change). Without the -set option it just displays the date in the format ++transmitted on most channels). So it allows only adjustment of +/\-12 hours. ++The default allowed adjustment is limited to +/\-2 hours (use \-delta to ++change). Without the \-set option it just displays the date in the format + of the + .BR date (1) + command. +diff --git a/alevt.1x.in b/alevt.1x.in +index 8667037..478648e 100644 +--- a/alevt.1x.in ++++ b/alevt.1x.in +@@ -20,7 +20,7 @@ interface is described in the built-in manual. + Where to display the windows. Default: $DISPLAY. + .TP + .BI \-geometry \ geometry +-Specifies the size and position of the windows. Default: 40x25. ++Specifies the size and position of the windows. Default: 41x25. + .TP + .BI \-vbi \ device + Use the given device name. Default: /dev/vbi, /dev/vbi0, /dev/video0, /dev/dvb/adapter0/demux0 tried in this order. +@@ -28,7 +28,7 @@ Use the given device name. Default: /dev/vbi, /dev/vbi0, /dev/video0, /dev/dvb/ + .BI \-finetune \ \-4..4\||auto + Try some fine tuning if you have a lot of decoding errors (these + lightning symbols). This allows fine tuning of the decoder circuit. +-The pre finetune behaviour was -finetune 0. Default: 1. ++The pre finetune behaviour was \-finetune 0. Default: 1. + .TP + .BI [\-parent] \ ppp[.ss] + Open a new window with the page number given by +diff --git a/main.c b/main.c +index 811245b..8e8698e 100644 +--- a/main.c ++++ b/main.c +@@ -57,7 +57,7 @@ usage(FILE *fp, int exitval) + " transmitted subpage is shown.\n" + "\n" + " The -child option requires a parent\n" +- " window. So, it must be preceeded by\n" ++ " window. So, it must be preceded by\n" + " a parent or another child window.\n" + "\n" + " To use the DVB interface, use\n" +diff --git a/vt901-02.out b/vt901-02.out +index 00909d1..fe4abd2 100644 +--- a/vt901-02.out ++++ b/vt901-02.out +@@ -21,7 +21,7 @@ HELP_HEADER + "\6 transmitted subpage is shown. ", + " ", + "\6 The\7-child\6option requires a parent ", +-"\6 window. So it must be preceeded by ", ++"\6 window. So it must be preceded by ", + "\6 a parent or another child window. ", + "\24 pppppppppppppppppppppppppppppppppppp ", + " ", --- alevt-1.6.2.orig/debian/patches/vbi-name.diff +++ alevt-1.6.2/debian/patches/vbi-name.diff @@ -0,0 +1,153 @@ +Subject: Try several VBI device names + +From: Andreas Rottmann + +If no VBI device is specified, try /dev/vbi, /dev/vbi0 and +/dev/video0, in this order. + +Patch was originally written by Albert Dengg. +--- + alevt-cap.1.in | 2 +- + alevt-cap.c | 2 +- + alevt-date.1.in | 2 +- + alevt-date.c | 2 +- + alevt.1x.in | 2 +- + main.c | 2 +- + vbi.c | 39 +++++++++++++++++++++++++++++++++++++++ + 7 files changed, 45 insertions(+), 6 deletions(-) + +diff --git a/alevt-cap.1.in b/alevt-cap.1.in +index 80fbb3a..c7e61a9 100644 +--- a/alevt-cap.1.in ++++ b/alevt-cap.1.in +@@ -31,7 +31,7 @@ Sets the file format used to save pages (see below). (default: ascii) + Lists all known file formats and their options. + .TP + .BI \-vbi \ device +-Use the given device name (default: /dev/vbi0). ++Use the given device name. Default: /dev/vbi, /dev/vbi0, /dev/video0, /dev/dvb/adapter0/demux0 tried in this order. + .TP + .BI \-finetune \ \-4..4\||auto + Specify the fine tuning for the decoder. For the right value +diff --git a/alevt-cap.c b/alevt-cap.c +index fe1d18b..f27ea8f 100644 +--- a/alevt-cap.c ++++ b/alevt-cap.c +@@ -203,7 +203,7 @@ event(struct dl_head *reqs, struct vt_event *ev) + int + main(int argc, char **argv) + { +- char *vbi_name = "/dev/vbi0"; ++ char *vbi_name = NULL; + int fine_tune = 1; // auto = 999; + int newbttv = -1; + int timeout = 0; +diff --git a/alevt-date.1.in b/alevt-date.1.in +index 439e321..cd5f70b 100644 +--- a/alevt-date.1.in ++++ b/alevt-date.1.in +@@ -34,7 +34,7 @@ Format string to used to print the time. Look at + for possible control sequences. + .TP + .BI \-vbi \ device +-Use the given device name (default: /dev/vbi0). ++Use the given device name. Default: /dev/vbi, /dev/vbi0, /dev/video0, /dev/dvb/adapter0/demux0 tried in this order. + .TP + .BI \-timeout \ seconds + If the time can't be detected in +diff --git a/alevt-date.c b/alevt-date.c +index 805c751..99c8e96 100644 +--- a/alevt-date.c ++++ b/alevt-date.c +@@ -168,7 +168,7 @@ option(int argc, char **argv, int *ind, char **arg) + int + main(int argc, char **argv) + { +- char *vbi_name = "/dev/vbi0"; ++ char *vbi_name = NULL; + int timeout = 0; + int big_buf = -1; + struct vbi *vbi; +diff --git a/alevt.1x.in b/alevt.1x.in +index f33cfbf..8667037 100644 +--- a/alevt.1x.in ++++ b/alevt.1x.in +@@ -23,7 +23,7 @@ Where to display the windows. Default: $DISPLAY. + Specifies the size and position of the windows. Default: 40x25. + .TP + .BI \-vbi \ device +-Use the given device name. Default: /dev/vbi0. ++Use the given device name. Default: /dev/vbi, /dev/vbi0, /dev/video0, /dev/dvb/adapter0/demux0 tried in this order. + .TP + .BI \-finetune \ \-4..4\||auto + Try some fine tuning if you have a lot of decoding errors (these +diff --git a/main.c b/main.c +index 9d3cf9e..7a23d0e 100644 +--- a/main.c ++++ b/main.c +@@ -16,7 +16,7 @@ int debug = 0; + /* current args for next start() */ + static char *geometry; + static char *dpy_name; +-static char *vbi_name = "/dev/vbi0"; ++static char *vbi_name = NULL; + static struct xio *xio; + static struct vbi *vbi; + static int fine_tune = 1; // auto = 999; +diff --git a/vbi.c b/vbi.c +index e7d268c..62a2e4a 100644 +--- a/vbi.c ++++ b/vbi.c +@@ -23,6 +23,7 @@ static void dvb_handler(struct vbi *vbi, int fd); + + static u8 *rawbuf; // one common buffer for raw vbi data. + static int rawbuf_size; // its current size ++static char *vbi_names[] = { "/dev/vbi", "/dev/vbi0", "/dev/video0", "/dev/dvb/adapter0/demux0", NULL }; // default device names if none was given at the command line + + + /***** bttv api *****/ +@@ -592,6 +593,44 @@ vbi_open(char *vbi_name, struct cache *ca, int fine_tune, int big_buf, const cha + static int inited = 0; + struct vbi *vbi; + ++ if (vbi_name == NULL) ++ { ++ int i; ++ char *tried_devices = NULL; ++ char *old_tried_devices = NULL; ++ for (i = 0; vbi_names[i] != NULL; i++) ++ { ++ vbi_name = vbi_names[i]; ++ ++ // collect device names for the error message below ++ if (old_tried_devices) ++ { ++ if (asprintf(&tried_devices, "%s, %s", old_tried_devices, vbi_name) < 0) ++ tried_devices = NULL; ++ free(old_tried_devices); ++ } ++ else if (asprintf(&tried_devices, "%s", vbi_name) < 0) ++ tried_devices = NULL; ++ if (tried_devices == NULL) ++ out_of_mem(-1); ++ old_tried_devices = tried_devices; ++ ++ if (access(vbi_name, R_OK) != 0) ++ continue; ++ vbi = vbi_open(vbi_name, ca, fine_tune, big_buf, progname, txtpid); ++ if (vbi != NULL) ++ { ++ if (tried_devices != NULL) ++ free(tried_devices); ++ return vbi; ++ } ++ } ++ ++ fatal("could not open any of the standard devices (%s)", tried_devices); ++ free(tried_devices); ++ return NULL; ++ } ++ + if (not inited) + lang_init(); + inited = 1; --- alevt-1.6.2.orig/debian/patches/l10n-russian.diff +++ alevt-1.6.2/debian/patches/l10n-russian.diff @@ -0,0 +1,6330 @@ +Subject: Add support for KOI8-R encoding + +From: Andreas Rottmann + +This is a forward-port of "contrib/alevt-1.6.1.rus.diff.gz" in the alevt +distribution to 1.9.2. +--- + Makefile | 9 + alevt-cap.1.in | 2 + alevt-cap.c | 11 + alevt.1x.in | 2 + exp-gfx.c | 2 + exp-html.c | 12 + font.c | 1 + font.h | 1 + lang.c | 60 + + lang.h | 5 + main.c | 11 + vbi.c | 5 + vtxt-koi8.bdf | 5906 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + xio.c | 12 + 14 files changed, 6013 insertions(+), 26 deletions(-) + create mode 100644 vtxt-koi8.bdf + +diff --git a/Makefile b/Makefile +index eb3ee50..b4cea88 100644 +--- a/Makefile ++++ b/Makefile +@@ -35,9 +35,9 @@ alevt-date: $(TOBJS) + alevt-cap: $(COBJS) + $(CC) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS) + +-font.o: font1.xbm font2.xbm +-fontsize.h: font1.xbm font2.xbm +- fgrep -h "#define" font1.xbm font2.xbm >fontsize.h ++font.o: font1.xbm font2.xbm font3.xbm ++fontsize.h: font1.xbm font2.xbm font3.xbm ++ fgrep -h "#define" font1.xbm font2.xbm font3.xbm >fontsize.h + + font1.xbm: bdf2xbm $(FONT)-latin-1.bdf + ./bdf2xbm font1 <$(FONT)-latin-1.bdf >font1.xbm +@@ -45,6 +45,9 @@ font1.xbm: bdf2xbm $(FONT)-latin-1.bdf + font2.xbm: bdf2xbm $(FONT)-latin-2.bdf + ./bdf2xbm font2 <$(FONT)-latin-2.bdf >font2.xbm + ++font3.xbm: bdf2xbm vtxt-koi8.bdf ++ ./bdf2xbm font3 font3.xbm ++ + bdf2xbm: bdf2xbm.c + $(HOSTCC) bdf2xbm.c -o bdf2xbm + +diff --git a/alevt-cap.1.in b/alevt-cap.1.in +index c7e61a9..59d2917 100644 +--- a/alevt-cap.1.in ++++ b/alevt-cap.1.in +@@ -45,7 +45,7 @@ If the pages cannot be captured in + the program terminates with exit status 1 after saving + the already captured pages. The default is to wait forever. + .TP +-.BI \-charset \ latin-1\||latin-2 ++.BI \-charset \ latin-1\||latin-2\||koi8-r + Selects the character set to use. Characters not present + in the selected set are replaced by similar looking symbols. + (default: latin-1) +diff --git a/alevt-cap.c b/alevt-cap.c +index f27ea8f..0c00e68 100644 +--- a/alevt-cap.c ++++ b/alevt-cap.c +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + #include "vt.h" + #include "misc.h" +@@ -39,7 +40,7 @@ usage(FILE *fp, int exitval) + " -vbi \t\t/dev/vbi0\n" + " -finetune <-4..4|auto>\t0\n" + //" -oldbttv\t\t\t(for bttv <0.5.20)\n" +- " -charset latin-1/2\t\tlatin-1\n" ++ " -charset latin-1/2/koi8-r\t\tlatin-1\n" + " -timeout \t\tnone\n" + " -name \t\tttext-%%s.%%e\n" + " -format \tascii\n" +@@ -257,11 +258,13 @@ main(int argc, char **argv) + break; + case 9: // charset + if (streq(arg, "latin-1") || streq(arg, "1")) +- latin1 = 1; ++ latin1 = LATIN1; + else if (streq(arg, "latin-2") || streq(arg, "2")) +- latin1 = 0; ++ latin1 = LATIN2; ++ else if (streq(arg, "koi8-r") || streq(arg, "koi")) ++ latin1 = KOI8; + else +- fatal("bad charset (not latin-1/2)"); ++ fatal("bad charset (not latin-1/2/koi8-r)"); + break; + case 10: // format + if (streq(arg, "help") || streq(arg, "?") || streq(arg, "list")) +diff --git a/alevt.1x.in b/alevt.1x.in +index 478648e..d310ef4 100644 +--- a/alevt.1x.in ++++ b/alevt.1x.in +@@ -62,7 +62,7 @@ Enabled by default. + .BR \-bell / \-nobell + Enables/disables the error bell. Normally enabled. + .TP +-.BI \-charset \ latin-1\||latin-2 ++.BI \-charset \ latin-1\||latin-2\||koi8-r + Selects the character set to use. Characters not present + in the selected set are replaced by similar looking symbols. + (default: latin-1) +diff --git a/exp-gfx.c b/exp-gfx.c +index 685fb5b..a790f06 100644 +--- a/exp-gfx.c ++++ b/exp-gfx.c +@@ -21,7 +21,7 @@ draw_char(unsigned char * colour_matrix, + int sep) + { + int x,y; +- unsigned char* src= (latin1 ? font1_bits : font2_bits); ++ unsigned char* src= (latin1==LATIN1 ? font1_bits : font2_bits); + int dest_x=_x*CW; + int dest_y=_y*CH; + +diff --git a/exp-html.c b/exp-html.c +index 9fcaafc..3f3c7c9 100644 +--- a/exp-html.c ++++ b/exp-html.c +@@ -111,12 +111,20 @@ if (!D->bare) + HTML_NL + #ifndef STRIPPED_HTML + fputs("",(latin1 ? 1 : 2)); ++ switch(latin1) { ++ case LATIN1: fprintf(fp,"charset=iso-8859-1\">"); break; ++ case LATIN2: fprintf(fp,"charset=iso-8859-2\">"); break; ++ case KOI8: fprintf(fp,"charset=koi8-r\">"); break; ++ } + HTML_NL + fputs("",fp); + HTML_NL + #else +- fprintf(fp,"",(latin1 ? 1 : 2)); ++ switch(latin1) { ++ case LATIN1: fprintf(fp,""); break; ++ case LATIN2: fprintf(fp,""); break; ++ case KOI8: fprintf(fp,""); break; ++ } + HTML_NL + #endif + fputs("",fp); +diff --git a/font.c b/font.c +index a6d5012..d16ac8a 100644 +--- a/font.c ++++ b/font.c +@@ -1,3 +1,4 @@ + #define static /* I want them global */ + #include "font1.xbm" + #include "font2.xbm" ++#include "font3.xbm" +diff --git a/font.h b/font.h +index 064ee6b..26719ff 100644 +--- a/font.h ++++ b/font.h +@@ -9,6 +9,7 @@ + + extern unsigned char font1_bits[]; + extern unsigned char font2_bits[]; ++extern unsigned char font3_bits[]; + + #define font_width font1_width + #define font_height font1_height +diff --git a/lang.c b/lang.c +index b0587fe..b732274 100644 +--- a/lang.c ++++ b/lang.c +@@ -1,4 +1,5 @@ + #include ++#include + #include "misc.h" + #include "vt.h" + #include "lang.h" +@@ -145,21 +146,67 @@ lang_init(void) + void + conv2latin(u8 *p, int n, int lang) + { +- int c, gfx = 0; ++ int c, gfx = 0, lat=0; + ++ if ((latin1 == KOI8) && lang==12) { /* russian */ ++ while (n--) { ++ c=*p; ++ ++ if(c==0x1b) lat = !lat; /* ESC switches languages inside page */ ++ ++ if ( is_koi(c)) { ++ if (not gfx || (c & 0xa0) != 0x20) { ++ if(!lat) conv2koi8(p); ++ } ++ } ++ else if ((c & 0xe8) == 0) ++ gfx = c & 0x10; ++ p++; ++ } ++ } ++ ++ else { + while (n--) + { + if (lang_char[c = *p]) + { +- if (not gfx || (c & 0xa0) != 0x20) ++ if (not gfx || (c & 0xa0) != 0x20) + *p = lang_chars[lang + 1][lang_char[c]]; + } + else if ((c & 0xe8) == 0) + gfx = c & 0x10; + p++; + } ++ } + } + ++/* check for russian chars - needs locale KOI8-R set */ ++int is_koi(int c) ++{ ++ if( isalpha(c | 0x80)) return 1; ++ if( c=='&' ) return 1; ++ return 0; ++} ++ ++/* teletext to koi8-r conversion */ ++void ++conv2koi8(u8 *p) ++{ ++ u8 c; ++ static u8 l2koi[]={ ++ 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, ++ 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, ++ 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xFF, 0xFA, 0xFB, 0xFC, 0xFD, ++ 0xFE, 0xF9, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, ++ 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, ++ 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, ++ 0xDC, 0xDD, 0xDE, 0xDF ++ }; ++ ++ c= *p; ++ if ( (c >= 0x40) && (c <= 0x7f)) *p=l2koi[(c & 0x7f) - 0x40]; ++ if (c=='&') *p='Ù'; ++} + + + void +@@ -171,6 +218,7 @@ init_enhance(struct enhance *eh) + void + add_enhance(struct enhance *eh, int dcode, u32 *t) + { ++ + if (dcode == eh->next_des) + { + memcpy(eh->trip + dcode * 13, t, 13 * sizeof(*t)); +@@ -204,9 +252,9 @@ enhance(struct enhance *eh, struct vt_page *vtp) + { + case 15: // char from G2 set + if (adr < W && row < H) +- if (latin1) ++ if (latin1==LATIN1) + vtp->data[row][adr] = g2map_latin1[data-32]; +- else ++ else if (latin1==LATIN2) + vtp->data[row][adr] = g2map_latin2[data-32]; + break; + case 16 ... 31: // char from G0 set with diacritical mark +@@ -216,9 +264,9 @@ enhance(struct enhance *eh, struct vt_page *vtp) + u8 *x; + + if (x = strchr(mark->g0, data)) +- if (latin1) ++ if (latin1==LATIN1) + data = mark->latin1[x - mark->g0]; +- else ++ else if (latin1==LATIN2) + data = mark->latin2[x - mark->g0]; + vtp->data[row][adr] = data; + } +diff --git a/lang.h b/lang.h +index 44366e3..a28206f 100644 +--- a/lang.h ++++ b/lang.h +@@ -6,6 +6,10 @@ + + extern int latin1; + ++#define LATIN1 1 ++#define LATIN2 2 ++#define KOI8 3 ++ + struct enhance + { + int next_des; // next expected designation code +@@ -14,6 +18,7 @@ struct enhance + + void lang_init(void); + void conv2latin(u8 *p, int n, int lang); ++void conv2koi8(u8 *p); + + void init_enhance(struct enhance *eh); + void add_enhance(struct enhance *eh, int dcode, u32 *data); +diff --git a/main.c b/main.c +index 8e8698e..96b0907 100644 +--- a/main.c ++++ b/main.c +@@ -1,6 +1,7 @@ + #include + #include + #include ++#include + + #include "vt.h" + #include "misc.h" +@@ -43,7 +44,7 @@ usage(FILE *fp, int exitval) + //" -oldbttv\t\t(for bttv <0.5.20)\n" + " -[no]erc\t\t\tenabled\n" + " -[no]bell\t\t\tenabled\n" +- " -charset latin-1/2\t\tlatin-1\n" ++ " -charset latin-1/2/koi8-r\tlatin-1\n" + " -progname name\n" + " -pid pid\n" + "\n" +@@ -260,11 +261,13 @@ main(int argc, char **argv) + break; + case 18: // charset + if (streq(arg, "latin-1") || streq(arg, "1")) +- latin1 = 1; ++ latin1 = LATIN1; + else if (streq(arg, "latin-2") || streq(arg, "2")) +- latin1 = 0; ++ latin1 = LATIN2; ++ else if (streq(arg, "koi8-r") || streq(arg, "koi")) ++ latin1 = KOI8; + else +- fatal("bad charset (not latin-1/2)"); ++ fatal("bad charset (not latin-1/2/koi8-r)"); + break; + case 12: // debug + debug++; +diff --git a/vbi.c b/vbi.c +index abbc326..0a030df 100644 +--- a/vbi.c ++++ b/vbi.c +@@ -208,7 +208,6 @@ vt_line(struct vbi *vbi, u8 *p) + b2 = hamm16(p+2, &err); // subpage number + flags + b3 = hamm16(p+4, &err); // subpage number + flags + b4 = hamm16(p+6, &err); // language code + more flags +- + if (vbi->ppage->page->flags & PG_MAGSERIAL) + vbi_send_page(vbi, vbi->ppage, b1); + vbi_send_page(vbi, rvtp, b1); +@@ -219,7 +218,7 @@ vt_line(struct vbi *vbi, u8 *p) + cvtp->errors = (err >> 8) + chk_parity(p + 8, 32);; + cvtp->pgno = mag8 * 256 + b1; + cvtp->subno = (b2 + b3 * 256) & 0x3f7f; +- cvtp->lang = "\0\4\2\6\1\5\3\7"[b4 >> 5] + (latin1 ? 0 : 8); ++ cvtp->lang = "\0\4\2\6\1\5\3\7"[b4 >> 5] + (latin1==LATIN1 ? 0 : 8); + cvtp->flags = b4 & 0x1f; + cvtp->flags |= b3 & 0xc0; + cvtp->flags |= (b2 & 0x80) >> 2; +@@ -251,6 +250,7 @@ vt_line(struct vbi *vbi, u8 *p) + + cvtp->errors += err; + cvtp->lines |= 1 << pkt; ++ + conv2latin(p, 40, cvtp->lang); + memcpy(cvtp->data[pkt], p, 40); + return 0; +@@ -326,6 +326,7 @@ vt_line(struct vbi *vbi, u8 *p) + default: + // unused at the moment... + //vbi_send(vbi, EV_XPACKET, mag8, pkt, err, p); ++ //printf ("pkt=%d ",pkt); + return 0; + } + return 0; +diff --git a/vtxt-koi8.bdf b/vtxt-koi8.bdf +new file mode 100644 +index 0000000..a7398b2 +--- /dev/null ++++ b/vtxt-koi8.bdf +@@ -0,0 +1,5906 @@ ++STARTFONT 2.1 ++FONT -alevt-teletext-medium-r-normal--16-1-75-75-c-90-fontspecific-1 ++SIZE 1 75 75 ++FONTBOUNDINGBOX 9 16 0 -4 ++STARTPROPERTIES 10 ++POINT_SIZE 1 ++PIXEL_SIZE 16 ++RESOLUTION_X 75 ++RESOLUTION_Y 75 ++FONT_ASCENT 12 ++FONT_DESCENT 4 ++AVERAGE_WIDTH 90 ++SPACING "C" ++_XMBDFED_INFO "Edited with xmbdfed 3.0." ++FONT "vtxt" ++ENDPROPERTIES ++CHARS 256 ++STARTCHAR char0 ++ENCODING 0 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 1 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 2 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 3 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 4 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 5 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 6 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 7 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 8 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 9 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 10 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 11 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 12 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 13 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 14 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 15 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 16 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 17 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 18 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 19 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 20 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 21 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 22 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 23 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 24 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 25 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 26 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 27 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 28 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 29 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 30 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 31 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++ENDCHAR ++STARTCHAR char32 ++ENCODING 32 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char33 ++ENCODING 33 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++3C00 ++3C00 ++3C00 ++1800 ++1800 ++1800 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char34 ++ENCODING 34 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++6600 ++6600 ++6600 ++2400 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char35 ++ENCODING 35 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++3600 ++3600 ++7F00 ++3600 ++3600 ++3600 ++7F00 ++3600 ++3600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char36 ++ENCODING 36 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0C00 ++0C00 ++3E00 ++6300 ++6100 ++6000 ++3E00 ++0300 ++0300 ++4300 ++6300 ++3E00 ++0C00 ++0C00 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char37 ++ENCODING 37 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++6100 ++6300 ++0600 ++0C00 ++1800 ++3000 ++6300 ++4300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char38 ++ENCODING 38 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1C00 ++3600 ++3600 ++1C00 ++3B00 ++6E00 ++6600 ++6600 ++6600 ++3B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char39 ++ENCODING 39 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++3000 ++3000 ++3000 ++6000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char40 ++ENCODING 40 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0C00 ++1800 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++1800 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char41 ++ENCODING 41 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3000 ++1800 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++1800 ++3000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char42 ++ENCODING 42 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6600 ++3C00 ++FF00 ++3C00 ++6600 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char43 ++ENCODING 43 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++7E00 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char44 ++ENCODING 44 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++1800 ++3000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char45 ++ENCODING 45 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++7F00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char46 ++ENCODING 46 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char47 ++ENCODING 47 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0100 ++0300 ++0600 ++0C00 ++1800 ++3000 ++6000 ++4000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char48 ++ENCODING 48 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++6600 ++C300 ++C300 ++DB00 ++DB00 ++C300 ++C300 ++6600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char49 ++ENCODING 49 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++3800 ++7800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char50 ++ENCODING 50 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++0300 ++0600 ++0C00 ++1800 ++3000 ++6000 ++6300 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char51 ++ENCODING 51 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++0300 ++0300 ++1E00 ++0300 ++0300 ++0300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char52 ++ENCODING 52 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0600 ++0E00 ++1E00 ++3600 ++6600 ++7F00 ++0600 ++0600 ++0600 ++0F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char53 ++ENCODING 53 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++6000 ++6000 ++6000 ++7E00 ++0300 ++0300 ++0300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char54 ++ENCODING 54 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1C00 ++3000 ++6000 ++6000 ++7E00 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char55 ++ENCODING 55 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++6300 ++0300 ++0300 ++0600 ++0C00 ++1800 ++1800 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char56 ++ENCODING 56 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++3E00 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char57 ++ENCODING 57 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++3F00 ++0300 ++0300 ++0300 ++0600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char58 ++ENCODING 58 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char59 ++ENCODING 59 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++1800 ++1800 ++1800 ++3000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char60 ++ENCODING 60 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0600 ++0C00 ++1800 ++3000 ++6000 ++3000 ++1800 ++0C00 ++0600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char61 ++ENCODING 61 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7E00 ++0000 ++0000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char62 ++ENCODING 62 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++6000 ++3000 ++1800 ++0C00 ++0600 ++0C00 ++1800 ++3000 ++6000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char63 ++ENCODING 63 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++0600 ++0C00 ++0C00 ++0C00 ++0000 ++0C00 ++0C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char64 ++ENCODING 64 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++3E00 ++6300 ++6300 ++6F00 ++6F00 ++6F00 ++6E00 ++6000 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char65 ++ENCODING 65 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0800 ++1C00 ++3600 ++6300 ++6300 ++7F00 ++6300 ++6300 ++6300 ++6300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char66 ++ENCODING 66 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++3300 ++3300 ++3300 ++3E00 ++3300 ++3300 ++3300 ++3300 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char67 ++ENCODING 67 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1E00 ++3300 ++6100 ++6000 ++6000 ++6000 ++6000 ++6100 ++3300 ++1E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char68 ++ENCODING 68 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7C00 ++3600 ++3300 ++3300 ++3300 ++3300 ++3300 ++3300 ++3600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char69 ++ENCODING 69 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++3300 ++3100 ++3400 ++3C00 ++3400 ++3000 ++3100 ++3300 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char70 ++ENCODING 70 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++3300 ++3100 ++3400 ++3C00 ++3400 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char71 ++ENCODING 71 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1E00 ++3300 ++6100 ++6000 ++6000 ++6F00 ++6300 ++6300 ++3300 ++1D00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char72 ++ENCODING 72 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++6300 ++6300 ++6300 ++6300 ++7F00 ++6300 ++6300 ++6300 ++6300 ++6300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char73 ++ENCODING 73 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char74 ++ENCODING 74 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0F00 ++0600 ++0600 ++0600 ++0600 ++0600 ++6600 ++6600 ++6600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char75 ++ENCODING 75 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7300 ++3300 ++3300 ++3600 ++3C00 ++3C00 ++3600 ++3300 ++3300 ++7300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char76 ++ENCODING 76 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7800 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++3100 ++3300 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char77 ++ENCODING 77 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++E700 ++FF00 ++FF00 ++DB00 ++C300 ++C300 ++C300 ++C300 ++C300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char78 ++ENCODING 78 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++6300 ++7300 ++7B00 ++7F00 ++6F00 ++6700 ++6300 ++6300 ++6300 ++6300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char79 ++ENCODING 79 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char80 ++ENCODING 80 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++3300 ++3300 ++3300 ++3E00 ++3000 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char81 ++ENCODING 81 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6B00 ++6F00 ++3E00 ++0600 ++0700 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char82 ++ENCODING 82 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++3300 ++3300 ++3300 ++3E00 ++3600 ++3300 ++3300 ++3300 ++7300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char83 ++ENCODING 83 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++6300 ++3000 ++1C00 ++0600 ++0300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char84 ++ENCODING 84 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FF00 ++DB00 ++9900 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char85 ++ENCODING 85 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char86 ++ENCODING 86 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++C300 ++C300 ++C300 ++C300 ++C300 ++6600 ++3C00 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char87 ++ENCODING 87 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++C300 ++C300 ++C300 ++DB00 ++DB00 ++FF00 ++6600 ++6600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char88 ++ENCODING 88 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++6600 ++3C00 ++1800 ++1800 ++3C00 ++6600 ++C300 ++C300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char89 ++ENCODING 89 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++C300 ++6600 ++3C00 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char90 ++ENCODING 90 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FF00 ++C300 ++8600 ++0C00 ++1800 ++3000 ++6000 ++C100 ++C300 ++FF00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char91 ++ENCODING 91 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++3000 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char92 ++ENCODING 92 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++4000 ++6000 ++7000 ++3800 ++1C00 ++0E00 ++0700 ++0300 ++0100 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char93 ++ENCODING 93 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++0C00 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char94 ++ENCODING 94 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0800 ++1C00 ++3600 ++6300 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char95 ++ENCODING 95 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char96 ++ENCODING 96 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++3000 ++3000 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char97 ++ENCODING 97 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3C00 ++0600 ++3E00 ++6600 ++6600 ++6600 ++3B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char98 ++ENCODING 98 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7000 ++3000 ++3000 ++3C00 ++3600 ++3300 ++3300 ++3300 ++3300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char99 ++ENCODING 99 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3E00 ++6300 ++6000 ++6000 ++6000 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char100 ++ENCODING 100 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0E00 ++0600 ++0600 ++1E00 ++3600 ++6600 ++6600 ++6600 ++6600 ++3B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char101 ++ENCODING 101 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3E00 ++6300 ++7F00 ++6000 ++6000 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char102 ++ENCODING 102 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1C00 ++3600 ++3200 ++3000 ++7800 ++3000 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char103 ++ENCODING 103 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3B00 ++6600 ++6600 ++6600 ++6600 ++6600 ++3E00 ++0600 ++6600 ++3C00 ++0000 ++ENDCHAR ++STARTCHAR char104 ++ENCODING 104 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7000 ++3000 ++3000 ++3600 ++3B00 ++3300 ++3300 ++3300 ++3300 ++7300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char105 ++ENCODING 105 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++1800 ++0000 ++3800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char106 ++ENCODING 106 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0600 ++0600 ++0000 ++0E00 ++0600 ++0600 ++0600 ++0600 ++0600 ++0600 ++6600 ++6600 ++3C00 ++0000 ++ENDCHAR ++STARTCHAR char107 ++ENCODING 107 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7000 ++3000 ++3000 ++3300 ++3600 ++3C00 ++3C00 ++3600 ++3300 ++7300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char108 ++ENCODING 108 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char109 ++ENCODING 109 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++E600 ++FF00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char110 ++ENCODING 110 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6E00 ++3300 ++3300 ++3300 ++3300 ++3300 ++3300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char111 ++ENCODING 111 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3E00 ++6300 ++6300 ++6300 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char112 ++ENCODING 112 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6E00 ++3300 ++3300 ++3300 ++3300 ++3300 ++3E00 ++3000 ++3000 ++7800 ++0000 ++ENDCHAR ++STARTCHAR char113 ++ENCODING 113 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3B00 ++6600 ++6600 ++6600 ++6600 ++6600 ++3E00 ++0600 ++0600 ++0F00 ++0000 ++ENDCHAR ++STARTCHAR char114 ++ENCODING 114 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6E00 ++3B00 ++3300 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char115 ++ENCODING 115 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3E00 ++6300 ++3000 ++1C00 ++0600 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char116 ++ENCODING 116 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0800 ++1800 ++1800 ++7E00 ++1800 ++1800 ++1800 ++1800 ++1B00 ++0E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char117 ++ENCODING 117 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++3B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char118 ++ENCODING 118 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C300 ++C300 ++C300 ++C300 ++6600 ++3C00 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char119 ++ENCODING 119 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C300 ++C300 ++C300 ++DB00 ++DB00 ++FF00 ++6600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char120 ++ENCODING 120 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C300 ++6600 ++3C00 ++1800 ++3C00 ++6600 ++C300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char121 ++ENCODING 121 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++6300 ++6300 ++6300 ++6300 ++6300 ++6300 ++3F00 ++0300 ++0600 ++7C00 ++0000 ++ENDCHAR ++STARTCHAR char122 ++ENCODING 122 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7F00 ++6600 ++0C00 ++1800 ++3000 ++6300 ++7F00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char123 ++ENCODING 123 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0E00 ++1800 ++1800 ++1800 ++7000 ++1800 ++1800 ++1800 ++1800 ++0E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char124 ++ENCODING 124 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char125 ++ENCODING 125 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7000 ++1800 ++1800 ++1800 ++0E00 ++1800 ++1800 ++1800 ++1800 ++7000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char126 ++ENCODING 126 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3B00 ++6E00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char127 ++ENCODING 127 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++7F00 ++7F00 ++7F00 ++7F00 ++7F00 ++7F00 ++7F00 ++7F00 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 128 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 129 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 130 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 131 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 132 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 133 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 134 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 135 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 136 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 137 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 138 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 139 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 140 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 141 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 142 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 143 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 144 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 145 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 146 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 147 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 148 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 149 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 150 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 151 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++F000 ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 152 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 153 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 154 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 155 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char0 ++ENCODING 156 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 157 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++F000 ++F000 ++F000 ++F000 ++F000 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char2 ++ENCODING 158 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0F80 ++0F80 ++0F80 ++0F80 ++0F80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char1 ++ENCODING 159 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++FF80 ++ENDCHAR ++STARTCHAR char160 ++ENCODING 160 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++FF80 ++0880 ++0880 ++0880 ++0880 ++FF80 ++0880 ++0880 ++0880 ++0880 ++0880 ++FF80 ++0880 ++0880 ++0880 ++0880 ++ENDCHAR ++STARTCHAR char161 ++ENCODING 161 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++1800 ++0000 ++1800 ++1800 ++1800 ++3C00 ++3C00 ++3C00 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char162 ++ENCODING 162 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++1800 ++1800 ++7E00 ++C300 ++C000 ++C000 ++C000 ++C300 ++7E00 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char163 ++ENCODING 163 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++1C00 ++3600 ++3200 ++3000 ++7800 ++3000 ++3000 ++3000 ++3000 ++7300 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char164 ++ENCODING 164 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++4100 ++6300 ++3E00 ++6300 ++6300 ++6300 ++6300 ++3E00 ++6300 ++4100 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char165 ++ENCODING 165 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++6600 ++3C00 ++1800 ++FF00 ++1800 ++FF00 ++1800 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char166 ++ENCODING 166 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char167 ++ENCODING 167 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++3E00 ++6300 ++3000 ++1C00 ++3600 ++6300 ++6300 ++3600 ++1C00 ++0600 ++6300 ++3E00 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char168 ++ENCODING 168 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++7E00 ++DB00 ++FF00 ++BD00 ++C300 ++E700 ++FF00 ++7E00 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char169 ++ENCODING 169 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++4100 ++5D00 ++5100 ++5100 ++5D00 ++4100 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char170 ++ENCODING 170 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++3800 ++0C00 ++3C00 ++6400 ++3C00 ++0000 ++7C00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char171 ++ENCODING 171 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++3000 ++7F00 ++7F00 ++3000 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char172 ++ENCODING 172 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++3C00 ++7E00 ++5A00 ++1800 ++1800 ++1800 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char173 ++ENCODING 173 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++FF80 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char174 ++ENCODING 174 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3E00 ++6300 ++4100 ++5D00 ++5500 ++5900 ++5500 ++4100 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char175 ++ENCODING 175 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++7F00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char176 ++ENCODING 176 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++1C00 ++3600 ++3600 ++1C00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char177 ++ENCODING 177 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++7E00 ++1800 ++1800 ++0000 ++0000 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char178 ++ENCODING 178 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++3800 ++6C00 ++1800 ++3000 ++6400 ++7C00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char179 ++ENCODING 179 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++7C00 ++0C00 ++1800 ++0C00 ++6C00 ++3800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char180 ++ENCODING 180 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++1800 ++3000 ++6000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char181 ++ENCODING 181 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++6600 ++6600 ++6600 ++6600 ++6600 ++7E00 ++6300 ++6000 ++C000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char182 ++ENCODING 182 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7F00 ++DB00 ++DB00 ++DB00 ++7B00 ++1B00 ++1B00 ++1B00 ++1B00 ++1B00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char183 ++ENCODING 183 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++1800 ++1800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char184 ++ENCODING 184 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0080 ++0100 ++0300 ++0600 ++0C00 ++1C00 ++3000 ++7F00 ++7700 ++0E00 ++1C00 ++1800 ++3000 ++6000 ++8000 ++0000 ++ENDCHAR ++STARTCHAR char185 ++ENCODING 185 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++3000 ++7000 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char186 ++ENCODING 186 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++3800 ++6C00 ++4400 ++6C00 ++3800 ++0000 ++7C00 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char187 ++ENCODING 187 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++0C00 ++0600 ++7F00 ++7F00 ++0600 ++0C00 ++0000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char188 ++ENCODING 188 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++6000 ++6000 ++6100 ++6300 ++6600 ++0C00 ++1800 ++3300 ++6700 ++4B00 ++1F00 ++0300 ++0300 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char189 ++ENCODING 189 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++6000 ++6000 ++6100 ++6300 ++6600 ++0C00 ++1800 ++3000 ++6700 ++4D80 ++0300 ++0600 ++0F80 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char190 ++ENCODING 190 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++7800 ++1800 ++3900 ++1B00 ++7600 ++0C00 ++1800 ++3300 ++6700 ++4B00 ++1F00 ++0300 ++0300 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char191 ++ENCODING 191 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1800 ++1800 ++0000 ++1800 ++1800 ++3000 ++6000 ++6300 ++6300 ++3E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char238 ++ENCODING 192 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++CE00 ++DB00 ++DB00 ++FB00 ++DB00 ++DB00 ++CE00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char160 ++ENCODING 193 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7800 ++0C00 ++7C00 ++CC00 ++CC00 ++CC00 ++7600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char161 ++ENCODING 194 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0200 ++0600 ++3C00 ++6000 ++6000 ++7C00 ++6600 ++6600 ++6600 ++6600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char230 ++ENCODING 195 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++CC00 ++CC00 ++CC00 ++CC00 ++CC00 ++CC00 ++FE00 ++0600 ++0600 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char164 ++ENCODING 196 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++1E00 ++3600 ++3600 ++6600 ++6600 ++6600 ++FF00 ++C300 ++C300 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char165 ++ENCODING 197 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7C00 ++C600 ++FE00 ++C000 ++C000 ++C600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char228 ++ENCODING 198 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++3C00 ++1800 ++7E00 ++DB00 ++DB00 ++DB00 ++DB00 ++7E00 ++1800 ++1800 ++3C00 ++0000 ++ENDCHAR ++STARTCHAR char163 ++ENCODING 199 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7E00 ++3200 ++3200 ++3000 ++3000 ++3000 ++7800 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char229 ++ENCODING 200 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C600 ++6C00 ++3800 ++3800 ++3800 ++6C00 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char168 ++ENCODING 201 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C600 ++C600 ++CE00 ++D600 ++E600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char169 ++ENCODING 202 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++3800 ++3800 ++C600 ++C600 ++CE00 ++D600 ++E600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char170 ++ENCODING 203 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++E600 ++6C00 ++7800 ++7800 ++6C00 ++6600 ++E600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char171 ++ENCODING 204 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++1E00 ++3600 ++6600 ++6600 ++6600 ++6600 ++6600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char172 ++ENCODING 205 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C600 ++EE00 ++FE00 ++FE00 ++D600 ++D600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char173 ++ENCODING 206 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C600 ++C600 ++C600 ++FE00 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char174 ++ENCODING 207 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7C00 ++C600 ++C600 ++C600 ++C600 ++C600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char175 ++ENCODING 208 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FE00 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char239 ++ENCODING 209 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7E00 ++CC00 ++CC00 ++FC00 ++6C00 ++CC00 ++CE00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char224 ++ENCODING 210 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++DC00 ++6600 ++6600 ++6600 ++6600 ++6600 ++7C00 ++6000 ++6000 ++F000 ++0000 ++ENDCHAR ++STARTCHAR char225 ++ENCODING 211 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7C00 ++C600 ++C000 ++C000 ++C000 ++C600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char226 ++ENCODING 212 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++7E00 ++5A00 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char227 ++ENCODING 213 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C600 ++C600 ++C600 ++C600 ++C600 ++7E00 ++0600 ++0600 ++C600 ++7C00 ++0000 ++ENDCHAR ++STARTCHAR char166 ++ENCODING 214 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++D600 ++D600 ++5400 ++7C00 ++5400 ++D600 ++D600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char162 ++ENCODING 215 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++FC00 ++6600 ++6600 ++7C00 ++6600 ++6600 ++FC00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char236 ++ENCODING 216 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F000 ++6000 ++6000 ++7C00 ++6600 ++6600 ++FC00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char235 ++ENCODING 217 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C600 ++C600 ++C600 ++F600 ++DE00 ++DE00 ++F600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char167 ++ENCODING 218 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3C00 ++6600 ++0600 ++0C00 ++0600 ++6600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char232 ++ENCODING 219 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++D600 ++D600 ++D600 ++D600 ++D600 ++D600 ++FE00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char237 ++ENCODING 220 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++3C00 ++6600 ++0600 ++1E00 ++0600 ++6600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char233 ++ENCODING 221 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++D600 ++D600 ++D600 ++D600 ++D600 ++D600 ++FE00 ++0300 ++0300 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char231 ++ENCODING 222 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++C600 ++C600 ++C600 ++C600 ++7E00 ++0600 ++0600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char234 ++ENCODING 223 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++0000 ++0000 ++0000 ++F800 ++B000 ++3000 ++3E00 ++3300 ++3300 ++7E00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char158 ++ENCODING 224 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++CE00 ++DB00 ++DB00 ++DB00 ++FB00 ++DB00 ++DB00 ++DB00 ++DB00 ++CE00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char128 ++ENCODING 225 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1E00 ++3600 ++6600 ++C600 ++C600 ++FE00 ++C600 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char129 ++ENCODING 226 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FE00 ++6200 ++6200 ++6000 ++7C00 ++6600 ++6600 ++6600 ++6600 ++FC00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char150 ++ENCODING 227 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++CC00 ++CC00 ++CC00 ++CC00 ++CC00 ++CC00 ++CC00 ++CC00 ++CC00 ++FE00 ++0600 ++0600 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char132 ++ENCODING 228 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1E00 ++3600 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++6600 ++FF00 ++C300 ++8100 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char133 ++ENCODING 229 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FE00 ++6600 ++6200 ++6800 ++7800 ++6800 ++6000 ++6200 ++6600 ++FE00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char148 ++ENCODING 230 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++3C00 ++1800 ++7E00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++7E00 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char131 ++ENCODING 231 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FE00 ++6200 ++6200 ++6000 ++6000 ++6000 ++6000 ++6000 ++6000 ++F000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char149 ++ENCODING 232 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C600 ++C600 ++6C00 ++7C00 ++3800 ++3800 ++7C00 ++6C00 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char136 ++ENCODING 233 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C600 ++C600 ++CE00 ++CE00 ++D600 ++E600 ++E600 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char137 ++ENCODING 234 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++3800 ++3800 ++C600 ++C600 ++CE00 ++CE00 ++D600 ++E600 ++E600 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char138 ++ENCODING 235 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++E600 ++6600 ++6C00 ++6C00 ++7800 ++7800 ++6C00 ++6C00 ++6600 ++E600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char139 ++ENCODING 236 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++1E00 ++3600 ++6600 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char140 ++ENCODING 237 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C600 ++EE00 ++FE00 ++FE00 ++D600 ++C600 ++C600 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char141 ++ENCODING 238 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C600 ++C600 ++C600 ++C600 ++FE00 ++C600 ++C600 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char142 ++ENCODING 239 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7C00 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char143 ++ENCODING 240 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FE00 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++C600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char159 ++ENCODING 241 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3F00 ++6600 ++6600 ++6600 ++3E00 ++3E00 ++6600 ++6600 ++6600 ++E700 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char144 ++ENCODING 242 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FC00 ++6600 ++6600 ++6600 ++7C00 ++6000 ++6000 ++6000 ++6000 ++F000 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char145 ++ENCODING 243 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++3C00 ++6600 ++C200 ++C000 ++C000 ++C000 ++C000 ++C200 ++6600 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char146 ++ENCODING 244 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7E00 ++5A00 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++1800 ++3C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char147 ++ENCODING 245 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C600 ++C600 ++C600 ++C600 ++C600 ++7E00 ++0600 ++0600 ++C600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char134 ++ENCODING 246 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++D600 ++D600 ++5400 ++5400 ++7C00 ++7C00 ++5400 ++D600 ++D600 ++D600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char130 ++ENCODING 247 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++FC00 ++6600 ++6600 ++6600 ++7C00 ++6600 ++6600 ++6600 ++6600 ++FC00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char156 ++ENCODING 248 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++F000 ++6000 ++6000 ++6000 ++7C00 ++6600 ++6600 ++6600 ++6600 ++FC00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char155 ++ENCODING 249 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C300 ++C300 ++C300 ++C300 ++F300 ++DB00 ++DB00 ++DB00 ++DB00 ++F300 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char135 ++ENCODING 250 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7C00 ++C600 ++0600 ++0600 ++3C00 ++0600 ++0600 ++0600 ++C600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char152 ++ENCODING 251 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++FF00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char157 ++ENCODING 252 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++7C00 ++C600 ++0600 ++2600 ++3E00 ++2600 ++0600 ++0600 ++C600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char153 ++ENCODING 253 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++DB00 ++FF00 ++0300 ++0300 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char151 ++ENCODING 254 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++C600 ++C600 ++C600 ++C600 ++C600 ++7E00 ++0600 ++0600 ++0600 ++0600 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++STARTCHAR char154 ++ENCODING 255 ++SWIDTH 8640 0 ++DWIDTH 9 0 ++BBX 9 16 0 -4 ++BITMAP ++0000 ++0000 ++F800 ++B000 ++3000 ++3000 ++3C00 ++3600 ++3600 ++3600 ++3600 ++7C00 ++0000 ++0000 ++0000 ++0000 ++ENDCHAR ++ENDFONT +diff --git a/xio.c b/xio.c +index 381f0ce..e906b0e 100644 +--- a/xio.c ++++ b/xio.c +@@ -128,10 +128,17 @@ get_fonts(struct xio *xio) + { + GC gc; + int i; ++ unsigned char *font_bits; ++ ++ switch(latin1) { ++ case LATIN1: font_bits=font1_bits; break; ++ case LATIN2: font_bits=font2_bits; break; ++ case KOI8: font_bits=font3_bits; break; ++ default: font_bits=font1_bits; break; ++ } + + xio->font[0] = XCreateBitmapFromData(xio->dpy, xio->root, +- latin1 ? font1_bits : font2_bits, +- font_width, font_height); ++ font_bits, font_width, font_height); + xio->font[1] = XCreatePixmap(xio->dpy, xio->root, + font_width, font_height*2, 1); + gc = XCreateGC(xio->dpy, xio->font[0], 0, 0); +@@ -610,6 +617,7 @@ xio_update_win(struct xio_win *xw) + + case 0x0e: /* SO (reserved, double width) */ + case 0x0f: /* SI (reserved, double size) */ ++ c= ' '; break; + case 0x1b: /* ESC (reserved) */ + c = ' '; + break; --- alevt-1.6.2.orig/debian/patches/series +++ alevt-1.6.2/debian/patches/series @@ -0,0 +1,8 @@ +dvb-demux.diff +vbi-name.diff +x11-errormessage.diff +cosmetics.diff +destdir.diff +l10n-russian.diff +l10n-greek.diff +help-additions.diff --- alevt-1.6.2.orig/debian/patches/dvb-demux.diff +++ alevt-1.6.2/debian/patches/dvb-demux.diff @@ -0,0 +1,1915 @@ +Subject: DVB-T support + +From: Andreas Rottmann + +See . +--- + alevt-cap.1.in | 22 +++ + alevt-cap.c | 21 +++ + alevt-date.1.in | 22 +++ + alevt-date.c | 12 +- + alevt.1x.in | 36 +++++ + dvb/audio.h | 124 ++++++++++++++++ + dvb/ca.h | 84 +++++++++++ + dvb/dmx.h | 172 ++++++++++++++++++++++ + dvb/frontend.h | 261 ++++++++++++++++++++++++++++++++++ + dvb/net.h | 44 ++++++ + dvb/osd.h | 111 ++++++++++++++ + dvb/version.h | 29 ++++ + dvb/video.h | 190 ++++++++++++++++++++++++ + main.c | 22 +++ + vbi.c | 428 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- + vbi.h | 7 + + 16 files changed, 1571 insertions(+), 14 deletions(-) + create mode 100644 dvb/audio.h + create mode 100644 dvb/ca.h + create mode 100644 dvb/dmx.h + create mode 100644 dvb/frontend.h + create mode 100644 dvb/net.h + create mode 100644 dvb/osd.h + create mode 100644 dvb/version.h + create mode 100644 dvb/video.h + +diff --git a/alevt-cap.1.in b/alevt-cap.1.in +index 65f3284..80fbb3a 100644 +--- a/alevt-cap.1.in ++++ b/alevt-cap.1.in +@@ -50,6 +50,12 @@ Selects the character set to use. Characters not present + in the selected set are replaced by similar looking symbols. + (default: latin-1) + .TP ++.BI \-progname \ name ++Specifies the program name if using the DVB interface. ++.TP ++.BI \-pid \ pid ++Specifies the teletext PID if using the DVB interface. ++.TP + .B \-\-help + Show summary of options. + .TP +@@ -135,6 +141,20 @@ and their options. + format is an alias for + .BR ascii,color .) + ++The ++.B \-progname ++or ++.B \-pid ++option specifies the program or teletext PID if using the DVB interface. ++ ++If neither of these two options is used, alevt outputs informations about the currently accessible streams ++and uses the first of these PIDs as default. This output contains the PIDs and names that can be used ++as an input for the ++.B \-progname ++or ++.B \-pid ++option in the context of the currently chosen TV channel. ++ + .SH DIAGNOSTICS + If the program timed out and some pages are missing the exit + status is 1. On fatal errors the exit status is 2. +@@ -149,6 +169,8 @@ of + .SH FILES + .I /dev/vbi* + ++.I /dev/dvb/adapter*/demux* ++ + .SH SEE ALSO + .BR alevt (1x), + .BR alevt-date (1), +diff --git a/alevt-cap.c b/alevt-cap.c +index 1c8f086..fe1d18b 100644 +--- a/alevt-cap.c ++++ b/alevt-cap.c +@@ -44,12 +44,21 @@ usage(FILE *fp, int exitval) + " -name \t\tttext-%%s.%%e\n" + " -format \tascii\n" + " -format help\n" ++ " -progname name\n" ++ " -pid pid\n" + "\n" + " ppp[.ss] stands for a page number and an\n" + " optional subpage number (ie 123.4). If\n" + " the subpage number is omitted the first\n" + " transmitted subpage is captured.\n" + "\n" ++ "\n" ++ " To use the DVB interface, use\n" ++ " -vbi /dev/dvb/adapter0/demux0\n" ++ "\n" ++ " The -progname or -pid option specify\n" ++ " the program or teletext PID if using\n" ++ " the DVB interface.\n" + ); + exit(exitval); + } +@@ -130,6 +139,8 @@ option(int argc, char **argv, int *ind, char **arg) + { "-format", "-fmt", 1 }, + { "-name", "-o", 1 }, + { "-timeout", "-t", 1 }, ++ { "-progname", "-pn", 1 }, ++ { "-pid", "--pid", 1 }, + }; + int i; + +@@ -204,6 +215,8 @@ main(int argc, char **argv) + struct vbi *vbi; + struct req *req; + struct dl_head reqs[2]; // simple linear lists of requests & captures ++ char *progname = NULL; ++ int txtpid = -1; + + setprgname(argv[0]); + +@@ -264,6 +277,12 @@ main(int argc, char **argv) + if (timeout < 1 || timeout > 999999) + fatal("bad timeout value", timeout); + break; ++ case 13: // progname ++ progname = arg; ++ break; ++ case 14: // pid ++ txtpid = strtoul(arg, NULL, 0); ++ break; + case -1: // non-option arg + if (not fmt) + fmt = export_open(out_fmt); +@@ -283,7 +302,7 @@ main(int argc, char **argv) + fatal("no pages requested"); + + // setup device +- if (not(vbi = vbi_open(vbi_name, 0, fine_tune, newbttv))) ++ if (not(vbi = vbi_open(vbi_name, 0, fine_tune, newbttv, progname, txtpid))) + fatal("cannot open %s", vbi_name); + vbi_add_handler(vbi, event, reqs); // register event handler + +diff --git a/alevt-date.1.in b/alevt-date.1.in +index 5a1cffc..439e321 100644 +--- a/alevt-date.1.in ++++ b/alevt-date.1.in +@@ -41,6 +41,12 @@ If the time can't be detected in + .IR seconds , + the program is terminated with a SIGALRM. + .TP ++.BI \-progname \ name ++Specifies the program name if using the DVB interface. ++.TP ++.BI \-pid \ pid ++Specifies the teletext PID if using the DVB interface. ++.TP + .B \-\-help + Show summary of options. + .TP +@@ -59,9 +65,25 @@ set the battery backed up clock of your computer. + .I clock -w + will do this. + ++The ++.B \-progname ++or ++.B \-pid ++option specifies the program or teletext PID if using the DVB interface. ++ ++If neither of these two options is used, alevt outputs informations about the currently accessible streams ++and uses the first of these PIDs as default. This output contains the PIDs and names that can be used ++as an input for the ++.B \-progname ++or ++.B \-pid ++option in the context of the currently chosen TV channel. ++ + .SH FILES + .I /dev/vbi* + ++.I /dev/dvb/adapter*/demux* ++ + .SH SEE ALSO + .BR alevt (1x), + .BR alevt-cap (1), +diff --git a/alevt-date.c b/alevt-date.c +index 5c934cb..805c751 100644 +--- a/alevt-date.c ++++ b/alevt-date.c +@@ -136,6 +136,8 @@ option(int argc, char **argv, int *ind, char **arg) + { "--help", "-h", 0 }, + { "-newbttv", "-new", 0 }, + { "-oldbttv", "-old", 0 }, ++ { "-progname", "-pn", 1 }, ++ { "-pid", "--pid", 1 }, + }; + int i; + +@@ -172,6 +174,8 @@ main(int argc, char **argv) + struct vbi *vbi; + int opt, ind; + char *arg; ++ char *progname = NULL; ++ int txtpid = -1; + + setprgname(argv[0]); + +@@ -216,6 +220,12 @@ main(int argc, char **argv) + case 9: // oldbttv + big_buf = 0; + break; ++ case 10: // progname ++ progname = arg; ++ break; ++ case 11: // pid ++ txtpid = strtoul(arg, NULL, 0); ++ break; + case -1: + usage(stderr, 1); + break; +@@ -229,7 +239,7 @@ main(int argc, char **argv) + alarm(timeout); + } + +- vbi = vbi_open(vbi_name, 0, 1, big_buf); // open device ++ vbi = vbi_open(vbi_name, 0, 1, big_buf, progname, txtpid); // open device + if (not vbi) + fatal_ioerror(vbi_name); + +diff --git a/alevt.1x.in b/alevt.1x.in +index 9299bfe..f33cfbf 100644 +--- a/alevt.1x.in ++++ b/alevt.1x.in +@@ -67,6 +67,12 @@ Selects the character set to use. Characters not present + in the selected set are replaced by similar looking symbols. + (default: latin-1) + .TP ++.BI \-progname \ name ++Specifies the program name if using the DVB interface. ++.TP ++.BI \-pid \ pid ++Specifies the teletext PID if using the DVB interface. ++.TP + .B \-\-help + Show summary of options. + .TP +@@ -109,9 +115,39 @@ package. Maybe in the future there will be a more + sophisticated method in bttv to switch channels etc with a dedicated + tuner application. But, at the moment, you have to live with it... + ++The ++.B \-progname ++or ++.B \-pid ++option specifies the program or teletext PID if using the DVB interface. ++ ++If neither of these two options is used, alevt outputs informations about the currently accessible streams ++and uses the first of these PIDs as default. This output contains the PIDs and names that can be used ++as an input for the ++.B \-progname ++or ++.B \-pid ++option in the context of the currently chosen TV channel. ++ + .SH FILES + .I /dev/vbi* + ++.I /dev/dvb/adapter*/demux* ++ ++.SH EXAMPLES ++Select the teletext stream by the PID hex value: ++.IP ++.I alevt \-vbi /dev/dvb/adapter0/demux0 \-pid 0x0237 ++.PP ++Select the teletext stream by the PID decimal value: ++.IP ++.I alevt \-vbi /dev/dvb/adapter0/demux0 \-pid 567 ++.PP ++Select the teletext stream by the program name: ++.IP ++.I alevt \-vbi /dev/dvb/adapter0/demux0 \-progname \'kabel eins\' ++.PP ++ + .SH "SEE ALSO" + .BR alevt-date (1), + .BR alevt-cap (1), +diff --git a/dvb/audio.h b/dvb/audio.h +new file mode 100644 +index 0000000..d0ce5e2 +--- /dev/null ++++ b/dvb/audio.h +@@ -0,0 +1,124 @@ ++/* ++ * audio.h ++ * ++ * Copyright (C) 2000 Ralph Metzler ++ * & Marcus Metzler ++ for convergence integrated media GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Lesser Public License ++ * as published by the Free Software Foundation; either version 2.1 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef _DVBAUDIO_H_ ++#define _DVBAUDIO_H_ ++ ++#ifdef __KERNEL__ ++#include ++#else ++#include ++#endif ++ ++ ++typedef enum { ++ AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ ++ AUDIO_SOURCE_MEMORY /* Select internal memory as the main source */ ++} audio_stream_source_t; ++ ++ ++typedef enum { ++ AUDIO_STOPPED, /* Device is stopped */ ++ AUDIO_PLAYING, /* Device is currently playing */ ++ AUDIO_PAUSED /* Device is paused */ ++} audio_play_state_t; ++ ++ ++typedef enum { ++ AUDIO_STEREO, ++ AUDIO_MONO_LEFT, ++ AUDIO_MONO_RIGHT, ++} audio_channel_select_t; ++ ++ ++typedef struct audio_status { ++ int AV_sync_state; /* sync audio and video? */ ++ int mute_state; /* audio is muted */ ++ audio_play_state_t play_state; /* current playback state */ ++ audio_stream_source_t stream_source; /* current stream source */ ++ audio_channel_select_t channel_select; /* currently selected channel */ ++ int bypass_mode; /* pass on audio data to */ ++} audio_status_t; /* separate decoder hardware */ ++ ++ ++typedef struct audio_mixer { ++ unsigned int volume_left; ++ unsigned int volume_right; ++ // what else do we need? bass, pass-through, ... ++} audio_mixer_t; ++ ++ ++typedef ++struct audio_karaoke{ /* if Vocal1 or Vocal2 are non-zero, they get mixed */ ++ int vocal1; /* into left and right t at 70% each */ ++ int vocal2; /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/ ++ int melody; /* mixed into the left channel and */ ++ /* Vocal2 into the right channel at 100% each. */ ++ /* if Melody is non-zero, the melody channel gets mixed*/ ++} audio_karaoke_t; /* into left and right */ ++ ++ ++typedef uint16_t audio_attributes_t; ++/* bits: descr. */ ++/* 15-13 audio coding mode (0=ac3, 2=mpeg1, 3=mpeg2ext, 4=LPCM, 6=DTS, */ ++/* 12 multichannel extension */ ++/* 11-10 audio type (0=not spec, 1=language included) */ ++/* 9- 8 audio application mode (0=not spec, 1=karaoke, 2=surround) */ ++/* 7- 6 Quantization / DRC (mpeg audio: 1=DRC exists)(lpcm: 0=16bit, */ ++/* 5- 4 Sample frequency fs (0=48kHz, 1=96kHz) */ ++/* 2- 0 number of audio channels (n+1 channels) */ ++ ++ ++/* for GET_CAPABILITIES and SET_FORMAT, the latter should only set one bit */ ++#define AUDIO_CAP_DTS 1 ++#define AUDIO_CAP_LPCM 2 ++#define AUDIO_CAP_MP1 4 ++#define AUDIO_CAP_MP2 8 ++#define AUDIO_CAP_MP3 16 ++#define AUDIO_CAP_AAC 32 ++#define AUDIO_CAP_OGG 64 ++#define AUDIO_CAP_SDDS 128 ++#define AUDIO_CAP_AC3 256 ++ ++#define AUDIO_STOP _IO('o', 1) ++#define AUDIO_PLAY _IO('o', 2) ++#define AUDIO_PAUSE _IO('o', 3) ++#define AUDIO_CONTINUE _IO('o', 4) ++#define AUDIO_SELECT_SOURCE _IO('o', 5) ++#define AUDIO_SET_MUTE _IO('o', 6) ++#define AUDIO_SET_AV_SYNC _IO('o', 7) ++#define AUDIO_SET_BYPASS_MODE _IO('o', 8) ++#define AUDIO_CHANNEL_SELECT _IO('o', 9) ++#define AUDIO_GET_STATUS _IOR('o', 10, audio_status_t) ++ ++#define AUDIO_GET_CAPABILITIES _IOR('o', 11, unsigned int) ++#define AUDIO_CLEAR_BUFFER _IO('o', 12) ++#define AUDIO_SET_ID _IO('o', 13) ++#define AUDIO_SET_MIXER _IOW('o', 14, audio_mixer_t) ++#define AUDIO_SET_STREAMTYPE _IO('o', 15) ++#define AUDIO_SET_EXT_ID _IO('o', 16) ++#define AUDIO_SET_ATTRIBUTES _IOW('o', 17, audio_attributes_t) ++#define AUDIO_SET_KARAOKE _IOW('o', 18, audio_karaoke_t) ++ ++#endif /* _DVBAUDIO_H_ */ ++ +diff --git a/dvb/ca.h b/dvb/ca.h +new file mode 100644 +index 0000000..b7ce90e +--- /dev/null ++++ b/dvb/ca.h +@@ -0,0 +1,84 @@ ++/* ++ * ca.h ++ * ++ * Copyright (C) 2000 Ralph Metzler ++ * & Marcus Metzler ++ for convergence integrated media GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Lesser Public License ++ * as published by the Free Software Foundation; either version 2.1 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef _CA_H_ ++#define _CA_H_ ++ ++/* slot interface types and info */ ++ ++typedef struct ca_slot_info_s { ++ int num; /* slot number */ ++ ++ int type; /* CA interface this slot supports */ ++#define CA_CI 1 /* CI high level interface */ ++#define CA_CI_LINK 2 /* CI link layer level interface */ ++#define CA_CI_PHYS 4 /* CI physical layer level interface */ ++#define CA_SC 128 /* simple smart card interface */ ++ ++ unsigned int flags; ++#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */ ++#define CA_CI_MODULE_READY 2 ++} ca_slot_info_t; ++ ++ ++/* descrambler types and info */ ++ ++typedef struct ca_descr_info_s { ++ unsigned int num; /* number of available descramblers (keys) */ ++ unsigned int type; /* type of supported scrambling system */ ++#define CA_ECD 1 ++#define CA_NDS 2 ++#define CA_DSS 4 ++} ca_descr_info_t; ++ ++typedef struct ca_cap_s { ++ unsigned int slot_num; /* total number of CA card and module slots */ ++ unsigned int slot_type; /* OR of all supported types */ ++ unsigned int descr_num; /* total number of descrambler slots (keys) */ ++ unsigned int descr_type; /* OR of all supported types */ ++} ca_cap_t; ++ ++/* a message to/from a CI-CAM */ ++typedef struct ca_msg_s { ++ unsigned int index; ++ unsigned int type; ++ unsigned int length; ++ unsigned char msg[256]; ++} ca_msg_t; ++ ++typedef struct ca_descr_s { ++ unsigned int index; ++ unsigned int parity; ++ unsigned char cw[8]; ++} ca_descr_t; ++ ++#define CA_RESET _IO('o', 128) ++#define CA_GET_CAP _IOR('o', 129, ca_cap_t) ++#define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t) ++#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t) ++#define CA_GET_MSG _IOR('o', 132, ca_msg_t) ++#define CA_SEND_MSG _IOW('o', 133, ca_msg_t) ++#define CA_SET_DESCR _IOW('o', 134, ca_descr_t) ++ ++#endif ++ +diff --git a/dvb/dmx.h b/dvb/dmx.h +new file mode 100644 +index 0000000..38586a8 +--- /dev/null ++++ b/dvb/dmx.h +@@ -0,0 +1,172 @@ ++/* ++ * dmx.h ++ * ++ * Copyright (C) 2000 Marcus Metzler ++ * & Ralph Metzler ++ for convergence integrated media GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public License ++ * as published by the Free Software Foundation; either version 2.1 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef _DMX_H_ ++#define _DMX_H_ ++ ++#ifdef __KERNEL__ ++#include ++#else ++#include ++#endif ++ ++#define DMX_FILTER_SIZE 16 ++ ++typedef enum ++{ ++ DMX_OUT_DECODER, /* Streaming directly to decoder. */ ++ DMX_OUT_TAP, /* Output going to a memory buffer */ ++ /* (to be retrieved via the read command).*/ ++ DMX_OUT_TS_TAP /* Output multiplexed into a new TS */ ++ /* (to be retrieved by reading from the */ ++ /* logical DVR device). */ ++} dmx_output_t; ++ ++ ++typedef enum ++{ ++ DMX_IN_FRONTEND, /* Input from a front-end device. */ ++ DMX_IN_DVR /* Input from the logical DVR device. */ ++} dmx_input_t; ++ ++ ++typedef enum ++{ ++ DMX_PES_AUDIO0, ++ DMX_PES_VIDEO0, ++ DMX_PES_TELETEXT0, ++ DMX_PES_SUBTITLE0, ++ DMX_PES_PCR0, ++ ++ DMX_PES_AUDIO1, ++ DMX_PES_VIDEO1, ++ DMX_PES_TELETEXT1, ++ DMX_PES_SUBTITLE1, ++ DMX_PES_PCR1, ++ ++ DMX_PES_AUDIO2, ++ DMX_PES_VIDEO2, ++ DMX_PES_TELETEXT2, ++ DMX_PES_SUBTITLE2, ++ DMX_PES_PCR2, ++ ++ DMX_PES_AUDIO3, ++ DMX_PES_VIDEO3, ++ DMX_PES_TELETEXT3, ++ DMX_PES_SUBTITLE3, ++ DMX_PES_PCR3, ++ ++ DMX_PES_OTHER ++} dmx_pes_type_t; ++ ++#define DMX_PES_AUDIO DMX_PES_AUDIO0 ++#define DMX_PES_VIDEO DMX_PES_VIDEO0 ++#define DMX_PES_TELETEXT DMX_PES_TELETEXT0 ++#define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0 ++#define DMX_PES_PCR DMX_PES_PCR0 ++ ++ ++typedef enum ++{ ++ DMX_SCRAMBLING_EV, ++ DMX_FRONTEND_EV ++} dmx_event_t; ++ ++ ++typedef enum ++{ ++ DMX_SCRAMBLING_OFF, ++ DMX_SCRAMBLING_ON ++} dmx_scrambling_status_t; ++ ++ ++typedef struct dmx_filter ++{ ++ uint8_t filter[DMX_FILTER_SIZE]; ++ uint8_t mask[DMX_FILTER_SIZE]; ++ uint8_t mode[DMX_FILTER_SIZE]; ++} dmx_filter_t; ++ ++ ++struct dmx_sct_filter_params ++{ ++ uint16_t pid; ++ dmx_filter_t filter; ++ uint32_t timeout; ++ uint32_t flags; ++#define DMX_CHECK_CRC 1 ++#define DMX_ONESHOT 2 ++#define DMX_IMMEDIATE_START 4 ++#define DMX_KERNEL_CLIENT 0x8000 ++}; ++ ++ ++struct dmx_pes_filter_params ++{ ++ uint16_t pid; ++ dmx_input_t input; ++ dmx_output_t output; ++ dmx_pes_type_t pes_type; ++ uint32_t flags; ++}; ++ ++ ++struct dmx_event ++{ ++ dmx_event_t event; ++ time_t timeStamp; ++ union ++ { ++ dmx_scrambling_status_t scrambling; ++ } u; ++}; ++ ++typedef struct dmx_caps { ++ uint32_t caps; ++ int num_decoders; ++} dmx_caps_t; ++ ++typedef enum { ++ DMX_SOURCE_FRONT0 = 0, ++ DMX_SOURCE_FRONT1, ++ DMX_SOURCE_FRONT2, ++ DMX_SOURCE_FRONT3, ++ DMX_SOURCE_DVR0 = 16, ++ DMX_SOURCE_DVR1, ++ DMX_SOURCE_DVR2, ++ DMX_SOURCE_DVR3, ++} dmx_source_t; ++ ++ ++#define DMX_START _IO('o',41) ++#define DMX_STOP _IO('o',42) ++#define DMX_SET_FILTER _IOW('o',43,struct dmx_sct_filter_params) ++#define DMX_SET_PES_FILTER _IOW('o',44,struct dmx_pes_filter_params) ++#define DMX_SET_BUFFER_SIZE _IO('o',45) ++#define DMX_GET_EVENT _IOR('o',46,struct dmx_event) ++#define DMX_GET_PES_PIDS _IOR('o',47,uint16_t) ++#define DMX_GET_CAPS _IOR('o',48,dmx_caps_t) ++#define DMX_SET_SOURCE _IOW('o',49,dmx_source_t) ++ ++#endif /*_DMX_H_*/ ++ +diff --git a/dvb/frontend.h b/dvb/frontend.h +new file mode 100644 +index 0000000..0256741 +--- /dev/null ++++ b/dvb/frontend.h +@@ -0,0 +1,261 @@ ++/* ++ * frontend.h ++ * ++ * Copyright (C) 2000 Marcus Metzler ++ * Ralph Metzler ++ * Holger Waechtler ++ * Andre Draszik ++ * for convergence integrated media GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public License ++ * as published by the Free Software Foundation; either version 2.1 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef _FRONTEND_H_ ++#define _FRONTEND_H_ ++ ++#ifdef __KERNEL__ ++#include ++#else ++#include ++#endif ++ ++ ++typedef enum { ++ FE_QPSK, ++ FE_QAM, ++ FE_OFDM ++} fe_type_t; ++ ++ ++typedef enum { ++ FE_IS_STUPID = 0, ++ FE_CAN_INVERSION_AUTO = 0x1, ++ FE_CAN_FEC_1_2 = 0x2, ++ FE_CAN_FEC_2_3 = 0x4, ++ FE_CAN_FEC_3_4 = 0x8, ++ FE_CAN_FEC_4_5 = 0x10, ++ FE_CAN_FEC_5_6 = 0x20, ++ FE_CAN_FEC_6_7 = 0x40, ++ FE_CAN_FEC_7_8 = 0x80, ++ FE_CAN_FEC_8_9 = 0x100, ++ FE_CAN_FEC_AUTO = 0x200, ++ FE_CAN_QPSK = 0x400, ++ FE_CAN_QAM_16 = 0x800, ++ FE_CAN_QAM_32 = 0x1000, ++ FE_CAN_QAM_64 = 0x2000, ++ FE_CAN_QAM_128 = 0x4000, ++ FE_CAN_QAM_256 = 0x8000, ++ FE_CAN_QAM_AUTO = 0x10000, ++ FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000, ++ FE_CAN_BANDWIDTH_AUTO = 0x40000, ++ FE_CAN_GUARD_INTERVAL_AUTO = 0x80000, ++ FE_CAN_HIERARCHY_AUTO = 0x100000, ++ FE_CAN_MUTE_TS = 0x80000000 ++} fe_caps_t; ++ ++ ++struct dvb_frontend_info { ++ char name[128]; ++ fe_type_t type; ++ uint32_t frequency_min; ++ uint32_t frequency_max; ++ uint32_t frequency_stepsize; ++ uint32_t frequency_tolerance; ++ uint32_t symbol_rate_min; ++ uint32_t symbol_rate_max; ++ uint32_t symbol_rate_tolerance; /* ppm */ ++ uint32_t notifier_delay; /* ms */ ++ fe_caps_t caps; ++}; ++ ++ ++/** ++ * Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for ++ * the meaning of this struct... ++ */ ++struct dvb_diseqc_master_cmd { ++ uint8_t msg [6]; /* { framing, address, command, data [3] } */ ++ uint8_t msg_len; /* valid values are 3...6 */ ++}; ++ ++ ++struct dvb_diseqc_slave_reply { ++ uint8_t msg [4]; /* { framing, data [3] } */ ++ uint8_t msg_len; /* valid values are 0...4, 0 means no msg */ ++ int timeout; /* return from ioctl after timeout ms with */ ++}; /* errorcode when no message was received */ ++ ++ ++typedef enum { ++ SEC_VOLTAGE_13, ++ SEC_VOLTAGE_18 ++} fe_sec_voltage_t; ++ ++ ++typedef enum { ++ SEC_TONE_ON, ++ SEC_TONE_OFF ++} fe_sec_tone_mode_t; ++ ++ ++typedef enum { ++ SEC_MINI_A, ++ SEC_MINI_B ++} fe_sec_mini_cmd_t; ++ ++ ++typedef enum { ++ FE_HAS_SIGNAL = 0x01, /* found something above the noise level */ ++ FE_HAS_CARRIER = 0x02, /* found a DVB signal */ ++ FE_HAS_VITERBI = 0x04, /* FEC is stable */ ++ FE_HAS_SYNC = 0x08, /* found sync bytes */ ++ FE_HAS_LOCK = 0x10, /* everything's working... */ ++ FE_TIMEDOUT = 0x20, /* no lock within the last ~2 seconds */ ++ FE_REINIT = 0x40 /* frontend was reinitialized, */ ++} fe_status_t; /* application is recommned to reset */ ++ /* DiSEqC, tone and parameters */ ++ ++typedef enum { ++ INVERSION_OFF, ++ INVERSION_ON, ++ INVERSION_AUTO ++} fe_spectral_inversion_t; ++ ++ ++typedef enum { ++ FEC_NONE = 0, ++ FEC_1_2, ++ FEC_2_3, ++ FEC_3_4, ++ FEC_4_5, ++ FEC_5_6, ++ FEC_6_7, ++ FEC_7_8, ++ FEC_8_9, ++ FEC_AUTO ++} fe_code_rate_t; ++ ++ ++typedef enum { ++ QPSK, ++ QAM_16, ++ QAM_32, ++ QAM_64, ++ QAM_128, ++ QAM_256, ++ QAM_AUTO ++} fe_modulation_t; ++ ++ ++typedef enum { ++ TRANSMISSION_MODE_2K, ++ TRANSMISSION_MODE_8K, ++ TRANSMISSION_MODE_AUTO ++} fe_transmit_mode_t; ++ ++typedef enum { ++ BANDWIDTH_8_MHZ, ++ BANDWIDTH_7_MHZ, ++ BANDWIDTH_6_MHZ, ++ BANDWIDTH_AUTO ++} fe_bandwidth_t; ++ ++ ++typedef enum { ++ GUARD_INTERVAL_1_32, ++ GUARD_INTERVAL_1_16, ++ GUARD_INTERVAL_1_8, ++ GUARD_INTERVAL_1_4, ++ GUARD_INTERVAL_AUTO ++} fe_guard_interval_t; ++ ++ ++typedef enum { ++ HIERARCHY_NONE, ++ HIERARCHY_1, ++ HIERARCHY_2, ++ HIERARCHY_4, ++ HIERARCHY_AUTO ++} fe_hierarchy_t; ++ ++ ++struct dvb_qpsk_parameters { ++ uint32_t symbol_rate; /* symbol rate in Symbols per second */ ++ fe_code_rate_t fec_inner; /* forward error correction (see above) */ ++}; ++ ++ ++struct dvb_qam_parameters { ++ uint32_t symbol_rate; /* symbol rate in Symbols per second */ ++ fe_code_rate_t fec_inner; /* forward error correction (see above) */ ++ fe_modulation_t modulation; /* modulation type (see above) */ ++}; ++ ++ ++struct dvb_ofdm_parameters { ++ fe_bandwidth_t bandwidth; ++ fe_code_rate_t code_rate_HP; /* high priority stream code rate */ ++ fe_code_rate_t code_rate_LP; /* low priority stream code rate */ ++ fe_modulation_t constellation; /* modulation type (see above) */ ++ fe_transmit_mode_t transmission_mode; ++ fe_guard_interval_t guard_interval; ++ fe_hierarchy_t hierarchy_information; ++}; ++ ++ ++struct dvb_frontend_parameters { ++ uint32_t frequency; /* (absolute) frequency in Hz for QAM/OFDM */ ++ /* intermediate frequency in kHz for QPSK */ ++ fe_spectral_inversion_t inversion; ++ union { ++ struct dvb_qpsk_parameters qpsk; ++ struct dvb_qam_parameters qam; ++ struct dvb_ofdm_parameters ofdm; ++ } u; ++}; ++ ++ ++struct dvb_frontend_event { ++ fe_status_t status; ++ struct dvb_frontend_parameters parameters; ++}; ++ ++ ++ ++#define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info) ++ ++#define FE_DISEQC_RESET_OVERLOAD _IO('o', 62) ++#define FE_DISEQC_SEND_MASTER_CMD _IOW('o', 63, struct dvb_diseqc_master_cmd) ++#define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply) ++#define FE_DISEQC_SEND_BURST _IO('o', 65) /* fe_sec_mini_cmd_t */ ++ ++#define FE_SET_TONE _IO('o', 66) /* fe_sec_tone_mode_t */ ++#define FE_SET_VOLTAGE _IO('o', 67) /* fe_sec_voltage_t */ ++#define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68) /* int */ ++ ++#define FE_READ_STATUS _IOR('o', 69, fe_status_t) ++#define FE_READ_BER _IOR('o', 70, uint32_t) ++#define FE_READ_SIGNAL_STRENGTH _IOR('o', 71, uint16_t) ++#define FE_READ_SNR _IOR('o', 72, uint16_t) ++#define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, uint32_t) ++ ++#define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters) ++#define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters) ++#define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event) ++ ++ ++#endif /*_FRONTEND_H_*/ ++ +diff --git a/dvb/net.h b/dvb/net.h +new file mode 100644 +index 0000000..419d448 +--- /dev/null ++++ b/dvb/net.h +@@ -0,0 +1,44 @@ ++/* ++ * net.h ++ * ++ * Copyright (C) 2000 Marcus Metzler ++ * & Ralph Metzler ++ for convergence integrated media GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public License ++ * as published by the Free Software Foundation; either version 2.1 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef _DVBNET_H_ ++#define _DVBNET_H_ ++ ++#ifdef __KERNEL__ ++#include ++#else ++#include ++#endif ++ ++ ++struct dvb_net_if { ++ uint16_t pid; ++ uint16_t if_num; ++}; ++ ++ ++#define NET_ADD_IF _IOWR('o', 52, struct dvb_net_if) ++#define NET_REMOVE_IF _IO('o', 53) ++ ++#endif /*_DVBNET_H_*/ ++ +diff --git a/dvb/osd.h b/dvb/osd.h +new file mode 100644 +index 0000000..0d81439 +--- /dev/null ++++ b/dvb/osd.h +@@ -0,0 +1,111 @@ ++/* ++ * osd.h ++ * ++ * Copyright (C) 2001 Ralph Metzler ++ * & Marcus Metzler ++ for convergence integrated media GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Lesser Public License ++ * as published by the Free Software Foundation; either version 2.1 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef _DVBOSD_H_ ++#define _DVBOSD_H_ ++ ++typedef enum { ++ // All functions return -2 on "not open" ++ OSD_Close=1, // () ++ // Disables OSD and releases the buffers ++ // returns 0 on success ++ OSD_Open, // (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0)) ++ // Opens OSD with this size and bit depth ++ // returns 0 on success, -1 on DRAM allocation error, -2 on "already open" ++ OSD_Show, // () ++ // enables OSD mode ++ // returns 0 on success ++ OSD_Hide, // () ++ // disables OSD mode ++ // returns 0 on success ++ OSD_Clear, // () ++ // Sets all pixel to color 0 ++ // returns 0 on success ++ OSD_Fill, // (color) ++ // Sets all pixel to color ++ // returns 0 on success ++ OSD_SetColor, // (color,R{x0},G{y0},B{x1},opacity{y1}) ++ // set palette entry to , and apply ++ // R,G,B: 0..255 ++ // R=Red, G=Green, B=Blue ++ // opacity=0: pixel opacity 0% (only video pixel shows) ++ // opacity=1..254: pixel opacity as specified in header ++ // opacity=255: pixel opacity 100% (only OSD pixel shows) ++ // returns 0 on success, -1 on error ++ OSD_SetPalette, // (firstcolor{color},lastcolor{x0},data) ++ // Set a number of entries in the palette ++ // sets the entries "firstcolor" through "lastcolor" from the array "data" ++ // data has 4 byte for each color: ++ // R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel ++ OSD_SetTrans, // (transparency{color}) ++ // Sets transparency of mixed pixel (0..15) ++ // returns 0 on success ++ OSD_SetPixel, // (x0,y0,color) ++ // sets pixel , to color number ++ // returns 0 on success, -1 on error ++ OSD_GetPixel, // (x0,y0) ++ // returns color number of pixel ,, or -1 ++ OSD_SetRow, // (x0,y0,x1,data) ++ // fills pixels x0,y through x1,y with the content of data[] ++ // returns 0 on success, -1 on clipping all pixel (no pixel drawn) ++ OSD_SetBlock, // (x0,y0,x1,y1,increment{color},data) ++ // fills pixels x0,y0 through x1,y1 with the content of data[] ++ // inc contains the width of one line in the data block, ++ // inc<=0 uses blockwidth as linewidth ++ // returns 0 on success, -1 on clipping all pixel ++ OSD_FillRow, // (x0,y0,x1,color) ++ // fills pixels x0,y through x1,y with the color ++ // returns 0 on success, -1 on clipping all pixel ++ OSD_FillBlock, // (x0,y0,x1,y1,color) ++ // fills pixels x0,y0 through x1,y1 with the color ++ // returns 0 on success, -1 on clipping all pixel ++ OSD_Line, // (x0,y0,x1,y1,color) ++ // draw a line from x0,y0 to x1,y1 with the color ++ // returns 0 on success ++ OSD_Query, // (x0,y0,x1,y1,xasp{color}}), yasp=11 ++ // fills parameters with the picture dimensions and the pixel aspect ratio ++ // returns 0 on success ++ OSD_Test, // () ++ // draws a test picture. for debugging purposes only ++ // returns 0 on success ++// TODO: remove "test" in final version ++ OSD_Text, // (x0,y0,size,color,text) ++ OSD_SetWindow, // (x0) set window with number 0 ++ * for convergence integrated media GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public License ++ * as published by the Free Software Foundation; either version 2.1 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef _VERSION_H_ ++#define _VERSION_H_ ++ ++#define DVB_API_VERSION 3 ++ ++#endif /*_VERSION_H_*/ ++ +diff --git a/dvb/video.h b/dvb/video.h +new file mode 100644 +index 0000000..8bcb009 +--- /dev/null ++++ b/dvb/video.h +@@ -0,0 +1,190 @@ ++/* ++ * video.h ++ * ++ * Copyright (C) 2000 Marcus Metzler ++ * & Ralph Metzler ++ for convergence integrated media GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public License ++ * as published by the Free Software Foundation; either version 2.1 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef _DVBVIDEO_H_ ++#define _DVBVIDEO_H_ ++ ++#ifdef __KERNEL__ ++#include ++#else ++#include ++#endif ++ ++ ++typedef enum { ++ VIDEO_FORMAT_4_3, /* Select 4:3 format */ ++ VIDEO_FORMAT_16_9 /* Select 16:9 format. */ ++} video_format_t; ++ ++ ++typedef enum { ++ VIDEO_SYSTEM_PAL, ++ VIDEO_SYSTEM_NTSC, ++ VIDEO_SYSTEM_PALN, ++ VIDEO_SYSTEM_PALNc, ++ VIDEO_SYSTEM_PALM, ++ VIDEO_SYSTEM_NTSC60, ++ VIDEO_SYSTEM_PAL60, ++ VIDEO_SYSTEM_PALM60 ++} video_system_t; ++ ++ ++typedef enum { ++ VIDEO_PAN_SCAN, /* use pan and scan format */ ++ VIDEO_LETTER_BOX, /* use letterbox format */ ++ VIDEO_CENTER_CUT_OUT /* use center cut out format */ ++} video_displayformat_t; ++ ++ ++typedef enum { ++ VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */ ++ VIDEO_SOURCE_MEMORY /* If this source is selected, the stream ++ comes from the user through the write ++ system call */ ++} video_stream_source_t; ++ ++ ++typedef enum { ++ VIDEO_STOPPED, /* Video is stopped */ ++ VIDEO_PLAYING, /* Video is currently playing */ ++ VIDEO_FREEZED /* Video is freezed */ ++} video_play_state_t; ++ ++ ++struct video_event { ++ int32_t type; ++ time_t timestamp; ++ union { ++ video_format_t video_format; ++ } u; ++}; ++ ++ ++struct video_status { ++ int video_blank; /* blank video on freeze? */ ++ video_play_state_t play_state; /* current state of playback */ ++ video_stream_source_t stream_source; /* current source (demux/memory) */ ++ video_format_t video_format; /* current aspect ratio of stream*/ ++ video_displayformat_t display_format;/* selected cropping mode */ ++}; ++ ++ ++struct video_still_picture { ++ char *iFrame; /* pointer to a single iframe in memory */ ++ int32_t size; ++}; ++ ++ ++typedef ++struct video_highlight { ++ int active; /* 1=show highlight, 0=hide highlight */ ++ uint8_t contrast1; /* 7- 4 Pattern pixel contrast */ ++ /* 3- 0 Background pixel contrast */ ++ uint8_t contrast2; /* 7- 4 Emphasis pixel-2 contrast */ ++ /* 3- 0 Emphasis pixel-1 contrast */ ++ uint8_t color1; /* 7- 4 Pattern pixel color */ ++ /* 3- 0 Background pixel color */ ++ uint8_t color2; /* 7- 4 Emphasis pixel-2 color */ ++ /* 3- 0 Emphasis pixel-1 color */ ++ uint32_t ypos; /* 23-22 auto action mode */ ++ /* 21-12 start y */ ++ /* 9- 0 end y */ ++ uint32_t xpos; /* 23-22 button color number */ ++ /* 21-12 start x */ ++ /* 9- 0 end x */ ++} video_highlight_t; ++ ++ ++typedef struct video_spu { ++ int active; ++ int stream_id; ++} video_spu_t; ++ ++ ++typedef struct video_spu_palette { /* SPU Palette information */ ++ int length; ++ uint8_t *palette; ++} video_spu_palette_t; ++ ++ ++typedef struct video_navi_pack { ++ int length; /* 0 ... 1024 */ ++ uint8_t data[1024]; ++} video_navi_pack_t; ++ ++ ++typedef uint16_t video_attributes_t; ++/* bits: descr. */ ++/* 15-14 Video compression mode (0=MPEG-1, 1=MPEG-2) */ ++/* 13-12 TV system (0=525/60, 1=625/50) */ ++/* 11-10 Aspect ratio (0=4:3, 3=16:9) */ ++/* 9- 8 permitted display mode on 4:3 monitor (0=both, 1=only pan-sca */ ++/* 7 line 21-1 data present in GOP (1=yes, 0=no) */ ++/* 6 line 21-2 data present in GOP (1=yes, 0=no) */ ++/* 5- 3 source resolution (0=720x480/576, 1=704x480/576, 2=352x480/57 */ ++/* 2 source letterboxed (1=yes, 0=no) */ ++/* 0 film/camera mode (0=camera, 1=film (625/50 only)) */ ++ ++ ++/* bit definitions for capabilities: */ ++/* can the hardware decode MPEG1 and/or MPEG2? */ ++#define VIDEO_CAP_MPEG1 1 ++#define VIDEO_CAP_MPEG2 2 ++/* can you send a system and/or program stream to video device? ++ (you still have to open the video and the audio device but only ++ send the stream to the video device) */ ++#define VIDEO_CAP_SYS 4 ++#define VIDEO_CAP_PROG 8 ++/* can the driver also handle SPU, NAVI and CSS encoded data? ++ (CSS API is not present yet) */ ++#define VIDEO_CAP_SPU 16 ++#define VIDEO_CAP_NAVI 32 ++#define VIDEO_CAP_CSS 64 ++ ++ ++#define VIDEO_STOP _IO('o', 21) ++#define VIDEO_PLAY _IO('o', 22) ++#define VIDEO_FREEZE _IO('o', 23) ++#define VIDEO_CONTINUE _IO('o', 24) ++#define VIDEO_SELECT_SOURCE _IO('o', 25) ++#define VIDEO_SET_BLANK _IO('o', 26) ++#define VIDEO_GET_STATUS _IOR('o', 27, struct video_status) ++#define VIDEO_GET_EVENT _IOR('o', 28, struct video_event) ++#define VIDEO_SET_DISPLAY_FORMAT _IO('o', 29) ++#define VIDEO_STILLPICTURE _IOW('o', 30, struct video_still_picture) ++#define VIDEO_FAST_FORWARD _IO('o', 31) ++#define VIDEO_SLOWMOTION _IO('o', 32) ++#define VIDEO_GET_CAPABILITIES _IOR('o', 33, unsigned int) ++#define VIDEO_CLEAR_BUFFER _IO('o', 34) ++#define VIDEO_SET_ID _IO('o', 35) ++#define VIDEO_SET_STREAMTYPE _IO('o', 36) ++#define VIDEO_SET_FORMAT _IO('o', 37) ++#define VIDEO_SET_SYSTEM _IO('o', 38) ++#define VIDEO_SET_HIGHLIGHT _IOW('o', 39, video_highlight_t) ++#define VIDEO_SET_SPU _IOW('o', 50, video_spu_t) ++#define VIDEO_SET_SPU_PALETTE _IOW('o', 51, video_spu_palette_t) ++#define VIDEO_GET_NAVI _IOR('o', 52, video_navi_pack_t) ++#define VIDEO_SET_ATTRIBUTES _IO('o', 53) ++ ++#endif /*_DVBVIDEO_H_*/ ++ +diff --git a/main.c b/main.c +index d33e31a..9d3cf9e 100644 +--- a/main.c ++++ b/main.c +@@ -22,7 +22,8 @@ static struct vbi *vbi; + static int fine_tune = 1; // auto = 999; + static int erc = 1; + static int newbttv = -1; +- ++static char *progname; ++static int txtpid = -1; + + static void + usage(FILE *fp, int exitval) +@@ -43,6 +44,8 @@ usage(FILE *fp, int exitval) + " -[no]erc\t\t\tenabled\n" + " -[no]bell\t\t\tenabled\n" + " -charset latin-1/2\t\tlatin-1\n" ++ " -progname name\n" ++ " -pid pid\n" + "\n" + " Order is important! Each page number\n" + " opens a new window with the previously\n" +@@ -56,6 +59,13 @@ usage(FILE *fp, int exitval) + " The -child option requires a parent\n" + " window. So, it must be preceeded by\n" + " a parent or another child window.\n" ++ "\n" ++ " To use the DVB interface, use\n" ++ " -vbi /dev/dvb/adapter0/demux0\n" ++ "\n" ++ " The -progname or -pid option specify\n" ++ " the program or teletext PID if using\n" ++ " the DVB interface.\n" + ); + exit(exitval); + } +@@ -86,7 +96,7 @@ static struct vtwin * + start(int argc, char **argv, struct vtwin *parent, int pgno, int subno) + { + if (vbi == 0) +- vbi = vbi_open(vbi_name, cache_open(), fine_tune, newbttv); ++ vbi = vbi_open(vbi_name, cache_open(), fine_tune, newbttv, progname, txtpid); + if (vbi == 0) + fatal("cannot open %s", vbi_name); + if (vbi->cache) +@@ -126,6 +136,8 @@ option(int argc, char **argv, int *ind, char **arg) + { "-bell", "-b", 0 }, + { "-nobell", "-nb", 0 }, + { "-charset", "-latin", 1 }, ++ { "-progname", "-pn", 1 }, ++ { "-pid", "--pid", 1 }, + }; + int i; + +@@ -238,6 +250,12 @@ main(int argc, char **argv) + case 12: // debug + debug++; + break; ++ case 19: // progname ++ progname = arg; ++ break; ++ case 20: // pid ++ txtpid = strtoul(arg, NULL, 0); ++ break; + case 6: // parent + case -1: // non-option arg + pgno = arg_pgno(arg, &subno); +diff --git a/vbi.c b/vbi.c +index 998fe0a..e7d268c 100644 +--- a/vbi.c ++++ b/vbi.c +@@ -1,9 +1,12 @@ ++#define _GNU_SOURCE + #include + #include + #include + #include + #include ++#include + #include ++#include + #include "os.h" + #include "vt.h" + #include "misc.h" +@@ -12,6 +15,10 @@ + #include "hamm.h" + #include "lang.h" + ++ ++static int vbi_dvb_open(struct vbi *vbi, const char *vbi_name, const char *progname, int txtpid); ++static void dvb_handler(struct vbi *vbi, int fd); ++ + #define FAC (1<<16) // factor for fix-point arithmetic + + static u8 *rawbuf; // one common buffer for raw vbi data. +@@ -580,7 +587,7 @@ setup_dev(struct vbi *vbi) + + + struct vbi * +-vbi_open(char *vbi_name, struct cache *ca, int fine_tune, int big_buf) ++vbi_open(char *vbi_name, struct cache *ca, int fine_tune, int big_buf, const char *progname, int txtpid) + { + static int inited = 0; + struct vbi *vbi; +@@ -595,17 +602,29 @@ vbi_open(char *vbi_name, struct cache *ca, int fine_tune, int big_buf) + goto fail1; + } + +- if ((vbi->fd = open(vbi_name, O_RDONLY)) == -1) +- { +- ioerror(vbi_name); +- goto fail2; +- } ++ if (!vbi_dvb_open(vbi, vbi_name, progname, txtpid)) { ++ vbi->cache = ca; + +- if (big_buf != -1) +- error("-oldbttv/-newbttv is obsolete. option ignored."); ++ dl_init(vbi->clients); ++ vbi->seq = 0; ++ out_of_sync(vbi); ++ vbi->ppage = vbi->rpage; + ++ //vbi_pll_reset(vbi, fine_tune); ++ fdset_add_fd(fds, vbi->fd, dvb_handler, vbi); ++ return vbi; ++ } ++ if ((vbi->fd = open(vbi_name, O_RDONLY)) == -1) ++ { ++ ioerror(vbi_name); ++ goto fail2; ++ } ++ ++ if (big_buf != -1) ++ error("-oldbttv/-newbttv is obsolete. option ignored."); ++ + if (setup_dev(vbi) == -1) +- goto fail3; ++ goto fail3; + + vbi->cache = ca; + +@@ -663,3 +682,394 @@ vbi_reset(struct vbi *vbi) + vbi->cache->op->reset(vbi->cache); + vbi_send(vbi, EV_RESET, 0, 0, 0, 0); + } ++ ++ ++ ++/* ++ * Starting from here: DVB ++ */ ++ ++/* DVB API */ ++#include "dvb/dmx.h" ++#include "dvb/frontend.h" ++/*#include "dvb/sec.h"*/ ++#include "dvb/video.h" ++ ++static int dvb_get_table(int fd, u_int16_t pid, u_int8_t tblid, u_int8_t *buf, size_t bufsz) ++{ ++ struct dmx_sct_filter_params sctFilterParams; ++ struct pollfd pfd; ++ int r; ++ ++ memset(&sctFilterParams, 0, sizeof(sctFilterParams)); ++ sctFilterParams.pid = pid; ++ sctFilterParams.timeout = 10000; ++ sctFilterParams.flags = DMX_ONESHOT | DMX_IMMEDIATE_START | DMX_CHECK_CRC; ++ sctFilterParams.filter.filter[0] = tblid; ++ sctFilterParams.filter.mask[0] = 0xff; ++ if (ioctl(fd, DMX_SET_FILTER, &sctFilterParams)) { ++ perror("DMX_SET_FILTER"); ++ return -1; ++ } ++ pfd.fd = fd; ++ pfd.events = POLLIN; ++ r = poll(&pfd, 1, 10000); ++ if (r < 0) { ++ perror("poll"); ++ goto out; ++ } ++ if (r > 0) { ++ r = read(fd, buf, bufsz); ++ if (r < 0) { ++ perror("read"); ++ goto out; ++ } ++ } ++ out: ++ ioctl(fd, DMX_STOP, 0); ++ return r; ++} ++ ++static const u_int8_t byterev8[256] = { ++ 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, ++ 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, ++ 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, ++ 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, ++ 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, ++ 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, ++ 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, ++ 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, ++ 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, ++ 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, ++ 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, ++ 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, ++ 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, ++ 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, ++ 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, ++ 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, ++ 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, ++ 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, ++ 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, ++ 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, ++ 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, ++ 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, ++ 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, ++ 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, ++ 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, ++ 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, ++ 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, ++ 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, ++ 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, ++ 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, ++ 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, ++ 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff ++}; ++ ++static void dvb_handle_pes_payload(struct vbi *vbi, const u_int8_t *buf, unsigned int len) ++{ ++ unsigned int p, i; ++ u_int8_t data[42]; ++ ++ if (buf[0] < 0x10 || buf[0] > 0x1f) ++ return; /* no EBU teletext data */ ++ for (p = 1; p < len; p += /*6 + 40*/ 2 + buf[p + 1]) { ++#if 0 ++ printf("Txt Line:\n" ++ " data_unit_id 0x%02x\n" ++ " data_unit_length 0x%02x\n" ++ " reserved_for_future_use 0x%01x\n" ++ " field_parity 0x%01x\n" ++ " line_offset 0x%02x\n" ++ " framing_code 0x%02x\n" ++ " magazine_and_packet_addr 0x%04x\n" ++ " data_block 0x%02x 0x%02x 0x%02x 0x%02x\n", ++ buf[p], buf[p+1], ++ buf[p+2] >> 6, ++ (buf[p+2] >> 5) & 1, ++ buf[p+2] & 0x1f, ++ buf[p+3], ++ (buf[p+4] << 8) | buf[p+5], ++ buf[p+6], buf[p+7], buf[p+8], buf[p+9]); ++#endif ++ for (i = 0; i < sizeof(data); i++) ++ data[i] = byterev8[buf[p+4+i]]; ++ /* ++ * note: we should probably check for missing lines and then ++ * call out_of_sync(vbi); and/or vbi_reset(vbi); ++ */ ++ vt_line(vbi, data); ++ } ++} ++ ++static unsigned int rawptr; ++ ++static void dvb_handler(struct vbi *vbi, int fd) ++{ ++ /* PES packet start code prefix and stream_id == private_stream_1 */ ++ static const u_int8_t peshdr[4] = { 0x00, 0x00, 0x01, 0xbd }; ++ u_int8_t *bp; ++ int n; ++ unsigned int p, i, len; ++ u_int16_t rpid; ++ u_int32_t crc, crccomp; ++ ++ if (rawptr >= (unsigned int)rawbuf_size) ++ rawptr = 0; ++ n = read(vbi->fd, rawbuf + rawptr, rawbuf_size - rawptr); ++ if (n <= 0) ++ return; ++ rawptr += n; ++ if (rawptr < 6) ++ return; ++ if (memcmp(rawbuf, peshdr, sizeof(peshdr))) { ++ bp = memmem(rawbuf, rawptr, peshdr, sizeof(peshdr)); ++ if (!bp) ++ return; ++ rawptr -= (bp - rawbuf); ++ memmove(rawbuf, bp, rawptr); ++ if (rawptr < 6) ++ return; ++ } ++ len = (rawbuf[4] << 8) | rawbuf[5]; ++ if (len < 9) { ++ rawptr = 0; ++ return; ++ } ++ if (rawptr < len + 6) ++ return; ++ p = 9 + rawbuf[8]; ++#if 0 ++ for (i = 0; i < len - p; i++) { ++ if (!(i & 15)) ++ printf("\n%04x:", i); ++ printf(" %02x", rawbuf[p + i]); ++ } ++ printf("\n"); ++#endif ++ if (!dl_empty(vbi->clients)) ++ dvb_handle_pes_payload(vbi, rawbuf + p, len - p); ++ rawptr -= len; ++ if (rawptr) ++ memmove(rawbuf, rawbuf + len, rawptr); ++} ++ ++static int vbi_dvb_open(struct vbi *vbi, const char *vbi_name, const char *progname, int txtpid) ++{ ++ struct { ++ u_int16_t pmtpid; ++ u_int16_t txtpid; ++ u_int16_t service_id; ++ u_int8_t service_type; ++ char service_provider_name[64]; ++ char service_name[64]; ++ u_int8_t txtlang[3]; ++ u_int8_t txttype; ++ u_int8_t txtmagazine; ++ u_int8_t txtpage; ++ } progtbl[16], *progp; ++ u_int8_t tbl[4096]; ++ int r; ++ unsigned int i, j, k, l, progcnt = 0; ++ struct dmx_pes_filter_params filterpar; ++ ++ /* open DVB demux device */ ++ if (!vbi_name) ++ vbi_name = "/dev/dvb/adapter0/demux0"; ++ if ((vbi->fd = open(vbi_name, O_RDWR)) == -1) { ++ error("cannot open demux device %s", vbi_name); ++ return -1; ++ } ++ memset(progtbl, 0, sizeof(progtbl)); ++ if (txtpid >= 0x15 && txtpid < 0x1fff) { ++ vbi->txtpid = txtpid; ++ printf("Using command line specified teletext PID 0x%x\n", vbi->txtpid); ++ goto txtpidfound; ++ } ++ /* parse PAT to enumerate services and to find the PMT PIDs */ ++ r = dvb_get_table(vbi->fd, 0, 0, tbl, sizeof(tbl)); ++ if (r == -1) ++ goto outerr; ++ if (!(tbl[5] & 1)) { ++ error("PAT not active (current_next_indicator == 0)"); ++ goto outerr; ++ } ++ if (tbl[6] != 0 || tbl[7] != 0) { ++ error("PAT has multiple sections"); ++ goto outerr; ++ } ++ if (r < 13) { ++ error("PAT too short\n"); ++ goto outerr; ++ } ++ r -= 13; ++ for (i = 0; i < (unsigned)r; i += 4) { ++ if (progcnt >= sizeof(progtbl)/sizeof(progtbl[0])) { ++ error("Program table overflow"); ++ goto outerr; ++ } ++ progtbl[progcnt].service_id = (tbl[8 + i] << 8) | tbl[9 + i]; ++ if (!progtbl[progcnt].service_id) /* this is the NIT pointer */ ++ continue; ++ progtbl[progcnt].pmtpid = ((tbl[10 + i] << 8) | tbl[11 + i]) & 0x1fff; ++ progcnt++; ++ } ++ /* find the SDT to get the station names */ ++ r = dvb_get_table(vbi->fd, 0x11, 0x42, tbl, sizeof(tbl)); ++ if (r == -1) ++ goto outerr; ++ if (!(tbl[5] & 1)) { ++ error("SDT not active (current_next_indicator == 0)"); ++ goto outerr; ++ } ++ if (tbl[6] != 0 || tbl[7] != 0) { ++ error("SDT has multiple sections"); ++ goto outerr; ++ } ++ if (r < 12) { ++ error("SDT too short\n"); ++ goto outerr; ++ } ++ i = 11; ++ while (i < (unsigned)r - 1) { ++ k = (tbl[i] << 8) | tbl[i+1]; /* service ID */ ++ progp = NULL; ++ for (j = 0; j < progcnt; j++) ++ if (progtbl[j].service_id == k) { ++ progp = &progtbl[j]; ++ break; ++ } ++ j = i + 5; ++ i = j + (((tbl[i+3] << 8) | tbl[i+4]) & 0x0fff); ++ if (!progp) { ++ error("SDT: service_id 0x%x not in PAT\n", k); ++ continue; ++ } ++ while (j < i) { ++ switch (tbl[j]) { ++ case 0x48: /* service descriptor */ ++ k = j + 4 + tbl[j + 3]; ++ progp->service_type = tbl[j+2]; ++ snprintf(progp->service_provider_name, sizeof(progp->service_provider_name), ++ "%.*s", tbl[j+3], tbl + j + 4); ++ snprintf(progp->service_name, sizeof(progp->service_name), ++ "%.*s", tbl[k], tbl + k + 1); ++ break; ++ } ++ j += 2 + tbl[j + 1]; ++ } ++ } ++ /* parse PMT's to find Teletext Services */ ++ for (l = 0; l < progcnt; l++) { ++ progtbl[l].txtpid = 0x1fff; ++ if (progtbl[l].service_type != 0x01 || /* service is not digital TV */ ++ progtbl[l].pmtpid < 0x15 || /* PMT PID sanity check */ ++ progtbl[l].pmtpid >= 0x1fff) ++ continue; ++ r = dvb_get_table(vbi->fd, progtbl[l].pmtpid, 0x02, tbl, sizeof(tbl)); ++ if (r == -1) ++ goto outerr; ++ if (!(tbl[5] & 1)) { ++ error("PMT pid 0x%x not active (current_next_indicator == 0)", progtbl[l].pmtpid); ++ goto outerr; ++ } ++ if (tbl[6] != 0 || tbl[7] != 0) { ++ error("PMT pid 0x%x has multiple sections", progtbl[l].pmtpid); ++ goto outerr; ++ } ++ if (r < 13) { ++ error("PMT pid 0x%x too short\n", progtbl[l].pmtpid); ++ goto outerr; ++ } ++ i = 12 + (((tbl[10] << 8) | tbl[11]) & 0x0fff); /* skip program info section */ ++ while (i <= (unsigned)r-6) { ++ j = i + 5; ++ i = j + (((tbl[i + 3] << 8) | tbl[i + 4]) & 0x0fff); ++ if (tbl[j - 5] != 0x06) /* teletext streams have type 0x06 */ ++ continue; ++ k = ((tbl[j - 4] << 8) | tbl[j - 3]) & 0x1fff; /* elementary PID - save until we know if it's the teletext PID */ ++ while (j < i) { ++ switch (tbl[j]) { ++ case 0x56: /* EBU teletext descriptor */ ++ progtbl[l].txtlang[0] = tbl[j + 2]; ++ progtbl[l].txtlang[1] = tbl[j + 3]; ++ progtbl[l].txtlang[2] = tbl[j + 4]; ++ progtbl[l].txttype = tbl[j + 5] >> 3; ++ progtbl[l].txtmagazine = tbl[j + 5] & 7; ++ progtbl[l].txtpage = tbl[j + 6]; ++ progtbl[l].txtpid = k; ++ break; ++ } ++ j += 2 + tbl[j + 1]; ++ } ++ } ++ } ++ ++ for (i = 0; i < progcnt; i++) { ++ printf("Service ID 0x%04x Type 0x%02x Provider Name \"%s\" Name \"%s\"\n" ++ " PMT PID 0x%04x TXT: PID 0x%04x lang %.3s type 0x%02x magazine %1u page %3u\n", ++ progtbl[i].service_id, progtbl[i].service_type, progtbl[i].service_provider_name, ++ progtbl[i].service_name, progtbl[i].pmtpid, progtbl[i].txtpid, progtbl[i].txtlang, ++ progtbl[i].txttype, progtbl[i].txtmagazine, progtbl[i].txtpage); ++ } ++ ++ progp = NULL; ++ if (progname) { ++ j = strlen(progname); ++ for (i = 0; i < progcnt; i++) ++ if (!strncmp(progtbl[i].service_name, progname, j) && progtbl[i].txtpid != 0x1fff) { ++ progp = &progtbl[i]; ++ break; ++ } ++ } ++ if (progname && !progp) { ++ j = strlen(progname); ++ for (i = 0; i < progcnt; i++) ++ if (!strncasecmp(progtbl[i].service_name, progname, j) && progtbl[i].txtpid != 0x1fff) { ++ progp = &progtbl[i]; ++ break; ++ } ++ } ++ if (!progp) { ++ for (i = 0; i < progcnt; i++) ++ if (progtbl[i].txtpid != 0x1fff) { ++ progp = &progtbl[i]; ++ break; ++ } ++ } ++ ++ printf("Using: Service ID 0x%04x Type 0x%02x Provider Name \"%s\" Name \"%s\"\n" ++ " PMT PID 0x%04x TXT: PID 0x%04x lang %.3s type 0x%02x magazine %1u page %3u\n", ++ progp->service_id, progp->service_type, progp->service_provider_name, ++ progp->service_name, progp->pmtpid, progp->txtpid, progp->txtlang, ++ progp->txttype, progp->txtmagazine, progp->txtpage); ++ ++ vbi->txtpid = progp->txtpid; ++ txtpidfound: ++ rawbuf = malloc(rawbuf_size = 8192); ++ if (!rawbuf) ++ goto outerr; ++ rawptr = 0; ++#if 0 ++ close(vbi->fd); ++ if ((vbi->fd = open(vbi_name, O_RDWR)) == -1) { ++ error("cannot open demux device %s", vbi_name); ++ return -1; ++ } ++#endif ++ memset(&filterpar, 0, sizeof(filterpar)); ++ filterpar.pid = vbi->txtpid; ++ filterpar.input = DMX_IN_FRONTEND; ++ filterpar.output = DMX_OUT_TAP; ++ filterpar.pes_type = DMX_PES_OTHER; ++ filterpar.flags = DMX_IMMEDIATE_START; ++ if (ioctl(vbi->fd, DMX_SET_PES_FILTER, &filterpar) < 0) { ++ error("ioctl: DMX_SET_PES_FILTER %s (%u)", strerror(errno), errno); ++ goto outerr; ++ } ++ return 0; ++ ++ outerr: ++ close(vbi->fd); ++ vbi->fd = -1; ++ return -1; ++} +diff --git a/vbi.h b/vbi.h +index 086ff6b..06159da 100644 +--- a/vbi.h ++++ b/vbi.h +@@ -36,6 +36,11 @@ struct vbi + int bpb; // bytes per bit * 2^16 + int bp8bl, bp8bh; // bytes per 8-bit low/high + int soc, eoc; // start/end of clock run-in ++ ++ // DVB stuff ++ unsigned int txtpid; ++ ++ + }; + + struct vbi_client +@@ -46,7 +51,7 @@ struct vbi_client + }; + + struct vbi *vbi_open(char *vbi_dev_name, struct cache *ca, int fine_tune, +- int big_buf); ++ int big_buf, const char *progname, int txtpid); + void vbi_close(struct vbi *vbi); + void vbi_reset(struct vbi *vbi); + int vbi_add_handler(struct vbi *vbi, void *handler, void *data); --- alevt-1.6.2.orig/debian/patches/destdir.diff +++ alevt-1.6.2/debian/patches/destdir.diff @@ -0,0 +1,46 @@ +Subject: Add DESTDIR support to Makefile + +From: Andreas Rottmann + +Originally written by Thomas Schoepf +--- + Makefile | 19 ++++++++++++------- + 1 files changed, 12 insertions(+), 7 deletions(-) + +diff --git a/Makefile b/Makefile +index 4fb0e43..eb3ee50 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,6 +10,8 @@ MAN_DIR=man + HOSTCC=$(CC) + # a smaller and thinner font + #FONT=neep9 ++DESTDIR= ++PREFIX=/usr/local + + CFLAGS=$(OPT) -DVERSION=\"$(VER)\" $(DEFS) -I$(USR_X11R6)/include + +@@ -75,13 +77,16 @@ rpm-install: all + # anything below this line is just for me! + + install: all +- install -m 0755 alevt /usr/local/bin +- install -m 0755 alevt-date /usr/local/bin +- install -m 0755 alevt-cap /usr/local/bin +- install -m 0644 alevt.1x /usr/local/man/man1 +- install -m 0644 alevt-date.1 /usr/local/man/man1 +- install -m 0644 alevt-cap.1 /usr/local/man/man1 +- install -m 0644 contrib/mini-alevt.xpm /usr/include/X11/pixmaps ++ install -d 0755 $(DESTDIR)$(PREFIX)/bin ++ install -m 0755 alevt $(DESTDIR)$(PREFIX)/bin ++ install -m 0755 alevt-date $(DESTDIR)$(PREFIX)/bin ++ install -m 0755 alevt-cap $(DESTDIR)$(PREFIX)/bin ++ install -d 0755 $(DESTDIR)$(PREFIX)/man/man1 ++ install -m 0644 alevt.1x $(DESTDIR)$(PREFIX)/man/man1 ++ install -m 0644 alevt-date.1 $(DESTDIR)$(PREFIX)/man/man1 ++ install -m 0644 alevt-cap.1 $(DESTDIR)$(PREFIX)/man/man1 ++ install -d 0755 $(DESTDIR)$(PREFIX)/include/X11/pixmaps ++ install -m 0644 contrib/mini-alevt.xpm $(DESTDIR)$(PREFIX)/include/X11/pixmaps + + depend: + makedepend -Y -- $(CFLAGS_none) -- *.c 2>/dev/null