aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore23
-rw-r--r--Makefile58
-rw-r--r--README.txt37
-rw-r--r--TODO9
-rw-r--r--a8cat.1176
-rw-r--r--a8cat.c287
-rw-r--r--a8cat.rst102
-rwxr-xr-xa8diff56
-rw-r--r--a8diff.1117
-rw-r--r--a8diff.rst50
-rw-r--r--a8eol.117
-rw-r--r--a8eol.rst4
-rwxr-xr-xa8utf8172
-rw-r--r--a8utf8.rst57
-rw-r--r--a8xd.1271
-rw-r--r--a8xd.c400
-rw-r--r--a8xd.rst187
-rw-r--r--aplus_tokens.c179
-rw-r--r--aplus_tokens.h5
-rw-r--r--atables.c396
-rw-r--r--atables.h3
-rw-r--r--atascii.715
-rw-r--r--atascii.rst2
-rw-r--r--atr2xfd.113
-rw-r--r--atrsize.113
-rw-r--r--axe.113
-rw-r--r--bas.c126
-rw-r--r--bas.h248
-rw-r--r--bas2aplus.1210
-rw-r--r--bas2aplus.c272
-rw-r--r--bas2aplus.rst143
-rw-r--r--blob2c.113
-rw-r--r--blob2xex.113
-rw-r--r--bxe_tokens.c19
-rw-r--r--bxe_tokens.h2
-rw-r--r--bxl_tokens.c64
-rw-r--r--bxl_tokens.h5
-rw-r--r--cart2xex.118
-rw-r--r--cart2xex.rst5
-rw-r--r--cxrefbas.113
-rw-r--r--cxrefbas.c2
-rw-r--r--dasm2atasm.113
-rwxr-xr-xdiffbas56
-rw-r--r--diffbas.1 (renamed from a8utf8.1)87
-rw-r--r--diffbas.rst57
-rw-r--r--dumpbas.113
-rw-r--r--dumpbas.c2
-rw-r--r--fauxtari.7345
-rw-r--r--fauxtari.rst175
-rw-r--r--fenders.113
-rw-r--r--fonts/FauxtariScalableMono.ttfbin0 -> 57484 bytes
-rw-r--r--fonts/Makefile2
-rw-r--r--fonts/char0.rawbin0 -> 8 bytes
-rw-r--r--fonts/dupglyphs.pl42
-rw-r--r--fonts/fauxtari-16.bdf9893
-rw-r--r--fonts/fauxtari-16.psfbin0 -> 18030 bytes
-rw-r--r--fonts/fauxtari-16.txt4796
-rw-r--r--fonts/fauxtari-24.bdf13325
-rw-r--r--fonts/fauxtari-24.psfbin0 -> 38510 bytes
-rw-r--r--fonts/fauxtari-24.txt5331
-rw-r--r--fonts/fauxtari-8.bdf6461
-rw-r--r--fonts/fauxtari-8.psfbin0 -> 5742 bytes
-rw-r--r--fonts/fauxtari-8.txt4261
-rw-r--r--fonts/fixbdf.pl41
-rw-r--r--fonts/mkpsf.pl1358
-rw-r--r--fonts/sorttxtfont.pl33
-rw-r--r--install-fonts.sh69
-rw-r--r--jindroush/Makefile6
-rw-r--r--jindroush/README.txt7
-rw-r--r--jindroush/chkbas/basic_xe.h6
-rw-r--r--jindroush/chkbas/basic_xl.h6
-rw-r--r--jindroush/man/chkbas.122
-rw-r--r--jindroush/man/chkbas.rst12
-rw-r--r--listbas.1515
-rw-r--r--listbas.c1157
-rw-r--r--listbas.rst405
-rw-r--r--manftr.rst43
-rw-r--r--mkatables.pl161
-rw-r--r--protbas.113
-rw-r--r--protbas.c65
-rw-r--r--renumbas.122
-rw-r--r--renumbas.c29
-rw-r--r--renumbas.rst9
-rw-r--r--rom2cart.113
-rw-r--r--tokens.c135
-rw-r--r--tokens.h4
-rw-r--r--turbo_tokens.c82
-rw-r--r--turbo_tokens.h5
-rw-r--r--unmac65.113
-rw-r--r--unprotbas.113
-rw-r--r--unprotbas.c24
-rw-r--r--vxrefbas.113
-rw-r--r--vxrefbas.c2
-rw-r--r--whichbas.1280
-rw-r--r--whichbas.c1255
-rw-r--r--whichbas.h17
-rw-r--r--whichbas.rst196
-rw-r--r--wtable.c140
-rw-r--r--wtable.h2
-rw-r--r--xex.513
-rw-r--r--xex1to2.113
-rw-r--r--xexamine.113
-rw-r--r--xexcat.113
-rw-r--r--xexsplit.113
-rw-r--r--xfd2atr.113
105 files changed, 54378 insertions, 560 deletions
diff --git a/.gitignore b/.gitignore
index df9ea4e..8cb8268 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,15 @@
*.bas
*.BAS
+*.LST
+*.XEX
*.car
*.cart
*.rom
*.swp
*.syms
+*.a8s
1
+1.*
2
3
*.atr
@@ -13,7 +17,9 @@
*.old
*.bak
*.o
+a8cat
a8eol
+a8xd
atr2xfd
atrsize
axe
@@ -23,6 +29,7 @@ cart2rom
fenders
rom2cart
unmac65
+xex1to2
xexcat
xexsplit
xfd2atr
@@ -31,6 +38,7 @@ blob2xex
vxrefbas
cxrefbas
dumpbas
+listbas
renumbas
protbas
unprotbas
@@ -40,3 +48,18 @@ ksiders/atrextr
ksiders/makeatr
ksiders/sortatr
ksiders/unmakatr
+jindroush/acvt/acvt
+jindroush/acvt/switches.cpp
+jindroush/adir/adir
+jindroush/adir/switches.cpp
+jindroush/aext/aext
+jindroush/aext/switches.cpp
+jindroush/bas2boot/bas2boot
+jindroush/bas2boot/switches.cpp
+jindroush/chkbas/chkbas
+jindroush/chkbas/switches.cpp
+jindroush/chkexe/chkexe
+jindroush/chkexe/switches.cpp
+jindroush/chkrom/chkrom
+jindroush/chkrom/switches.cpp
+jindroush/lib/libjindroush.a
diff --git a/Makefile b/Makefile
index 8847086..186a5e1 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,9 @@ MAN1DIR=$(MANDIR)/man1
MAN5DIR=$(MANDIR)/man5
MAN7DIR=$(MANDIR)/man7
DOCDIR=$(PREFIX)/share/doc/bw-atari8-tools
+PSFDIR=$(PREFIX)/share/kbd/consolefonts
+BDFDIR=$(PREFIX)/share/share/fonts/misc
+TTFDIR=$(PREFIX)/share/share/fonts/TTF
# Compiler stuff
COPT=-O2
@@ -16,12 +19,15 @@ CC=gcc
CFLAGS=-Wall $(COPT) -ansi -D_GNU_SOURCE -DVERSION=\"$(VERSION)\"
# BINS and SCRIPTS go in $BINDIR, DOCS go in $DOCDIR
-BINS=a8eol atr2xfd atrsize axe blob2c blob2xex cart2xex cxrefbas dumpbas fenders protbas renumbas rom2cart unmac65 unprotbas vxrefbas xex1to2 xexamine xexcat xexsplit xfd2atr
-SCRIPTS=dasm2atasm a8utf8
-MANS=a8eol.1 xfd2atr.1 atr2xfd.1 blob2c.1 cart2xex.1 fenders.1 xexsplit.1 xexcat.1 atrsize.1 rom2cart.1 unmac65.1 axe.1 dasm2atasm.1 a8utf8.1 blob2xex.1 xexamine.1 xex1to2.1 unprotbas.1 protbas.1 renumbas.1 dumpbas.1 vxrefbas.1 cxrefbas.1
+BINS=a8eol atr2xfd atrsize axe blob2c blob2xex cart2xex cxrefbas dumpbas fenders protbas renumbas rom2cart unmac65 unprotbas vxrefbas xex1to2 xexamine xexcat xexsplit xfd2atr listbas a8cat a8xd whichbas bas2aplus
+SCRIPTS=dasm2atasm diffbas a8diff
+MANS=a8eol.1 xfd2atr.1 atr2xfd.1 blob2c.1 cart2xex.1 fenders.1 xexsplit.1 xexcat.1 atrsize.1 rom2cart.1 unmac65.1 axe.1 dasm2atasm.1 blob2xex.1 xexamine.1 xex1to2.1 unprotbas.1 protbas.1 renumbas.1 dumpbas.1 vxrefbas.1 cxrefbas.1 listbas.1 a8cat.1 a8xd.1 whichbas.1 diffbas.1 a8diff.1 bas2aplus.1
MAN5S=xex.5
-MAN7S=atascii.7
+MAN7S=atascii.7 fauxtari.7
DOCS=README.txt equates.inc *.dasm LICENSE ksiders/atr.txt
+PSFS=fonts/fauxtari-8.psf fonts/fauxtari-16.psf fonts/fauxtari-24.psf
+BDFS=fonts/fauxtari-8.bdf fonts/fauxtari-16.bdf fonts/fauxtari-24.bdf
+TTF=fonts/FauxtariScalableMono.ttf
SUBDIRS=ksiders jindroush
@@ -47,7 +53,7 @@ RST2MAN=rst2man
# "make clean" and "make distclean" will not delete the 6502 object
# code (the *.bin files), but "make realclean" will.
-all: $(BINS) manpages symlinks subdirs
+all: $(BINS) manpages symlinks subdirs $(TTF)
unprotbas: bas.o
@@ -57,12 +63,27 @@ renumbas: bas.o bcdfp.o linetab.o
dumpbas: bas.o
+whichbas: bas.o
+
vxrefbas: bas.o
cxrefbas: bas.o bcdfp.o linetab.o
+bas2aplus: bas.o
+
+listbas: listbas.c bas.o bcdfp.o tokens.o atables.o turbo_tokens.o aplus_tokens.o bxl_tokens.o bxe_tokens.o
+ $(CC) $(CFLAGS) -o listbas listbas.c bas.o bcdfp.o tokens.o atables.o turbo_tokens.o aplus_tokens.o bxl_tokens.o bxe_tokens.o -lm
+
bas.o: bas.c bas.h
+wtable.o: wtable.c wtable.h
+
+atables.o: atables.c atables.h
+
+a8cat: a8cat.c atables.o wtable.o
+
+a8xd: a8xd.c atables.o
+
subdirs:
for dir in $(SUBDIRS); do make -C $$dir COPT="$(COPT)"; done
@@ -72,6 +93,9 @@ xfd2atr: xfd2atr.c
atr2xfd: atr2xfd.c
+atables.c: mkatables.pl
+ perl mkatables.pl > atables.c
+
# note to cross-compiler users: If you're building the *.bin targets,
# blob2c needs to be executable on the build host. It'd also be nice
# to build a blob2c for the target platform... Probably you can do
@@ -163,6 +187,12 @@ manpages: $(MANS) $(MAN5S) $(MAN7S)
%.7: %.rst manhdr7.rst manftr.rst
$(RST2MAN) $< > $@
+fonts/fauxtari-8.bdf: fonts/mkpsf.pl
+ ( cd fonts && perl mkpsf.pl )
+
+$(TTF): fonts/fauxtari-8.bdf
+ bitmapfont2ttf --family-name "Fauxtari Scalable Mono" fonts/fauxtari-8.bdf $(TTF)
+
# "make clean" does NOT remove the .bin or _bin.[ch] files. This is
# for people who don't have either dasm or atasm installed.
# also, it doesn't remove the man pages. these are checked into git, even.
@@ -213,3 +243,21 @@ install-subdirs: subdirs
for dir in $(SUBDIRS); do \
make -C $$dir DESTDIR=$(DESTDIR) PREFIX=$(PREFIX) BINDIR=$(BINDIR) MAN1DIR=$(MAN1DIR) GZIP_MAN=$(GZIP_MAN) DOCDIR=$(DOCDIR) install; \
done
+
+install-fonts: all
+ sh install-fonts.sh "$(DESTDIR)" "$(BDFDIR)" "$(TTFDIR)"
+
+user-font: user-fonts
+
+user-fonts:
+ $(MAKE) install-fonts BDFDIR=$(HOME)/.fonts TTFDIR=$(HOME)/.fonts
+
+user-symlinks: all
+ SRC=$$( pwd ) ; \
+ mkdir -p ~/bin ; \
+ cd ~/bin && \
+ for i in $(BINS) $(SCRIPTS) \
+ ksiders/atrdir ksiders/atrextr ksiders/makeatr ksiders/sortatr ksiders/unmakatr \
+ jindroush/chkrom/chkrom jindroush/chkbas/chkbas jindroush/bas2boot/bas2boot \
+ jindroush/chkexe/chkexe jindroush/adir/adir jindroush/acvt/acvt jindroush/aext/aext \
+ ; do rm -f $$i; ln -sf $$SRC/$$i . ; done
diff --git a/README.txt b/README.txt
index c712ebe..edb840a 100644
--- a/README.txt
+++ b/README.txt
@@ -2,10 +2,15 @@ This is a collection of Atari 8-bit related utilities I've written for
or ported to Linux. They should be usable as-is on other UNIX-like
systems, including Cygwin for MS-Windows.
+a8cat - Convert Atari 8-bit text to/from UTF-8 encoded Unicode or plain
+ text.
+
+a8diff - Show differences between two Atari ATASCII text files.
+
a8eol - Convert Atari 8-bit text files to/from UNIX / DOS / Mac Classic
text file format.
-a8utf8 - Convert Atari 8-bit text to UTF-8 encoded Unicode.
+a8xd - ATASCII and Unicode aware hex dump.
atr2xfd - Convert an Atari 8-bit ATR disk image to a raw (XFD) image.
@@ -17,6 +22,8 @@ atrsize - Change the size of an Atari 8-bit ATR disk image, or create
axe - ATR/XFD Editor. Copy files into & out of ATR and XFD images,
create blank ATR images, etc.
+bas2aplus - Convert Atari BASIC (and some BASIC XL/XE) programs to BASIC/A+.
+
blob2c - Create C source and header files from a binary file.
blob2xex - Create a XEX file from arbitrary data.
@@ -30,10 +37,14 @@ cxrefbas - Code cross-reference for tokenized Atari 8-bit BASIC files.
dasm2atasm - Convert 6502 assembly in DASM syntax to ATASM (or MAC/65) format.
+diffbas - Show differences between two tokenized Atari 8-bit BASIC files.
+
dumpbas - Formatted hexdump for tokenized Atari 8-bit BASIC files.
fenders - Install Fenders 3-sector loader in boot sectors of an ATR image.
+listbas - Detokenize (LIST) Atari 8-bit BASIC programs.
+
protbas - LIST-protect Atari 8-bit BASIC programs.
renumbas - Renumber Atari 8-bit BASIC programs.
@@ -47,6 +58,9 @@ vxrefbas - Variable cross-reference for tokenized Atari 8-bit BASIC files.
unprotbas - Unprotect LIST-protected BASIC programs.
+whichbas - Examine a BASIC program, decide whether it's Atari BASIC,
+ Turbo BASIC, BASIC XL, BASIC XE, or Atari Microsoft BASIC.
+
xex1to2 - Convert an Atari DOS 1.0 executable into a standard XEX file.
xexamine - Show information on XEX files.
@@ -58,16 +72,21 @@ xexsplit - Split a multi-segment Atari 8-bit executable (XEX) into
xfd2atr - Convert an Atari 8-bit XFD (raw) disk image to an ATR image.
-All are written in C, except a8utf8 and dasm2atasm which are written
-in Perl. All utilities have man pages.
+All are written in C, except dasm2atasm which is written in Perl and
+diffbas which is a shell script. All utilities have man pages.
+
+Also included:
+
+- "equates.inc", a 6502 assembly header file that defines the Atari 8-bit
+ system equates. It's meant to be used with either the DASM or ATASM 6502
+ cross assemblers.
-Also included is "equates.inc", a 6502 assembly header file that defines
-the Atari 8-bit system equates. It's meant to be used with either the
-DASM or ATASM 6502 cross assemblers.
+- Collections of utilities by Ken Siders and Jindrich Kubec. See the
+ README.txt files in the ksiders/ and jindroush/ directories for details.
-Also included: collections of utilities by Ken Siders and Jindrich
-Kubec. See the README.txt files in the ksiders/ and jindroush/
-directories for details.
+- X11 and Linux console fonts composed of glyphs taken from various versions
+ of the Atari XL/XE ROMs. The font family is "Fauxtari"; see fauxtari(7)
+ or fauxtari.rst for details.
To install, use the standard "make && make install" process. The default
prefix for installation is /usr/local.
diff --git a/TODO b/TODO
index 848f39b..d76feb6 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,13 @@
for now:
+
+fauxtari:
+- Figure out why fauxtari doesn't show up in font-selections
+ dialogs in xfc4-terminal, gnome-terminal; also it doesn't
+ show up in "kitty +list-fonts" output.
+
+listbas:
+- A+/BXL/BXE indentation needs work (BXE seems OK).
+
These may need library (xex.c) changes:
xexcat: handle run/init addresses embedded in a segment longer than
2 bytes. Implemented in library, but not used by xexcat yet.
diff --git a/a8cat.1 b/a8cat.1
new file mode 100644
index 0000000..746c674
--- /dev/null
+++ b/a8cat.1
@@ -0,0 +1,176 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "A8CAT" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.SH NAME
+a8cat \- Convert Atari 8-bit text to UTF-8 encoded Unicode (and back).
+.SH SYNOPSIS
+.sp
+\fIa8cat\fP [\fB\-r\fP] [\fB\-i\fP] [\fB\-u\fP] [\fB\-t\fP] [\fIinfile\fP] [\fIinfile ...\fP]
+.SH DESCRIPTION
+.sp
+Convert Atari 8\-bit ATASCII or XL ICS (International Character
+Set) text to UTF\-8 encoded Unicode. Control graphics characters are
+replaced with their nearest Unicode equivalents (mostly from the Box
+Drawing block, or from the Basic Latin block with \fB\-i\fP option).
+.sp
+If no \fIinfile\fPs are given, input is read from standard input. Output always
+goes to standard output; to write to a file, use a command like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+a8cat atari.txt > converted.txt
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The output is UTF\-8 Unicode, without BOM, but possibly with
+ANSI/VT\-100 control sequences. It will display correctly in modern
+terminals that support Unicode and UTF\-8. If you get lots of "empty
+rectangle" characters, it means your font lacks the glyphs for the
+codepoints; try using the Deja Vu Sans and/or Symbola fonts.
+.sp
+If you want to pipe the output to a pager, \fBless \-MR\fP is
+recommended. It will display the inverse characters correctly.
+.sp
+It\(aqs even possible to edit the converted text and turn it back into
+ATASCII, if you\(aqre very careful. See the \fB\-r\fP option, below.
+.sp
+Inverse video (characters codes above \fB$80\fP) are translated using
+the ANSI/VT\-100 reverse video escape sequences. Exception: \fB$9B\fP
+(Atari EOL) is translated to \fB\en\fP (newline).
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-i
+Input uses Atari XL/XE International Character Set encoding, rather than
+ATASCII graphics.
+.TP
+.B \-u
+Use "underlining" for inverse video. Each inverse character is followed by
+a backspace, then a \fI_\fP character. When viewed in a pager such as \fBless\fP(1),
+this causes the characters to appear underlined. Output created with this
+option cannot be converted back to ATASCII with the \fB\-r\fP option.
+.TP
+.B \-t
+Text mode. Normally, everything but EOL (\fB$9B\fP) is converted to a
+Unicode graphics character. In text mode, ATASCII tabs, backspace,
+and bells are translated to the ASCII versions.
+.TP
+.B \-r
+Reverse conversion: Input is plain text, or UTF\-8 created by a previous
+run of \fBa8cat\fP; output is ATASCII (or XL ICS, with \fB\-i\fP). ASCII
+tabs, backspaces, and newlines will be coverted to the ATASCII
+equivalent. ASCII carriage returns will be silently ignored.
+.sp
+Only the UTF\-8 codepoints that correspond to ATASCII characters will
+be converted. If the \fB\-i\fP option was used to create the input, it
+must be used with \fB\-r\fP also.
+.sp
+\fBa8cat\fP will refuse to print ATASCII to a terminal. You must
+redirect or pipe the output.
+.TP
+.B \-m
+Magazine listing mode. Rather than Unicode graphics characters,
+ATASCII characters are printed in symbolic form, e.g. \fI{clear}\fP or
+\fI{ctrl\-A}\fP\&. The result is similar to type\-in listings in magazines
+like Antic, Analog, or Compute! Output created with this option
+cannot be converted back to ATASCII with the \fB\-r\fP option.
+.TP
+.B \-s
+Strip the inverse video bit (bit 7) from all characters except the
+EOL (\fB$9B\fP). Output created with this option can be converted
+back to ATASCII with the \fB\-r\fP option, but of course there won\(aqt
+be any inverse\-video characters in the result.
+.TP
+.B \-v
+Verbose operation.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fB\-\-\fP
+End of options; the rest of the arguments are filenames. Use this if you\(aqre
+trying to work with files whose names begin with \fI\-\fP\&.
+.TP
+.B \fB\-h\fP, \fB\-\-help\fP
+Show built\-in help and exit.
+.TP
+.B \fB\-\-version\fP
+Show version number and exit.
+.UNINDENT
+.SH COPYRIGHT
+.sp
+WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
+.SH AUTHOR
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fBa8cat\fP(1),
+\fBa8eol\fP(1),
+\fBa8xd\fP(1),
+\fBatr2xfd\fP(1),
+\fBatrsize\fP(1),
+\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
+\fBblob2c\fP(1),
+\fBblob2xex\fP(1),
+\fBcart2xex\fP(1),
+\fBcxrefbas\fP(1),
+\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
+\fBdumpbas\fP(1),
+\fBf2toxex\fP(1),
+\fBfenders\fP(1),
+\fBlistbas\fP(1),
+\fBprotbas\fP(1),
+\fBrenumbas\fP(1),
+\fBrom2cart\fP(1),
+\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
+\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
+\fBxexamine\fP(1),
+\fBxexcat\fP(1),
+\fBxexsplit\fP(1),
+\fBxfd2atr\fP(1),
+\fBxex\fP(5),
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
+.sp
+Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
+Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
+.\" Generated by docutils manpage writer.
+.
diff --git a/a8cat.c b/a8cat.c
new file mode 100644
index 0000000..76ec67a
--- /dev/null
+++ b/a8cat.c
@@ -0,0 +1,287 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <locale.h>
+#include <wchar.h>
+#include <errno.h>
+
+#include "atables.h"
+#include "wtable.h"
+
+const char **table = ata2utf;
+
+/* XXX: hard-coded ANSI/vt100 escape sequences. would be
+ better but more complex to use terminfo to support any ol'
+ terminal... */
+const char *inverse_on = "\x1b[7m";
+const char *inverse_off = "\x1b[0m";
+
+int verbose = 0;
+int underline = 0, reverse = 0, textmode = 0, ics = 0;
+int magazine = 0, stripinv = 0;
+
+const char *self;
+
+void set_self(const char *argv0) {
+ char *p;
+
+ self = argv0;
+ p = strrchr(self, '/');
+ if(p) self = p + 1;
+}
+
+void die(const char *msg) {
+ fprintf(stderr, "%s: %s\n", self, msg);
+ exit(1);
+}
+
+void print_help(void) {
+ printf("Usage: %s [-i] [-u] [file ...]\n", self);
+}
+
+FILE *open_input(const char *file) {
+ FILE *input;
+
+ if(file[0] == '-' && file[1] == 0) {
+ if(verbose)
+ fprintf(stderr, "%s: reading from standard input.\n", self);
+ if(freopen(NULL, "rb", stdin)) {
+ input = stdin;
+ } else {
+ perror("(standard input)");
+ return NULL;
+ }
+ } else if(!(input = fopen(file, "rb"))) {
+ perror(file);
+ return NULL;
+ }
+
+ if(verbose)
+ fprintf(stderr, "%s: reading from file '%s'.\n", self, file);
+
+ return input;
+}
+
+int handle_escape_seq(int inv, FILE *input, const char *file, int line) {
+ int count, c;
+ char buf[5] = { 0x1b, 0, 0, 0, 0 };
+
+ for(count = 1; count < 4; count++) {
+ c = fgetwc(input);
+ if(c == WEOF) break;
+ buf[count] = c; /* FIXME: might be a wide char! */
+ }
+
+ if(strcmp(inverse_on, buf) == 0) {
+ return 0x80;
+ } else if(strcmp(inverse_off, buf) == 0) {
+ return 0;
+ } else {
+ fprintf(stderr, "%s: warning: %s:%d: unrecognized ANSI escape sequence.\n", self, file, line);
+ fputs(buf, stdout);
+ return inv;
+ }
+}
+
+int a8revcat(const char *file) {
+ FILE *input;
+ int c, d, inv = 0, line = 1;
+
+ if( !(input = open_input(file)) )
+ return 1;
+
+ while( (c = fgetwc(input)) != WEOF ) {
+ if(c == 0x1b) {
+ inv = handle_escape_seq(inv, input, file, line);
+ } else if(c == '\r') {
+ continue; /* swallow carriage returns */
+ } else if(c == '\n') {
+ putchar(0x9b);
+ line++;
+ } else if(c == '\t') {
+ putchar(0x7f);
+ } else if(c == '\b' || c == 0x7f) {
+ putchar(0x7e);
+ } else if(c == '\a') {
+ putchar(0xfd);
+ } else if(c < 0x80) {
+ putchar(c | inv);
+ } else {
+ d = wchar2atascii(c, ics);
+ if(d == -1) {
+ fprintf(stderr, "%s: warning: %s:%d: unrecognized Unicode character %04x.\n", self, file, line, c);
+ } else {
+ putchar(d | inv);
+ }
+ }
+ }
+
+ if(verbose)
+ fprintf(stderr, "%s: %s: converted %d lines, closing file.\n", self, file, line - 1);
+
+ fclose(input);
+ return 0;
+}
+
+void inverse(int onoff) {
+ fputs((onoff ? inverse_on : inverse_off ), stdout);
+}
+
+int a8cat(const char *file) {
+ FILE *input;
+ int c, inv = 0, line = 1;
+
+ if( !(input = open_input(file)) )
+ return 1;
+
+ while( (c = fgetc(input)) != EOF ) {
+ if(c == 0x9b) {
+ putchar('\n');
+ line++;
+ continue;
+ }
+
+ if(stripinv) c &= 0x7f;
+
+ if(textmode) {
+ switch(c) {
+ case 0x7f: /* tab */
+ putchar('\t');
+ continue;
+ case 0xfd: /* bell */
+ putchar('\a');
+ continue;
+ case 0x7e: /* backspace */
+ putchar('\b');
+ continue;
+ default: break;
+ }
+ }
+
+ if(!underline) {
+ /* strings of inverse chars only get one "inverse on" ANSI
+ sequence, and one "inverse off" afterwards. */
+ if(c & 0x80) {
+ if(!inv) {
+ inv = 1;
+ if(magazine)
+ fputs("{inv}", stdout);
+ else
+ inverse(1);
+ }
+ } else {
+ if(inv) {
+ inv = 0;
+ if(magazine)
+ fputs("{norm}", stdout);
+ else
+ inverse(0);
+ }
+ }
+ }
+
+ if(magazine) {
+ /* special cases: control codes with bit 7 set can't go
+ in the table since it's only got 128 entries. */
+ switch(c) {
+ case 0x9c:
+ fputs("{del-line}", stdout); continue;
+ case 0x9d:
+ fputs("{ins-line}", stdout); continue;
+ case 0x9e:
+ fputs("{clr-tab}", stdout); continue;
+ case 0x9f:
+ fputs("{set-tab}", stdout); continue;
+ case 0xfd:
+ fputs("{bell}", stdout); continue;
+ case 0xfe:
+ fputs("{del-char}", stdout); continue;
+ case 0xff:
+ fputs("{ins-char}", stdout); continue;
+ }
+ }
+
+ fputs(table[c & 0x7f], stdout);
+
+ if(underline && (c & 0x80)) {
+ putchar('\b');
+ putchar('_');
+ }
+ }
+
+ /* gotta turn off inverse, so if there's another file after this one,
+ it doesn't start out being printed in inverse. */
+ if(inv && !underline) {
+ if(magazine)
+ fputs("{norm}", stdout);
+ else
+ inverse(0);
+ }
+
+ if(verbose)
+ fprintf(stderr, "%s: %s: converted %d lines, closing file.\n", self, file, line - 1);
+
+ fclose(input);
+ return 0;
+}
+
+int main(int argc, char **argv) {
+ int opt, result = 0;
+
+ set_self(argv[0]);
+
+ if(argc > 1 && strcmp(argv[1], "--help") == 0) {
+ print_help();
+ exit(0);
+ }
+
+ if(argc > 1 && strcmp(argv[1], "--version") == 0) {
+ printf("%s %s\n", self, VERSION);
+ exit(0);
+ }
+
+ while( (opt = getopt(argc, argv, "ihurtmsv")) != -1) {
+ switch(opt) {
+ case 'i': table = ics2utf; ics = 1; break;
+ case 'h': print_help(); exit(0); break;
+ case 'u': underline = 1; break;
+ case 'r': reverse = 1; break;
+ case 't': textmode = 1; break;
+ case 'm': table = ata2mag; magazine = 1; break;
+ case 's': stripinv = 1; break;
+ case 'v': verbose = 1; break;
+ default: print_help(); exit(1); break;
+ }
+ }
+
+ if(reverse) {
+ if(isatty(fileno(stdout)))
+ die("Refusing to write ATASCII to a terminal.");
+
+ if(underline || textmode || stripinv || magazine) {
+ die("-t, -u, -m, -s options don't make sense with -r.\n");
+ }
+ /* the language_country part of the locale doesn't matter,
+ since we aren't doing localization. the encoding *has*
+ to be UTF-8. */
+ setlocale(LC_CTYPE, "en_US.UTF-8");
+ }
+
+ if(magazine) {
+ if(ics || stripinv || underline) {
+ die("-i, -s, -u options don't make sense with -m.\n");
+ }
+ }
+
+ if(optind >= argc) {
+ result = (reverse ? a8revcat("-") : a8cat("-"));
+ } else {
+ while(optind < argc) {
+ result += (reverse ? a8revcat(argv[optind]) : a8cat(argv[optind]));
+ optind++;
+ }
+ }
+
+ exit(result);
+}
diff --git a/a8cat.rst b/a8cat.rst
new file mode 100644
index 0000000..3909391
--- /dev/null
+++ b/a8cat.rst
@@ -0,0 +1,102 @@
+=====
+a8cat
+=====
+
+-------------------------------------------------------------
+Convert Atari 8-bit text to UTF-8 encoded Unicode (and back).
+-------------------------------------------------------------
+
+.. include:: manhdr.rst
+
+SYNOPSIS
+========
+
+*a8cat* [**-r**] [**-i**] [**-u**] [**-t**] [*infile*] [*infile ...*]
+
+DESCRIPTION
+===========
+
+Convert Atari 8-bit ATASCII or XL ICS (International Character
+Set) text to UTF-8 encoded Unicode. Control graphics characters are
+replaced with their nearest Unicode equivalents (mostly from the Box
+Drawing block, or from the Basic Latin block with **-i** option).
+
+If no *infile*\s are given, input is read from standard input. Output always
+goes to standard output; to write to a file, use a command like::
+
+ a8cat atari.txt > converted.txt
+
+The output is UTF-8 Unicode, without BOM, but possibly with
+ANSI/VT-100 control sequences. It will display correctly in modern
+terminals that support Unicode and UTF-8. If you get lots of "empty
+rectangle" characters, it means your font lacks the glyphs for the
+codepoints; try using the Deja Vu Sans and/or Symbola fonts.
+
+If you want to pipe the output to a pager, **less -MR** is
+recommended. It will display the inverse characters correctly.
+
+It's even possible to edit the converted text and turn it back into
+ATASCII, if you're very careful. See the **-r** option, below.
+
+Inverse video (characters codes above **$80**) are translated using
+the ANSI/VT-100 reverse video escape sequences. Exception: **$9B**
+(Atari EOL) is translated to **\\n** (newline).
+
+OPTIONS
+=======
+
+-i
+ Input uses Atari XL/XE International Character Set encoding, rather than
+ ATASCII graphics.
+
+-u
+ Use "underlining" for inverse video. Each inverse character is followed by
+ a backspace, then a *_* character. When viewed in a pager such as **less**\(1),
+ this causes the characters to appear underlined. Output created with this
+ option cannot be converted back to ATASCII with the **-r** option.
+
+-t
+ Text mode. Normally, everything but EOL (**$9B**) is converted to a
+ Unicode graphics character. In text mode, ATASCII tabs, backspace,
+ and bells are translated to the ASCII versions.
+
+-r
+ Reverse conversion: Input is plain text, or UTF-8 created by a previous
+ run of **a8cat**; output is ATASCII (or XL ICS, with **-i**). ASCII
+ tabs, backspaces, and newlines will be coverted to the ATASCII
+ equivalent. ASCII carriage returns will be silently ignored.
+
+ Only the UTF-8 codepoints that correspond to ATASCII characters will
+ be converted. If the **-i** option was used to create the input, it
+ must be used with **-r** also.
+
+ **a8cat** will refuse to print ATASCII to a terminal. You must
+ redirect or pipe the output.
+
+-m
+ Magazine listing mode. Rather than Unicode graphics characters,
+ ATASCII characters are printed in symbolic form, e.g. *{clear}* or
+ *{ctrl-A}*. The result is similar to type-in listings in magazines
+ like Antic, Analog, or Compute! Output created with this option
+ cannot be converted back to ATASCII with the **-r** option.
+
+-s
+ Strip the inverse video bit (bit 7) from all characters except the
+ EOL (**$9B**). Output created with this option can be converted
+ back to ATASCII with the **-r** option, but of course there won't
+ be any inverse-video characters in the result.
+
+-v
+ Verbose operation.
+
+**--**
+ End of options; the rest of the arguments are filenames. Use this if you're
+ trying to work with files whose names begin with *-*.
+
+**-h**, **--help**
+ Show built-in help and exit.
+
+**--version**
+ Show version number and exit.
+
+.. include:: manftr.rst
diff --git a/a8diff b/a8diff
new file mode 100755
index 0000000..38d4460
--- /dev/null
+++ b/a8diff
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+usage() {
+ cat <<EOF
+Usage: $( basename $0 ) [diff-opts] [-- a8cat-opts] file1 file2
+
+Diff two Atari ATASCII files, using a8cat(1) and diff(1).
+
+[diff-opts] is passed through as-is to diff.
+[a8cat-opts] is passed through as-is to a8cat.
+EOF
+ exit "$1"
+}
+
+cleanup() {
+ if [ "$dir" != "" ]; then
+ cd
+ rm -rf "$dir"
+ fi
+}
+
+if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "" ]; then
+ usage 0
+fi
+
+for i in "$@"; do
+ if [ -f "$i" ]; then
+ if [ "$file1" = "" ]; then
+ file1="$( realpath $i )"
+ base1="$( basename $i )".txt
+ elif [ "$file2" = "" ]; then
+ file2="$( realpath $i )"
+ base2="$( basename $i )".txt
+ else
+ usage 1
+ fi
+ elif [ "$i" = "--" ]; then
+ opts="a8catopts"
+ elif [ "$opts" = "a8catopts" ]; then
+ a8catopts="$a8catopts $i"
+ else
+ diffopts="$diffopts $i"
+ fi
+done
+
+dir="$( mktemp -d -t diffbas.XXXXXXXXXX )"
+[ -d "$dir" ]
+cd "$dir"
+trap cleanup EXIT
+set -e
+
+a8cat $a8catopts "$file1" > $base1
+a8cat $a8catopts "$file2" > $base2
+diff $diffopts $base1 $base2
+
+exit 0
diff --git a/a8diff.1 b/a8diff.1
new file mode 100644
index 0000000..dc73f88
--- /dev/null
+++ b/a8diff.1
@@ -0,0 +1,117 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "A8DIFF" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.SH NAME
+a8diff \- Show differences between two Atari 8-bit ATASCII text files
+.SH SYNOPSIS
+.sp
+a8diff [\fIdiff\-options\fP] [\fB\-\-\fP \fIa8cat\-options\fP] \fIfile1\fP \fIfile2\fP
+.SH DESCRIPTION
+.sp
+\fBa8diff\fP shows the differences between two ATASCII text files,
+using \fBa8cat\fP(1) and \fBdiff\fP(1).
+.SH OPTIONS
+.sp
+\fBa8diff\fP takes no options of its own. It will pass options as\-is
+to both \fBa8cat\fP and \fBdiff\fP\&. Use \fB\-\-\fP to separate them: everything
+before \fB\-\-\fP is passed to \fBdiff\fP, and everything between \fB\-\-\fP and
+the first filename is passed to \fBa8cat\fP\&.
+.SH EXAMPLE
+.sp
+A.LST and B.LST were both created by the \fBLIST\fP command in BASIC.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ a8diff \-u A.LST B.LST
+
+\-\-\- A.LST.txt 2024\-07\-12 23:56:46.937965855 \-0400
++++ B.LST.txt 2024\-07\-12 23:56:46.938965854 \-0400
+@@ \-1,3 +1,4 @@
+ 10 ? "THIS LINE IS IN BOTH PROGRAMS."
+ 20 ? "THIS LINE IS ALSO IN BOTH."
++25 ? "THIS LINE ONLY IN B.LST!"
+ 30 END
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+0 for success. On failure, the exit status is that of whichever command
+failed (\fBa8diff\fP or \fBdiff\fP).
+.SH COPYRIGHT
+.sp
+WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
+.SH AUTHOR
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fBa8cat\fP(1),
+\fBa8eol\fP(1),
+\fBa8xd\fP(1),
+\fBatr2xfd\fP(1),
+\fBatrsize\fP(1),
+\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
+\fBblob2c\fP(1),
+\fBblob2xex\fP(1),
+\fBcart2xex\fP(1),
+\fBcxrefbas\fP(1),
+\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
+\fBdumpbas\fP(1),
+\fBf2toxex\fP(1),
+\fBfenders\fP(1),
+\fBlistbas\fP(1),
+\fBprotbas\fP(1),
+\fBrenumbas\fP(1),
+\fBrom2cart\fP(1),
+\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
+\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
+\fBxexamine\fP(1),
+\fBxexcat\fP(1),
+\fBxexsplit\fP(1),
+\fBxfd2atr\fP(1),
+\fBxex\fP(5),
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
+.sp
+Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
+Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
+.\" Generated by docutils manpage writer.
+.
diff --git a/a8diff.rst b/a8diff.rst
new file mode 100644
index 0000000..4273642
--- /dev/null
+++ b/a8diff.rst
@@ -0,0 +1,50 @@
+======
+a8diff
+======
+
+-----------------------------------------------------------
+Show differences between two Atari 8-bit ATASCII text files
+-----------------------------------------------------------
+
+.. include:: manhdr.rst
+
+SYNOPSIS
+========
+
+a8diff [*diff-options*] [**--** *a8cat-options*] *file1* *file2*
+
+DESCRIPTION
+===========
+**a8diff** shows the differences between two ATASCII text files,
+using **a8cat**\(1) and **diff**\(1).
+
+OPTIONS
+=======
+**a8diff** takes no options of its own. It will pass options as-is
+to both **a8cat** and **diff**. Use **--** to separate them: everything
+before **--** is passed to **diff**, and everything between **--** and
+the first filename is passed to **a8cat**.
+
+EXAMPLE
+=======
+
+A.LST and B.LST were both created by the **LIST** command in BASIC.
+
+::
+
+ $ a8diff -u A.LST B.LST
+
+ --- A.LST.txt 2024-07-12 23:56:46.937965855 -0400
+ +++ B.LST.txt 2024-07-12 23:56:46.938965854 -0400
+ @@ -1,3 +1,4 @@
+ 10 ? "THIS LINE IS IN BOTH PROGRAMS."
+ 20 ? "THIS LINE IS ALSO IN BOTH."
+ +25 ? "THIS LINE ONLY IN B.LST!"
+ 30 END
+
+EXIT STATUS
+===========
+0 for success. On failure, the exit status is that of whichever command
+failed (**a8diff** or **diff**).
+
+.. include:: manftr.rst
diff --git a/a8eol.1 b/a8eol.1
index 7974b79..784015f 100644
--- a/a8eol.1
+++ b/a8eol.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "A8EOL" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "A8EOL" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
a8eol \- convert Atari 8-bit text files to/from UNIX/Windows/Mac
.\" RST source for a8eol(1) man page. Convert with:
@@ -79,8 +79,8 @@ tabs and backspaces).
.B \-c
Replace non\-printing characters with ^x (ASCII input) or {x}
(ATASCII input). This option also enables the \fB\-8\fP option. When
-the input file is ATASCII, the output resembles a program list‐
-ing from an old computer magazine (see \fBATASCII CODES\fP, below).
+the input file is ATASCII, the output resembles a program listing
+from an old computer magazine (see \fBATASCII CODES\fP, below).
.TP
.B \-p
Replace non\-printing characters with \fI\&.\fP (period, dot).
@@ -461,31 +461,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/a8eol.rst b/a8eol.rst
index ff81d82..c1c3b7b 100644
--- a/a8eol.rst
+++ b/a8eol.rst
@@ -61,8 +61,8 @@ Translation options:
-c
Replace non-printing characters with ^x (ASCII input) or {x}
(ATASCII input). This option also enables the **-8** option. When
- the input file is ATASCII, the output resembles a program list‐
- ing from an old computer magazine (see **ATASCII CODES**, below).
+ the input file is ATASCII, the output resembles a program listing
+ from an old computer magazine (see **ATASCII CODES**, below).
-p
Replace non-printing characters with *.* (period, dot).
diff --git a/a8utf8 b/a8utf8
deleted file mode 100755
index 0cca2ac..0000000
--- a/a8utf8
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/perl -w
-
-# convert A8 text to UTF-8. Control graphics characters are replaced with
-# nearest Unicode equivalents (mostly from the box-drawing range, or from
-# the basic-latin range with -i option).
-
-# Careful editing this script: you need an editor that groks UTF-8, or at
-# least one that won't mangle the UTF-8 sequences embedded in the tables
-# below.
-
-($SELF = $0) =~ s,.*/,,;
-
-binmode(STDOUT, ":utf8");
-binmode(STDIN, ":bytes");
-
-use utf8;
-
-%atascii_table = (
- 0 => "♥",
- 1 => "┣",
- 2 => "┃",
- 3 => "┛",
- 4 => "┫",
- 5 => "┓",
- 6 => "╱",
- 7 => "╲",
- 8 => "◢",
- 9 => "▗",
- 10 => "◣",
- 11 => "▝",
- 12 => "▘",
- 13 => "▔",
- 14 => "▁",
- 15 => "▖",
- 16 => "♣",
- 17 => "┏",
- 18 => "━",
- 19 => "╋",
- 20 => "●",
- 21 => "▄",
- 22 => "▎",
- 23 => "┳",
- 24 => "┻",
- 25 => "▌",
- 26 => "┗",
- 27 => "␛",
- 28 => "↑",
- 29 => "↓",
- 30 => "←",
- 31 => "→",
- 96 => "◆",
- 123 => "♠",
- 125 => "↰",
- 126 => "◀",
- 127 => "▶",
- 136 => "◤",
- 137 => "▛",
- 138 => "◥",
- 139 => "▙",
- 140 => "▟",
- 141 => "▆",
- 142 => "🮅",
- 143 => "▜",
- 148 => "◙",
- 149 => "▀",
- 150 => "🮊",
- 153 => "▐",
- 155 => "\n",
- 156 => "⍐",
- 157 => "⍗",
- 158 => "⍇",
- 159 => "⍈",
- 160 => "█",
-);
-
-%xl_intl_table = (
- 0 => "á",
- 1 => "ù",
- 2 => "Ñ",
- 3 => "É",
- 4 => "ç",
- 5 => "ô",
- 6 => "ò",
- 7 => "ì",
- 8 => "£",
- 9 => "ï",
- 10 => "ü",
- 11 => "ä",
- 12 => "Ö",
- 13 => "ú",
- 14 => "ó",
- 15 => "ö",
- 16 => "Ü",
- 17 => "â",
- 18 => "û",
- 19 => "î",
- 20 => "é",
- 21 => "è",
- 22 => "ñ",
- 23 => "ê",
- 24 => "ȧ",
- 25 => "à",
- 26 => "Ȧ",
- 27 => "␛",
- 28 => "↑",
- 29 => "↓",
- 30 => "←",
- 31 => "→",
- 96 => "¡",
- 123 => "Ä",
- 126 => "◀",
- 127 => "▶",
- 155 => "\n",
-);
-
-undef $/;
-
-$table = \%atascii_table;
-$print_table = 0;
-while(@ARGV && $ARGV[0] =~ /^-/) {
- for($ARGV[0]) {
- /^-i$/ && do { $table = \%xl_intl_table; next; };
- /^-t$/ && do { $print_table = 1; next; };
- /^-r$/ && do { $reverse = 1; next; };
- /^--?h/ && do { usage(0) };
- warn "$SELF: unknown option: $_\n";
- usage(1);
- }
- shift @ARGV;
-}
-
-if($reverse) {
- binmode(STDOUT, ":bytes");
- for(keys %$table) {
- $revtable{ord($table->{$_})} = chr($_);
- }
- $table = \%revtable;
-}
-
-if($print_table) {
- for(sort { $a <=> $b } keys %$table) {
- my $chr = translate(chr $_);
- $chr = '\n' if $chr eq "\n";
- printf '"%d","$%02x","%s"' . "\n", $_, $_, $chr;
- }
- exit 0;
-}
-
-$_ = <>;
-s/(.)/translate($1)/seg;
-print;
-
-sub translate {
- my $o = ord(shift);
- my $ret;
-
- $ret = $table->{$o};
- return $ret if defined($ret);
-
- $ret = $table->{$o & 0x7f};
- return $ret if defined($ret);
-
- return chr($o & 0x7f);
-}
-
-sub usage {
- print <<EOF;
-Usage: $SELF [--help] | [-t [-r] [-i]] | [-r] [-i] infile [infile ...]
-See man page for details.
-EOF
- exit $_[0];
-}
diff --git a/a8utf8.rst b/a8utf8.rst
deleted file mode 100644
index ec9fbba..0000000
--- a/a8utf8.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-.. RST source for a8utf8(1) man page. Convert with:
-.. rst2man.py a8utf8.rst > a8utf8.1
-.. rst2man.py comes from the SBo development/docutils package.
-
-======
-a8utf8
-======
-
---------------------------------------------------
-Convert Atari 8-bit text to UTF-8 encoded Unicode.
---------------------------------------------------
-
-.. include:: manhdr.rst
-
-SYNOPSIS
-========
-
-*a8utf8* [**-r**] [**-i**] [*infile*] [*infile ...*]
-
-*a8utf8* [**-r**] [**-i**] **-t**
-
-DESCRIPTION
-===========
-
-Convert Atari 8-bit ATASCII or XL ICS (International Character
-Set) text to UTF-8 encoded Unicode. Control graphics characters are
-replaced with their nearest Unicode equivalents (mostly from the Box
-Drawing block, or from the Basic Latin block with **-i** option).
-
-If no *infile* is given, input is read from standard input. Output always
-goes to standard output; to write to a file, use a command like::
-
- a8utf8 atari.txt > converted.txt
-
-The output is plain UTF-8 Unicode, without BOM.
-
-Inverse video (characters codes above **$80**) are translated to
-their non-inverse equivalents, except **$9B** (Atari EOL), which is
-translated to **\\n** (newline).
-
-OPTIONS
-=======
-
--i
- Input uses Atari XL/XE International Character Set encoding, rather than
- ATASCII graphics.
-
--t
- Print table of Atari to Unicode equivalents, in CSV format. Can
- be used with or without **-i** and/or **-r** (four different tables).
-
--r
- Reverse conversion: Input is UTF-8, output is ATASCII (or XL ICS, with **-i**).
- Beware that printing ATASCII to a terminal may look funny, and may even confuse
- the terminal. Redirecting to a file is safe.
-
-.. include:: manftr.rst
diff --git a/a8xd.1 b/a8xd.1
new file mode 100644
index 0000000..cdc37cb
--- /dev/null
+++ b/a8xd.1
@@ -0,0 +1,271 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "A8XD" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.SH NAME
+a8xd \- Atari 8-bit ATASCII-aware hex dump
+.SH SYNOPSIS
+.sp
+\fIa8xd\fP [\fB\-i\fP] [\fB\-l\fP \fIlimit\fP] [\fB\-m\fP] [\fB\-o\fP offset] [\fB\-s\fP \fI[\-]seek\fP] [\fB\-u\fP] [\fB\-v\fP] [\fIinfile\fP]
+.SH DESCRIPTION
+.sp
+\fBa8xd\fP is a hex dump utility, similar to \fBxxd\fP(1), but it
+understands and prints ATASCII characters rather than ASCII.
+.sp
+The ATASCII codes are converted to UTF\-8, in the same way as
+\fBa8cat\fP(1). Codes with the high bit set are displayed in inverse
+video, using ANSI/VT\-100 escape sequences.
+.sp
+By default, the output is colorized (see \fBCOLORS\fP, below). The
+colors and inverse rendering apply to both the ATASCII and hex bytes.
+.sp
+Without \fIinfile\fP, or if \fIinfile\fP is \fB\-\fP, \fBa8xd\fP reads from standard input.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-a
+ANTIC mode: treat the input as screen bytes (aka "internal codes")
+rather than ATASCII. Can usefully be combined with \fB\-g\fP or \fB\-f\fP\&.
+.TP
+.B \-f
+Like \fB\-g\fP, but using the top half of the character set. This is
+what you\(aqd see on the Atari with \fIGRAPHICS 1:POKE 756,226\fP\&.
+.TP
+.B \-g
+Graphics mode. Changes the printed characters and colorization so it
+looks like \fIGRAPHICS 1\fP (or 2) on the Atari.
+.TP
+.B \-i
+Print XL/XE International Character Set conversions instead of ATASCII.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-l \fIlen\fP
+Stop after dumping \fIlen\fP bytes. \fIlen\fP may be given in decimal or hex (with
+leading \fI0x\fP or \fI$\fP).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-m
+Monochrome mode. Disables color, but ATASCII characters with the high bit
+set are still displayed in inverse.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-o \fIoffset\fP
+Add \fIoffset\fP to displayed file position. \fIoffset\fP can be given in decimal
+or hex (with leading \fI0x\fP or \fI$\fP). Negative offsets are allowed, but they
+will be printed as very large positive numbers in the output (this matches
+\fBxxd\fP\(aqs behaviour).
+.TP
+.B \-s \fI[\-]seek\fP
+Start at \fIseek\fP bytes. Without \fI\-\fP, this is an absolute offset. With \fI\-\fP,
+it\(aqs relative to the end of the file. The \fI\-\fP option won\(aqt work when
+reading from standard input. \fIseek\fP may be given in decimal or hex
+(with leading \fI0x\fP or \fI$\fP).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-u
+Use uppercase letters for hex digits; the default is lowercase.
+.TP
+.B \-v
+Verbose. Shows various debug messages that are probably only useful
+if you\(aqre hacking on \fBa8xd\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fB\-\-\fP
+End of options; the next argument is the filename. Use this if you\(aqre
+trying to work with files whose names begin with \fI\-\fP\&.
+.TP
+.B \fB\-h\fP, \fB\-\-help\fP
+Show built\-in help and exit.
+.TP
+.B \fB\-\-version\fP
+Show version number and exit.
+.UNINDENT
+.SH COLORS
+.sp
+The default color scheme is:
+.INDENT 0.0
+.INDENT 3.5
+.INDENT 0.0
+.IP \(bu 2
+Non\-control characters are green. This includes alphanumerics, spaces, and
+punctuation. These are the characters that ATASCII has in common with
+ASCII.
+.IP \(bu 2
+Graphics characters are yellow. This includes \fB$01\fP to \fB$1a\fP (the
+alphabet, with the Control key held down), \fB$60\fP (the diamond), and
+\fB$7b\fP (the spade).
+.IP \(bu 2
+Codes \fB$00\fP (null, or ATASCII heart) and \fB$9B\fP (EOL) are red. These
+characters are used as delimiters, so it makes sense for them to
+stand out.
+.IP \(bu 2
+Cursor control characters are purple. These are characters that perform
+some action when printed to the \fIE:\fP device. These are:
+.INDENT 2.0
+.INDENT 3.5
+.INDENT 0.0
+.TP
+.B \fB$1b\fP
+Escape.
+.TP
+.B \fB$1c\fP through \fB$1f\fP
+Cursor movement (up/down/left/right arrows).
+.TP
+.B \fB$7d\fP
+Clear screen.
+.TP
+.B \fB$7e\fP
+Backspace.
+.TP
+.B \fB$7f\fP
+Tab.
+.TP
+.B \fB$9c\fP
+Delete line.
+.TP
+.B \fB$9d\fP
+Insert line.
+.TP
+.B \fB$9e\fP
+Clear tab stop.
+.TP
+.B \fB$9f\fP
+Set tab stop.
+.TP
+.B \fB$fd\fP
+Bell.
+.TP
+.B \fB$fe\fP
+Delete character.
+.TP
+.B \fB$ff\fP
+Insert character.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+In \fB\-f\fP and \fB\-g\fP modes, the above doesn\(aqt apply. Instead, the
+colors are (close to) the colors that would appear in \fIGRAPHICS 1\fP,
+with the default palette.
+.SH NOTES
+.sp
+\fBa8xd\fP requires the terminal emulator to support UTF\-8 and use a
+font with the necessary glyphs. The author has tested extensively
+with \fBurxvt\fP(1) (aka \fBrxvt\-unicode\fP) and \fBxterm\fP(1), using
+the \fIDeja Vu Sans Mono\fP, \fIJetBrains Mono\fP, \fILiberation Mono\fP,
+and \fISymbola\fP fonts. Also \fBkitty\fP(1), \fBxfce4\-terminal\fP(1),
+KDE/Plasma 5\(aqs \fBkonsole\fP(1), \fBgnome\-terminal\fP(1) 3.43.90, and
+\fBst\fP(1) from suckless.org have been lightly tested and seem to work
+fine. Even the Linux console works, except that you won\(aqt be able to
+find a console font with all the necessary glyphs (I may create one
+someday).
+.sp
+\fBa8xd\fP only supports terminals that use ANSI\-style escape sequences
+for color and inverse video. This isn\(aqt much of a limitation, since
+all modern X, Wayland, Mac, etc terminal emulators have support for
+this... but it might annoy you if you\(aqre trying to use an Atari ST
+with a VT52 emulator as a serial terminal. Sorry.
+.sp
+\fBa8xd\fP supports a useful subset of \fBxxd\fP(1) options. The main things
+missing are:
+.INDENT 0.0
+.IP \(bu 2
+\fB\-r\fP (revert).
+.IP \(bu 2
+\fB\-include\fP (output as C include) and all options related to it.
+.IP \(bu 2
+\fB\-g\fP (grouping; \fBa8xd\fP always uses a group size of 1 byte).
+.IP \(bu 2
+\fB\-E\fP (EBCDIC mode).
+.IP \(bu 2
+\fB\-p\fP (PostScript/continuous dump).
+.IP \(bu 2
+\fB\-cols\fP (\fBa8xd\fP only supports 16 column dumps).
+.IP \(bu 2
+\fB\-b\fP (bits mode).
+.IP \(bu 2
+support for files larger than 2GB. This won\(aqt be a problem for Atari 8\-bit\-related files!
+.IP \(bu 2
+replacing duplicate lines in the output with \fB*\fP\&.
+.UNINDENT
+.SH COPYRIGHT
+.sp
+WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
+.SH AUTHOR
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fBa8cat\fP(1),
+\fBa8eol\fP(1),
+\fBa8xd\fP(1),
+\fBatr2xfd\fP(1),
+\fBatrsize\fP(1),
+\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
+\fBblob2c\fP(1),
+\fBblob2xex\fP(1),
+\fBcart2xex\fP(1),
+\fBcxrefbas\fP(1),
+\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
+\fBdumpbas\fP(1),
+\fBf2toxex\fP(1),
+\fBfenders\fP(1),
+\fBlistbas\fP(1),
+\fBprotbas\fP(1),
+\fBrenumbas\fP(1),
+\fBrom2cart\fP(1),
+\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
+\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
+\fBxexamine\fP(1),
+\fBxexcat\fP(1),
+\fBxexsplit\fP(1),
+\fBxfd2atr\fP(1),
+\fBxex\fP(5),
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
+.sp
+Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
+Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
+.\" Generated by docutils manpage writer.
+.
diff --git a/a8xd.c b/a8xd.c
new file mode 100644
index 0000000..1a48312
--- /dev/null
+++ b/a8xd.c
@@ -0,0 +1,400 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <locale.h>
+#include <wchar.h>
+#include <errno.h>
+
+#include "atables.h"
+
+/* printf() formats for lower/uppercase hex. */
+#define LC_WORD_FMT "%04x"
+#define LC_BYTE_FMT "%02x"
+#define UC_WORD_FMT "%04X"
+#define UC_BYTE_FMT "%02X"
+
+/* colors. don't use black or white: one or the other is likely
+ the terminal's text color already.
+ don't use blue because it's hard to read. */
+#define C_RED 1
+#define C_GREEN 2
+#define C_YELLOW 3
+#define C_PURPLE 5
+#define C_CYAN 6
+
+/* translation table (see atables.c), choices are
+ ata2utf, ics2utf, or magazine. */
+const char **table = ata2utf;
+
+/* hardcoded ANSI-style escape sequences, work fine on
+ all modern terminal emulators. */
+const char *inverse_on = "\x1b[7m";
+const char *inverse_off = "\x1b[0m";
+const char *color_off = "\x1b[0m";
+
+/* -u option changes these. */
+const char *word_format = LC_WORD_FMT;
+const char *byte_format = LC_BYTE_FMT;
+
+/* command line options change these. */
+int verbose = 0, color = 1, disp_offset = 0, maxlen = 0;
+int seek_whence = 0, seekpos = 0, filepos = 0, limit = 0;
+int graphics = 0, screencodes = 0, high_font = 0;
+
+const char *self;
+
+void set_self(const char *argv0) {
+ char *p;
+
+ self = argv0;
+ p = strrchr(self, '/');
+ if(p) self = p + 1;
+}
+
+void die(const char *msg) {
+ fprintf(stderr, "%s: %s\n", self, msg);
+ exit(1);
+}
+
+void print_help(void) {
+ printf("Usage:\n %s [-a] [-f] [-g] [-i] [-l limit] [-m] [-o offset] [-s [-]seek] [-u] [-v] [file]\n", self);
+ printf(" -a: Input is ANTIC screencodes (default is ATASCII).\n");
+ printf(" -g: GR.1/2 style colorization.\n");
+ printf(" -i: Input is XL intl charset (default is ATASCII).\n");
+ printf(" -l: Stop after <limit> bytes.\n");
+ printf(" -m: Monochrome (color off).\n");
+ printf(" -o: Add <offset> to displayed byte positions.\n");
+ printf(" -s: Seek <seek> bytes into input (with -, seek back from EOF).\n");
+ printf(" -u: Uppercase hex digits (default is lowercase).\n");
+ printf(" -v: Verbose debugging info.\n");
+ printf("With no [file], or -, reads from stdin.\n");
+}
+
+int parse_num_arg(const char *arg) {
+ int got;
+
+ if(sscanf(arg, "0x%x", &got) != 1)
+ if(sscanf(arg, "$%x", &got) != 1)
+ if(sscanf(arg, "%d", &got) != 1) {
+ fprintf(stderr, "%s: invalid numeric argument '%s'.", self, arg);
+ exit(1);
+ }
+
+ return got;
+}
+
+void parse_seek_arg(const char *arg) {
+ seek_whence = SEEK_SET;
+
+ if(*arg == '-') {
+ seek_whence = SEEK_END;
+ }
+
+ seekpos = parse_num_arg(arg);
+}
+
+int parse_offset_arg(const char *arg) {
+ int got;
+
+ got = parse_num_arg(arg);
+
+ return got;
+}
+
+int parse_limit_arg(const char *arg) {
+ int got;
+
+ got = parse_num_arg(arg);
+ if(got < 0)
+ die("negative arguments to -l (limit) are not supported.");
+
+ return got;
+}
+
+FILE *open_input(const char *file) {
+ FILE *input;
+
+ if(file[0] == '-' && file[1] == 0) {
+ if(freopen(NULL, "rb", stdin)) {
+ input = stdin;
+ } else {
+ fprintf(stderr, "%s: ", self);
+ perror("(standard input)");
+ return NULL;
+ }
+ if(verbose)
+ fprintf(stderr, "%s: reading from standard input.\n", self);
+ } else {
+ if(!(input = fopen(file, "rb"))) {
+ perror(file);
+ return NULL;
+ }
+ if(verbose)
+ fprintf(stderr, "%s: reading from file '%s'.\n", self, file);
+ }
+
+ return input;
+}
+
+int get_text_color(unsigned char c) {
+ unsigned char c7 = c & 0x7f;
+
+ if(c == 0 || c == 0x9b) {
+ return C_RED;
+ } else if((c7 >= 0x1b && c7 <= 0x1f) || (c7 >= 0x7d)) {
+ /* cursor control characters:
+ - 0x1b (esc)
+ - 0x1c-0x1f (arrows), 0x9c-0x9f
+ - 0x7d/0xf3 (cls, bell)
+ - 0x7e, 0xfe (delete line, char)
+ - 0x7f, 0xff (tab, insert char)
+ */
+ return C_PURPLE;
+ } else if(c7 < 32 || c7 == 0x60 || c7 == 0x7b) {
+ return C_YELLOW;
+ } else {
+ return C_GREEN;
+ }
+}
+
+int get_graphics_color(unsigned char c) {
+ if(c < 0x20)
+ return C_GREEN;
+ else if(c >= 0x20 && c < 0x60)
+ return C_YELLOW;
+ else if(c >= 0x60 && c < 0x80)
+ return C_GREEN;
+ else if(c >= 0x80 && c < 0xa0)
+ return C_RED;
+ else if(c >= 0xa0 && c < 0xe0)
+ return C_CYAN;
+ else /* c >= 0xe0 */
+ return C_RED;
+}
+
+char *get_color(unsigned char c) {
+ int color;
+ static char outbuf[32];
+
+ if(graphics) {
+ color = get_graphics_color(c);
+ } else {
+ color = get_text_color(c);
+ }
+
+ if(color) {
+ sprintf(outbuf, "\x1b[0;3%dm", color);
+ } else {
+ outbuf[0] = '\0';
+ }
+
+ return outbuf;
+}
+
+/* displaying ATASCII (not screencodes) in GR.1 or GR.2:
+ $00-$1F get displayed in green, as $20-$2F.
+ $20-$5F get displayed in orange, as themselves.
+ $60-$7F get displayed in green, as $40-$5F.
+ for $80-$FF, same thing, but green is red, and orange is blue.
+*/
+unsigned char get_graphics(unsigned char c) {
+ c &= 0x7f;
+ if(c < 0x20)
+ c += 0x20;
+ else if(c >= 0x60)
+ c -= 0x20;
+ return c;
+}
+
+unsigned char get_high_graphics(unsigned char c) {
+ c &= 0x7f;
+ if(c >= 0x20 && c < 0x40)
+ c -= 0x20;
+ else if(c >= 0x40)
+ c += 0x20;
+ return c;
+}
+
+unsigned char screen2ata(unsigned char c) {
+ unsigned char c7 = c & 0x7f;
+
+ if(c7 < 0x40)
+ return c + 0x20;
+ if(c7 >= 0x40 && c7 < 0x60)
+ return c - 0x40;
+ return c;
+}
+
+void fake_seek(FILE *input) {
+ char junkbuf[1024];
+ int pos = 0, chunksize;
+
+ if(verbose)
+ fprintf(stderr, "%s: faking fseek() for stdin, skipping %d bytes.\n", self, seekpos);
+
+ while(pos < seekpos) {
+ chunksize = seekpos - pos;
+ if(chunksize > 1024) chunksize = 1024;
+ if(fread(junkbuf, 1, chunksize, input) != chunksize)
+ die("can't seek past end of input");
+ pos += chunksize;
+ }
+}
+
+void seek_input(FILE *input) {
+ if(verbose)
+ fprintf(stderr, "%s: seeking %d bytes (whence = %d) in input.\n", self, seekpos, seek_whence);
+ if(input == stdin) {
+ /* can't fseek() a stream, fake it */
+ if(seek_whence != SEEK_SET)
+ die("can't seek from the end of standard input.");
+ fake_seek(input);
+ } else {
+ if(fseek(input, seekpos, seek_whence) < 0) {
+ fprintf(stderr, "%s: ", self);
+ perror("fseek() failed");
+ exit(1);
+ }
+ if((filepos = ftell(input)) < 0) {
+ fprintf(stderr, "%s: ", self);
+ perror("ftell() failed");
+ exit(1);
+ }
+ }
+}
+
+void append_str_f(char *buf, int *pos, const char *fmt, const char *str) {
+ *pos += sprintf(buf + *pos, fmt, str);
+}
+
+void append_str(char *buf, int *pos, const char *str) {
+ append_str_f(buf, pos, "%s", str);
+}
+
+void append_hex(char *buf, int *pos, const unsigned char byte) {
+ *pos += sprintf(buf + *pos, byte_format, byte);
+}
+
+
+void dump_line(const unsigned char *buf, int len) {
+ char hex[1024], asc[1024];
+ int hpos = 0, apos = 0, count = len;
+ unsigned char c, inv;
+
+ memset(hex, 0, sizeof(hex));
+ memset(asc, 0, sizeof(asc));
+
+ printf(word_format, filepos + disp_offset);
+ fputs(": ", stdout);
+
+ while(len) {
+ c = *buf;
+ inv = !graphics && (c & 0x80);
+ if(screencodes) c = screen2ata(c);
+
+ hpos += printf("%s", get_color(c));
+ if(inv) hpos += printf("%s", inverse_on);
+ hpos += printf(byte_format, *buf); /* *buf here, not c! */
+ if(color || inv) hpos += printf("%s", color_off);
+ putchar(' ');
+ hpos++;
+ if(count - len == 7) {
+ putchar(' ');
+ hpos++;
+ }
+
+ if(color) append_str(asc, &apos, get_color(c));
+ if(inv) append_str(asc, &apos, inverse_on);
+ if(graphics) {
+ if(high_font)
+ c = get_high_graphics(c);
+ else
+ c = get_graphics(c);
+ }
+ apos += sprintf(asc + apos, "%s", table[c & 0x7f]);
+ if(color || inv) append_str(asc, &apos, color_off);
+
+ filepos++;
+ buf++;
+ len--;
+ }
+
+ /* what shall we use to fill the empty spaces? */
+ if(count < 8) putchar(' ');
+ for(; count < 16; count++) fputs(" ", stdout);
+
+ printf(" %s\n", asc);
+}
+
+int a8xd(const char *file) {
+ FILE *input;
+ int c, len = 0, count = 0;
+ unsigned char buf[16];
+
+ if( !(input = open_input(file)) )
+ return 1;
+
+ if(seekpos) seek_input(input);
+
+ while( (c = fgetc(input)) != EOF ) {
+ if(limit && (count == limit)) break;
+ count++;
+ if(len && (len % 16 == 0)) {
+ dump_line(buf, len);
+ len = 0;
+ }
+ buf[len++] = c;
+ }
+
+ if(len) dump_line(buf, len);
+
+ if(verbose)
+ fprintf(stderr, "%s: dumped %d (0x%04x) bytes from '%s'.\n", self, count, count, file);
+
+ fclose(input);
+ return 0;
+}
+
+int main(int argc, char **argv) {
+ int opt, result = 0;
+
+ set_self(argv[0]);
+
+ if(argc > 1 && strcmp(argv[1], "--help") == 0) {
+ print_help();
+ exit(0);
+ }
+
+ if(argc > 1 && strcmp(argv[1], "--version") == 0) {
+ printf("%s %s\n", self, VERSION);
+ exit(0);
+ }
+
+ while( (opt = getopt(argc, argv, "vhimus:o:l:gaf")) != -1) {
+ switch(opt) {
+ case 'v': verbose = 1; break;
+ case 'h': print_help(); exit(0); break;
+ case 'i': table = ics2utf; break;
+ case 'm': color = 0; break;
+ case 'u': word_format = UC_WORD_FMT; byte_format = UC_BYTE_FMT; break;
+ case 's': parse_seek_arg(optarg); break;
+ case 'o': disp_offset = parse_offset_arg(optarg); break;
+ case 'l': limit = parse_limit_arg(optarg); break;
+ case 'g': graphics = 1; break;
+ case 'a': screencodes = 1; break;
+ case 'f': graphics = high_font = 1; break;
+ default: print_help(); exit(1); break;
+ }
+ }
+
+ if(optind < argc - 1)
+ die("Only one filename is supported.");
+
+ if(optind >= argc)
+ result = a8xd("-");
+ else
+ result = a8xd(argv[optind]);
+
+ exit(result);
+}
diff --git a/a8xd.rst b/a8xd.rst
new file mode 100644
index 0000000..3dc2b07
--- /dev/null
+++ b/a8xd.rst
@@ -0,0 +1,187 @@
+====
+a8xd
+====
+
+----------------------------------
+Atari 8-bit ATASCII-aware hex dump
+----------------------------------
+
+.. include:: manhdr.rst
+
+SYNOPSIS
+========
+
+*a8xd* [**-i**] [**-l** *limit*] [**-m**] [**-o** offset] [**-s** *[-]seek*] [**-u**] [**-v**] [*infile*]
+
+DESCRIPTION
+===========
+
+**a8xd** is a hex dump utility, similar to **xxd**\(1), but it
+understands and prints ATASCII characters rather than ASCII.
+
+The ATASCII codes are converted to UTF-8, in the same way as
+**a8cat**\(1). Codes with the high bit set are displayed in inverse
+video, using ANSI/VT-100 escape sequences.
+
+By default, the output is colorized (see **COLORS**, below). The
+colors and inverse rendering apply to both the ATASCII and hex bytes.
+
+Without *infile*, or if *infile* is **-**, **a8xd** reads from standard input.
+
+OPTIONS
+=======
+
+-a
+ ANTIC mode: treat the input as screen bytes (aka "internal codes")
+ rather than ATASCII. Can usefully be combined with **-g** or **-f**.
+
+-f
+ Like **-g**, but using the top half of the character set. This is
+ what you'd see on the Atari with *GRAPHICS 1:POKE 756,226*.
+
+-g
+ Graphics mode. Changes the printed characters and colorization so it
+ looks like *GRAPHICS 1* (or 2) on the Atari.
+
+-i
+ Print XL/XE International Character Set conversions instead of ATASCII.
+
+-l *len*
+ Stop after dumping *len* bytes. *len* may be given in decimal or hex (with
+ leading *0x* or *$*).
+
+-m
+ Monochrome mode. Disables color, but ATASCII characters with the high bit
+ set are still displayed in inverse.
+
+-o *offset*
+ Add *offset* to displayed file position. *offset* can be given in decimal
+ or hex (with leading *0x* or *$*). Negative offsets are allowed, but they
+ will be printed as very large positive numbers in the output (this matches
+ **xxd**\'s behaviour).
+
+-s *[-]seek*
+ Start at *seek* bytes. Without *-*, this is an absolute offset. With *-*,
+ it's relative to the end of the file. The *-* option won't work when
+ reading from standard input. *seek* may be given in decimal or hex
+ (with leading *0x* or *$*).
+
+-u
+ Use uppercase letters for hex digits; the default is lowercase.
+
+-v
+ Verbose. Shows various debug messages that are probably only useful
+ if you're hacking on **a8xd**.
+
+**--**
+ End of options; the next argument is the filename. Use this if you're
+ trying to work with files whose names begin with *-*.
+
+**-h**, **--help**
+ Show built-in help and exit.
+
+**--version**
+ Show version number and exit.
+
+COLORS
+======
+
+The default color scheme is:
+
+ - Non-control characters are green. This includes alphanumerics, spaces, and
+ punctuation. These are the characters that ATASCII has in common with
+ ASCII.
+
+ - Graphics characters are yellow. This includes **$01** to **$1a** (the
+ alphabet, with the Control key held down), **$60** (the diamond), and
+ **$7b** (the spade).
+
+ - Codes **$00** (null, or ATASCII heart) and **$9B** (EOL) are red. These
+ characters are used as delimiters, so it makes sense for them to
+ stand out.
+
+ - Cursor control characters are purple. These are characters that perform
+ some action when printed to the *E:* device. These are:
+
+ **$1b**
+ Escape.
+
+ **$1c** through **$1f**
+ Cursor movement (up/down/left/right arrows).
+
+ **$7d**
+ Clear screen.
+
+ **$7e**
+ Backspace.
+
+ **$7f**
+ Tab.
+
+ **$9c**
+ Delete line.
+
+ **$9d**
+ Insert line.
+
+ **$9e**
+ Clear tab stop.
+
+ **$9f**
+ Set tab stop.
+
+ **$fd**
+ Bell.
+
+ **$fe**
+ Delete character.
+
+ **$ff**
+ Insert character.
+
+In **-f** and **-g** modes, the above doesn't apply. Instead, the
+colors are (close to) the colors that would appear in *GRAPHICS 1*,
+with the default palette.
+
+NOTES
+=====
+
+**a8xd** requires the terminal emulator to support UTF-8 and use a
+font with the necessary glyphs. The author has tested extensively
+with **urxvt**\(1) (aka **rxvt-unicode**) and **xterm**\(1), using
+the *Deja Vu Sans Mono*, *JetBrains Mono*, *Liberation Mono*,
+and *Symbola* fonts. Also **kitty**\(1), **xfce4-terminal**\(1),
+KDE/Plasma 5's **konsole**\(1), **gnome-terminal**\(1) 3.43.90, and
+**st**\(1) from suckless.org have been lightly tested and seem to work
+fine. Even the Linux console works, except that you won't be able to
+find a console font with all the necessary glyphs (I may create one
+someday).
+
+**a8xd** only supports terminals that use ANSI-style escape sequences
+for color and inverse video. This isn't much of a limitation, since
+all modern X, Wayland, Mac, etc terminal emulators have support for
+this... but it might annoy you if you're trying to use an Atari ST
+with a VT52 emulator as a serial terminal. Sorry.
+
+**a8xd** supports a useful subset of **xxd**\(1) options. The main things
+missing are:
+
+- **-r** (revert).
+
+- **-include** (output as C include) and all options related to it.
+
+- **-g** (grouping; **a8xd** always uses a group size of 1 byte).
+
+- **-E** (EBCDIC mode).
+
+- **-p** (PostScript/continuous dump).
+
+- **-cols** (**a8xd** only supports 16 column dumps).
+
+- **-b** (bits mode).
+
+- support for files larger than 2GB. This won't be a problem for Atari 8-bit-related files!
+
+- replacing duplicate lines in the output with **\***.
+
+.. include:: manftr.rst
diff --git a/aplus_tokens.c b/aplus_tokens.c
new file mode 100644
index 0000000..d685189
--- /dev/null
+++ b/aplus_tokens.c
@@ -0,0 +1,179 @@
+/* these have to be full sets of tokens, because A+'s tokens don't
+ match Atari BASIC's */
+
+const char *aplus_cmds[] = {
+ "REM", /* $00 */
+ "DATA", /* $01 */
+ "INPUT", /* $02 */
+ "LIST", /* $03 */
+ "ENTER", /* $04 */
+ "LET", /* $05 */
+ "IF", /* $06 */
+ "FOR", /* $07 */
+ "NEXT", /* $08 */
+ "GOTO", /* $09 */
+ "RENUM", /* $0a */
+ "GOSUB", /* $0b */
+ "TRAP", /* $0c */
+ "BYE", /* $0d */
+ "CONT", /* $0e */
+ "CLOSE", /* $0f */
+ "CLR", /* $10 */
+ "DEG", /* $11 */
+ "DIM", /* $12 */
+ "WHILE", /* $13 */
+ "ENDWHILE", /* $14 */
+ "TRACEOFF", /* $15 */
+ "TRACE", /* $16 */
+ "ELSE", /* $17 */
+ "ENDIF", /* $18 */
+ "END", /* $19 */
+ "NEW", /* $1a */
+ "OPEN", /* $1b */
+ "LOAD", /* $1c */
+ "SAVE", /* $1d */
+ "STATUS", /* $1e */
+ "NOTE", /* $1f */
+ "POINT", /* $20 */
+ "XIO", /* $21 */
+ "ON", /* $22 */
+ "POKE", /* $23 */
+ "DPOKE", /* $24 */
+ "PRINT", /* $25 */
+ "RAD", /* $26 */
+ "READ", /* $27 */
+ "RESTORE", /* $28 */
+ "RETURN", /* $29 */
+ "RUN", /* $2a */
+ "STOP", /* $2b */
+ "POP", /* $2c */
+ "?", /* $2d */
+ "GET", /* $2e */
+ "PUT", /* $2f */
+ "LOMEM", /* $30 */
+ "DEL", /* $31 */
+ "RPUT", /* $32 */
+ "RGET", /* $33 */
+ "BPUT", /* $34 */
+ "BGET", /* $35 */
+ "TAB", /* $36 */
+ "CP", /* $37 */
+ "DOS", /* $38 */
+ "ERASE", /* $39 */
+ "PROTECT", /* $3a */
+ "UNPROTECT", /* $3b */
+ "DIR", /* $3c */
+ "RENAME", /* $3d */
+ "MOVE", /* $3e */
+ "COLOR", /* $3f */
+ "GRAPHICS", /* $40 */
+ "PLOT", /* $41 */
+ "POSITION", /* $42 */
+ "DRAWTO", /* $43 */
+ "SETCOLOR", /* $44 */
+ "LOCATE", /* $45 */
+ "SOUND", /* $46 */
+ "LPRINT", /* $47 */
+ "CSAVE", /* $48 */
+ "CLOAD", /* $49 */
+ "MISSILE", /* $4a */
+ "PMCLR", /* $4b */
+ "PMCOLOR", /* $4c */
+ "PMGRAPHICS", /* $4d */
+ "PMMOVE", /* $4e */
+ "PMWIDTH", /* $4f */
+ "SET", /* $50 */
+ "LVAR", /* $51 */
+ "", /* $52, silent LET */
+ "ERROR- " /* $53 */
+};
+
+const int aplus_cmd_size = sizeof(aplus_cmds);
+
+const char *aplus_ops[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,
+ ",", /* $12 */
+ "$", /* $13 */
+ ":", /* $14 */
+ ";", /* $15 */
+ "", /* $16 */
+ " GOTO ", /* $17 */
+ " GOSUB ", /* $18 */
+ " TO ", /* $19 */
+ " STEP ", /* $1a */
+ " THEN ", /* $1b */
+ " USING ", /* $1c */
+ "#", /* $1d */
+ "<=", /* $1e */
+ "<>", /* $1f */
+ ">=", /* $20 */
+ "<", /* $21 */
+ ">", /* $22 */
+ "=", /* $23 */
+ "^", /* $24 */
+ "*", /* $25 */
+ "+", /* $26 */
+ "-", /* $27 */
+ "/", /* $28 */
+ " NOT ", /* $29 */
+ " OR ", /* $2a */
+ " AND ", /* $2b */
+ "!", /* $2c */
+ "&", /* $2d */
+ "(", /* $2e */
+ ")", /* $2f */
+ "=", /* $30 */
+ "=", /* $31 */
+ "<=", /* $32 */
+ "<>", /* $33 */
+ ">=", /* $34 */
+ "<", /* $35 */
+ ">", /* $36 */
+ "=", /* $37 */
+ "+", /* $38 */
+ "-", /* $39 */
+ "(", /* $3a */
+ "", /* $3b */
+ "", /* $3c */
+ "(", /* $3d */
+ "(", /* $3e */
+ ",", /* $3f */
+ "STR$", /* $40 */
+ "CHR$", /* $41 */
+ "USR", /* $42 */
+ "ASC", /* $43 */
+ "VAL", /* $44 */
+ "LEN", /* $45 */
+ "ADR", /* $46 */
+ "BUMP", /* $47 */
+ "FIND", /* $48 */
+ "DPEEK", /* $49 */
+ "ATN", /* $4a */
+ "COS", /* $4b */
+ "PEEK", /* $4c */
+ "SIN", /* $4d */
+ "RND", /* $4e */
+ "FRE", /* $4f */
+ "EXP", /* $50 */
+ "LOG", /* $51 */
+ "CLOG", /* $52 */
+ "SQR", /* $53 */
+ "SGN", /* $54 */
+ "ABS", /* $55 */
+ "INT", /* $56 */
+ "SYS", /* $57 */
+ "PADDLE", /* $58 */
+ "STICK", /* $59 */
+ "PTRIG", /* $5a */
+ "STRIG", /* $5b */
+ "VSTICK", /* $5c */
+ "HSTICK", /* $5d */
+ "PMADR", /* $5e */
+ "ERR", /* $5f */
+ "TAB", /* $60 */
+ "PEN", /* $61 */
+};
+
+const int aplus_ops_size = sizeof(aplus_ops);
diff --git a/aplus_tokens.h b/aplus_tokens.h
new file mode 100644
index 0000000..f0c905d
--- /dev/null
+++ b/aplus_tokens.h
@@ -0,0 +1,5 @@
+extern const char *aplus_cmds[];
+extern const char *aplus_ops[];
+
+extern const int aplus_cmd_size;
+extern const int aplus_ops_size;
diff --git a/atables.c b/atables.c
new file mode 100644
index 0000000..fd086b4
--- /dev/null
+++ b/atables.c
@@ -0,0 +1,396 @@
+/* ATASCII to UTF-8 tables. Generated by mkatables.pl.
+ Do not edit this file; edit mkatables.pl instead. */
+
+const char *ata2utf[] = {
+ "♥", /* 0 $00 ^@ */
+ "┣", /* 1 $01 ^A */
+ "┃", /* 2 $02 ^B */
+ "┛", /* 3 $03 ^C */
+ "┫", /* 4 $04 ^D */
+ "┓", /* 5 $05 ^E */
+ "╱", /* 6 $06 ^F */
+ "╲", /* 7 $07 ^G */
+ "◢", /* 8 $08 ^H */
+ "▗", /* 9 $09 ^I */
+ "◣", /* 10 $0a ^J */
+ "▝", /* 11 $0b ^K */
+ "▘", /* 12 $0c ^L */
+ "▔", /* 13 $0d ^M */
+ "▁", /* 14 $0e ^N */
+ "▖", /* 15 $0f ^O */
+ "♣", /* 16 $10 ^P */
+ "┏", /* 17 $11 ^Q */
+ "━", /* 18 $12 ^R */
+ "╋", /* 19 $13 ^S */
+ "●", /* 20 $14 ^T */
+ "▄", /* 21 $15 ^U */
+ "▎", /* 22 $16 ^V */
+ "┳", /* 23 $17 ^W */
+ "┻", /* 24 $18 ^X */
+ "▌", /* 25 $19 ^Y */
+ "┗", /* 26 $1a ^Z */
+ "Ę", /* 27 $1b ^[ */
+ "↑", /* 28 $1c ^\ */
+ "↓", /* 29 $1d ^] */
+ "←", /* 30 $1e ^^ */
+ "→", /* 31 $1f ^_ */
+ " ", /* 32 $20 */
+ "!", /* 33 $21 ! */
+ "\"", /* 34 $22 " */
+ "#", /* 35 $23 # */
+ "$", /* 36 $24 $ */
+ "%", /* 37 $25 % */
+ "&", /* 38 $26 & */
+ "'", /* 39 $27 ' */
+ "(", /* 40 $28 ( */
+ ")", /* 41 $29 ) */
+ "*", /* 42 $2a * */
+ "+", /* 43 $2b + */
+ ",", /* 44 $2c , */
+ "-", /* 45 $2d - */
+ ".", /* 46 $2e . */
+ "/", /* 47 $2f / */
+ "0", /* 48 $30 0 */
+ "1", /* 49 $31 1 */
+ "2", /* 50 $32 2 */
+ "3", /* 51 $33 3 */
+ "4", /* 52 $34 4 */
+ "5", /* 53 $35 5 */
+ "6", /* 54 $36 6 */
+ "7", /* 55 $37 7 */
+ "8", /* 56 $38 8 */
+ "9", /* 57 $39 9 */
+ ":", /* 58 $3a : */
+ ";", /* 59 $3b ; */
+ "<", /* 60 $3c < */
+ "=", /* 61 $3d = */
+ ">", /* 62 $3e > */
+ "?", /* 63 $3f ? */
+ "@", /* 64 $40 @ */
+ "A", /* 65 $41 A */
+ "B", /* 66 $42 B */
+ "C", /* 67 $43 C */
+ "D", /* 68 $44 D */
+ "E", /* 69 $45 E */
+ "F", /* 70 $46 F */
+ "G", /* 71 $47 G */
+ "H", /* 72 $48 H */
+ "I", /* 73 $49 I */
+ "J", /* 74 $4a J */
+ "K", /* 75 $4b K */
+ "L", /* 76 $4c L */
+ "M", /* 77 $4d M */
+ "N", /* 78 $4e N */
+ "O", /* 79 $4f O */
+ "P", /* 80 $50 P */
+ "Q", /* 81 $51 Q */
+ "R", /* 82 $52 R */
+ "S", /* 83 $53 S */
+ "T", /* 84 $54 T */
+ "U", /* 85 $55 U */
+ "V", /* 86 $56 V */
+ "W", /* 87 $57 W */
+ "X", /* 88 $58 X */
+ "Y", /* 89 $59 Y */
+ "Z", /* 90 $5a Z */
+ "[", /* 91 $5b [ */
+ "\\", /* 92 $5c \ */
+ "]", /* 93 $5d ] */
+ "^", /* 94 $5e ^ */
+ "_", /* 95 $5f _ */
+ "◆", /* 96 $60 ` */
+ "a", /* 97 $61 a */
+ "b", /* 98 $62 b */
+ "c", /* 99 $63 c */
+ "d", /* 100 $64 d */
+ "e", /* 101 $65 e */
+ "f", /* 102 $66 f */
+ "g", /* 103 $67 g */
+ "h", /* 104 $68 h */
+ "i", /* 105 $69 i */
+ "j", /* 106 $6a j */
+ "k", /* 107 $6b k */
+ "l", /* 108 $6c l */
+ "m", /* 109 $6d m */
+ "n", /* 110 $6e n */
+ "o", /* 111 $6f o */
+ "p", /* 112 $70 p */
+ "q", /* 113 $71 q */
+ "r", /* 114 $72 r */
+ "s", /* 115 $73 s */
+ "t", /* 116 $74 t */
+ "u", /* 117 $75 u */
+ "v", /* 118 $76 v */
+ "w", /* 119 $77 w */
+ "x", /* 120 $78 x */
+ "y", /* 121 $79 y */
+ "z", /* 122 $7a z */
+ "♠", /* 123 $7b { */
+ "|", /* 124 $7c | */
+ "↰", /* 125 $7d } */
+ "◀", /* 126 $7e ~ */
+ "▶", /* 127 $7f [del] */
+};
+
+const char *ics2utf[] = {
+ "á", /* 0 $00 ^@ */
+ "ù", /* 1 $01 ^A */
+ "Ñ", /* 2 $02 ^B */
+ "É", /* 3 $03 ^C */
+ "ç", /* 4 $04 ^D */
+ "ô", /* 5 $05 ^E */
+ "ò", /* 6 $06 ^F */
+ "ì", /* 7 $07 ^G */
+ "£", /* 8 $08 ^H */
+ "ï", /* 9 $09 ^I */
+ "ü", /* 10 $0a ^J */
+ "ä", /* 11 $0b ^K */
+ "Ö", /* 12 $0c ^L */
+ "ú", /* 13 $0d ^M */
+ "ó", /* 14 $0e ^N */
+ "ö", /* 15 $0f ^O */
+ "Ü", /* 16 $10 ^P */
+ "â", /* 17 $11 ^Q */
+ "û", /* 18 $12 ^R */
+ "î", /* 19 $13 ^S */
+ "é", /* 20 $14 ^T */
+ "è", /* 21 $15 ^U */
+ "ñ", /* 22 $16 ^V */
+ "ê", /* 23 $17 ^W */
+ "ȧ", /* 24 $18 ^X */
+ "à", /* 25 $19 ^Y */
+ "Ȧ", /* 26 $1a ^Z */
+ "Ę", /* 27 $1b ^[ */
+ "↑", /* 28 $1c ^\ */
+ "↓", /* 29 $1d ^] */
+ "←", /* 30 $1e ^^ */
+ "→", /* 31 $1f ^_ */
+ " ", /* 32 $20 */
+ "!", /* 33 $21 ! */
+ "\"", /* 34 $22 " */
+ "#", /* 35 $23 # */
+ "$", /* 36 $24 $ */
+ "%", /* 37 $25 % */
+ "&", /* 38 $26 & */
+ "'", /* 39 $27 ' */
+ "(", /* 40 $28 ( */
+ ")", /* 41 $29 ) */
+ "*", /* 42 $2a * */
+ "+", /* 43 $2b + */
+ ",", /* 44 $2c , */
+ "-", /* 45 $2d - */
+ ".", /* 46 $2e . */
+ "/", /* 47 $2f / */
+ "0", /* 48 $30 0 */
+ "1", /* 49 $31 1 */
+ "2", /* 50 $32 2 */
+ "3", /* 51 $33 3 */
+ "4", /* 52 $34 4 */
+ "5", /* 53 $35 5 */
+ "6", /* 54 $36 6 */
+ "7", /* 55 $37 7 */
+ "8", /* 56 $38 8 */
+ "9", /* 57 $39 9 */
+ ":", /* 58 $3a : */
+ ";", /* 59 $3b ; */
+ "<", /* 60 $3c < */
+ "=", /* 61 $3d = */
+ ">", /* 62 $3e > */
+ "?", /* 63 $3f ? */
+ "@", /* 64 $40 @ */
+ "A", /* 65 $41 A */
+ "B", /* 66 $42 B */
+ "C", /* 67 $43 C */
+ "D", /* 68 $44 D */
+ "E", /* 69 $45 E */
+ "F", /* 70 $46 F */
+ "G", /* 71 $47 G */
+ "H", /* 72 $48 H */
+ "I", /* 73 $49 I */
+ "J", /* 74 $4a J */
+ "K", /* 75 $4b K */
+ "L", /* 76 $4c L */
+ "M", /* 77 $4d M */
+ "N", /* 78 $4e N */
+ "O", /* 79 $4f O */
+ "P", /* 80 $50 P */
+ "Q", /* 81 $51 Q */
+ "R", /* 82 $52 R */
+ "S", /* 83 $53 S */
+ "T", /* 84 $54 T */
+ "U", /* 85 $55 U */
+ "V", /* 86 $56 V */
+ "W", /* 87 $57 W */
+ "X", /* 88 $58 X */
+ "Y", /* 89 $59 Y */
+ "Z", /* 90 $5a Z */
+ "[", /* 91 $5b [ */
+ "\\", /* 92 $5c \ */
+ "]", /* 93 $5d ] */
+ "^", /* 94 $5e ^ */
+ "_", /* 95 $5f _ */
+ "¡", /* 96 $60 ` */
+ "a", /* 97 $61 a */
+ "b", /* 98 $62 b */
+ "c", /* 99 $63 c */
+ "d", /* 100 $64 d */
+ "e", /* 101 $65 e */
+ "f", /* 102 $66 f */
+ "g", /* 103 $67 g */
+ "h", /* 104 $68 h */
+ "i", /* 105 $69 i */
+ "j", /* 106 $6a j */
+ "k", /* 107 $6b k */
+ "l", /* 108 $6c l */
+ "m", /* 109 $6d m */
+ "n", /* 110 $6e n */
+ "o", /* 111 $6f o */
+ "p", /* 112 $70 p */
+ "q", /* 113 $71 q */
+ "r", /* 114 $72 r */
+ "s", /* 115 $73 s */
+ "t", /* 116 $74 t */
+ "u", /* 117 $75 u */
+ "v", /* 118 $76 v */
+ "w", /* 119 $77 w */
+ "x", /* 120 $78 x */
+ "y", /* 121 $79 y */
+ "z", /* 122 $7a z */
+ "Ä", /* 123 $7b { */
+ "|", /* 124 $7c | */
+ "↰", /* 125 $7d } */
+ "◀", /* 126 $7e ~ */
+ "▶", /* 127 $7f [del] */
+};
+
+const char *ata2mag[] = {
+ "{ctrl-,}", /* 0 $00 ^@ */
+ "{ctrl-A}", /* 1 $01 ^A */
+ "{ctrl-B}", /* 2 $02 ^B */
+ "{ctrl-C}", /* 3 $03 ^C */
+ "{ctrl-D}", /* 4 $04 ^D */
+ "{ctrl-E}", /* 5 $05 ^E */
+ "{ctrl-F}", /* 6 $06 ^F */
+ "{ctrl-G}", /* 7 $07 ^G */
+ "{ctrl-H}", /* 8 $08 ^H */
+ "{ctrl-I}", /* 9 $09 ^I */
+ "{ctrl-J}", /* 10 $0a ^J */
+ "{ctrl-K}", /* 11 $0b ^K */
+ "{ctrl-L}", /* 12 $0c ^L */
+ "{ctrl-M}", /* 13 $0d ^M */
+ "{ctrl-N}", /* 14 $0e ^N */
+ "{ctrl-O}", /* 15 $0f ^O */
+ "{ctrl-P}", /* 16 $10 ^P */
+ "{ctrl-Q}", /* 17 $11 ^Q */
+ "{ctrl-R}", /* 18 $12 ^R */
+ "{ctrl-S}", /* 19 $13 ^S */
+ "{ctrl-T}", /* 20 $14 ^T */
+ "{ctrl-U}", /* 21 $15 ^U */
+ "{ctrl-V}", /* 22 $16 ^V */
+ "{ctrl-W}", /* 23 $17 ^W */
+ "{ctrl-X}", /* 24 $18 ^X */
+ "{ctrl-Y}", /* 25 $19 ^Y */
+ "{ctrl-Z}", /* 26 $1a ^Z */
+ "{esc}", /* 27 $1b ^[ */
+ "{up}", /* 28 $1c ^\ */
+ "{down}", /* 29 $1d ^] */
+ "{left}", /* 30 $1e ^^ */
+ "{right}", /* 31 $1f ^_ */
+ " ", /* 32 $20 */
+ "!", /* 33 $21 ! */
+ "\"", /* 34 $22 " */
+ "#", /* 35 $23 # */
+ "$", /* 36 $24 $ */
+ "%", /* 37 $25 % */
+ "&", /* 38 $26 & */
+ "'", /* 39 $27 ' */
+ "(", /* 40 $28 ( */
+ ")", /* 41 $29 ) */
+ "*", /* 42 $2a * */
+ "+", /* 43 $2b + */
+ ",", /* 44 $2c , */
+ "-", /* 45 $2d - */
+ ".", /* 46 $2e . */
+ "/", /* 47 $2f / */
+ "0", /* 48 $30 0 */
+ "1", /* 49 $31 1 */
+ "2", /* 50 $32 2 */
+ "3", /* 51 $33 3 */
+ "4", /* 52 $34 4 */
+ "5", /* 53 $35 5 */
+ "6", /* 54 $36 6 */
+ "7", /* 55 $37 7 */
+ "8", /* 56 $38 8 */
+ "9", /* 57 $39 9 */
+ ":", /* 58 $3a : */
+ ";", /* 59 $3b ; */
+ "<", /* 60 $3c < */
+ "=", /* 61 $3d = */
+ ">", /* 62 $3e > */
+ "?", /* 63 $3f ? */
+ "@", /* 64 $40 @ */
+ "A", /* 65 $41 A */
+ "B", /* 66 $42 B */
+ "C", /* 67 $43 C */
+ "D", /* 68 $44 D */
+ "E", /* 69 $45 E */
+ "F", /* 70 $46 F */
+ "G", /* 71 $47 G */
+ "H", /* 72 $48 H */
+ "I", /* 73 $49 I */
+ "J", /* 74 $4a J */
+ "K", /* 75 $4b K */
+ "L", /* 76 $4c L */
+ "M", /* 77 $4d M */
+ "N", /* 78 $4e N */
+ "O", /* 79 $4f O */
+ "P", /* 80 $50 P */
+ "Q", /* 81 $51 Q */
+ "R", /* 82 $52 R */
+ "S", /* 83 $53 S */
+ "T", /* 84 $54 T */
+ "U", /* 85 $55 U */
+ "V", /* 86 $56 V */
+ "W", /* 87 $57 W */
+ "X", /* 88 $58 X */
+ "Y", /* 89 $59 Y */
+ "Z", /* 90 $5a Z */
+ "[", /* 91 $5b [ */
+ "\\", /* 92 $5c \ */
+ "]", /* 93 $5d ] */
+ "^", /* 94 $5e ^ */
+ "_", /* 95 $5f _ */
+ "{ctrl-.}", /* 96 $60 ` */
+ "a", /* 97 $61 a */
+ "b", /* 98 $62 b */
+ "c", /* 99 $63 c */
+ "d", /* 100 $64 d */
+ "e", /* 101 $65 e */
+ "f", /* 102 $66 f */
+ "g", /* 103 $67 g */
+ "h", /* 104 $68 h */
+ "i", /* 105 $69 i */
+ "j", /* 106 $6a j */
+ "k", /* 107 $6b k */
+ "l", /* 108 $6c l */
+ "m", /* 109 $6d m */
+ "n", /* 110 $6e n */
+ "o", /* 111 $6f o */
+ "p", /* 112 $70 p */
+ "q", /* 113 $71 q */
+ "r", /* 114 $72 r */
+ "s", /* 115 $73 s */
+ "t", /* 116 $74 t */
+ "u", /* 117 $75 u */
+ "v", /* 118 $76 v */
+ "w", /* 119 $77 w */
+ "x", /* 120 $78 x */
+ "y", /* 121 $79 y */
+ "z", /* 122 $7a z */
+ "{ctrl-;}", /* 123 $7b { */
+ "|", /* 124 $7c | */
+ "{clear}", /* 125 $7d } */
+ "{bksp}", /* 126 $7e ~ */
+ "{tab}", /* 127 $7f [del] */
+};
+
diff --git a/atables.h b/atables.h
new file mode 100644
index 0000000..5262ec5
--- /dev/null
+++ b/atables.h
@@ -0,0 +1,3 @@
+extern const char *ata2utf[];
+extern const char *ics2utf[];
+extern const char *ata2mag[];
diff --git a/atascii.7 b/atascii.7
index f71fd94..33477e7 100644
--- a/atascii.7
+++ b/atascii.7
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "ATASCII" 7 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ATASCII" 7 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
atascii \- Atari 8-bit character set
.\" RST source for atascii(7) man page. Convert with:
@@ -1714,7 +1714,7 @@ T{
T} T{
7e
T} T{
-[delete]
+[backspace]
T} T{
254
T} T{
@@ -2150,31 +2150,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/atascii.rst b/atascii.rst
index 8f96d2a..54e47b8 100644
--- a/atascii.rst
+++ b/atascii.rst
@@ -155,7 +155,7 @@ brackets denote screen control codes.
"123", "7b", "♠", "251", "fb", ""
"124", "7c", "\|", "252", "fc", ""
"125", "7d", "[clear screen]", "253", "fd", "[bell]"
- "126", "7e", "[delete]", "254", "fe", "[delete char]"
+ "126", "7e", "[backspace]", "254", "fe", "[delete char]"
"127", "7f", "[tab]", "255", "ff", "[insert char]"
In the Atari XL and XE ROMs, there is a second character set, known as
diff --git a/atr2xfd.1 b/atr2xfd.1
index 2e7d419..6229486 100644
--- a/atr2xfd.1
+++ b/atr2xfd.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "ATR2XFD" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ATR2XFD" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
atr2xfd \- Convert an Atari 8-bit ATR disk image to a raw (XFD) image
.\" RST source for atr2xfd(1) man page. Convert with:
@@ -181,31 +181,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/atrsize.1 b/atrsize.1
index 66cc590..b5bafb9 100644
--- a/atrsize.1
+++ b/atrsize.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "ATRSIZE" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ATRSIZE" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
atrsize \- Change the size of an Atari 8-bit ATR disk image, or create a blank ATR image
.\" RST source for atrsize(1) man page. Convert with:
@@ -195,31 +195,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/axe.1 b/axe.1
index 68ec7cd..03f55f5 100644
--- a/axe.1
+++ b/axe.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "AXE" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "AXE" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
axe \- ATR/XFD Editor
.\" RST source for axe(1) man page. Convert with:
@@ -136,31 +136,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/bas.c b/bas.c
index 8b62837..e5df296 100644
--- a/bas.c
+++ b/bas.c
@@ -10,7 +10,26 @@
#include "bas.h"
+/* caller's parse_args() should set this for the -v option */
int verbose = 0;
+
+/* hex constants work the same way in Turbo BASIC and BASIC XL/XE: they're
+ exactly like numeric constants, 6-byte BCD FP, but introduced with
+ OP_HEXCONST instead of OP_NUMCONST.
+ If allow_hex_const is set, on_exp_token will be called for OP_HEXCONST.
+ Otherwise, a warning will be printed, on_exp_token will NOT be called,
+ but the constant is skipped the same as a regular numeric, to keep
+ in sync with the token stream. */
+int allow_hex_const = 0;
+
+/* BASIC/A+ uses the same cmd tokens for REM and DATA that BASIC does,
+ but not for the ERROR- token. Unfortunately bas.c needs to know it's
+ an A+ program so it can handle this token correctly. */
+int aplus_errtok_hack = 0;
+
+/* BASIC XL token 0x5a is followed by a single "subtoken", this skips it. */
+int bxl_exttok_hack = 0;
+
unsigned short lomem;
unsigned short vntp;
unsigned short vntd;
@@ -60,6 +79,7 @@ void readfile(void) {
else if(filelen > MAX_PROG_SIZE)
fprintf(stderr, "Warning: file is %d bytes, suspiciously large for a BASIC program.\n", filelen);
fclose(input_file);
+ input_file = NULL; /* so caller can tell it's closed */
if(filelen < MIN_PROG_SIZE)
die("File too short to be a BASIC program (truncated?)\n");
}
@@ -69,6 +89,7 @@ int writefile(void) {
outbytes = fwrite(program, 1, filelen, output_file);
fclose(output_file);
+ output_file = NULL; /* so caller can tell it's closed */
if(verbose) fprintf(stderr, "Wrote %d bytes.\n", outbytes);
return outbytes;
}
@@ -90,6 +111,8 @@ void dump_header_vars(void) {
}
void parse_header(void) {
+ int vntp_offset;
+
lomem = getword(0);
vntp = getword(2);
vntd = getword(4);
@@ -97,18 +120,31 @@ void parse_header(void) {
stmtab = getword(8);
stmcur = getword(10);
starp = getword(12);
+
codestart = stmtab - TBL_OFFSET - (vntp - 256);
vnstart = vntp - TBL_OFFSET;
vvstart = vvtp - TBL_OFFSET;
code_end = starp - TBL_OFFSET;
- if(lomem) die("This doesn't look like an Atari BASIC program (no $0000 signature).");
+ if(vnstart > 0x0e) {
+ if(verbose)
+ fprintf(stderr, "VNTP is $%02x (not ($100), adjusting pointers.\n", vntp);
+ vntp_offset = vnstart - 0x0e;
+ vnstart -= vntp_offset;
+ vvstart -= vntp_offset;
+ }
if(filelen < code_end) {
fprintf(stderr, "Warning: file is truncated: %d bytes, should be %d.\n", filelen, code_end);
}
if(verbose) dump_header_vars();
+
+ /* these checks are actually kind of conservative. */
+ if(lomem) die("Not an Atari BASIC program (no $0000 signature).");
+ if(vntp < 0x100) die("Not an Atari BASIC program (invalid VNTP).");
+ if(vvtp < vntd) die("Not an Atari BASIC program (invalid VVTP).");
+ if(starp < vvtp) die("Not an Atari BASIC program (invalid STARP).");
}
void update_header(void) {
@@ -171,23 +207,28 @@ int vntable_ok(void) {
/* first pass: bad = 1 if all the bytes in the table have the same
value, no matter what it is. */
vp = vnstart + 1;
- bad = 1;
- while(vp < vvstart - 1) {
- if(program[vp] != program[vnstart]) {
- bad = 0;
- break;
+
+ /* don't do this check if the table is only one byte long! */
+ if(vp < vvstart - 1) {
+ bad = 1;
+ while(vp < vvstart - 1) {
+ if(program[vp] != program[vnstart]) {
+ bad = 0;
+ break;
+ }
+ vp++;
}
- vp++;
+ if(bad) return 0;
}
- if(bad) return 0;
/* 2nd pass: bad = 1 if there's any invalid character in the table. */
vp = vnstart;
while(vp < vvstart) {
unsigned char c = program[vp];
- /* treat a null byte as end-of-table, ignore any junk between it and VNTP. */
- if(c == 0) break;
+ /* allow for (but don't require) dummy byte at VNTD. used to just
+ quit when we hit 0, but 0 might be part of a scrambled table. */
+ if(c == 0 && vp == (vvstart - 1)) break;
vp++;
@@ -196,6 +237,10 @@ int vntable_ok(void) {
/* numbers and letters are allowed, inverse or normal. */
c &= 0x7f;
+ if(c == '_') {
+ fprintf(stderr, "%s: Underscore in variable name; Turbo or BASIC XE?\n", self);
+ continue;
+ }
if(c >= 0x30 && c <= 0x39) continue;
if(c >= 0x41 && c <= 0x5a) continue;
@@ -290,14 +335,22 @@ void walk_code(unsigned int startlineno, unsigned int endlineno) {
lineno = tmpno;
offset = program[linepos + 2];
nextpos = linepos + offset;
+ if(nextpos > filelen) {
+ fprintf(stderr, "Warning: program truncated in the middle of line %d.\n", lineno);
+ return;
+ }
end = nextpos;
pos = linepos;
- if(offset < 6) {
+ if(offset < 5) {
+ /* actually, real Atari BASIC's minimum offset is 6. however, if you use
+ the "--" (line of dashes, command token 0x54) in Turbo BASIC XL, you
+ get an offset of 5, because there's no end-of-line after it.
+ it seems better to accomodate Turbo here. */
CALL(on_bad_line_length);
offset = program[linepos + 2]; /* on_bad_line_length fixed it (we hope) */
- if(offset < 6)
+ if(offset < 5)
die("Fatal: Program is code-protected; unprotect it first.");
}
@@ -306,39 +359,64 @@ void walk_code(unsigned int startlineno, unsigned int endlineno) {
continue;
}
+ if(lineno > endlineno) break;
+
CALL(on_start_line);
pos = linepos + 3;
while(pos < nextpos) { /* loop over statements within a line */
soffset = program[pos];
+ if(!soffset) {
+ fprintf(stderr, "Fatal: next-statement offset is 0 at line %d, pos %04x\n", lineno, pos);
+ exit(1);
+ }
end = linepos + soffset;
CALL(on_start_stmt);
while(pos < end) { /* loop over tokens within a statement */
pos++;
CALL(on_cmd_token);
- switch(program[pos]) {
- case CMD_REM:
- case CMD_DATA:
- case CMD_ERROR:
- pos++;
- CALL(on_text);
- pos = end;
- break;
- default:
- pos++;
- break;
+
+ tok = program[pos];
+ if((tok == CMD_REM) || (tok == CMD_DATA) || /* same in A+ */
+ (aplus_errtok_hack && tok == 0x53) || /* A+'s ERROR- */
+ (!aplus_errtok_hack && tok == CMD_ERROR))
+ {
+ pos++;
+ CALL(on_text);
+ pos = end;
+ } else if(bxl_exttok_hack && tok == 0x5a) {
+ pos += 2; /* skip subtoken */
+ } else {
+ pos++;
}
while(pos < end) { /* loop over operators */
tok = program[pos];
switch(tok) {
+ case 0: /* Turbo variables numbered >= $80 */
+ CALL(on_exp_token);
+ /* on_exp_token callback better know what to do with $00! */
+ pos += 2;
+ break;
case OP_NUMCONST:
CALL(on_exp_token);
pos++;
CALL(on_num_const);
pos += 6;
break;
+ case OP_HEXCONST:
+ if(allow_hex_const) {
+ CALL(on_exp_token);
+ } else {
+ fprintf(stderr, "%s: found Turbo/BXL/BXE hex constant at line %d, skipping\n", self, lineno);
+ }
+ pos++;
+ if(allow_hex_const) {
+ CALL(on_num_const);
+ }
+ pos += 6;
+ break;
case OP_STRCONST:
CALL(on_exp_token);
pos++;
@@ -362,7 +440,7 @@ void walk_code(unsigned int startlineno, unsigned int endlineno) {
CALL(on_end_line);
linepos = nextpos;
- if(lineno >= endlineno) break;
+ if(lineno == 32768) break;
}
if(endlineno == 32768 && linepos < filelen) {
diff --git a/bas.h b/bas.h
index dd75e19..945b51b 100644
--- a/bas.h
+++ b/bas.h
@@ -1,96 +1,177 @@
/* bas.h - API for writing standalone programs that deal with
- tokenized Atari 8-bit BASIC program. */
+ tokenized Atari 8-bit BASIC program. */
/* maximum size of the program in memory. 64KB is actually way overkill. */
#define BUFSIZE 65536
/* the difference between the VVTP and VNTP values in the file, and the
- actual file positions of the variable names and values. */
+ actual file positions of the variable names and values. */
#define TBL_OFFSET 0xf2
/* minimum program size, for a program that has no variables and
- only one line of code (the immediate line 32768, consisting only of
- one token, which would be CSAVE). anything smaller than this, we
- can't process. */
+ only one line of code (the immediate line 32768, consisting only of
+ one token, which would be CSAVE). anything smaller than this, we
+ can't process. */
#define MIN_PROG_SIZE 21
/* maximum practical size for a BASIC program. if a file exceeds this
- size, we warn about it, but otherwise process it normally.
- this value is derived by subtracting the default LOMEM without DOS
- ($0700) from the start of the display list in GR.0 ($9c20, on a 48K Atari).
+ size, we warn about it, but otherwise process it normally.
+ this value is derived by subtracting the default LOMEM without DOS
+ ($0700) from the start of the display list in GR.0 ($9c20, on a 48K Atari).
*/
#define MAX_PROG_SIZE 38176
/* maximum number of variables in the variable name and value tables. this
- could be 128, but "ERROR- 4" still expands the tables. Entries >128
- don't have tokens, can't be referred to in code, but we'll preserve
- them anyway. */
+ could be 128, but "ERROR- 4" still expands the tables. Entries >128
+ don't have tokens, can't be referred to in code, but we'll preserve
+ them anyway. */
#define MAXVARS 256
-/* tokenized colon (statement separator) */
-#define TOK_COLON 0x14
-
-/* BASIC tokens. Not a full set. BASIC uses 2 sets of tokens, one
- for commands and the other for operators (which is to say, everything
- *not* a command). */
-#define CMD_GOTO 0x0a
-#define CMD_GO_TO 0x0b
-#define CMD_ON 0x1e
-#define CMD_GOSUB 0x0c
-#define CMD_TRAP 0x0d
-#define CMD_IF 0x07
-#define CMD_LIST 0x04
-#define CMD_RESTORE 0x23
-#define CMD_REM 0x00
-#define CMD_DATA 0x01
-#define CMD_ERROR 0x37
-#define CMD_FOR 0x08
-#define CMD_NEXT 0x09
-#define CMD_LET 0x06
-#define CMD_ILET 0x36
-#define CMD_DIM 0x14
-#define CMD_READ 0x22
-#define CMD_INPUT 0x02
-#define CMD_GET 0x29
-#define CMD_LOCATE 0x31
-#define CMD_NOTE 0x1b
-#define OP_GOTO 0x17
-#define OP_GOSUB 0x18
-#define OP_THEN 0x1b
-#define OP_COMMA 0x12
-#define OP_ARR_COMMA 0x3c
-#define OP_SEMICOLON 0x15
-#define OP_EOS 0x14
-#define OP_EOL 0x16
-#define OP_NUMCONST 0x0e
-#define OP_STRCONST 0x0f
-#define OP_HASH 0x1c
+/* BASIC tokens. Full set, taken from Chapter 10 of De Re Atari.
+ I used a paper copy, but you can also find it on the web:
+ https://www.atariarchives.org/dere/chapt10.php
+ BASIC uses 2 sets of tokens, one for commands and the other for
+ operators (which is to say, everything *not* a command).
+ See tokens.h for the actual names. */
+
+/* commands (every statement begins with one of these) */
+#define CMD_REM 0x00
+#define CMD_DATA 0x01
+#define CMD_INPUT 0x02
+#define CMD_COLOR 0x03
+#define CMD_LIST 0x04
+#define CMD_ENTER 0x05
+#define CMD_LET 0x06
+#define CMD_IF 0x07
+#define CMD_FOR 0x08
+#define CMD_NEXT 0x09
+#define CMD_GOTO 0x0a
+#define CMD_GO_TO 0x0b
+#define CMD_GOSUB 0x0c
+#define CMD_TRAP 0x0d
+#define CMD_BYE 0x0e
+#define CMD_CONT 0x0f
+#define CMD_COM 0x10
+#define CMD_CLOSE 0x11
+#define CMD_CLR 0x12
+#define CMD_DEG 0x13
+#define CMD_DIM 0x14
+#define CMD_END 0x15
+#define CMD_NEW 0x16
+#define CMD_OPEN 0x17
+#define CMD_LOAD 0x18
+#define CMD_SAVE 0x19
+#define CMD_STATUS 0x1a
+#define CMD_NOTE 0x1b
+#define CMD_POINT 0x1c
+#define CMD_XIO 0x1d
+#define CMD_ON 0x1e
+#define CMD_POKE 0x1f
+#define CMD_PRINT 0x20
+#define CMD_RAD 0x21
+#define CMD_READ 0x22
+#define CMD_RESTORE 0x23
+#define CMD_RETURN 0x24
+#define CMD_RUN 0x25
+#define CMD_STOP 0x26
+#define CMD_POP 0x27
+#define CMD_QMARK 0x28 /* ? for PRINT */
+#define CMD_GET 0x29
+#define CMD_PUT 0x2a
+#define CMD_GRAPHICS 0x2b
+#define CMD_PLOT 0x2c
+#define CMD_POSITION 0x2d
+#define CMD_DOS 0x2e
+#define CMD_DRAWTO 0x2f
+#define CMD_SETCOLOR 0x30
+#define CMD_LOCATE 0x31
+#define CMD_SOUND 0x32
+#define CMD_LPRINT 0x33
+#define CMD_CSAVE 0x34
+#define CMD_CLOAD 0x35
+#define CMD_ILET 0x36 /* implied LET */
+#define CMD_ERROR 0x37
+
+/* operators. 0x00-0x0d and 0x0a-0x11 are not used in Atari BASIC;
+ 0x0d is used (in the same way) in both Turbo BASIC and BXL/BXE.
+ 0x3d-0x54 are functions. */
+#define OP_HEXCONST 0x0d
+#define OP_NUMCONST 0x0e
+#define OP_STRCONST 0x0f
+#define OP_COMMA 0x12
+#define OP_DOLLAR 0x13
+#define OP_EOS 0x14 /* two names: "end of statement"... */
+#define OP_COLON 0x14 /* ...and "colon" */
+#define OP_SEMICOLON 0x15
+#define OP_EOL 0x16
+#define OP_GOTO 0x17
+#define OP_GOSUB 0x18
+#define OP_TO 0x19
+#define OP_STEP 0x1a
+#define OP_THEN 0x1b
+#define OP_HASH 0x1c
+#define OP_NUM_LE 0x1d
+#define OP_NUM_NE 0x1e
+#define OP_NUM_GE 0x1f
+#define OP_NUM_LT 0x20
+#define OP_NUM_GT 0x21
+#define OP_NUM_EQ 0x22
+#define OP_POWER 0x23
+#define OP_MULT 0x24
+#define OP_PLUS 0x25
+#define OP_MINUS 0x26
+#define OP_DIVIDE 0x27
+#define OP_NOT 0x28
+#define OP_OR 0x29
+#define OP_AND 0x2a
+#define OP_GRP_LPAR 0x2b
+#define OP_GRP_RPAR 0x2c
+#define OP_NUM_ASSIGN 0x2d
+#define OP_STR_ASSIGN 0x2e
+#define OP_STR_LE 0x2f
+#define OP_STR_NE 0x30
+#define OP_STR_GE 0x31
+#define OP_STR_LT 0x32
+#define OP_STR_GT 0x33
+#define OP_STR_EQ 0x34
+#define OP_UPLUS 0x35
+#define OP_UMINUS 0x36
+#define OP_STR_LPAR 0x37
+#define OP_ARR_LPAR 0x38
+#define OP_DIM_ARR_LPAR 0x39
+#define OP_FUNC_LPAR 0x3a
+#define OP_DIM_STR_LPAR 0x3b
+#define OP_ARR_COMMA 0x3c /* used for A(1,1) or A$(1,1) (also in DIM) */
+#define OP_FUNC_STR 0x3d /* the rest are functions */
+#define OP_FUNC_CHR 0x3e
+#define OP_FUNC_USR 0x3f
+#define OP_FUNC_ASC 0x40
+#define OP_FUNC_VAL 0x41
+#define OP_FUNC_LEN 0x42
+#define OP_FUNC_ADR 0x43
+#define OP_FUNC_ATN 0x44
+#define OP_FUNC_COS 0x45
+#define OP_FUNC_PEEK 0x46
+#define OP_FUNC_SIN 0x47
+#define OP_FUNC_RND 0x48
+#define OP_FUNC_FRE 0x49
+#define OP_FUNC_EXP 0x4a
+#define OP_FUNC_LOG 0x4b
+#define OP_FUNC_CLOG 0x4c
+#define OP_FUNC_SQR 0x4d
+#define OP_FUNC_SGN 0x4e
+#define OP_FUNC_ABS 0x4f
+#define OP_FUNC_INT 0x50
+#define OP_FUNC_PADDLE 0x51
+#define OP_FUNC_STICK 0x52
+#define OP_FUNC_PTRIG 0x53
+#define OP_FUNC_STRIG 0x54
/* variable types, bits 6-7 of byte 0 of each vvtable entry. */
#define TYPE_SCALAR 0
#define TYPE_ARRAY 1
#define TYPE_STRING 2
-/* callbacks */
-#define CALLBACK(x) void x(unsigned int lineno, unsigned int pos, unsigned int tok, unsigned int end)
-#define CALLBACK_PTR(x) void (*x)(unsigned int lineno, unsigned int pos, unsigned int tok, unsigned int end)
-#define walk_all_code() walk_code(0, 32768)
-
-void walk_code(unsigned int startlineno, unsigned int endlineno);
-unsigned char get_vartype(unsigned char tok);
-
-extern CALLBACK_PTR(on_start_line);
-extern CALLBACK_PTR(on_bad_line_length);
-extern CALLBACK_PTR(on_end_line);
-extern CALLBACK_PTR(on_start_stmt);
-extern CALLBACK_PTR(on_end_stmt);
-extern CALLBACK_PTR(on_cmd_token);
-extern CALLBACK_PTR(on_text);
-extern CALLBACK_PTR(on_exp_token);
-extern CALLBACK_PTR(on_var_token);
-extern CALLBACK_PTR(on_string_const);
-extern CALLBACK_PTR(on_num_const);
-
/* BASIC 14-byte header values */
extern unsigned short lomem;
extern unsigned short vntp;
@@ -101,7 +182,7 @@ extern unsigned short stmcur;
extern unsigned short starp;
/* positions where various parts of the file start,
- derived from the header vars above. */
+ derived from the header vars above. */
extern unsigned short codestart;
extern unsigned short code_end;
extern unsigned short vnstart;
@@ -121,6 +202,9 @@ extern FILE *output_file;
extern char *output_filename;
extern int verbose;
+extern int allow_hex_const;
+extern int aplus_errtok_hack;
+extern int bxl_exttok_hack;
extern void set_self(const char *argv0);
extern void die(const char *msg);
@@ -135,7 +219,31 @@ extern void update_header(void);
extern void move_code(int offset);
extern void adjust_vntable_size(int oldsize, int newsize);
extern int vntable_ok(void);
+extern unsigned char get_vartype(unsigned char tok);
extern void invalid_args(const char *arg);
extern FILE *open_file(const char *name, const char *mode);
extern void open_input(const char *name);
extern void open_output(const char *name);
+
+/* callback API begins here.
+ callbacks for walk_code(): */
+#define CALLBACK(x) void x(unsigned int lineno, unsigned int pos, unsigned int tok, unsigned int end)
+#define CALLBACK_PTR(x) void (*x)(unsigned int lineno, unsigned int pos, unsigned int tok, unsigned int end)
+
+/* main entry point for callback API: */
+void walk_code(unsigned int startlineno, unsigned int endlineno);
+#define walk_all_code() walk_code(0, 32768)
+
+/* available callbacks: */
+extern CALLBACK_PTR(on_start_line);
+extern CALLBACK_PTR(on_bad_line_length);
+extern CALLBACK_PTR(on_end_line);
+extern CALLBACK_PTR(on_start_stmt);
+extern CALLBACK_PTR(on_end_stmt);
+extern CALLBACK_PTR(on_cmd_token);
+extern CALLBACK_PTR(on_text);
+extern CALLBACK_PTR(on_exp_token);
+extern CALLBACK_PTR(on_var_token);
+extern CALLBACK_PTR(on_string_const);
+extern CALLBACK_PTR(on_num_const);
+extern CALLBACK_PTR(on_trailing_garbage);
diff --git a/bas2aplus.1 b/bas2aplus.1
new file mode 100644
index 0000000..110fec4
--- /dev/null
+++ b/bas2aplus.1
@@ -0,0 +1,210 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BAS2APLUS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.SH NAME
+bas2aplus \- Convert Atari BASIC (and some BASIC XL/XE) programs to BASIC/A+
+.SH SYNOPSIS
+.sp
+bas2aplus \fIinput\-file\fP \fIoutput\-file\fP
+.SH DESCRIPTION
+.sp
+\fBbas2aplus\fP reads an Atari BASIC or BASIC XL/XE tokenized (SAVEd)
+program and converts it to BASIC/A+. The conversion is a simple token
+replacement; no syntax or semantic analysis is done.
+.sp
+\fIinput\-file\fP must be an Atari BASIC, BASIC XL, or BASIC XE program.
+Turbo BASIC is not supported. Trying to convert a program that is
+already BASIC/A+ will appear to succeed, but the resulting program
+will be gibberish and will likely crash BASIC/A+ when \fBRUN\fP\&.
+.sp
+All Atari BASIC programs can be successfully converted. Some BASIC
+XL/XE tokens have no equivalent in BASIC/A+, so programs using these
+can\(aqt be converted (you will see messages on standard error, in that
+case).
+.SH OPTIONS
+.SS General Options
+.INDENT 0.0
+.TP
+.B \fB\-\-help\fP
+Print usage message and exit.
+.TP
+.B \fB\-\-version\fP
+Print version number and exit.
+.TP
+.B \fB\-v\fP
+Verbose operation. When displaying a number in verbose mode, it will
+be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
+.UNINDENT
+.SH BASIC
+.sp
+BASIC/A+ is basically a later version of Atari BASIC, by the same team
+that developed Atari BASIC. As such, it\(aqs source\-compatible with Atari
+BASIC, but \fInot\fP token\-compatible.
+.sp
+BASIC/A+ uses a different set of token numbers, but has all but two
+of the same tokens used by Atari BASIC. Conversion should always
+succeed, for an Atari BASIC program.
+.sp
+The two missing tokens are the \fBCOM\fP and \fBGO TO\fP commands, which
+are converted to \fBDIM\fP and \fBGOTO\fP, respectively.
+.sp
+The resulting program should \fBLOAD\fP and \fBRUN\fP in BASIC/A+ and
+function identically to the BASIC version, unless it uses memory
+that\(aqs reserved in A+. \fBUSR()\fP routines that are stored in the lower
+half of Page 6 will have to be relocated, since A+ uses this area
+itself. See the BASIC/A+ manual for full details.
+.SH BASIC XL
+.sp
+BASIC XL is basically the next version of BASIC/A+, by the
+same developers. The token lists were rearranged so that it\(aqs
+token\-compatible with Atari BASIC, and includes all the extra
+commands/functions/etc from BASIC/A+... with different token numbers.
+.sp
+BASIC XL has keywords and operators that don\(aqt exist in BASIC/A+,
+which can\(aqt be translated by \fBbas2aplus\fP\&. These are:
+.INDENT 0.0
+.TP
+.B \fBNUM\fP
+Rarely found in a program (usually only used in direct mode).
+.TP
+.B \fBFAST\fP
+Just doesn\(aqt exist in BASIC/A+.
+.TP
+.B \fBLOCAL\fP, \fBEXIT\fP, \fBPROCEDURE\fP, \fBCALL\fP, \fBSORTUP\fP, \fBSORTDOWN\fP
+These BASIC XL commands are provided by the disk\-based Toolkit
+extension, which doesn\(aqt exist for BASIC/A+.
+.TP
+.B \fBString Arrays\fP
+BASIC/A+ doesn\(aqt support these; if your BASIC XL program uses them,
+it won\(aqt convert correctly.
+.TP
+.B \fBBUMP\fP and \fBFIND\fP
+While BASIC/A+ does support these functions, the token\-level syntax
+is different; it would be possible to translate them, but it would
+require recalculating the line offset and statement offsets for
+every line that uses them. For now, they\(aqre not supported.
+.TP
+.B \fB%\fP
+The exclusive OR operator in BASIC XL. No such animal, in A+.
+.TP
+.B \fBHEX$\fP, \fBRANDOM\fP, \fBLEFT$\fP, \fBRIGHT$\fP, \fBMID$\fP
+These functions don\(aqt exist in BASIC/A+.
+.UNINDENT
+.sp
+Also, BASIC XL supports hex constants, with a leading \fB$\fP\&. A+
+doesn\(aqt support these, so they get converted to the equivalent decimal
+constant. This is basically a cosmetic change; \fBA=$0600\fP assigns the
+same value as \fBA=1536\fP\&.
+.sp
+BASIC XL also allows some syntax that\(aqs not valid in BASIC
+A+. For instance, \fBDIR\fP is allowed with no argument in XL.
+\fBbas2aplus\fP doesn\(aqt detect these constructs.
+.SH BASIC XE
+.sp
+BASIC XE is the last in the series of OSS BASIC interpreters. It
+supports "EXTENDed" mode, which allows BASIC XE to use all the
+memory in a 130XE, but such programs are \fInot\fP supported by
+\fBbas2aplus\fP\&. Only non\-EXTENDed BASIC XE programs can be converted.
+.sp
+BASIC XE adds a few keywords to BASIC XL, which also don\(aqt exist in
+A+. These are:
+.INDENT 0.0
+.TP
+.B \fBEXTEND\fP
+This command is direct\-mode only, so it will never appear in a SAVEd
+program anyway.
+.TP
+.B \fBHITCLR\fP, \fBINVERSE\fP, \fBNORMAL\fP, \fBBLOAD\fP, \fBBSAVE\fP
+Not supported in either A+ or XL.
+.UNINDENT
+.sp
+BASIC XE also allows some syntax that\(aqs not valid in either BASIC XL
+or A+. For instance, \fBIF <condition>\fP, without \fBTHEN\fP, can appear
+as the last statement on a line, and \fBLVAR\fP no longer requires an
+argument. \fBbas2aplus\fP doesn\(aqt detect these constructs.
+.sp
+Actually, BASIC/A+ will \fBLIST\fP and \fBRUN\fP programs with the \fBIF\fP
+issue, but such lines can\(aqt be edited in A+. Easy enough to add a
+\fB:REM\fP to the end of the line, though.
+.SH TURBO BASIC
+.sp
+Not supported. It\(aqs also an extended version of Atari BASIC (by
+a different developer), but extends the syntax in ways that just
+wouldn\(aqt convert directly to BASIC/A+.
+.SH EXIT STATUS
+.sp
+0 for success, non\-zero for failure.
+.SH COPYRIGHT
+.sp
+WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
+.SH AUTHOR
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fBa8cat\fP(1),
+\fBa8eol\fP(1),
+\fBa8xd\fP(1),
+\fBatr2xfd\fP(1),
+\fBatrsize\fP(1),
+\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
+\fBblob2c\fP(1),
+\fBblob2xex\fP(1),
+\fBcart2xex\fP(1),
+\fBcxrefbas\fP(1),
+\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
+\fBdumpbas\fP(1),
+\fBf2toxex\fP(1),
+\fBfenders\fP(1),
+\fBlistbas\fP(1),
+\fBprotbas\fP(1),
+\fBrenumbas\fP(1),
+\fBrom2cart\fP(1),
+\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
+\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
+\fBxexamine\fP(1),
+\fBxexcat\fP(1),
+\fBxexsplit\fP(1),
+\fBxfd2atr\fP(1),
+\fBxex\fP(5),
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
+.sp
+Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
+Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
+.\" Generated by docutils manpage writer.
+.
diff --git a/bas2aplus.c b/bas2aplus.c
new file mode 100644
index 0000000..de259aa
--- /dev/null
+++ b/bas2aplus.c
@@ -0,0 +1,272 @@
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <time.h>
+
+#include "bas.h"
+
+#undef DUMP_TABLES
+
+#include "tokens.c"
+#include "aplus_tokens.c"
+#include "bxl_tokens.c"
+#include "bxe_tokens.c"
+
+int errs = 0;
+
+/* there are a few more BXL commands past 0x55, but they have no
+ A+ equivalents. */
+#define LAST_BXL_CMD 0x55
+#define LAST_BXL_OP 0x65
+
+/* cmd_table[basic_token] or op_table[basic_token] gives the equivalent
+ A+ token. note that there's no "GO TO" or "COM" in A+, we translate
+ those as GOTO and DIM. */
+unsigned char cmd_table[] = {
+ /* Atari BASIC: */
+ /* REM DATA INPUT COLOR LIST ENTER LET IF:*/
+ 0x00, 0x01, 0x02, 0x3f, 0x03, 0x04, 0x05, 0x06, /* 0x00 - 0x07 */
+
+ /* FOR NEXT GOTO GO<sp>TO GOSUB TRAP BYE CONT: */
+ 0x07, 0x08, 0x09, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, /* 0x08 - 0x0f */
+
+ /* COM CLOSE CLR DEG DIM END NEW OPEN: */
+ 0x12, 0x0f, 0x10, 0x11, 0x12, 0x19, 0x1a, 0x1b, /* 0x10 - 0x17 */
+
+ /* LOAD SAVE STATUS NOTE POINT XIO ON POKE: */
+ 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, /* 0x18 - 0x1f */
+
+ /* PRINT RAD READ RESTORE RETURN RUN STOP POP: */
+ 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, /* 0x20 - 0x27 */
+
+ /* ? GET PUT GRAPHICS PLOT POSITION DOS DRAWTO: */
+ 0x2d, 0x2e, 0x2f, 0x40, 0x41, 0x42, 0x38, 0x43, /* 0x28 - 0x2f */
+
+ /* SETCOLOR LOCATE SOUND LPRINT CSAVE CLOAD <silent-let> ERROR-: */
+ 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x52, 0x53, /* 0x30 - 0x37 */
+
+ /* BASIC XL: */
+ /* WHILE ENDWHILE TRACEOFF TRACE ELSE ENDIF DPOKE LOMEM: */
+ 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x24, 0x30, /* 0x38-0x3f */
+
+ /* DEL RPUT RGET BPUT BGET TAB CP ERASE: */
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x39, /* 0x40-0x47 */
+
+ /* PROTECT UNPROTECT DIR RENAME MOVE MISSILE PMCLR PMCOLOR: */
+ 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x4a, 0x4b, 0x4c, /* 0x48-0x4f */
+
+ /* PMGRAPHICS PMMOVE PMWIDTH SET LVAR RENUM: */
+ 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x0a, /* 0x50-0x55 */
+
+};
+
+/* 0xff means "untranslatable". these are:
+ BUMP( FIND( HEX$ RANDOM(
+ ...though BUMP( and FIND( do have A+ equivalents (they just need
+ a left paren inserted after) */
+unsigned char op_table[] = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* not used: 0x00-0x07 */
+ 0xff, 0xff, 0xff, 0xff, 0xff, /* not used: 0x08-0x0c */
+ 0x0e, /* convert BXL hex const to decimal */
+ 0x0e, 0x0f, /* numeric and string consts are the same */
+ 0xff, 0xff, /* these 2 not used: 0x10-0x11 */
+
+ /* these are the same, 0x12-0x1b */
+ 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b,
+
+ /* 0x1c-0x2a off by one due to USING inserted at 0x1c */
+ 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
+ 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b,
+
+ /* 0x2b-0x43 off by 3 due to ! and & */
+ 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,
+ 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d,
+ 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45,
+ 0x46,
+
+ /* 0x44-0x50 */
+ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
+ 0x52, 0x53, 0x54, 0x55, 0x56,
+
+ /* 0x51-0x54 (last BASIC) */
+ 0x58, 0x59, 0x5a, 0x5b,
+
+ /* BXL stuff, 0x55-0x5f */
+ 0x1c, 0xff /* % */, 0x2c, 0x2d,
+ 0xff, /* string array semicolon */
+ 0xff, /* BUMP( (TODO: A+ token 0x47 plus a paren) */
+ 0xff, /* FIND( (TODO: A+ token 0x48 plus a paren) */
+ 0xff, /* HEX$ */
+ 0xff, /* RANDOM( */
+ 0x49, /* DPEEK */
+ 0x57, /* SYS */
+ 0x5c, /* VSTICK */
+ 0x5d, /* HSTICK */
+ 0x5e, /* PMADR */
+ 0x5f, /* ERR */
+ 0x60, /* TAB */
+ 0x61, /* PEN */
+
+};
+
+#ifdef DUMP_TABLES
+void dump_tables(void) {
+ int i;
+
+ for(i = 0; i <= LAST_BXL_CMD; i++) {
+ const char *b, *ap = aplus_cmds[cmd_table[i]];
+ if(i <= last_command)
+ b = commands[i];
+ else
+ b = bxl_cmds[i - 0x38];
+ printf("%02x: %s %s%s\n", i, b, ap, (strcmp(b, ap) == 0) ? " SAME" : "");
+ }
+
+ printf("\n\n");
+
+ for(i = 0x12; i <= LAST_BXL_OP; i++) {
+ int j = op_table[i];;
+ const char *b, *ap;
+ if(j == 0xff)
+ ap = "(not in A+)";
+ else
+ ap = aplus_ops[j];
+ if(i <= last_operator)
+ b = operators[i];
+ else
+ b = bxl_ops[i - 0x55];
+ printf("%02x: %s %s%s\n", i, b, ap, (strcmp(b, ap) == 0) ? " SAME" : "");
+ }
+}
+#endif
+
+void print_help(void) {
+ printf("%s [input-file] [output-file]\n", self);
+}
+
+void parse_args(int argc, char **argv) {
+ int opt;
+
+ while( (opt = getopt(argc, argv, "v")) != -1) {
+ switch(opt) {
+ case 'v': verbose = 1; break;
+ case 'h': print_help(); exit(0);
+ default:
+ print_help();
+ exit(1);
+ }
+ }
+
+ if(optind == argc)
+ die("No input file given.");
+ else
+ open_input(argv[optind]);
+
+ if(++optind == argc)
+ die("No output file given.");
+ else
+ output_filename = argv[optind];
+
+ if(argv[++optind])
+ die("Only one input and one output file allowed.");
+}
+
+const char *get_tok_name(unsigned char tok, int is_cmd) {
+ if(is_cmd) {
+ if(tok <= last_command) {
+ return commands[tok];
+ } else if(tok == 0x5a) {
+ return "BASIC XL LOCAL/EXIT/PROCEDURE/CALL/SORTUP/SORTDOWN";
+ } else if(tok == 0x59 || (tok > 0x5a && tok < 0x65)) {
+ return bxe_cmds[tok - 0x57];
+ } else if(tok > last_command && tok <= 0x58) {
+ return bxl_cmds[tok - 0x38];
+ } else {
+ return "(maybe Turbo BASIC?)";
+ }
+ } else {
+ if(tok < 0x12) return "";
+ if(tok <= last_operator) {
+ return operators[tok];
+ } else if(tok <= 0x68) {
+ return bxl_ops[tok - 0x55];
+ } else {
+ return "(maybe Turbo BASIC?)";
+ }
+ }
+}
+
+void unsupported_msg(unsigned char tok, int lineno, int is_cmd) {
+ fprintf(stderr, "%s: Invalid %s \"%s\" ($%02x) at line %d, not converted.\n",
+ self, is_cmd ? "command" : "operator", get_tok_name(tok, is_cmd), tok, lineno);
+ errs++;
+}
+
+int is_supported_cmd(unsigned char tok, int lineno) {
+ if(tok > LAST_BXL_CMD) {
+ unsupported_msg(tok, lineno, 1);
+ return 0;
+ }
+ return 1;
+}
+
+int is_supported_op(unsigned char tok, int lineno) {
+ if(tok > LAST_BXL_OP || op_table[tok] == 0xff) {
+ unsupported_msg(tok, lineno, 0);
+ return 0;
+ }
+ return 1;
+}
+
+CALLBACK(conv_cmd) {
+ if(!is_supported_cmd(tok, lineno))
+ return;
+
+ program[pos] = cmd_table[tok];
+
+ if(verbose && tok != program[pos])
+ fprintf(stderr, "command \"%s\" ($%02x) converted to $%02x at line %d, pos $%04x\n",
+ get_tok_name(tok, 1), tok, program[pos], lineno, pos);
+}
+
+CALLBACK(conv_op) {
+ if(!is_supported_op(tok, lineno))
+ return;
+
+ program[pos] = op_table[tok];
+
+ if(verbose && tok != program[pos])
+ fprintf(stderr, "operator \"%s\" ($%02x) converted to $%02x at line %d, pos $%04x\n",
+ get_tok_name(tok, 0), tok, program[pos], lineno, pos);
+}
+
+int main(int argc, char **argv) {
+#ifdef DUMP_TABLES
+ dump_tables(); exit(0);
+#endif
+ set_self(*argv);
+ parse_general_args(argc, argv, print_help);
+ parse_args(argc, argv);
+
+ readfile();
+ parse_header();
+
+ on_cmd_token = conv_cmd;
+ on_exp_token = conv_op;
+
+ allow_hex_const = 1;
+ walk_all_code();
+
+ open_output(output_filename);
+ writefile();
+
+ if(errs) {
+ fprintf(stderr, "%s: program has %d invalid tokens; BASIC/A+ won't RUN it.\n",
+ self, errs);
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/bas2aplus.rst b/bas2aplus.rst
new file mode 100644
index 0000000..4ce3f50
--- /dev/null
+++ b/bas2aplus.rst
@@ -0,0 +1,143 @@
+=========
+bas2aplus
+=========
+
+---------------------------------------------------------------
+Convert Atari BASIC (and some BASIC XL/XE) programs to BASIC/A+
+---------------------------------------------------------------
+
+.. include:: manhdr.rst
+
+SYNOPSIS
+========
+
+bas2aplus *input-file* *output-file*
+
+DESCRIPTION
+===========
+
+**bas2aplus** reads an Atari BASIC or BASIC XL/XE tokenized (SAVEd)
+program and converts it to BASIC/A+. The conversion is a simple token
+replacement; no syntax or semantic analysis is done.
+
+*input-file* must be an Atari BASIC, BASIC XL, or BASIC XE program.
+Turbo BASIC is not supported. Trying to convert a program that is
+already BASIC/A+ will appear to succeed, but the resulting program
+will be gibberish and will likely crash BASIC/A+ when **RUN**.
+
+All Atari BASIC programs can be successfully converted. Some BASIC
+XL/XE tokens have no equivalent in BASIC/A+, so programs using these
+can't be converted (you will see messages on standard error, in that
+case).
+
+OPTIONS
+=======
+
+.. include:: genopts.rst
+
+BASIC
+=====
+
+BASIC/A+ is basically a later version of Atari BASIC, by the same team
+that developed Atari BASIC. As such, it's source-compatible with Atari
+BASIC, but *not* token-compatible.
+
+BASIC/A+ uses a different set of token numbers, but has all but two
+of the same tokens used by Atari BASIC. Conversion should always
+succeed, for an Atari BASIC program.
+
+The two missing tokens are the **COM** and **GO TO** commands, which
+are converted to **DIM** and **GOTO**, respectively.
+
+The resulting program should **LOAD** and **RUN** in BASIC/A+ and
+function identically to the BASIC version, unless it uses memory
+that's reserved in A+. **USR()** routines that are stored in the lower
+half of Page 6 will have to be relocated, since A+ uses this area
+itself. See the BASIC/A+ manual for full details.
+
+BASIC XL
+========
+
+BASIC XL is basically the next version of BASIC/A+, by the
+same developers. The token lists were rearranged so that it's
+token-compatible with Atari BASIC, and includes all the extra
+commands/functions/etc from BASIC/A+... with different token numbers.
+
+BASIC XL has keywords and operators that don't exist in BASIC/A+,
+which can't be translated by **bas2aplus**. These are:
+
+**NUM**
+ Rarely found in a program (usually only used in direct mode).
+
+**FAST**
+ Just doesn't exist in BASIC/A+.
+
+**LOCAL**, **EXIT**, **PROCEDURE**, **CALL**, **SORTUP**, **SORTDOWN**
+ These BASIC XL commands are provided by the disk-based Toolkit
+ extension, which doesn't exist for BASIC/A+.
+
+**String Arrays**
+ BASIC/A+ doesn't support these; if your BASIC XL program uses them,
+ it won't convert correctly.
+
+**BUMP** and **FIND**
+ While BASIC/A+ does support these functions, the token-level syntax
+ is different; it would be possible to translate them, but it would
+ require recalculating the line offset and statement offsets for
+ every line that uses them. For now, they're not supported.
+
+**%**
+ The exclusive OR operator in BASIC XL. No such animal, in A+.
+
+**HEX$**, **RANDOM**, **LEFT$**, **RIGHT$**, **MID$**
+ These functions don't exist in BASIC/A+.
+
+Also, BASIC XL supports hex constants, with a leading **$**. A+
+doesn't support these, so they get converted to the equivalent decimal
+constant. This is basically a cosmetic change; **A=$0600** assigns the
+same value as **A=1536**.
+
+BASIC XL also allows some syntax that's not valid in BASIC
+A+. For instance, **DIR** is allowed with no argument in XL.
+**bas2aplus** doesn't detect these constructs.
+
+BASIC XE
+========
+
+BASIC XE is the last in the series of OSS BASIC interpreters. It
+supports "EXTENDed" mode, which allows BASIC XE to use all the
+memory in a 130XE, but such programs are *not* supported by
+**bas2aplus**. Only non-EXTENDed BASIC XE programs can be converted.
+
+BASIC XE adds a few keywords to BASIC XL, which also don't exist in
+A+. These are:
+
+**EXTEND**
+ This command is direct-mode only, so it will never appear in a SAVEd
+ program anyway.
+
+**HITCLR**, **INVERSE**, **NORMAL**, **BLOAD**, **BSAVE**
+ Not supported in either A+ or XL.
+
+BASIC XE also allows some syntax that's not valid in either BASIC XL
+or A+. For instance, **IF <condition>**, without **THEN**, can appear
+as the last statement on a line, and **LVAR** no longer requires an
+argument. **bas2aplus** doesn't detect these constructs.
+
+Actually, BASIC/A+ will **LIST** and **RUN** programs with the **IF**
+issue, but such lines can't be edited in A+. Easy enough to add a
+**:REM** to the end of the line, though.
+
+TURBO BASIC
+===========
+
+Not supported. It's also an extended version of Atari BASIC (by
+a different developer), but extends the syntax in ways that just
+wouldn't convert directly to BASIC/A+.
+
+EXIT STATUS
+===========
+
+0 for success, non-zero for failure.
+
+.. include:: manftr.rst
diff --git a/blob2c.1 b/blob2c.1
index ca61f2f..bcc9825 100644
--- a/blob2c.1
+++ b/blob2c.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "BLOB2C" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "BLOB2C" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
blob2c \- Create C source and header files from a binary file
.\" RST source for blob2c(1) man page. Convert with:
@@ -116,31 +116,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/blob2xex.1 b/blob2xex.1
index ba699a4..2bf3eed 100644
--- a/blob2xex.1
+++ b/blob2xex.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "BLOB2XEX" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "BLOB2XEX" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
blob2xex \- Create Atari 8-bit executables from arbitrary data
.\" RST source for blob2xex(1) man page. Convert with:
@@ -207,31 +207,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/bxe_tokens.c b/bxe_tokens.c
new file mode 100644
index 0000000..5189ee0
--- /dev/null
+++ b/bxe_tokens.c
@@ -0,0 +1,19 @@
+/* BXL and BXE token tables are identical up to 0x56 */
+const char *bxe_cmds[] = {
+ "LOCAL", /* $57 */
+ "EXTEND", /* $58 */
+ "PROCEDURE", /* $59 */
+ 0, /* $5A */
+ "CALL", /* $5B */
+ "SORTUP", /* $5C */
+ "SORTDOWN", /* $5D */
+ "EXIT", /* $5E */
+ "NUM", /* $5F */
+ "HITCLR", /* $60 */
+ "INVERSE", /* $61 */
+ "NORMAL", /* $62 */
+ "BLOAD", /* $63 */
+ "BSAVE" /* $64 */
+};
+
+const int bxe_cmd_size = sizeof(bxe_cmds);
diff --git a/bxe_tokens.h b/bxe_tokens.h
new file mode 100644
index 0000000..25bc14a
--- /dev/null
+++ b/bxe_tokens.h
@@ -0,0 +1,2 @@
+extern const char *bxe_cmds[];
+extern const int bxe_cmd_size;
diff --git a/bxl_tokens.c b/bxl_tokens.c
new file mode 100644
index 0000000..3543f11
--- /dev/null
+++ b/bxl_tokens.c
@@ -0,0 +1,64 @@
+const char *bxl_cmds[] = {
+ "WHILE", /* $38 */
+ "ENDWHILE", /* $39 */
+ "TRACEOFF", /* $3A */
+ "TRACE", /* $3B */
+ "ELSE", /* $3C */
+ "ENDIF", /* $3D */
+ "DPOKE", /* $3E */
+ "LOMEM", /* $3F */
+ "DEL", /* $40 */
+ "RPUT", /* $41 */
+ "RGET", /* $42 */
+ "BPUT", /* $43 */
+ "BGET", /* $44 */
+ "TAB", /* $45 */
+ "CP", /* $46 */
+ "ERASE", /* $47 */
+ "PROTECT", /* $48 */
+ "UNPROTECT", /* $49 */
+ "DIR", /* $4A */
+ "RENAME", /* $4B */
+ "MOVE", /* $4C */
+ "MISSILE", /* $4D */
+ "PMCLR", /* $4E */
+ "PMCOLOR", /* $4F */
+ "PMGRAPHICS", /* $50 */
+ "PMMOVE", /* $51 */
+ "PMWIDTH", /* $52 */
+ "SET", /* $53 */
+ "LVAR", /* $54 */
+ "RENUM", /* $55 */
+ "FAST", /* $56 */
+ "NUM", /* $57 */
+ "END", /* $58 */
+ 0, /* $59 */
+ "", /* $5A, disk extensions */
+};
+
+const int bxl_cmd_size = sizeof(bxl_cmds);
+
+const char *bxl_ops[] = {
+ " USING ", /* $55 */
+ "%", /* $56 */
+ "!", /* $57 */
+ "&", /* $58 */
+ ";", /* $59 */
+ "BUMP(", /* $5A */
+ "FIND(", /* $5B */
+ "HEX$", /* $5C */
+ "RANDOM(", /* $5D */
+ "DPEEK", /* $5E */
+ "SYS", /* $5F */
+ "VSTICK", /* $60 */
+ "HSTICK", /* $61 */
+ "PMADR", /* $62 */
+ "ERR", /* $63 */
+ "TAB", /* $64 */
+ "PEN", /* $65 */
+ "LEFT$(", /* $66 */
+ "RIGHT$(", /* $67 */
+ "MID$(", /* $68 */
+};
+
+const int bxl_ops_size = sizeof(bxl_ops);
diff --git a/bxl_tokens.h b/bxl_tokens.h
new file mode 100644
index 0000000..b769038
--- /dev/null
+++ b/bxl_tokens.h
@@ -0,0 +1,5 @@
+extern const char *bxl_cmds[];
+extern const int bxl_cmd_size;
+
+extern const char *bxl_ops[];
+extern const int bxl_ops_size;
diff --git a/cart2xex.1 b/cart2xex.1
index 90f092f..32d05dd 100644
--- a/cart2xex.1
+++ b/cart2xex.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CART2XEX" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "CART2XEX" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
cart2xex \- Convert an Atari 8-bit ROM cartridge image to a binary load file
.\" RST source for cart2xex(1) man page. Convert with:
@@ -65,9 +65,8 @@ Print help (usage) message and exit.
Sets the init address of the executable. Default is to use the
init address in the ROM image, at addresses $BFFE/BFFF. An init
address of zero means "no init address"; in this case, the output
-won\(aqt contain an init address at all. Executables created
-with this option probably won\(aqt run without further modifica‐
-tions.
+won\(aqt contain an init address at all. Executables created
+with this option probably won\(aqt run without further modifications.
.TP
.BI \-l \ address
Sets the load address of the executable. Default is to use the
@@ -226,31 +225,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/cart2xex.rst b/cart2xex.rst
index aff6272..db6d967 100644
--- a/cart2xex.rst
+++ b/cart2xex.rst
@@ -45,9 +45,8 @@ OPTIONS
Sets the init address of the executable. Default is to use the
init address in the ROM image, at addresses $BFFE/BFFF. An init
address of zero means "no init address"; in this case, the output
- won't contain an init address at all. Executables created
- with this option probably won't run without further modifica‐
- tions.
+ won't contain an init address at all. Executables created
+ with this option probably won't run without further modifications.
-l address
Sets the load address of the executable. Default is to use the
diff --git a/cxrefbas.1 b/cxrefbas.1
index d1f50c0..85ab645 100644
--- a/cxrefbas.1
+++ b/cxrefbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CXREFBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "CXREFBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
cxrefbas \- Code cross-reference for tokenized Atari 8-bit BASIC files
.SH SYNOPSIS
@@ -154,31 +154,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/cxrefbas.c b/cxrefbas.c
index 690c0dd..8a7f8c1 100644
--- a/cxrefbas.c
+++ b/cxrefbas.c
@@ -38,7 +38,7 @@ void print_ref_table(void) {
}
void print_help(void) {
- fprintf(stderr, "Usage: %s [-v] program.bas\n", self);
+ printf("Usage: %s [-v] program.bas\n", self);
exit(0);
}
diff --git a/dasm2atasm.1 b/dasm2atasm.1
index b8cbdf0..d6d7fcc 100644
--- a/dasm2atasm.1
+++ b/dasm2atasm.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "DASM2ATASM" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "DASM2ATASM" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
dasm2atasm \- Convert 6502 assembly source from dasm syntax to atasm or ca65 syntax.
.\" RST source for dasm2atasm(1) man page. Convert with:
@@ -223,31 +223,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/diffbas b/diffbas
new file mode 100755
index 0000000..ef621e5
--- /dev/null
+++ b/diffbas
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+usage() {
+ cat <<EOF
+Usage: $( basename $0 ) [diff-opts] [-- listbas-opts] file1.bas file2.bas
+
+Diff two tokenized Atari BASIC programs, using listbas(1) and diff(1).
+
+[diff-opts] is passed through as-is to diff.
+[listbas-opts] is passed through as-is to listbas.
+EOF
+ exit "$1"
+}
+
+cleanup() {
+ if [ "$dir" != "" ]; then
+ cd
+ rm -rf "$dir"
+ fi
+}
+
+if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "" ]; then
+ usage 0
+fi
+
+for i in "$@"; do
+ if [ -f "$i" ]; then
+ if [ "$file1" = "" ]; then
+ file1="$( realpath $i )"
+ base1="$( basename $i )".lst
+ elif [ "$file2" = "" ]; then
+ file2="$( realpath $i )"
+ base2="$( basename $i )".lst
+ else
+ usage 1
+ fi
+ elif [ "$i" = "--" ]; then
+ opts="listbasopts"
+ elif [ "$opts" = "listbasopts" ]; then
+ listbasopts="$listbasopts $i"
+ else
+ diffopts="$diffopts $i"
+ fi
+done
+
+dir="$( mktemp -d -t diffbas.XXXXXXXXXX )"
+[ -d "$dir" ]
+cd "$dir"
+trap cleanup EXIT
+set -e
+
+listbas $listbasopts "$file1" > $base1
+listbas $listbasopts "$file2" > $base2
+diff $diffopts $base1 $base2
+
+exit 0
diff --git a/a8utf8.1 b/diffbas.1
index 7b07d3a..1fbc72f 100644
--- a/a8utf8.1
+++ b/diffbas.1
@@ -27,61 +27,61 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "A8UTF8" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "DIFFBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
-a8utf8 \- Convert Atari 8-bit text to UTF-8 encoded Unicode.
-.\" RST source for a8utf8(1) man page. Convert with:
-.
-.\" rst2man.py a8utf8.rst > a8utf8.1
-.
-.\" rst2man.py comes from the SBo development/docutils package.
-.
+diffbas \- Show differences between two tokenized Atari 8-bit BASIC files
.SH SYNOPSIS
.sp
-\fIa8utf8\fP [\fB\-r\fP] [\fB\-i\fP] [\fIinfile\fP] [\fIinfile ...\fP]
-.sp
-\fIa8utf8\fP [\fB\-r\fP] [\fB\-i\fP] \fB\-t\fP
+diffbas [\fIdiff\-options\fP] [\fB\-\-\fP \fIlistbas\-options\fP] \fIfile1\fP \fIfile2\fP
.SH DESCRIPTION
.sp
-Convert Atari 8\-bit ATASCII or XL ICS (International Character
-Set) text to UTF\-8 encoded Unicode. Control graphics characters are
-replaced with their nearest Unicode equivalents (mostly from the Box
-Drawing block, or from the Basic Latin block with \fB\-i\fP option).
+\fBdiffbas\fP shows the differences between two tokenized (SAVEd)
+Atari BASIC programs, using \fBlistbas\fP(1) and \fBdiff\fP(1).
+.SH OPTIONS
.sp
-If no \fIinfile\fP is given, input is read from standard input. Output always
-goes to standard output; to write to a file, use a command like:
+\fBdiffbas\fP takes no options of its own. It will pass options as\-is
+to both \fBlistbas\fP and \fBdiff\fP\&. Use \fB\-\-\fP to separate them: everything
+before \fB\-\-\fP is passed to \fBdiff\fP, and everything between \fB\-\-\fP and
+the first filename is passed to \fBlistbas\fP\&.
+.SH COLOR
+.sp
+By default, the output is colorized by \fBlistbas\fP\&. If you want to use
+\fBdiff\fP\(aqs \fB\-\-color\fP option, you should use \fB\-n\fP as a \fBlistbas\fP
+option. Color diffs are most useful with \fB\-u\fP (unified diff format),
+so the command would look like:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
-a8utf8 atari.txt > converted.txt
+$ diffbas \-u \-\-color \-\- \-n A.BAS B.BAS
.ft P
.fi
.UNINDENT
.UNINDENT
-.sp
-The output is plain UTF\-8 Unicode, without BOM.
-.sp
-Inverse video (characters codes above \fB$80\fP) are translated to
-their non\-inverse equivalents, except \fB$9B\fP (Atari EOL), which is
-translated to \fB\en\fP (newline).
-.SH OPTIONS
+.SH EXAMPLE
.INDENT 0.0
-.TP
-.B \-i
-Input uses Atari XL/XE International Character Set encoding, rather than
-ATASCII graphics.
-.TP
-.B \-t
-Print table of Atari to Unicode equivalents, in CSV format. Can
-be used with or without \fB\-i\fP and/or \fB\-r\fP (four different tables).
-.TP
-.B \-r
-Reverse conversion: Input is UTF\-8, output is ATASCII (or XL ICS, with \fB\-i\fP).
-Beware that printing ATASCII to a terminal may look funny, and may even confuse
-the terminal. Redirecting to a file is safe.
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ diffbas \-u A.BAS B.BAS
+
+\-\-\- A.BAS.lst 2024\-07\-12 23:56:46.937965855 \-0400
++++ B.BAS.lst 2024\-07\-12 23:56:46.938965854 \-0400
+@@ \-1,3 +1,4 @@
+ 10 ? "THIS LINE IS IN BOTH PROGRAMS."
+ 20 ? "THIS LINE IS ALSO IN BOTH."
++25 ? "THIS LINE ONLY IN B.BAS!"
+ 30 END
+.ft P
+.fi
.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+0 for success. On failure, the exit status is that of whichever command
+failed (\fBlistbas\fP or \fBdiff\fP).
.SH COPYRIGHT
.sp
WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
@@ -92,31 +92,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/diffbas.rst b/diffbas.rst
new file mode 100644
index 0000000..0fd94c0
--- /dev/null
+++ b/diffbas.rst
@@ -0,0 +1,57 @@
+=======
+diffbas
+=======
+
+--------------------------------------------------------------
+Show differences between two tokenized Atari 8-bit BASIC files
+--------------------------------------------------------------
+
+.. include:: manhdr.rst
+
+SYNOPSIS
+========
+
+diffbas [*diff-options*] [**--** *listbas-options*] *file1* *file2*
+
+DESCRIPTION
+===========
+**diffbas** shows the differences between two tokenized (SAVEd)
+Atari BASIC programs, using **listbas**\(1) and **diff**\(1).
+
+OPTIONS
+=======
+**diffbas** takes no options of its own. It will pass options as-is
+to both **listbas** and **diff**. Use **--** to separate them: everything
+before **--** is passed to **diff**, and everything between **--** and
+the first filename is passed to **listbas**.
+
+COLOR
+=====
+By default, the output is colorized by **listbas**. If you want to use
+**diff**\'s **--color** option, you should use **-n** as a **listbas**
+option. Color diffs are most useful with **-u** (unified diff format),
+so the command would look like::
+
+ $ diffbas -u --color -- -n A.BAS B.BAS
+
+EXAMPLE
+=======
+
+::
+
+ $ diffbas -u A.BAS B.BAS
+
+ --- A.BAS.lst 2024-07-12 23:56:46.937965855 -0400
+ +++ B.BAS.lst 2024-07-12 23:56:46.938965854 -0400
+ @@ -1,3 +1,4 @@
+ 10 ? "THIS LINE IS IN BOTH PROGRAMS."
+ 20 ? "THIS LINE IS ALSO IN BOTH."
+ +25 ? "THIS LINE ONLY IN B.BAS!"
+ 30 END
+
+EXIT STATUS
+===========
+0 for success. On failure, the exit status is that of whichever command
+failed (**listbas** or **diff**).
+
+.. include:: manftr.rst
diff --git a/dumpbas.1 b/dumpbas.1
index 2b7f115..d26d267 100644
--- a/dumpbas.1
+++ b/dumpbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "DUMPBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "DUMPBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
dumpbas \- Formatted hexdump for tokenized Atari 8-bit BASIC files
.SH SYNOPSIS
@@ -204,31 +204,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/dumpbas.c b/dumpbas.c
index d5404d2..087e5b1 100644
--- a/dumpbas.c
+++ b/dumpbas.c
@@ -13,7 +13,7 @@ int endlineno = 32768;
/* dump tokens for each line in a BASIC program. easier to read than
a plain hex dump. */
void print_help(void) {
- fprintf(stderr, "Usage: %s [-v] [-s start-lineno] [-e end-lineno] <inputfile>\n", self);
+ printf("Usage: %s [-v] [-s start-lineno] [-e end-lineno] <inputfile>\n", self);
}
unsigned short getlineno(char opt, const char *arg) {
diff --git a/fauxtari.7 b/fauxtari.7
new file mode 100644
index 0000000..a26813f
--- /dev/null
+++ b/fauxtari.7
@@ -0,0 +1,345 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "FAUXTARI" 7 "2024-07-25" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.SH NAME
+fauxtari \- Atari 8-bit-based font for Linux console and X11/Wayland/Mac/Windows
+.SH DESCRIPTION
+.sp
+\fBfauxtari\fP is a set of monospaced bitmap fonts for use with the
+Linux console or graphical environments such as X11. Most of the
+glyphs are taken from the Atari XL/XE ROM font; see \fBGLYPHS\fP, below.
+.sp
+Three font formats are provided: \fBpsf\fP, for use with the console;
+\fBbdf\fP, for use with "old\-school" X11 apps such as \fBxterm\fP(1);
+and \fBttf\fP for use with modern X11/Wayland/Mac/Windows apps.
+.SH APPEARANCE
+.sp
+The console (\fBpsf\fP files) and X11 (\fBbdf\fP files) fonts each come
+in 3 sizes: 8x8 (original size), 16x16 (scaled 2x), and 24x24 (scaled
+3x). The scaling has no interpolation or antialiasing, so the larger
+fonts have a blocky "retro" look.
+.sp
+The appearance of the font is also vertically squashed, since it was
+designed for non\-square pixels (NTSC and PAL "pixels" are slightly
+taller than they are wide). This allows you to fit a \fIlot\fP of text
+on the screen, in the console or with a fullscreen X terminal:
+.TS
+center;
+|l|l|l|.
+_
+T{
+Font Size
+T} T{
+Display Size
+T} T{
+Characters
+T}
+_
+T{
+8x8
+T} T{
+1280x1024
+T} T{
+160x128
+T}
+_
+T{
+8x8
+T} T{
+1920x1080
+T} T{
+240x135
+T}
+_
+T{
+8x8
+T} T{
+3840x2160
+T} T{
+480x270
+T}
+_
+T{
+16x16
+T} T{
+1280x1024
+T} T{
+80x64
+T}
+_
+T{
+16x16
+T} T{
+1920x1080
+T} T{
+120x67
+T}
+_
+T{
+16x16
+T} T{
+3840x2160
+T} T{
+240x135
+T}
+_
+T{
+24x24
+T} T{
+1280x1024
+T} T{
+53x42
+T}
+_
+T{
+24x24
+T} T{
+1920x1080
+T} T{
+80x45
+T}
+_
+T{
+24x24
+T} T{
+3840x2160
+T} T{
+160x90
+T}
+_
+.TE
+.sp
+Of course, the smaller font sizes might be too small to read, especially
+on smaller displays.
+.sp
+The TrueType font is scalable, but always retains the pixelated look.
+.SH CONSOLE
+.sp
+If the \fBpsf\fP fonts have been installed to the standard console font
+directory (usually \fB/usr/share/kbd/consolefonts/\fP; this is done by
+\fBmake install\fP when \fBbw\-atari8\-tools\fP is built), you can use e.g.:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+setfont fauxtari\-16
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Replace the 16 with 8 or 24, for the other sizes. For Slackware Linux,
+you can make this the default in \fB/etc/rc.d/rc.font\fP, or just put it
+in \fB/etc/rc.d/rc.local\fP\&. Other Linux distributions will have their
+own ways to set this up (especially systemd\-based ones).
+.SH X11/ETC
+.SS TTF (scalable)
+.sp
+The scalable font is called \fBFauxtari Scalable Mono\fP, and should be
+selectable from graphical applications that allow choosing the font.
+You may also see \fBFauxtari Fixed Mono\fP in the list; this is the \fBbdf\fP
+font.
+.sp
+It can also be used in \fBurxvt\fP and \fBxterm\fP (provided \fBxterm\fP
+was built with support for TTF fonts):
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+urxvt \-fn \(aqxft:Fauxtari Scalable Mono:pixelsize=16\(aq
+
+xterm \-fa \(aqFauxtari Scalable Mono\(aq \-fs 16
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The font can be scaled to any size, though it will look best if you
+stick with multiples of 8 pixels.
+.sp
+The scalable font should also work on Wayland, Macintosh, or Windows
+systems, though this hasn\(aqt been tested.
+.SS BDF (non\-scalable)
+.sp
+If the \fBbdf\fP fonts have been installed (via \fBmake install\fP when
+\fBbw\-atari8\-tools\fP is built), you should be able to launch a terminal
+via:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+xterm \-fn fauxtari\-16
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Replace the 16 with 8 or 24, for the other sizes. These names are
+aliases (added to \fBfonts.alias\fP in the font directory); the full
+names are:
+.INDENT 0.0
+.IP \(bu 2
+\-bw\-fauxtari fixed mono\-medium\-r\-normal\-\-8\-80\-75\-75\-c\-80\-iso10646\-1
+.IP \(bu 2
+\-bw\-fauxtari fixed mono\-medium\-r\-normal\-\-16\-160\-75\-75\-c\-160\-iso10646\-1
+.IP \(bu 2
+\-bw\-fauxtari fixed mono\-medium\-r\-normal\-\-24\-240\-75\-75\-c\-240\-iso10646\-1
+.UNINDENT
+.sp
+For \fBurxvt\fP(1), you might have to turn off the \fBboldFont\fP resource (set
+it to an empty string), or run it as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+urxvt \-fn fauxtari\-16 \-fb ""
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This keeps \fBurxvt\fP from using some other font (from its built\-in
+list, or from your \fBURxvt.font\fP resource) for bold characters.
+.sp
+For \fBst\fP from suckless.org, run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+st \-f fauxtari\-16
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It\(aqs possible to use the fonts with \fBrxvt\fP, but since \fBrxvt\fP
+doesn\(aqt support Unicode, it won\(aqt be all that useful except for plain
+ASCII text. Why are you still using \fBrxvt\fP, anyway?
+.SH GLYPHS
+.sp
+All 3 sizes contain the same set of glyphs. These include:
+.INDENT 0.0
+.IP \(bu 2
+Printable ASCII. Complete. Mostly taken from the Atari 800XL ROM
+($E000 area), except the \fB~\fP \fB{\fP \fB}\fP \fB\(ga\fP characters which are
+missing from the Atari\(aqs character set (these were hand\-drawn by the
+author).
+.IP \(bu 2
+Unicode mappings for ATASCII graphics characters. Complete set. These
+work well with \fBlistbas\fP(1), \fBa8cat\fP(1), and \fBa8xd\fP(1). The glyphs
+are taken from the 800XL ROM.
+.IP \(bu 2
+The XL International Character set (umlauted/accented letters, plus
+the \fB¡\fP character and the British pound sign), taken from the 800XL ROM
+($CC00 area).
+.IP \(bu 2
+Arabic, taken from Atari\(aqs Arabic model of the 65XE. Only the
+isolated and terminal letter forms are included, but these are
+also mapped to the Unicode codepoints for the initial and medial forms.
+Hopefully this results in readable Arabic text. The creator of
+\fBfauxtari\fP can\(aqt read Arabic at all and doesn\(aqt know anyone who
+can, so some of the character mappings may be wrong.
+.IP \(bu 2
+Hebrew glyphs, the complete aleph\-bet, taken from the Hebrew ROM
+modification that was available for sale in Israel in the early 1980s.
+I\(aqm almost 100% certain this was a 3rd\-party product, not made by Atari.
+.IP \(bu 2
+Polish accented letters, taken from a Polish XL ROM found on the Web
+at some point. No idea who created this or whether it was homebrew or
+commercial.
+.IP \(bu 2
+A few extra Latin\-1 characters, hand\-drawn by the author. These include
+Spanish punctuation (quotation marks, inverted question mark), the
+copyright symbol, and the Euro currency sign.
+.IP \(bu 2
+TODO: Commodore 64 graphics characters.
+.UNINDENT
+.SH LIMITATIONS
+.INDENT 0.0
+.IP \(bu 2
+There should be more glyphs; at least Unicode Latin\-1 should have complete
+coverage. Some of them (e.g. fractions) will be hard to do in 8x8 character
+cells...
+.IP \(bu 2
+There are no true descenders, since the Atari ROM character set doesn\(aqt use them.
+Someday I may add hand\-hacked true descender versions of the fonts.
+.UNINDENT
+.SH COPYRIGHT
+.sp
+WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
+.SH AUTHOR
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fBa8cat\fP(1),
+\fBa8eol\fP(1),
+\fBa8xd\fP(1),
+\fBatr2xfd\fP(1),
+\fBatrsize\fP(1),
+\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
+\fBblob2c\fP(1),
+\fBblob2xex\fP(1),
+\fBcart2xex\fP(1),
+\fBcxrefbas\fP(1),
+\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
+\fBdumpbas\fP(1),
+\fBf2toxex\fP(1),
+\fBfenders\fP(1),
+\fBlistbas\fP(1),
+\fBprotbas\fP(1),
+\fBrenumbas\fP(1),
+\fBrom2cart\fP(1),
+\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
+\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
+\fBxexamine\fP(1),
+\fBxexcat\fP(1),
+\fBxexsplit\fP(1),
+\fBxfd2atr\fP(1),
+\fBxex\fP(5),
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
+.sp
+Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
+Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
+.\" Generated by docutils manpage writer.
+.
diff --git a/fauxtari.rst b/fauxtari.rst
new file mode 100644
index 0000000..736a9c4
--- /dev/null
+++ b/fauxtari.rst
@@ -0,0 +1,175 @@
+========
+fauxtari
+========
+
+--------------------------------------------------------------------
+Atari 8-bit-based font for Linux console and X11/Wayland/Mac/Windows
+--------------------------------------------------------------------
+
+.. include:: manhdr7.rst
+
+DESCRIPTION
+===========
+
+**fauxtari** is a set of monospaced bitmap fonts for use with the
+Linux console or graphical environments such as X11. Most of the
+glyphs are taken from the Atari XL/XE ROM font; see **GLYPHS**, below.
+
+Three font formats are provided: **psf**, for use with the console;
+**bdf**, for use with "old-school" X11 apps such as **xterm**\(1);
+and **ttf** for use with modern X11/Wayland/Mac/Windows apps.
+
+APPEARANCE
+==========
+
+The console (**psf** files) and X11 (**bdf** files) fonts each come
+in 3 sizes: 8x8 (original size), 16x16 (scaled 2x), and 24x24 (scaled
+3x). The scaling has no interpolation or antialiasing, so the larger
+fonts have a blocky "retro" look.
+
+The appearance of the font is also vertically squashed, since it was
+designed for non-square pixels (NTSC and PAL "pixels" are slightly
+taller than they are wide). This allows you to fit a *lot* of text
+on the screen, in the console or with a fullscreen X terminal:
+
+.. csv-table::
+
+ "Font Size", "Display Size", "Characters"
+ "8x8", "1280x1024", "160x128"
+ "8x8", "1920x1080", "240x135"
+ "8x8", "3840x2160", "480x270"
+ "16x16", "1280x1024", "80x64"
+ "16x16", "1920x1080", "120x67"
+ "16x16", "3840x2160", "240x135"
+ "24x24", "1280x1024", "53x42"
+ "24x24", "1920x1080", "80x45"
+ "24x24", "3840x2160", "160x90"
+
+Of course, the smaller font sizes might be too small to read, especially
+on smaller displays.
+
+The TrueType font is scalable, but always retains the pixelated look.
+
+CONSOLE
+=======
+
+If the **psf** fonts have been installed to the standard console font
+directory (usually **/usr/share/kbd/consolefonts/**; this is done by
+**make install** when **bw-atari8-tools** is built), you can use e.g.::
+
+ setfont fauxtari-16
+
+Replace the 16 with 8 or 24, for the other sizes. For Slackware Linux,
+you can make this the default in **/etc/rc.d/rc.font**, or just put it
+in **/etc/rc.d/rc.local**. Other Linux distributions will have their
+own ways to set this up (especially systemd-based ones).
+
+X11/etc
+=======
+
+TTF (scalable)
+--------------
+
+The scalable font is called **Fauxtari Scalable Mono**, and should be
+selectable from graphical applications that allow choosing the font.
+You may also see **Fauxtari Fixed Mono** in the list; this is the **bdf**
+font.
+
+It can also be used in **urxvt** and **xterm** (provided **xterm**
+was built with support for TTF fonts)::
+
+ urxvt -fn 'xft:Fauxtari Scalable Mono:pixelsize=16'
+
+ xterm -fa 'Fauxtari Scalable Mono' -fs 16
+
+The font can be scaled to any size, though it will look best if you
+stick with multiples of 8 pixels.
+
+The scalable font should also work on Wayland, Macintosh, or Windows
+systems, though this hasn't been tested.
+
+BDF (non-scalable)
+------------------
+
+If the **bdf** fonts have been installed (via **make install** when
+**bw-atari8-tools** is built), you should be able to launch a terminal
+via::
+
+ xterm -fn fauxtari-16
+
+Replace the 16 with 8 or 24, for the other sizes. These names are
+aliases (added to **fonts.alias** in the font directory); the full
+names are:
+
+- -bw-fauxtari fixed mono-medium-r-normal--8-80-75-75-c-80-iso10646-1
+
+- -bw-fauxtari fixed mono-medium-r-normal--16-160-75-75-c-160-iso10646-1
+
+- -bw-fauxtari fixed mono-medium-r-normal--24-240-75-75-c-240-iso10646-1
+
+For **urxvt**\(1), you might have to turn off the **boldFont** resource (set
+it to an empty string), or run it as::
+
+ urxvt -fn fauxtari-16 -fb ""
+
+This keeps **urxvt** from using some other font (from its built-in
+list, or from your **URxvt.font** resource) for bold characters.
+
+For **st** from suckless.org, run::
+
+ st -f fauxtari-16
+
+It's possible to use the fonts with **rxvt**, but since **rxvt**
+doesn't support Unicode, it won't be all that useful except for plain
+ASCII text. Why are you still using **rxvt**, anyway?
+
+GLYPHS
+======
+
+All 3 sizes contain the same set of glyphs. These include:
+
+- Printable ASCII. Complete. Mostly taken from the Atari 800XL ROM
+ ($E000 area), except the **~** **{** **}** **`** characters which are
+ missing from the Atari's character set (these were hand-drawn by the
+ author).
+
+- Unicode mappings for ATASCII graphics characters. Complete set. These
+ work well with **listbas**\(1), **a8cat**\(1), and **a8xd**\(1). The glyphs
+ are taken from the 800XL ROM.
+
+- The XL International Character set (umlauted/accented letters, plus
+ the **¡** character and the British pound sign), taken from the 800XL ROM
+ ($CC00 area).
+
+- Arabic, taken from Atari's Arabic model of the 65XE. Only the
+ isolated and terminal letter forms are included, but these are
+ also mapped to the Unicode codepoints for the initial and medial forms.
+ Hopefully this results in readable Arabic text. The creator of
+ **fauxtari** can't read Arabic at all and doesn't know anyone who
+ can, so some of the character mappings may be wrong.
+
+- Hebrew glyphs, the complete aleph-bet, taken from the Hebrew ROM
+ modification that was available for sale in Israel in the early 1980s.
+ I'm almost 100% certain this was a 3rd-party product, not made by Atari.
+
+- Polish accented letters, taken from a Polish XL ROM found on the Web
+ at some point. No idea who created this or whether it was homebrew or
+ commercial.
+
+- A few extra Latin-1 characters, hand-drawn by the author. These include
+ Spanish punctuation (quotation marks, inverted question mark), the
+ copyright symbol, and the Euro currency sign.
+
+- TODO: Commodore 64 graphics characters.
+
+LIMITATIONS
+===========
+
+- There should be more glyphs; at least Unicode Latin-1 should have complete
+ coverage. Some of them (e.g. fractions) will be hard to do in 8x8 character
+ cells...
+
+- There are no true descenders, since the Atari ROM character set doesn't use them.
+ Someday I may add hand-hacked true descender versions of the fonts.
+
+.. include:: manftr.rst
diff --git a/fenders.1 b/fenders.1
index 48aad8e..648e461 100644
--- a/fenders.1
+++ b/fenders.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "FENDERS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "FENDERS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
fenders \- Install Fenders 3-sector loader in boot sectors of an ATR image
.\" RST source for fenders(1) man page. Convert with:
@@ -270,31 +270,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/fonts/FauxtariScalableMono.ttf b/fonts/FauxtariScalableMono.ttf
new file mode 100644
index 0000000..d69425f
--- /dev/null
+++ b/fonts/FauxtariScalableMono.ttf
Binary files differ
diff --git a/fonts/Makefile b/fonts/Makefile
new file mode 100644
index 0000000..cb1c69f
--- /dev/null
+++ b/fonts/Makefile
@@ -0,0 +1,2 @@
+all:
+ cd .. && $(MAKE)
diff --git a/fonts/char0.raw b/fonts/char0.raw
new file mode 100644
index 0000000..a699b13
--- /dev/null
+++ b/fonts/char0.raw
Binary files differ
diff --git a/fonts/dupglyphs.pl b/fonts/dupglyphs.pl
new file mode 100644
index 0000000..0532522
--- /dev/null
+++ b/fonts/dupglyphs.pl
@@ -0,0 +1,42 @@
+#!/usr/bin/perl -w
+
+# read a psftools .txt font, for any glyph that has multiple Unicode
+# codepoints, output that glyph multiple times (one per codepoint).
+# result is suitable for conversion to a BDF.
+
+$glyphcount = 0;
+
+sub dup {
+ my $orig = shift;
+ my $new;
+ my $ret;
+ my @cps = ($orig =~ /\[(\w+)\];/g);
+
+ for my $cp (@cps) {
+ #warn ">> $cp <<\n";
+ $glyphcount++;
+ ($new = $orig) =~ s,(Unicode: ).*,$1\[$cp\];,;
+ $ret .= $new;
+ }
+ return $ret;
+}
+
+$/ = '%';
+
+<>;
+$header = '%' . <>;
+
+$zerocount = 0;
+while(<>) {
+ next if /\[0000\];/ && ($zerocount++);
+ if(/Unicode:.*;.*;/) {
+ $_ = dup($_);
+ } else {
+ $glyphcount++;
+ }
+ $output .= $_;
+}
+
+$header =~ s/(Length:\s+)\d+/$1$glyphcount/;
+
+print $header . $output;
diff --git a/fonts/fauxtari-16.bdf b/fonts/fauxtari-16.bdf
new file mode 100644
index 0000000..8a219f0
--- /dev/null
+++ b/fonts/fauxtari-16.bdf
@@ -0,0 +1,9893 @@
+STARTFONT 2.1
+FONT -BW-Fauxtari Fixed Mono-Medium-R-Normal--16-160-75-75-C-160-iso10646-1
+SIZE 16 75 75
+FONTBOUNDINGBOX 16 16 0 -4
+STARTPROPERTIES 18
+FOUNDRY "BW"
+FAMILY_NAME "Fauxtari Fixed Mono"
+FACE_NAME "Fauxtari 16"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE 16
+POINT_SIZE 160
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH 160
+CHARSET_REGISTRY "iso10646"
+CHARSET_ENCODING "1"
+FONT_DESCENT 4
+FONT_ASCENT 12
+DEFAULT_CHAR 0
+ENDPROPERTIES
+CHARS 429
+STARTCHAR C0000
+ENCODING 0
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3cfc
+3cfc
+3000
+3000
+000c
+000c
+3000
+3000
+000c
+000c
+3f3c
+3f3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0001
+ENCODING 32
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0002
+ENCODING 33
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0003
+ENCODING 34
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0004
+ENCODING 35
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+ffff
+ffff
+3c3c
+3c3c
+3c3c
+3c3c
+ffff
+ffff
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0005
+ENCODING 36
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+0ffc
+0ffc
+3c00
+3c00
+0ff0
+0ff0
+003c
+003c
+3ff0
+3ff0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0006
+ENCODING 37
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3cf0
+3cf0
+03c0
+03c0
+0f00
+0f00
+3c3c
+3c3c
+303c
+303c
+0000
+0000
+ENDCHAR
+STARTCHAR C0007
+ENCODING 38
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03f0
+03f0
+0f3c
+0f3c
+03f0
+03f0
+0fc0
+0fc0
+3cff
+3cff
+3c3c
+3c3c
+0fcf
+0fcf
+0000
+0000
+ENDCHAR
+STARTCHAR C0008
+ENCODING 39
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0009
+ENCODING 40
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+03f0
+03f0
+03c0
+03c0
+03c0
+03c0
+03f0
+03f0
+00fc
+00fc
+0000
+0000
+ENDCHAR
+STARTCHAR C000a
+ENCODING 41
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3f00
+3f00
+0fc0
+0fc0
+03c0
+03c0
+03c0
+03c0
+0fc0
+0fc0
+3f00
+3f00
+0000
+0000
+ENDCHAR
+STARTCHAR C000b
+ENCODING 42
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+0ff0
+0ff0
+ffff
+ffff
+0ff0
+0ff0
+3c3c
+3c3c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C000c
+ENCODING 43
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C000d
+ENCODING 44
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0f00
+0f00
+ENDCHAR
+STARTCHAR C000e
+ENCODING 45
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C000f
+ENCODING 46
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0010
+ENCODING 47
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3c00
+3c00
+3000
+3000
+0000
+0000
+ENDCHAR
+STARTCHAR C0011
+ENCODING 48
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3cfc
+3cfc
+3f3c
+3f3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0012
+ENCODING 49
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0fc0
+0fc0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0013
+ENCODING 50
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0014
+ENCODING 51
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+00f0
+00f0
+03c0
+03c0
+00f0
+00f0
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0015
+ENCODING 52
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00f0
+00f0
+03f0
+03f0
+0ff0
+0ff0
+3cf0
+3cf0
+3ffc
+3ffc
+00f0
+00f0
+0000
+0000
+ENDCHAR
+STARTCHAR C0016
+ENCODING 53
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+3c00
+3c00
+3ff0
+3ff0
+003c
+003c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0017
+ENCODING 54
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c00
+3c00
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0018
+ENCODING 55
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+003c
+003c
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+0f00
+0f00
+0000
+0000
+ENDCHAR
+STARTCHAR C0019
+ENCODING 56
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C001a
+ENCODING 57
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+0ffc
+0ffc
+003c
+003c
+00f0
+00f0
+0fc0
+0fc0
+0000
+0000
+ENDCHAR
+STARTCHAR C001b
+ENCODING 58
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C001c
+ENCODING 59
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0f00
+0f00
+ENDCHAR
+STARTCHAR C001d
+ENCODING 60
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+003c
+003c
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+03c0
+03c0
+00f0
+00f0
+003c
+003c
+0000
+0000
+ENDCHAR
+STARTCHAR C001e
+ENCODING 61
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C001f
+ENCODING 62
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+0f00
+0f00
+03c0
+03c0
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3c00
+3c00
+0000
+0000
+ENDCHAR
+STARTCHAR C0020
+ENCODING 63
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+00f0
+00f0
+03c0
+03c0
+0000
+0000
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0021
+ENCODING 64
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3cfc
+3cfc
+3cfc
+3cfc
+3c00
+3c00
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0022
+ENCODING 65
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0023
+ENCODING 66
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ff0
+3ff0
+3c3c
+3c3c
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3ff0
+3ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0024
+ENCODING 67
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c00
+3c00
+3c00
+3c00
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0025
+ENCODING 68
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+3cf0
+3cf0
+3c3c
+3c3c
+3c3c
+3c3c
+3cf0
+3cf0
+3fc0
+3fc0
+0000
+0000
+ENDCHAR
+STARTCHAR C0026
+ENCODING 69
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+3c00
+3c00
+3ff0
+3ff0
+3c00
+3c00
+3c00
+3c00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0027
+ENCODING 70
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+3c00
+3c00
+3ff0
+3ff0
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+0000
+0000
+ENDCHAR
+STARTCHAR C0028
+ENCODING 71
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ffc
+0ffc
+3c00
+3c00
+3c00
+3c00
+3cfc
+3cfc
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0029
+ENCODING 72
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C002a
+ENCODING 73
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C002b
+ENCODING 74
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C002c
+ENCODING 75
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3cf0
+3cf0
+3fc0
+3fc0
+3fc0
+3fc0
+3cf0
+3cf0
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C002d
+ENCODING 76
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C002e
+ENCODING 77
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c0f
+3c0f
+3f3f
+3f3f
+3fff
+3fff
+3ccf
+3ccf
+3c0f
+3c0f
+3c0f
+3c0f
+0000
+0000
+ENDCHAR
+STARTCHAR C002f
+ENCODING 78
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3f3c
+3f3c
+3ffc
+3ffc
+3ffc
+3ffc
+3cfc
+3cfc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0030
+ENCODING 79
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0031
+ENCODING 80
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3ff0
+3ff0
+3c00
+3c00
+3c00
+3c00
+0000
+0000
+ENDCHAR
+STARTCHAR C0032
+ENCODING 81
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3cf0
+3cf0
+0f3c
+0f3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0033
+ENCODING 82
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3ff0
+3ff0
+3cf0
+3cf0
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0034
+ENCODING 83
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c00
+3c00
+0ff0
+0ff0
+003c
+003c
+003c
+003c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0035
+ENCODING 84
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0036
+ENCODING 85
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0037
+ENCODING 86
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0038
+ENCODING 87
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c0f
+3c0f
+3c0f
+3c0f
+3ccf
+3ccf
+3fff
+3fff
+3f3f
+3f3f
+3c0f
+3c0f
+0000
+0000
+ENDCHAR
+STARTCHAR C0039
+ENCODING 88
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C003a
+ENCODING 89
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C003b
+ENCODING 90
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3c00
+3c00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C003c
+ENCODING 91
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03fc
+03fc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03fc
+03fc
+0000
+0000
+ENDCHAR
+STARTCHAR C003d
+ENCODING 92
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3000
+3000
+3c00
+3c00
+0f00
+0f00
+03c0
+03c0
+00f0
+00f0
+003c
+003c
+0000
+0000
+ENDCHAR
+STARTCHAR C003e
+ENCODING 93
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+3fc0
+3fc0
+0000
+0000
+ENDCHAR
+STARTCHAR C003f
+ENCODING 94
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00c0
+00c0
+03f0
+03f0
+0f3c
+0f3c
+3c0f
+3c0f
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0040
+ENCODING 95
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ffff
+ffff
+0000
+0000
+ENDCHAR
+STARTCHAR C0041
+ENCODING 96
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+0f00
+0f00
+03c0
+03c0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0042
+ENCODING 97
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ff0
+0ff0
+003c
+003c
+0ffc
+0ffc
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0043
+ENCODING 98
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+3c00
+3c00
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3ff0
+3ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0044
+ENCODING 99
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ff0
+0ff0
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0045
+ENCODING 100
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+003c
+003c
+0ffc
+0ffc
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0046
+ENCODING 101
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c00
+3c00
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0047
+ENCODING 102
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+03c0
+03c0
+0ffc
+0ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0048
+ENCODING 103
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ffc
+0ffc
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0049
+ENCODING 104
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+3c00
+3c00
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C004a
+ENCODING 105
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0000
+0000
+0fc0
+0fc0
+03c0
+03c0
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C004b
+ENCODING 106
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+0000
+0000
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C004c
+ENCODING 107
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+3c00
+3c00
+3cf0
+3cf0
+3fc0
+3fc0
+3cf0
+3cf0
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C004d
+ENCODING 108
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0fc0
+0fc0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C004e
+ENCODING 109
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3c3c
+3c3c
+3fff
+3fff
+3fff
+3fff
+3ccf
+3ccf
+3c0f
+3c0f
+0000
+0000
+ENDCHAR
+STARTCHAR C004f
+ENCODING 110
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0050
+ENCODING 111
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0051
+ENCODING 112
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3ff0
+3ff0
+3c00
+3c00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0052
+ENCODING 113
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ffc
+0ffc
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+003c
+003c
+003c
+003c
+ENDCHAR
+STARTCHAR C0053
+ENCODING 114
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3ff0
+3ff0
+3c3c
+3c3c
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+0000
+0000
+ENDCHAR
+STARTCHAR C0054
+ENCODING 115
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ffc
+0ffc
+3c00
+3c00
+0ff0
+0ff0
+003c
+003c
+3ff0
+3ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0055
+ENCODING 116
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+00fc
+00fc
+0000
+0000
+ENDCHAR
+STARTCHAR C0056
+ENCODING 117
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0057
+ENCODING 118
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0058
+ENCODING 119
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3c0f
+3c0f
+3ccf
+3ccf
+3fff
+3fff
+0ffc
+0ffc
+0f3c
+0f3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0059
+ENCODING 120
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3c3c
+3c3c
+0ff0
+0ff0
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C005a
+ENCODING 121
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+00f0
+00f0
+3fc0
+3fc0
+ENDCHAR
+STARTCHAR C005b
+ENCODING 122
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3ffc
+3ffc
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C005c
+ENCODING 123
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+03c0
+03c0
+0f00
+0f00
+03c0
+03c0
+03c0
+03c0
+00f0
+00f0
+0000
+0000
+ENDCHAR
+STARTCHAR C005d
+ENCODING 124
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C005e
+ENCODING 125
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+03c0
+03c0
+03c0
+03c0
+00f0
+00f0
+03c0
+03c0
+03c0
+03c0
+0f00
+0f00
+0000
+0000
+ENDCHAR
+STARTCHAR C005f
+ENCODING 126
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3f0f
+3f0f
+f3cf
+f3cf
+f0fc
+f0fc
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0060
+ENCODING 160
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0061
+ENCODING 161
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0062
+ENCODING 162
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0ffc
+0ffc
+3c00
+3c00
+3c00
+3c00
+0ffc
+0ffc
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0063
+ENCODING 163
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03f0
+03f0
+0f00
+0f00
+0f00
+0f00
+3fc0
+3fc0
+0f00
+0f00
+0f00
+0f00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0064
+ENCODING 164
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+300c
+300c
+0ff0
+0ff0
+0c30
+0c30
+0c30
+0c30
+0ff0
+0ff0
+300c
+300c
+0000
+0000
+ENDCHAR
+STARTCHAR C0065
+ENCODING 165
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c3c
+3c3c
+3c3c
+3c3c
+03c0
+03c0
+3ffc
+3ffc
+03c0
+03c0
+3ffc
+3ffc
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0066
+ENCODING 166
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0067
+ENCODING 167
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03f0
+03f0
+0c00
+0c00
+03c0
+03c0
+0c30
+0c30
+03c0
+03c0
+0030
+0030
+0fc0
+0fc0
+0000
+0000
+ENDCHAR
+STARTCHAR C0068
+ENCODING 168
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0069
+ENCODING 169
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3ff0
+3ff0
+c00c
+c00c
+c3cc
+c3cc
+cc0c
+cc0c
+c3cc
+c3cc
+c00c
+c00c
+3ff0
+3ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C006a
+ENCODING 170
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+00fc
+00fc
+0f3c
+0f3c
+03fc
+03fc
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C006b
+ENCODING 171
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+3c3c
+3c3c
+f0f0
+f0f0
+3c3c
+3c3c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C006c
+ENCODING 172
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+3ffc
+3ffc
+003c
+003c
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C006d
+ENCODING 173
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C006e
+ENCODING 174
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3ff0
+3ff0
+c00c
+c00c
+cf0c
+cf0c
+cccc
+cccc
+cf0c
+cf0c
+cccc
+cccc
+3ff0
+3ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C006f
+ENCODING 175
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0070
+ENCODING 176
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0c30
+0c30
+03c0
+03c0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0071
+ENCODING 177
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+3ffc
+3ffc
+03c0
+03c0
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0072
+ENCODING 178
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+30c0
+30c0
+0300
+0300
+0c00
+0c00
+3fc0
+3fc0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0073
+ENCODING 179
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+30c0
+30c0
+0300
+0300
+30c0
+30c0
+0f00
+0f00
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0074
+ENCODING 180
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00f0
+00f0
+03c0
+03c0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0075
+ENCODING 181
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+003c
+003c
+0000
+0000
+ENDCHAR
+STARTCHAR C0076
+ENCODING 182
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f3c
+0f3c
+3f3c
+3f3c
+3f3c
+3f3c
+0f3c
+0f3c
+033c
+033c
+033c
+033c
+0000
+0000
+ENDCHAR
+STARTCHAR C0077
+ENCODING 183
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0078
+ENCODING 184
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+0f00
+0f00
+ENDCHAR
+STARTCHAR C0079
+ENCODING 185
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0fc0
+0fc0
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C007a
+ENCODING 186
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0c30
+0c30
+03c0
+03c0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C007b
+ENCODING 187
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+f0f0
+f0f0
+3c3c
+3c3c
+f0f0
+f0f0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C007c
+ENCODING 191
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0000
+0000
+03c0
+03c0
+00f0
+00f0
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C007d
+ENCODING 192
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C007e
+ENCODING 193
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00f0
+00f0
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C007f
+ENCODING 194
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+300c
+300c
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0080
+ENCODING 195
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+3cf0
+3cf0
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0081
+ENCODING 196
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c3c
+3c3c
+3c3c
+3c3c
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0082
+ENCODING 197
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+0c30
+0c30
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C0083
+ENCODING 198
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ffc
+0ffc
+3fc0
+3fc0
+f3c0
+f3c0
+fffc
+fffc
+f3c0
+f3c0
+f3fc
+f3fc
+0000
+0000
+ENDCHAR
+STARTCHAR C0084
+ENCODING 199
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c00
+3c00
+3c3c
+3c3c
+0ff0
+0ff0
+03c0
+03c0
+0f00
+0f00
+ENDCHAR
+STARTCHAR C0085
+ENCODING 201
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+3ffc
+3ffc
+3c00
+3c00
+3ff0
+3ff0
+3c00
+3c00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0086
+ENCODING 202
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+300c
+300c
+3ffc
+3ffc
+3c00
+3c00
+3ff0
+3ff0
+3c00
+3c00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0087
+ENCODING 203
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+0000
+0000
+3ffc
+3ffc
+3c00
+3c00
+3ff0
+3ff0
+3c00
+3c00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0088
+ENCODING 204
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+03c0
+03c0
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0089
+ENCODING 205
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C008a
+ENCODING 206
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+300c
+300c
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C008b
+ENCODING 207
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+0000
+0000
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C008c
+ENCODING 208
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+3cf0
+3cf0
+3c3c
+3c3c
+ff3c
+ff3c
+3cf0
+3cf0
+3fc0
+3fc0
+0000
+0000
+ENDCHAR
+STARTCHAR C008d
+ENCODING 209
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+3cf0
+3cf0
+0000
+0000
+3f3c
+3f3c
+3f3c
+3f3c
+3ffc
+3ffc
+3cfc
+3cfc
+0000
+0000
+ENDCHAR
+STARTCHAR C008e
+ENCODING 210
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+0ff0
+0ff0
+333c
+333c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C008f
+ENCODING 211
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+003c
+003c
+0ff0
+0ff0
+3ccc
+3ccc
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0090
+ENCODING 214
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c3c
+3c3c
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0091
+ENCODING 215
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+0ff0
+0ff0
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0092
+ENCODING 217
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+03c0
+03c0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0093
+ENCODING 218
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0094
+ENCODING 220
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c3c
+3c3c
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0095
+ENCODING 221
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0096
+ENCODING 222
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+3ff0
+3ff0
+3c3c
+3c3c
+3ff0
+3ff0
+3c00
+3c00
+3c00
+3c00
+0000
+0000
+ENDCHAR
+STARTCHAR C0097
+ENCODING 223
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03f0
+03f0
+0f3c
+0f3c
+0ff0
+0ff0
+0f3c
+0f3c
+0f3f
+0f3f
+0ffc
+0ffc
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0098
+ENCODING 224
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+03c0
+03c0
+0ff0
+0ff0
+003c
+003c
+0ffc
+0ffc
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0099
+ENCODING 225
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+0ff0
+0ff0
+003c
+003c
+0ffc
+0ffc
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C009a
+ENCODING 226
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+300c
+300c
+0000
+0000
+0ff0
+0ff0
+00fc
+00fc
+0f3c
+0f3c
+03fc
+03fc
+0000
+0000
+ENDCHAR
+STARTCHAR C009b
+ENCODING 227
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+3cf0
+3cf0
+0000
+0000
+0ff0
+0ff0
+00fc
+00fc
+0f3c
+0f3c
+03fc
+03fc
+0000
+0000
+ENDCHAR
+STARTCHAR C009c
+ENCODING 228
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+0000
+0000
+0ff0
+0ff0
+003c
+003c
+0ffc
+0ffc
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C009d
+ENCODING 229
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+3c3c
+3c3c
+03f0
+03f0
+003c
+003c
+0ffc
+0ffc
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C009e
+ENCODING 230
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3f3c
+3f3c
+03cf
+03cf
+3ffc
+3ffc
+f3c0
+f3c0
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C009f
+ENCODING 231
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ff0
+0ff0
+3c00
+3c00
+3c00
+3c00
+0ff0
+0ff0
+03c0
+03c0
+0f00
+0f00
+ENDCHAR
+STARTCHAR C00a0
+ENCODING 232
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c00
+3c00
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a1
+ENCODING 233
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c00
+3c00
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a2
+ENCODING 234
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+f00f
+f00f
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c00
+3c00
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a3
+ENCODING 235
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c3c
+3c3c
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c00
+3c00
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a4
+ENCODING 236
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+03c0
+03c0
+0000
+0000
+0fc0
+0fc0
+03c0
+03c0
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a5
+ENCODING 237
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+0000
+0000
+0fc0
+0fc0
+03c0
+03c0
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a6
+ENCODING 238
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+3c3c
+3c3c
+0000
+0000
+0fc0
+0fc0
+03c0
+03c0
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a7
+ENCODING 239
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+0000
+0000
+0fc0
+0fc0
+03c0
+03c0
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a8
+ENCODING 240
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3cc0
+3cc0
+0f00
+0f00
+33c0
+33c0
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00a9
+ENCODING 241
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+3cf0
+3cf0
+0000
+0000
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C00aa
+ENCODING 242
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+03c0
+03c0
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00ab
+ENCODING 243
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00ac
+ENCODING 244
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+3c3c
+3c3c
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00ad
+ENCODING 245
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+3cf0
+3cf0
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00ae
+ENCODING 246
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00af
+ENCODING 247
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+03c0
+03c0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00b0
+ENCODING 249
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+03c0
+03c0
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00b1
+ENCODING 250
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00b2
+ENCODING 251
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+3c3c
+3c3c
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00b3
+ENCODING 252
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00b4
+ENCODING 253
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+00f0
+00f0
+3fc0
+3fc0
+ENDCHAR
+STARTCHAR C00b5
+ENCODING 254
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+3c00
+3c00
+3fc0
+3fc0
+3cf0
+3cf0
+3fc0
+3fc0
+3c00
+3c00
+3c00
+3c00
+0000
+0000
+ENDCHAR
+STARTCHAR C00b6
+ENCODING 255
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c3c
+3c3c
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ffc
+0ffc
+00f0
+00f0
+3fc0
+3fc0
+ENDCHAR
+STARTCHAR C00b7
+ENCODING 260
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+3c3c
+3c3c
+000f
+000f
+ENDCHAR
+STARTCHAR C00b8
+ENCODING 261
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ff0
+0ff0
+003c
+003c
+0ffc
+0ffc
+3c3c
+3c3c
+0ffc
+0ffc
+000f
+000f
+ENDCHAR
+STARTCHAR C00b9
+ENCODING 262
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0ff0
+0ff0
+3cfc
+3cfc
+3c00
+3c00
+3c00
+3c00
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00ba
+ENCODING 263
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+0ff0
+0ff0
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00bb
+ENCODING 280
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3fc0
+3fc0
+3c00
+3c00
+3fc0
+3fc0
+3c00
+3c00
+3ffc
+3ffc
+03c0
+03c0
+03fc
+03fc
+0000
+0000
+ENDCHAR
+STARTCHAR C00bc
+ENCODING 281
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3ffc
+3ffc
+3c00
+3c00
+0ff0
+0ff0
+003c
+003c
+ENDCHAR
+STARTCHAR C00bd
+ENCODING 321
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+3c00
+3c00
+3fc0
+3fc0
+3f00
+3f00
+fc00
+fc00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00be
+ENCODING 322
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0fc0
+0fc0
+03c0
+03c0
+03f0
+03f0
+0fc0
+0fc0
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00bf
+ENCODING 323
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+33cc
+33cc
+3c3c
+3c3c
+3ffc
+3ffc
+3ffc
+3ffc
+3cfc
+3cfc
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C00c0
+ENCODING 324
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+3ff0
+3ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+ENDCHAR
+STARTCHAR C00c1
+ENCODING 346
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+0ff0
+0ff0
+3c00
+3c00
+0ff0
+0ff0
+003c
+003c
+003c
+003c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00c2
+ENCODING 347
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+0ffc
+0ffc
+3c00
+3c00
+0ff0
+0ff0
+003c
+003c
+3ff0
+3ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C00c3
+ENCODING 377
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+3ffc
+3ffc
+0f3c
+0f3c
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00c4
+ENCODING 378
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+03c0
+03c0
+3ffc
+3ffc
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00c5
+ENCODING 379
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+3ffc
+3ffc
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3c00
+3c00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00c6
+ENCODING 380
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+0000
+0000
+3ffc
+3ffc
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00c7
+ENCODING 551
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+0000
+0000
+0ff0
+0ff0
+003c
+003c
+0ffc
+0ffc
+3c3c
+3c3c
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00c8
+ENCODING 1488
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+f03c
+f03c
+ff3c
+ff3c
+f3fc
+f3fc
+f0f0
+f0f0
+f03c
+f03c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00c9
+ENCODING 1489
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+ffc0
+ffc0
+03f0
+03f0
+00f0
+00f0
+00f0
+00f0
+fffc
+fffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00ca
+ENCODING 1490
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+00f0
+00f0
+00f0
+00f0
+3ff0
+3ff0
+fc3c
+fc3c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00cb
+ENCODING 1491
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fffc
+fffc
+03f0
+03f0
+00f0
+00f0
+00f0
+00f0
+00f0
+00f0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00cc
+ENCODING 1492
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+003c
+003c
+303c
+303c
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00cd
+ENCODING 1493
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+03f0
+03f0
+00f0
+00f0
+00f0
+00f0
+00f0
+00f0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00ce
+ENCODING 1494
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+3f00
+3f00
+0f00
+0f00
+0f00
+0f00
+0f00
+0f00
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00cf
+ENCODING 1495
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00d0
+ENCODING 1496
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+f3fc
+f3fc
+f33c
+f33c
+f03c
+f03c
+f03c
+f03c
+fff0
+fff0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00d1
+ENCODING 1497
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ff0
+3ff0
+03f0
+03f0
+00f0
+00f0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00d2
+ENCODING 1498
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+00fc
+00fc
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+ENDCHAR
+STARTCHAR C00d3
+ENCODING 1499
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+003c
+003c
+003c
+003c
+00fc
+00fc
+fff0
+fff0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00d4
+ENCODING 1500
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+f000
+f000
+fff0
+fff0
+003c
+003c
+003c
+003c
+00fc
+00fc
+0ff0
+0ff0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00d5
+ENCODING 1501
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00d6
+ENCODING 1502
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+f3f0
+f3f0
+3f3c
+3f3c
+3c3c
+3c3c
+3c3c
+3c3c
+3cfc
+3cfc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00d7
+ENCODING 1503
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03fc
+03fc
+00fc
+00fc
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+ENDCHAR
+STARTCHAR C00d8
+ENCODING 1504
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03fc
+03fc
+003c
+003c
+003c
+003c
+00fc
+00fc
+3ff0
+3ff0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00d9
+ENCODING 1505
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fffc
+fffc
+3c3c
+3c3c
+3c3c
+3c3c
+3cf0
+3cf0
+3fc0
+3fc0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00da
+ENCODING 1506
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fcfc
+fcfc
+3c3c
+3c3c
+0f3c
+0f3c
+0f3c
+0f3c
+fff0
+fff0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00db
+ENCODING 1507
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+3cfc
+3cfc
+3c3c
+3c3c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+003c
+ENDCHAR
+STARTCHAR C00dc
+ENCODING 1508
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+3c3c
+3c3c
+3c3c
+3c3c
+00fc
+00fc
+fff0
+fff0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00dd
+ENCODING 1509
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+f0fc
+f0fc
+3c3c
+3c3c
+3cf0
+3cf0
+3fc0
+3fc0
+3c00
+3c00
+3c00
+3c00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C00de
+ENCODING 1510
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+f03c
+f03c
+3cfc
+3cfc
+0fc0
+0fc0
+00f0
+00f0
+fffc
+fffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00df
+ENCODING 1511
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+00fc
+00fc
+f03c
+f03c
+f0f0
+f0f0
+f3c0
+f3c0
+f000
+f000
+f000
+f000
+ENDCHAR
+STARTCHAR C00e0
+ENCODING 1512
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+00fc
+00fc
+003c
+003c
+003c
+003c
+003c
+003c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00e1
+ENCODING 1513
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+c30c
+c30c
+f30c
+f30c
+fc3c
+fc3c
+f0f0
+f0f0
+fff0
+fff0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00e2
+ENCODING 1514
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+fff0
+fff0
+3cfc
+3cfc
+3c3c
+3c3c
+3c3c
+3c3c
+fc3c
+fc3c
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00e3
+ENCODING 1567
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+0f00
+0f00
+03c0
+03c0
+0000
+0000
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C00e4
+ENCODING 1569
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+03f0
+03f0
+0f00
+0f00
+03f0
+03f0
+0fc0
+0fc0
+0c00
+0c00
+0000
+0000
+ENDCHAR
+STARTCHAR C00e5
+ENCODING 1570
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C00e6
+ENCODING 1572
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+f0ff
+f0ff
+03cf
+03cf
+00ff
+00ff
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C00e7
+ENCODING 1575
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00e8
+ENCODING 1576
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+03c0
+03c0
+ENDCHAR
+STARTCHAR C00e9
+ENCODING 1577
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03cf
+03cf
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03cf
+03cf
+03ff
+03ff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00ea
+ENCODING 1578
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f3c
+0f3c
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00eb
+ENCODING 1579
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+3c3c
+3c3c
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00ec
+ENCODING 1580
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c00
+3c00
+3c0f
+3c0f
+0fc0
+0fc0
+ENDCHAR
+STARTCHAR C00ed
+ENCODING 1581
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c03
+3c03
+3c00
+3c00
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C00ee
+ENCODING 1582
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c03
+3c03
+3c00
+3c00
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C00ef
+ENCODING 1583
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C00f0
+ENCODING 1584
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+0000
+0000
+00f0
+00f0
+003c
+003c
+000f
+000f
+000f
+000f
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00f1
+ENCODING 1585
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C00f2
+ENCODING 1586
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+000f
+000f
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C00f3
+ENCODING 1587
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+c333
+c333
+c333
+c333
+c3ff
+c3ff
+c3fc
+c3fc
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C00f4
+ENCODING 1588
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0f0f
+0f0f
+0000
+0000
+c333
+c333
+c333
+c333
+c3ff
+c3ff
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C00f5
+ENCODING 1589
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+c3c3
+c3c3
+c303
+c303
+c3ff
+c3ff
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C00f6
+ENCODING 1590
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0000
+0000
+00ff
+00ff
+c3c3
+c3c3
+c303
+c303
+c3ff
+c3ff
+ffc0
+ffc0
+3f00
+3f00
+ENDCHAR
+STARTCHAR C00f7
+ENCODING 1591
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00f8
+ENCODING 1592
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3cf0
+3cf0
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00f9
+ENCODING 1593
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+03c0
+03c0
+03c0
+03c0
+0fff
+0fff
+3c03
+3c03
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C00fa
+ENCODING 1594
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+00fc
+00fc
+03c0
+03c0
+03c0
+03c0
+0fff
+0fff
+3c03
+3c03
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C00fb
+ENCODING 1601
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+003f
+003f
+f0f3
+f0f3
+f03f
+f03f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C00fc
+ENCODING 1602
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+0000
+0000
+003f
+003f
+30f3
+30f3
+f03f
+f03f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00fd
+ENCODING 1603
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+0f0f
+0f0f
+0c0f
+0c0f
+3f0f
+3f0f
+000f
+000f
+c00f
+c00f
+fffc
+fffc
+0000
+0000
+ENDCHAR
+STARTCHAR C00fe
+ENCODING 1604
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+3c0f
+3c0f
+3c0f
+3c0f
+3c0f
+3c0f
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C00ff
+ENCODING 1605
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+03ff
+03ff
+0ff3
+0ff3
+3c3f
+3c3f
+3c0f
+3c0f
+3c00
+3c00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0100
+ENCODING 1606
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0000
+0000
+0c0c
+0c0c
+3c0f
+3c0f
+3c0f
+3c0f
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0101
+ENCODING 1607
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03cf
+03cf
+03ff
+03ff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0102
+ENCODING 1608
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03ff
+03ff
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0103
+ENCODING 1609
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00fc
+00fc
+f3cf
+f3cf
+f3c3
+f3c3
+f0f3
+f0f3
+f0f0
+f0f0
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0104
+ENCODING 1610
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+c3ff
+c3ff
+c3c3
+c3c3
+f0f3
+f0f3
+3ff3
+3ff3
+0000
+0000
+0f3c
+0f3c
+ENDCHAR
+STARTCHAR C0105
+ENCODING 1632
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+3c00
+3c00
+3000
+3000
+0000
+0000
+ENDCHAR
+STARTCHAR C0106
+ENCODING 1633
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00c0
+00c0
+03f0
+03f0
+0ffc
+0ffc
+03f0
+03f0
+00c0
+00c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0107
+ENCODING 1634
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0108
+ENCODING 1635
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0ff0
+0ff0
+3c3c
+3c3c
+3c00
+3c00
+0f00
+0f00
+03c0
+03c0
+00f0
+00f0
+003c
+003c
+ENDCHAR
+STARTCHAR C0109
+ENCODING 1636
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ccf
+3ccf
+3ccf
+3ccf
+3fff
+3fff
+3f00
+3f00
+0f00
+0f00
+0fc0
+0fc0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C010a
+ENCODING 1637
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03fc
+03fc
+0fc0
+0fc0
+3f00
+3f00
+03f0
+03f0
+0fc0
+0fc0
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C010b
+ENCODING 1638
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03f0
+03f0
+0ffc
+0ffc
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3ffc
+3ffc
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C010c
+ENCODING 1639
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ff0
+3ff0
+3ff0
+3ff0
+00f0
+00f0
+00f0
+00f0
+00f0
+00f0
+00f0
+00f0
+00f0
+00f0
+ENDCHAR
+STARTCHAR C010d
+ENCODING 1640
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+0ff0
+0ff0
+0ff0
+0ff0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C010e
+ENCODING 1641
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0ff0
+0ff0
+0ff0
+0ff0
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+3c3c
+ENDCHAR
+STARTCHAR C010f
+ENCODING 8211
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0110
+ENCODING 8212
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0111
+ENCODING 8216
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+03c0
+03c0
+00f0
+00f0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0112
+ENCODING 8217
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00f0
+00f0
+03c0
+03c0
+0f00
+0f00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0113
+ENCODING 8220
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+0f0f
+0f0f
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0114
+ENCODING 8221
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c3c
+3c3c
+3c3c
+3c3c
+f0f0
+f0f0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0115
+ENCODING 8249
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+03c0
+03c0
+0f00
+0f00
+03c0
+03c0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0116
+ENCODING 8250
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+03c0
+03c0
+00f0
+00f0
+03c0
+03c0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0117
+ENCODING 8364
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03fc
+03fc
+0f00
+0f00
+3ff0
+3ff0
+0f00
+0f00
+3ff0
+3ff0
+0f00
+0f00
+03fc
+03fc
+0000
+0000
+ENDCHAR
+STARTCHAR C0118
+ENCODING 8592
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0f00
+0f00
+3ffc
+3ffc
+0f00
+0f00
+03c0
+03c0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0119
+ENCODING 8593
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0ff0
+0ff0
+3ffc
+3ffc
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C011a
+ENCODING 8594
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+00f0
+00f0
+3ffc
+3ffc
+00f0
+00f0
+03c0
+03c0
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C011b
+ENCODING 8595
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+3ffc
+3ffc
+0ff0
+0ff0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C011c
+ENCODING 8624
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3ffc
+3ffc
+3fc0
+3fc0
+3ff0
+3ff0
+3cfc
+3cfc
+3c3c
+3c3c
+003c
+003c
+0000
+0000
+ENDCHAR
+STARTCHAR C011d
+ENCODING 9243
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3fc0
+3fc0
+3c00
+3c00
+3fc0
+3fc0
+3c00
+3c00
+3ffc
+3ffc
+03c0
+03c0
+03fc
+03fc
+0000
+0000
+ENDCHAR
+STARTCHAR C011e
+ENCODING 9473
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+ffff
+ffff
+ffff
+ffff
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C011f
+ENCODING 9475
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+ENDCHAR
+STARTCHAR C0120
+ENCODING 9487
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+03ff
+03ff
+03ff
+03ff
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0121
+ENCODING 9491
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+ffc0
+ffc0
+ffc0
+ffc0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0122
+ENCODING 9495
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03ff
+03ff
+03ff
+03ff
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0123
+ENCODING 9499
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ffc0
+ffc0
+ffc0
+ffc0
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0124
+ENCODING 9507
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03ff
+03ff
+03ff
+03ff
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0125
+ENCODING 9515
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ffc0
+ffc0
+ffc0
+ffc0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0126
+ENCODING 9523
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+ffff
+ffff
+ffff
+ffff
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0127
+ENCODING 9531
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ffff
+ffff
+ffff
+ffff
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0128
+ENCODING 9547
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ffff
+ffff
+ffff
+ffff
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0129
+ENCODING 9585
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+003f
+003f
+00fc
+00fc
+03f0
+03f0
+0fc0
+0fc0
+3f00
+3f00
+fc00
+fc00
+f000
+f000
+ENDCHAR
+STARTCHAR C012a
+ENCODING 9586
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+f000
+f000
+fc00
+fc00
+3f00
+3f00
+0fc0
+0fc0
+03f0
+03f0
+00fc
+00fc
+003f
+003f
+000f
+000f
+ENDCHAR
+STARTCHAR C012b
+ENCODING 9601
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ffff
+ffff
+ffff
+ffff
+ENDCHAR
+STARTCHAR C012c
+ENCODING 9604
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ffff
+ffff
+ffff
+ffff
+ffff
+ffff
+ffff
+ffff
+ENDCHAR
+STARTCHAR C012d
+ENCODING 9612
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ENDCHAR
+STARTCHAR C012e
+ENCODING 9614
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+f000
+ENDCHAR
+STARTCHAR C012f
+ENCODING 9620
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+ffff
+ffff
+ffff
+ffff
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0130
+ENCODING 9622
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ENDCHAR
+STARTCHAR C0131
+ENCODING 9623
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+00ff
+00ff
+00ff
+00ff
+00ff
+00ff
+00ff
+00ff
+ENDCHAR
+STARTCHAR C0132
+ENCODING 9624
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+ff00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0133
+ENCODING 9629
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00ff
+00ff
+00ff
+00ff
+00ff
+00ff
+00ff
+00ff
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0134
+ENCODING 9654
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0300
+0300
+03c0
+03c0
+03f0
+03f0
+03fc
+03fc
+03f0
+03f0
+03c0
+03c0
+0300
+0300
+0000
+0000
+ENDCHAR
+STARTCHAR C0135
+ENCODING 9664
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00c0
+00c0
+03c0
+03c0
+0fc0
+0fc0
+3fc0
+3fc0
+0fc0
+0fc0
+03c0
+03c0
+00c0
+00c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0136
+ENCODING 9670
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0ff0
+0ff0
+3ffc
+3ffc
+3ffc
+3ffc
+0ff0
+0ff0
+03c0
+03c0
+0000
+0000
+ENDCHAR
+STARTCHAR C0137
+ENCODING 9679
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0ff0
+0ff0
+3ffc
+3ffc
+3ffc
+3ffc
+3ffc
+3ffc
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C0138
+ENCODING 9698
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0003
+0003
+000f
+000f
+003f
+003f
+00ff
+00ff
+03ff
+03ff
+0fff
+0fff
+3fff
+3fff
+ffff
+ffff
+ENDCHAR
+STARTCHAR C0139
+ENCODING 9699
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+c000
+c000
+f000
+f000
+fc00
+fc00
+ff00
+ff00
+ffc0
+ffc0
+fff0
+fff0
+fffc
+fffc
+ffff
+ffff
+ENDCHAR
+STARTCHAR C013a
+ENCODING 9824
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0ff0
+0ff0
+3ffc
+3ffc
+3ffc
+3ffc
+03c0
+03c0
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C013b
+ENCODING 9827
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03f0
+03f0
+03f0
+03f0
+3f3f
+3f3f
+3f3f
+3f3f
+00c0
+00c0
+03f0
+03f0
+0000
+0000
+ENDCHAR
+STARTCHAR C013c
+ENCODING 9829
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f3c
+0f3c
+3fff
+3fff
+3fff
+3fff
+0ffc
+0ffc
+03f0
+03f0
+00c0
+00c0
+0000
+0000
+ENDCHAR
+STARTCHAR C013d
+ENCODING 62456
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+0c0f
+0c0f
+0f0f
+0f0f
+03cf
+03cf
+00cf
+00cf
+00fc
+00fc
+3ff0
+3ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C013e
+ENCODING 65152
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+03f0
+03f0
+0f00
+0f00
+03f0
+03f0
+0fc0
+0fc0
+0c00
+0c00
+0000
+0000
+ENDCHAR
+STARTCHAR C013f
+ENCODING 65153
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0140
+ENCODING 65154
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0141
+ENCODING 65157
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+f0ff
+f0ff
+03cf
+03cf
+00ff
+00ff
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0142
+ENCODING 65158
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3c00
+3c00
+f0ff
+f0ff
+03cf
+03cf
+00ff
+00ff
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0143
+ENCODING 65165
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0144
+ENCODING 65166
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0145
+ENCODING 65167
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0146
+ENCODING 65168
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0147
+ENCODING 65169
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+000f
+000f
+000f
+000f
+ffff
+ffff
+0000
+0000
+003c
+003c
+ENDCHAR
+STARTCHAR C0148
+ENCODING 65170
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+03c0
+03c0
+ENDCHAR
+STARTCHAR C0149
+ENCODING 65171
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03cf
+03cf
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03cf
+03cf
+03ff
+03ff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C014a
+ENCODING 65172
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03cf
+03cf
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03cf
+03cf
+03ff
+03ff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C014b
+ENCODING 65173
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f3c
+0f3c
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C014c
+ENCODING 65174
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f3c
+0f3c
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C014d
+ENCODING 65175
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3cf0
+3cf0
+0000
+0000
+000f
+000f
+000f
+000f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C014e
+ENCODING 65176
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f3c
+0f3c
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C014f
+ENCODING 65177
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+3c3c
+3c3c
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0150
+ENCODING 65178
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+3c3c
+3c3c
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0151
+ENCODING 65179
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+3c3c
+3c3c
+0000
+0000
+000f
+000f
+000f
+000f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0152
+ENCODING 65180
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+3c3c
+3c3c
+0000
+0000
+f00f
+f00f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0153
+ENCODING 65181
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c00
+3c00
+3c0f
+3c0f
+0fc0
+0fc0
+ENDCHAR
+STARTCHAR C0154
+ENCODING 65182
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c00
+3c00
+3c0f
+3c0f
+0fc0
+0fc0
+ENDCHAR
+STARTCHAR C0155
+ENCODING 65183
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3fc0
+3fc0
+30f0
+30f0
+003c
+003c
+ffff
+ffff
+0000
+0000
+00f0
+00f0
+ENDCHAR
+STARTCHAR C0156
+ENCODING 65184
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c00
+3c00
+3c0f
+3c0f
+0fc0
+0fc0
+ENDCHAR
+STARTCHAR C0157
+ENCODING 65185
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c03
+3c03
+3c00
+3c00
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C0158
+ENCODING 65186
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c03
+3c03
+3c00
+3c00
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C0159
+ENCODING 65187
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3fc0
+3fc0
+30f0
+30f0
+003c
+003c
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C015a
+ENCODING 65188
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c03
+3c03
+3c00
+3c00
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C015b
+ENCODING 65189
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c03
+3c03
+3c00
+3c00
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C015c
+ENCODING 65190
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c03
+3c03
+3c00
+3c00
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C015d
+ENCODING 65191
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+0000
+0000
+3fc0
+3fc0
+30f0
+30f0
+003c
+003c
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C015e
+ENCODING 65192
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+3fc0
+3fc0
+00f0
+00f0
+0ffc
+0ffc
+3c0f
+3c0f
+3c03
+3c03
+3c00
+3c00
+0ff0
+0ff0
+ENDCHAR
+STARTCHAR C015f
+ENCODING 65193
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0160
+ENCODING 65194
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0161
+ENCODING 65195
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+0000
+0000
+00f0
+00f0
+003c
+003c
+000f
+000f
+000f
+000f
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0162
+ENCODING 65196
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+0000
+0000
+00f0
+00f0
+003c
+003c
+000f
+000f
+000f
+000f
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0163
+ENCODING 65197
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0164
+ENCODING 65198
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0165
+ENCODING 65199
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+000f
+000f
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0166
+ENCODING 65200
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+000f
+000f
+0000
+0000
+003c
+003c
+000f
+000f
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C0167
+ENCODING 65201
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+c333
+c333
+c333
+c333
+c3ff
+c3ff
+c3fc
+c3fc
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0168
+ENCODING 65202
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+c333
+c333
+c333
+c333
+c3ff
+c3ff
+c3fc
+c3fc
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0169
+ENCODING 65203
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+30c3
+30c3
+f3cf
+f3cf
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C016a
+ENCODING 65204
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+c333
+c333
+c333
+c333
+c3ff
+c3ff
+c3fc
+c3fc
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C016b
+ENCODING 65205
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0f0f
+0f0f
+0000
+0000
+c333
+c333
+c333
+c333
+c3ff
+c3ff
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C016c
+ENCODING 65206
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0f0f
+0f0f
+0000
+0000
+c333
+c333
+c333
+c333
+c3ff
+c3ff
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C016d
+ENCODING 65207
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+3c3c
+3c3c
+0000
+0000
+30c3
+30c3
+f3cf
+f3cf
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C016e
+ENCODING 65208
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0f0f
+0f0f
+0000
+0000
+c333
+c333
+c333
+c333
+c3ff
+c3ff
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C016f
+ENCODING 65209
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+c3c3
+c3c3
+c303
+c303
+c3ff
+c3ff
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0170
+ENCODING 65210
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+c3c3
+c3c3
+c303
+c303
+c3ff
+c3ff
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0171
+ENCODING 65211
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+33c3
+33c3
+ff03
+ff03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0172
+ENCODING 65212
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+c3c3
+c3c3
+c303
+c303
+c3ff
+c3ff
+ff00
+ff00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0173
+ENCODING 65213
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0000
+0000
+00ff
+00ff
+c3c3
+c3c3
+c303
+c303
+c3ff
+c3ff
+ffc0
+ffc0
+3f00
+3f00
+ENDCHAR
+STARTCHAR C0174
+ENCODING 65214
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0000
+0000
+00ff
+00ff
+c3c3
+c3c3
+c303
+c303
+c3ff
+c3ff
+ffc0
+ffc0
+3f00
+3f00
+ENDCHAR
+STARTCHAR C0175
+ENCODING 65215
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+03c0
+03c0
+0000
+0000
+00ff
+00ff
+33c3
+33c3
+ff03
+ff03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0176
+ENCODING 65216
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+00f0
+00f0
+0000
+0000
+00ff
+00ff
+c3c3
+c3c3
+c303
+c303
+c3ff
+c3ff
+ffc0
+ffc0
+3f00
+3f00
+ENDCHAR
+STARTCHAR C0177
+ENCODING 65217
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0178
+ENCODING 65218
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0179
+ENCODING 65219
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C017a
+ENCODING 65220
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C017b
+ENCODING 65221
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3cf0
+3cf0
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C017c
+ENCODING 65222
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3cf0
+3cf0
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C017d
+ENCODING 65223
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3cf0
+3cf0
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C017e
+ENCODING 65224
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3cf0
+3cf0
+3c00
+3c00
+3cff
+3cff
+3fc3
+3fc3
+3f03
+3f03
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C017f
+ENCODING 65225
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+03c0
+03c0
+03c0
+03c0
+0fff
+0fff
+3c03
+3c03
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0180
+ENCODING 65226
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+03c0
+03c0
+03c0
+03c0
+0fff
+0fff
+3c03
+3c03
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0181
+ENCODING 65227
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03f0
+03f0
+0ffc
+0ffc
+0f00
+0f00
+03c0
+03c0
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0182
+ENCODING 65228
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+03c0
+03c0
+03c0
+03c0
+0fff
+0fff
+3c03
+3c03
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0183
+ENCODING 65229
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+00fc
+00fc
+03c0
+03c0
+03c0
+03c0
+0fff
+0fff
+3c03
+3c03
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0184
+ENCODING 65230
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+00fc
+00fc
+03c0
+03c0
+03c0
+03c0
+0fff
+0fff
+3c03
+3c03
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0185
+ENCODING 65231
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+03f0
+03f0
+0ffc
+0ffc
+0f00
+0f00
+03c0
+03c0
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0186
+ENCODING 65232
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3c00
+3c00
+00fc
+00fc
+03c0
+03c0
+03c0
+03c0
+0fff
+0fff
+3c03
+3c03
+3f00
+3f00
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0187
+ENCODING 65233
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+003f
+003f
+f0f3
+f0f3
+f03f
+f03f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0188
+ENCODING 65234
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+003f
+003f
+f0f3
+f0f3
+f03f
+f03f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0189
+ENCODING 65235
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f00
+0f00
+0000
+0000
+00ff
+00ff
+00f3
+00f3
+003f
+003f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C018a
+ENCODING 65236
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0f00
+0f00
+003f
+003f
+f0f3
+f0f3
+f03f
+f03f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C018b
+ENCODING 65237
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+0000
+0000
+003f
+003f
+30f3
+30f3
+f03f
+f03f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C018c
+ENCODING 65238
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+0000
+0000
+003f
+003f
+30f3
+30f3
+f03f
+f03f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C018d
+ENCODING 65239
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+3cf0
+3cf0
+0000
+0000
+03ff
+03ff
+03c3
+03c3
+00ff
+00ff
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C018e
+ENCODING 65240
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0f3c
+0f3c
+0000
+0000
+003f
+003f
+30f3
+30f3
+f03f
+f03f
+f00f
+f00f
+3ffc
+3ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C018f
+ENCODING 65241
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+0f0f
+0f0f
+0c0f
+0c0f
+3f0f
+3f0f
+000f
+000f
+c00f
+c00f
+fffc
+fffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0190
+ENCODING 65242
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+0f0f
+0f0f
+0c0f
+0c0f
+3f0f
+3f0f
+000f
+000f
+c00f
+c00f
+fffc
+fffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0191
+ENCODING 65243
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+03f0
+03f0
+003c
+003c
+000f
+000f
+000f
+000f
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0192
+ENCODING 65244
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+0f0f
+0f0f
+0c0f
+0c0f
+3f0f
+3f0f
+000f
+000f
+c00f
+c00f
+fffc
+fffc
+0000
+0000
+ENDCHAR
+STARTCHAR C0193
+ENCODING 65245
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+3c0f
+3c0f
+3c0f
+3c0f
+3c0f
+3c0f
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0194
+ENCODING 65246
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+3c0f
+3c0f
+3c0f
+3c0f
+3c0f
+3c0f
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0195
+ENCODING 65247
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C0196
+ENCODING 65248
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+000f
+3c0f
+3c0f
+3c0f
+3c0f
+3c0f
+3c0f
+0ffc
+0ffc
+ENDCHAR
+STARTCHAR C0197
+ENCODING 65249
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+03ff
+03ff
+0ff3
+0ff3
+3c3f
+3c3f
+3c0f
+3c0f
+3c00
+3c00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0198
+ENCODING 65250
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+03ff
+03ff
+0ff3
+0ff3
+3c3f
+3c3f
+3c0f
+3c0f
+3c00
+3c00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C0199
+ENCODING 65251
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+003f
+003f
+00f3
+00f3
+fff3
+fff3
+003f
+003f
+0000
+0000
+ENDCHAR
+STARTCHAR C019a
+ENCODING 65252
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+003c
+003c
+03ff
+03ff
+0ff3
+0ff3
+3c3f
+3c3f
+3c0f
+3c0f
+3c00
+3c00
+3c00
+3c00
+ENDCHAR
+STARTCHAR C019b
+ENCODING 65253
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0000
+0000
+0c0c
+0c0c
+3c0f
+3c0f
+3c0f
+3c0f
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C019c
+ENCODING 65254
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0000
+0000
+0c0c
+0c0c
+3c0f
+3c0f
+3c0f
+3c0f
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C019d
+ENCODING 65255
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00f0
+00f0
+0000
+0000
+000f
+000f
+000f
+000f
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C019e
+ENCODING 65256
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+03c0
+03c0
+0000
+0000
+0c0c
+0c0c
+3c0f
+3c0f
+3c0f
+3c0f
+0ffc
+0ffc
+0000
+0000
+ENDCHAR
+STARTCHAR C019f
+ENCODING 65257
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03cf
+03cf
+03ff
+03ff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C01a0
+ENCODING 65258
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03cf
+03cf
+03ff
+03ff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C01a1
+ENCODING 65259
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0300
+0300
+0ffc
+0ffc
+0c3f
+0c3f
+0fc3
+0fc3
+ffff
+ffff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C01a2
+ENCODING 65260
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03cf
+03cf
+03ff
+03ff
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR C01a3
+ENCODING 65261
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03ff
+03ff
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C01a4
+ENCODING 65262
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00ff
+00ff
+03cf
+03cf
+03ff
+03ff
+000f
+000f
+003c
+003c
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C01a5
+ENCODING 65263
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00fc
+00fc
+f3cf
+f3cf
+f3c3
+f3c3
+f0f3
+f0f3
+f0f0
+f0f0
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C01a6
+ENCODING 65264
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+00fc
+00fc
+f3cf
+f3cf
+f3c3
+f3c3
+f0f3
+f0f3
+f0f0
+f0f0
+3ff0
+3ff0
+ENDCHAR
+STARTCHAR C01a7
+ENCODING 65265
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+c3ff
+c3ff
+c3c3
+c3c3
+f0f3
+f0f3
+3ff3
+3ff3
+0000
+0000
+0f3c
+0f3c
+ENDCHAR
+STARTCHAR C01a8
+ENCODING 65266
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+c3ff
+c3ff
+c3c3
+c3c3
+f0f3
+f0f3
+3ff3
+3ff3
+0000
+0000
+0f3c
+0f3c
+ENDCHAR
+STARTCHAR C01a9
+ENCODING 65267
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+000f
+000f
+000f
+000f
+ffff
+ffff
+0000
+0000
+0f3c
+0f3c
+ENDCHAR
+STARTCHAR C01aa
+ENCODING 65268
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0000
+0000
+00fc
+00fc
+c3ff
+c3ff
+c3c3
+c3c3
+f0f3
+f0f3
+3ff3
+3ff3
+0000
+0000
+0f3c
+0f3c
+ENDCHAR
+STARTCHAR C01ab
+ENCODING 65271
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+000f
+000f
+0c0f
+0c0f
+0f0f
+0f0f
+03cf
+03cf
+00cf
+00cf
+00fc
+00fc
+3ff0
+3ff0
+0000
+0000
+ENDCHAR
+STARTCHAR C01ac
+ENCODING 65533
+SWIDTH 666 0
+DWIDTH 16 0
+BBX 16 16 0 -4
+BITMAP
+0ff0
+0ff0
+3c3c
+3c3c
+33cc
+33cc
+3f3c
+3f3c
+3ffc
+3ffc
+3f3c
+3f3c
+0ff0
+0ff0
+0000
+0000
+ENDCHAR
+ENDFONT
diff --git a/fonts/fauxtari-16.psf b/fonts/fauxtari-16.psf
new file mode 100644
index 0000000..8462735
--- /dev/null
+++ b/fonts/fauxtari-16.psf
Binary files differ
diff --git a/fonts/fauxtari-16.txt b/fonts/fauxtari-16.txt
new file mode 100644
index 0000000..1f450d9
--- /dev/null
+++ b/fonts/fauxtari-16.txt
@@ -0,0 +1,4796 @@
+%PSF2
+Version: 0
+Flags: 1
+Length: 512
+Width: 16
+Height: 16
+%
+Unicode: [2665];
+Bitmap: \
+-------------------------------- \
+----####--####------####--####-- \
+--##############--############## \
+--##############--############## \
+----##########------##########-- \
+------######----------######---- \
+--------##--------------##------ \
+--------------------------------
+%
+Unicode: [2523];
+Bitmap: \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------##########------########## \
+------##########------########## \
+------####------------####------ \
+------####------------####------ \
+------####------------####------
+%
+Unicode: [2503];
+Bitmap: \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------####
+%
+Unicode: [251b];
+Bitmap: \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+##########------##########------ \
+##########------##########------ \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [252b];
+Bitmap: \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+##########------##########------ \
+##########------##########------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------
+%
+Unicode: [2513];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+##########------##########------ \
+##########------##########------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------
+%
+Unicode: [2571];
+Bitmap: \
+------------####------------#### \
+----------######----------###### \
+--------######----------######-- \
+------######----------######---- \
+----######----------######------ \
+--######----------######-------- \
+######----------######---------- \
+####------------####------------
+%
+Unicode: [2572];
+Bitmap: \
+####------------####------------ \
+######----------######---------- \
+--######----------######-------- \
+----######----------######------ \
+------######----------######---- \
+--------######----------######-- \
+----------######----------###### \
+------------####------------####
+%
+Unicode: [25e2];
+Bitmap: \
+--------------##--------------## \
+------------####------------#### \
+----------######----------###### \
+--------########--------######## \
+------##########------########## \
+----############----############ \
+--##############--############## \
+################################
+%
+Unicode: [2597];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------########--------######## \
+--------########--------######## \
+--------########--------######## \
+--------########--------########
+%
+Unicode: [25e3];
+Bitmap: \
+##--------------##-------------- \
+####------------####------------ \
+######----------######---------- \
+########--------########-------- \
+##########------##########------ \
+############----############---- \
+##############--##############-- \
+################################
+%
+Unicode: [259d];
+Bitmap: \
+--------########--------######## \
+--------########--------######## \
+--------########--------######## \
+--------########--------######## \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [2598];
+Bitmap: \
+########--------########-------- \
+########--------########-------- \
+########--------########-------- \
+########--------########-------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [2594];
+Bitmap: \
+################################ \
+################################ \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [2581];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+################################ \
+################################
+%
+Unicode: [2596];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+########--------########-------- \
+########--------########-------- \
+########--------########-------- \
+########--------########--------
+%
+Unicode: [2663];
+Bitmap: \
+-------------------------------- \
+------######----------######---- \
+------######----------######---- \
+--######--######--######--###### \
+--######--######--######--###### \
+--------##--------------##------ \
+------######----------######---- \
+--------------------------------
+%
+Unicode: [250f];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+------##########------########## \
+------##########------########## \
+------####------------####------ \
+------####------------####------ \
+------####------------####------
+%
+Unicode: [2501];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+################################ \
+################################ \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [254b];
+Bitmap: \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+################################ \
+################################ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------
+%
+Unicode: [25cf];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----########--------########---- \
+--############----############-- \
+--############----############-- \
+--############----############-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [2584];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+################################ \
+################################ \
+################################ \
+################################
+%
+Unicode: [258e];
+Bitmap: \
+####------------####------------ \
+####------------####------------ \
+####------------####------------ \
+####------------####------------ \
+####------------####------------ \
+####------------####------------ \
+####------------####------------ \
+####------------####------------
+%
+Unicode: [2533];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+################################ \
+################################ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------
+%
+Unicode: [253b];
+Bitmap: \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+################################ \
+################################ \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [258c];
+Bitmap: \
+########--------########-------- \
+########--------########-------- \
+########--------########-------- \
+########--------########-------- \
+########--------########-------- \
+########--------########-------- \
+########--------########-------- \
+########--------########--------
+%
+Unicode: [2517];
+Bitmap: \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------##########------########## \
+------##########------########## \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0118];[241b];
+Bitmap: \
+--########--------########------ \
+--####------------####---------- \
+--########--------########------ \
+--####------------####---------- \
+--############----############-- \
+------####------------####------ \
+------########--------########-- \
+--------------------------------
+%
+Unicode: [2191];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+----########--------########---- \
+--############----############-- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [2193];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--############----############-- \
+----########--------########---- \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [2190];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+----####------------####-------- \
+--############----############-- \
+----####------------####-------- \
+------####------------####------ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [2192];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+--------####------------####---- \
+--############----############-- \
+--------####------------####---- \
+------####------------####------ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0020];[00a0];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0021];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+-------------------------------- \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [0022];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0023];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+################################ \
+--####----####----####----####-- \
+--####----####----####----####-- \
+################################ \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [0024];
+Bitmap: \
+------####------------####------ \
+----##########------##########-- \
+--####------------####---------- \
+----########--------########---- \
+----------####------------####-- \
+--##########------##########---- \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [0025];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####--####------####--####---- \
+------####------------####------ \
+----####------------####-------- \
+--####----####----####----####-- \
+--##------####----##------####-- \
+--------------------------------
+%
+Unicode: [0026];
+Bitmap: \
+------######----------######---- \
+----####--####------####--####-- \
+------######----------######---- \
+----######----------######------ \
+--####--########--####--######## \
+--####----####----####----####-- \
+----######--####----######--#### \
+--------------------------------
+%
+Unicode: [0027];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0028];
+Bitmap: \
+-------------------------------- \
+--------######----------######-- \
+------######----------######---- \
+------####------------####------ \
+------####------------####------ \
+------######----------######---- \
+--------######----------######-- \
+--------------------------------
+%
+Unicode: [0029];
+Bitmap: \
+-------------------------------- \
+--######----------######-------- \
+----######----------######------ \
+------####------------####------ \
+------####------------####------ \
+----######----------######------ \
+--######----------######-------- \
+--------------------------------
+%
+Unicode: [002a];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+----########--------########---- \
+################################ \
+----########--------########---- \
+--####----####----####----####-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [002b];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+--############----############-- \
+------####------------####------ \
+------####------------####------ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [002c];[00b8];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+----####------------####--------
+%
+Unicode: [002d];[00ad];[2013];[2014];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--############----############-- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [002e];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [002f];
+Bitmap: \
+-------------------------------- \
+----------####------------####-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--####------------####---------- \
+--##--------------##------------ \
+--------------------------------
+%
+Unicode: [0030];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####--######----####--######-- \
+--######--####----######--####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0031];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+----######----------######------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0032];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0033];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+--------####------------####---- \
+------####------------####------ \
+--------####------------####---- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0034];
+Bitmap: \
+-------------------------------- \
+--------####------------####---- \
+------######----------######---- \
+----########--------########---- \
+--####--####------####--####---- \
+--############----############-- \
+--------####------------####---- \
+--------------------------------
+%
+Unicode: [0035];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+--####------------####---------- \
+--##########------##########---- \
+----------####------------####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0036];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####------------####---------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0037];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+----------####------------####-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+----####------------####-------- \
+--------------------------------
+%
+Unicode: [0038];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0039];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+----##########------##########-- \
+----------####------------####-- \
+--------####------------####---- \
+----######----------######------ \
+--------------------------------
+%
+Unicode: [003a];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [003b];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+----####------------####--------
+%
+Unicode: [003c];
+Bitmap: \
+----------####------------####-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+------####------------####------ \
+--------####------------####---- \
+----------####------------####-- \
+--------------------------------
+%
+Unicode: [003d];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--############----############-- \
+-------------------------------- \
+-------------------------------- \
+--############----############-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [003e];
+Bitmap: \
+--####------------####---------- \
+----####------------####-------- \
+------####------------####------ \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--####------------####---------- \
+--------------------------------
+%
+Unicode: [003f];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--------####------------####---- \
+------####------------####------ \
+-------------------------------- \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [0040];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####--######----####--######-- \
+--####--######----####--######-- \
+--####------------####---------- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [0041];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--############----############-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [0042];
+Bitmap: \
+-------------------------------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--##########------##########---- \
+--------------------------------
+%
+Unicode: [0043];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####------------####---------- \
+--####------------####---------- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0044];
+Bitmap: \
+-------------------------------- \
+--########--------########------ \
+--####--####------####--####---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####--####------####--####---- \
+--########--------########------ \
+--------------------------------
+%
+Unicode: [0045];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+--####------------####---------- \
+--##########------##########---- \
+--####------------####---------- \
+--####------------####---------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0046];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+--####------------####---------- \
+--##########------##########---- \
+--####------------####---------- \
+--####------------####---------- \
+--####------------####---------- \
+--------------------------------
+%
+Unicode: [0047];
+Bitmap: \
+-------------------------------- \
+----##########------##########-- \
+--####------------####---------- \
+--####------------####---------- \
+--####--######----####--######-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [0048];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--############----############-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [0049];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--############----############-- \
+--------------------------------
+%
+Unicode: [004a];
+Bitmap: \
+-------------------------------- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [004b];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####--####------####--####---- \
+--########--------########------ \
+--########--------########------ \
+--####--####------####--####---- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [004c];
+Bitmap: \
+-------------------------------- \
+--####------------####---------- \
+--####------------####---------- \
+--####------------####---------- \
+--####------------####---------- \
+--####------------####---------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [004d];
+Bitmap: \
+-------------------------------- \
+--####------####--####------#### \
+--######--######--######--###### \
+--##############--############## \
+--####--##--####--####--##--#### \
+--####------####--####------#### \
+--####------####--####------#### \
+--------------------------------
+%
+Unicode: [004e];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--######--####----######--####-- \
+--############----############-- \
+--############----############-- \
+--####--######----####--######-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [004f];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0050];
+Bitmap: \
+-------------------------------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--##########------##########---- \
+--####------------####---------- \
+--####------------####---------- \
+--------------------------------
+%
+Unicode: [0051];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####--####------####--####---- \
+----####--####------####--####-- \
+--------------------------------
+%
+Unicode: [0052];
+Bitmap: \
+-------------------------------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--##########------##########---- \
+--####--####------####--####---- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [0053];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####------------####---------- \
+----########--------########---- \
+----------####------------####-- \
+----------####------------####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0054];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [0055];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0056];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [0057];
+Bitmap: \
+-------------------------------- \
+--####------####--####------#### \
+--####------####--####------#### \
+--####--##--####--####--##--#### \
+--##############--############## \
+--######--######--######--###### \
+--####------####--####------#### \
+--------------------------------
+%
+Unicode: [0058];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [0059];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [005a];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--####------------####---------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [005b];
+Bitmap: \
+-------------------------------- \
+------########--------########-- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------########--------########-- \
+--------------------------------
+%
+Unicode: [005c];
+Bitmap: \
+-------------------------------- \
+--##--------------##------------ \
+--####------------####---------- \
+----####------------####-------- \
+------####------------####------ \
+--------####------------####---- \
+----------####------------####-- \
+--------------------------------
+%
+Unicode: [005d];
+Bitmap: \
+-------------------------------- \
+--########--------########------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--########--------########------ \
+--------------------------------
+%
+Unicode: [005e];
+Bitmap: \
+-------------------------------- \
+--------##--------------##------ \
+------######----------######---- \
+----####--####------####--####-- \
+--####------####--####------#### \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [005f];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+################################ \
+--------------------------------
+%
+Unicode: [25c6];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+----########--------########---- \
+--############----############-- \
+--############----############-- \
+----########--------########---- \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [0061];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----########--------########---- \
+----------####------------####-- \
+----##########------##########-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [0062];
+Bitmap: \
+-------------------------------- \
+--####------------####---------- \
+--####------------####---------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--##########------##########---- \
+--------------------------------
+%
+Unicode: [0063];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----########--------########---- \
+--####------------####---------- \
+--####------------####---------- \
+--####------------####---------- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0064];
+Bitmap: \
+-------------------------------- \
+----------####------------####-- \
+----------####------------####-- \
+----##########------##########-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [0065];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--############----############-- \
+--####------------####---------- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0066];
+Bitmap: \
+-------------------------------- \
+--------######----------######-- \
+------####------------####------ \
+----##########------##########-- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [0067];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----##########------##########-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+----------####------------####-- \
+--##########------##########----
+%
+Unicode: [0068];
+Bitmap: \
+-------------------------------- \
+--####------------####---------- \
+--####------------####---------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [0069];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+-------------------------------- \
+----######----------######------ \
+------####------------####------ \
+------####------------####------ \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [006a];
+Bitmap: \
+-------------------------------- \
+----------####------------####-- \
+-------------------------------- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+----########--------########----
+%
+Unicode: [006b];
+Bitmap: \
+-------------------------------- \
+--####------------####---------- \
+--####------------####---------- \
+--####--####------####--####---- \
+--########--------########------ \
+--####--####------####--####---- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [006c];
+Bitmap: \
+-------------------------------- \
+----######----------######------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [006d];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--####----####----####----####-- \
+--##############--############## \
+--##############--############## \
+--####--##--####--####--##--#### \
+--####------####--####------#### \
+--------------------------------
+%
+Unicode: [006e];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [006f];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0070];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--##########------##########---- \
+--####------------####---------- \
+--####------------####----------
+%
+Unicode: [0071];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----##########------##########-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+----------####------------####-- \
+----------####------------####--
+%
+Unicode: [0072];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####------------####---------- \
+--####------------####---------- \
+--####------------####---------- \
+--------------------------------
+%
+Unicode: [0073];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----##########------##########-- \
+--####------------####---------- \
+----########--------########---- \
+----------####------------####-- \
+--##########------##########---- \
+--------------------------------
+%
+Unicode: [0074];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+--############----############-- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--------######----------######-- \
+--------------------------------
+%
+Unicode: [0075];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [0076];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [0077];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--####------####--####------#### \
+--####--##--####--####--##--#### \
+--##############--############## \
+----##########------##########-- \
+----####--####------####--####-- \
+--------------------------------
+%
+Unicode: [0078];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--####----####----####----####-- \
+----########--------########---- \
+------####------------####------ \
+----########--------########---- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [0079];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------####------------####---- \
+--########--------########------
+%
+Unicode: [007a];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--############----############-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [2660];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+----########--------########---- \
+--############----############-- \
+--############----############-- \
+------####------------####------ \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [007c];[0622];[fe81];[fe82];
+Bitmap: \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------
+%
+Unicode: [21b0];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+--########--------########------ \
+--##########------##########---- \
+--####--######----####--######-- \
+--####----####----####----####-- \
+----------####------------####-- \
+--------------------------------
+%
+Unicode: [25c0];
+Bitmap: \
+--------##--------------##------ \
+------####------------####------ \
+----######----------######------ \
+--########--------########------ \
+----######----------######------ \
+------####------------####------ \
+--------##--------------##------ \
+--------------------------------
+%
+Unicode: [25b6];
+Bitmap: \
+------##--------------##-------- \
+------####------------####------ \
+------######----------######---- \
+------########--------########-- \
+------######----------######---- \
+------####------------####------ \
+------##--------------##-------- \
+--------------------------------
+%
+Unicode: [00e1];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+----########--------########---- \
+----------####------------####-- \
+----##########------##########-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00f9];
+Bitmap: \
+----####------------####-------- \
+------####------------####------ \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00d1];
+Bitmap: \
+----####--####------####--####-- \
+--####--####------####--####---- \
+-------------------------------- \
+--######--####----######--####-- \
+--######--####----######--####-- \
+--############----############-- \
+--####--######----####--######-- \
+--------------------------------
+%
+Unicode: [00c9];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+--############----############-- \
+--####------------####---------- \
+--##########------##########---- \
+--####------------####---------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [00e7];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----########--------########---- \
+--####------------####---------- \
+--####------------####---------- \
+----########--------########---- \
+------####------------####------ \
+----####------------####--------
+%
+Unicode: [00f4];
+Bitmap: \
+----########--------########---- \
+--####----####----####----####-- \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00f2];
+Bitmap: \
+----####------------####-------- \
+------####------------####------ \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00ec];
+Bitmap: \
+----####------------####-------- \
+------####------------####------ \
+-------------------------------- \
+----######----------######------ \
+------####------------####------ \
+------####------------####------ \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00a3];
+Bitmap: \
+------######----------######---- \
+----####------------####-------- \
+----####------------####-------- \
+--########--------########------ \
+----####------------####-------- \
+----####------------####-------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [00ef];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+-------------------------------- \
+----######----------######------ \
+------####------------####------ \
+------####------------####------ \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00fc];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00e4];
+Bitmap: \
+----####--####------####--####-- \
+-------------------------------- \
+----########--------########---- \
+----------####------------####-- \
+----##########------##########-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00d6];
+Bitmap: \
+--####----####----####----####-- \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00fa];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00f3];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00f6];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00dc];
+Bitmap: \
+--####----####----####----####-- \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [00e5];
+Bitmap: \
+----########--------########---- \
+--####----####----####----####-- \
+------######----------######---- \
+----------####------------####-- \
+----##########------##########-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00fb];
+Bitmap: \
+----########--------########---- \
+--####----####----####----####-- \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00ee];
+Bitmap: \
+----########--------########---- \
+--####----####----####----####-- \
+-------------------------------- \
+----######----------######------ \
+------####------------####------ \
+------####------------####------ \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00e9];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+----########--------########---- \
+--####----####----####----####-- \
+--############----############-- \
+--####------------####---------- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00e8];
+Bitmap: \
+----####------------####-------- \
+------####------------####------ \
+----########--------########---- \
+--####----####----####----####-- \
+--############----############-- \
+--####------------####---------- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [00f1];
+Bitmap: \
+----####--####------####--####-- \
+--####--####------####--####---- \
+-------------------------------- \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [00ea];
+Bitmap: \
+----########--------########---- \
+####--------########--------#### \
+----########--------########---- \
+--####----####----####----####-- \
+--############----############-- \
+--####------------####---------- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0227];
+Bitmap: \
+------####------------####------ \
+-------------------------------- \
+----########--------########---- \
+----------####------------####-- \
+----##########------##########-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00e0];
+Bitmap: \
+----####------------####-------- \
+------####------------####------ \
+----########--------########---- \
+----------####------------####-- \
+----##########------##########-- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [00a1];
+Bitmap: \
+------####------------####------ \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+--------------------------------
+%
+Unicode: [00c4];
+Bitmap: \
+--####----####----####----####-- \
+--####----####----####----####-- \
+------####------------####------ \
+----########--------########---- \
+--####----####----####----####-- \
+--############----############-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [05d0];
+Bitmap: \
+-------------------------------- \
+####------####--####------####-- \
+########--####--########--####-- \
+####--########--####--########-- \
+####----####----####----####---- \
+####------####--####------####-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d1];
+Bitmap: \
+-------------------------------- \
+##########------##########------ \
+------######----------######---- \
+--------####------------####---- \
+--------####------------####---- \
+##############--##############-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d2];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--------####------------####---- \
+--------####------------####---- \
+--##########------##########---- \
+######----####--######----####-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d3];
+Bitmap: \
+-------------------------------- \
+##############--##############-- \
+------######----------######---- \
+--------####------------####---- \
+--------####------------####---- \
+--------####------------####---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d4];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+----------####------------####-- \
+--##------####----##------####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d5];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+------######----------######---- \
+--------####------------####---- \
+--------####------------####---- \
+--------####------------####---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d6];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+--######----------######-------- \
+----####------------####-------- \
+----####------------####-------- \
+----####------------####-------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d7];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d8];
+Bitmap: \
+-------------------------------- \
+####--########--####--########-- \
+####--##--####--####--##--####-- \
+####------####--####------####-- \
+####------####--####------####-- \
+############----############---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05d9];
+Bitmap: \
+-------------------------------- \
+--##########------##########---- \
+------######----------######---- \
+--------####------------####---- \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05da];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+--------######----------######-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####--
+%
+Unicode: [05db];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+----------####------------####-- \
+----------####------------####-- \
+--------######----------######-- \
+############----############---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05dc];
+Bitmap: \
+####------------####------------ \
+############----############---- \
+----------####------------####-- \
+----------####------------####-- \
+--------######----------######-- \
+----########--------########---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05dd];
+Bitmap: \
+-------------------------------- \
+--############----############-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--############----############-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05de];
+Bitmap: \
+-------------------------------- \
+####--######----####--######---- \
+--######--####----######--####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####--######----####--######-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05df];
+Bitmap: \
+-------------------------------- \
+------########--------########-- \
+--------######----------######-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####--
+%
+Unicode: [05e0];
+Bitmap: \
+-------------------------------- \
+------########--------########-- \
+----------####------------####-- \
+----------####------------####-- \
+--------######----------######-- \
+--##########------##########---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05e1];
+Bitmap: \
+-------------------------------- \
+##############--##############-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####--####------####--####---- \
+--########--------########------ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05e2];
+Bitmap: \
+-------------------------------- \
+######--######--######--######-- \
+--####----####----####----####-- \
+----####--####------####--####-- \
+----####--####------####--####-- \
+############----############---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05e3];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+--####--######----####--######-- \
+--####----####----####----####-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####--
+%
+Unicode: [05e4];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--------######----------######-- \
+############----############---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05e5];
+Bitmap: \
+-------------------------------- \
+####----######--####----######-- \
+--####----####----####----####-- \
+--####--####------####--####---- \
+--########--------########------ \
+--####------------####---------- \
+--####------------####---------- \
+--####------------####----------
+%
+Unicode: [05e6];
+Bitmap: \
+-------------------------------- \
+####------####--####------####-- \
+--####--######----####--######-- \
+----######----------######------ \
+--------####------------####---- \
+##############--##############-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05e7];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+--------######----------######-- \
+####------####--####------####-- \
+####----####----####----####---- \
+####--####------####--####------ \
+####------------####------------ \
+####------------####------------
+%
+Unicode: [05e8];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+--------######----------######-- \
+----------####------------####-- \
+----------####------------####-- \
+----------####------------####-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05e9];
+Bitmap: \
+-------------------------------- \
+##----##----##--##----##----##-- \
+####--##----##--####--##----##-- \
+######----####--######----####-- \
+####----####----####----####---- \
+############----############---- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [05ea];
+Bitmap: \
+-------------------------------- \
+############----############---- \
+--####--######----####--######-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+######----####--######----####-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0179];
+Bitmap: \
+------####------------####------ \
+--############----############-- \
+----####--####------####--####-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0105];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----########--------########---- \
+----------####------------####-- \
+----##########------##########-- \
+--####----####----####----####-- \
+----##########------##########-- \
+------------####------------####
+%
+Unicode: [017a];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+--############----############-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0107];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+----########--------########---- \
+--####------------####---------- \
+--####------------####---------- \
+--####------------####---------- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [015a];
+Bitmap: \
+------####------------####------ \
+----########--------########---- \
+--####------------####---------- \
+----########--------########---- \
+----------####------------####-- \
+----------####------------####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0119];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--############----############-- \
+--####------------####---------- \
+----########--------########---- \
+----------####------------####--
+%
+Unicode: [00df];
+Bitmap: \
+-------------------------------- \
+------######----------######---- \
+----####--####------####--####-- \
+----########--------########---- \
+----####--####------####--####-- \
+----####--######----####--###### \
+----##########------##########-- \
+--####------------####----------
+%
+Unicode: [0141];
+Bitmap: \
+-------------------------------- \
+--####------------####---------- \
+--####------------####---------- \
+--########--------########------ \
+--######----------######-------- \
+######----------######---------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0142];
+Bitmap: \
+-------------------------------- \
+----######----------######------ \
+------####------------####------ \
+------######----------######---- \
+----######----------######------ \
+------####------------####------ \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [0143];
+Bitmap: \
+--------####------------####---- \
+--##--####--##----##--####--##-- \
+--####----####----####----####-- \
+--############----############-- \
+--############----############-- \
+--####--######----####--######-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [0144];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+--##########------##########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--------------------------------
+%
+Unicode: [00d3];
+Bitmap: \
+----------####------------####-- \
+----########--------########---- \
+--####--##--##----####--##--##-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+--------------------------------
+%
+Unicode: [015b];
+Bitmap: \
+--------####------------####---- \
+------####------------####------ \
+----##########------##########-- \
+--####------------####---------- \
+----########--------########---- \
+----------####------------####-- \
+--##########------##########---- \
+--------------------------------
+%
+Unicode: [0106];
+Bitmap: \
+--------####------------####---- \
+----########--------########---- \
+--####--######----####--######-- \
+--####------------####---------- \
+--####------------####---------- \
+--####----####----####----####-- \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [0104];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--############----############-- \
+--####----####----####----####-- \
+------------####------------####
+%
+Unicode: [017b];
+Bitmap: \
+------####------------####------ \
+--############----############-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--####------------####---------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [017c];
+Bitmap: \
+------####------------####------ \
+-------------------------------- \
+--############----############-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0660];
+Bitmap: \
+-------------------------------- \
+----------####------------####-- \
+--------####------------####---- \
+------####------------####------ \
+----####------------####-------- \
+--####------------####---------- \
+--##--------------##------------ \
+--------------------------------
+%
+Unicode: [0661];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--------##--------------##------ \
+------######----------######---- \
+----##########------##########-- \
+------######----------######---- \
+--------##--------------##------ \
+--------------------------------
+%
+Unicode: [0662];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------ \
+------####------------####------
+%
+Unicode: [0663];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+--####------------####---------- \
+----####------------####-------- \
+------####------------####------ \
+--------####------------####---- \
+----------####------------####--
+%
+Unicode: [0664];
+Bitmap: \
+-------------------------------- \
+--####--##--####--####--##--#### \
+--####--##--####--####--##--#### \
+--##############--############## \
+--######----------######-------- \
+----####------------####-------- \
+----######----------######------ \
+------####------------####------
+%
+Unicode: [0665];
+Bitmap: \
+-------------------------------- \
+------########--------########-- \
+----######----------######------ \
+--######----------######-------- \
+------######----------######---- \
+----######----------######------ \
+--######----------######-------- \
+----##########------##########--
+%
+Unicode: [0666];
+Bitmap: \
+-------------------------------- \
+------######----------######---- \
+----##########------##########-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--############----############-- \
+----########--------########----
+%
+Unicode: [0667];
+Bitmap: \
+-------------------------------- \
+--##########------##########---- \
+--##########------##########---- \
+--------####------------####---- \
+--------####------------####---- \
+--------####------------####---- \
+--------####------------####---- \
+--------####------------####----
+%
+Unicode: [0668];
+Bitmap: \
+-------------------------------- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+----########--------########---- \
+----########--------########---- \
+------####------------####------
+%
+Unicode: [0669];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+----########--------########---- \
+----########--------########---- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####-- \
+--####----####----####----####--
+%
+Unicode: [0624];[fe85];[fe86];
+Bitmap: \
+-------------------------------- \
+--####------------####---------- \
+####----############----######## \
+------####--####------####--#### \
+--------########--------######## \
+------------####------------#### \
+----------####------------####-- \
+--##########------##########----
+%
+Unicode: [0634];[feb5];[feb6];[feb8];
+Bitmap: \
+--------####------------####---- \
+----####----####----####----#### \
+-------------------------------- \
+##----##--##--####----##--##--## \
+##----##--##--####----##--##--## \
+##----############----########## \
+########--------########-------- \
+--####------------####----------
+%
+Unicode: [0648];[feed];[feee];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--------########--------######## \
+------####--####------####--#### \
+------##########------########## \
+------------####------------#### \
+----------####------------####-- \
+--##########------##########----
+%
+Unicode: [0629];[fe93];[fe94];
+Bitmap: \
+------####--####------####--#### \
+-------------------------------- \
+--------########--------######## \
+------####--####------####--#### \
+------####--####------####--#### \
+------##########------########## \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [064a];[fef1];[fef2];[fef4];
+Bitmap: \
+-------------------------------- \
+--------######----------######-- \
+##----############----########## \
+##----####----####----####----## \
+####----####--######----####--## \
+--##########--##--##########--## \
+-------------------------------- \
+----####--####------####--####--
+%
+Unicode: [062b];[fe99];[fe9a];[fe9c];
+Bitmap: \
+------####------------####------ \
+--####----####----####----####-- \
+-------------------------------- \
+####--------########--------#### \
+####--------########--------#### \
+--############----############-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0628];[fe8f];[fe90];[fe92];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+####--------########--------#### \
+####--------########--------#### \
+--############----############-- \
+-------------------------------- \
+------####------------####------
+%
+Unicode: [0644];[fedd];[fede];[fee0];
+Bitmap: \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+--####------####--####------#### \
+--####------####--####------#### \
+--####------####--####------#### \
+----##########------##########--
+%
+Unicode: [0621];[fe80];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+------######----------######---- \
+----####------------####-------- \
+------######----------######---- \
+----######----------######------ \
+----##--------------##---------- \
+--------------------------------
+%
+Unicode: [0647];[fee9];[feea];[feec];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--------########--------######## \
+------####--####------####--#### \
+------####--####------####--#### \
+------##########------########## \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [062a];[fe95];[fe96];[fe98];
+Bitmap: \
+-------------------------------- \
+----####--####------####--####-- \
+-------------------------------- \
+####--------########--------#### \
+####--------########--------#### \
+--############----############-- \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0646];[fee5];[fee6];[fee8];
+Bitmap: \
+-------------------------------- \
+------####------------####------ \
+-------------------------------- \
+----##------##------##------##-- \
+--####------####--####------#### \
+--####------####--####------#### \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [0645];[fee1];[fee2];[fee4];
+Bitmap: \
+-------------------------------- \
+----------####------------####-- \
+------##########------########## \
+----########--##----########--## \
+--####----######--####----###### \
+--####------####--####------#### \
+--####------------####---------- \
+--####------------####----------
+%
+Unicode: [062c];[fe9d];[fe9e];[fea0];
+Bitmap: \
+-------------------------------- \
+--########--------########------ \
+--------####------------####---- \
+----##########------##########-- \
+--####------####--####------#### \
+--####------------####---------- \
+--####------####--####------#### \
+----######----------######------
+%
+Unicode: [062e];[fea5];[fea6];[fea8];
+Bitmap: \
+------------####------------#### \
+--########--------########------ \
+--------####------------####---- \
+----##########------##########-- \
+--####------####--####------#### \
+--####--------##--####--------## \
+--####------------####---------- \
+----########--------########----
+%
+Unicode: [062d];[fea1];[fea2];[fea4];
+Bitmap: \
+-------------------------------- \
+--########--------########------ \
+--------####------------####---- \
+----##########------##########-- \
+--####------####--####------#### \
+--####--------##--####--------## \
+--####------------####---------- \
+----########--------########----
+%
+Unicode: [0636];[febd];[febe];[fec0];
+Bitmap: \
+--------####------------####---- \
+-------------------------------- \
+--------########--------######## \
+##----####----####----####----## \
+##----##------####----##------## \
+##----############----########## \
+##########------##########------ \
+--######----------######--------
+%
+Unicode: [0642];[fed5];[fed6];[fed8];
+Bitmap: \
+----####--####------####--####-- \
+-------------------------------- \
+----------######----------###### \
+--##----####--##--##----####--## \
+####------##########------###### \
+####--------########--------#### \
+--############----############-- \
+--------------------------------
+%
+Unicode: [0633];[feb1];[feb2];[feb4];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+##----##--##--####----##--##--## \
+##----##--##--####----##--##--## \
+##----############----########## \
+##----########--##----########-- \
+########--------########-------- \
+--####------------####----------
+%
+Unicode: [0641];[fed1];[fed2];[fed4];
+Bitmap: \
+-------------------------------- \
+----####------------####-------- \
+----------######----------###### \
+####----####--######----####--## \
+####------##########------###### \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0639];[fec9];[feca];[fecc];
+Bitmap: \
+-------------------------------- \
+--------######----------######-- \
+------####------------####------ \
+------####------------####------ \
+----############----############ \
+--####--------##--####--------## \
+--######----------######-------- \
+----##########------##########--
+%
+Unicode: [0643];[fed9];[feda];[fedc];
+Bitmap: \
+------------####------------#### \
+----####----####----####----#### \
+----##------####----##------#### \
+--######----####--######----#### \
+------------####------------#### \
+##----------######----------#### \
+##############--##############-- \
+--------------------------------
+%
+Unicode: [0635];[feb9];[feba];[febc];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--------########--------######## \
+##----####----####----####----## \
+##----##------####----##------## \
+##----############----########## \
+########--------########-------- \
+--####------------####----------
+%
+Unicode: [063a];[fecd];[fece];[fed0];
+Bitmap: \
+--####------------####---------- \
+--------######----------######-- \
+------####------------####------ \
+------####------------####------ \
+----############----############ \
+--####--------##--####--------## \
+--######----------######-------- \
+----##########------##########--
+%
+Unicode: [0649];[feef];[fef0];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--------######----------######-- \
+####--####--########--####--#### \
+####--####----######--####----## \
+####----####--######----####--## \
+####----####----####----####---- \
+--##########------##########----
+%
+Unicode: [0632];[feaf];[feb0];
+Bitmap: \
+-------------------------------- \
+------------####------------#### \
+-------------------------------- \
+----------####------------####-- \
+------------####------------#### \
+------------####------------#### \
+----------####------------####-- \
+--##########------##########----
+%
+Unicode: [feb7];
+Bitmap: \
+------####------------####------ \
+--####----####----####----####-- \
+-------------------------------- \
+--##----##----##--##----##----## \
+####--####--########--####--#### \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [062f];[fea9];[feaa];[0631];[fead];[feae];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+----------####------------####-- \
+------------####------------#### \
+------------####------------#### \
+----------####------------####-- \
+--##########------##########----
+%
+Unicode: [0630];[feab];[feac];
+Bitmap: \
+----####------------####-------- \
+-------------------------------- \
+--------####------------####---- \
+----------####------------####-- \
+------------####------------#### \
+------------####------------#### \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [fef3];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+------------####------------#### \
+------------####------------#### \
+################################ \
+-------------------------------- \
+----####--####------####--####--
+%
+Unicode: [fe9b];
+Bitmap: \
+------####------------####------ \
+--####----####----####----####-- \
+-------------------------------- \
+------------####------------#### \
+------------####------------#### \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fe91];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+------------####------------#### \
+------------####------------#### \
+################################ \
+-------------------------------- \
+----------####------------####--
+%
+Unicode: [fedf];
+Bitmap: \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0627];[fe8d];[fe8e];
+Bitmap: \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+------------####------------#### \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [feeb];
+Bitmap: \
+-------------------------------- \
+------##--------------##-------- \
+----##########------##########-- \
+----##----######----##----###### \
+----######----##----######----## \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fe97];
+Bitmap: \
+-------------------------------- \
+--####--####------####--####---- \
+-------------------------------- \
+------------####------------#### \
+------------####------------#### \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fee7];
+Bitmap: \
+-------------------------------- \
+--------####------------####---- \
+-------------------------------- \
+------------####------------#### \
+------------####------------#### \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fee3];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+----------######----------###### \
+--------####--##--------####--## \
+############--##############--## \
+----------######----------###### \
+--------------------------------
+%
+Unicode: [fe9f];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--########--------########------ \
+--##----####------##----####---- \
+----------####------------####-- \
+################################ \
+-------------------------------- \
+--------####------------####----
+%
+Unicode: [fef7];[f3f8];
+Bitmap: \
+------------####------------#### \
+----##------####----##------#### \
+----####----####----####----#### \
+------####--####------####--#### \
+--------##--####--------##--#### \
+--------######----------######-- \
+--##########------##########---- \
+--------------------------------
+%
+Unicode: [fea7];
+Bitmap: \
+----####------------####-------- \
+-------------------------------- \
+--########--------########------ \
+--##----####------##----####---- \
+----------####------------####-- \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fea3];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--########--------########------ \
+--##----####------##----####---- \
+----------####------------####-- \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [febf];
+Bitmap: \
+------####------------####------ \
+-------------------------------- \
+--------########--------######## \
+--##--####----##--##--####----## \
+########------##########------## \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fed7];
+Bitmap: \
+--####--####------####--####---- \
+-------------------------------- \
+------##########------########## \
+------####----##------####----## \
+--------########--------######## \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [feb3];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+-------------------------------- \
+--##----##----##--##----##----## \
+####--####--########--####--#### \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fed3];
+Bitmap: \
+----####------------####-------- \
+-------------------------------- \
+--------########--------######## \
+--------####--##--------####--## \
+----------######----------###### \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fecb];
+Bitmap: \
+-------------------------------- \
+------######----------######---- \
+----##########------##########-- \
+----####------------####-------- \
+------####------------####------ \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fedb];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+------######----------######---- \
+----------####------------####-- \
+------------####------------#### \
+------------####------------#### \
+----##########------##########-- \
+--------------------------------
+%
+Unicode: [febb];
+Bitmap: \
+-------------------------------- \
+-------------------------------- \
+--------########--------######## \
+--##--####----##--##--####----## \
+########------##########------## \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0637];[fec1];[fec2];[fec4];[fec3];
+Bitmap: \
+--####------------####---------- \
+--####------------####---------- \
+--####--########--####--######## \
+--########----##--########----## \
+--######------##--######------## \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [fecf];
+Bitmap: \
+--####------------####---------- \
+------######----------######---- \
+----##########------##########-- \
+----####------------####-------- \
+------####------------####------ \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [0638];[fec5];[fec6];[fec8];[fec7];
+Bitmap: \
+--####--####------####--####---- \
+--####------------####---------- \
+--####--########--####--######## \
+--########----##--########----## \
+--######------##--######------## \
+################################ \
+-------------------------------- \
+--------------------------------
+%
+Unicode: [061f];
+Bitmap: \
+-------------------------------- \
+----########--------########---- \
+--####----####----####----####-- \
+----####------------####-------- \
+------####------------####------ \
+-------------------------------- \
+------####------------####------ \
+--------------------------------
+%
+// dotted-box (no such glyph)
+Unicode: [0000];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --####--######-- \
+ --####--######-- \
+ --##------------ \
+ --##------------ \
+ ------------##-- \
+ ------------##-- \
+ --##------------ \
+ --##------------ \
+ ------------##-- \
+ ------------##-- \
+ --######--####-- \
+ --######--####-- \
+ ----------------
+ ----------------
+%
+// backtick
+Unicode: [0060];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----####-------- \
+ ----####-------- \
+ ----####-------- \
+ ----####-------- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// curlies
+Unicode: [007b];
+Bitmap: \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ----####-------- \
+ ----####-------- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ --------####---- \
+ --------####---- \
+ ----------------
+ ----------------
+%
+Unicode: [007d];
+Bitmap: \
+ ----####-------- \
+ ----####-------- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ----####-------- \
+ ----####-------- \
+ ----------------
+ ----------------
+%
+// tilde
+Unicode: [007e];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --######----#### \
+ --######----#### \
+ ####--####--#### \
+ ####--####--#### \
+ ####----######-- \
+ ####----######-- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// euro
+Unicode: [20ac];
+Bitmap: \
+ ------########-- \
+ ------########-- \
+ ----####-------- \
+ ----####-------- \
+ --##########---- \
+ --##########---- \
+ ----####-------- \
+ ----####-------- \
+ --##########---- \
+ --##########---- \
+ ----####-------- \
+ ----####-------- \
+ ------########-- \
+ ------########-- \
+ ----------------
+ ----------------
+%
+// spanish left-quote
+Unicode: [00ab];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ --####----####-- \
+ --####----####-- \
+ ####----####---- \
+ ####----####---- \
+ --####----####-- \
+ --####----####-- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// spanish right-quote
+Unicode: [00bb];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ####----####---- \
+ ####----####---- \
+ --####----####-- \
+ --####----####-- \
+ ####----####---- \
+ ####----####---- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// spanish inverted question mark
+Unicode: [00bf];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ --------####---- \
+ --------####---- \
+ --####----####-- \
+ --####----####-- \
+ ----########---- \
+ ----########---- \
+ ----------------
+ ----------------
+%
+// copyright
+Unicode: [00a9];
+Bitmap: \
+ --##########---- \
+ --##########---- \
+ ##----------##-- \
+ ##----------##-- \
+ ##----####--##-- \
+ ##----####--##-- \
+ ##--##------##-- \
+ ##--##------##-- \
+ ##----####--##-- \
+ ##----####--##-- \
+ ##----------##-- \
+ ##----------##-- \
+ --##########---- \
+ --##########---- \
+ ----------------
+ ----------------
+%
+// registered
+Unicode: [00ae];
+Bitmap: \
+ --##########---- \
+ --##########---- \
+ ##----------##-- \
+ ##----------##-- \
+ ##--####----##-- \
+ ##--####----##-- \
+ ##--##--##--##-- \
+ ##--##--##--##-- \
+ ##--####----##-- \
+ ##--####----##-- \
+ ##--##--##--##-- \
+ ##--##--##--##-- \
+ --##########---- \
+ --##########---- \
+ ----------------
+ ----------------
+%
+// degrees
+Unicode: [00b0];[00ba];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ----##----##---- \
+ ----##----##---- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// cents
+Unicode: [00a2];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ----##########-- \
+ ----##########-- \
+ --####---------- \
+ --####---------- \
+ --####---------- \
+ --####---------- \
+ ----##########-- \
+ ----##########-- \
+ ------####------ \
+ ------####------ \
+ ----------------
+ ----------------
+%
+// "currency sign"
+// FIXME: not bold enough
+Unicode: [00a4];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --##--------##-- \
+ --##--------##-- \
+ ----########---- \
+ ----########---- \
+ ----##----##---- \
+ ----##----##---- \
+ ----##----##---- \
+ ----##----##---- \
+ ----########---- \
+ ----########---- \
+ --##--------##-- \
+ --##--------##-- \
+ ----------------
+ ----------------
+%
+// yen
+Unicode: [00a5];
+Bitmap: \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ------####------ \
+ ------####------ \
+ ----------------
+ ----------------
+%
+// broken bar
+Unicode: [00a6];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ----------------
+ ----------------
+%
+// section sign
+// FIXME: not bold enough
+Unicode: [00a7];
+Bitmap: \
+ ------######---- \
+ ------######---- \
+ ----##---------- \
+ ----##---------- \
+ ------####------ \
+ ------####------ \
+ ----##----##---- \
+ ----##----##---- \
+ ------####------ \
+ ------####------ \
+ ----------##---- \
+ ----------##---- \
+ ----######------ \
+ ----######------ \
+ ----------------
+ ----------------
+%
+// diaresis (cha, cha, cha!)
+Unicode: [00a8];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// feminine ordinal (superscript a)
+Unicode: [00aa];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----########---- \
+ ----########---- \
+ --------######-- \
+ --------######-- \
+ ----####--####-- \
+ ----####--####-- \
+ ------########-- \
+ ------########-- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// "not" sign
+Unicode: [00ac];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ --############-- \
+ --############-- \
+ ----------####-- \
+ ----------####-- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// macron
+Unicode: [00af];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --############-- \
+ --############-- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// plus-minus
+Unicode: [00b1];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ --############-- \
+ --############-- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// superscript 2
+// FIXME: not bold enough
+Unicode: [00b2];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----####-------- \
+ ----####-------- \
+ --##----##------ \
+ --##----##------ \
+ ------##-------- \
+ ------##-------- \
+ ----##---------- \
+ ----##---------- \
+ --########------ \
+ --########------ \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// FIXME: not bold enough
+// superscript 3
+Unicode: [00b3];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----####-------- \
+ ----####-------- \
+ --##----##------ \
+ --##----##------ \
+ ------##-------- \
+ ------##-------- \
+ --##----##------ \
+ --##----##------ \
+ ----####-------- \
+ ----####-------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// acute
+Unicode: [00b4];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// mu
+Unicode: [00b5];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ----##########-- \
+ ----##########-- \
+ ----------####-- \
+ ----------####-- \
+ ----------------
+ ----------------
+%
+// paragraph
+Unicode: [00b6];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----####--####-- \
+ ----####--####-- \
+ --######--####-- \
+ --######--####-- \
+ --######--####-- \
+ --######--####-- \
+ ----####--####-- \
+ ----####--####-- \
+ ------##--####-- \
+ ------##--####-- \
+ ------##--####-- \
+ ------##--####-- \
+ ----------------
+ ----------------
+%
+// middle dot
+Unicode: [00b7];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// superscript 1
+Unicode: [00b9];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ----######------ \
+ ----######------ \
+ ------####------ \
+ ------####------ \
+ ----########---- \
+ ----########---- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+// FIXME: MISSING fractions, 00bc/00bd/00bc, ¼ ½ ¾, hard to do in 8x8
+%
+// A with grave
+Unicode: [00c0];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----####-------- \
+ ----####-------- \
+ ------####------ \
+ ------####------ \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --############-- \
+ --############-- \
+ --####----####-- \
+ --####----####-- \
+ ----------------
+ ----------------
+%
+// A with acute
+Unicode: [00c1];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --############-- \
+ --############-- \
+ --####----####-- \
+ --####----####-- \
+ ----------------
+ ----------------
+%
+// A with circumflex
+Unicode: [00c2];
+Bitmap: \
+ ----########---- \
+ ----########---- \
+ --##--------##-- \
+ --##--------##-- \
+ ------####------ \
+ ------####------ \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --############-- \
+ --############-- \
+ --####----####-- \
+ --####----####-- \
+ ----------------
+ ----------------
+%
+// A with tilde
+Unicode: [00c3];
+Bitmap: \
+ ----####--####-- \
+ ----####--####-- \
+ --####--####---- \
+ --####--####---- \
+ ------####------ \
+ ------####------ \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --############-- \
+ --############-- \
+ --####----####-- \
+ --####----####-- \
+ ----------------
+ ----------------
+%
+// A with ring
+Unicode: [00c5];
+Bitmap: \
+ ------####------ \
+ ------####------ \
+ ----##----##---- \
+ ----##----##---- \
+ ------####------ \
+ ------####------ \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --############-- \
+ --############-- \
+ --####----####-- \
+ --####----####-- \
+ ----------------
+ ----------------
+%
+// AE ligature
+Unicode: [00c6];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----##########-- \
+ ----##########-- \
+ --########------ \
+ --########------ \
+ ####--####------ \
+ ####--####------ \
+ ##############-- \
+ ##############-- \
+ ####--####------ \
+ ####--####------ \
+ ####--########-- \
+ ####--########-- \
+ ----------------
+ ----------------
+// FIXME: this is hideous!
+%
+// C with cedilla
+Unicode: [00c7];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --####---------- \
+ --####---------- \
+ --####----####-- \
+ --####----####-- \
+ ----########---- \
+ ----########---- \
+ ------####------ \
+ ------####------ \
+ ----####--------
+ ----####--------
+%
+// E with circumflex
+Unicode: [00ca];
+Bitmap: \
+ ----########---- \
+ ----########---- \
+ --##--------##-- \
+ --##--------##-- \
+ --############-- \
+ --############-- \
+ --####---------- \
+ --####---------- \
+ --##########---- \
+ --##########---- \
+ --####---------- \
+ --####---------- \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+// FIXME: ugly!
+%
+// E with umlaut
+Unicode: [00cb];
+Bitmap: \
+ ----####--####-- \
+ ----####--####-- \
+ ---------------- \
+ ---------------- \
+ --############-- \
+ --############-- \
+ --####---------- \
+ --####---------- \
+ --##########---- \
+ --##########---- \
+ --####---------- \
+ --####---------- \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+%
+// I with grave
+Unicode: [00cc];
+Bitmap: \
+ ----####-------- \
+ ----####-------- \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+%
+// I with acute
+Unicode: [00cd];
+Bitmap: \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+%
+// I with circumflex
+Unicode: [00ce];
+Bitmap: \
+ ----########---- \
+ ----########---- \
+ --##--------##-- \
+ --##--------##-- \
+ --############-- \
+ --############-- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+// FIXME: ugly!
+%
+// I with umlaut
+Unicode: [00cf];
+Bitmap: \
+ ----####--####-- \
+ ----####--####-- \
+ ---------------- \
+ ---------------- \
+ --############-- \
+ --############-- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+%
+// capital eth
+Unicode: [00d0];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --########------ \
+ --########------ \
+ --####--####---- \
+ --####--####---- \
+ --####----####-- \
+ --####----####-- \
+ ########--####-- \
+ ########--####-- \
+ --####--####---- \
+ --####--####---- \
+ --########------ \
+ --########------ \
+ ----------------
+ ----------------
+%
+// O with grave
+Unicode: [00d2];
+Bitmap: \
+ --####---------- \
+ --####---------- \
+ ----########---- \
+ ----########---- \
+ --##--##--####-- \
+ --##--##--####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ----########---- \
+ ----########---- \
+ ----------------
+ ----------------
+// FIXME: MISSING Ô Õ
+%
+// multiplication
+Unicode: [00d7];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --####----####-- \
+ --####----####-- \
+ ----########---- \
+ ----########---- \
+ ------####------ \
+ ------####------ \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+// FIXME: MISSING Ø
+%
+// U with grave
+Unicode: [00d9];
+Bitmap: \
+ ----####-------- \
+ ----####-------- \
+ ------####------ \
+ ------####------ \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+%
+// U with acute
+Unicode: [00da];
+Bitmap: \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+// FIXME: MISSING Û
+%
+// Y with acute
+Unicode: [00dd];
+Bitmap: \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ----########---- \
+ ----########---- \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ----------------
+ ----------------
+%
+// capital thorn
+Unicode: [00de];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --####---------- \
+ --####---------- \
+ --##########---- \
+ --##########---- \
+ --####----####-- \
+ --####----####-- \
+ --##########---- \
+ --##########---- \
+ --####---------- \
+ --####---------- \
+ --####---------- \
+ --####---------- \
+ ----------------
+ ----------------
+%
+// a with circumflex
+Unicode: [00e2];
+Bitmap: \
+ ----########---- \
+ ----########---- \
+ --##--------##-- \
+ --##--------##-- \
+ ---------------- \
+ ---------------- \
+ ----########---- \
+ ----########---- \
+ --------######-- \
+ --------######-- \
+ ----####--####-- \
+ ----####--####-- \
+ ------########-- \
+ ------########-- \
+ ----------------
+ ----------------
+%
+// a with tilde
+Unicode: [00e3];
+Bitmap: \
+ ----####--####-- \
+ ----####--####-- \
+ --####--####---- \
+ --####--####---- \
+ ---------------- \
+ ---------------- \
+ ----########---- \
+ ----########---- \
+ --------######-- \
+ --------######-- \
+ ----####--####-- \
+ ----####--####-- \
+ ------########--
+ ------########--
+// FIXME: touches bottom
+%
+// ae ligature
+Unicode: [00e6];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ --######--####-- \
+ --######--####-- \
+ ------####--#### \
+ ------####--#### \
+ --############-- \
+ --############-- \
+ ####--####------ \
+ ####--####------ \
+ --############-- \
+ --############-- \
+ ----------------
+ ----------------
+// FIXME: fugly
+%
+// e with umlaut
+Unicode: [00eb];
+Bitmap: \
+ --####----####-- \
+ --####----####-- \
+ ---------------- \
+ ---------------- \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --############-- \
+ --############-- \
+ --####---------- \
+ --####---------- \
+ ----########---- \
+ ----########---- \
+ ----------------
+ ----------------
+%
+// i with acute
+Unicode: [00ed];
+Bitmap: \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ----######------ \
+ ----######------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ------####------ \
+ ----########---- \
+ ----########---- \
+ ----------------
+ ----------------
+%
+// lowercase eth
+Unicode: [00f0];
+Bitmap: \
+ --####--##------ \
+ --####--##------ \
+ ----####-------- \
+ ----####-------- \
+ --##--####------ \
+ --##--####------ \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ----########---- \
+ ----########---- \
+ ----------------
+ ----------------
+%
+// o with tilde
+Unicode: [00f5];
+Bitmap: \
+ ----####--####-- \
+ ----####--####-- \
+ --####--####---- \
+ --####--####---- \
+ ---------------- \
+ ---------------- \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ----########---- \
+ ----########---- \
+ ----------------
+ ----------------
+%
+// division
+Unicode: [00f7];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ --############-- \
+ --############-- \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+// FIXME: MISSING ø
+%
+// y with acute
+Unicode: [00fd];
+Bitmap: \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ----##########-- \
+ ----##########-- \
+ --------####---- \
+ --------####---- \
+ --########------
+ --########------
+%
+// lowercase thorn
+Unicode: [00fe];
+Bitmap: \
+ --####---------- \
+ --####---------- \
+ --####---------- \
+ --####---------- \
+ --########------ \
+ --########------ \
+ --####--####---- \
+ --####--####---- \
+ --########------ \
+ --########------ \
+ --####---------- \
+ --####---------- \
+ --####---------- \
+ --####---------- \
+ ----------------
+ ----------------
+%
+// y with umlaut
+Unicode: [00ff];
+Bitmap: \
+ --####----####-- \
+ --####----####-- \
+ ---------------- \
+ ---------------- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ----##########-- \
+ ----##########-- \
+ --------####---- \
+ --------####---- \
+ --########------
+ --########------
+%
+// left single curly quote
+Unicode: [2018];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ----####-------- \
+ ----####-------- \
+ ------####------ \
+ ------####------ \
+ --------####---- \
+ --------####---- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// right single curly quote
+Unicode: [2019];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ ----####-------- \
+ ----####-------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// left double curly quote
+Unicode: [201c];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ----####----#### \
+ ----####----#### \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// right double curly quote
+Unicode: [201d];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ --####----####-- \
+ ####----####---- \
+ ####----####---- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// spanish left single quote
+Unicode: [2039];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ ----####-------- \
+ ----####-------- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// spanish right single quote
+Unicode: [203a];
+Bitmap: \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ---------------- \
+ ------####------ \
+ ------####------ \
+ --------####---- \
+ --------####---- \
+ ------####------ \
+ ------####------ \
+ ---------------- \
+ ---------------- \
+ ----------------
+ ----------------
+%
+// replacement character for missing glyphs
+Unicode: [fffd];
+Bitmap: \
+ ----########---- \
+ ----########---- \
+ --####----####-- \
+ --####----####-- \
+ --##--####--##-- \
+ --##--####--##-- \
+ --######--####-- \
+ --######--####-- \
+ --############-- \
+ --############-- \
+ --######--####-- \
+ --######--####-- \
+ ----########---- \
+ ----########---- \
+ ----------------
+ ----------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/fonts/fauxtari-24.bdf b/fonts/fauxtari-24.bdf
new file mode 100644
index 0000000..8cb0933
--- /dev/null
+++ b/fonts/fauxtari-24.bdf
@@ -0,0 +1,13325 @@
+STARTFONT 2.1
+FONT -BW-Fauxtari Fixed Mono-Medium-R-Normal--24-240-75-75-C-240-iso10646-1
+SIZE 24 75 75
+FONTBOUNDINGBOX 24 24 0 -6
+STARTPROPERTIES 18
+FOUNDRY "BW"
+FAMILY_NAME "Fauxtari Fixed Mono"
+FACE_NAME "Fauxtari 24"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE 24
+POINT_SIZE 240
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH 240
+CHARSET_REGISTRY "iso10646"
+CHARSET_ENCODING "1"
+FONT_DESCENT 6
+FONT_ASCENT 18
+DEFAULT_CHAR 0
+ENDPROPERTIES
+CHARS 429
+STARTCHAR C0000
+ENCODING 0
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8ff8
+1f8ff8
+1f8ff8
+1c0000
+1c0000
+1c0000
+000038
+000038
+000038
+1c0000
+1c0000
+1c0000
+000038
+000038
+000038
+1ff1f8
+1ff1f8
+1ff1f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0001
+ENCODING 32
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0002
+ENCODING 33
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0003
+ENCODING 34
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0004
+ENCODING 35
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+ffffff
+ffffff
+ffffff
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+ffffff
+ffffff
+ffffff
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0005
+ENCODING 36
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+03fff8
+03fff8
+03fff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0006
+ENCODING 37
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f8fc0
+1f8fc0
+1f8fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1f81f8
+1f81f8
+1f81f8
+1c01f8
+1c01f8
+1c01f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0007
+ENCODING 38
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007fc0
+007fc0
+007fc0
+03f1f8
+03f1f8
+03f1f8
+007fc0
+007fc0
+007fc0
+03fe00
+03fe00
+03fe00
+1f8fff
+1f8fff
+1f8fff
+1f81f8
+1f81f8
+1f81f8
+03fe3f
+03fe3f
+03fe3f
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0008
+ENCODING 39
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0009
+ENCODING 40
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+007fc0
+007fc0
+007fc0
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007fc0
+007fc0
+007fc0
+000ff8
+000ff8
+000ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C000a
+ENCODING 41
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ff000
+1ff000
+1ff000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03fe00
+03fe00
+03fe00
+1ff000
+1ff000
+1ff000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C000b
+ENCODING 42
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+ffffff
+ffffff
+ffffff
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C000c
+ENCODING 43
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C000d
+ENCODING 44
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+ENDCHAR
+STARTCHAR C000e
+ENCODING 45
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C000f
+ENCODING 46
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0010
+ENCODING 47
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1f8000
+1f8000
+1f8000
+1c0000
+1c0000
+1c0000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0011
+ENCODING 48
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f8ff8
+1f8ff8
+1f8ff8
+1ff1f8
+1ff1f8
+1ff1f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0012
+ENCODING 49
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0013
+ENCODING 50
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0014
+ENCODING 51
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0015
+ENCODING 52
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+007fc0
+007fc0
+007fc0
+03ffc0
+03ffc0
+03ffc0
+1f8fc0
+1f8fc0
+1f8fc0
+1ffff8
+1ffff8
+1ffff8
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0016
+ENCODING 53
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+0001f8
+0001f8
+0001f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0017
+ENCODING 54
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0018
+ENCODING 55
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+0001f8
+0001f8
+0001f8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+03f000
+03f000
+03f000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0019
+ENCODING 56
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C001a
+ENCODING 57
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+0001f8
+0001f8
+0001f8
+000fc0
+000fc0
+000fc0
+03fe00
+03fe00
+03fe00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C001b
+ENCODING 58
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C001c
+ENCODING 59
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+ENDCHAR
+STARTCHAR C001d
+ENCODING 60
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+0001f8
+0001f8
+0001f8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+0001f8
+0001f8
+0001f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C001e
+ENCODING 61
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C001f
+ENCODING 62
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1f8000
+1f8000
+1f8000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0020
+ENCODING 63
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0021
+ENCODING 64
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f8ff8
+1f8ff8
+1f8ff8
+1f8ff8
+1f8ff8
+1f8ff8
+1f8000
+1f8000
+1f8000
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0022
+ENCODING 65
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0023
+ENCODING 66
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0024
+ENCODING 67
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0025
+ENCODING 68
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+1f8fc0
+1f8fc0
+1f8fc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f8fc0
+1f8fc0
+1f8fc0
+1ffe00
+1ffe00
+1ffe00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0026
+ENCODING 69
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0027
+ENCODING 70
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0028
+ENCODING 71
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03fff8
+03fff8
+03fff8
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8ff8
+1f8ff8
+1f8ff8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0029
+ENCODING 72
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C002a
+ENCODING 73
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C002b
+ENCODING 74
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C002c
+ENCODING 75
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f8fc0
+1f8fc0
+1f8fc0
+1ffe00
+1ffe00
+1ffe00
+1ffe00
+1ffe00
+1ffe00
+1f8fc0
+1f8fc0
+1f8fc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C002d
+ENCODING 76
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C002e
+ENCODING 77
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f803f
+1f803f
+1f803f
+1ff1ff
+1ff1ff
+1ff1ff
+1fffff
+1fffff
+1fffff
+1f8e3f
+1f8e3f
+1f8e3f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C002f
+ENCODING 78
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1ff1f8
+1ff1f8
+1ff1f8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1f8ff8
+1f8ff8
+1f8ff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0030
+ENCODING 79
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0031
+ENCODING 80
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1fffc0
+1fffc0
+1fffc0
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0032
+ENCODING 81
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f8fc0
+1f8fc0
+1f8fc0
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0033
+ENCODING 82
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1fffc0
+1fffc0
+1fffc0
+1f8fc0
+1f8fc0
+1f8fc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0034
+ENCODING 83
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0035
+ENCODING 84
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0036
+ENCODING 85
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0037
+ENCODING 86
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0038
+ENCODING 87
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f8e3f
+1f8e3f
+1f8e3f
+1fffff
+1fffff
+1fffff
+1ff1ff
+1ff1ff
+1ff1ff
+1f803f
+1f803f
+1f803f
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0039
+ENCODING 88
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C003a
+ENCODING 89
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C003b
+ENCODING 90
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C003c
+ENCODING 91
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007ff8
+007ff8
+007ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007ff8
+007ff8
+007ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C003d
+ENCODING 92
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1c0000
+1c0000
+1c0000
+1f8000
+1f8000
+1f8000
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+0001f8
+0001f8
+0001f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C003e
+ENCODING 93
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffe00
+1ffe00
+1ffe00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C003f
+ENCODING 94
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000e00
+000e00
+000e00
+007fc0
+007fc0
+007fc0
+03f1f8
+03f1f8
+03f1f8
+1f803f
+1f803f
+1f803f
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0040
+ENCODING 95
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0041
+ENCODING 96
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0042
+ENCODING 97
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0043
+ENCODING 98
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0044
+ENCODING 99
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0045
+ENCODING 100
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0046
+ENCODING 101
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0047
+ENCODING 102
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+03fff8
+03fff8
+03fff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0048
+ENCODING 103
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0049
+ENCODING 104
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C004a
+ENCODING 105
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C004b
+ENCODING 106
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C004c
+ENCODING 107
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8fc0
+1f8fc0
+1f8fc0
+1ffe00
+1ffe00
+1ffe00
+1f8fc0
+1f8fc0
+1f8fc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C004d
+ENCODING 108
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C004e
+ENCODING 109
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1fffff
+1fffff
+1fffff
+1fffff
+1fffff
+1fffff
+1f8e3f
+1f8e3f
+1f8e3f
+1f803f
+1f803f
+1f803f
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C004f
+ENCODING 110
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0050
+ENCODING 111
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0051
+ENCODING 112
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1fffc0
+1fffc0
+1fffc0
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0052
+ENCODING 113
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+ENDCHAR
+STARTCHAR C0053
+ENCODING 114
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0054
+ENCODING 115
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03fff8
+03fff8
+03fff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0055
+ENCODING 116
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000ff8
+000ff8
+000ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0056
+ENCODING 117
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0057
+ENCODING 118
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0058
+ENCODING 119
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1f803f
+1f803f
+1f803f
+1f8e3f
+1f8e3f
+1f8e3f
+1fffff
+1fffff
+1fffff
+03fff8
+03fff8
+03fff8
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0059
+ENCODING 120
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C005a
+ENCODING 121
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000fc0
+000fc0
+000fc0
+1ffe00
+1ffe00
+1ffe00
+ENDCHAR
+STARTCHAR C005b
+ENCODING 122
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C005c
+ENCODING 123
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C005d
+ENCODING 124
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C005e
+ENCODING 125
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C005f
+ENCODING 126
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ff03f
+1ff03f
+1ff03f
+fc7e3f
+fc7e3f
+fc7e3f
+fc0ff8
+fc0ff8
+fc0ff8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0060
+ENCODING 160
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0061
+ENCODING 161
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0062
+ENCODING 162
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03fff8
+03fff8
+03fff8
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+03fff8
+03fff8
+03fff8
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0063
+ENCODING 163
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007fc0
+007fc0
+007fc0
+03f000
+03f000
+03f000
+03f000
+03f000
+03f000
+1ffe00
+1ffe00
+1ffe00
+03f000
+03f000
+03f000
+03f000
+03f000
+03f000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0064
+ENCODING 164
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1c0038
+1c0038
+1c0038
+03ffc0
+03ffc0
+03ffc0
+0381c0
+0381c0
+0381c0
+0381c0
+0381c0
+0381c0
+03ffc0
+03ffc0
+03ffc0
+1c0038
+1c0038
+1c0038
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0065
+ENCODING 165
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0066
+ENCODING 166
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0067
+ENCODING 167
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007fc0
+007fc0
+007fc0
+038000
+038000
+038000
+007e00
+007e00
+007e00
+0381c0
+0381c0
+0381c0
+007e00
+007e00
+007e00
+0001c0
+0001c0
+0001c0
+03fe00
+03fe00
+03fe00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0068
+ENCODING 168
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0069
+ENCODING 169
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1fffc0
+1fffc0
+1fffc0
+e00038
+e00038
+e00038
+e07e38
+e07e38
+e07e38
+e38038
+e38038
+e38038
+e07e38
+e07e38
+e07e38
+e00038
+e00038
+e00038
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C006a
+ENCODING 170
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+000ff8
+000ff8
+000ff8
+03f1f8
+03f1f8
+03f1f8
+007ff8
+007ff8
+007ff8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C006b
+ENCODING 171
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+fc0fc0
+fc0fc0
+fc0fc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C006c
+ENCODING 172
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+0001f8
+0001f8
+0001f8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C006d
+ENCODING 173
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C006e
+ENCODING 174
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1fffc0
+1fffc0
+1fffc0
+e00038
+e00038
+e00038
+e3f038
+e3f038
+e3f038
+e38e38
+e38e38
+e38e38
+e3f038
+e3f038
+e3f038
+e38e38
+e38e38
+e38e38
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C006f
+ENCODING 175
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0070
+ENCODING 176
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+0381c0
+0381c0
+0381c0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0071
+ENCODING 177
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0072
+ENCODING 178
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+1c0e00
+1c0e00
+1c0e00
+007000
+007000
+007000
+038000
+038000
+038000
+1ffe00
+1ffe00
+1ffe00
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0073
+ENCODING 179
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+1c0e00
+1c0e00
+1c0e00
+007000
+007000
+007000
+1c0e00
+1c0e00
+1c0e00
+03f000
+03f000
+03f000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0074
+ENCODING 180
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0075
+ENCODING 181
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+0001f8
+0001f8
+0001f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0076
+ENCODING 182
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+1ff1f8
+1ff1f8
+1ff1f8
+1ff1f8
+1ff1f8
+1ff1f8
+03f1f8
+03f1f8
+03f1f8
+0071f8
+0071f8
+0071f8
+0071f8
+0071f8
+0071f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0077
+ENCODING 183
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0078
+ENCODING 184
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+ENDCHAR
+STARTCHAR C0079
+ENCODING 185
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C007a
+ENCODING 186
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+0381c0
+0381c0
+0381c0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C007b
+ENCODING 187
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+fc0fc0
+fc0fc0
+fc0fc0
+1f81f8
+1f81f8
+1f81f8
+fc0fc0
+fc0fc0
+fc0fc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C007c
+ENCODING 191
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C007d
+ENCODING 192
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C007e
+ENCODING 193
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C007f
+ENCODING 194
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1c0038
+1c0038
+1c0038
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0080
+ENCODING 195
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+1f8fc0
+1f8fc0
+1f8fc0
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0081
+ENCODING 196
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0082
+ENCODING 197
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+0381c0
+0381c0
+0381c0
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0083
+ENCODING 198
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03fff8
+03fff8
+03fff8
+1ffe00
+1ffe00
+1ffe00
+fc7e00
+fc7e00
+fc7e00
+fffff8
+fffff8
+fffff8
+fc7e00
+fc7e00
+fc7e00
+fc7ff8
+fc7ff8
+fc7ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0084
+ENCODING 199
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f8000
+1f8000
+1f8000
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+ENDCHAR
+STARTCHAR C0085
+ENCODING 201
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0086
+ENCODING 202
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1c0038
+1c0038
+1c0038
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0087
+ENCODING 203
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0088
+ENCODING 204
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0089
+ENCODING 205
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C008a
+ENCODING 206
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1c0038
+1c0038
+1c0038
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C008b
+ENCODING 207
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C008c
+ENCODING 208
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+1f8fc0
+1f8fc0
+1f8fc0
+1f81f8
+1f81f8
+1f81f8
+fff1f8
+fff1f8
+fff1f8
+1f8fc0
+1f8fc0
+1f8fc0
+1ffe00
+1ffe00
+1ffe00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C008d
+ENCODING 209
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+1f8fc0
+1f8fc0
+1f8fc0
+000000
+000000
+000000
+1ff1f8
+1ff1f8
+1ff1f8
+1ff1f8
+1ff1f8
+1ff1f8
+1ffff8
+1ffff8
+1ffff8
+1f8ff8
+1f8ff8
+1f8ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C008e
+ENCODING 210
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+1c71f8
+1c71f8
+1c71f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C008f
+ENCODING 211
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+0001f8
+0001f8
+0001f8
+03ffc0
+03ffc0
+03ffc0
+1f8e38
+1f8e38
+1f8e38
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0090
+ENCODING 214
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0091
+ENCODING 215
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0092
+ENCODING 217
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0093
+ENCODING 218
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0094
+ENCODING 220
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0095
+ENCODING 221
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0096
+ENCODING 222
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1fffc0
+1fffc0
+1fffc0
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0097
+ENCODING 223
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007fc0
+007fc0
+007fc0
+03f1f8
+03f1f8
+03f1f8
+03ffc0
+03ffc0
+03ffc0
+03f1f8
+03f1f8
+03f1f8
+03f1ff
+03f1ff
+03f1ff
+03fff8
+03fff8
+03fff8
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0098
+ENCODING 224
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0099
+ENCODING 225
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C009a
+ENCODING 226
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1c0038
+1c0038
+1c0038
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+000ff8
+000ff8
+000ff8
+03f1f8
+03f1f8
+03f1f8
+007ff8
+007ff8
+007ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C009b
+ENCODING 227
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+1f8fc0
+1f8fc0
+1f8fc0
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+000ff8
+000ff8
+000ff8
+03f1f8
+03f1f8
+03f1f8
+007ff8
+007ff8
+007ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C009c
+ENCODING 228
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C009d
+ENCODING 229
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+007fc0
+007fc0
+007fc0
+0001f8
+0001f8
+0001f8
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C009e
+ENCODING 230
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1ff1f8
+1ff1f8
+1ff1f8
+007e3f
+007e3f
+007e3f
+1ffff8
+1ffff8
+1ffff8
+fc7e00
+fc7e00
+fc7e00
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C009f
+ENCODING 231
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+ENDCHAR
+STARTCHAR C00a0
+ENCODING 232
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a1
+ENCODING 233
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a2
+ENCODING 234
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+fc003f
+fc003f
+fc003f
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a3
+ENCODING 235
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a4
+ENCODING 236
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a5
+ENCODING 237
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a6
+ENCODING 238
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a7
+ENCODING 239
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a8
+ENCODING 240
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8e00
+1f8e00
+1f8e00
+03f000
+03f000
+03f000
+1c7e00
+1c7e00
+1c7e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00a9
+ENCODING 241
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+1f8fc0
+1f8fc0
+1f8fc0
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00aa
+ENCODING 242
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ab
+ENCODING 243
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ac
+ENCODING 244
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ad
+ENCODING 245
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+1f8fc0
+1f8fc0
+1f8fc0
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ae
+ENCODING 246
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00af
+ENCODING 247
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00b0
+ENCODING 249
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00b1
+ENCODING 250
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00b2
+ENCODING 251
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00b3
+ENCODING 252
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00b4
+ENCODING 253
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000fc0
+000fc0
+000fc0
+1ffe00
+1ffe00
+1ffe00
+ENDCHAR
+STARTCHAR C00b5
+ENCODING 254
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1ffe00
+1ffe00
+1ffe00
+1f8fc0
+1f8fc0
+1f8fc0
+1ffe00
+1ffe00
+1ffe00
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00b6
+ENCODING 255
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000fc0
+000fc0
+000fc0
+1ffe00
+1ffe00
+1ffe00
+ENDCHAR
+STARTCHAR C00b7
+ENCODING 260
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+00003f
+00003f
+00003f
+ENDCHAR
+STARTCHAR C00b8
+ENCODING 261
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+00003f
+00003f
+00003f
+ENDCHAR
+STARTCHAR C00b9
+ENCODING 262
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+03ffc0
+03ffc0
+03ffc0
+1f8ff8
+1f8ff8
+1f8ff8
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ba
+ENCODING 263
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00bb
+ENCODING 280
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1ffe00
+1ffe00
+1ffe00
+1f8000
+1f8000
+1f8000
+1ffe00
+1ffe00
+1ffe00
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007ff8
+007ff8
+007ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00bc
+ENCODING 281
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+ENDCHAR
+STARTCHAR C00bd
+ENCODING 321
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1ffe00
+1ffe00
+1ffe00
+1ff000
+1ff000
+1ff000
+ff8000
+ff8000
+ff8000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00be
+ENCODING 322
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+007fc0
+007fc0
+007fc0
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00bf
+ENCODING 323
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+1c7e38
+1c7e38
+1c7e38
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1f8ff8
+1f8ff8
+1f8ff8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c0
+ENCODING 324
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+1fffc0
+1fffc0
+1fffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c1
+ENCODING 346
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c2
+ENCODING 347
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03fff8
+03fff8
+03fff8
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c3
+ENCODING 377
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+03f1f8
+03f1f8
+03f1f8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c4
+ENCODING 378
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c5
+ENCODING 379
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c6
+ENCODING 380
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c7
+ENCODING 551
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+0001f8
+0001f8
+0001f8
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c8
+ENCODING 1488
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+fc01f8
+fc01f8
+fc01f8
+fff1f8
+fff1f8
+fff1f8
+fc7ff8
+fc7ff8
+fc7ff8
+fc0fc0
+fc0fc0
+fc0fc0
+fc01f8
+fc01f8
+fc01f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00c9
+ENCODING 1489
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+fffe00
+fffe00
+fffe00
+007fc0
+007fc0
+007fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+fffff8
+fffff8
+fffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ca
+ENCODING 1490
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+1fffc0
+1fffc0
+1fffc0
+ff81f8
+ff81f8
+ff81f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00cb
+ENCODING 1491
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+fffff8
+fffff8
+fffff8
+007fc0
+007fc0
+007fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00cc
+ENCODING 1492
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+0001f8
+0001f8
+0001f8
+1c01f8
+1c01f8
+1c01f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00cd
+ENCODING 1493
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+007fc0
+007fc0
+007fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ce
+ENCODING 1494
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+1ff000
+1ff000
+1ff000
+03f000
+03f000
+03f000
+03f000
+03f000
+03f000
+03f000
+03f000
+03f000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00cf
+ENCODING 1495
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00d0
+ENCODING 1496
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+fc7ff8
+fc7ff8
+fc7ff8
+fc71f8
+fc71f8
+fc71f8
+fc01f8
+fc01f8
+fc01f8
+fc01f8
+fc01f8
+fc01f8
+ffffc0
+ffffc0
+ffffc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00d1
+ENCODING 1497
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+007fc0
+007fc0
+007fc0
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00d2
+ENCODING 1498
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+000ff8
+000ff8
+000ff8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+ENDCHAR
+STARTCHAR C00d3
+ENCODING 1499
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+000ff8
+000ff8
+000ff8
+ffffc0
+ffffc0
+ffffc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00d4
+ENCODING 1500
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+fc0000
+fc0000
+fc0000
+ffffc0
+ffffc0
+ffffc0
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+000ff8
+000ff8
+000ff8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00d5
+ENCODING 1501
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00d6
+ENCODING 1502
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+fc7fc0
+fc7fc0
+fc7fc0
+1ff1f8
+1ff1f8
+1ff1f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f8ff8
+1f8ff8
+1f8ff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00d7
+ENCODING 1503
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007ff8
+007ff8
+007ff8
+000ff8
+000ff8
+000ff8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+ENDCHAR
+STARTCHAR C00d8
+ENCODING 1504
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007ff8
+007ff8
+007ff8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+000ff8
+000ff8
+000ff8
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00d9
+ENCODING 1505
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+fffff8
+fffff8
+fffff8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f8fc0
+1f8fc0
+1f8fc0
+1ffe00
+1ffe00
+1ffe00
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00da
+ENCODING 1506
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ff8ff8
+ff8ff8
+ff8ff8
+1f81f8
+1f81f8
+1f81f8
+03f1f8
+03f1f8
+03f1f8
+03f1f8
+03f1f8
+03f1f8
+ffffc0
+ffffc0
+ffffc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00db
+ENCODING 1507
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+1f8ff8
+1f8ff8
+1f8ff8
+1f81f8
+1f81f8
+1f81f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+ENDCHAR
+STARTCHAR C00dc
+ENCODING 1508
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+000ff8
+000ff8
+000ff8
+ffffc0
+ffffc0
+ffffc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00dd
+ENCODING 1509
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+fc0ff8
+fc0ff8
+fc0ff8
+1f81f8
+1f81f8
+1f81f8
+1f8fc0
+1f8fc0
+1f8fc0
+1ffe00
+1ffe00
+1ffe00
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C00de
+ENCODING 1510
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+fc01f8
+fc01f8
+fc01f8
+1f8ff8
+1f8ff8
+1f8ff8
+03fe00
+03fe00
+03fe00
+000fc0
+000fc0
+000fc0
+fffff8
+fffff8
+fffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00df
+ENCODING 1511
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+000ff8
+000ff8
+000ff8
+fc01f8
+fc01f8
+fc01f8
+fc0fc0
+fc0fc0
+fc0fc0
+fc7e00
+fc7e00
+fc7e00
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+ENDCHAR
+STARTCHAR C00e0
+ENCODING 1512
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+000ff8
+000ff8
+000ff8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+0001f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00e1
+ENCODING 1513
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+e07038
+e07038
+e07038
+fc7038
+fc7038
+fc7038
+ff81f8
+ff81f8
+ff81f8
+fc0fc0
+fc0fc0
+fc0fc0
+ffffc0
+ffffc0
+ffffc0
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00e2
+ENCODING 1514
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+ffffc0
+ffffc0
+ffffc0
+1f8ff8
+1f8ff8
+1f8ff8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+ff81f8
+ff81f8
+ff81f8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00e3
+ENCODING 1567
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00e4
+ENCODING 1569
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+007fc0
+007fc0
+007fc0
+03f000
+03f000
+03f000
+007fc0
+007fc0
+007fc0
+03fe00
+03fe00
+03fe00
+038000
+038000
+038000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00e5
+ENCODING 1570
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C00e6
+ENCODING 1572
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+fc0fff
+fc0fff
+fc0fff
+007e3f
+007e3f
+007e3f
+000fff
+000fff
+000fff
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C00e7
+ENCODING 1575
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00e8
+ENCODING 1576
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C00e9
+ENCODING 1577
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e3f
+007e3f
+007e3f
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ea
+ENCODING 1578
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00eb
+ENCODING 1579
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00ec
+ENCODING 1580
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8000
+1f8000
+1f8000
+1f803f
+1f803f
+1f803f
+03fe00
+03fe00
+03fe00
+ENDCHAR
+STARTCHAR C00ed
+ENCODING 1581
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8007
+1f8007
+1f8007
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C00ee
+ENCODING 1582
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8007
+1f8007
+1f8007
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C00ef
+ENCODING 1583
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C00f0
+ENCODING 1584
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00f1
+ENCODING 1585
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C00f2
+ENCODING 1586
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+00003f
+00003f
+00003f
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C00f3
+ENCODING 1587
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e07fff
+e07fff
+e07fff
+e07ff8
+e07ff8
+e07ff8
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C00f4
+ENCODING 1588
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+03f03f
+03f03f
+03f03f
+000000
+000000
+000000
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e07fff
+e07fff
+e07fff
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C00f5
+ENCODING 1589
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+e07e07
+e07e07
+e07e07
+e07007
+e07007
+e07007
+e07fff
+e07fff
+e07fff
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C00f6
+ENCODING 1590
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+000fff
+000fff
+000fff
+e07e07
+e07e07
+e07e07
+e07007
+e07007
+e07007
+e07fff
+e07fff
+e07fff
+fffe00
+fffe00
+fffe00
+1ff000
+1ff000
+1ff000
+ENDCHAR
+STARTCHAR C00f7
+ENCODING 1591
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00f8
+ENCODING 1592
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8fc0
+1f8fc0
+1f8fc0
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00f9
+ENCODING 1593
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffff
+03ffff
+03ffff
+1f8007
+1f8007
+1f8007
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C00fa
+ENCODING 1594
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffff
+03ffff
+03ffff
+1f8007
+1f8007
+1f8007
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C00fb
+ENCODING 1601
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+0001ff
+0001ff
+0001ff
+fc0fc7
+fc0fc7
+fc0fc7
+fc01ff
+fc01ff
+fc01ff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00fc
+ENCODING 1602
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+0001ff
+0001ff
+0001ff
+1c0fc7
+1c0fc7
+1c0fc7
+fc01ff
+fc01ff
+fc01ff
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00fd
+ENCODING 1603
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+03f03f
+03f03f
+03f03f
+03803f
+03803f
+03803f
+1ff03f
+1ff03f
+1ff03f
+00003f
+00003f
+00003f
+e0003f
+e0003f
+e0003f
+fffff8
+fffff8
+fffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C00fe
+ENCODING 1604
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C00ff
+ENCODING 1605
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+007fff
+007fff
+007fff
+03ffc7
+03ffc7
+03ffc7
+1f81ff
+1f81ff
+1f81ff
+1f803f
+1f803f
+1f803f
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0100
+ENCODING 1606
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+038038
+038038
+038038
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0101
+ENCODING 1607
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0102
+ENCODING 1608
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0103
+ENCODING 1609
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+fc7e3f
+fc7e3f
+fc7e3f
+fc7e07
+fc7e07
+fc7e07
+fc0fc7
+fc0fc7
+fc0fc7
+fc0fc0
+fc0fc0
+fc0fc0
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0104
+ENCODING 1610
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+e07fff
+e07fff
+e07fff
+e07e07
+e07e07
+e07e07
+fc0fc7
+fc0fc7
+fc0fc7
+1fffc7
+1fffc7
+1fffc7
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+ENDCHAR
+STARTCHAR C0105
+ENCODING 1632
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1f8000
+1f8000
+1f8000
+1c0000
+1c0000
+1c0000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0106
+ENCODING 1633
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000e00
+000e00
+000e00
+007fc0
+007fc0
+007fc0
+03fff8
+03fff8
+03fff8
+007fc0
+007fc0
+007fc0
+000e00
+000e00
+000e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0107
+ENCODING 1634
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0108
+ENCODING 1635
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f8000
+1f8000
+1f8000
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+0001f8
+0001f8
+0001f8
+ENDCHAR
+STARTCHAR C0109
+ENCODING 1636
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8e3f
+1f8e3f
+1f8e3f
+1f8e3f
+1f8e3f
+1f8e3f
+1fffff
+1fffff
+1fffff
+1ff000
+1ff000
+1ff000
+03f000
+03f000
+03f000
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C010a
+ENCODING 1637
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007ff8
+007ff8
+007ff8
+03fe00
+03fe00
+03fe00
+1ff000
+1ff000
+1ff000
+007fc0
+007fc0
+007fc0
+03fe00
+03fe00
+03fe00
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C010b
+ENCODING 1638
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007fc0
+007fc0
+007fc0
+03fff8
+03fff8
+03fff8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1ffff8
+1ffff8
+1ffff8
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C010c
+ENCODING 1639
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1fffc0
+1fffc0
+1fffc0
+1fffc0
+1fffc0
+1fffc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+000fc0
+ENDCHAR
+STARTCHAR C010d
+ENCODING 1640
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C010e
+ENCODING 1641
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+ENDCHAR
+STARTCHAR C010f
+ENCODING 8211
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0110
+ENCODING 8212
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0111
+ENCODING 8216
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0112
+ENCODING 8217
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0113
+ENCODING 8220
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+03f03f
+03f03f
+03f03f
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0114
+ENCODING 8221
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+1f81f8
+fc0fc0
+fc0fc0
+fc0fc0
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0115
+ENCODING 8249
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0116
+ENCODING 8250
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0117
+ENCODING 8364
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007ff8
+007ff8
+007ff8
+03f000
+03f000
+03f000
+1fffc0
+1fffc0
+1fffc0
+03f000
+03f000
+03f000
+1fffc0
+1fffc0
+1fffc0
+03f000
+03f000
+03f000
+007ff8
+007ff8
+007ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0118
+ENCODING 8592
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03f000
+03f000
+03f000
+1ffff8
+1ffff8
+1ffff8
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0119
+ENCODING 8593
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C011a
+ENCODING 8594
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000fc0
+000fc0
+000fc0
+1ffff8
+1ffff8
+1ffff8
+000fc0
+000fc0
+000fc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C011b
+ENCODING 8595
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+1ffff8
+1ffff8
+1ffff8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C011c
+ENCODING 8624
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffff8
+1ffff8
+1ffff8
+1ffe00
+1ffe00
+1ffe00
+1fffc0
+1fffc0
+1fffc0
+1f8ff8
+1f8ff8
+1f8ff8
+1f81f8
+1f81f8
+1f81f8
+0001f8
+0001f8
+0001f8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C011d
+ENCODING 9243
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1ffe00
+1ffe00
+1ffe00
+1f8000
+1f8000
+1f8000
+1ffe00
+1ffe00
+1ffe00
+1f8000
+1f8000
+1f8000
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+007ff8
+007ff8
+007ff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C011e
+ENCODING 9473
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C011f
+ENCODING 9475
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+ENDCHAR
+STARTCHAR C0120
+ENCODING 9487
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+007fff
+007fff
+007fff
+007fff
+007fff
+007fff
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0121
+ENCODING 9491
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+fffe00
+fffe00
+fffe00
+fffe00
+fffe00
+fffe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0122
+ENCODING 9495
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007fff
+007fff
+007fff
+007fff
+007fff
+007fff
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0123
+ENCODING 9499
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+fffe00
+fffe00
+fffe00
+fffe00
+fffe00
+fffe00
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0124
+ENCODING 9507
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007fff
+007fff
+007fff
+007fff
+007fff
+007fff
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0125
+ENCODING 9515
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+fffe00
+fffe00
+fffe00
+fffe00
+fffe00
+fffe00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0126
+ENCODING 9523
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0127
+ENCODING 9531
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0128
+ENCODING 9547
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0129
+ENCODING 9585
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+0001ff
+0001ff
+0001ff
+000ff8
+000ff8
+000ff8
+007fc0
+007fc0
+007fc0
+03fe00
+03fe00
+03fe00
+1ff000
+1ff000
+1ff000
+ff8000
+ff8000
+ff8000
+fc0000
+fc0000
+fc0000
+ENDCHAR
+STARTCHAR C012a
+ENCODING 9586
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+fc0000
+fc0000
+fc0000
+ff8000
+ff8000
+ff8000
+1ff000
+1ff000
+1ff000
+03fe00
+03fe00
+03fe00
+007fc0
+007fc0
+007fc0
+000ff8
+000ff8
+000ff8
+0001ff
+0001ff
+0001ff
+00003f
+00003f
+00003f
+ENDCHAR
+STARTCHAR C012b
+ENCODING 9601
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ENDCHAR
+STARTCHAR C012c
+ENCODING 9604
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ENDCHAR
+STARTCHAR C012d
+ENCODING 9612
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+ENDCHAR
+STARTCHAR C012e
+ENCODING 9614
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+fc0000
+ENDCHAR
+STARTCHAR C012f
+ENCODING 9620
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0130
+ENCODING 9622
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+ENDCHAR
+STARTCHAR C0131
+ENCODING 9623
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+ENDCHAR
+STARTCHAR C0132
+ENCODING 9624
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+fff000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0133
+ENCODING 9629
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000fff
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0134
+ENCODING 9654
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007000
+007000
+007000
+007e00
+007e00
+007e00
+007fc0
+007fc0
+007fc0
+007ff8
+007ff8
+007ff8
+007fc0
+007fc0
+007fc0
+007e00
+007e00
+007e00
+007000
+007000
+007000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0135
+ENCODING 9664
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000e00
+000e00
+000e00
+007e00
+007e00
+007e00
+03fe00
+03fe00
+03fe00
+1ffe00
+1ffe00
+1ffe00
+03fe00
+03fe00
+03fe00
+007e00
+007e00
+007e00
+000e00
+000e00
+000e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0136
+ENCODING 9670
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+03ffc0
+03ffc0
+03ffc0
+007e00
+007e00
+007e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0137
+ENCODING 9679
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+03ffc0
+03ffc0
+03ffc0
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0138
+ENCODING 9698
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000007
+000007
+000007
+00003f
+00003f
+00003f
+0001ff
+0001ff
+0001ff
+000fff
+000fff
+000fff
+007fff
+007fff
+007fff
+03ffff
+03ffff
+03ffff
+1fffff
+1fffff
+1fffff
+ffffff
+ffffff
+ffffff
+ENDCHAR
+STARTCHAR C0139
+ENCODING 9699
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+e00000
+e00000
+e00000
+fc0000
+fc0000
+fc0000
+ff8000
+ff8000
+ff8000
+fff000
+fff000
+fff000
+fffe00
+fffe00
+fffe00
+ffffc0
+ffffc0
+ffffc0
+fffff8
+fffff8
+fffff8
+ffffff
+ffffff
+ffffff
+ENDCHAR
+STARTCHAR C013a
+ENCODING 9824
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+1ffff8
+007e00
+007e00
+007e00
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C013b
+ENCODING 9827
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007fc0
+007fc0
+007fc0
+007fc0
+007fc0
+007fc0
+1ff1ff
+1ff1ff
+1ff1ff
+1ff1ff
+1ff1ff
+1ff1ff
+000e00
+000e00
+000e00
+007fc0
+007fc0
+007fc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C013c
+ENCODING 9829
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+1fffff
+1fffff
+1fffff
+1fffff
+1fffff
+1fffff
+03fff8
+03fff8
+03fff8
+007fc0
+007fc0
+007fc0
+000e00
+000e00
+000e00
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C013d
+ENCODING 62456
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+03803f
+03803f
+03803f
+03f03f
+03f03f
+03f03f
+007e3f
+007e3f
+007e3f
+000e3f
+000e3f
+000e3f
+000ff8
+000ff8
+000ff8
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C013e
+ENCODING 65152
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+007fc0
+007fc0
+007fc0
+03f000
+03f000
+03f000
+007fc0
+007fc0
+007fc0
+03fe00
+03fe00
+03fe00
+038000
+038000
+038000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C013f
+ENCODING 65153
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0140
+ENCODING 65154
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0141
+ENCODING 65157
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+fc0fff
+fc0fff
+fc0fff
+007e3f
+007e3f
+007e3f
+000fff
+000fff
+000fff
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0142
+ENCODING 65158
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8000
+1f8000
+1f8000
+fc0fff
+fc0fff
+fc0fff
+007e3f
+007e3f
+007e3f
+000fff
+000fff
+000fff
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0143
+ENCODING 65165
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0144
+ENCODING 65166
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0145
+ENCODING 65167
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0146
+ENCODING 65168
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0147
+ENCODING 65169
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+ENDCHAR
+STARTCHAR C0148
+ENCODING 65170
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+007e00
+007e00
+007e00
+ENDCHAR
+STARTCHAR C0149
+ENCODING 65171
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e3f
+007e3f
+007e3f
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C014a
+ENCODING 65172
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e3f
+007e3f
+007e3f
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C014b
+ENCODING 65173
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C014c
+ENCODING 65174
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C014d
+ENCODING 65175
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1f8fc0
+1f8fc0
+1f8fc0
+000000
+000000
+000000
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C014e
+ENCODING 65176
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C014f
+ENCODING 65177
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0150
+ENCODING 65178
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0151
+ENCODING 65179
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0152
+ENCODING 65180
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0153
+ENCODING 65181
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8000
+1f8000
+1f8000
+1f803f
+1f803f
+1f803f
+03fe00
+03fe00
+03fe00
+ENDCHAR
+STARTCHAR C0154
+ENCODING 65182
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8000
+1f8000
+1f8000
+1f803f
+1f803f
+1f803f
+03fe00
+03fe00
+03fe00
+ENDCHAR
+STARTCHAR C0155
+ENCODING 65183
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+1c0fc0
+1c0fc0
+1c0fc0
+0001f8
+0001f8
+0001f8
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+ENDCHAR
+STARTCHAR C0156
+ENCODING 65184
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8000
+1f8000
+1f8000
+1f803f
+1f803f
+1f803f
+03fe00
+03fe00
+03fe00
+ENDCHAR
+STARTCHAR C0157
+ENCODING 65185
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8007
+1f8007
+1f8007
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C0158
+ENCODING 65186
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8007
+1f8007
+1f8007
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C0159
+ENCODING 65187
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+1c0fc0
+1c0fc0
+1c0fc0
+0001f8
+0001f8
+0001f8
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C015a
+ENCODING 65188
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8007
+1f8007
+1f8007
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C015b
+ENCODING 65189
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8007
+1f8007
+1f8007
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C015c
+ENCODING 65190
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8007
+1f8007
+1f8007
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C015d
+ENCODING 65191
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+000000
+000000
+000000
+1ffe00
+1ffe00
+1ffe00
+1c0fc0
+1c0fc0
+1c0fc0
+0001f8
+0001f8
+0001f8
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C015e
+ENCODING 65192
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+1ffe00
+1ffe00
+1ffe00
+000fc0
+000fc0
+000fc0
+03fff8
+03fff8
+03fff8
+1f803f
+1f803f
+1f803f
+1f8007
+1f8007
+1f8007
+1f8000
+1f8000
+1f8000
+03ffc0
+03ffc0
+03ffc0
+ENDCHAR
+STARTCHAR C015f
+ENCODING 65193
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0160
+ENCODING 65194
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0161
+ENCODING 65195
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0162
+ENCODING 65196
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0163
+ENCODING 65197
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0164
+ENCODING 65198
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0165
+ENCODING 65199
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+00003f
+00003f
+00003f
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0166
+ENCODING 65200
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+00003f
+00003f
+00003f
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C0167
+ENCODING 65201
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e07fff
+e07fff
+e07fff
+e07ff8
+e07ff8
+e07ff8
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0168
+ENCODING 65202
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e07fff
+e07fff
+e07fff
+e07ff8
+e07ff8
+e07ff8
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0169
+ENCODING 65203
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+1c0e07
+1c0e07
+1c0e07
+fc7e3f
+fc7e3f
+fc7e3f
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C016a
+ENCODING 65204
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e07fff
+e07fff
+e07fff
+e07ff8
+e07ff8
+e07ff8
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C016b
+ENCODING 65205
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+03f03f
+03f03f
+03f03f
+000000
+000000
+000000
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e07fff
+e07fff
+e07fff
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C016c
+ENCODING 65206
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+03f03f
+03f03f
+03f03f
+000000
+000000
+000000
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e07fff
+e07fff
+e07fff
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C016d
+ENCODING 65207
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+1f81f8
+1f81f8
+1f81f8
+000000
+000000
+000000
+1c0e07
+1c0e07
+1c0e07
+fc7e3f
+fc7e3f
+fc7e3f
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C016e
+ENCODING 65208
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+03f03f
+03f03f
+03f03f
+000000
+000000
+000000
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e071c7
+e07fff
+e07fff
+e07fff
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C016f
+ENCODING 65209
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+e07e07
+e07e07
+e07e07
+e07007
+e07007
+e07007
+e07fff
+e07fff
+e07fff
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0170
+ENCODING 65210
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+e07e07
+e07e07
+e07e07
+e07007
+e07007
+e07007
+e07fff
+e07fff
+e07fff
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0171
+ENCODING 65211
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+1c7e07
+1c7e07
+1c7e07
+fff007
+fff007
+fff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0172
+ENCODING 65212
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+e07e07
+e07e07
+e07e07
+e07007
+e07007
+e07007
+e07fff
+e07fff
+e07fff
+fff000
+fff000
+fff000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0173
+ENCODING 65213
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+000fff
+000fff
+000fff
+e07e07
+e07e07
+e07e07
+e07007
+e07007
+e07007
+e07fff
+e07fff
+e07fff
+fffe00
+fffe00
+fffe00
+1ff000
+1ff000
+1ff000
+ENDCHAR
+STARTCHAR C0174
+ENCODING 65214
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+000fff
+000fff
+000fff
+e07e07
+e07e07
+e07e07
+e07007
+e07007
+e07007
+e07fff
+e07fff
+e07fff
+fffe00
+fffe00
+fffe00
+1ff000
+1ff000
+1ff000
+ENDCHAR
+STARTCHAR C0175
+ENCODING 65215
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+007e00
+007e00
+007e00
+000000
+000000
+000000
+000fff
+000fff
+000fff
+1c7e07
+1c7e07
+1c7e07
+fff007
+fff007
+fff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0176
+ENCODING 65216
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+000fff
+000fff
+000fff
+e07e07
+e07e07
+e07e07
+e07007
+e07007
+e07007
+e07fff
+e07fff
+e07fff
+fffe00
+fffe00
+fffe00
+1ff000
+1ff000
+1ff000
+ENDCHAR
+STARTCHAR C0177
+ENCODING 65217
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0178
+ENCODING 65218
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0179
+ENCODING 65219
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C017a
+ENCODING 65220
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C017b
+ENCODING 65221
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8fc0
+1f8fc0
+1f8fc0
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C017c
+ENCODING 65222
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8fc0
+1f8fc0
+1f8fc0
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C017d
+ENCODING 65223
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8fc0
+1f8fc0
+1f8fc0
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C017e
+ENCODING 65224
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8fc0
+1f8fc0
+1f8fc0
+1f8000
+1f8000
+1f8000
+1f8fff
+1f8fff
+1f8fff
+1ffe07
+1ffe07
+1ffe07
+1ff007
+1ff007
+1ff007
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C017f
+ENCODING 65225
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffff
+03ffff
+03ffff
+1f8007
+1f8007
+1f8007
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0180
+ENCODING 65226
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffff
+03ffff
+03ffff
+1f8007
+1f8007
+1f8007
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0181
+ENCODING 65227
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007fc0
+007fc0
+007fc0
+03fff8
+03fff8
+03fff8
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0182
+ENCODING 65228
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffff
+03ffff
+03ffff
+1f8007
+1f8007
+1f8007
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0183
+ENCODING 65229
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffff
+03ffff
+03ffff
+1f8007
+1f8007
+1f8007
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0184
+ENCODING 65230
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffff
+03ffff
+03ffff
+1f8007
+1f8007
+1f8007
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0185
+ENCODING 65231
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+007fc0
+007fc0
+007fc0
+03fff8
+03fff8
+03fff8
+03f000
+03f000
+03f000
+007e00
+007e00
+007e00
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0186
+ENCODING 65232
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8000
+1f8000
+1f8000
+000ff8
+000ff8
+000ff8
+007e00
+007e00
+007e00
+007e00
+007e00
+007e00
+03ffff
+03ffff
+03ffff
+1f8007
+1f8007
+1f8007
+1ff000
+1ff000
+1ff000
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0187
+ENCODING 65233
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+0001ff
+0001ff
+0001ff
+fc0fc7
+fc0fc7
+fc0fc7
+fc01ff
+fc01ff
+fc01ff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0188
+ENCODING 65234
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+0001ff
+0001ff
+0001ff
+fc0fc7
+fc0fc7
+fc0fc7
+fc01ff
+fc01ff
+fc01ff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0189
+ENCODING 65235
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f000
+03f000
+03f000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+000fc7
+000fc7
+000fc7
+0001ff
+0001ff
+0001ff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C018a
+ENCODING 65236
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+03f000
+03f000
+03f000
+0001ff
+0001ff
+0001ff
+fc0fc7
+fc0fc7
+fc0fc7
+fc01ff
+fc01ff
+fc01ff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C018b
+ENCODING 65237
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+0001ff
+0001ff
+0001ff
+1c0fc7
+1c0fc7
+1c0fc7
+fc01ff
+fc01ff
+fc01ff
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C018c
+ENCODING 65238
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+0001ff
+0001ff
+0001ff
+1c0fc7
+1c0fc7
+1c0fc7
+fc01ff
+fc01ff
+fc01ff
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C018d
+ENCODING 65239
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+1f8fc0
+1f8fc0
+1f8fc0
+000000
+000000
+000000
+007fff
+007fff
+007fff
+007e07
+007e07
+007e07
+000fff
+000fff
+000fff
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C018e
+ENCODING 65240
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03f1f8
+03f1f8
+03f1f8
+000000
+000000
+000000
+0001ff
+0001ff
+0001ff
+1c0fc7
+1c0fc7
+1c0fc7
+fc01ff
+fc01ff
+fc01ff
+fc003f
+fc003f
+fc003f
+1ffff8
+1ffff8
+1ffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C018f
+ENCODING 65241
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+03f03f
+03f03f
+03f03f
+03803f
+03803f
+03803f
+1ff03f
+1ff03f
+1ff03f
+00003f
+00003f
+00003f
+e0003f
+e0003f
+e0003f
+fffff8
+fffff8
+fffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0190
+ENCODING 65242
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+03f03f
+03f03f
+03f03f
+03803f
+03803f
+03803f
+1ff03f
+1ff03f
+1ff03f
+00003f
+00003f
+00003f
+e0003f
+e0003f
+e0003f
+fffff8
+fffff8
+fffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0191
+ENCODING 65243
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+007fc0
+007fc0
+007fc0
+0001f8
+0001f8
+0001f8
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0192
+ENCODING 65244
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+03f03f
+03f03f
+03f03f
+03803f
+03803f
+03803f
+1ff03f
+1ff03f
+1ff03f
+00003f
+00003f
+00003f
+e0003f
+e0003f
+e0003f
+fffff8
+fffff8
+fffff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0193
+ENCODING 65245
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0194
+ENCODING 65246
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0195
+ENCODING 65247
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C0196
+ENCODING 65248
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+03fff8
+03fff8
+03fff8
+ENDCHAR
+STARTCHAR C0197
+ENCODING 65249
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+007fff
+007fff
+007fff
+03ffc7
+03ffc7
+03ffc7
+1f81ff
+1f81ff
+1f81ff
+1f803f
+1f803f
+1f803f
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0198
+ENCODING 65250
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+007fff
+007fff
+007fff
+03ffc7
+03ffc7
+03ffc7
+1f81ff
+1f81ff
+1f81ff
+1f803f
+1f803f
+1f803f
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C0199
+ENCODING 65251
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+0001ff
+0001ff
+0001ff
+000fc7
+000fc7
+000fc7
+ffffc7
+ffffc7
+ffffc7
+0001ff
+0001ff
+0001ff
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C019a
+ENCODING 65252
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+0001f8
+0001f8
+0001f8
+007fff
+007fff
+007fff
+03ffc7
+03ffc7
+03ffc7
+1f81ff
+1f81ff
+1f81ff
+1f803f
+1f803f
+1f803f
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+1f8000
+ENDCHAR
+STARTCHAR C019b
+ENCODING 65253
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+038038
+038038
+038038
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C019c
+ENCODING 65254
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+038038
+038038
+038038
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C019d
+ENCODING 65255
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000fc0
+000fc0
+000fc0
+000000
+000000
+000000
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C019e
+ENCODING 65256
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007e00
+007e00
+007e00
+000000
+000000
+000000
+038038
+038038
+038038
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+1f803f
+03fff8
+03fff8
+03fff8
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C019f
+ENCODING 65257
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C01a0
+ENCODING 65258
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C01a1
+ENCODING 65259
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+007000
+007000
+007000
+03fff8
+03fff8
+03fff8
+0381ff
+0381ff
+0381ff
+03fe07
+03fe07
+03fe07
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C01a2
+ENCODING 65260
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C01a3
+ENCODING 65261
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C01a4
+ENCODING 65262
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000fff
+000fff
+000fff
+007e3f
+007e3f
+007e3f
+007fff
+007fff
+007fff
+00003f
+00003f
+00003f
+0001f8
+0001f8
+0001f8
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C01a5
+ENCODING 65263
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+fc7e3f
+fc7e3f
+fc7e3f
+fc7e07
+fc7e07
+fc7e07
+fc0fc7
+fc0fc7
+fc0fc7
+fc0fc0
+fc0fc0
+fc0fc0
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C01a6
+ENCODING 65264
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+fc7e3f
+fc7e3f
+fc7e3f
+fc7e07
+fc7e07
+fc7e07
+fc0fc7
+fc0fc7
+fc0fc7
+fc0fc0
+fc0fc0
+fc0fc0
+1fffc0
+1fffc0
+1fffc0
+ENDCHAR
+STARTCHAR C01a7
+ENCODING 65265
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+e07fff
+e07fff
+e07fff
+e07e07
+e07e07
+e07e07
+fc0fc7
+fc0fc7
+fc0fc7
+1fffc7
+1fffc7
+1fffc7
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+ENDCHAR
+STARTCHAR C01a8
+ENCODING 65266
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+e07fff
+e07fff
+e07fff
+e07e07
+e07e07
+e07e07
+fc0fc7
+fc0fc7
+fc0fc7
+1fffc7
+1fffc7
+1fffc7
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+ENDCHAR
+STARTCHAR C01a9
+ENCODING 65267
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+00003f
+00003f
+00003f
+00003f
+00003f
+00003f
+ffffff
+ffffff
+ffffff
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+ENDCHAR
+STARTCHAR C01aa
+ENCODING 65268
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+000000
+000000
+000000
+000ff8
+000ff8
+000ff8
+e07fff
+e07fff
+e07fff
+e07e07
+e07e07
+e07e07
+fc0fc7
+fc0fc7
+fc0fc7
+1fffc7
+1fffc7
+1fffc7
+000000
+000000
+000000
+03f1f8
+03f1f8
+03f1f8
+ENDCHAR
+STARTCHAR C01ab
+ENCODING 65271
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+00003f
+00003f
+00003f
+03803f
+03803f
+03803f
+03f03f
+03f03f
+03f03f
+007e3f
+007e3f
+007e3f
+000e3f
+000e3f
+000e3f
+000ff8
+000ff8
+000ff8
+1fffc0
+1fffc0
+1fffc0
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR C01ac
+ENCODING 65533
+SWIDTH 666 0
+DWIDTH 24 0
+BBX 24 24 0 -6
+BITMAP
+03ffc0
+03ffc0
+03ffc0
+1f81f8
+1f81f8
+1f81f8
+1c7e38
+1c7e38
+1c7e38
+1ff1f8
+1ff1f8
+1ff1f8
+1ffff8
+1ffff8
+1ffff8
+1ff1f8
+1ff1f8
+1ff1f8
+03ffc0
+03ffc0
+03ffc0
+000000
+000000
+000000
+ENDCHAR
+ENDFONT
diff --git a/fonts/fauxtari-24.psf b/fonts/fauxtari-24.psf
new file mode 100644
index 0000000..901df8d
--- /dev/null
+++ b/fonts/fauxtari-24.psf
Binary files differ
diff --git a/fonts/fauxtari-24.txt b/fonts/fauxtari-24.txt
new file mode 100644
index 0000000..e667ba8
--- /dev/null
+++ b/fonts/fauxtari-24.txt
@@ -0,0 +1,5331 @@
+%PSF2
+Version: 0
+Flags: 1
+Length: 512
+Width: 24
+Height: 24
+%
+Unicode: [2665];
+Bitmap: \
+------------------------------------------------------------------------ \
+------######---######---------######---######---------######---######--- \
+---#####################---#####################---##################### \
+---#####################---#####################---##################### \
+------###############---------###############---------###############--- \
+---------#########---------------#########---------------#########------ \
+------------###---------------------###---------------------###--------- \
+------------------------------------------------------------------------
+%
+Unicode: [2523];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------###############---------###############---------############### \
+---------###############---------###############---------############### \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [2503];
+Bitmap: \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------######
+%
+Unicode: [251b];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+###############---------###############---------###############--------- \
+###############---------###############---------###############--------- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [252b];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+###############---------###############---------###############--------- \
+###############---------###############---------###############--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [2513];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+###############---------###############---------###############--------- \
+###############---------###############---------###############--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [2571];
+Bitmap: \
+------------------######------------------######------------------###### \
+---------------#########---------------#########---------------######### \
+------------#########---------------#########---------------#########--- \
+---------#########---------------#########---------------#########------ \
+------#########---------------#########---------------#########--------- \
+---#########---------------#########---------------#########------------ \
+#########---------------#########---------------#########--------------- \
+######------------------######------------------######------------------
+%
+Unicode: [2572];
+Bitmap: \
+######------------------######------------------######------------------ \
+#########---------------#########---------------#########--------------- \
+---#########---------------#########---------------#########------------ \
+------#########---------------#########---------------#########--------- \
+---------#########---------------#########---------------#########------ \
+------------#########---------------#########---------------#########--- \
+---------------#########---------------#########---------------######### \
+------------------######------------------######------------------######
+%
+Unicode: [25e2];
+Bitmap: \
+---------------------###---------------------###---------------------### \
+------------------######------------------######------------------###### \
+---------------#########---------------#########---------------######### \
+------------############------------############------------############ \
+---------###############---------###############---------############### \
+------##################------##################------################## \
+---#####################---#####################---##################### \
+########################################################################
+%
+Unicode: [2597];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+------------############------------############------------############ \
+------------############------------############------------############ \
+------------############------------############------------############
+%
+Unicode: [25e3];
+Bitmap: \
+###---------------------###---------------------###--------------------- \
+######------------------######------------------######------------------ \
+#########---------------#########---------------#########--------------- \
+############------------############------------############------------ \
+###############---------###############---------###############--------- \
+##################------##################------##################------ \
+#####################---#####################---#####################--- \
+########################################################################
+%
+Unicode: [259d];
+Bitmap: \
+------------############------------############------------############ \
+------------############------------############------------############ \
+------------############------------############------------############ \
+------------############------------############------------############ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [2598];
+Bitmap: \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [2594];
+Bitmap: \
+######################################################################## \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [2581];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+######################################################################## \
+########################################################################
+%
+Unicode: [2596];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------
+%
+Unicode: [2663];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------#########---------------#########---------------#########------ \
+---------#########---------------#########---------------#########------ \
+---#########---#########---#########---#########---#########---######### \
+---#########---#########---#########---#########---#########---######### \
+------------###---------------------###---------------------###--------- \
+---------#########---------------#########---------------#########------ \
+------------------------------------------------------------------------
+%
+Unicode: [250f];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------###############---------###############---------############### \
+---------###############---------###############---------############### \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [2501];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+######################################################################## \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [254b];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+######################################################################## \
+######################################################################## \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [25cf];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---##################------##################------##################--- \
+---##################------##################------##################--- \
+---##################------##################------##################--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [2584];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+######################################################################## \
+######################################################################## \
+######################################################################## \
+########################################################################
+%
+Unicode: [258e];
+Bitmap: \
+######------------------######------------------######------------------ \
+######------------------######------------------######------------------ \
+######------------------######------------------######------------------ \
+######------------------######------------------######------------------ \
+######------------------######------------------######------------------ \
+######------------------######------------------######------------------ \
+######------------------######------------------######------------------ \
+######------------------######------------------######------------------
+%
+Unicode: [2533];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+######################################################################## \
+######################################################################## \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [253b];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+######################################################################## \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [258c];
+Bitmap: \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------ \
+############------------############------------############------------
+%
+Unicode: [2517];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------###############---------###############---------############### \
+---------###############---------###############---------############### \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0118];[241b];
+Bitmap: \
+---############------------############------------############--------- \
+---######------------------######------------------######--------------- \
+---############------------############------------############--------- \
+---######------------------######------------------######--------------- \
+---##################------##################------##################--- \
+---------######------------------######------------------######--------- \
+---------############------------############------------############--- \
+------------------------------------------------------------------------
+%
+Unicode: [2191];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---##################------##################------##################--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [2193];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+------############------------############------------############------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [2190];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---##################------##################------##################--- \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [2192];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------------######------------------######------------------######------ \
+---##################------##################------##################--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0020];[00a0];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0021];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0022];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0023];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+######################################################################## \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+######################################################################## \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0024];
+Bitmap: \
+---------######------------------######------------------######--------- \
+------###############---------###############---------###############--- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+---###############---------###############---------###############------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0025];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######---######---------######---######---------######---######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---######------######------######------######------######------######--- \
+---###---------######------###---------######------###---------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0026];
+Bitmap: \
+---------#########---------------#########---------------#########------ \
+------######---######---------######---######---------######---######--- \
+---------#########---------------#########---------------#########------ \
+------#########---------------#########---------------#########--------- \
+---######---############---######---############---######---############ \
+---######------######------######------######------######------######--- \
+------#########---######------#########---######------#########---###### \
+------------------------------------------------------------------------
+%
+Unicode: [0027];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0028];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------#########---------------#########---------------#########--- \
+---------#########---------------#########---------------#########------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------#########---------------#########---------------#########------ \
+------------#########---------------#########---------------#########--- \
+------------------------------------------------------------------------
+%
+Unicode: [0029];
+Bitmap: \
+------------------------------------------------------------------------ \
+---#########---------------#########---------------#########------------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------#########---------------#########---------------#########--------- \
+---#########---------------#########---------------#########------------ \
+------------------------------------------------------------------------
+%
+Unicode: [002a];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+######################################################################## \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [002b];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [002c];[00b8];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------
+%
+Unicode: [002d];[00ad];[2013];[2014];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [002e];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [002f];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---######------------------######------------------######--------------- \
+---###---------------------###---------------------###------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0030];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######---#########------######---#########------######---#########--- \
+---#########---######------#########---######------#########---######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0031];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0032];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0033];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------------######------------------######------------------######------ \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0034];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------######------------------######------------------######------ \
+---------#########---------------#########---------------#########------ \
+------############------------############------------############------ \
+---######---######---------######---######---------######---######------ \
+---##################------##################------##################--- \
+------------######------------------######------------------######------ \
+------------------------------------------------------------------------
+%
+Unicode: [0035];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+---###############---------###############---------###############------ \
+---------------######------------------######------------------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0036];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------------------######------------------######--------------- \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0037];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+---------------######------------------######------------------######--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+------######------------------######------------------######------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0038];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0039];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+---------------######------------------######------------------######--- \
+------------######------------------######------------------######------ \
+------#########---------------#########---------------#########--------- \
+------------------------------------------------------------------------
+%
+Unicode: [003a];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [003b];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------
+%
+Unicode: [003c];
+Bitmap: \
+---------------######------------------######------------------######--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------######------------------######------------------######------ \
+---------------######------------------######------------------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [003d];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [003e];
+Bitmap: \
+---######------------------######------------------######--------------- \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---######------------------######------------------######--------------- \
+------------------------------------------------------------------------
+%
+Unicode: [003f];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0040];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######---#########------######---#########------######---#########--- \
+---######---#########------######---#########------######---#########--- \
+---######------------------######------------------######--------------- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [0041];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0042];
+Bitmap: \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---###############---------###############---------###############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0043];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0044];
+Bitmap: \
+------------------------------------------------------------------------ \
+---############------------############------------############--------- \
+---######---######---------######---######---------######---######------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######---######---------######---######---------######---######------ \
+---############------------############------------############--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0045];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+---###############---------###############---------###############------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0046];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+---###############---------###############---------###############------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+------------------------------------------------------------------------
+%
+Unicode: [0047];
+Bitmap: \
+------------------------------------------------------------------------ \
+------###############---------###############---------###############--- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######---#########------######---#########------######---#########--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [0048];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0049];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [004a];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [004b];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######---######---------######---######---------######---######------ \
+---############------------############------------############--------- \
+---############------------############------------############--------- \
+---######---######---------######---######---------######---######------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [004c];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [004d];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######---------######---######---------######---######---------###### \
+---#########---#########---#########---#########---#########---######### \
+---#####################---#####################---##################### \
+---######---###---######---######---###---######---######---###---###### \
+---######---------######---######---------######---######---------###### \
+---######---------######---######---------######---######---------###### \
+------------------------------------------------------------------------
+%
+Unicode: [004e];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---#########---######------#########---######------#########---######--- \
+---##################------##################------##################--- \
+---##################------##################------##################--- \
+---######---#########------######---#########------######---#########--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [004f];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0050];
+Bitmap: \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---###############---------###############---------###############------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+------------------------------------------------------------------------
+%
+Unicode: [0051];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######---######---------######---######---------######---######------ \
+------######---######---------######---######---------######---######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0052];
+Bitmap: \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---###############---------###############---------###############------ \
+---######---######---------######---######---------######---######------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0053];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0054];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0055];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0056];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0057];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######---------######---######---------######---######---------###### \
+---######---------######---######---------######---######---------###### \
+---######---###---######---######---###---######---######---###---###### \
+---#####################---#####################---##################### \
+---#########---#########---#########---#########---#########---######### \
+---######---------######---######---------######---######---------###### \
+------------------------------------------------------------------------
+%
+Unicode: [0058];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0059];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [005a];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---######------------------######------------------######--------------- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [005b];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------############------------############------------############--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------############------------############------------############--- \
+------------------------------------------------------------------------
+%
+Unicode: [005c];
+Bitmap: \
+------------------------------------------------------------------------ \
+---###---------------------###---------------------###------------------ \
+---######------------------######------------------######--------------- \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------######------------------######------------------######------ \
+---------------######------------------######------------------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [005d];
+Bitmap: \
+------------------------------------------------------------------------ \
+---############------------############------------############--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---############------------############------------############--------- \
+------------------------------------------------------------------------
+%
+Unicode: [005e];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------###---------------------###---------------------###--------- \
+---------#########---------------#########---------------#########------ \
+------######---######---------######---######---------######---######--- \
+---######---------######---######---------######---######---------###### \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [005f];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+######################################################################## \
+------------------------------------------------------------------------
+%
+Unicode: [25c6];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---##################------##################------##################--- \
+---##################------##################------##################--- \
+------############------------############------------############------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0061];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [0062];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---###############---------###############---------###############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0063];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0064];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [0065];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0066];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------#########---------------#########---------------#########--- \
+---------######------------------######------------------######--------- \
+------###############---------###############---------###############--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0067];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+---------------######------------------######------------------######--- \
+---###############---------###############---------###############------
+%
+Unicode: [0068];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0069];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [006a];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+------############------------############------------############------
+%
+Unicode: [006b];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######---######---------######---######---------######---######------ \
+---############------------############------------############--------- \
+---######---######---------######---######---------######---######------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [006c];
+Bitmap: \
+------------------------------------------------------------------------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [006d];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---#####################---#####################---##################### \
+---#####################---#####################---##################### \
+---######---###---######---######---###---######---######---###---###### \
+---######---------######---######---------######---######---------###### \
+------------------------------------------------------------------------
+%
+Unicode: [006e];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [006f];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0070];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---###############---------###############---------###############------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######---------------
+%
+Unicode: [0071];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######---
+%
+Unicode: [0072];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+------------------------------------------------------------------------
+%
+Unicode: [0073];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------###############---------###############---------###############--- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+---###############---------###############---------###############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0074];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------#########---------------#########---------------#########--- \
+------------------------------------------------------------------------
+%
+Unicode: [0075];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [0076];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0077];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---######---------######---######---------######---######---------###### \
+---######---###---######---######---###---######---######---###---###### \
+---#####################---#####################---##################### \
+------###############---------###############---------###############--- \
+------######---######---------######---######---------######---######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0078];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0079];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------######------------------######------------------######------ \
+---############------------############------------############---------
+%
+Unicode: [007a];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [2660];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---##################------##################------##################--- \
+---##################------##################------##################--- \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [007c];[0622];[fe81];[fe82];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [21b0];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+---############------------############------------############--------- \
+---###############---------###############---------###############------ \
+---######---#########------######---#########------######---#########--- \
+---######------######------######------######------######------######--- \
+---------------######------------------######------------------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [25c0];
+Bitmap: \
+------------###---------------------###---------------------###--------- \
+---------######------------------######------------------######--------- \
+------#########---------------#########---------------#########--------- \
+---############------------############------------############--------- \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+------------###---------------------###---------------------###--------- \
+------------------------------------------------------------------------
+%
+Unicode: [25b6];
+Bitmap: \
+---------###---------------------###---------------------###------------ \
+---------######------------------######------------------######--------- \
+---------#########---------------#########---------------#########------ \
+---------############------------############------------############--- \
+---------#########---------------#########---------------#########------ \
+---------######------------------######------------------######--------- \
+---------###---------------------###---------------------###------------ \
+------------------------------------------------------------------------
+%
+Unicode: [00e1];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00f9];
+Bitmap: \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00d1];
+Bitmap: \
+------######---######---------######---######---------######---######--- \
+---######---######---------######---######---------######---######------ \
+------------------------------------------------------------------------ \
+---#########---######------#########---######------#########---######--- \
+---#########---######------#########---######------#########---######--- \
+---##################------##################------##################--- \
+---######---#########------######---#########------######---#########--- \
+------------------------------------------------------------------------
+%
+Unicode: [00c9];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+---###############---------###############---------###############------ \
+---######------------------######------------------######--------------- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [00e7];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------
+%
+Unicode: [00f4];
+Bitmap: \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00f2];
+Bitmap: \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00ec];
+Bitmap: \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00a3];
+Bitmap: \
+---------#########---------------#########---------------#########------ \
+------######------------------######------------------######------------ \
+------######------------------######------------------######------------ \
+---############------------############------------############--------- \
+------######------------------######------------------######------------ \
+------######------------------######------------------######------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [00ef];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00fc];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00e4];
+Bitmap: \
+------######---######---------######---######---------######---######--- \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00d6];
+Bitmap: \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00fa];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00f3];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00f6];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00dc];
+Bitmap: \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [00e5];
+Bitmap: \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---------#########---------------#########---------------#########------ \
+---------------######------------------######------------------######--- \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00fb];
+Bitmap: \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00ee];
+Bitmap: \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00e9];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00e8];
+Bitmap: \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [00f1];
+Bitmap: \
+------######---######---------######---######---------######---######--- \
+---######---######---------######---######---------######---######------ \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [00ea];
+Bitmap: \
+------############------------############------------############------ \
+######------------############------------############------------###### \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0227];
+Bitmap: \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00e0];
+Bitmap: \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [00a1];
+Bitmap: \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+Unicode: [00c4];
+Bitmap: \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [05d0];
+Bitmap: \
+------------------------------------------------------------------------ \
+######---------######---######---------######---######---------######--- \
+############---######---############---######---############---######--- \
+######---############---######---############---######---############--- \
+######------######------######------######------######------######------ \
+######---------######---######---------######---######---------######--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d1];
+Bitmap: \
+------------------------------------------------------------------------ \
+###############---------###############---------###############--------- \
+---------#########---------------#########---------------#########------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+#####################---#####################---#####################--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d2];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+---###############---------###############---------###############------ \
+#########------######---#########------######---#########------######--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d3];
+Bitmap: \
+------------------------------------------------------------------------ \
+#####################---#####################---#####################--- \
+---------#########---------------#########---------------#########------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d4];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+---------------######------------------######------------------######--- \
+---###---------######------###---------######------###---------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d5];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---------#########---------------#########---------------#########------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d6];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+---#########---------------#########---------------#########------------ \
+------######------------------######------------------######------------ \
+------######------------------######------------------######------------ \
+------######------------------######------------------######------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d7];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d8];
+Bitmap: \
+------------------------------------------------------------------------ \
+######---############---######---############---######---############--- \
+######---###---######---######---###---######---######---###---######--- \
+######---------######---######---------######---######---------######--- \
+######---------######---######---------######---######---------######--- \
+##################------##################------##################------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05d9];
+Bitmap: \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---------#########---------------#########---------------#########------ \
+------------######------------------######------------------######------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05da];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+------------#########---------------#########---------------#########--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######---
+%
+Unicode: [05db];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+------------#########---------------#########---------------#########--- \
+##################------##################------##################------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05dc];
+Bitmap: \
+######------------------######------------------######------------------ \
+##################------##################------##################------ \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+------------#########---------------#########---------------#########--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05dd];
+Bitmap: \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05de];
+Bitmap: \
+------------------------------------------------------------------------ \
+######---#########------######---#########------######---#########------ \
+---#########---######------#########---######------#########---######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######---#########------######---#########------######---#########--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05df];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------############------------############------------############--- \
+------------#########---------------#########---------------#########--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######---
+%
+Unicode: [05e0];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------############------------############------------############--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+------------#########---------------#########---------------#########--- \
+---###############---------###############---------###############------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05e1];
+Bitmap: \
+------------------------------------------------------------------------ \
+#####################---#####################---#####################--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######---######---------######---######---------######---######------ \
+---############------------############------------############--------- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05e2];
+Bitmap: \
+------------------------------------------------------------------------ \
+#########---#########---#########---#########---#########---#########--- \
+---######------######------######------######------######------######--- \
+------######---######---------######---######---------######---######--- \
+------######---######---------######---######---------######---######--- \
+##################------##################------##################------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05e3];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+---######---#########------######---#########------######---#########--- \
+---######------######------######------######------######------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######---
+%
+Unicode: [05e4];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------#########---------------#########---------------#########--- \
+##################------##################------##################------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05e5];
+Bitmap: \
+------------------------------------------------------------------------ \
+######------#########---######------#########---######------#########--- \
+---######------######------######------######------######------######--- \
+---######---######---------######---######---------######---######------ \
+---############------------############------------############--------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######---------------
+%
+Unicode: [05e6];
+Bitmap: \
+------------------------------------------------------------------------ \
+######---------######---######---------######---######---------######--- \
+---######---#########------######---#########------######---#########--- \
+------#########---------------#########---------------#########--------- \
+------------######------------------######------------------######------ \
+#####################---#####################---#####################--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05e7];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+------------#########---------------#########---------------#########--- \
+######---------######---######---------######---######---------######--- \
+######------######------######------######------######------######------ \
+######---######---------######---######---------######---######--------- \
+######------------------######------------------######------------------ \
+######------------------######------------------######------------------
+%
+Unicode: [05e8];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+------------#########---------------#########---------------#########--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05e9];
+Bitmap: \
+------------------------------------------------------------------------ \
+###------###------###---###------###------###---###------###------###--- \
+######---###------###---######---###------###---######---###------###--- \
+#########------######---#########------######---#########------######--- \
+######------######------######------######------######------######------ \
+##################------##################------##################------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [05ea];
+Bitmap: \
+------------------------------------------------------------------------ \
+##################------##################------##################------ \
+---######---#########------######---#########------######---#########--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+#########------######---#########------######---#########------######--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0179];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+------######---######---------######---######---------######---######--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0105];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------######------------------######------------------######
+%
+Unicode: [017a];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0107];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [015a];
+Bitmap: \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+---------------######------------------######------------------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0119];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+---------------######------------------######------------------######---
+%
+Unicode: [00df];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------#########---------------#########---------------#########------ \
+------######---######---------######---######---------######---######--- \
+------############------------############------------############------ \
+------######---######---------######---######---------######---######--- \
+------######---#########------######---#########------######---######### \
+------###############---------###############---------###############--- \
+---######------------------######------------------######---------------
+%
+Unicode: [0141];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---############------------############------------############--------- \
+---#########---------------#########---------------#########------------ \
+#########---------------#########---------------#########--------------- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0142];
+Bitmap: \
+------------------------------------------------------------------------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+---------#########---------------#########---------------#########------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0143];
+Bitmap: \
+------------######------------------######------------------######------ \
+---###---######---###------###---######---###------###---######---###--- \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---##################------##################------##################--- \
+---######---#########------######---#########------######---#########--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [0144];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+---###############---------###############---------###############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------
+%
+Unicode: [00d3];
+Bitmap: \
+---------------######------------------######------------------######--- \
+------############------------############------------############------ \
+---######---###---###------######---###---###------######---###---###--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------------------------------------------------------------------------
+%
+Unicode: [015b];
+Bitmap: \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------###############---------###############---------###############--- \
+---######------------------######------------------######--------------- \
+------############------------############------------############------ \
+---------------######------------------######------------------######--- \
+---###############---------###############---------###############------ \
+------------------------------------------------------------------------
+%
+Unicode: [0106];
+Bitmap: \
+------------######------------------######------------------######------ \
+------############------------############------------############------ \
+---######---#########------######---#########------######---#########--- \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######------######------######------######------######------######--- \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [0104];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+---######------######------######------######------######------######--- \
+------------------######------------------######------------------######
+%
+Unicode: [017b];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---##################------##################------##################--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---######------------------######------------------######--------------- \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [017c];
+Bitmap: \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---##################------##################------##################--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0660];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+------------######------------------######------------------######------ \
+---------######------------------######------------------######--------- \
+------######------------------######------------------######------------ \
+---######------------------######------------------######--------------- \
+---###---------------------###---------------------###------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0661];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------###---------------------###---------------------###--------- \
+---------#########---------------#########---------------#########------ \
+------###############---------###############---------###############--- \
+---------#########---------------#########---------------#########------ \
+------------###---------------------###---------------------###--------- \
+------------------------------------------------------------------------
+%
+Unicode: [0662];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [0663];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------------------######------------------######--------------- \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------######------------------######------------------######------ \
+---------------######------------------######------------------######---
+%
+Unicode: [0664];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######---###---######---######---###---######---######---###---###### \
+---######---###---######---######---###---######---######---###---###### \
+---#####################---#####################---##################### \
+---#########---------------#########---------------#########------------ \
+------######------------------######------------------######------------ \
+------#########---------------#########---------------#########--------- \
+---------######------------------######------------------######---------
+%
+Unicode: [0665];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------############------------############------------############--- \
+------#########---------------#########---------------#########--------- \
+---#########---------------#########---------------#########------------ \
+---------#########---------------#########---------------#########------ \
+------#########---------------#########---------------#########--------- \
+---#########---------------#########---------------#########------------ \
+------###############---------###############---------###############---
+%
+Unicode: [0666];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------#########---------------#########---------------#########------ \
+------###############---------###############---------###############--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---##################------##################------##################--- \
+------############------------############------------############------
+%
+Unicode: [0667];
+Bitmap: \
+------------------------------------------------------------------------ \
+---###############---------###############---------###############------ \
+---###############---------###############---------###############------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------ \
+------------######------------------######------------------######------
+%
+Unicode: [0668];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+------############------------############------------############------ \
+------############------------############------------############------ \
+---------######------------------######------------------######---------
+%
+Unicode: [0669];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------############------------############------------############------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######--- \
+---######------######------######------######------######------######---
+%
+Unicode: [0624];[fe85];[fe86];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######------------------######------------------######--------------- \
+######------##################------##################------############ \
+---------######---######---------######---######---------######---###### \
+------------############------------############------------############ \
+------------------######------------------######------------------###### \
+---------------######------------------######------------------######--- \
+---###############---------###############---------###############------
+%
+Unicode: [0634];[feb5];[feb6];[feb8];
+Bitmap: \
+------------######------------------######------------------######------ \
+------######------######------######------######------######------###### \
+------------------------------------------------------------------------ \
+###------###---###---######------###---###---######------###---###---### \
+###------###---###---######------###---###---######------###---###---### \
+###------##################------##################------############### \
+############------------############------------############------------ \
+---######------------------######------------------######---------------
+%
+Unicode: [0648];[feed];[feee];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+---------######---######---------######---######---------######---###### \
+---------###############---------###############---------############### \
+------------------######------------------######------------------###### \
+---------------######------------------######------------------######--- \
+---###############---------###############---------###############------
+%
+Unicode: [0629];[fe93];[fe94];
+Bitmap: \
+---------######---######---------######---######---------######---###### \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+---------######---######---------######---######---------######---###### \
+---------######---######---------######---######---------######---###### \
+---------###############---------###############---------############### \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [064a];[fef1];[fef2];[fef4];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------#########---------------#########---------------#########--- \
+###------##################------##################------############### \
+###------######------######------######------######------######------### \
+######------######---#########------######---#########------######---### \
+---###############---###---###############---###---###############---### \
+------------------------------------------------------------------------ \
+------######---######---------######---######---------######---######---
+%
+Unicode: [062b];[fe99];[fe9a];[fe9c];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+######------------############------------############------------###### \
+######------------############------------############------------###### \
+---##################------##################------##################--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0628];[fe8f];[fe90];[fe92];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+######------------############------------############------------###### \
+######------------############------------############------------###### \
+---##################------##################------##################--- \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######---------
+%
+Unicode: [0644];[fedd];[fede];[fee0];
+Bitmap: \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+---######---------######---######---------######---######---------###### \
+---######---------######---######---------######---######---------###### \
+---######---------######---######---------######---######---------###### \
+------###############---------###############---------###############---
+%
+Unicode: [0621];[fe80];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------#########---------------#########---------------#########------ \
+------######------------------######------------------######------------ \
+---------#########---------------#########---------------#########------ \
+------#########---------------#########---------------#########--------- \
+------###---------------------###---------------------###--------------- \
+------------------------------------------------------------------------
+%
+Unicode: [0647];[fee9];[feea];[feec];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+---------######---######---------######---######---------######---###### \
+---------######---######---------######---######---------######---###### \
+---------###############---------###############---------############### \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [062a];[fe95];[fe96];[fe98];
+Bitmap: \
+------------------------------------------------------------------------ \
+------######---######---------######---######---------######---######--- \
+------------------------------------------------------------------------ \
+######------------############------------############------------###### \
+######------------############------------############------------###### \
+---##################------##################------##################--- \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0646];[fee5];[fee6];[fee8];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------###---------###---------###---------###---------###---------###--- \
+---######---------######---######---------######---######---------###### \
+---######---------######---######---------######---######---------###### \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [0645];[fee1];[fee2];[fee4];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+---------###############---------###############---------############### \
+------############---###------############---###------############---### \
+---######------#########---######------#########---######------######### \
+---######---------######---######---------######---######---------###### \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######---------------
+%
+Unicode: [062c];[fe9d];[fe9e];[fea0];
+Bitmap: \
+------------------------------------------------------------------------ \
+---############------------############------------############--------- \
+------------######------------------######------------------######------ \
+------###############---------###############---------###############--- \
+---######---------######---######---------######---######---------###### \
+---######------------------######------------------######--------------- \
+---######---------######---######---------######---######---------###### \
+------#########---------------#########---------------#########---------
+%
+Unicode: [062e];[fea5];[fea6];[fea8];
+Bitmap: \
+------------------######------------------######------------------###### \
+---############------------############------------############--------- \
+------------######------------------######------------------######------ \
+------###############---------###############---------###############--- \
+---######---------######---######---------######---######---------###### \
+---######------------###---######------------###---######------------### \
+---######------------------######------------------######--------------- \
+------############------------############------------############------
+%
+Unicode: [062d];[fea1];[fea2];[fea4];
+Bitmap: \
+------------------------------------------------------------------------ \
+---############------------############------------############--------- \
+------------######------------------######------------------######------ \
+------###############---------###############---------###############--- \
+---######---------######---######---------######---######---------###### \
+---######------------###---######------------###---######------------### \
+---######------------------######------------------######--------------- \
+------############------------############------------############------
+%
+Unicode: [0636];[febd];[febe];[fec0];
+Bitmap: \
+------------######------------------######------------------######------ \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+###------######------######------######------######------######------### \
+###------###---------######------###---------######------###---------### \
+###------##################------##################------############### \
+###############---------###############---------###############--------- \
+---#########---------------#########---------------#########------------
+%
+Unicode: [0642];[fed5];[fed6];[fed8];
+Bitmap: \
+------######---######---------######---######---------######---######--- \
+------------------------------------------------------------------------ \
+---------------#########---------------#########---------------######### \
+---###------######---###---###------######---###---###------######---### \
+######---------###############---------###############---------######### \
+######------------############------------############------------###### \
+---##################------##################------##################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0633];[feb1];[feb2];[feb4];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+###------###---###---######------###---###---######------###---###---### \
+###------###---###---######------###---###---######------###---###---### \
+###------##################------##################------############### \
+###------############---###------############---###------############--- \
+############------------############------------############------------ \
+---######------------------######------------------######---------------
+%
+Unicode: [0641];[fed1];[fed2];[fed4];
+Bitmap: \
+------------------------------------------------------------------------ \
+------######------------------######------------------######------------ \
+---------------#########---------------#########---------------######### \
+######------######---#########------######---#########------######---### \
+######---------###############---------###############---------######### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0639];[fec9];[feca];[fecc];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------#########---------------#########---------------#########--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------##################------##################------################## \
+---######------------###---######------------###---######------------### \
+---#########---------------#########---------------#########------------ \
+------###############---------###############---------###############---
+%
+Unicode: [0643];[fed9];[feda];[fedc];
+Bitmap: \
+------------------######------------------######------------------###### \
+------######------######------######------######------######------###### \
+------###---------######------###---------######------###---------###### \
+---#########------######---#########------######---#########------###### \
+------------------######------------------######------------------###### \
+###---------------#########---------------#########---------------###### \
+#####################---#####################---#####################--- \
+------------------------------------------------------------------------
+%
+Unicode: [0635];[feb9];[feba];[febc];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+###------######------######------######------######------######------### \
+###------###---------######------###---------######------###---------### \
+###------##################------##################------############### \
+############------------############------------############------------ \
+---######------------------######------------------######---------------
+%
+Unicode: [063a];[fecd];[fece];[fed0];
+Bitmap: \
+---######------------------######------------------######--------------- \
+------------#########---------------#########---------------#########--- \
+---------######------------------######------------------######--------- \
+---------######------------------######------------------######--------- \
+------##################------##################------################## \
+---######------------###---######------------###---######------------### \
+---#########---------------#########---------------#########------------ \
+------###############---------###############---------###############---
+%
+Unicode: [0649];[feef];[fef0];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------#########---------------#########---------------#########--- \
+######---######---############---######---############---######---###### \
+######---######------#########---######------#########---######------### \
+######------######---#########------######---#########------######---### \
+######------######------######------######------######------######------ \
+---###############---------###############---------###############------
+%
+Unicode: [0632];[feaf];[feb0];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------######------------------######------------------###### \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+---------------######------------------######------------------######--- \
+---###############---------###############---------###############------
+%
+Unicode: [feb7];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+---###------###------###---###------###------###---###------###------### \
+######---######---############---######---############---######---###### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [062f];[fea9];[feaa];[0631];[fead];[feae];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######--- \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+---------------######------------------######------------------######--- \
+---###############---------###############---------###############------
+%
+Unicode: [0630];[feab];[feac];
+Bitmap: \
+------######------------------######------------------######------------ \
+------------------------------------------------------------------------ \
+------------######------------------######------------------######------ \
+---------------######------------------######------------------######--- \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [fef3];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------######---######---------######---######---------######---######---
+%
+Unicode: [fe9b];
+Bitmap: \
+---------######------------------######------------------######--------- \
+---######------######------######------######------######------######--- \
+------------------------------------------------------------------------ \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fe91];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+######################################################################## \
+------------------------------------------------------------------------ \
+---------------######------------------######------------------######---
+%
+Unicode: [fedf];
+Bitmap: \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0627];[fe8d];[fe8e];
+Bitmap: \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [feeb];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------###---------------------###---------------------###------------ \
+------###############---------###############---------###############--- \
+------###------#########------###------#########------###------######### \
+------#########------###------#########------###------#########------### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fe97];
+Bitmap: \
+------------------------------------------------------------------------ \
+---######---######---------######---######---------######---######------ \
+------------------------------------------------------------------------ \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fee7];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------######------------------######------------------######------ \
+------------------------------------------------------------------------ \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fee3];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------------#########---------------#########---------------######### \
+------------######---###------------######---###------------######---### \
+##################---#####################---#####################---### \
+---------------#########---------------#########---------------######### \
+------------------------------------------------------------------------
+%
+Unicode: [fe9f];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---############------------############------------############--------- \
+---###------######---------###------######---------###------######------ \
+---------------######------------------######------------------######--- \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------######------------------######------------------######------
+%
+Unicode: [fef7];[f3f8];
+Bitmap: \
+------------------######------------------######------------------###### \
+------###---------######------###---------######------###---------###### \
+------######------######------######------######------######------###### \
+---------######---######---------######---######---------######---###### \
+------------###---######------------###---######------------###---###### \
+------------#########---------------#########---------------#########--- \
+---###############---------###############---------###############------ \
+------------------------------------------------------------------------
+%
+Unicode: [fea7];
+Bitmap: \
+------######------------------######------------------######------------ \
+------------------------------------------------------------------------ \
+---############------------############------------############--------- \
+---###------######---------###------######---------###------######------ \
+---------------######------------------######------------------######--- \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fea3];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---############------------############------------############--------- \
+---###------######---------###------######---------###------######------ \
+---------------######------------------######------------------######--- \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [febf];
+Bitmap: \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+---###---######------###---###---######------###---###---######------### \
+############---------###############---------###############---------### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fed7];
+Bitmap: \
+---######---######---------######---######---------######---######------ \
+------------------------------------------------------------------------ \
+---------###############---------###############---------############### \
+---------######------###---------######------###---------######------### \
+------------############------------############------------############ \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [feb3];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---###------###------###---###------###------###---###------###------### \
+######---######---############---######---############---######---###### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fed3];
+Bitmap: \
+------######------------------######------------------######------------ \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+------------######---###------------######---###------------######---### \
+---------------#########---------------#########---------------######### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fecb];
+Bitmap: \
+------------------------------------------------------------------------ \
+---------#########---------------#########---------------#########------ \
+------###############---------###############---------###############--- \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fedb];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+---------#########---------------#########---------------#########------ \
+---------------######------------------######------------------######--- \
+------------------######------------------######------------------###### \
+------------------######------------------######------------------###### \
+------###############---------###############---------###############--- \
+------------------------------------------------------------------------
+%
+Unicode: [febb];
+Bitmap: \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------ \
+------------############------------############------------############ \
+---###---######------###---###---######------###---###---######------### \
+############---------###############---------###############---------### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0637];[fec1];[fec2];[fec4];[fec3];
+Bitmap: \
+---######------------------######------------------######--------------- \
+---######------------------######------------------######--------------- \
+---######---############---######---############---######---############ \
+---############------###---############------###---############------### \
+---#########---------###---#########---------###---#########---------### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [fecf];
+Bitmap: \
+---######------------------######------------------######--------------- \
+---------#########---------------#########---------------#########------ \
+------###############---------###############---------###############--- \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [0638];[fec5];[fec6];[fec8];[fec7];
+Bitmap: \
+---######---######---------######---######---------######---######------ \
+---######------------------######------------------######--------------- \
+---######---############---######---############---######---############ \
+---############------###---############------###---############------### \
+---#########---------###---#########---------###---#########---------### \
+######################################################################## \
+------------------------------------------------------------------------ \
+------------------------------------------------------------------------
+%
+Unicode: [061f];
+Bitmap: \
+------------------------------------------------------------------------ \
+------############------------############------------############------ \
+---######------######------######------######------######------######--- \
+------######------------------######------------------######------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------ \
+---------######------------------######------------------######--------- \
+------------------------------------------------------------------------
+%
+// dotted-box (no such glyph)
+Unicode: [0000];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######---#########--- \
+ ---######---#########--- \
+ ---######---#########--- \
+ ---###------------------ \
+ ---###------------------ \
+ ---###------------------ \
+ ------------------###--- \
+ ------------------###--- \
+ ------------------###--- \
+ ---###------------------ \
+ ---###------------------ \
+ ---###------------------ \
+ ------------------###--- \
+ ------------------###--- \
+ ------------------###--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// backtick
+Unicode: [0060];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// curlies
+Unicode: [007b];
+Bitmap: \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+Unicode: [007d];
+Bitmap: \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// tilde
+Unicode: [007e];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---#########------###### \
+ ---#########------###### \
+ ---#########------###### \
+ ######---######---###### \
+ ######---######---###### \
+ ######---######---###### \
+ ######------#########--- \
+ ######------#########--- \
+ ######------#########--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// euro
+Unicode: [20ac];
+Bitmap: \
+ ---------############--- \
+ ---------############--- \
+ ---------############--- \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------############--- \
+ ---------############--- \
+ ---------############--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// spanish left-quote
+Unicode: [00ab];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ######------######------ \
+ ######------######------ \
+ ######------######------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// spanish right-quote
+Unicode: [00bb];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ######------######------ \
+ ######------######------ \
+ ######------######------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ######------######------ \
+ ######------######------ \
+ ######------######------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// spanish inverted question mark
+Unicode: [00bf];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// copyright
+Unicode: [00a9];
+Bitmap: \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ###---------------###--- \
+ ###---------------###--- \
+ ###---------------###--- \
+ ###------######---###--- \
+ ###------######---###--- \
+ ###------######---###--- \
+ ###---###---------###--- \
+ ###---###---------###--- \
+ ###---###---------###--- \
+ ###------######---###--- \
+ ###------######---###--- \
+ ###------######---###--- \
+ ###---------------###--- \
+ ###---------------###--- \
+ ###---------------###--- \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// registered
+Unicode: [00ae];
+Bitmap: \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ###---------------###--- \
+ ###---------------###--- \
+ ###---------------###--- \
+ ###---######------###--- \
+ ###---######------###--- \
+ ###---######------###--- \
+ ###---###---###---###--- \
+ ###---###---###---###--- \
+ ###---###---###---###--- \
+ ###---######------###--- \
+ ###---######------###--- \
+ ###---######------###--- \
+ ###---###---###---###--- \
+ ###---###---###---###--- \
+ ###---###---###---###--- \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// degrees
+Unicode: [00b0];[00ba];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------###------###------ \
+ ------###------###------ \
+ ------###------###------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// cents
+Unicode: [00a2];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------###############--- \
+ ------###############--- \
+ ------###############--- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ------###############--- \
+ ------###############--- \
+ ------###############--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// "currency sign"
+// FIXME: not bold enough
+Unicode: [00a4];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---###------------###--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------###------###------ \
+ ------###------###------ \
+ ------###------###------ \
+ ------###------###------ \
+ ------###------###------ \
+ ------###------###------ \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---###------------###--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// yen
+Unicode: [00a5];
+Bitmap: \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// broken bar
+Unicode: [00a6];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// section sign
+// FIXME: not bold enough
+Unicode: [00a7];
+Bitmap: \
+ ---------#########------ \
+ ---------#########------ \
+ ---------#########------ \
+ ------###--------------- \
+ ------###--------------- \
+ ------###--------------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------###------###------ \
+ ------###------###------ \
+ ------###------###------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------------###------ \
+ ---------------###------ \
+ ---------------###------ \
+ ------#########--------- \
+ ------#########--------- \
+ ------#########--------- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// diaresis (cha, cha, cha!)
+Unicode: [00a8];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// feminine ordinal (superscript a)
+Unicode: [00aa];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------#########--- \
+ ------------#########--- \
+ ------------#########--- \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ---------############--- \
+ ---------############--- \
+ ---------############--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// "not" sign
+Unicode: [00ac];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---------------######--- \
+ ---------------######--- \
+ ---------------######--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// macron
+Unicode: [00af];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// plus-minus
+Unicode: [00b1];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// superscript 2
+// FIXME: not bold enough
+Unicode: [00b2];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---###------###--------- \
+ ---###------###--------- \
+ ---###------###--------- \
+ ---------###------------ \
+ ---------###------------ \
+ ---------###------------ \
+ ------###--------------- \
+ ------###--------------- \
+ ------###--------------- \
+ ---############--------- \
+ ---############--------- \
+ ---############--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// FIXME: not bold enough
+// superscript 3
+Unicode: [00b3];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---###------###--------- \
+ ---###------###--------- \
+ ---###------###--------- \
+ ---------###------------ \
+ ---------###------------ \
+ ---------###------------ \
+ ---###------###--------- \
+ ---###------###--------- \
+ ---###------###--------- \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// acute
+Unicode: [00b4];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// mu
+Unicode: [00b5];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------###############--- \
+ ------###############--- \
+ ------###############--- \
+ ---------------######--- \
+ ---------------######--- \
+ ---------------######--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// paragraph
+Unicode: [00b6];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ---------###---######--- \
+ ---------###---######--- \
+ ---------###---######--- \
+ ---------###---######--- \
+ ---------###---######--- \
+ ---------###---######--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// middle dot
+Unicode: [00b7];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// superscript 1
+Unicode: [00b9];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------#########--------- \
+ ------#########--------- \
+ ------#########--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: MISSING fractions, 00bc/00bd/00bc, ¼ ½ ¾, hard to do in 8x8
+%
+// A with grave
+Unicode: [00c0];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// A with acute
+Unicode: [00c1];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// A with circumflex
+Unicode: [00c2];
+Bitmap: \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// A with tilde
+Unicode: [00c3];
+Bitmap: \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ---######---######------ \
+ ---######---######------ \
+ ---######---######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// A with ring
+Unicode: [00c5];
+Bitmap: \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------###------###------ \
+ ------###------###------ \
+ ------###------###------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// AE ligature
+Unicode: [00c6];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------###############--- \
+ ------###############--- \
+ ------###############--- \
+ ---############--------- \
+ ---############--------- \
+ ---############--------- \
+ ######---######--------- \
+ ######---######--------- \
+ ######---######--------- \
+ #####################--- \
+ #####################--- \
+ #####################--- \
+ ######---######--------- \
+ ######---######--------- \
+ ######---######--------- \
+ ######---############--- \
+ ######---############--- \
+ ######---############--- \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: this is hideous!
+%
+// C with cedilla
+Unicode: [00c7];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------######------------
+ ------######------------
+ ------######------------
+%
+// E with circumflex
+Unicode: [00ca];
+Bitmap: \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: ugly!
+%
+// E with umlaut
+Unicode: [00cb];
+Bitmap: \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// I with grave
+Unicode: [00cc];
+Bitmap: \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// I with acute
+Unicode: [00cd];
+Bitmap: \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// I with circumflex
+Unicode: [00ce];
+Bitmap: \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: ugly!
+%
+// I with umlaut
+Unicode: [00cf];
+Bitmap: \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// capital eth
+Unicode: [00d0];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---############--------- \
+ ---############--------- \
+ ---############--------- \
+ ---######---######------ \
+ ---######---######------ \
+ ---######---######------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ############---######--- \
+ ############---######--- \
+ ############---######--- \
+ ---######---######------ \
+ ---######---######------ \
+ ---######---######------ \
+ ---############--------- \
+ ---############--------- \
+ ---############--------- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// O with grave
+Unicode: [00d2];
+Bitmap: \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---###---###---######--- \
+ ---###---###---######--- \
+ ---###---###---######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: MISSING Ô Õ
+%
+// multiplication
+Unicode: [00d7];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: MISSING Ø
+%
+// U with grave
+Unicode: [00d9];
+Bitmap: \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// U with acute
+Unicode: [00da];
+Bitmap: \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: MISSING Û
+%
+// Y with acute
+Unicode: [00dd];
+Bitmap: \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// capital thorn
+Unicode: [00de];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---###############------ \
+ ---###############------ \
+ ---###############------ \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// a with circumflex
+Unicode: [00e2];
+Bitmap: \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---###------------###--- \
+ ---###------------###--- \
+ ---###------------###--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------#########--- \
+ ------------#########--- \
+ ------------#########--- \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ---------############--- \
+ ---------############--- \
+ ---------############--- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// a with tilde
+Unicode: [00e3];
+Bitmap: \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ---######---######------ \
+ ---######---######------ \
+ ---######---######------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------#########--- \
+ ------------#########--- \
+ ------------#########--- \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ---------############---
+ ---------############---
+ ---------############---
+// FIXME: touches bottom
+%
+// ae ligature
+Unicode: [00e6];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---------######---###### \
+ ---------######---###### \
+ ---------######---###### \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ######---######--------- \
+ ######---######--------- \
+ ######---######--------- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: fugly
+%
+// e with umlaut
+Unicode: [00eb];
+Bitmap: \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// i with acute
+Unicode: [00ed];
+Bitmap: \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------#########--------- \
+ ------#########--------- \
+ ------#########--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// lowercase eth
+Unicode: [00f0];
+Bitmap: \
+ ---######---###--------- \
+ ---######---###--------- \
+ ---######---###--------- \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---###---######--------- \
+ ---###---######--------- \
+ ---###---######--------- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// o with tilde
+Unicode: [00f5];
+Bitmap: \
+ ------######---######--- \
+ ------######---######--- \
+ ------######---######--- \
+ ---######---######------ \
+ ---######---######------ \
+ ---######---######------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// division
+Unicode: [00f7];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+// FIXME: MISSING ø
+%
+// y with acute
+Unicode: [00fd];
+Bitmap: \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------###############--- \
+ ------###############--- \
+ ------###############--- \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---############---------
+ ---############---------
+ ---############---------
+%
+// lowercase thorn
+Unicode: [00fe];
+Bitmap: \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---############--------- \
+ ---############--------- \
+ ---############--------- \
+ ---######---######------ \
+ ---######---######------ \
+ ---######---######------ \
+ ---############--------- \
+ ---############--------- \
+ ---############--------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ---######--------------- \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// y with umlaut
+Unicode: [00ff];
+Bitmap: \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------###############--- \
+ ------###############--- \
+ ------###############--- \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---############---------
+ ---############---------
+ ---############---------
+%
+// left single curly quote
+Unicode: [2018];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// right single curly quote
+Unicode: [2019];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// left double curly quote
+Unicode: [201c];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ------######------###### \
+ ------######------###### \
+ ------######------###### \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// right double curly quote
+Unicode: [201d];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ######------######------ \
+ ######------######------ \
+ ######------######------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// spanish left single quote
+Unicode: [2039];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------######------------ \
+ ------######------------ \
+ ------######------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// spanish right single quote
+Unicode: [203a];
+Bitmap: \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------######------ \
+ ------------######------ \
+ ------------######------ \
+ ---------######--------- \
+ ---------######--------- \
+ ---------######--------- \
+ ------------------------ \
+ ------------------------ \
+ ------------------------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+// replacement character for missing glyphs
+Unicode: [fffd];
+Bitmap: \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ---######------######--- \
+ ---######------######--- \
+ ---######------######--- \
+ ---###---######---###--- \
+ ---###---######---###--- \
+ ---###---######---###--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---##################--- \
+ ---##################--- \
+ ---##################--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ---#########---######--- \
+ ------############------ \
+ ------############------ \
+ ------############------ \
+ ------------------------
+ ------------------------
+ ------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/fonts/fauxtari-8.bdf b/fonts/fauxtari-8.bdf
new file mode 100644
index 0000000..f54470d
--- /dev/null
+++ b/fonts/fauxtari-8.bdf
@@ -0,0 +1,6461 @@
+STARTFONT 2.1
+FONT -BW-Fauxtari Fixed Mono-Medium-R-Normal--8-80-75-75-C-80-iso10646-1
+SIZE 8 75 75
+FONTBOUNDINGBOX 8 8 0 -2
+STARTPROPERTIES 18
+FOUNDRY "BW"
+FAMILY_NAME "Fauxtari Fixed Mono"
+FACE_NAME "Fauxtari 8"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE 8
+POINT_SIZE 80
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH 80
+CHARSET_REGISTRY "iso10646"
+CHARSET_ENCODING "1"
+FONT_DESCENT 2
+FONT_ASCENT 6
+DEFAULT_CHAR 0
+ENDPROPERTIES
+CHARS 429
+STARTCHAR C0000
+ENCODING 0
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+6e
+40
+02
+40
+02
+76
+00
+ENDCHAR
+STARTCHAR C0001
+ENCODING 32
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0002
+ENCODING 33
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+18
+18
+18
+00
+18
+00
+ENDCHAR
+STARTCHAR C0003
+ENCODING 34
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+66
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0004
+ENCODING 35
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+ff
+66
+66
+ff
+66
+00
+ENDCHAR
+STARTCHAR C0005
+ENCODING 36
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+3e
+60
+3c
+06
+7c
+18
+00
+ENDCHAR
+STARTCHAR C0006
+ENCODING 37
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+6c
+18
+30
+66
+46
+00
+ENDCHAR
+STARTCHAR C0007
+ENCODING 38
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+1c
+36
+1c
+38
+6f
+66
+3b
+00
+ENDCHAR
+STARTCHAR C0008
+ENCODING 39
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+18
+18
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0009
+ENCODING 40
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+1c
+18
+18
+1c
+0e
+00
+ENDCHAR
+STARTCHAR C000a
+ENCODING 41
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+70
+38
+18
+18
+38
+70
+00
+ENDCHAR
+STARTCHAR C000b
+ENCODING 42
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+3c
+ff
+3c
+66
+00
+00
+ENDCHAR
+STARTCHAR C000c
+ENCODING 43
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+18
+7e
+18
+18
+00
+00
+ENDCHAR
+STARTCHAR C000d
+ENCODING 44
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+00
+18
+18
+30
+ENDCHAR
+STARTCHAR C000e
+ENCODING 45
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+7e
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C000f
+ENCODING 46
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+00
+18
+18
+00
+ENDCHAR
+STARTCHAR C0010
+ENCODING 47
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+0c
+18
+30
+60
+40
+00
+ENDCHAR
+STARTCHAR C0011
+ENCODING 48
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+6e
+76
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0012
+ENCODING 49
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+38
+18
+18
+18
+7e
+00
+ENDCHAR
+STARTCHAR C0013
+ENCODING 50
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+0c
+18
+30
+7e
+00
+ENDCHAR
+STARTCHAR C0014
+ENCODING 51
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+0c
+18
+0c
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0015
+ENCODING 52
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0c
+1c
+3c
+6c
+7e
+0c
+00
+ENDCHAR
+STARTCHAR C0016
+ENCODING 53
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+60
+7c
+06
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0017
+ENCODING 54
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+60
+7c
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0018
+ENCODING 55
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+06
+0c
+18
+30
+30
+00
+ENDCHAR
+STARTCHAR C0019
+ENCODING 56
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+3c
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C001a
+ENCODING 57
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+3e
+06
+0c
+38
+00
+ENDCHAR
+STARTCHAR C001b
+ENCODING 58
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+18
+18
+00
+18
+18
+00
+ENDCHAR
+STARTCHAR C001c
+ENCODING 59
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+18
+18
+00
+18
+18
+30
+ENDCHAR
+STARTCHAR C001d
+ENCODING 60
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+06
+0c
+18
+30
+18
+0c
+06
+00
+ENDCHAR
+STARTCHAR C001e
+ENCODING 61
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+7e
+00
+00
+7e
+00
+00
+ENDCHAR
+STARTCHAR C001f
+ENCODING 62
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+30
+18
+0c
+18
+30
+60
+00
+ENDCHAR
+STARTCHAR C0020
+ENCODING 63
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+0c
+18
+00
+18
+00
+ENDCHAR
+STARTCHAR C0021
+ENCODING 64
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+6e
+6e
+60
+3e
+00
+ENDCHAR
+STARTCHAR C0022
+ENCODING 65
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+3c
+66
+66
+7e
+66
+00
+ENDCHAR
+STARTCHAR C0023
+ENCODING 66
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7c
+66
+7c
+66
+66
+7c
+00
+ENDCHAR
+STARTCHAR C0024
+ENCODING 67
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+60
+60
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0025
+ENCODING 68
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+6c
+66
+66
+6c
+78
+00
+ENDCHAR
+STARTCHAR C0026
+ENCODING 69
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+60
+7c
+60
+60
+7e
+00
+ENDCHAR
+STARTCHAR C0027
+ENCODING 70
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+60
+7c
+60
+60
+60
+00
+ENDCHAR
+STARTCHAR C0028
+ENCODING 71
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3e
+60
+60
+6e
+66
+3e
+00
+ENDCHAR
+STARTCHAR C0029
+ENCODING 72
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+7e
+66
+66
+66
+00
+ENDCHAR
+STARTCHAR C002a
+ENCODING 73
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+18
+18
+18
+18
+7e
+00
+ENDCHAR
+STARTCHAR C002b
+ENCODING 74
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+06
+06
+06
+66
+3c
+00
+ENDCHAR
+STARTCHAR C002c
+ENCODING 75
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+6c
+78
+78
+6c
+66
+00
+ENDCHAR
+STARTCHAR C002d
+ENCODING 76
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+60
+60
+60
+60
+7e
+00
+ENDCHAR
+STARTCHAR C002e
+ENCODING 77
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+63
+77
+7f
+6b
+63
+63
+00
+ENDCHAR
+STARTCHAR C002f
+ENCODING 78
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+76
+7e
+7e
+6e
+66
+00
+ENDCHAR
+STARTCHAR C0030
+ENCODING 79
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+66
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0031
+ENCODING 80
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7c
+66
+66
+7c
+60
+60
+00
+ENDCHAR
+STARTCHAR C0032
+ENCODING 81
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+66
+66
+6c
+36
+00
+ENDCHAR
+STARTCHAR C0033
+ENCODING 82
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7c
+66
+66
+7c
+6c
+66
+00
+ENDCHAR
+STARTCHAR C0034
+ENCODING 83
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+60
+3c
+06
+06
+3c
+00
+ENDCHAR
+STARTCHAR C0035
+ENCODING 84
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+18
+18
+18
+18
+18
+00
+ENDCHAR
+STARTCHAR C0036
+ENCODING 85
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+66
+66
+66
+7e
+00
+ENDCHAR
+STARTCHAR C0037
+ENCODING 86
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+66
+66
+3c
+18
+00
+ENDCHAR
+STARTCHAR C0038
+ENCODING 87
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+63
+63
+6b
+7f
+77
+63
+00
+ENDCHAR
+STARTCHAR C0039
+ENCODING 88
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+3c
+3c
+66
+66
+00
+ENDCHAR
+STARTCHAR C003a
+ENCODING 89
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+3c
+18
+18
+18
+00
+ENDCHAR
+STARTCHAR C003b
+ENCODING 90
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+0c
+18
+30
+60
+7e
+00
+ENDCHAR
+STARTCHAR C003c
+ENCODING 91
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+1e
+18
+18
+18
+18
+1e
+00
+ENDCHAR
+STARTCHAR C003d
+ENCODING 92
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+40
+60
+30
+18
+0c
+06
+00
+ENDCHAR
+STARTCHAR C003e
+ENCODING 93
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+18
+18
+18
+18
+78
+00
+ENDCHAR
+STARTCHAR C003f
+ENCODING 94
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+08
+1c
+36
+63
+00
+00
+00
+ENDCHAR
+STARTCHAR C0040
+ENCODING 95
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+ff
+00
+ENDCHAR
+STARTCHAR C0041
+ENCODING 96
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+30
+18
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0042
+ENCODING 97
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3c
+06
+3e
+66
+3e
+00
+ENDCHAR
+STARTCHAR C0043
+ENCODING 98
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+60
+7c
+66
+66
+7c
+00
+ENDCHAR
+STARTCHAR C0044
+ENCODING 99
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3c
+60
+60
+60
+3c
+00
+ENDCHAR
+STARTCHAR C0045
+ENCODING 100
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+06
+3e
+66
+66
+3e
+00
+ENDCHAR
+STARTCHAR C0046
+ENCODING 101
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3c
+66
+7e
+60
+3c
+00
+ENDCHAR
+STARTCHAR C0047
+ENCODING 102
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+18
+3e
+18
+18
+18
+00
+ENDCHAR
+STARTCHAR C0048
+ENCODING 103
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3e
+66
+66
+3e
+06
+7c
+ENDCHAR
+STARTCHAR C0049
+ENCODING 104
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+60
+7c
+66
+66
+66
+00
+ENDCHAR
+STARTCHAR C004a
+ENCODING 105
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+00
+38
+18
+18
+3c
+00
+ENDCHAR
+STARTCHAR C004b
+ENCODING 106
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+00
+06
+06
+06
+06
+3c
+ENDCHAR
+STARTCHAR C004c
+ENCODING 107
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+60
+6c
+78
+6c
+66
+00
+ENDCHAR
+STARTCHAR C004d
+ENCODING 108
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+38
+18
+18
+18
+18
+3c
+00
+ENDCHAR
+STARTCHAR C004e
+ENCODING 109
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+66
+7f
+7f
+6b
+63
+00
+ENDCHAR
+STARTCHAR C004f
+ENCODING 110
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+7c
+66
+66
+66
+66
+00
+ENDCHAR
+STARTCHAR C0050
+ENCODING 111
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3c
+66
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0051
+ENCODING 112
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+7c
+66
+66
+7c
+60
+60
+ENDCHAR
+STARTCHAR C0052
+ENCODING 113
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3e
+66
+66
+3e
+06
+06
+ENDCHAR
+STARTCHAR C0053
+ENCODING 114
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+7c
+66
+60
+60
+60
+00
+ENDCHAR
+STARTCHAR C0054
+ENCODING 115
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3e
+60
+3c
+06
+7c
+00
+ENDCHAR
+STARTCHAR C0055
+ENCODING 116
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+7e
+18
+18
+18
+0e
+00
+ENDCHAR
+STARTCHAR C0056
+ENCODING 117
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+66
+66
+66
+66
+3e
+00
+ENDCHAR
+STARTCHAR C0057
+ENCODING 118
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+66
+66
+66
+3c
+18
+00
+ENDCHAR
+STARTCHAR C0058
+ENCODING 119
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+63
+6b
+7f
+3e
+36
+00
+ENDCHAR
+STARTCHAR C0059
+ENCODING 120
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+66
+3c
+18
+3c
+66
+00
+ENDCHAR
+STARTCHAR C005a
+ENCODING 121
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+66
+66
+66
+3e
+0c
+78
+ENDCHAR
+STARTCHAR C005b
+ENCODING 122
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+7e
+0c
+18
+30
+7e
+00
+ENDCHAR
+STARTCHAR C005c
+ENCODING 123
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+18
+30
+18
+18
+0c
+00
+ENDCHAR
+STARTCHAR C005d
+ENCODING 124
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+18
+18
+18
+18
+18
+ENDCHAR
+STARTCHAR C005e
+ENCODING 125
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+18
+18
+0c
+18
+18
+30
+00
+ENDCHAR
+STARTCHAR C005f
+ENCODING 126
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+73
+db
+ce
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0060
+ENCODING 160
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0061
+ENCODING 161
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+00
+18
+18
+18
+18
+18
+00
+ENDCHAR
+STARTCHAR C0062
+ENCODING 162
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+3e
+60
+60
+3e
+18
+00
+ENDCHAR
+STARTCHAR C0063
+ENCODING 163
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+1c
+30
+30
+78
+30
+30
+7e
+00
+ENDCHAR
+STARTCHAR C0064
+ENCODING 164
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+42
+3c
+24
+24
+3c
+42
+00
+ENDCHAR
+STARTCHAR C0065
+ENCODING 165
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+66
+66
+18
+7e
+18
+7e
+18
+00
+ENDCHAR
+STARTCHAR C0066
+ENCODING 166
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+18
+00
+18
+18
+18
+00
+ENDCHAR
+STARTCHAR C0067
+ENCODING 167
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+1c
+20
+18
+24
+18
+04
+38
+00
+ENDCHAR
+STARTCHAR C0068
+ENCODING 168
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0069
+ENCODING 169
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+7c
+82
+9a
+a2
+9a
+82
+7c
+00
+ENDCHAR
+STARTCHAR C006a
+ENCODING 170
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+0e
+36
+1e
+00
+00
+00
+ENDCHAR
+STARTCHAR C006b
+ENCODING 171
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+66
+cc
+66
+00
+00
+ENDCHAR
+STARTCHAR C006c
+ENCODING 172
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+7e
+06
+00
+00
+00
+ENDCHAR
+STARTCHAR C006d
+ENCODING 173
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+7e
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C006e
+ENCODING 174
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+7c
+82
+b2
+aa
+b2
+aa
+7c
+00
+ENDCHAR
+STARTCHAR C006f
+ENCODING 175
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0070
+ENCODING 176
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+24
+18
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0071
+ENCODING 177
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+7e
+18
+00
+7e
+00
+00
+ENDCHAR
+STARTCHAR C0072
+ENCODING 178
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+48
+10
+20
+78
+00
+00
+ENDCHAR
+STARTCHAR C0073
+ENCODING 179
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+48
+10
+48
+30
+00
+00
+ENDCHAR
+STARTCHAR C0074
+ENCODING 180
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0c
+18
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0075
+ENCODING 181
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+66
+66
+66
+3e
+06
+00
+ENDCHAR
+STARTCHAR C0076
+ENCODING 182
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+36
+76
+76
+36
+16
+16
+00
+ENDCHAR
+STARTCHAR C0077
+ENCODING 183
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+18
+18
+00
+00
+00
+ENDCHAR
+STARTCHAR C0078
+ENCODING 184
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+00
+18
+18
+30
+ENDCHAR
+STARTCHAR C0079
+ENCODING 185
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+38
+18
+3c
+00
+00
+00
+ENDCHAR
+STARTCHAR C007a
+ENCODING 186
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+24
+18
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C007b
+ENCODING 187
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+cc
+66
+cc
+00
+00
+ENDCHAR
+STARTCHAR C007c
+ENCODING 191
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+00
+18
+0c
+66
+3c
+00
+ENDCHAR
+STARTCHAR C007d
+ENCODING 192
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+18
+3c
+66
+7e
+66
+00
+ENDCHAR
+STARTCHAR C007e
+ENCODING 193
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0c
+18
+3c
+66
+7e
+66
+00
+ENDCHAR
+STARTCHAR C007f
+ENCODING 194
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+42
+18
+3c
+66
+7e
+66
+00
+ENDCHAR
+STARTCHAR C0080
+ENCODING 195
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+6c
+18
+3c
+66
+7e
+66
+00
+ENDCHAR
+STARTCHAR C0081
+ENCODING 196
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+66
+66
+18
+3c
+66
+7e
+66
+00
+ENDCHAR
+STARTCHAR C0082
+ENCODING 197
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+24
+18
+3c
+66
+7e
+66
+00
+ENDCHAR
+STARTCHAR C0083
+ENCODING 198
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3e
+78
+d8
+fe
+d8
+de
+00
+ENDCHAR
+STARTCHAR C0084
+ENCODING 199
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+60
+66
+3c
+18
+30
+ENDCHAR
+STARTCHAR C0085
+ENCODING 201
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+7e
+60
+7c
+60
+7e
+00
+ENDCHAR
+STARTCHAR C0086
+ENCODING 202
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+42
+7e
+60
+7c
+60
+7e
+00
+ENDCHAR
+STARTCHAR C0087
+ENCODING 203
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+00
+7e
+60
+7c
+60
+7e
+00
+ENDCHAR
+STARTCHAR C0088
+ENCODING 204
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+18
+7e
+18
+18
+18
+7e
+00
+ENDCHAR
+STARTCHAR C0089
+ENCODING 205
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+7e
+18
+18
+18
+7e
+00
+ENDCHAR
+STARTCHAR C008a
+ENCODING 206
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+42
+7e
+18
+18
+18
+7e
+00
+ENDCHAR
+STARTCHAR C008b
+ENCODING 207
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+00
+7e
+18
+18
+18
+7e
+00
+ENDCHAR
+STARTCHAR C008c
+ENCODING 208
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+6c
+66
+f6
+6c
+78
+00
+ENDCHAR
+STARTCHAR C008d
+ENCODING 209
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+6c
+00
+76
+76
+7e
+6e
+00
+ENDCHAR
+STARTCHAR C008e
+ENCODING 210
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+3c
+56
+66
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C008f
+ENCODING 211
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+06
+3c
+6a
+66
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0090
+ENCODING 214
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+66
+00
+3c
+66
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C0091
+ENCODING 215
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+3c
+18
+3c
+66
+00
+00
+ENDCHAR
+STARTCHAR C0092
+ENCODING 217
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+18
+66
+66
+66
+66
+7e
+00
+ENDCHAR
+STARTCHAR C0093
+ENCODING 218
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+66
+66
+66
+66
+7e
+00
+ENDCHAR
+STARTCHAR C0094
+ENCODING 220
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+66
+00
+66
+66
+66
+66
+7e
+00
+ENDCHAR
+STARTCHAR C0095
+ENCODING 221
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+66
+66
+3c
+18
+18
+00
+ENDCHAR
+STARTCHAR C0096
+ENCODING 222
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+7c
+66
+7c
+60
+60
+00
+ENDCHAR
+STARTCHAR C0097
+ENCODING 223
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+1c
+36
+3c
+36
+37
+3e
+60
+ENDCHAR
+STARTCHAR C0098
+ENCODING 224
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+18
+3c
+06
+3e
+66
+3e
+00
+ENDCHAR
+STARTCHAR C0099
+ENCODING 225
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+3c
+06
+3e
+66
+3e
+00
+ENDCHAR
+STARTCHAR C009a
+ENCODING 226
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+42
+00
+3c
+0e
+36
+1e
+00
+ENDCHAR
+STARTCHAR C009b
+ENCODING 227
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+6c
+00
+3c
+0e
+36
+1e
+00
+ENDCHAR
+STARTCHAR C009c
+ENCODING 228
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+00
+3c
+06
+3e
+66
+3e
+00
+ENDCHAR
+STARTCHAR C009d
+ENCODING 229
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+66
+1c
+06
+3e
+66
+3e
+00
+ENDCHAR
+STARTCHAR C009e
+ENCODING 230
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+76
+1b
+7e
+d8
+7e
+00
+ENDCHAR
+STARTCHAR C009f
+ENCODING 231
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3c
+60
+60
+3c
+18
+30
+ENDCHAR
+STARTCHAR C00a0
+ENCODING 232
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+18
+3c
+66
+7e
+60
+3c
+00
+ENDCHAR
+STARTCHAR C00a1
+ENCODING 233
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+3c
+66
+7e
+60
+3c
+00
+ENDCHAR
+STARTCHAR C00a2
+ENCODING 234
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+c3
+3c
+66
+7e
+60
+3c
+00
+ENDCHAR
+STARTCHAR C00a3
+ENCODING 235
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+66
+00
+3c
+66
+7e
+60
+3c
+00
+ENDCHAR
+STARTCHAR C00a4
+ENCODING 236
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+18
+00
+38
+18
+18
+3c
+00
+ENDCHAR
+STARTCHAR C00a5
+ENCODING 237
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+00
+38
+18
+18
+3c
+00
+ENDCHAR
+STARTCHAR C00a6
+ENCODING 238
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+66
+00
+38
+18
+18
+3c
+00
+ENDCHAR
+STARTCHAR C00a7
+ENCODING 239
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+00
+38
+18
+18
+3c
+00
+ENDCHAR
+STARTCHAR C00a8
+ENCODING 240
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+68
+30
+58
+3c
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C00a9
+ENCODING 241
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+6c
+00
+7c
+66
+66
+66
+00
+ENDCHAR
+STARTCHAR C00aa
+ENCODING 242
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+18
+00
+3c
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C00ab
+ENCODING 243
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+00
+3c
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C00ac
+ENCODING 244
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+66
+00
+3c
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C00ad
+ENCODING 245
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+6c
+00
+3c
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C00ae
+ENCODING 246
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+00
+3c
+66
+66
+3c
+00
+ENDCHAR
+STARTCHAR C00af
+ENCODING 247
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+00
+7e
+00
+18
+00
+00
+ENDCHAR
+STARTCHAR C00b0
+ENCODING 249
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+18
+00
+66
+66
+66
+3e
+00
+ENDCHAR
+STARTCHAR C00b1
+ENCODING 250
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+00
+66
+66
+66
+3e
+00
+ENDCHAR
+STARTCHAR C00b2
+ENCODING 251
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+66
+00
+66
+66
+66
+3e
+00
+ENDCHAR
+STARTCHAR C00b3
+ENCODING 252
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+00
+66
+66
+66
+3e
+00
+ENDCHAR
+STARTCHAR C00b4
+ENCODING 253
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+00
+66
+66
+3e
+0c
+78
+ENDCHAR
+STARTCHAR C00b5
+ENCODING 254
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+60
+78
+6c
+78
+60
+60
+00
+ENDCHAR
+STARTCHAR C00b6
+ENCODING 255
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+66
+00
+66
+66
+66
+3e
+0c
+78
+ENDCHAR
+STARTCHAR C00b7
+ENCODING 260
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+3c
+66
+66
+7e
+66
+03
+ENDCHAR
+STARTCHAR C00b8
+ENCODING 261
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3c
+06
+3e
+66
+3e
+03
+ENDCHAR
+STARTCHAR C00b9
+ENCODING 262
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+3c
+6e
+60
+60
+66
+3e
+00
+ENDCHAR
+STARTCHAR C00ba
+ENCODING 263
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+3c
+60
+60
+60
+3c
+00
+ENDCHAR
+STARTCHAR C00bb
+ENCODING 280
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+78
+60
+78
+60
+7e
+18
+1e
+00
+ENDCHAR
+STARTCHAR C00bc
+ENCODING 281
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3c
+66
+7e
+60
+3c
+06
+ENDCHAR
+STARTCHAR C00bd
+ENCODING 321
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+60
+78
+70
+e0
+7e
+00
+ENDCHAR
+STARTCHAR C00be
+ENCODING 322
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+38
+18
+1c
+38
+18
+3c
+00
+ENDCHAR
+STARTCHAR C00bf
+ENCODING 323
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+5a
+66
+7e
+7e
+6e
+66
+00
+ENDCHAR
+STARTCHAR C00c0
+ENCODING 324
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+7c
+66
+66
+66
+66
+00
+ENDCHAR
+STARTCHAR C00c1
+ENCODING 346
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+3c
+60
+3c
+06
+06
+3c
+00
+ENDCHAR
+STARTCHAR C00c2
+ENCODING 347
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+3e
+60
+3c
+06
+7c
+00
+ENDCHAR
+STARTCHAR C00c3
+ENCODING 377
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+7e
+36
+0c
+18
+30
+7e
+00
+ENDCHAR
+STARTCHAR C00c4
+ENCODING 378
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+18
+7e
+0c
+18
+30
+7e
+00
+ENDCHAR
+STARTCHAR C00c5
+ENCODING 379
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+7e
+0c
+18
+30
+60
+7e
+00
+ENDCHAR
+STARTCHAR C00c6
+ENCODING 380
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+00
+7e
+0c
+18
+30
+7e
+00
+ENDCHAR
+STARTCHAR C00c7
+ENCODING 551
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+00
+3c
+06
+3e
+66
+3e
+00
+ENDCHAR
+STARTCHAR C00c8
+ENCODING 1488
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+c6
+f6
+de
+cc
+c6
+00
+00
+ENDCHAR
+STARTCHAR C00c9
+ENCODING 1489
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+f8
+1c
+0c
+0c
+fe
+00
+00
+ENDCHAR
+STARTCHAR C00ca
+ENCODING 1490
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+0c
+0c
+7c
+e6
+00
+00
+ENDCHAR
+STARTCHAR C00cb
+ENCODING 1491
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fe
+1c
+0c
+0c
+0c
+00
+00
+ENDCHAR
+STARTCHAR C00cc
+ENCODING 1492
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+06
+46
+66
+66
+00
+00
+ENDCHAR
+STARTCHAR C00cd
+ENCODING 1493
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+1c
+0c
+0c
+0c
+00
+00
+ENDCHAR
+STARTCHAR C00ce
+ENCODING 1494
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+70
+30
+30
+30
+00
+00
+ENDCHAR
+STARTCHAR C00cf
+ENCODING 1495
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+66
+66
+66
+66
+00
+00
+ENDCHAR
+STARTCHAR C00d0
+ENCODING 1496
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+de
+d6
+c6
+c6
+fc
+00
+00
+ENDCHAR
+STARTCHAR C00d1
+ENCODING 1497
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7c
+1c
+0c
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C00d2
+ENCODING 1498
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+0e
+06
+06
+06
+06
+06
+ENDCHAR
+STARTCHAR C00d3
+ENCODING 1499
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+06
+06
+0e
+fc
+00
+00
+ENDCHAR
+STARTCHAR C00d4
+ENCODING 1500
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+c0
+fc
+06
+06
+0e
+3c
+00
+00
+ENDCHAR
+STARTCHAR C00d5
+ENCODING 1501
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+66
+66
+66
+7e
+00
+00
+ENDCHAR
+STARTCHAR C00d6
+ENCODING 1502
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+dc
+76
+66
+66
+6e
+00
+00
+ENDCHAR
+STARTCHAR C00d7
+ENCODING 1503
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+1e
+0e
+06
+06
+06
+06
+06
+ENDCHAR
+STARTCHAR C00d8
+ENCODING 1504
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+1e
+06
+06
+0e
+7c
+00
+00
+ENDCHAR
+STARTCHAR C00d9
+ENCODING 1505
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fe
+66
+66
+6c
+78
+00
+00
+ENDCHAR
+STARTCHAR C00da
+ENCODING 1506
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+ee
+66
+36
+36
+fc
+00
+00
+ENDCHAR
+STARTCHAR C00db
+ENCODING 1507
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+6e
+66
+06
+06
+06
+06
+ENDCHAR
+STARTCHAR C00dc
+ENCODING 1508
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+66
+66
+0e
+fc
+00
+00
+ENDCHAR
+STARTCHAR C00dd
+ENCODING 1509
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+ce
+66
+6c
+78
+60
+60
+60
+ENDCHAR
+STARTCHAR C00de
+ENCODING 1510
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+c6
+6e
+38
+0c
+fe
+00
+00
+ENDCHAR
+STARTCHAR C00df
+ENCODING 1511
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+0e
+c6
+cc
+d8
+c0
+c0
+ENDCHAR
+STARTCHAR C00e0
+ENCODING 1512
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+0e
+06
+06
+06
+00
+00
+ENDCHAR
+STARTCHAR C00e1
+ENCODING 1513
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+92
+d2
+e6
+cc
+fc
+00
+00
+ENDCHAR
+STARTCHAR C00e2
+ENCODING 1514
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+fc
+6e
+66
+66
+e6
+00
+00
+ENDCHAR
+STARTCHAR C00e3
+ENCODING 1567
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+30
+18
+00
+18
+00
+ENDCHAR
+STARTCHAR C00e4
+ENCODING 1569
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+1c
+30
+1c
+38
+20
+00
+ENDCHAR
+STARTCHAR C00e5
+ENCODING 1570
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+18
+18
+18
+18
+18
+ENDCHAR
+STARTCHAR C00e6
+ENCODING 1572
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+cf
+1b
+0f
+03
+06
+7c
+ENDCHAR
+STARTCHAR C00e7
+ENCODING 1575
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+03
+03
+00
+00
+ENDCHAR
+STARTCHAR C00e8
+ENCODING 1576
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+c3
+c3
+7e
+00
+18
+ENDCHAR
+STARTCHAR C00e9
+ENCODING 1577
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+1b
+00
+0f
+1b
+1b
+1f
+00
+00
+ENDCHAR
+STARTCHAR C00ea
+ENCODING 1578
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+36
+00
+c3
+c3
+7e
+00
+00
+ENDCHAR
+STARTCHAR C00eb
+ENCODING 1579
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+66
+00
+c3
+c3
+7e
+00
+00
+ENDCHAR
+STARTCHAR C00ec
+ENCODING 1580
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+0c
+3e
+63
+60
+63
+38
+ENDCHAR
+STARTCHAR C00ed
+ENCODING 1581
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+0c
+3e
+63
+61
+60
+3c
+ENDCHAR
+STARTCHAR C00ee
+ENCODING 1582
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+78
+0c
+3e
+63
+61
+60
+3c
+ENDCHAR
+STARTCHAR C00ef
+ENCODING 1583
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C00f0
+ENCODING 1584
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+00
+0c
+06
+03
+03
+3e
+00
+ENDCHAR
+STARTCHAR C00f1
+ENCODING 1585
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C00f2
+ENCODING 1586
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+03
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C00f3
+ENCODING 1587
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+95
+95
+9f
+9e
+f0
+60
+ENDCHAR
+STARTCHAR C00f4
+ENCODING 1588
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+33
+00
+95
+95
+9f
+f0
+60
+ENDCHAR
+STARTCHAR C00f5
+ENCODING 1589
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+99
+91
+9f
+f0
+60
+ENDCHAR
+STARTCHAR C00f6
+ENCODING 1590
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+00
+0f
+99
+91
+9f
+f8
+70
+ENDCHAR
+STARTCHAR C00f7
+ENCODING 1591
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C00f8
+ENCODING 1592
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+6c
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C00f9
+ENCODING 1593
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+18
+18
+3f
+61
+70
+3e
+ENDCHAR
+STARTCHAR C00fa
+ENCODING 1594
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+0e
+18
+18
+3f
+61
+70
+3e
+ENDCHAR
+STARTCHAR C00fb
+ENCODING 1601
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+07
+cd
+c7
+ff
+00
+00
+ENDCHAR
+STARTCHAR C00fc
+ENCODING 1602
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+00
+07
+4d
+c7
+c3
+7e
+00
+ENDCHAR
+STARTCHAR C00fd
+ENCODING 1603
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+33
+23
+73
+03
+83
+fe
+00
+ENDCHAR
+STARTCHAR C00fe
+ENCODING 1604
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+63
+63
+63
+3e
+ENDCHAR
+STARTCHAR C00ff
+ENCODING 1605
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+1f
+3d
+67
+63
+60
+60
+ENDCHAR
+STARTCHAR C0100
+ENCODING 1606
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+00
+22
+63
+63
+3e
+00
+ENDCHAR
+STARTCHAR C0101
+ENCODING 1607
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+1b
+1b
+1f
+00
+00
+ENDCHAR
+STARTCHAR C0102
+ENCODING 1608
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+1b
+1f
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0103
+ENCODING 1609
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0e
+db
+d9
+cd
+cc
+7c
+ENDCHAR
+STARTCHAR C0104
+ENCODING 1610
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+9f
+99
+cd
+7d
+00
+36
+ENDCHAR
+STARTCHAR C0105
+ENCODING 1632
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+0c
+18
+30
+60
+40
+00
+ENDCHAR
+STARTCHAR C0106
+ENCODING 1633
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+08
+1c
+3e
+1c
+08
+00
+ENDCHAR
+STARTCHAR C0107
+ENCODING 1634
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+18
+18
+18
+18
+18
+18
+ENDCHAR
+STARTCHAR C0108
+ENCODING 1635
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+3c
+66
+60
+30
+18
+0c
+06
+ENDCHAR
+STARTCHAR C0109
+ENCODING 1636
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+6b
+6b
+7f
+70
+30
+38
+18
+ENDCHAR
+STARTCHAR C010a
+ENCODING 1637
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+1e
+38
+70
+1c
+38
+70
+3e
+ENDCHAR
+STARTCHAR C010b
+ENCODING 1638
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+1c
+3e
+66
+66
+66
+7e
+3c
+ENDCHAR
+STARTCHAR C010c
+ENCODING 1639
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7c
+7c
+0c
+0c
+0c
+0c
+0c
+ENDCHAR
+STARTCHAR C010d
+ENCODING 1640
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+66
+66
+3c
+3c
+18
+ENDCHAR
+STARTCHAR C010e
+ENCODING 1641
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+3c
+3c
+66
+66
+66
+66
+ENDCHAR
+STARTCHAR C010f
+ENCODING 8211
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+7e
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0110
+ENCODING 8212
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+7e
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0111
+ENCODING 8216
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+18
+0c
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0112
+ENCODING 8217
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0c
+18
+30
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0113
+ENCODING 8220
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+33
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0114
+ENCODING 8221
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+66
+66
+cc
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0115
+ENCODING 8249
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+18
+30
+18
+00
+00
+ENDCHAR
+STARTCHAR C0116
+ENCODING 8250
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+18
+0c
+18
+00
+00
+ENDCHAR
+STARTCHAR C0117
+ENCODING 8364
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+1e
+30
+7c
+30
+7c
+30
+1e
+00
+ENDCHAR
+STARTCHAR C0118
+ENCODING 8592
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+30
+7e
+30
+18
+00
+00
+ENDCHAR
+STARTCHAR C0119
+ENCODING 8593
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+3c
+7e
+18
+18
+18
+00
+ENDCHAR
+STARTCHAR C011a
+ENCODING 8594
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+0c
+7e
+0c
+18
+00
+00
+ENDCHAR
+STARTCHAR C011b
+ENCODING 8595
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+18
+18
+7e
+3c
+18
+00
+ENDCHAR
+STARTCHAR C011c
+ENCODING 8624
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+7e
+78
+7c
+6e
+66
+06
+00
+ENDCHAR
+STARTCHAR C011d
+ENCODING 9243
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+78
+60
+78
+60
+7e
+18
+1e
+00
+ENDCHAR
+STARTCHAR C011e
+ENCODING 9473
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+ff
+ff
+00
+00
+00
+ENDCHAR
+STARTCHAR C011f
+ENCODING 9475
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+03
+03
+03
+03
+ENDCHAR
+STARTCHAR C0120
+ENCODING 9487
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+1f
+1f
+18
+18
+18
+ENDCHAR
+STARTCHAR C0121
+ENCODING 9491
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+f8
+f8
+18
+18
+18
+ENDCHAR
+STARTCHAR C0122
+ENCODING 9495
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+1f
+1f
+00
+00
+00
+ENDCHAR
+STARTCHAR C0123
+ENCODING 9499
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+f8
+f8
+00
+00
+00
+ENDCHAR
+STARTCHAR C0124
+ENCODING 9507
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+1f
+1f
+18
+18
+18
+ENDCHAR
+STARTCHAR C0125
+ENCODING 9515
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+f8
+f8
+18
+18
+18
+ENDCHAR
+STARTCHAR C0126
+ENCODING 9523
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+ff
+ff
+18
+18
+18
+ENDCHAR
+STARTCHAR C0127
+ENCODING 9531
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+ff
+ff
+00
+00
+00
+ENDCHAR
+STARTCHAR C0128
+ENCODING 9547
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+ff
+ff
+18
+18
+18
+ENDCHAR
+STARTCHAR C0129
+ENCODING 9585
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+07
+0e
+1c
+38
+70
+e0
+c0
+ENDCHAR
+STARTCHAR C012a
+ENCODING 9586
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+c0
+e0
+70
+38
+1c
+0e
+07
+03
+ENDCHAR
+STARTCHAR C012b
+ENCODING 9601
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+ff
+ff
+ENDCHAR
+STARTCHAR C012c
+ENCODING 9604
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+ff
+ff
+ff
+ff
+ENDCHAR
+STARTCHAR C012d
+ENCODING 9612
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+f0
+f0
+f0
+f0
+f0
+f0
+f0
+f0
+ENDCHAR
+STARTCHAR C012e
+ENCODING 9614
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+c0
+c0
+c0
+c0
+c0
+c0
+c0
+c0
+ENDCHAR
+STARTCHAR C012f
+ENCODING 9620
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+ff
+ff
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0130
+ENCODING 9622
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+f0
+f0
+f0
+f0
+ENDCHAR
+STARTCHAR C0131
+ENCODING 9623
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+00
+0f
+0f
+0f
+0f
+ENDCHAR
+STARTCHAR C0132
+ENCODING 9624
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+f0
+f0
+f0
+f0
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0133
+ENCODING 9629
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0f
+0f
+0f
+0f
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C0134
+ENCODING 9654
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+10
+18
+1c
+1e
+1c
+18
+10
+00
+ENDCHAR
+STARTCHAR C0135
+ENCODING 9664
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+08
+18
+38
+78
+38
+18
+08
+00
+ENDCHAR
+STARTCHAR C0136
+ENCODING 9670
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+3c
+7e
+7e
+3c
+18
+00
+ENDCHAR
+STARTCHAR C0137
+ENCODING 9679
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+3c
+7e
+7e
+7e
+3c
+00
+ENDCHAR
+STARTCHAR C0138
+ENCODING 9698
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+01
+03
+07
+0f
+1f
+3f
+7f
+ff
+ENDCHAR
+STARTCHAR C0139
+ENCODING 9699
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+80
+c0
+e0
+f0
+f8
+fc
+fe
+ff
+ENDCHAR
+STARTCHAR C013a
+ENCODING 9824
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+3c
+7e
+7e
+18
+3c
+00
+ENDCHAR
+STARTCHAR C013b
+ENCODING 9827
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+1c
+1c
+77
+77
+08
+1c
+00
+ENDCHAR
+STARTCHAR C013c
+ENCODING 9829
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+36
+7f
+7f
+3e
+1c
+08
+00
+ENDCHAR
+STARTCHAR C013d
+ENCODING 62456
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+23
+33
+1b
+0b
+0e
+7c
+00
+ENDCHAR
+STARTCHAR C013e
+ENCODING 65152
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+1c
+30
+1c
+38
+20
+00
+ENDCHAR
+STARTCHAR C013f
+ENCODING 65153
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+18
+18
+18
+18
+18
+ENDCHAR
+STARTCHAR C0140
+ENCODING 65154
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+18
+18
+18
+18
+18
+18
+18
+ENDCHAR
+STARTCHAR C0141
+ENCODING 65157
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+cf
+1b
+0f
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0142
+ENCODING 65158
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+60
+cf
+1b
+0f
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0143
+ENCODING 65165
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+03
+03
+00
+00
+ENDCHAR
+STARTCHAR C0144
+ENCODING 65166
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+03
+03
+00
+00
+ENDCHAR
+STARTCHAR C0145
+ENCODING 65167
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+c3
+c3
+7e
+00
+18
+ENDCHAR
+STARTCHAR C0146
+ENCODING 65168
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+c3
+c3
+7e
+00
+18
+ENDCHAR
+STARTCHAR C0147
+ENCODING 65169
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+03
+03
+ff
+00
+06
+ENDCHAR
+STARTCHAR C0148
+ENCODING 65170
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+c3
+c3
+7e
+00
+18
+ENDCHAR
+STARTCHAR C0149
+ENCODING 65171
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+1b
+00
+0f
+1b
+1b
+1f
+00
+00
+ENDCHAR
+STARTCHAR C014a
+ENCODING 65172
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+1b
+00
+0f
+1b
+1b
+1f
+00
+00
+ENDCHAR
+STARTCHAR C014b
+ENCODING 65173
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+36
+00
+c3
+c3
+7e
+00
+00
+ENDCHAR
+STARTCHAR C014c
+ENCODING 65174
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+36
+00
+c3
+c3
+7e
+00
+00
+ENDCHAR
+STARTCHAR C014d
+ENCODING 65175
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+6c
+00
+03
+03
+ff
+00
+00
+ENDCHAR
+STARTCHAR C014e
+ENCODING 65176
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+36
+00
+c3
+c3
+7e
+00
+00
+ENDCHAR
+STARTCHAR C014f
+ENCODING 65177
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+66
+00
+c3
+c3
+7e
+00
+00
+ENDCHAR
+STARTCHAR C0150
+ENCODING 65178
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+66
+00
+c3
+c3
+7e
+00
+00
+ENDCHAR
+STARTCHAR C0151
+ENCODING 65179
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+66
+00
+03
+03
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0152
+ENCODING 65180
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+66
+00
+c3
+c3
+7e
+00
+00
+ENDCHAR
+STARTCHAR C0153
+ENCODING 65181
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+0c
+3e
+63
+60
+63
+38
+ENDCHAR
+STARTCHAR C0154
+ENCODING 65182
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+0c
+3e
+63
+60
+63
+38
+ENDCHAR
+STARTCHAR C0155
+ENCODING 65183
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+78
+4c
+06
+ff
+00
+0c
+ENDCHAR
+STARTCHAR C0156
+ENCODING 65184
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+0c
+3e
+63
+60
+63
+38
+ENDCHAR
+STARTCHAR C0157
+ENCODING 65185
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+0c
+3e
+63
+61
+60
+3c
+ENDCHAR
+STARTCHAR C0158
+ENCODING 65186
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+0c
+3e
+63
+61
+60
+3c
+ENDCHAR
+STARTCHAR C0159
+ENCODING 65187
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+78
+4c
+06
+ff
+00
+00
+ENDCHAR
+STARTCHAR C015a
+ENCODING 65188
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+78
+0c
+3e
+63
+61
+60
+3c
+ENDCHAR
+STARTCHAR C015b
+ENCODING 65189
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+78
+0c
+3e
+63
+61
+60
+3c
+ENDCHAR
+STARTCHAR C015c
+ENCODING 65190
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+78
+0c
+3e
+63
+61
+60
+3c
+ENDCHAR
+STARTCHAR C015d
+ENCODING 65191
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+00
+78
+4c
+06
+ff
+00
+00
+ENDCHAR
+STARTCHAR C015e
+ENCODING 65192
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+78
+0c
+3e
+63
+61
+60
+3c
+ENDCHAR
+STARTCHAR C015f
+ENCODING 65193
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0160
+ENCODING 65194
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0161
+ENCODING 65195
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+00
+0c
+06
+03
+03
+3e
+00
+ENDCHAR
+STARTCHAR C0162
+ENCODING 65196
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+00
+0c
+06
+03
+03
+3e
+00
+ENDCHAR
+STARTCHAR C0163
+ENCODING 65197
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0164
+ENCODING 65198
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0165
+ENCODING 65199
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+03
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0166
+ENCODING 65200
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+03
+00
+06
+03
+03
+06
+7c
+ENDCHAR
+STARTCHAR C0167
+ENCODING 65201
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+95
+95
+9f
+9e
+f0
+60
+ENDCHAR
+STARTCHAR C0168
+ENCODING 65202
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+95
+95
+9f
+9e
+f0
+60
+ENDCHAR
+STARTCHAR C0169
+ENCODING 65203
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+49
+db
+ff
+00
+00
+ENDCHAR
+STARTCHAR C016a
+ENCODING 65204
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+95
+95
+9f
+9e
+f0
+60
+ENDCHAR
+STARTCHAR C016b
+ENCODING 65205
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+33
+00
+95
+95
+9f
+f0
+60
+ENDCHAR
+STARTCHAR C016c
+ENCODING 65206
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+33
+00
+95
+95
+9f
+f0
+60
+ENDCHAR
+STARTCHAR C016d
+ENCODING 65207
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+66
+00
+49
+db
+ff
+00
+00
+ENDCHAR
+STARTCHAR C016e
+ENCODING 65208
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+33
+00
+95
+95
+9f
+f0
+60
+ENDCHAR
+STARTCHAR C016f
+ENCODING 65209
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+99
+91
+9f
+f0
+60
+ENDCHAR
+STARTCHAR C0170
+ENCODING 65210
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+99
+91
+9f
+f0
+60
+ENDCHAR
+STARTCHAR C0171
+ENCODING 65211
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+59
+f1
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0172
+ENCODING 65212
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+99
+91
+9f
+f0
+60
+ENDCHAR
+STARTCHAR C0173
+ENCODING 65213
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+00
+0f
+99
+91
+9f
+f8
+70
+ENDCHAR
+STARTCHAR C0174
+ENCODING 65214
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+00
+0f
+99
+91
+9f
+f8
+70
+ENDCHAR
+STARTCHAR C0175
+ENCODING 65215
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+18
+00
+0f
+59
+f1
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0176
+ENCODING 65216
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+0c
+00
+0f
+99
+91
+9f
+f8
+70
+ENDCHAR
+STARTCHAR C0177
+ENCODING 65217
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0178
+ENCODING 65218
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0179
+ENCODING 65219
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C017a
+ENCODING 65220
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C017b
+ENCODING 65221
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+6c
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C017c
+ENCODING 65222
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+6c
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C017d
+ENCODING 65223
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+6c
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C017e
+ENCODING 65224
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+6c
+60
+6f
+79
+71
+ff
+00
+00
+ENDCHAR
+STARTCHAR C017f
+ENCODING 65225
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+18
+18
+3f
+61
+70
+3e
+ENDCHAR
+STARTCHAR C0180
+ENCODING 65226
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+18
+18
+3f
+61
+70
+3e
+ENDCHAR
+STARTCHAR C0181
+ENCODING 65227
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+1c
+3e
+30
+18
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0182
+ENCODING 65228
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+18
+18
+3f
+61
+70
+3e
+ENDCHAR
+STARTCHAR C0183
+ENCODING 65229
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+0e
+18
+18
+3f
+61
+70
+3e
+ENDCHAR
+STARTCHAR C0184
+ENCODING 65230
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+0e
+18
+18
+3f
+61
+70
+3e
+ENDCHAR
+STARTCHAR C0185
+ENCODING 65231
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+1c
+3e
+30
+18
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0186
+ENCODING 65232
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+60
+0e
+18
+18
+3f
+61
+70
+3e
+ENDCHAR
+STARTCHAR C0187
+ENCODING 65233
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+07
+cd
+c7
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0188
+ENCODING 65234
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+07
+cd
+c7
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0189
+ENCODING 65235
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+30
+00
+0f
+0d
+07
+ff
+00
+00
+ENDCHAR
+STARTCHAR C018a
+ENCODING 65236
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+30
+07
+cd
+c7
+ff
+00
+00
+ENDCHAR
+STARTCHAR C018b
+ENCODING 65237
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+00
+07
+4d
+c7
+c3
+7e
+00
+ENDCHAR
+STARTCHAR C018c
+ENCODING 65238
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+00
+07
+4d
+c7
+c3
+7e
+00
+ENDCHAR
+STARTCHAR C018d
+ENCODING 65239
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+6c
+00
+1f
+19
+0f
+ff
+00
+00
+ENDCHAR
+STARTCHAR C018e
+ENCODING 65240
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+36
+00
+07
+4d
+c7
+c3
+7e
+00
+ENDCHAR
+STARTCHAR C018f
+ENCODING 65241
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+33
+23
+73
+03
+83
+fe
+00
+ENDCHAR
+STARTCHAR C0190
+ENCODING 65242
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+33
+23
+73
+03
+83
+fe
+00
+ENDCHAR
+STARTCHAR C0191
+ENCODING 65243
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+1c
+06
+03
+03
+3e
+00
+ENDCHAR
+STARTCHAR C0192
+ENCODING 65244
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+33
+23
+73
+03
+83
+fe
+00
+ENDCHAR
+STARTCHAR C0193
+ENCODING 65245
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+63
+63
+63
+3e
+ENDCHAR
+STARTCHAR C0194
+ENCODING 65246
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+63
+63
+63
+3e
+ENDCHAR
+STARTCHAR C0195
+ENCODING 65247
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+03
+ff
+00
+00
+ENDCHAR
+STARTCHAR C0196
+ENCODING 65248
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+03
+03
+03
+63
+63
+63
+3e
+ENDCHAR
+STARTCHAR C0197
+ENCODING 65249
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+1f
+3d
+67
+63
+60
+60
+ENDCHAR
+STARTCHAR C0198
+ENCODING 65250
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+1f
+3d
+67
+63
+60
+60
+ENDCHAR
+STARTCHAR C0199
+ENCODING 65251
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+07
+0d
+fd
+07
+00
+ENDCHAR
+STARTCHAR C019a
+ENCODING 65252
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+06
+1f
+3d
+67
+63
+60
+60
+ENDCHAR
+STARTCHAR C019b
+ENCODING 65253
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+00
+22
+63
+63
+3e
+00
+ENDCHAR
+STARTCHAR C019c
+ENCODING 65254
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+00
+22
+63
+63
+3e
+00
+ENDCHAR
+STARTCHAR C019d
+ENCODING 65255
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0c
+00
+03
+03
+ff
+00
+00
+ENDCHAR
+STARTCHAR C019e
+ENCODING 65256
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+18
+00
+22
+63
+63
+3e
+00
+ENDCHAR
+STARTCHAR C019f
+ENCODING 65257
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+1b
+1b
+1f
+00
+00
+ENDCHAR
+STARTCHAR C01a0
+ENCODING 65258
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+1b
+1b
+1f
+00
+00
+ENDCHAR
+STARTCHAR C01a1
+ENCODING 65259
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+10
+3e
+27
+39
+ff
+00
+00
+ENDCHAR
+STARTCHAR C01a2
+ENCODING 65260
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+1b
+1b
+1f
+00
+00
+ENDCHAR
+STARTCHAR C01a3
+ENCODING 65261
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+1b
+1f
+03
+06
+7c
+ENDCHAR
+STARTCHAR C01a4
+ENCODING 65262
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0f
+1b
+1f
+03
+06
+7c
+ENDCHAR
+STARTCHAR C01a5
+ENCODING 65263
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0e
+db
+d9
+cd
+cc
+7c
+ENDCHAR
+STARTCHAR C01a6
+ENCODING 65264
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+0e
+db
+d9
+cd
+cc
+7c
+ENDCHAR
+STARTCHAR C01a7
+ENCODING 65265
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+9f
+99
+cd
+7d
+00
+36
+ENDCHAR
+STARTCHAR C01a8
+ENCODING 65266
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+9f
+99
+cd
+7d
+00
+36
+ENDCHAR
+STARTCHAR C01a9
+ENCODING 65267
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+00
+00
+03
+03
+ff
+00
+36
+ENDCHAR
+STARTCHAR C01aa
+ENCODING 65268
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+00
+0e
+9f
+99
+cd
+7d
+00
+36
+ENDCHAR
+STARTCHAR C01ab
+ENCODING 65271
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+03
+23
+33
+1b
+0b
+0e
+7c
+00
+ENDCHAR
+STARTCHAR C01ac
+ENCODING 65533
+SWIDTH 666 0
+DWIDTH 8 0
+BBX 8 8 0 -2
+BITMAP
+3c
+66
+5a
+76
+7e
+76
+3c
+00
+ENDCHAR
+ENDFONT
diff --git a/fonts/fauxtari-8.psf b/fonts/fauxtari-8.psf
new file mode 100644
index 0000000..a58b0e0
--- /dev/null
+++ b/fonts/fauxtari-8.psf
Binary files differ
diff --git a/fonts/fauxtari-8.txt b/fonts/fauxtari-8.txt
new file mode 100644
index 0000000..f82836e
--- /dev/null
+++ b/fonts/fauxtari-8.txt
@@ -0,0 +1,4261 @@
+%PSF2
+Version: 0
+Flags: 1
+Length: 512
+Width: 8
+Height: 8
+%
+Unicode: [2665];
+Bitmap: \
+-------- \
+--##-##- \
+-####### \
+-####### \
+--#####- \
+---###-- \
+----#--- \
+--------
+%
+Unicode: [2523];
+Bitmap: \
+---##--- \
+---##--- \
+---##--- \
+---##### \
+---##### \
+---##--- \
+---##--- \
+---##---
+%
+Unicode: [2503];
+Bitmap: \
+------## \
+------## \
+------## \
+------## \
+------## \
+------## \
+------## \
+------##
+%
+Unicode: [251b];
+Bitmap: \
+---##--- \
+---##--- \
+---##--- \
+#####--- \
+#####--- \
+-------- \
+-------- \
+--------
+%
+Unicode: [252b];
+Bitmap: \
+---##--- \
+---##--- \
+---##--- \
+#####--- \
+#####--- \
+---##--- \
+---##--- \
+---##---
+%
+Unicode: [2513];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+#####--- \
+#####--- \
+---##--- \
+---##--- \
+---##---
+%
+Unicode: [2571];
+Bitmap: \
+------## \
+-----### \
+----###- \
+---###-- \
+--###--- \
+-###---- \
+###----- \
+##------
+%
+Unicode: [2572];
+Bitmap: \
+##------ \
+###----- \
+-###---- \
+--###--- \
+---###-- \
+----###- \
+-----### \
+------##
+%
+Unicode: [25e2];
+Bitmap: \
+-------# \
+------## \
+-----### \
+----#### \
+---##### \
+--###### \
+-####### \
+########
+%
+Unicode: [2597];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-------- \
+----#### \
+----#### \
+----#### \
+----####
+%
+Unicode: [25e3];
+Bitmap: \
+#------- \
+##------ \
+###----- \
+####---- \
+#####--- \
+######-- \
+#######- \
+########
+%
+Unicode: [259d];
+Bitmap: \
+----#### \
+----#### \
+----#### \
+----#### \
+-------- \
+-------- \
+-------- \
+--------
+%
+Unicode: [2598];
+Bitmap: \
+####---- \
+####---- \
+####---- \
+####---- \
+-------- \
+-------- \
+-------- \
+--------
+%
+Unicode: [2594];
+Bitmap: \
+######## \
+######## \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+--------
+%
+Unicode: [2581];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+######## \
+########
+%
+Unicode: [2596];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-------- \
+####---- \
+####---- \
+####---- \
+####----
+%
+Unicode: [2663];
+Bitmap: \
+-------- \
+---###-- \
+---###-- \
+-###-### \
+-###-### \
+----#--- \
+---###-- \
+--------
+%
+Unicode: [250f];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+---##### \
+---##### \
+---##--- \
+---##--- \
+---##---
+%
+Unicode: [2501];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+######## \
+######## \
+-------- \
+-------- \
+--------
+%
+Unicode: [254b];
+Bitmap: \
+---##--- \
+---##--- \
+---##--- \
+######## \
+######## \
+---##--- \
+---##--- \
+---##---
+%
+Unicode: [25cf];
+Bitmap: \
+-------- \
+-------- \
+--####-- \
+-######- \
+-######- \
+-######- \
+--####-- \
+--------
+%
+Unicode: [2584];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-------- \
+######## \
+######## \
+######## \
+########
+%
+Unicode: [258e];
+Bitmap: \
+##------ \
+##------ \
+##------ \
+##------ \
+##------ \
+##------ \
+##------ \
+##------
+%
+Unicode: [2533];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+######## \
+######## \
+---##--- \
+---##--- \
+---##---
+%
+Unicode: [253b];
+Bitmap: \
+---##--- \
+---##--- \
+---##--- \
+######## \
+######## \
+-------- \
+-------- \
+--------
+%
+Unicode: [258c];
+Bitmap: \
+####---- \
+####---- \
+####---- \
+####---- \
+####---- \
+####---- \
+####---- \
+####----
+%
+Unicode: [2517];
+Bitmap: \
+---##--- \
+---##--- \
+---##--- \
+---##### \
+---##### \
+-------- \
+-------- \
+--------
+%
+Unicode: [0118];[241b];
+Bitmap: \
+-####--- \
+-##----- \
+-####--- \
+-##----- \
+-######- \
+---##--- \
+---####- \
+--------
+%
+Unicode: [2191];
+Bitmap: \
+-------- \
+---##--- \
+--####-- \
+-######- \
+---##--- \
+---##--- \
+---##--- \
+--------
+%
+Unicode: [2193];
+Bitmap: \
+-------- \
+---##--- \
+---##--- \
+---##--- \
+-######- \
+--####-- \
+---##--- \
+--------
+%
+Unicode: [2190];
+Bitmap: \
+-------- \
+---##--- \
+--##---- \
+-######- \
+--##---- \
+---##--- \
+-------- \
+--------
+%
+Unicode: [2192];
+Bitmap: \
+-------- \
+---##--- \
+----##-- \
+-######- \
+----##-- \
+---##--- \
+-------- \
+--------
+%
+Unicode: [0020];[00a0];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+--------
+%
+Unicode: [0021];
+Bitmap: \
+-------- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+-------- \
+---##--- \
+--------
+%
+Unicode: [0022];
+Bitmap: \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+-------- \
+-------- \
+-------- \
+--------
+%
+Unicode: [0023];
+Bitmap: \
+-------- \
+-##--##- \
+######## \
+-##--##- \
+-##--##- \
+######## \
+-##--##- \
+--------
+%
+Unicode: [0024];
+Bitmap: \
+---##--- \
+--#####- \
+-##----- \
+--####-- \
+-----##- \
+-#####-- \
+---##--- \
+--------
+%
+Unicode: [0025];
+Bitmap: \
+-------- \
+-##--##- \
+-##-##-- \
+---##--- \
+--##---- \
+-##--##- \
+-#---##- \
+--------
+%
+Unicode: [0026];
+Bitmap: \
+---###-- \
+--##-##- \
+---###-- \
+--###--- \
+-##-#### \
+-##--##- \
+--###-## \
+--------
+%
+Unicode: [0027];
+Bitmap: \
+-------- \
+---##--- \
+---##--- \
+---##--- \
+-------- \
+-------- \
+-------- \
+--------
+%
+Unicode: [0028];
+Bitmap: \
+-------- \
+----###- \
+---###-- \
+---##--- \
+---##--- \
+---###-- \
+----###- \
+--------
+%
+Unicode: [0029];
+Bitmap: \
+-------- \
+-###---- \
+--###--- \
+---##--- \
+---##--- \
+--###--- \
+-###---- \
+--------
+%
+Unicode: [002a];
+Bitmap: \
+-------- \
+-##--##- \
+--####-- \
+######## \
+--####-- \
+-##--##- \
+-------- \
+--------
+%
+Unicode: [002b];
+Bitmap: \
+-------- \
+---##--- \
+---##--- \
+-######- \
+---##--- \
+---##--- \
+-------- \
+--------
+%
+Unicode: [002c];[00b8];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+---##--- \
+---##--- \
+--##----
+%
+Unicode: [002d];[00ad];[2013];[2014];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-######- \
+-------- \
+-------- \
+-------- \
+--------
+%
+Unicode: [002e];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+---##--- \
+---##--- \
+--------
+%
+Unicode: [002f];
+Bitmap: \
+-------- \
+-----##- \
+----##-- \
+---##--- \
+--##---- \
+-##----- \
+-#------ \
+--------
+%
+Unicode: [0030];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+-##-###- \
+-###-##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [0031];
+Bitmap: \
+-------- \
+---##--- \
+--###--- \
+---##--- \
+---##--- \
+---##--- \
+-######- \
+--------
+%
+Unicode: [0032];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+----##-- \
+---##--- \
+--##---- \
+-######- \
+--------
+%
+Unicode: [0033];
+Bitmap: \
+-------- \
+-######- \
+----##-- \
+---##--- \
+----##-- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [0034];
+Bitmap: \
+-------- \
+----##-- \
+---###-- \
+--####-- \
+-##-##-- \
+-######- \
+----##-- \
+--------
+%
+Unicode: [0035];
+Bitmap: \
+-------- \
+-######- \
+-##----- \
+-#####-- \
+-----##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [0036];
+Bitmap: \
+-------- \
+--####-- \
+-##----- \
+-#####-- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [0037];
+Bitmap: \
+-------- \
+-######- \
+-----##- \
+----##-- \
+---##--- \
+--##---- \
+--##---- \
+--------
+%
+Unicode: [0038];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+--####-- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [0039];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+--#####- \
+-----##- \
+----##-- \
+--###--- \
+--------
+%
+Unicode: [003a];
+Bitmap: \
+-------- \
+-------- \
+---##--- \
+---##--- \
+-------- \
+---##--- \
+---##--- \
+--------
+%
+Unicode: [003b];
+Bitmap: \
+-------- \
+-------- \
+---##--- \
+---##--- \
+-------- \
+---##--- \
+---##--- \
+--##----
+%
+Unicode: [003c];
+Bitmap: \
+-----##- \
+----##-- \
+---##--- \
+--##---- \
+---##--- \
+----##-- \
+-----##- \
+--------
+%
+Unicode: [003d];
+Bitmap: \
+-------- \
+-------- \
+-######- \
+-------- \
+-------- \
+-######- \
+-------- \
+--------
+%
+Unicode: [003e];
+Bitmap: \
+-##----- \
+--##---- \
+---##--- \
+----##-- \
+---##--- \
+--##---- \
+-##----- \
+--------
+%
+Unicode: [003f];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+----##-- \
+---##--- \
+-------- \
+---##--- \
+--------
+%
+Unicode: [0040];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+-##-###- \
+-##-###- \
+-##----- \
+--#####- \
+--------
+%
+Unicode: [0041];
+Bitmap: \
+-------- \
+---##--- \
+--####-- \
+-##--##- \
+-##--##- \
+-######- \
+-##--##- \
+--------
+%
+Unicode: [0042];
+Bitmap: \
+-------- \
+-#####-- \
+-##--##- \
+-#####-- \
+-##--##- \
+-##--##- \
+-#####-- \
+--------
+%
+Unicode: [0043];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+-##----- \
+-##----- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [0044];
+Bitmap: \
+-------- \
+-####--- \
+-##-##-- \
+-##--##- \
+-##--##- \
+-##-##-- \
+-####--- \
+--------
+%
+Unicode: [0045];
+Bitmap: \
+-------- \
+-######- \
+-##----- \
+-#####-- \
+-##----- \
+-##----- \
+-######- \
+--------
+%
+Unicode: [0046];
+Bitmap: \
+-------- \
+-######- \
+-##----- \
+-#####-- \
+-##----- \
+-##----- \
+-##----- \
+--------
+%
+Unicode: [0047];
+Bitmap: \
+-------- \
+--#####- \
+-##----- \
+-##----- \
+-##-###- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [0048];
+Bitmap: \
+-------- \
+-##--##- \
+-##--##- \
+-######- \
+-##--##- \
+-##--##- \
+-##--##- \
+--------
+%
+Unicode: [0049];
+Bitmap: \
+-------- \
+-######- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+-######- \
+--------
+%
+Unicode: [004a];
+Bitmap: \
+-------- \
+-----##- \
+-----##- \
+-----##- \
+-----##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [004b];
+Bitmap: \
+-------- \
+-##--##- \
+-##-##-- \
+-####--- \
+-####--- \
+-##-##-- \
+-##--##- \
+--------
+%
+Unicode: [004c];
+Bitmap: \
+-------- \
+-##----- \
+-##----- \
+-##----- \
+-##----- \
+-##----- \
+-######- \
+--------
+%
+Unicode: [004d];
+Bitmap: \
+-------- \
+-##---## \
+-###-### \
+-####### \
+-##-#-## \
+-##---## \
+-##---## \
+--------
+%
+Unicode: [004e];
+Bitmap: \
+-------- \
+-##--##- \
+-###-##- \
+-######- \
+-######- \
+-##-###- \
+-##--##- \
+--------
+%
+Unicode: [004f];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [0050];
+Bitmap: \
+-------- \
+-#####-- \
+-##--##- \
+-##--##- \
+-#####-- \
+-##----- \
+-##----- \
+--------
+%
+Unicode: [0051];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##-##-- \
+--##-##- \
+--------
+%
+Unicode: [0052];
+Bitmap: \
+-------- \
+-#####-- \
+-##--##- \
+-##--##- \
+-#####-- \
+-##-##-- \
+-##--##- \
+--------
+%
+Unicode: [0053];
+Bitmap: \
+-------- \
+--####-- \
+-##----- \
+--####-- \
+-----##- \
+-----##- \
+--####-- \
+--------
+%
+Unicode: [0054];
+Bitmap: \
+-------- \
+-######- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+--------
+%
+Unicode: [0055];
+Bitmap: \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+-######- \
+--------
+%
+Unicode: [0056];
+Bitmap: \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+--####-- \
+---##--- \
+--------
+%
+Unicode: [0057];
+Bitmap: \
+-------- \
+-##---## \
+-##---## \
+-##-#-## \
+-####### \
+-###-### \
+-##---## \
+--------
+%
+Unicode: [0058];
+Bitmap: \
+-------- \
+-##--##- \
+-##--##- \
+--####-- \
+--####-- \
+-##--##- \
+-##--##- \
+--------
+%
+Unicode: [0059];
+Bitmap: \
+-------- \
+-##--##- \
+-##--##- \
+--####-- \
+---##--- \
+---##--- \
+---##--- \
+--------
+%
+Unicode: [005a];
+Bitmap: \
+-------- \
+-######- \
+----##-- \
+---##--- \
+--##---- \
+-##----- \
+-######- \
+--------
+%
+Unicode: [005b];
+Bitmap: \
+-------- \
+---####- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---####- \
+--------
+%
+Unicode: [005c];
+Bitmap: \
+-------- \
+-#------ \
+-##----- \
+--##---- \
+---##--- \
+----##-- \
+-----##- \
+--------
+%
+Unicode: [005d];
+Bitmap: \
+-------- \
+-####--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+-####--- \
+--------
+%
+Unicode: [005e];
+Bitmap: \
+-------- \
+----#--- \
+---###-- \
+--##-##- \
+-##---## \
+-------- \
+-------- \
+--------
+%
+Unicode: [005f];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+-------- \
+######## \
+--------
+%
+Unicode: [25c6];
+Bitmap: \
+-------- \
+---##--- \
+--####-- \
+-######- \
+-######- \
+--####-- \
+---##--- \
+--------
+%
+Unicode: [0061];
+Bitmap: \
+-------- \
+-------- \
+--####-- \
+-----##- \
+--#####- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [0062];
+Bitmap: \
+-------- \
+-##----- \
+-##----- \
+-#####-- \
+-##--##- \
+-##--##- \
+-#####-- \
+--------
+%
+Unicode: [0063];
+Bitmap: \
+-------- \
+-------- \
+--####-- \
+-##----- \
+-##----- \
+-##----- \
+--####-- \
+--------
+%
+Unicode: [0064];
+Bitmap: \
+-------- \
+-----##- \
+-----##- \
+--#####- \
+-##--##- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [0065];
+Bitmap: \
+-------- \
+-------- \
+--####-- \
+-##--##- \
+-######- \
+-##----- \
+--####-- \
+--------
+%
+Unicode: [0066];
+Bitmap: \
+-------- \
+----###- \
+---##--- \
+--#####- \
+---##--- \
+---##--- \
+---##--- \
+--------
+%
+Unicode: [0067];
+Bitmap: \
+-------- \
+-------- \
+--#####- \
+-##--##- \
+-##--##- \
+--#####- \
+-----##- \
+-#####--
+%
+Unicode: [0068];
+Bitmap: \
+-------- \
+-##----- \
+-##----- \
+-#####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+--------
+%
+Unicode: [0069];
+Bitmap: \
+-------- \
+---##--- \
+-------- \
+--###--- \
+---##--- \
+---##--- \
+--####-- \
+--------
+%
+Unicode: [006a];
+Bitmap: \
+-------- \
+-----##- \
+-------- \
+-----##- \
+-----##- \
+-----##- \
+-----##- \
+--####--
+%
+Unicode: [006b];
+Bitmap: \
+-------- \
+-##----- \
+-##----- \
+-##-##-- \
+-####--- \
+-##-##-- \
+-##--##- \
+--------
+%
+Unicode: [006c];
+Bitmap: \
+-------- \
+--###--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+--####-- \
+--------
+%
+Unicode: [006d];
+Bitmap: \
+-------- \
+-------- \
+-##--##- \
+-####### \
+-####### \
+-##-#-## \
+-##---## \
+--------
+%
+Unicode: [006e];
+Bitmap: \
+-------- \
+-------- \
+-#####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+--------
+%
+Unicode: [006f];
+Bitmap: \
+-------- \
+-------- \
+--####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [0070];
+Bitmap: \
+-------- \
+-------- \
+-#####-- \
+-##--##- \
+-##--##- \
+-#####-- \
+-##----- \
+-##-----
+%
+Unicode: [0071];
+Bitmap: \
+-------- \
+-------- \
+--#####- \
+-##--##- \
+-##--##- \
+--#####- \
+-----##- \
+-----##-
+%
+Unicode: [0072];
+Bitmap: \
+-------- \
+-------- \
+-#####-- \
+-##--##- \
+-##----- \
+-##----- \
+-##----- \
+--------
+%
+Unicode: [0073];
+Bitmap: \
+-------- \
+-------- \
+--#####- \
+-##----- \
+--####-- \
+-----##- \
+-#####-- \
+--------
+%
+Unicode: [0074];
+Bitmap: \
+-------- \
+---##--- \
+-######- \
+---##--- \
+---##--- \
+---##--- \
+----###- \
+--------
+%
+Unicode: [0075];
+Bitmap: \
+-------- \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [0076];
+Bitmap: \
+-------- \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+--####-- \
+---##--- \
+--------
+%
+Unicode: [0077];
+Bitmap: \
+-------- \
+-------- \
+-##---## \
+-##-#-## \
+-####### \
+--#####- \
+--##-##- \
+--------
+%
+Unicode: [0078];
+Bitmap: \
+-------- \
+-------- \
+-##--##- \
+--####-- \
+---##--- \
+--####-- \
+-##--##- \
+--------
+%
+Unicode: [0079];
+Bitmap: \
+-------- \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+--#####- \
+----##-- \
+-####---
+%
+Unicode: [007a];
+Bitmap: \
+-------- \
+-------- \
+-######- \
+----##-- \
+---##--- \
+--##---- \
+-######- \
+--------
+%
+Unicode: [2660];
+Bitmap: \
+-------- \
+---##--- \
+--####-- \
+-######- \
+-######- \
+---##--- \
+--####-- \
+--------
+%
+Unicode: [007c];[0622];[fe81];[fe82];
+Bitmap: \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##---
+%
+Unicode: [21b0];
+Bitmap: \
+-------- \
+-######- \
+-####--- \
+-#####-- \
+-##-###- \
+-##--##- \
+-----##- \
+--------
+%
+Unicode: [25c0];
+Bitmap: \
+----#--- \
+---##--- \
+--###--- \
+-####--- \
+--###--- \
+---##--- \
+----#--- \
+--------
+%
+Unicode: [25b6];
+Bitmap: \
+---#---- \
+---##--- \
+---###-- \
+---####- \
+---###-- \
+---##--- \
+---#---- \
+--------
+%
+Unicode: [00e1];
+Bitmap: \
+----##-- \
+---##--- \
+--####-- \
+-----##- \
+--#####- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00f9];
+Bitmap: \
+--##---- \
+---##--- \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00d1];
+Bitmap: \
+--##-##- \
+-##-##-- \
+-------- \
+-###-##- \
+-###-##- \
+-######- \
+-##-###- \
+--------
+%
+Unicode: [00c9];
+Bitmap: \
+----##-- \
+---##--- \
+-######- \
+-##----- \
+-#####-- \
+-##----- \
+-######- \
+--------
+%
+Unicode: [00e7];
+Bitmap: \
+-------- \
+-------- \
+--####-- \
+-##----- \
+-##----- \
+--####-- \
+---##--- \
+--##----
+%
+Unicode: [00f4];
+Bitmap: \
+--####-- \
+-##--##- \
+-------- \
+--####-- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [00f2];
+Bitmap: \
+--##---- \
+---##--- \
+-------- \
+--####-- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [00ec];
+Bitmap: \
+--##---- \
+---##--- \
+-------- \
+--###--- \
+---##--- \
+---##--- \
+--####-- \
+--------
+%
+Unicode: [00a3];
+Bitmap: \
+---###-- \
+--##---- \
+--##---- \
+-####--- \
+--##---- \
+--##---- \
+-######- \
+--------
+%
+Unicode: [00ef];
+Bitmap: \
+-------- \
+-##--##- \
+-------- \
+--###--- \
+---##--- \
+---##--- \
+--####-- \
+--------
+%
+Unicode: [00fc];
+Bitmap: \
+-------- \
+-##--##- \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00e4];
+Bitmap: \
+--##-##- \
+-------- \
+--####-- \
+-----##- \
+--#####- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00d6];
+Bitmap: \
+-##--##- \
+-------- \
+--####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [00fa];
+Bitmap: \
+----##-- \
+---##--- \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00f3];
+Bitmap: \
+----##-- \
+---##--- \
+-------- \
+--####-- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [00f6];
+Bitmap: \
+-------- \
+-##--##- \
+-------- \
+--####-- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [00dc];
+Bitmap: \
+-##--##- \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+-######- \
+--------
+%
+Unicode: [00e5];
+Bitmap: \
+--####-- \
+-##--##- \
+---###-- \
+-----##- \
+--#####- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00fb];
+Bitmap: \
+--####-- \
+-##--##- \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00ee];
+Bitmap: \
+--####-- \
+-##--##- \
+-------- \
+--###--- \
+---##--- \
+---##--- \
+--####-- \
+--------
+%
+Unicode: [00e9];
+Bitmap: \
+----##-- \
+---##--- \
+--####-- \
+-##--##- \
+-######- \
+-##----- \
+--####-- \
+--------
+%
+Unicode: [00e8];
+Bitmap: \
+--##---- \
+---##--- \
+--####-- \
+-##--##- \
+-######- \
+-##----- \
+--####-- \
+--------
+%
+Unicode: [00f1];
+Bitmap: \
+--##-##- \
+-##-##-- \
+-------- \
+-#####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+--------
+%
+Unicode: [00ea];
+Bitmap: \
+--####-- \
+##----## \
+--####-- \
+-##--##- \
+-######- \
+-##----- \
+--####-- \
+--------
+%
+Unicode: [0227];
+Bitmap: \
+---##--- \
+-------- \
+--####-- \
+-----##- \
+--#####- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00e0];
+Bitmap: \
+--##---- \
+---##--- \
+--####-- \
+-----##- \
+--#####- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [00a1];
+Bitmap: \
+---##--- \
+-------- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+--------
+%
+Unicode: [00c4];
+Bitmap: \
+-##--##- \
+-##--##- \
+---##--- \
+--####-- \
+-##--##- \
+-######- \
+-##--##- \
+--------
+%
+Unicode: [05d0];
+Bitmap: \
+-------- \
+##---##- \
+####-##- \
+##-####- \
+##--##-- \
+##---##- \
+-------- \
+--------
+%
+Unicode: [05d1];
+Bitmap: \
+-------- \
+#####--- \
+---###-- \
+----##-- \
+----##-- \
+#######- \
+-------- \
+--------
+%
+Unicode: [05d2];
+Bitmap: \
+-------- \
+--####-- \
+----##-- \
+----##-- \
+-#####-- \
+###--##- \
+-------- \
+--------
+%
+Unicode: [05d3];
+Bitmap: \
+-------- \
+#######- \
+---###-- \
+----##-- \
+----##-- \
+----##-- \
+-------- \
+--------
+%
+Unicode: [05d4];
+Bitmap: \
+-------- \
+######-- \
+-----##- \
+-#---##- \
+-##--##- \
+-##--##- \
+-------- \
+--------
+%
+Unicode: [05d5];
+Bitmap: \
+-------- \
+--####-- \
+---###-- \
+----##-- \
+----##-- \
+----##-- \
+-------- \
+--------
+%
+Unicode: [05d6];
+Bitmap: \
+-------- \
+######-- \
+-###---- \
+--##---- \
+--##---- \
+--##---- \
+-------- \
+--------
+%
+Unicode: [05d7];
+Bitmap: \
+-------- \
+######-- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+-------- \
+--------
+%
+Unicode: [05d8];
+Bitmap: \
+-------- \
+##-####- \
+##-#-##- \
+##---##- \
+##---##- \
+######-- \
+-------- \
+--------
+%
+Unicode: [05d9];
+Bitmap: \
+-------- \
+-#####-- \
+---###-- \
+----##-- \
+-------- \
+-------- \
+-------- \
+--------
+%
+Unicode: [05da];
+Bitmap: \
+-------- \
+######-- \
+----###- \
+-----##- \
+-----##- \
+-----##- \
+-----##- \
+-----##-
+%
+Unicode: [05db];
+Bitmap: \
+-------- \
+######-- \
+-----##- \
+-----##- \
+----###- \
+######-- \
+-------- \
+--------
+%
+Unicode: [05dc];
+Bitmap: \
+##------ \
+######-- \
+-----##- \
+-----##- \
+----###- \
+--####-- \
+-------- \
+--------
+%
+Unicode: [05dd];
+Bitmap: \
+-------- \
+-######- \
+-##--##- \
+-##--##- \
+-##--##- \
+-######- \
+-------- \
+--------
+%
+Unicode: [05de];
+Bitmap: \
+-------- \
+##-###-- \
+-###-##- \
+-##--##- \
+-##--##- \
+-##-###- \
+-------- \
+--------
+%
+Unicode: [05df];
+Bitmap: \
+-------- \
+---####- \
+----###- \
+-----##- \
+-----##- \
+-----##- \
+-----##- \
+-----##-
+%
+Unicode: [05e0];
+Bitmap: \
+-------- \
+---####- \
+-----##- \
+-----##- \
+----###- \
+-#####-- \
+-------- \
+--------
+%
+Unicode: [05e1];
+Bitmap: \
+-------- \
+#######- \
+-##--##- \
+-##--##- \
+-##-##-- \
+-####--- \
+-------- \
+--------
+%
+Unicode: [05e2];
+Bitmap: \
+-------- \
+###-###- \
+-##--##- \
+--##-##- \
+--##-##- \
+######-- \
+-------- \
+--------
+%
+Unicode: [05e3];
+Bitmap: \
+-------- \
+######-- \
+-##-###- \
+-##--##- \
+-----##- \
+-----##- \
+-----##- \
+-----##-
+%
+Unicode: [05e4];
+Bitmap: \
+-------- \
+######-- \
+-##--##- \
+-##--##- \
+----###- \
+######-- \
+-------- \
+--------
+%
+Unicode: [05e5];
+Bitmap: \
+-------- \
+##--###- \
+-##--##- \
+-##-##-- \
+-####--- \
+-##----- \
+-##----- \
+-##-----
+%
+Unicode: [05e6];
+Bitmap: \
+-------- \
+##---##- \
+-##-###- \
+--###--- \
+----##-- \
+#######- \
+-------- \
+--------
+%
+Unicode: [05e7];
+Bitmap: \
+-------- \
+######-- \
+----###- \
+##---##- \
+##--##-- \
+##-##--- \
+##------ \
+##------
+%
+Unicode: [05e8];
+Bitmap: \
+-------- \
+######-- \
+----###- \
+-----##- \
+-----##- \
+-----##- \
+-------- \
+--------
+%
+Unicode: [05e9];
+Bitmap: \
+-------- \
+#--#--#- \
+##-#--#- \
+###--##- \
+##--##-- \
+######-- \
+-------- \
+--------
+%
+Unicode: [05ea];
+Bitmap: \
+-------- \
+######-- \
+-##-###- \
+-##--##- \
+-##--##- \
+###--##- \
+-------- \
+--------
+%
+Unicode: [0179];
+Bitmap: \
+---##--- \
+-######- \
+--##-##- \
+----##-- \
+---##--- \
+--##---- \
+-######- \
+--------
+%
+Unicode: [0105];
+Bitmap: \
+-------- \
+-------- \
+--####-- \
+-----##- \
+--#####- \
+-##--##- \
+--#####- \
+------##
+%
+Unicode: [017a];
+Bitmap: \
+----##-- \
+---##--- \
+-######- \
+----##-- \
+---##--- \
+--##---- \
+-######- \
+--------
+%
+Unicode: [0107];
+Bitmap: \
+----##-- \
+---##--- \
+--####-- \
+-##----- \
+-##----- \
+-##----- \
+--####-- \
+--------
+%
+Unicode: [015a];
+Bitmap: \
+---##--- \
+--####-- \
+-##----- \
+--####-- \
+-----##- \
+-----##- \
+--####-- \
+--------
+%
+Unicode: [0119];
+Bitmap: \
+-------- \
+-------- \
+--####-- \
+-##--##- \
+-######- \
+-##----- \
+--####-- \
+-----##-
+%
+Unicode: [00df];
+Bitmap: \
+-------- \
+---###-- \
+--##-##- \
+--####-- \
+--##-##- \
+--##-### \
+--#####- \
+-##-----
+%
+Unicode: [0141];
+Bitmap: \
+-------- \
+-##----- \
+-##----- \
+-####--- \
+-###---- \
+###----- \
+-######- \
+--------
+%
+Unicode: [0142];
+Bitmap: \
+-------- \
+--###--- \
+---##--- \
+---###-- \
+--###--- \
+---##--- \
+--####-- \
+--------
+%
+Unicode: [0143];
+Bitmap: \
+----##-- \
+-#-##-#- \
+-##--##- \
+-######- \
+-######- \
+-##-###- \
+-##--##- \
+--------
+%
+Unicode: [0144];
+Bitmap: \
+----##-- \
+---##--- \
+-#####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+--------
+%
+Unicode: [00d3];
+Bitmap: \
+-----##- \
+--####-- \
+-##-#-#- \
+-##--##- \
+-##--##- \
+-##--##- \
+--####-- \
+--------
+%
+Unicode: [015b];
+Bitmap: \
+----##-- \
+---##--- \
+--#####- \
+-##----- \
+--####-- \
+-----##- \
+-#####-- \
+--------
+%
+Unicode: [0106];
+Bitmap: \
+----##-- \
+--####-- \
+-##-###- \
+-##----- \
+-##----- \
+-##--##- \
+--#####- \
+--------
+%
+Unicode: [0104];
+Bitmap: \
+-------- \
+---##--- \
+--####-- \
+-##--##- \
+-##--##- \
+-######- \
+-##--##- \
+------##
+%
+Unicode: [017b];
+Bitmap: \
+---##--- \
+-######- \
+----##-- \
+---##--- \
+--##---- \
+-##----- \
+-######- \
+--------
+%
+Unicode: [017c];
+Bitmap: \
+---##--- \
+-------- \
+-######- \
+----##-- \
+---##--- \
+--##---- \
+-######- \
+--------
+%
+Unicode: [0660];
+Bitmap: \
+-------- \
+-----##- \
+----##-- \
+---##--- \
+--##---- \
+-##----- \
+-#------ \
+--------
+%
+Unicode: [0661];
+Bitmap: \
+-------- \
+-------- \
+----#--- \
+---###-- \
+--#####- \
+---###-- \
+----#--- \
+--------
+%
+Unicode: [0662];
+Bitmap: \
+-------- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##--- \
+---##---
+%
+Unicode: [0663];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+-##----- \
+--##---- \
+---##--- \
+----##-- \
+-----##-
+%
+Unicode: [0664];
+Bitmap: \
+-------- \
+-##-#-## \
+-##-#-## \
+-####### \
+-###---- \
+--##---- \
+--###--- \
+---##---
+%
+Unicode: [0665];
+Bitmap: \
+-------- \
+---####- \
+--###--- \
+-###---- \
+---###-- \
+--###--- \
+-###---- \
+--#####-
+%
+Unicode: [0666];
+Bitmap: \
+-------- \
+---###-- \
+--#####- \
+-##--##- \
+-##--##- \
+-##--##- \
+-######- \
+--####--
+%
+Unicode: [0667];
+Bitmap: \
+-------- \
+-#####-- \
+-#####-- \
+----##-- \
+----##-- \
+----##-- \
+----##-- \
+----##--
+%
+Unicode: [0668];
+Bitmap: \
+-------- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##- \
+--####-- \
+--####-- \
+---##---
+%
+Unicode: [0669];
+Bitmap: \
+-------- \
+---##--- \
+--####-- \
+--####-- \
+-##--##- \
+-##--##- \
+-##--##- \
+-##--##-
+%
+Unicode: [0624];[fe85];[fe86];
+Bitmap: \
+-------- \
+-##----- \
+##--#### \
+---##-## \
+----#### \
+------## \
+-----##- \
+-#####--
+%
+Unicode: [0634];[feb5];[feb6];[feb8];
+Bitmap: \
+----##-- \
+--##--## \
+-------- \
+#--#-#-# \
+#--#-#-# \
+#--##### \
+####---- \
+-##-----
+%
+Unicode: [0648];[feed];[feee];
+Bitmap: \
+-------- \
+-------- \
+----#### \
+---##-## \
+---##### \
+------## \
+-----##- \
+-#####--
+%
+Unicode: [0629];[fe93];[fe94];
+Bitmap: \
+---##-## \
+-------- \
+----#### \
+---##-## \
+---##-## \
+---##### \
+-------- \
+--------
+%
+Unicode: [064a];[fef1];[fef2];[fef4];
+Bitmap: \
+-------- \
+----###- \
+#--##### \
+#--##--# \
+##--##-# \
+-#####-# \
+-------- \
+--##-##-
+%
+Unicode: [062b];[fe99];[fe9a];[fe9c];
+Bitmap: \
+---##--- \
+-##--##- \
+-------- \
+##----## \
+##----## \
+-######- \
+-------- \
+--------
+%
+Unicode: [0628];[fe8f];[fe90];[fe92];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+##----## \
+##----## \
+-######- \
+-------- \
+---##---
+%
+Unicode: [0644];[fedd];[fede];[fee0];
+Bitmap: \
+------## \
+------## \
+------## \
+------## \
+-##---## \
+-##---## \
+-##---## \
+--#####-
+%
+Unicode: [0621];[fe80];
+Bitmap: \
+-------- \
+-------- \
+---###-- \
+--##---- \
+---###-- \
+--###--- \
+--#----- \
+--------
+%
+Unicode: [0647];[fee9];[feea];[feec];
+Bitmap: \
+-------- \
+-------- \
+----#### \
+---##-## \
+---##-## \
+---##### \
+-------- \
+--------
+%
+Unicode: [062a];[fe95];[fe96];[fe98];
+Bitmap: \
+-------- \
+--##-##- \
+-------- \
+##----## \
+##----## \
+-######- \
+-------- \
+--------
+%
+Unicode: [0646];[fee5];[fee6];[fee8];
+Bitmap: \
+-------- \
+---##--- \
+-------- \
+--#---#- \
+-##---## \
+-##---## \
+--#####- \
+--------
+%
+Unicode: [0645];[fee1];[fee2];[fee4];
+Bitmap: \
+-------- \
+-----##- \
+---##### \
+--####-# \
+-##--### \
+-##---## \
+-##----- \
+-##-----
+%
+Unicode: [062c];[fe9d];[fe9e];[fea0];
+Bitmap: \
+-------- \
+-####--- \
+----##-- \
+--#####- \
+-##---## \
+-##----- \
+-##---## \
+--###---
+%
+Unicode: [062e];[fea5];[fea6];[fea8];
+Bitmap: \
+------## \
+-####--- \
+----##-- \
+--#####- \
+-##---## \
+-##----# \
+-##----- \
+--####--
+%
+Unicode: [062d];[fea1];[fea2];[fea4];
+Bitmap: \
+-------- \
+-####--- \
+----##-- \
+--#####- \
+-##---## \
+-##----# \
+-##----- \
+--####--
+%
+Unicode: [0636];[febd];[febe];[fec0];
+Bitmap: \
+----##-- \
+-------- \
+----#### \
+#--##--# \
+#--#---# \
+#--##### \
+#####--- \
+-###----
+%
+Unicode: [0642];[fed5];[fed6];[fed8];
+Bitmap: \
+--##-##- \
+-------- \
+-----### \
+-#--##-# \
+##---### \
+##----## \
+-######- \
+--------
+%
+Unicode: [0633];[feb1];[feb2];[feb4];
+Bitmap: \
+-------- \
+-------- \
+#--#-#-# \
+#--#-#-# \
+#--##### \
+#--####- \
+####---- \
+-##-----
+%
+Unicode: [0641];[fed1];[fed2];[fed4];
+Bitmap: \
+-------- \
+--##---- \
+-----### \
+##--##-# \
+##---### \
+######## \
+-------- \
+--------
+%
+Unicode: [0639];[fec9];[feca];[fecc];
+Bitmap: \
+-------- \
+----###- \
+---##--- \
+---##--- \
+--###### \
+-##----# \
+-###---- \
+--#####-
+%
+Unicode: [0643];[fed9];[feda];[fedc];
+Bitmap: \
+------## \
+--##--## \
+--#---## \
+-###--## \
+------## \
+#-----## \
+#######- \
+--------
+%
+Unicode: [0635];[feb9];[feba];[febc];
+Bitmap: \
+-------- \
+-------- \
+----#### \
+#--##--# \
+#--#---# \
+#--##### \
+####---- \
+-##-----
+%
+Unicode: [063a];[fecd];[fece];[fed0];
+Bitmap: \
+-##----- \
+----###- \
+---##--- \
+---##--- \
+--###### \
+-##----# \
+-###---- \
+--#####-
+%
+Unicode: [0649];[feef];[fef0];
+Bitmap: \
+-------- \
+-------- \
+----###- \
+##-##-## \
+##-##--# \
+##--##-# \
+##--##-- \
+-#####--
+%
+Unicode: [0632];[feaf];[feb0];
+Bitmap: \
+-------- \
+------## \
+-------- \
+-----##- \
+------## \
+------## \
+-----##- \
+-#####--
+%
+Unicode: [feb7];
+Bitmap: \
+---##--- \
+-##--##- \
+-------- \
+-#--#--# \
+##-##-## \
+######## \
+-------- \
+--------
+%
+Unicode: [062f];[fea9];[feaa];[0631];[fead];[feae];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-----##- \
+------## \
+------## \
+-----##- \
+-#####--
+%
+Unicode: [0630];[feab];[feac];
+Bitmap: \
+--##---- \
+-------- \
+----##-- \
+-----##- \
+------## \
+------## \
+--#####- \
+--------
+%
+Unicode: [fef3];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+------## \
+------## \
+######## \
+-------- \
+--##-##-
+%
+Unicode: [fe9b];
+Bitmap: \
+---##--- \
+-##--##- \
+-------- \
+------## \
+------## \
+######## \
+-------- \
+--------
+%
+Unicode: [fe91];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+------## \
+------## \
+######## \
+-------- \
+-----##-
+%
+Unicode: [fedf];
+Bitmap: \
+------## \
+------## \
+------## \
+------## \
+------## \
+######## \
+-------- \
+--------
+%
+Unicode: [0627];[fe8d];[fe8e];
+Bitmap: \
+------## \
+------## \
+------## \
+------## \
+------## \
+------## \
+-------- \
+--------
+%
+Unicode: [feeb];
+Bitmap: \
+-------- \
+---#---- \
+--#####- \
+--#--### \
+--###--# \
+######## \
+-------- \
+--------
+%
+Unicode: [fe97];
+Bitmap: \
+-------- \
+-##-##-- \
+-------- \
+------## \
+------## \
+######## \
+-------- \
+--------
+%
+Unicode: [fee7];
+Bitmap: \
+-------- \
+----##-- \
+-------- \
+------## \
+------## \
+######## \
+-------- \
+--------
+%
+Unicode: [fee3];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-----### \
+----##-# \
+######-# \
+-----### \
+--------
+%
+Unicode: [fe9f];
+Bitmap: \
+-------- \
+-------- \
+-####--- \
+-#--##-- \
+-----##- \
+######## \
+-------- \
+----##--
+%
+Unicode: [fef7];[f3f8];
+Bitmap: \
+------## \
+--#---## \
+--##--## \
+---##-## \
+----#-## \
+----###- \
+-#####-- \
+--------
+%
+Unicode: [fea7];
+Bitmap: \
+--##---- \
+-------- \
+-####--- \
+-#--##-- \
+-----##- \
+######## \
+-------- \
+--------
+%
+Unicode: [fea3];
+Bitmap: \
+-------- \
+-------- \
+-####--- \
+-#--##-- \
+-----##- \
+######## \
+-------- \
+--------
+%
+Unicode: [febf];
+Bitmap: \
+---##--- \
+-------- \
+----#### \
+-#-##--# \
+####---# \
+######## \
+-------- \
+--------
+%
+Unicode: [fed7];
+Bitmap: \
+-##-##-- \
+-------- \
+---##### \
+---##--# \
+----#### \
+######## \
+-------- \
+--------
+%
+Unicode: [feb3];
+Bitmap: \
+-------- \
+-------- \
+-------- \
+-#--#--# \
+##-##-## \
+######## \
+-------- \
+--------
+%
+Unicode: [fed3];
+Bitmap: \
+--##---- \
+-------- \
+----#### \
+----##-# \
+-----### \
+######## \
+-------- \
+--------
+%
+Unicode: [fecb];
+Bitmap: \
+-------- \
+---###-- \
+--#####- \
+--##---- \
+---##--- \
+######## \
+-------- \
+--------
+%
+Unicode: [fedb];
+Bitmap: \
+-------- \
+-------- \
+---###-- \
+-----##- \
+------## \
+------## \
+--#####- \
+--------
+%
+Unicode: [febb];
+Bitmap: \
+-------- \
+-------- \
+----#### \
+-#-##--# \
+####---# \
+######## \
+-------- \
+--------
+%
+Unicode: [0637];[fec1];[fec2];[fec4];[fec3];
+Bitmap: \
+-##----- \
+-##----- \
+-##-#### \
+-####--# \
+-###---# \
+######## \
+-------- \
+--------
+%
+Unicode: [fecf];
+Bitmap: \
+-##----- \
+---###-- \
+--#####- \
+--##---- \
+---##--- \
+######## \
+-------- \
+--------
+%
+Unicode: [0638];[fec5];[fec6];[fec8];[fec7];
+Bitmap: \
+-##-##-- \
+-##----- \
+-##-#### \
+-####--# \
+-###---# \
+######## \
+-------- \
+--------
+%
+Unicode: [061f];
+Bitmap: \
+-------- \
+--####-- \
+-##--##- \
+--##---- \
+---##--- \
+-------- \
+---##--- \
+--------
+%
+// dotted-box (no such glyph)
+Unicode: [0000];
+Bitmap: \
+ -------- \
+ -##-###- \
+ -#------ \
+ ------#- \
+ -#------ \
+ ------#- \
+ -###-##- \
+ --------
+%
+// backtick
+Unicode: [0060];
+Bitmap: \
+ -------- \
+ --##---- \
+ --##---- \
+ ---##--- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// curlies
+Unicode: [007b];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ ---##--- \
+ --##---- \
+ ---##--- \
+ ---##--- \
+ ----##-- \
+ --------
+%
+Unicode: [007d];
+Bitmap: \
+ --##---- \
+ ---##--- \
+ ---##--- \
+ ----##-- \
+ ---##--- \
+ ---##--- \
+ --##---- \
+ --------
+%
+// tilde
+Unicode: [007e];
+Bitmap: \
+ -------- \
+ -###--## \
+ ##-##-## \
+ ##--###- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// euro
+Unicode: [20ac];
+Bitmap: \
+ ---####- \
+ --##---- \
+ -#####-- \
+ --##---- \
+ -#####-- \
+ --##---- \
+ ---####- \
+ --------
+%
+// spanish left-quote
+Unicode: [00ab];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ -##--##- \
+ ##--##-- \
+ -##--##- \
+ -------- \
+ --------
+%
+// spanish right-quote
+Unicode: [00bb];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ ##--##-- \
+ -##--##- \
+ ##--##-- \
+ -------- \
+ --------
+%
+// spanish inverted question mark
+Unicode: [00bf];
+Bitmap: \
+ -------- \
+ ---##--- \
+ -------- \
+ ---##--- \
+ ----##-- \
+ -##--##- \
+ --####-- \
+ --------
+%
+// copyright
+Unicode: [00a9];
+Bitmap: \
+ -#####-- \
+ #-----#- \
+ #--##-#- \
+ #-#---#- \
+ #--##-#- \
+ #-----#- \
+ -#####-- \
+ --------
+%
+// registered
+Unicode: [00ae];
+Bitmap: \
+ -#####-- \
+ #-----#- \
+ #-##--#- \
+ #-#-#-#- \
+ #-##--#- \
+ #-#-#-#- \
+ -#####-- \
+ --------
+%
+// degrees
+Unicode: [00b0];[00ba];
+Bitmap: \
+ -------- \
+ ---##--- \
+ --#--#-- \
+ ---##--- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// cents
+Unicode: [00a2];
+Bitmap: \
+ -------- \
+ ---##--- \
+ --#####- \
+ -##----- \
+ -##----- \
+ --#####- \
+ ---##--- \
+ --------
+%
+// "currency sign"
+// FIXME: not bold enough
+Unicode: [00a4];
+Bitmap: \
+ -------- \
+ -#----#- \
+ --####-- \
+ --#--#-- \
+ --#--#-- \
+ --####-- \
+ -#----#- \
+ --------
+%
+// yen
+Unicode: [00a5];
+Bitmap: \
+ -##--##- \
+ -##--##- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ --------
+%
+// broken bar
+Unicode: [00a6];
+Bitmap: \
+ -------- \
+ ---##--- \
+ ---##--- \
+ -------- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ --------
+%
+// section sign
+// FIXME: not bold enough
+Unicode: [00a7];
+Bitmap: \
+ ---###-- \
+ --#----- \
+ ---##--- \
+ --#--#-- \
+ ---##--- \
+ -----#-- \
+ --###--- \
+ --------
+%
+// diaresis (cha, cha, cha!)
+Unicode: [00a8];
+Bitmap: \
+ -------- \
+ -##--##- \
+ -##--##- \
+ -------- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// feminine ordinal (superscript a)
+Unicode: [00aa];
+Bitmap: \
+ -------- \
+ --####-- \
+ ----###- \
+ --##-##- \
+ ---####- \
+ -------- \
+ -------- \
+ --------
+%
+// "not" sign
+Unicode: [00ac];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ -######- \
+ -----##- \
+ -------- \
+ -------- \
+ --------
+%
+// macron
+Unicode: [00af];
+Bitmap: \
+ -------- \
+ -######- \
+ -------- \
+ -------- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// plus-minus
+Unicode: [00b1];
+Bitmap: \
+ -------- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ -------- \
+ -######- \
+ -------- \
+ --------
+%
+// superscript 2
+// FIXME: not bold enough
+Unicode: [00b2];
+Bitmap: \
+ -------- \
+ --##---- \
+ -#--#--- \
+ ---#---- \
+ --#----- \
+ -####--- \
+ -------- \
+ --------
+%
+// FIXME: not bold enough
+// superscript 3
+Unicode: [00b3];
+Bitmap: \
+ -------- \
+ --##---- \
+ -#--#--- \
+ ---#---- \
+ -#--#--- \
+ --##---- \
+ -------- \
+ --------
+%
+// acute
+Unicode: [00b4];
+Bitmap: \
+ -------- \
+ ----##-- \
+ ---##--- \
+ -------- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// mu
+Unicode: [00b5];
+Bitmap: \
+ -------- \
+ -------- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ --#####- \
+ -----##- \
+ --------
+%
+// paragraph
+Unicode: [00b6];
+Bitmap: \
+ -------- \
+ --##-##- \
+ -###-##- \
+ -###-##- \
+ --##-##- \
+ ---#-##- \
+ ---#-##- \
+ --------
+%
+// middle dot
+Unicode: [00b7];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ ---##--- \
+ ---##--- \
+ -------- \
+ -------- \
+ --------
+%
+// superscript 1
+Unicode: [00b9];
+Bitmap: \
+ -------- \
+ ---##--- \
+ --###--- \
+ ---##--- \
+ --####-- \
+ -------- \
+ -------- \
+ --------
+// FIXME: MISSING fractions, 00bc/00bd/00bc, ¼ ½ ¾, hard to do in 8x8
+%
+// A with grave
+Unicode: [00c0];
+Bitmap: \
+ -------- \
+ --##---- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// A with acute
+Unicode: [00c1];
+Bitmap: \
+ -------- \
+ ----##-- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// A with circumflex
+Unicode: [00c2];
+Bitmap: \
+ --####-- \
+ -#----#- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// A with tilde
+Unicode: [00c3];
+Bitmap: \
+ --##-##- \
+ -##-##-- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// A with ring
+Unicode: [00c5];
+Bitmap: \
+ ---##--- \
+ --#--#-- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// AE ligature
+Unicode: [00c6];
+Bitmap: \
+ -------- \
+ --#####- \
+ -####--- \
+ ##-##--- \
+ #######- \
+ ##-##--- \
+ ##-####- \
+ --------
+// FIXME: this is hideous!
+%
+// C with cedilla
+Unicode: [00c7];
+Bitmap: \
+ -------- \
+ --####-- \
+ -##--##- \
+ -##----- \
+ -##--##- \
+ --####-- \
+ ---##--- \
+ --##----
+%
+// E with circumflex
+Unicode: [00ca];
+Bitmap: \
+ --####-- \
+ -#----#- \
+ -######- \
+ -##----- \
+ -#####-- \
+ -##----- \
+ -######- \
+ --------
+// FIXME: ugly!
+%
+// E with umlaut
+Unicode: [00cb];
+Bitmap: \
+ --##-##- \
+ -------- \
+ -######- \
+ -##----- \
+ -#####-- \
+ -##----- \
+ -######- \
+ --------
+%
+// I with grave
+Unicode: [00cc];
+Bitmap: \
+ --##---- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ -######- \
+ --------
+%
+// I with acute
+Unicode: [00cd];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ -######- \
+ --------
+%
+// I with circumflex
+Unicode: [00ce];
+Bitmap: \
+ --####-- \
+ -#----#- \
+ -######- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ -######- \
+ --------
+// FIXME: ugly!
+%
+// I with umlaut
+Unicode: [00cf];
+Bitmap: \
+ --##-##- \
+ -------- \
+ -######- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ -######- \
+ --------
+%
+// capital eth
+Unicode: [00d0];
+Bitmap: \
+ -------- \
+ -####--- \
+ -##-##-- \
+ -##--##- \
+ ####-##- \
+ -##-##-- \
+ -####--- \
+ --------
+%
+// O with grave
+Unicode: [00d2];
+Bitmap: \
+ -##----- \
+ --####-- \
+ -#-#-##- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ --####-- \
+ --------
+// FIXME: MISSING Ô Õ
+%
+// multiplication
+Unicode: [00d7];
+Bitmap: \
+ -------- \
+ -##--##- \
+ --####-- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -------- \
+ --------
+// FIXME: MISSING Ø
+%
+// U with grave
+Unicode: [00d9];
+Bitmap: \
+ --##---- \
+ ---##--- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ -######- \
+ --------
+%
+// U with acute
+Unicode: [00da];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ -######- \
+ --------
+// FIXME: MISSING Û
+%
+// Y with acute
+Unicode: [00dd];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -##--##- \
+ -##--##- \
+ --####-- \
+ ---##--- \
+ ---##--- \
+ --------
+%
+// capital thorn
+Unicode: [00de];
+Bitmap: \
+ -------- \
+ -##----- \
+ -#####-- \
+ -##--##- \
+ -#####-- \
+ -##----- \
+ -##----- \
+ --------
+%
+// a with circumflex
+Unicode: [00e2];
+Bitmap: \
+ --####-- \
+ -#----#- \
+ -------- \
+ --####-- \
+ ----###- \
+ --##-##- \
+ ---####- \
+ --------
+%
+// a with tilde
+Unicode: [00e3];
+Bitmap: \
+ --##-##- \
+ -##-##-- \
+ -------- \
+ --####-- \
+ ----###- \
+ --##-##- \
+ ---####-
+// FIXME: touches bottom
+%
+// ae ligature
+Unicode: [00e6];
+Bitmap: \
+ -------- \
+ -------- \
+ -###-##- \
+ ---##-## \
+ -######- \
+ ##-##--- \
+ -######- \
+ --------
+// FIXME: fugly
+%
+// e with umlaut
+Unicode: [00eb];
+Bitmap: \
+ -##--##- \
+ -------- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##----- \
+ --####-- \
+ --------
+%
+// i with acute
+Unicode: [00ed];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -------- \
+ --###--- \
+ ---##--- \
+ ---##--- \
+ --####-- \
+ --------
+%
+// lowercase eth
+Unicode: [00f0];
+Bitmap: \
+ -##-#--- \
+ --##---- \
+ -#-##--- \
+ --####-- \
+ -##--##- \
+ -##--##- \
+ --####-- \
+ --------
+%
+// o with tilde
+Unicode: [00f5];
+Bitmap: \
+ --##-##- \
+ -##-##-- \
+ -------- \
+ --####-- \
+ -##--##- \
+ -##--##- \
+ --####-- \
+ --------
+%
+// division
+Unicode: [00f7];
+Bitmap: \
+ -------- \
+ ---##--- \
+ -------- \
+ -######- \
+ -------- \
+ ---##--- \
+ -------- \
+ --------
+// FIXME: MISSING ø
+%
+// y with acute
+Unicode: [00fd];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -------- \
+ -##--##- \
+ -##--##- \
+ --#####- \
+ ----##-- \
+ -####---
+%
+// lowercase thorn
+Unicode: [00fe];
+Bitmap: \
+ -##----- \
+ -##----- \
+ -####--- \
+ -##-##-- \
+ -####--- \
+ -##----- \
+ -##----- \
+ --------
+%
+// y with umlaut
+Unicode: [00ff];
+Bitmap: \
+ -##--##- \
+ -------- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ --#####- \
+ ----##-- \
+ -####---
+%
+// left single curly quote
+Unicode: [2018];
+Bitmap: \
+ -------- \
+ --##---- \
+ ---##--- \
+ ----##-- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// right single curly quote
+Unicode: [2019];
+Bitmap: \
+ -------- \
+ ----##-- \
+ ---##--- \
+ --##---- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// left double curly quote
+Unicode: [201c];
+Bitmap: \
+ -------- \
+ -##--##- \
+ -##--##- \
+ --##--## \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// right double curly quote
+Unicode: [201d];
+Bitmap: \
+ -------- \
+ -##--##- \
+ -##--##- \
+ ##--##-- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// spanish left single quote
+Unicode: [2039];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ ---##--- \
+ --##---- \
+ ---##--- \
+ -------- \
+ --------
+%
+// spanish right single quote
+Unicode: [203a];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ ---##--- \
+ ----##-- \
+ ---##--- \
+ -------- \
+ --------
+%
+// replacement character for missing glyphs
+Unicode: [fffd];
+Bitmap: \
+ --####-- \
+ -##--##- \
+ -#-##-#- \
+ -###-##- \
+ -######- \
+ -###-##- \
+ --####-- \
+ --------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
+%
+Unicode: [0000];
+Bitmap: ----------------------------------------------------------------
diff --git a/fonts/fixbdf.pl b/fonts/fixbdf.pl
new file mode 100644
index 0000000..e0ba143
--- /dev/null
+++ b/fonts/fixbdf.pl
@@ -0,0 +1,41 @@
+#!/usr/bin/perl -w
+
+# clean up BDF files created by psf2bdf.
+
+$px = shift || die "$0: missing pixel size argument";
+
+
+$pointsize = $px * 10;
+$avgwidth = $px * 10; # square font!
+
+$font = "-BW-Fauxtari Fixed Mono-Medium-R-Normal--$px-$pointsize-75-75-C-$avgwidth-iso10646-1";
+
+while(<>) {
+ chomp;
+ if(/^STARTPROPERTIES\s+(\d+)/) {
+ $oldprop = $1;
+ $newprop = $oldprop + 15;
+ print <<EOF;
+STARTPROPERTIES $newprop
+FOUNDRY "BW"
+FAMILY_NAME "Fauxtari Fixed Mono"
+FACE_NAME "Fauxtari $px"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE $px
+POINT_SIZE $pointsize
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH $avgwidth
+CHARSET_REGISTRY "iso10646"
+CHARSET_ENCODING "1"
+EOF
+ } elsif(/^FONT\s/) {
+ print "FONT $font\n";
+ } else {
+ print "$_\n";
+ }
+}
diff --git a/fonts/mkpsf.pl b/fonts/mkpsf.pl
new file mode 100644
index 0000000..8a349f1
--- /dev/null
+++ b/fonts/mkpsf.pl
@@ -0,0 +1,1358 @@
+#!/usr/bin/perl -w
+
+# Read raw font data from atari rom images, plus a few hand-drawn
+# "text bitmaps" from __DATA__.
+
+# Write 3 bitmap font "txt" files in the format txt2psf expects, then
+# runs txt2psf on them. Results in 3 fonts:
+
+# fauxtari-8.psf - 8x8 native size
+# fauxtari-16.psf - 16x16 scaled up
+# fauxtari-24.psf - 24x24 scaled up
+
+# The fiddly bits of this are getting the Unicode mappings correct.
+
+# ROM dumps are mapped to Atari address space at $C000, the regular
+# charset starts at $E000, so it's at offset $2000 (8192) in the
+# image. The XL international set is at $CC00, or offset $0C00 (3072).
+# In the Arabic ROM, the Arabic font takes the place of the standard
+# charset. All the charsets are 1K in size.
+
+# Arabic ROM, plus some info about it and a mention of the Hebrew ROM:
+# https://www.savetz.com/vintagecomputers/arabic65xe/
+
+use bytes;
+
+$fontname = "fauxtari";
+
+sub byte2line {
+ my $t = shift;
+ $t = sprintf("%08b", $t);
+ $t =~ y/0/-/;
+ $t =~ y/1/#/;
+ return $t;
+}
+
+sub scale_line {
+ my $line = shift;
+ my $scale = shift;
+ my $one = '#' x $scale;
+ my $zero = '-' x $scale;
+
+ $line =~ s/#/$one/g;
+ $line =~ s/-/$zero/g;
+ return ($line x $scale);
+}
+
+sub chr2output {
+ my $codepoint = shift;
+ my $bytes = shift;
+ my $scale = shift || 1;
+ my $unicode = "";
+
+ if(!ref $codepoint) {
+ $codepoint = [ $codepoint ];
+ }
+
+ $unicode .= sprintf("[%04x];", $_) for @$codepoint;
+
+ my $result = sprintf("%%\nUnicode: %s\nBitmap: \\\n", $unicode);
+ for(0..7) {
+ my $byte = $bytes->[$_];
+ my $line = byte2line($byte);
+ $result .= scale_line($line, $scale);
+ $result .= " \\" unless $_ == 7;
+ $result .= "\n";
+ }
+ return $result;
+}
+
+sub internal2byte {
+ my $t = shift;
+ $t =~ y/-/0/;
+ $t =~ y/#/1/;
+ return pack("B*", $t);
+}
+
+sub psf2txt_header {
+ my $charcount = shift;
+ my $scale = shift;
+ my $w = 8 * $scale;
+ my $h = 8 * $scale;
+ return <<EOF;
+%PSF2
+Version: 0
+Flags: 1
+Length: $charcount
+Width: $w
+Height: $h
+EOF
+}
+
+sub read_rom {
+ my $data;
+ my $filename = shift;
+ my $offset = shift;
+ my $charcount = shift;
+ my $len = $charcount * 8;
+ open my $fh, '<', $filename;
+ read($fh, $data, 16384);
+ close $fh;
+ return substr($data, $offset, $len);
+}
+
+# position in the map (array index) is the raw glyph number, in
+# the order we read the font data.
+# value is the Unicode codepoint. if there are multiple codepoints
+# for the glyph, make the value an array ref (see 0x1B below, the
+# Atari Escape glyph is both 0x0118 aka LATIN CAPITAL LETTER E WITH OGONEK,
+# and 0x241b aka SYMBOL FOR ESCAPE).
+sub setup_map {
+ our @map = (
+ 0x2665, # 0x00
+ 0x2523, # 0x01
+ 0x2503, # 0x02
+ 0x251b, # 0x03
+ 0x252b, # 0x04
+ 0x2513, # 0x05
+ 0x2571, # 0x06
+ 0x2572, # 0x07
+ 0x25e2, # 0x08
+ 0x2597, # 0x09
+ 0x25e3, # 0x0a
+ 0x259d, # 0x0b
+ 0x2598, # 0x0c
+ 0x2594, # 0x0d
+ 0x2581, # 0x0e
+ 0x2596, # 0x0f
+ 0x2663, # 0x10
+ 0x250f, # 0x11
+ 0x2501, # 0x12
+ 0x254b, # 0x13
+ 0x25cf, # 0x14
+ 0x2584, # 0x15
+ 0x258e, # 0x16
+ 0x2533, # 0x17
+ 0x253b, # 0x18
+ 0x258c, # 0x19
+ 0x2517, # 0x1a
+ [ 0x0118, 0x241b ], # 0x1b
+ 0x2191, # 0x1c
+ 0x2193, # 0x1d
+ 0x2190, # 0x1e
+ 0x2192, # 0x1f
+ [ 0x0020, 0xa0 ], # 0x20 (plus &nbsp;)
+ 0x0021, # 0x21
+ 0x0022, # 0x22
+ 0x0023, # 0x23
+ 0x0024, # 0x24
+ 0x0025, # 0x25
+ 0x0026, # 0x26
+ 0x0027, # 0x27
+ 0x0028, # 0x28
+ 0x0029, # 0x29
+ 0x002a, # 0x2a
+ 0x002b, # 0x2b
+ [ 0x002c, 0x00b8 ], # 0x2c (comma and cedilla)
+ [ 0x002d, 0x00ad, 0x2013, 0x2014 ], # 0x2d (plus soft hyphen, en, em)
+ 0x002e, # 0x2e
+ 0x002f, # 0x2f
+ 0x0030, # 0x30
+ 0x0031, # 0x31
+ 0x0032, # 0x32
+ 0x0033, # 0x33
+ 0x0034, # 0x34
+ 0x0035, # 0x35
+ 0x0036, # 0x36
+ 0x0037, # 0x37
+ 0x0038, # 0x38
+ 0x0039, # 0x39
+ 0x003a, # 0x3a
+ 0x003b, # 0x3b
+ 0x003c, # 0x3c
+ 0x003d, # 0x3d
+ 0x003e, # 0x3e
+ 0x003f, # 0x3f
+ 0x0040, # 0x40
+ 0x0041, # 0x41
+ 0x0042, # 0x42
+ 0x0043, # 0x43
+ 0x0044, # 0x44
+ 0x0045, # 0x45
+ 0x0046, # 0x46
+ 0x0047, # 0x47
+ 0x0048, # 0x48
+ 0x0049, # 0x49
+ 0x004a, # 0x4a
+ 0x004b, # 0x4b
+ 0x004c, # 0x4c
+ 0x004d, # 0x4d
+ 0x004e, # 0x4e
+ 0x004f, # 0x4f
+ 0x0050, # 0x50
+ 0x0051, # 0x51
+ 0x0052, # 0x52
+ 0x0053, # 0x53
+ 0x0054, # 0x54
+ 0x0055, # 0x55
+ 0x0056, # 0x56
+ 0x0057, # 0x57
+ 0x0058, # 0x58
+ 0x0059, # 0x59
+ 0x005a, # 0x5a
+ 0x005b, # 0x5b
+ 0x005c, # 0x5c
+ 0x005d, # 0x5d
+ 0x005e, # 0x5e
+ 0x005f, # 0x5f
+ 0x25c6, # 0x60
+ 0x0061, # 0x61
+ 0x0062, # 0x62
+ 0x0063, # 0x63
+ 0x0064, # 0x64
+ 0x0065, # 0x65
+ 0x0066, # 0x66
+ 0x0067, # 0x67
+ 0x0068, # 0x68
+ 0x0069, # 0x69
+ 0x006a, # 0x6a
+ 0x006b, # 0x6b
+ 0x006c, # 0x6c
+ 0x006d, # 0x6d
+ 0x006e, # 0x6e
+ 0x006f, # 0x6f
+ 0x0070, # 0x70
+ 0x0071, # 0x71
+ 0x0072, # 0x72
+ 0x0073, # 0x73
+ 0x0074, # 0x74
+ 0x0075, # 0x75
+ 0x0076, # 0x76
+ 0x0077, # 0x77
+ 0x0078, # 0x78
+ 0x0079, # 0x79
+ 0x007a, # 0x7a
+ 0x2660, # 0x7b
+ [ 0x007c, 0x0622, 0xfe81, 0xfe82 ], # 0x7c, pipe + arabic ﺁ
+ 0x21b0, # 0x7d
+ 0x25c0, # 0x7e
+ 0x25b6, # 0x7f
+
+# next, 28 "international" characters from the xl rom $cc00 area
+# á
+ 0x00e1, # 0x80
+# ù
+ 0x00f9, # 0x81
+# Ñ
+ 0x00d1, # 0x82
+# É
+ 0x00c9, # 0x83
+# ç
+ 0x00e7, # 0x84
+# ô (or is it?)
+ 0x00f4, # 0x85
+# ò
+ 0x00f2, # 0x86
+# ì
+ 0x00ec, # 0x87
+# £
+ 0x00a3, # 0x88
+# ï
+ 0x00ef, # 0x89
+# ü
+ 0x00fc, # 0x8a
+# ä
+ 0x00e4, # 0x8b
+# Ö
+ 0x00d6, # 0x8c
+# ú
+ 0x00fa, # 0x8d
+# ó
+ 0x00f3, # 0x8e
+# ö
+ 0x00f6, # 0x8f
+# Ü
+ 0x00dc, # 0x90
+# å
+ 0x00e5, # 0x91
+# û (?)
+ 0x00fb, # 0x92
+# î
+ 0x00ee, # 0x93
+# é
+ 0x00e9, # 0x94
+# è
+ 0x00e8, # 0x95
+# ñ
+ 0x00f1, # 0x96
+# ê
+ 0x00ea, # 0x97
+# ȧ
+ 0x0227, # 0x98
+# à
+ 0x00e0, # 0x99
+# ¡
+ 0x00a1, # 0x9a
+# Ä
+ 0x00c4, # 0x9b
+
+# hebrew rom is probably a 3rd-party hack, afaik never released by
+# atari, but i'm told the glyphs look good (by someone who reads hebrew),
+# so include it here.
+ 0x05d0, # 0x9c
+ 0x05d1, # 0x9d
+ 0x05d2, # 0x9e
+ 0x05d3, # 0x9f
+ 0x05d4, # 0xa0
+ 0x05d5, # 0xa1
+ 0x05d6, # 0xa2
+ 0x05d7, # 0xa3
+ 0x05d8, # 0xa4
+ 0x05d9, # 0xa5
+ 0x05da, # 0xa6
+ 0x05db, # 0xa7
+ 0x05dc, # 0xa8
+ 0x05dd, # 0xa9
+ 0x05de, # 0xaa
+ 0x05df, # 0xab
+ 0x05e0, # 0xac
+ 0x05e1, # 0xad
+ 0x05e2, # 0xae
+ 0x05e3, # 0xaf
+ 0x05e4, # 0xb0
+ 0x05e5, # 0xb1
+ 0x05e6, # 0xb2
+ 0x05e7, # 0xb3
+ 0x05e8, # 0xb4
+ 0x05e9, # 0xb5
+ 0x05ea, # 0xb6
+
+# polish rom. probably a 3rd-party hack, but there are a lot of polish
+# atari users out there.
+ 0x0179, # 0xb7
+ 0x0105, # 0xb8
+ 0x017a, # 0xb9
+ 0x0107, # 0xba
+ 0x015a, # 0xbb
+ 0x0119, # 0xbc
+# german sharp s, not polish at all:
+ 0x00df, # 0xbd
+ 0x0141, # 0xbe
+ 0x0142, # 0xbf
+ 0x0143, # 0xc0
+ 0x0144, # 0xc1
+ 0x00d3, # 0xc3
+# 0xc3 weird-looking v?
+# next glyph is e with ogonek, we already have it as esc
+ 0x015b, # 0xc4
+ 0x0106, # 0xc5
+ 0x0104, # 0xc6
+ 0x017b, # 0xc7
+ 0x017c, # 0xc8
+
+# the rest are from the arabic xe rom
+ 0x0660, # eastern arabic numeral 0
+ 0x0661, # eastern arabic numeral 1
+ 0x0662, # eastern arabic numeral 2
+ 0x0663, # eastern arabic numeral 3
+ 0x0664, # eastern arabic numeral 4
+ 0x0665, # eastern arabic numeral 5
+ 0x0666, # eastern arabic numeral 6
+ 0x0667, # eastern arabic numeral 7
+ 0x0668, # eastern arabic numeral 8
+ 0x0669, # eastern arabic numeral 9
+
+# todo: figure out the arabic letter mappings. might need someone who
+# actually reads arabic to make sense of them... what i've got is just
+# a guess.
+ [ 0x0624, 0xfe85, 0xfe86 ], # 0x3c, maybe?
+
+ [ 0x0634, 0xfeb5, 0xfeb6, 0xfeb8 ], # 0x41
+ [ 0x0648, 0xfeed, 0xfeee ], # 0x42
+ [ 0x0629, 0xfe93, 0xfe94 ], # 0x43
+ [ 0x064a, 0xfef1, 0xfef2, 0xfef4 ], # 0x44
+ [ 0x062b, 0xfe99, 0xfe9a, 0xfe9c ], # 0x45
+ [ 0x0628, 0xfe8f, 0xfe90, 0xfe92 ], # 0x46
+ [ 0x0644, 0xfedd, 0xfede, 0xfee0 ], # 0x47
+ [ 0x0621, 0xfe80 ], # 0x48
+ [ 0x0647, 0xfee9, 0xfeea, 0xfeec ], # 0x49
+ [ 0x062a, 0xfe95, 0xfe96, 0xfe98 ], # 0x4a
+ [ 0x0646, 0xfee5, 0xfee6, 0xfee8 ], # 0x4b
+ [ 0x0645, 0xfee1, 0xfee2, 0xfee4 ], # 0x4c
+ [ 0x062c, 0xfe9d, 0xfe9e, 0xfea0 ], # 0x4d
+ # xxx don't know what 0x4e is
+ [ 0x062e, 0xfea5, 0xfea6, 0xfea8 ], # 0x4f
+ [ 0x062d, 0xfea1, 0xfea2, 0xfea4 ], # 0x50
+ [ 0x0636, 0xfebd, 0xfebe, 0xfec0 ], # 0x51
+ [ 0x0642, 0xfed5, 0xfed6, 0xfed8 ], # 0x52
+ [ 0x0633, 0xfeb1, 0xfeb2, 0xfeb4 ], # 0x53
+ [ 0x0641, 0xfed1, 0xfed2, 0xfed4 ], # 0x54
+ [ 0x0639, 0xfec9, 0xfeca, 0xfecc ], # 0x55
+ [ 0x0643, 0xfed9, 0xfeda, 0xfedc ], # 0x56
+ [ 0x0635, 0xfeb9, 0xfeba, 0xfebc ], # 0x57
+ # xxx don't know what 0x58 is
+ [ 0x063a, 0xfecd, 0xfece, 0xfed0 ], # 0x59
+ [ 0x0649, 0xfeef, 0xfef0 ], # 0x5a
+ [ 0x0632, 0xfeaf, 0xfeb0 ], # 0x60
+ 0xfeb7, # 0x61
+ # xxx 0x62 isn't really both ﺩ and ﺭ but where's the atari's ﺭ at?
+ [ 0x062f, 0xfea9, 0xfeaa, 0x0631, 0xfead, 0xfeae ], # 0x62
+ [ 0x0630, 0xfeab, 0xfeac ], # 0x63
+ 0xfef3, # 0x64
+ 0xfe9b, # 0x65
+ 0xfe91, # 0x66
+ 0xfedf, # 0x67
+ [ 0x0627, 0xfe8d, 0xfe8e ], # 0x68
+ 0xfeeb, # 0x69
+ 0xfe97, # 0x6a
+ 0xfee7, # 0x6b
+ 0xfee3, # 0x6c
+ 0xfe9f, # 0x6d
+ [ 0xfef7, 0xf3f8 ], # 0x6e
+ 0xfea7, # 0x6f
+ 0xfea3, # 0x70
+ 0xfebf, # 0x71
+ 0xfed7, # 0x72
+ 0xfeb3, # 0x73
+ 0xfed3, # 0x74
+ 0xfecb, # 0x75
+ 0xfedb, # 0x76
+ 0xfebb, # 0x77
+ [ 0x0637, 0xfec1, 0xfec2, 0xfec4, 0xfec3 ], # 0x78
+ 0xfecf, # 0x79
+ [ 0x0638, 0xfec5, 0xfec6, 0xfec8, 0xfec7 ], # 0x7a
+ 0x061f, # 0x7f
+ );
+}
+
+### main()
+setup_map();
+
+@scale1 = ();
+@scale2 = ();
+@scale3 = ();
+
+$raw .= read_rom("atarixl.rom", 0x2200, 32);
+$raw .= read_rom("atarixl.rom", 0x2000, 32);
+$raw .= read_rom("atarixl.rom", 0x2100, 32);
+$raw .= read_rom("atarixl.rom", 0x2300, 32);
+$raw .= read_rom("atarixl.rom", 0xe00, 26);
+$raw .= read_rom("atarixl.rom", 0xf00, 1);
+$raw .= read_rom("atarixl.rom", 0xfd8, 1);
+
+$raw .= read_rom("xl_hebrew.rom", 0xf00, 27);
+
+$raw .= read_rom("xl_polish.rom", 0xe00, 6);
+$raw .= read_rom("xl_polish.rom", 0xe50, 5);
+$raw .= read_rom("xl_polish.rom", 0xe80, 1);
+$raw .= read_rom("xl_polish.rom", 0xe98, 1);
+$raw .= read_rom("xl_polish.rom", 0xeb0, 3);
+$raw .= read_rom("xl_polish.rom", 0xed0, 1);
+
+$raw .= read_rom("xe_arabic.rom", 0x2000+8*15, 10);
+$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x3c, 1);
+$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x41, 13);
+$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x4f, 9);
+$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x59, 2);
+$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x60, 27);
+$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x7f, 1);
+
+$cnt = 0;
+while($raw =~ /(.{8})/gc) {
+ my @bytes;
+ my $got = $1;
+ my $chr = $map[$cnt++];
+ die "$0: incomplete map" unless defined $chr;
+ #warn $got;
+ push @bytes, ord(substr($got, $_, 1)) for(0..7);
+ #warn $_ for @bytes;
+ push @scale1, chr2output($chr, \@bytes, 1);
+ push @scale2, chr2output($chr, \@bytes, 2);
+ push @scale3, chr2output($chr, \@bytes, 3);
+}
+
+while(<DATA>) {
+ push @scale1, $_;
+ $cnt++ if /^%/;
+ if(/^\s*[-#]/) {
+ push @scale2, scale_line($_, 2);
+ push @scale3, scale_line($_, 3);
+ } else {
+ push @scale2, $_;
+ push @scale3, $_;
+ }
+}
+
+#warn "$cnt characters\n";
+#warn "(padding to 256 characters)\n" unless $cnt >= 256;
+#warn "(padding to 512 characters)\n" unless $cnt >= 512;
+
+# 512 glyphs is the max for a PSF font. There can be more
+# *codepoints*, because the Unicode directory allows the same
+# glyph to represent multiple codepoints (e.g. space and
+# non-breaking space).
+if($cnt > 512) {
+ die "$0: too many glyphs ($cnt > 512)";
+}
+
+# The kernel refuses to load a font that isn't exactly
+# 256 or 512 glyphs, so we have to pad with junk glyphs.
+while($cnt < 512) {
+ my $fake = "%\nUnicode: [0000];\nBitmap: ";
+ push @scale1, $fake . (("-" x 8) x 8) . "\n";
+ push @scale2, $fake . (("-" x 16) x 16) . "\n";
+ push @scale3, $fake . (("-" x 24) x 24) . "\n";
+ $cnt++;
+}
+
+#warn "$cnt characters with padding\n";
+
+# What is dupglyphs.pl for?
+# PSF allows the same glyph to represent multiple codepoints (e.g.
+# space and NBSP, or hyphen/soft-hyphen/en-dash). We only get 512
+# glyphs max for a PSF, so we definitely want to use this.
+# BDF on the other hand doesn't allow this. So if the same glyph
+# data is to be used for multiple codepoints in BDF, the glyph data
+# has to be repeated for each codepoint. Bloats the font, but not
+# too much. The BDF is also what gets made into the TTF. I'm pretty
+# sure TTF supports multiple codepoints per glyph, but until I
+# learn some other way besides bitmapfont2ttf to generate the TTF,
+# it also will have dup glyph bloat. On the bright side, dupglyphs.pl
+# removes all the padding characters required by the psf font.
+sub mkfonts {
+ my $px = shift;
+ my $scaled_data = shift;
+ my $scale = shift;
+
+ open $fh, '>', "$fontname-$px.txt" or die $!;
+ print $fh psf2txt_header($cnt, $scale);
+ print $fh $_ for(@$scaled_data);
+ close $fh;
+
+ system("txt2psf $fontname-$px.txt $fontname-$px.psf");
+ system("perl dupglyphs.pl $fontname-$px.txt | perl sorttxtfont.pl | txt2psf | psf2bdf --defchar=0 --iso10646 --fontname=$fontname-$px | perl ./fixbdf.pl $px > $fontname-$px.bdf");
+}
+
+mkfonts(8, \@scale1, 1);
+mkfonts(16, \@scale2, 2);
+mkfonts(24, \@scale3, 3);
+
+exit 0;
+
+__DATA__
+%
+// dotted-box (no such glyph)
+Unicode: [0000];
+Bitmap: \
+ -------- \
+ -##-###- \
+ -#------ \
+ ------#- \
+ -#------ \
+ ------#- \
+ -###-##- \
+ --------
+%
+// backtick
+Unicode: [0060];
+Bitmap: \
+ -------- \
+ --##---- \
+ --##---- \
+ ---##--- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// curlies
+Unicode: [007b];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ ---##--- \
+ --##---- \
+ ---##--- \
+ ---##--- \
+ ----##-- \
+ --------
+%
+Unicode: [007d];
+Bitmap: \
+ --##---- \
+ ---##--- \
+ ---##--- \
+ ----##-- \
+ ---##--- \
+ ---##--- \
+ --##---- \
+ --------
+%
+// tilde
+Unicode: [007e];
+Bitmap: \
+ -------- \
+ -###--## \
+ ##-##-## \
+ ##--###- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// euro
+Unicode: [20ac];
+Bitmap: \
+ ---####- \
+ --##---- \
+ -#####-- \
+ --##---- \
+ -#####-- \
+ --##---- \
+ ---####- \
+ --------
+%
+// spanish left-quote
+Unicode: [00ab];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ -##--##- \
+ ##--##-- \
+ -##--##- \
+ -------- \
+ --------
+%
+// spanish right-quote
+Unicode: [00bb];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ ##--##-- \
+ -##--##- \
+ ##--##-- \
+ -------- \
+ --------
+%
+// spanish inverted question mark
+Unicode: [00bf];
+Bitmap: \
+ -------- \
+ ---##--- \
+ -------- \
+ ---##--- \
+ ----##-- \
+ -##--##- \
+ --####-- \
+ --------
+%
+// copyright
+Unicode: [00a9];
+Bitmap: \
+ -#####-- \
+ #-----#- \
+ #--##-#- \
+ #-#---#- \
+ #--##-#- \
+ #-----#- \
+ -#####-- \
+ --------
+%
+// registered
+Unicode: [00ae];
+Bitmap: \
+ -#####-- \
+ #-----#- \
+ #-##--#- \
+ #-#-#-#- \
+ #-##--#- \
+ #-#-#-#- \
+ -#####-- \
+ --------
+%
+// degrees
+Unicode: [00b0];[00ba];
+Bitmap: \
+ -------- \
+ ---##--- \
+ --#--#-- \
+ ---##--- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// cents
+Unicode: [00a2];
+Bitmap: \
+ -------- \
+ ---##--- \
+ --#####- \
+ -##----- \
+ -##----- \
+ --#####- \
+ ---##--- \
+ --------
+%
+// "currency sign"
+// FIXME: not bold enough
+Unicode: [00a4];
+Bitmap: \
+ -------- \
+ -#----#- \
+ --####-- \
+ --#--#-- \
+ --#--#-- \
+ --####-- \
+ -#----#- \
+ --------
+%
+// yen
+Unicode: [00a5];
+Bitmap: \
+ -##--##- \
+ -##--##- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ --------
+%
+// broken bar
+Unicode: [00a6];
+Bitmap: \
+ -------- \
+ ---##--- \
+ ---##--- \
+ -------- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ --------
+%
+// section sign
+// FIXME: not bold enough
+Unicode: [00a7];
+Bitmap: \
+ ---###-- \
+ --#----- \
+ ---##--- \
+ --#--#-- \
+ ---##--- \
+ -----#-- \
+ --###--- \
+ --------
+%
+// diaresis (cha, cha, cha!)
+Unicode: [00a8];
+Bitmap: \
+ -------- \
+ -##--##- \
+ -##--##- \
+ -------- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// feminine ordinal (superscript a)
+Unicode: [00aa];
+Bitmap: \
+ -------- \
+ --####-- \
+ ----###- \
+ --##-##- \
+ ---####- \
+ -------- \
+ -------- \
+ --------
+%
+// "not" sign
+Unicode: [00ac];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ -######- \
+ -----##- \
+ -------- \
+ -------- \
+ --------
+%
+// macron
+Unicode: [00af];
+Bitmap: \
+ -------- \
+ -######- \
+ -------- \
+ -------- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// plus-minus
+Unicode: [00b1];
+Bitmap: \
+ -------- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ -------- \
+ -######- \
+ -------- \
+ --------
+%
+// superscript 2
+// FIXME: not bold enough
+Unicode: [00b2];
+Bitmap: \
+ -------- \
+ --##---- \
+ -#--#--- \
+ ---#---- \
+ --#----- \
+ -####--- \
+ -------- \
+ --------
+%
+// FIXME: not bold enough
+// superscript 3
+Unicode: [00b3];
+Bitmap: \
+ -------- \
+ --##---- \
+ -#--#--- \
+ ---#---- \
+ -#--#--- \
+ --##---- \
+ -------- \
+ --------
+%
+// acute
+Unicode: [00b4];
+Bitmap: \
+ -------- \
+ ----##-- \
+ ---##--- \
+ -------- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// mu
+Unicode: [00b5];
+Bitmap: \
+ -------- \
+ -------- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ --#####- \
+ -----##- \
+ --------
+%
+// paragraph
+Unicode: [00b6];
+Bitmap: \
+ -------- \
+ --##-##- \
+ -###-##- \
+ -###-##- \
+ --##-##- \
+ ---#-##- \
+ ---#-##- \
+ --------
+%
+// middle dot
+Unicode: [00b7];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ ---##--- \
+ ---##--- \
+ -------- \
+ -------- \
+ --------
+%
+// superscript 1
+Unicode: [00b9];
+Bitmap: \
+ -------- \
+ ---##--- \
+ --###--- \
+ ---##--- \
+ --####-- \
+ -------- \
+ -------- \
+ --------
+// FIXME: MISSING fractions, 00bc/00bd/00bc, ¼ ½ ¾, hard to do in 8x8
+%
+// A with grave
+Unicode: [00c0];
+Bitmap: \
+ -------- \
+ --##---- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// A with acute
+Unicode: [00c1];
+Bitmap: \
+ -------- \
+ ----##-- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// A with circumflex
+Unicode: [00c2];
+Bitmap: \
+ --####-- \
+ -#----#- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// A with tilde
+Unicode: [00c3];
+Bitmap: \
+ --##-##- \
+ -##-##-- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// A with ring
+Unicode: [00c5];
+Bitmap: \
+ ---##--- \
+ --#--#-- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##--##- \
+ --------
+%
+// AE ligature
+Unicode: [00c6];
+Bitmap: \
+ -------- \
+ --#####- \
+ -####--- \
+ ##-##--- \
+ #######- \
+ ##-##--- \
+ ##-####- \
+ --------
+// FIXME: this is hideous!
+%
+// C with cedilla
+Unicode: [00c7];
+Bitmap: \
+ -------- \
+ --####-- \
+ -##--##- \
+ -##----- \
+ -##--##- \
+ --####-- \
+ ---##--- \
+ --##----
+%
+// E with circumflex
+Unicode: [00ca];
+Bitmap: \
+ --####-- \
+ -#----#- \
+ -######- \
+ -##----- \
+ -#####-- \
+ -##----- \
+ -######- \
+ --------
+// FIXME: ugly!
+%
+// E with umlaut
+Unicode: [00cb];
+Bitmap: \
+ --##-##- \
+ -------- \
+ -######- \
+ -##----- \
+ -#####-- \
+ -##----- \
+ -######- \
+ --------
+%
+// I with grave
+Unicode: [00cc];
+Bitmap: \
+ --##---- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ -######- \
+ --------
+%
+// I with acute
+Unicode: [00cd];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -######- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ -######- \
+ --------
+%
+// I with circumflex
+Unicode: [00ce];
+Bitmap: \
+ --####-- \
+ -#----#- \
+ -######- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ -######- \
+ --------
+// FIXME: ugly!
+%
+// I with umlaut
+Unicode: [00cf];
+Bitmap: \
+ --##-##- \
+ -------- \
+ -######- \
+ ---##--- \
+ ---##--- \
+ ---##--- \
+ -######- \
+ --------
+%
+// capital eth
+Unicode: [00d0];
+Bitmap: \
+ -------- \
+ -####--- \
+ -##-##-- \
+ -##--##- \
+ ####-##- \
+ -##-##-- \
+ -####--- \
+ --------
+%
+// O with grave
+Unicode: [00d2];
+Bitmap: \
+ -##----- \
+ --####-- \
+ -#-#-##- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ --####-- \
+ --------
+// FIXME: MISSING Ô Õ
+%
+// multiplication
+Unicode: [00d7];
+Bitmap: \
+ -------- \
+ -##--##- \
+ --####-- \
+ ---##--- \
+ --####-- \
+ -##--##- \
+ -------- \
+ --------
+// FIXME: MISSING Ø
+%
+// U with grave
+Unicode: [00d9];
+Bitmap: \
+ --##---- \
+ ---##--- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ -######- \
+ --------
+%
+// U with acute
+Unicode: [00da];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ -######- \
+ --------
+// FIXME: MISSING Û
+%
+// Y with acute
+Unicode: [00dd];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -##--##- \
+ -##--##- \
+ --####-- \
+ ---##--- \
+ ---##--- \
+ --------
+%
+// capital thorn
+Unicode: [00de];
+Bitmap: \
+ -------- \
+ -##----- \
+ -#####-- \
+ -##--##- \
+ -#####-- \
+ -##----- \
+ -##----- \
+ --------
+%
+// a with circumflex
+Unicode: [00e2];
+Bitmap: \
+ --####-- \
+ -#----#- \
+ -------- \
+ --####-- \
+ ----###- \
+ --##-##- \
+ ---####- \
+ --------
+%
+// a with tilde
+Unicode: [00e3];
+Bitmap: \
+ --##-##- \
+ -##-##-- \
+ -------- \
+ --####-- \
+ ----###- \
+ --##-##- \
+ ---####-
+// FIXME: touches bottom
+%
+// ae ligature
+Unicode: [00e6];
+Bitmap: \
+ -------- \
+ -------- \
+ -###-##- \
+ ---##-## \
+ -######- \
+ ##-##--- \
+ -######- \
+ --------
+// FIXME: fugly
+%
+// e with umlaut
+Unicode: [00eb];
+Bitmap: \
+ -##--##- \
+ -------- \
+ --####-- \
+ -##--##- \
+ -######- \
+ -##----- \
+ --####-- \
+ --------
+%
+// i with acute
+Unicode: [00ed];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -------- \
+ --###--- \
+ ---##--- \
+ ---##--- \
+ --####-- \
+ --------
+%
+// lowercase eth
+Unicode: [00f0];
+Bitmap: \
+ -##-#--- \
+ --##---- \
+ -#-##--- \
+ --####-- \
+ -##--##- \
+ -##--##- \
+ --####-- \
+ --------
+%
+// o with tilde
+Unicode: [00f5];
+Bitmap: \
+ --##-##- \
+ -##-##-- \
+ -------- \
+ --####-- \
+ -##--##- \
+ -##--##- \
+ --####-- \
+ --------
+%
+// division
+Unicode: [00f7];
+Bitmap: \
+ -------- \
+ ---##--- \
+ -------- \
+ -######- \
+ -------- \
+ ---##--- \
+ -------- \
+ --------
+// FIXME: MISSING ø
+%
+// y with acute
+Unicode: [00fd];
+Bitmap: \
+ ----##-- \
+ ---##--- \
+ -------- \
+ -##--##- \
+ -##--##- \
+ --#####- \
+ ----##-- \
+ -####---
+%
+// lowercase thorn
+Unicode: [00fe];
+Bitmap: \
+ -##----- \
+ -##----- \
+ -####--- \
+ -##-##-- \
+ -####--- \
+ -##----- \
+ -##----- \
+ --------
+%
+// y with umlaut
+Unicode: [00ff];
+Bitmap: \
+ -##--##- \
+ -------- \
+ -##--##- \
+ -##--##- \
+ -##--##- \
+ --#####- \
+ ----##-- \
+ -####---
+%
+// left single curly quote
+Unicode: [2018];
+Bitmap: \
+ -------- \
+ --##---- \
+ ---##--- \
+ ----##-- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// right single curly quote
+Unicode: [2019];
+Bitmap: \
+ -------- \
+ ----##-- \
+ ---##--- \
+ --##---- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// left double curly quote
+Unicode: [201c];
+Bitmap: \
+ -------- \
+ -##--##- \
+ -##--##- \
+ --##--## \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// right double curly quote
+Unicode: [201d];
+Bitmap: \
+ -------- \
+ -##--##- \
+ -##--##- \
+ ##--##-- \
+ -------- \
+ -------- \
+ -------- \
+ --------
+%
+// spanish left single quote
+Unicode: [2039];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ ---##--- \
+ --##---- \
+ ---##--- \
+ -------- \
+ --------
+%
+// spanish right single quote
+Unicode: [203a];
+Bitmap: \
+ -------- \
+ -------- \
+ -------- \
+ ---##--- \
+ ----##-- \
+ ---##--- \
+ -------- \
+ --------
+%
+// replacement character for missing glyphs
+Unicode: [fffd];
+Bitmap: \
+ --####-- \
+ -##--##- \
+ -#-##-#- \
+ -###-##- \
+ -######- \
+ -###-##- \
+ --####-- \
+ --------
diff --git a/fonts/sorttxtfont.pl b/fonts/sorttxtfont.pl
new file mode 100644
index 0000000..62c37cc
--- /dev/null
+++ b/fonts/sorttxtfont.pl
@@ -0,0 +1,33 @@
+#!/usr/bin/perl -w
+
+# sort a font in psftools .txt format, by unicode codepoint.
+# only the *first* codepoint per glyph is used as the key.
+
+undef $/;
+$_ = <>;
+@glyphs = split "%";
+shift @glyphs;
+$header = "%" . (shift @glyphs);
+
+# 0 is a special case because fonts intended to become PSFs will
+# be padded with extra characters with encoding 0. only the first
+# one seen is the real one.
+$zeroseen = 0;
+
+for(@glyphs) {
+ my($cp, $dcp);
+ ($cp) = (/Unicode: \[([0-9a-fA-F]+)/);
+ $dcp = eval "0x$cp";
+ if($dcp == 0) {
+ next if $zeroseen++;
+ }
+ if(defined $sortme{$dcp}) {
+ warn "duplicate codepoint 0x$cp\n";
+ }
+ $sortme{$dcp} = $_;
+}
+
+for(sort { $a <=> $b } keys %sortme) {
+ push @sorted, $sortme{$_};
+}
+print join("%", $header, @sorted);
diff --git a/install-fonts.sh b/install-fonts.sh
new file mode 100644
index 0000000..7d803f8
--- /dev/null
+++ b/install-fonts.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# Install the BDF fonts where they belong. DESTDIR, BDFDIR, and TTFDIR
+# must be given as arguments. If DESTDIR is blank, the X server and
+# fontconfig will be informed about the new fonts. If DESTDIR is NOT
+# blank, we're not really installing the fonts system-wide, so no
+# extra config will be done (the files will just be copied).
+
+DESTDIR="$1"
+BDFDIR="$2"
+TTFDIR="$3"
+
+SYSTEM=yes
+
+if [ "$DISPLAY" = "" ]; then
+ SYSTEM=no
+fi
+
+if [ "$DESTDIR" != "" ]; then
+ BDFDIR="$DESTDIR/$BDFDIR"
+ TTFDIR="$DESTDIR/$TTFDIR"
+ SYSTEM=no
+fi
+
+if [ "$#" != "3" -o "$BDFDIR" = "" ]; then
+ echo "usage: $0 <destdir> <bdfdir> <ttfdir>"
+ exit 1
+fi
+
+echo -n "$0: will "
+if [ "$SYSTEM" != "yes" ]; then
+ echo -n "NOT "
+fi
+echo "run mkfontdir/mkfontscale/xset/fc-cache"
+
+install_font() {
+ BDF=fauxtari-$1.bdf
+ ALIAS=fauxtari-$1
+ cp "fonts/$BDF" "$BDFDIR"
+ chown root:root "$BDFDIR/$BDF" &> /dev/null
+ if [ "$SYSTEM" = "yes" ]; then
+ ( cd "$BDFDIR"
+ mkfontdir
+ mkfontscale
+ if ! grep "^$ALIAS" fonts.alias &> /dev/null; then
+ NAME="$( grep "^$BDF" fonts.dir | cut -d' ' -f2- )"
+ echo "$ALIAS \"$NAME\"" >> fonts.alias
+ fi
+ )
+ fi
+}
+
+mkdir -p "$BDFDIR" || exit 1
+mkdir -p "$TTFDIR" || exit 1
+install_font 8
+install_font 16
+install_font 24
+
+cp "fonts/FauxtariScalableMono.ttf" "$TTFDIR"
+if [ "$SYSTEM" = "yes" ]; then
+ fc-cache -f "$BDFDIR" &> /dev/null
+ xset fp rehash &> /dev/null
+ if [ "$BDFDIR" != "$TTFDIR" ]; then
+ cd "$TTFDIR"
+ mkfontdir
+ mkfontscale
+ fc-cache -f "$TTFDIR" &> /dev/null
+ fi
+fi
diff --git a/jindroush/Makefile b/jindroush/Makefile
index 0a11a8f..605dc70 100644
--- a/jindroush/Makefile
+++ b/jindroush/Makefile
@@ -54,9 +54,3 @@ install: all
chmod 644 $(DESTDIR)/$(MAN1DIR)/$$i.1 ; \
[ "$(GZIP_MAN)" = "y" ] && gzip -f $(DESTDIR)/$(MAN1DIR)/$$i.1 ; \
done
- ln -sf chkbas $(DESTDIR)$(BINDIR)/listbas
- if [ "$(GZIP_MAN)" = "y" ]; then \
- ln -sf chkbas.1.gz $(DESTDIR)$(MAN1DIR)/listbas.1.gz ; \
- else \
- ln -sf chkbas.1 $(DESTDIR)$(MAN1DIR)/listbas.1 ; \
- fi
diff --git a/jindroush/README.txt b/jindroush/README.txt
index 31d9af9..a085003 100644
--- a/jindroush/README.txt
+++ b/jindroush/README.txt
@@ -29,9 +29,10 @@ I've made to Jindroush's code:
with mode 0600; changed this to 0666 (which will still be affected
by the user's umask).
-- Added "listbas" symlink, to save typing "chkbas -short" over and over
- again.
-
- adir's -dir option now creates the directory if it doesn't exist.
- Wrote man pages for all the utilities.
+
+- Fixed a bug in chkbas: BASIC XL and XE's LEFT$ RIGHT$ MID$ were
+ being printed without the left parenthesis (e.g Left$(A$,3) was
+ coming out as Left$A$,3).
diff --git a/jindroush/chkbas/basic_xe.h b/jindroush/chkbas/basic_xe.h
index fc86131..56e0276 100644
--- a/jindroush/chkbas/basic_xe.h
+++ b/jindroush/chkbas/basic_xe.h
@@ -209,9 +209,9 @@ char* aOpsBasicXe[] = {
"ERR", //63
"TAB", //64
"PEN", //65
- "LEFT$", //66
- "RIGHT$", //67
- "MID$", //68
+ "LEFT$(", //66
+ "RIGHT$(", //67
+ "MID$(", //68
};
#define BASICXE_CMD_NUM ( sizeof( aCmdsBasicXe ) / sizeof( aCmdsBasicXe[ 0 ] ) )
diff --git a/jindroush/chkbas/basic_xl.h b/jindroush/chkbas/basic_xl.h
index a97f8a7..97dd627 100644
--- a/jindroush/chkbas/basic_xl.h
+++ b/jindroush/chkbas/basic_xl.h
@@ -203,9 +203,9 @@ char* aOpsBasicXl[] = {
"ERR", //63
"TAB", //64
"PEN", //65
- "LEFT$", //66
- "RIGHT$", //67
- "MID$", //68
+ "LEFT$(", //66
+ "RIGHT$(", //67
+ "MID$(", //68
};
#define BASICXL_CMD_NUM ( sizeof( aCmdsBasicXl ) / sizeof( aCmdsBasicXl[ 0 ] ) )
diff --git a/jindroush/man/chkbas.1 b/jindroush/man/chkbas.1
index 5fbcbae..f2664f3 100644
--- a/jindroush/man/chkbas.1
+++ b/jindroush/man/chkbas.1
@@ -27,14 +27,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CHKBAS" 1 "2024-05-19" "1.10" "Jindroush's Atari 8-bit tools"
+.TH "CHKBAS" 1 "2024-07-10" "1.10" "Jindroush's Atari 8-bit tools"
.SH NAME
chkbas \- check and detokenize Atari BASIC SAVEd files
.SH SYNOPSIS
.sp
chkbas [\fB\-atari\fP] [\fB\-short\fP] [\fB\-verbose\fP] [\fB\-noinverse\fP] [\fB\-tbs\fP | \fB\-bxl\fP | \fB\-bxe\fP] \fBbasic\-file\fP [\fBoutput\-file\fP]
-.sp
-listbas [\fB\-atari\fP] [\fB\-verbose\fP] [\fB\-noinverse\fP] [\fB\-tbs\fP | \fB\-bxl\fP | \fB\-bxe\fP] \fBbasic\-file\fP [\fBoutput\-file\fP]
.SH DESCRIPTION
.sp
\fBchkbas\fP detokenizes Atari 8\-bit BASIC SAVEd files. It lists the BASIC
@@ -47,7 +45,21 @@ standard output. If \fBbasic\-file\fP is anything other than standard
Atari BASIC, the BASIC dialect must be specified (see \fBOPTIONS\fP,
below).
.sp
-\fBlistbas\fP is simply an alias for \fBchkbas \-short\fP\&.
+It\(aqs highly recommended to avoid running \fBchkbas\fP without
+redirecting or piping its output: If the program contains ATASCII
+graphics or inverse characters, they will be printed as\-is to the
+terminal, which can confuse the terminal. For simply reading the code,
+pipe to \fBa8cat\fP(1), thus:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ chkbas \-atari PROGRAM.BAS | a8cat
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
.sp
Sample run, with no options:
.INDENT 0.0
@@ -125,7 +137,7 @@ EOL characters (\fB$9B\fP).
.B \fB\-short\fP
Output only the program listing, with lines terminated by the
system default newline character(s), e.g. \fBn\fP on UNIX\-like OSes,
-\fBrn\fP on MS\-DOS or Windows. This is the default for \fBlistbas\fP\&.
+\fBrn\fP on MS\-DOS or Windows.
.TP
.B \fB\-verbose\fP
Program listing will be interspersed with per\-line and per\-statement
diff --git a/jindroush/man/chkbas.rst b/jindroush/man/chkbas.rst
index 2ab92e7..b6c678f 100644
--- a/jindroush/man/chkbas.rst
+++ b/jindroush/man/chkbas.rst
@@ -15,8 +15,6 @@ SYNOPSIS
chkbas [**-atari**] [**-short**] [**-verbose**] [**-noinverse**] [**-tbs** | **-bxl** | **-bxe**] **basic-file** [**output-file**]
-listbas [**-atari**] [**-verbose**] [**-noinverse**] [**-tbs** | **-bxl** | **-bxe**] **basic-file** [**output-file**]
-
DESCRIPTION
===========
@@ -30,7 +28,13 @@ standard output. If **basic-file** is anything other than standard
Atari BASIC, the BASIC dialect must be specified (see **OPTIONS**,
below).
-**listbas** is simply an alias for **chkbas -short**.
+It's highly recommended to avoid running **chkbas** without
+redirecting or piping its output: If the program contains ATASCII
+graphics or inverse characters, they will be printed as-is to the
+terminal, which can confuse the terminal. For simply reading the code,
+pipe to **a8cat**\(1), thus::
+
+ $ chkbas -atari PROGRAM.BAS | a8cat
Sample run, with no options::
@@ -103,7 +107,7 @@ Output Options
**-short**
Output only the program listing, with lines terminated by the
system default newline character(s), e.g. **\n** on UNIX-like OSes,
- **\r\n** on MS-DOS or Windows. This is the default for **listbas**.
+ **\r\n** on MS-DOS or Windows.
**-verbose**
Program listing will be interspersed with per-line and per-statement
diff --git a/listbas.1 b/listbas.1
new file mode 100644
index 0000000..a79c7d0
--- /dev/null
+++ b/listbas.1
@@ -0,0 +1,515 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "LISTBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.SH NAME
+listbas \- List the source of a tokenized Atari 8-bit BASIC program
+.SH SYNOPSIS
+.sp
+listbas [\fB\-a\fP | \fB\-d\fP | \fB\-m\fP | \fB\-x\fP | \fB\-U\fP] [\fB\-B\fP] [\fB\-u\fP] [\fB\-i\fP] [\fB\-l\fP] [\fB\-n\fP | \fB\-C\fP] [\fB\-v\fP] [\fB\-c\fP \fIcolors\fP] [\fB\-r\fP \fIline\-range\fP] \fBinput\-file\fP
+.SH DESCRIPTION
+.sp
+\fBlistbas\fP acts like the \fILIST\fP command in BASIC. It reads a
+tokenized (SAVEd) BASIC program and prints the code in human\-readable
+format.
+.sp
+By default, output is Unicode in UTF\-8 encoding, with ANSI/VT220
+escape sequences for inverse video and color syntax highlighting.
+.sp
+\fBlistbas\fP supports several BASIC dialects used on the Atari. By
+default, the BASIC dialect is autodetected by running \fBwhichbas\fP(1)
+as an external process. To override this, see the \fB\-b\fP option, below.
+.SH OPTIONS
+.SS BASIC options
+.INDENT 0.0
+.TP
+.B \fB\-b\fP
+Set the BASIC dialect the program will be treated as. This disables
+autodetection. Supported dialects are:
+.INDENT 7.0
+.TP
+.B \fB\-ba\fP
+Atari BASIC.
+.TP
+.B \fB\-ba+\fP
+OSS BASIC/A+.
+.TP
+.B \fB\-bt\fP
+Turbo BASIC XL.
+.TP
+.B \fB\-bxl\fP
+OSS BASIC XL.
+.TP
+.B \fB\-bxe\fP
+OSS BASIC XE.
+.UNINDENT
+.sp
+See \fBBASIC DIALECTS\fP below for details.
+.TP
+.B \fB\-r\fP \fIline\-range\fP
+Show only part of the listing. \fIline\-range\fP can be a single line, or
+a comma\-separated pair of starting and ending line numbers (e.g. \fB100,200\fP).
+If the start line number is omitted (e.g. \fB,100\fP), it will be treated as
+\fB0\fP (meaning, list from the beginning of the program). If the ending line
+number is omitted (e.g. \fB100,\fP), it means "list until the end of the program".
+\fB\-r,\fP is equivalent to not using the \fB\-r\fP option at all.
+.TP
+.B \fB\-i\fP
+Include the immediate mode command (line 32768) in the output. This option has no
+effect if the \fB\-r\fP option is used to stop listing before the end of the program.
+.TP
+.B \fB\-l\fP
+Do not print line numbers at the start of each line. \fBGOTO\fP, \fBGOSUB\fP,
+\fBTRAP\fP, and \fBTHEN\fP target line numbers are still printed.
+.TP
+.B \fB\-t\fP
+Do not indent, if the program is Turbo BASIC, BASIC/A+, BASIC XL, or BASIC XE.
+By default, indentation is enabled for everything but Atari BASIC.
+If you want to indent an Atari BASIC program, use \fB\-bt\fP or \fB\-bxe\fP\&.
+.TP
+.B \fB\-k\fP
+Do not print keywords in mixed case (e.g. \fBPrint\fP, \fBGraphics\fP),
+for BASIC XL or BASIC XE. Equivalent of \fBSET 5,0\fP\&.
+.UNINDENT
+.SS Output modes
+.sp
+The default output mode is Unicode/UTF\-8 representations of ATASCII
+characters.
+.INDENT 0.0
+.TP
+.B \fB\-U\fP
+Output Unicode/UTF\-8 representations of ATASCII characters. This is
+the default output mode; the \fB\-U\fP option is provided so you can
+override \fB\-a\fP, \fB\-d\fP, \fB\-m\fP, \fB\-x\fP in \fBLISTBAS_OPTS\fP (see
+\fBENVIRONMENT\fP, below).
+.TP
+.B \fB\-x\fP
+Output Unicode/UTF\-8 representations of the XL International Character
+Set, rather than ATASCII.
+.TP
+.B \fB\-a\fP
+Output raw ATASCII; no translation to the host character set. Must be
+used with redirection or a pipe; \fBlistbas\fP will not write ATASCII to the terminal.
+ATASCII output does not support color (because ATASCII doesn\(aqt).
+.TP
+.B \fB\-m\fP
+Output "magazine listing". See the \fB\-m\fP option for \fBa8cat\fP(1) for details.
+Color is supported in this mode. No Unicode/UTF\-8 characters are printed in
+this mode.
+.TP
+.B \fB\-d\fP
+Print dots rather than Unicode/UTF\-8 characters. Color and inverse
+video are still supported in this mode, but no Unicode/UTF8 characters
+are printed. Use this only if your terminal \fIreally\fP doesn\(aqt support
+Unicode (e.g. \fBrxvt\fP(1))... but even then, \fB\-m\fP is preferred,
+because you can\(aqt tell what the dots are supposed to represent.
+.UNINDENT
+.SS Other display options
+.INDENT 0.0
+.TP
+.B \fB\-C\fP
+Enable color syntax highlighting. This option is enabled by default;
+the \fB\-C\fP option is provided so you can override \fB\-n\fP in
+\fBLISTBAS_OPTS\fP (see \fBENVIRONMENT\fP, below).
+.TP
+.B \fB\-n\fP
+No color. Has no effect if \fB\-a\fP is in effect, since this
+mode doesn\(aqt support color anyway. Disabling color does not
+disable reverse video.
+.TP
+.B \fB\-B\fP
+Use bold for color output. This may make it easier to read on
+some terminals. Or, it may hurt your eyes...
+.TP
+.B \fB\-u\fP
+Use underlining for inverse video, rather than reverse video output.
+.TP
+.B \fB\-c\fP \fIcolors\fP
+Customize the color scheme. See \fBCOLORS\fP, below, for the format of the
+\fIcolors\fP argument. Once you\(aqve found a set of colors you like,
+you can place this option in the \fBLISTBAS_OPTS\fP environment variable
+to use your colors by default. See \fBENVIRONMENT\fP, below.
+.UNINDENT
+.SS General Options
+.INDENT 0.0
+.TP
+.B \fB\-\-help\fP
+Print usage message and exit.
+.TP
+.B \fB\-\-version\fP
+Print version number and exit.
+.TP
+.B \fB\-v\fP
+Verbose operation. When displaying a number in verbose mode, it will
+be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
+.UNINDENT
+.SH BASIC DIALECTS
+.sp
+Note that Turbo, BASIC XL, and BASIC XE are all proper supersets of
+Atari BASIC, so you can view an Atari BASIC program with any of
+\fB\-bt\fP, \fB\-bxl\fP, or \fB\-bxe\fP\&. Also, BASIC XE is a superset of BASIC XL
+(provided BASIC XL\(aqs disk\-based toolkit extended commands are not used),
+so you can usually use \fB\-bxe\fP on a BASIC XL program.
+.sp
+BASIC/A+ uses incompatible tokens, so its programs can\(aqt be viewed as
+any of the others. Trying to do this results in a very funny\-looking
+listing, with commands like \fBPOSITION\fP with no arguments (or with a
+string argument, or \fBPOSITION #6;"string"\fP; it so happens A+ uses the
+same token number for \fBPOSITION\fP that the other BASICs use for
+\fB?\fP). The same thing would happen if you booted BASIC/A+ on an Atari
+and tried to \fBLOAD\fP an Atari BASIC program. I can\(aqt help but think
+this is a major reason BASIC/A+ didn\(aqt sell that well (fortunately,
+OSS realized their mistake and fixed it in BASIC XL).
+.sp
+If you see lots of "bad token XX" messages, or if the code
+just doesn\(aqt make any sense, you\(aqre using the wrong BASIC
+option. \fBwhichbas\fP(1) can usually detect the BASIC a program was
+written in, but if the results are ambiguous, \fBlistbas\fP will assume
+Turbo BASIC XL. If this is wrong, use \fB\-bxl\fP or \fB\-bxe\fP to force
+the issue.
+.SH COLORS
+.sp
+Color output only works on terminal emulators (or real terminals)
+that support ANSI/VT220 style escape codes. This includes all modern
+terminal emulators, and most not\-so\-modern ones in the UNIX world. See
+\fBNOTES\fP for a list of tested terminal emulators.
+.sp
+You can customize the colors by using the \fB\-c\fP \fIcolors\fP option, either
+on the command line, or in the \fBLISTBAS_OPTS\fP environment variable.
+\fIcolors\fP is a string of exactly 8 characters, each of which must be the
+digits \fI0\fP through \fI7\fP to specify a color, or the letter \fIn\fP to specify
+no color.
+.sp
+The colors are the standard ANSI ones, plus \fIn\fP:
+.INDENT 0.0
+.TP
+.B \fI0\fP
+Black.
+.TP
+.B \fI1\fP
+Red.
+.TP
+.B \fI2\fP
+Green.
+.TP
+.B \fI3\fP
+Yellow (or brown/orange, on some terminals).
+.TP
+.B \fI4\fP
+Blue.
+.TP
+.B \fI5\fP
+Purple (aka violet).
+.TP
+.B \fI6\fP
+Cyan.
+.TP
+.B \fI7\fP
+White.
+.TP
+.B \fIn\fP
+No custom color. Output will be in the terminal\(aqs default foreground color.
+.UNINDENT
+.sp
+The order they\(aqre used in the \fIcolors\fP argument is:
+.INDENT 0.0
+.TP
+.B \fB1\fP
+BASIC keywords. Default: \fI3\fP (yellow).
+.TP
+.B \fB2\fP
+Operators, including quotes around strings and commas between \fBDATA\fP items. Default: \fI2\fP (green).
+.TP
+.B \fB3\fP
+Functions. Default: \fI5\fP (purple).
+.TP
+.B \fB4\fP
+Constants (numeric or string). Default: \fI1\fP (red).
+.TP
+.B \fB5\fP
+Line numbers (at the start of a line only; \fBGOTO\fP and \fBGOSUB\fP line numbers
+are constants). Default: \fI6\fP (cyan).
+.TP
+.B \fB6\fP
+\fBREM\fP text. Default: \fI4\fP (blue).
+.TP
+.B \fB7\fP
+\fBDATA\fP items (but not the commas between them). Default: \fI6\fP (cyan).
+.TP
+.B \fB8\fP
+Variable names. Default: \fIn\fP (uncolorized).
+.UNINDENT
+.sp
+So, the default color scheme is equivalent to:
+.INDENT 0.0
+.INDENT 3.5
+\fB\-c\fP \fI3251646n\fP
+.UNINDENT
+.UNINDENT
+.sp
+Black and white are not used by default because presumably, one or the
+other is the background color of the terminal.
+.SH NOTES
+.SS Indentation
+.sp
+The indentation isn\(aqt all that well\-tested yet, but so far it seems work
+correctly. The \fB\-t\fP option is the equivalent of \fB*L\-\fP for Turbo,
+or \fBSET 12,0\fP for BXL/BXE. The different BASICs have different
+indentation rules; try viewing the same Atari BASIC program with
+\fB\-bt\fP, \fB\-bxl\fP, and \fB\-bxe\fP to compare them.
+.sp
+\fBlistbas \-t\fP is also (as far as I know) the only way to \fBLIST\fP
+a BASIC/A+ program without indentation, since BASIC/A+ itself doesn\(aqt
+have a way to disable it.
+.sp
+Turbo BASIC, at least, will "max out" the indentation level at some
+point. Once there are 60 or so levels of indent, it stops adding
+more. \fBlistbas\fP doesn\(aqt emulate this behaviour (shouldn\(aqt be a
+problem, it\(aqs a pathological case).
+.sp
+BASIC XL actually does indentation within a line. If you write:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+10 IF A:IF B:IF C:REM
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\&...BXL lists it as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+10 If A: If B: If C:Rem
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBlistbas\fP only indents at the start of a line, so this behaviour is
+not emulated.
+.sp
+One thing \fBlistbas\fP gets right: the \fBLIST\fP command in Turbo, A+,
+BXL, and BXE always starts out with 0 indent spaces, if you\(aqre only
+listing part of a program. BXE example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+10 While 1
+20 If Peek(764)<>255
+30 ? "SOMEONE PRESSED A KEY":Poke 764,255
+40 Endif
+50 Endwhile
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\&...but if you give a \fBLIST 30\fP in BXE, you\(aqll get line 30 without any
+indentation. \fBlistbas\fP does this, too, if you use the \fB\-r\fP option.
+.SS Protected Programs
+.sp
+\fBlistbas\fP will refuse to operate on a LIST\-protected program with
+scrambled variable names. For code\-protected programs, it will stop at
+the line with the invalid offset. Use \fBunprotbas\fP(1) to remove the
+protection.
+.SS Comparison to chkbas
+.sp
+\fBlistbas\fP is similar to Jindroush\(aqs \fBchkbas\fP(1). The main differences are:
+.INDENT 0.0
+.IP \(bu 2
+\fBlistbas\fP prints ATASCII graphics as Unicode equivalents, so the listing
+looks very similar to how it would appear on the Atari.
+.IP \(bu 2
+\fBlistbas\fP does color syntax highlighting.
+.IP \(bu 2
+\fBlistbas\fP supports OSS BASIC/A+ in addition to Turbo and BXL/BXE.
+.IP \(bu 2
+\fBlistbas\fP indents BASIC/A+, Turbo, BXL, and BXE code, just like the
+actual BASICs do.
+.IP \(bu 2
+\fBlistbas\fP doesn\(aqt show information about the variables. Use \fBvxrefbas\fP(1)
+for that.
+.IP \(bu 2
+\fBlistbas\fP will not write ATASCII data to your terminal. By default, it
+converts ATASCII characters into Unicode/UTF\-8 characters
+that won\(aqt confuse the terminal. When outputting raw ATASCII (\fB\-a\fP option),
+it refuses to run if standard output is a terminal.
+.IP \(bu 2
+\fBlistbas\fP only lists line 32768 (the immediate mode command) if
+specifically asked to do so.
+.IP \(bu 2
+\fBlistbas\fP doesn\(aqt print a banner on startup.
+.IP \(bu 2
+\fBlistbas\fP tells you if the program is protected, and refuses to operate
+on variable\-protected programs. For code\-protected programs, it lists
+the program up to the "poisoned" line (normally the last line).
+.UNINDENT
+.SS Terminal Support
+.sp
+The color and inverse/bold/underline support assumes your terminal supports
+ANSI/VT220 escape codes... but it does \fInot\fP use \fBcurses\fP(3X) or
+\fBterminfo\fP(5), or even look at \fBTERM\fP in the environment. It just
+blindly emits the escape codes. Likewise, Unicode characters are printed
+in UTF\-8 encoding, without actually checking whether the terminal or the
+current locale supports UTF\-8.
+.sp
+\fBlistbas\fP has been tested and is known to work in at least these
+terminals:
+.INDENT 0.0
+.INDENT 3.5
+\fBrxvt\-unicode\fP, aka \fBurxvt\fP\&. This is the terminal the author uses.
+.sp
+\fBxterm\fP \- tested frequently. Requires the XTerm.locale resource
+to be set to \fBUTF\-8\fP (e.g. in \fB~/.Xdefaults\fP), or the \fB\-lc\fP
+and/or \fB\-en UTF\-8\fP command line options.
+.sp
+\fBLinux console\fP \- works fine, but good luck finding a font with
+all the Unicode graphics characters. Better use \fB\-m\fP\&.
+.sp
+\fBkitty\fP \- very fancy terminal emulator that supports both X11 and
+Wayland. \fBlistbas\fP was only tested on X11.
+.sp
+\fBxfce4\-terminal\fP \- version 0.8.10, with XFCE4 4.16.0.
+.sp
+\fBkonsole\fP \- the KDE terminal, from KDE 5.90.
+.sp
+\fBgnome\-terminal\fP \- version 3.43.90.
+.sp
+\fBst\fP \- minimal terminal from suckless.org, version 0.9.2.
+.sp
+\fBmlterm\fP \- version 3.9.3.
+.sp
+\fBkmscon\fP \- version 9.0.0. \fI\%https://github.com/Aetf/kmscon\fP
+.sp
+\fBfbterm\fP \- version 1.8. \fI\%https://github.com/sfzhi/fbterm\fP
+.UNINDENT
+.UNINDENT
+.sp
+Also, \fBrxvt\fP and \fBaterm\fP don\(aqt support Unicode, but they will
+otherwise work (display color and inverse) with the \fB\-m\fP or \fB\-d\fP
+options to \fBlistbas\fP\&.
+.SS HTML Output
+.sp
+I thought about adding an HTML output option, but there\(aqs no need: if you want
+a colorful listing of an Atari BASIC program, install \fBaha\fP(1) from
+\fI\%https://github.com/theZiz/aha\fP (or your distro\(aqs package repo) and run
+something like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+listbas PROGRAM.BAS | aha > program.html
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH ENVIRONMENT
+.INDENT 0.0
+.TP
+.B \fBLISTBAS_OPTS\fP
+If this environment variable is set, \fBlistbas\fP parses its value as though
+the contents were placed on the command line as options, preceding any actual
+option. Example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+export LISTBAS_OPTS="\-c123456 \-d"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If you place the above line in your shell\(aqs startup script, \fBlistbas\fP will
+use your custom color scheme, and will default to the "dots" output mode. If
+you then run \fBlistbas\fP the \fB\-c\fP and/or \fB\-x\fP, \fB\-m\fP options, the options
+on the command line will override the environment.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+0 for success, 1 if there was an error reading the input (e.g. file
+not found), or 2 if the input file has invalid tokens (if this
+happens, you will also see a warning about it on stderr).
+.SH COPYRIGHT
+.sp
+WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
+.SH AUTHOR
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fBa8cat\fP(1),
+\fBa8eol\fP(1),
+\fBa8xd\fP(1),
+\fBatr2xfd\fP(1),
+\fBatrsize\fP(1),
+\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
+\fBblob2c\fP(1),
+\fBblob2xex\fP(1),
+\fBcart2xex\fP(1),
+\fBcxrefbas\fP(1),
+\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
+\fBdumpbas\fP(1),
+\fBf2toxex\fP(1),
+\fBfenders\fP(1),
+\fBlistbas\fP(1),
+\fBprotbas\fP(1),
+\fBrenumbas\fP(1),
+\fBrom2cart\fP(1),
+\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
+\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
+\fBxexamine\fP(1),
+\fBxexcat\fP(1),
+\fBxexsplit\fP(1),
+\fBxfd2atr\fP(1),
+\fBxex\fP(5),
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
+.sp
+Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
+Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
+.\" Generated by docutils manpage writer.
+.
diff --git a/listbas.c b/listbas.c
new file mode 100644
index 0000000..ab23fc3
--- /dev/null
+++ b/listbas.c
@@ -0,0 +1,1157 @@
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <time.h>
+
+#include <math.h>
+#include <errno.h>
+
+#include <sys/wait.h>
+
+#include "bas.h"
+#include "bcdfp.h"
+#include "tokens.h"
+#include "turbo_tokens.h"
+#include "aplus_tokens.h"
+#include "bxl_tokens.h"
+#include "bxe_tokens.h"
+#include "atables.h"
+#include "whichbas.h"
+
+#define B_ATARI SRET_ATARI
+#define B_TURBO SRET_TURBO
+#define B_APLUS SRET_APLUS
+#define B_BXL SRET_BXL
+#define B_BXE SRET_BXE
+
+#define COLOR_FMT "\x1b[%d;3%dm" /* 1st %d is 1 for bold, 2nd is color */
+
+#define COLOR_OFF "\x1b[0m" /* clears inverse, too! */
+#define INV_OFF "\x1b[0m" /* clears color, too! */
+
+/* These would be better to use, allow turning off color and inverse
+ independently, but are not as widely supported by various terminals. */
+/* #define COLOR_OFF "\x1b[39;49m" */
+/* #define INV_OFF "\x1b[27m"" */
+
+#define INV_ON "\x1b[7m" /* goes all the way back to the original VT100 */
+#define ULINE_ON "\x1b[4m"
+
+#define MAG_INV "{inv}"
+#define MAG_NORM "{norm}"
+
+/* colors. */
+#define NO_COLOR -1
+#define C_RED 1
+#define C_GREEN 2
+#define C_YELLOW 3
+#define C_BLUE 4
+#define C_PURPLE 5
+#define C_CYAN 6
+#define C_WHITE 7
+
+#define ENV_OPTS "LISTBAS_OPTS"
+#define ENV_MAX_ARGS 64
+/* #define DEBUG_ENV */
+
+/* output modes */
+#define M_UTF8 0 /* default */
+#define M_UTF8_I 1 /* -x */
+#define M_ATASCII 2 /* -a */
+#define M_MAG 3 /* -m */
+#define M_DOTS 4 /* -d */
+
+const char *cmd_tokens[256];
+const char *op_tokens[256];
+
+int bas_type = B_ATARI; /* -b */
+
+int output_mode = M_UTF8;
+
+int bold = 0; /* 1 with -B */
+int color = 1; /* 0 with -n */
+int immediate = 0; /* 1 with -i */
+int underline = 0; /* 1 with -u */
+int skip_lineno = 0; /* 1 with -l */
+int dump_tables = 0; /* 1 with -D */
+int autodetect = 1; /* 0 with -b */
+int mixed_case = 1; /* 0 with -k, or if input is B_ATARI or B_APLUS */
+int indent = 1; /* 0 with -t, or if input is B_ATARI */
+int startline = 0; /* -r */
+int endline = 32767; /* -r */
+
+/* change these with -c */
+int color_cmd = C_YELLOW;
+int color_op = C_GREEN;
+int color_func = C_PURPLE;
+int color_const = C_RED;
+int color_lineno = C_CYAN;
+int color_rem = C_BLUE;
+int color_data = C_CYAN;
+int color_varnames = NO_COLOR;
+
+const char *input_filename;
+
+int indent_level = 0;
+int if_without_then = 0;
+int badtok = 0; /* set to 1 if we find a bad token */
+int inv = 0; /* set to 1 when we're printing inverse */
+int cur_color = -1; /* -1 = no color */
+
+int first_stmt = 1; /* true if cmd token comes right after lineno */
+
+FILE *outfh;
+
+int parse_color(char c) {
+ if(c == 'n')
+ return NO_COLOR;
+
+ if(c >= '0' && c <= '7')
+ return c - '0';
+
+ fprintf(stderr, "%s: Invalid color '%c'.\n", self, c);
+ exit(1);
+}
+
+void parse_color_scheme(const char *arg) {
+ if(!arg) return;
+
+ if(strlen(arg) != 8)
+ die("Color scheme must be 8 characters.");
+
+ color_cmd = parse_color(arg[0]);
+ color_op = parse_color(arg[1]);
+ color_func = parse_color(arg[2]);
+ color_const = parse_color(arg[3]);
+ color_lineno = parse_color(arg[4]);
+ color_rem = parse_color(arg[5]);
+ color_data = parse_color(arg[6]);
+ color_varnames = parse_color(arg[7]);
+}
+
+int get_bas_type(char *arg) {
+ if(arg[0] == 't')
+ return B_TURBO;
+
+ if(arg[0] == 'a') {
+ if(arg[1] == '+')
+ return B_APLUS;
+ else
+ return B_ATARI;
+ }
+
+ if(arg[0] == 'x') {
+ if(arg[1] == 'l')
+ return B_BXL;
+ else if(arg[1] == 'e')
+ return B_BXE;
+ }
+
+ fprintf(stderr, "%s: Invalid BASIC type for -b option: %s\n", self, arg);
+ exit(1);
+}
+
+void get_line_range(const char *arg) {
+ int val = 0, comma = 0;
+ const char *p = arg;
+
+ while(*p) {
+ if(*p >= '0' && *p <= '9') {
+ val *= 10;
+ val += *p - '0';
+ if(val > 32768) die("Invalid line number for -r (range is 0-32768).");
+ } else if(*p == ',' || *p == '-') {
+ if(comma) die("Invalid argument for -r (too many commas).");
+ comma++;
+ startline = val;
+ val = 0;
+ } else {
+ if(comma) die("Invalid argument for -r (only digits and comma allowed).");
+ }
+ p++;
+ }
+
+ if(comma)
+ endline = val ? val : 32767;
+ else
+ startline = endline = val;
+
+ if(endline < startline)
+ die("Invalid argument for -r (end > start).");
+}
+
+void print_help(void) {
+ printf("Usage: %s [-a|-d|-m|-x|-U] [-B] [-i] [-l] [-u] [-n|-C] [-v] [-c *colors*] [-r *start,end* ] [-k] [-t] <inputfile>\n", self);
+ printf(" -b <XX>: set BASIC type. XX is: a = atari, t = turbo, xl, xe, a+.\n");
+ printf(" -U: output ATASCII as Unicode/UTF-8 (this is the default).\n");
+ printf(" -a: output raw ATASCII.\n");
+ printf(" -d: use dots instead of Unicode/UTF-8.\n");
+ printf(" -m: magazine style listing (see a8cat(1)).\n");
+ printf(" -x: XL international character set (UTF-8).\n");
+ printf(" -B: use bold for color output.\n");
+ printf(" -i: show immediate mode command (line 32768).\n");
+ printf(" -l: don't print line numbers.\n");
+ printf(" -C: enable color syntax highlighting (this is the default).\n");
+ printf(" -n: disable color syntax highlighting.\n");
+ printf(" -u: use underline for inverse video.\n");
+ printf(" -c: use custom colors (see man page).\n");
+ printf(" -k: disable mixed case keywords for BXL/BXE (e.g. Print).\n");
+ printf(" -t: disable Turbo/BXL/BXE indentation.\n");
+ printf(" -r: only list lines numbered from *start* to *end*.\n");
+ printf(" -v: verbose.\n");
+}
+
+void parse_args(int argc, char **argv, int from_env) {
+ int opt;
+
+ optind = 1;
+
+ while( (opt = getopt(argc, argv, "r:Db:UCviamnBdhxulc:kt")) != -1) {
+ switch(opt) {
+ case 'U': output_mode = M_UTF8; break;
+ case 'a': output_mode = M_ATASCII; break;
+ case 'm': output_mode = M_MAG; break;
+ case 'd': output_mode = M_DOTS; break;
+ case 'x': output_mode = M_UTF8_I; break;
+ case 'D': dump_tables = 1; break;
+ case 'v': verbose = 1; break;
+ case 'i': immediate = 1; break;
+ case 'B': bold = 1; break;
+ case 'u': underline = 1; break;
+ case 'C': color = 1; break;
+ case 'n': color = 0; break;
+ case 'l': skip_lineno = 1; break;
+ case 'k': mixed_case = 0; break;
+ case 't': indent = 0; break;
+ case 'b': autodetect = 0; bas_type = get_bas_type(optarg); break;
+ case 'r': get_line_range(optarg); break;
+ case 'c': parse_color_scheme(optarg); break;
+ case 'h': print_help(); exit(0);
+ default:
+ print_help();
+ exit(1);
+ }
+ }
+
+ if(output_mode == M_ATASCII) color = 0;
+
+ if(!from_env) {
+ if(optind >= argc) {
+ die("No input file given (use - for stdin).");
+ } else {
+ input_filename = argv[optind];
+ open_input(input_filename);
+ }
+ }
+}
+
+/* make a fake argv and argc */
+void parse_env_args(void) {
+ int fargc;
+ char *fargv[ENV_MAX_ARGS + 1];
+ char *env, *p;
+
+ env = getenv(ENV_OPTS);
+ if(!env) return;
+
+#ifdef DEBUG_ENV
+ fprintf(stderr, "%s: " ENV_OPTS " is set in the env, using it.\n", self);
+#endif
+
+ fargv[0] = (char *)self;
+ fargv[1] = env;
+ fargc = 2;
+
+ for(p = env; *p; p++) {
+ if(*p == ' ' || *p == '\t') {
+ *p = '\0';
+ if(fargc == ENV_MAX_ARGS) {
+ /* not gonna bother with the man page for this, it's
+ long enough already. it's a pathological case. */
+ fprintf(stderr, "%s: Too many spaces in " ENV_OPTS " (max %d)\n", self, ENV_MAX_ARGS - 1);
+ break;
+ }
+ fargv[fargc++] = p + 1;
+ }
+ }
+
+ fargv[fargc] = NULL;
+
+#ifdef DEBUG_ENV
+ {
+ char **p;
+ fprintf(stderr, "%s: Read options from environment:\n", self);
+ for(p = fargv + 1; *p; p++) {
+ fprintf(stderr, "\t%s\n", *p);
+ }
+ }
+#endif
+
+ parse_args(fargc, fargv, 1);
+}
+
+void setup_outfh(void) {
+ if(output_mode == M_ATASCII) {
+ if(isatty(fileno(stdout))) {
+ die("Refusing to write ATASCII data to the terminal.");
+ }
+ }
+ outfh = freopen(NULL, "wb", stdout);
+ if(!outfh) {
+ perror("freopen()");
+ die("Can't reopen standard output in binary mode.");
+ }
+ return;
+}
+
+void outchr(char c) {
+ putc(c, outfh);
+}
+
+/* this should probably be moved to bcdfp.c */
+double bcd2double(const unsigned char *num) {
+ double result = 0, sign;
+ int exp, i;
+
+ exp = *num;
+ if(!exp) {
+ return 0.0;
+ }
+
+ sign = (exp & 0x80 ? -1.0 : 1.0);
+ exp &= 0x7f;
+ exp -= 0x40;
+
+ for(i = 1; i < 6; i++) {
+ result *= 100.0;
+ result += bcd2int(num[i]);
+ }
+
+ result *= pow(100, exp - 4);
+ result *= sign;
+
+ return result;
+}
+
+void color_on(int c) {
+ cur_color = c;
+ if(c != NO_COLOR)
+ printf(COLOR_FMT, bold, c);
+}
+
+void color_off(void) {
+ cur_color = -1;
+ fputs(COLOR_OFF, outfh);
+}
+
+void print_number(unsigned int pos, int hex) {
+ double num = bcd2double(program + pos);
+ if(color) color_on(color_const);
+ if(hex) {
+ if(num < 0 || num > 0xffff) {
+ fprintf(stderr, "%s: invalid Turbo/BXL/BXE hex const %lf at pos $%04x\n", self, num, pos);
+ }
+ fprintf(outfh, (num > 0xff ? "%04x" : "%02x"), (unsigned int)num);
+ } else {
+ fprintf(outfh, "%G", num);
+ }
+ if(color) color_off();
+}
+
+/* only called in magazine mode. cursor control characters
+ like a bell in the middle of a non-inverse string
+ should not cause it to print {inv}{bell}{norm}. The {bell}
+ is "inherently" inverse (since its high bit is set) but doesn't
+ need to be printed that way. */
+int affects_inv(unsigned char c) {
+ switch(c) {
+ case 0x1b: /* esc */
+ case 0x1c: /* up */
+ case 0x1d: /* down */
+ case 0x1e: /* left */
+ case 0x1f: /* right */
+ case 0x9b: /* EOL */
+ case 0x9c: /* del line */
+ case 0x9d: /* ins line */
+ case 0x9e: /* clear tab */
+ case 0x9f: /* set tab */
+ case 0x7d: /* cls */
+ case 0x7e: /* BS */
+ case 0x7f: /* tab */
+ case 0xfd: /* bell */
+ case 0xfe: /* del chr */
+ case 0xff: /* ins chr */
+ return 0;
+ default:
+ return 1;
+ }
+}
+
+void start_inv(unsigned char c) {
+ switch(output_mode) {
+ case M_DOTS:
+ case M_UTF8:
+ case M_UTF8_I:
+ if(underline)
+ fputs(ULINE_ON, outfh);
+ else
+ fputs(INV_ON, outfh);
+ inv = 1;
+ break;
+ case M_MAG:
+ if(affects_inv(c)) {
+ fputs(MAG_INV, outfh);
+ inv = 1;
+ }
+ break;
+ case M_ATASCII:
+ default:
+ break;
+ }
+}
+
+void end_inv(unsigned char c) {
+ switch(output_mode) {
+ case M_DOTS:
+ case M_UTF8:
+ case M_UTF8_I:
+ fputs(INV_OFF, outfh);
+ inv = 0;
+ /* work around INV_OFF also turning off color. */
+ if(cur_color > -1)
+ color_on(cur_color);
+ break;
+ case M_MAG:
+ if(affects_inv(c)) {
+ fputs(MAG_NORM, outfh);
+ inv = 0;
+ }
+ break;
+ case M_ATASCII:
+ default:
+ break;
+ }
+}
+
+void print_ata_chr(unsigned char c) {
+ if(c & 0x80) {
+ if(!inv) {
+ start_inv(c);
+ }
+ } else {
+ if(inv) {
+ end_inv(c);
+ }
+ }
+
+ switch(output_mode) {
+ case M_DOTS:
+ fputc(isprint(c & 0x7f) ? c & 0x7f : '.', outfh);
+ break;
+ case M_UTF8:
+ fputs(ata2utf[c & 0x7f], outfh);
+ break;
+ case M_UTF8_I:
+ fputs(ics2utf[c & 0x7f], outfh);
+ break;
+ case M_MAG:
+ fputs(ata2mag[c & 0x7f], outfh);
+ break;
+ case M_ATASCII:
+ default:
+ outchr(c);
+ break;
+ }
+}
+
+void print_mixed_case(const char *name) {
+ char c;
+
+ if(!*name) return;
+ if(*name == ' ')
+ outchr(*name++);
+ outchr(*name++);
+ while(( c = *name++)) {
+ if(c >= 'A' && c <= 'Z')
+ c |= 0x20;
+ if(color && c == '(' && cur_color != color_op) color_on(color_op);
+ outchr(c);
+ }
+}
+
+void print_string(unsigned int pos, unsigned int len) {
+ inv = 0;
+ if(color) color_on(color_op);
+ outchr('"');
+ if(color) color_on(color_const);
+ while(len--) print_ata_chr(program[pos++]);
+ if(inv) {
+ end_inv(0);
+ }
+ if(color) color_on(color_op);
+ outchr('"');
+ if(color) color_off();
+}
+
+const char *get_bxl_ext_name(unsigned char tok) {
+ switch(tok) {
+ case 0x10:
+ return "Local";
+ case 0x11:
+ return "Exit";
+ case 0x12:
+ return "Procedure";
+ case 0x13:
+ return "Call";
+ case 0x14:
+ return "Sortup";
+ case 0x15:
+ return "Sortdown";
+ default:
+ return "(bad BXL ext token)";
+ }
+}
+
+void clear_callbacks(void);
+void init_callbacks(void);
+
+int cmd_is_if;
+
+CALLBACK(find_cmd_if) {
+ cmd_is_if = 0;
+ if((bas_type == B_APLUS && tok == 0x06) || (bas_type != B_APLUS && tok == CMD_IF)) {
+ cmd_is_if = 1;
+ if_without_then++; /* find_then() decrements it, if there's a THEN */
+ }
+}
+
+CALLBACK(find_op_then) {
+ if(verbose)
+ fprintf(stderr, "find_op_then lineno %d, pos %04x, tok %02x\n", lineno, pos, tok);
+
+ if(cmd_is_if && tok == OP_THEN)
+ if_without_then--;
+}
+
+/* walk_code()'s API isn't really set up to be reentrant, but we
+ can do one level of sub-walk. */
+void find_then(int lineno, unsigned short pos) {
+ clear_callbacks();
+ on_exp_token = find_op_then;
+ on_cmd_token = find_cmd_if;
+ walk_code(lineno, lineno);
+ init_callbacks();
+}
+
+CALLBACK(print_lineno) {
+ unsigned char cmd_tok;
+
+ first_stmt = 1;
+
+ if(indent) {
+ cmd_tok = program[pos + 4];
+ if_without_then = 0;
+ if((bas_type == B_APLUS && cmd_tok == 0x06) || (bas_type != B_APLUS && cmd_tok == CMD_IF)) {
+ find_then(lineno, pos);
+ }
+ }
+
+ if(skip_lineno) return;
+ if(color) color_on(color_lineno);
+ fprintf(outfh, "%d ", lineno);
+ if(color) color_off();
+}
+
+/* indentation is totally different between A+, BXL, and BXE.
+ Turbo and BXE use the same indent style, but Turbo has more
+ keywords that indent (e.g. REPEAT, DO).
+
+ A+ always indents on the lines after a WHILE or a FOR, unless there's
+ a matching ENDWHILE or NEXT on the same line. It indents the lines
+ after IF only if there's no THEN and no matching ENDIF on the
+ same line. ENDWHILE, NEXT, ENDIF all un-undent one level. The style
+ is that the the ending keyword (or ELSE) does NOT get unindented,
+ itself:
+
+ WHILE 1
+ PRINT "OK"
+ ENDWHILE
+ PRINT "HEY"
+
+ That looks *wrong* to me (the ENDWHILE should line up with the WHILE), but
+ that's how A+ works.
+
+ BXL's style is to indent the entire block to the same level:
+
+ While 1
+ Print "OK"
+ Endwhile
+ Print "HEY"
+
+ This applies even if the whole block's on one line:
+
+ ? "OK"
+ For I=1 To 10:Next I
+ ? "OK"
+
+BXE and Turbo work like modern style: the keywords that start and end the
+block are not indented, only the lines between them.
+
+ While 1
+ Print "OK"
+ Endwhile
+ Print "HEY"
+
+ */
+
+void print_indent(void) {
+ int i;
+ if(indent_level < 0) indent_level = 0;
+ for(i = 0; i < indent_level; i++) {
+ outchr(' ');
+ outchr(' ');
+ }
+}
+
+void aplus_indent_line(const unsigned char tok) {
+ if(first_stmt) print_indent();
+
+ switch(tok) {
+ case 0x07: /* FOR */
+ case 0x13: /* WHILE */
+ indent_level++;
+ return;
+ case 0x08: /* NEXT */
+ case 0x14: /* ENDWHILE */
+ case 0x18: /* ENDIF */
+ indent_level--;
+ return;
+ default: break;
+ }
+ if(if_without_then) {
+ indent_level++;
+ if_without_then = 0;
+ }
+}
+
+void turbo_indent_line(const unsigned char tok) {
+ switch(tok) {
+ case 0x40: /* ELSE */
+ if(first_stmt) {
+ /* gets "outdented" */
+ indent_level--;
+ print_indent();
+ indent_level++;
+ }
+ return;
+ case CMD_FOR: /* FOR */
+ case 0x3c: /* REPEAT */
+ case 0x3e: /* WHILE */
+ case 0x45: /* DO */
+ case 0x4f: /* PROC */
+ if(first_stmt) print_indent();
+ indent_level++;
+ return;
+ case CMD_NEXT: /* NEXT */
+ case 0x3d: /* UNTIL */
+ case 0x3f: /* WEND */
+ case 0x41: /* ENDIF */
+ case 0x46: /* LOOP */
+ case 0x51: /* ENDPROC */
+ indent_level--;
+ break;
+ default: break;
+ }
+ if(first_stmt) print_indent();
+ if(if_without_then) {
+ indent_level++;
+ if_without_then = 0;
+ }
+}
+
+/* Note: BXL's PROCEDURE/EXIT (from toolkit extensions) does
+ *not* get indented. */
+void bxl_indent_line(unsigned char tok) {
+ if(if_without_then) {
+ indent_level++;
+ if_without_then = 0;
+ }
+ switch(tok) {
+ case CMD_FOR: /* FOR */
+ case 0x38: /* WHILE */
+ indent_level++;
+ break;
+ case CMD_NEXT: /* NEXT */
+ case 0x39: /* ENDWHILE */
+ case 0x3d: /* ENDIF */
+ if(first_stmt) print_indent();
+ indent_level--;
+ return;
+ default: break;
+ }
+ if(first_stmt) print_indent();
+}
+
+void bxe_indent_line(const unsigned char tok) {
+ switch(tok) {
+ case 0x3c: /* ELSE */
+ if(first_stmt) {
+ /* gets "outdented" */
+ indent_level--;
+ print_indent();
+ indent_level++;
+ }
+ return;
+ case CMD_FOR: /* FOR */
+ case 0x38: /* WHILE */
+ case 0x59: /* PROCEDURE */
+ if(first_stmt) print_indent();
+ indent_level++;
+ return;
+ case CMD_NEXT: /* NEXT */
+ case 0x39: /* ENDWHILE */
+ case 0x5e: /* EXIT */
+ case 0x3d: /* ENDIF */
+ indent_level--;
+ break;
+ default: break;
+ }
+ if(first_stmt) print_indent();
+ if(if_without_then) {
+ if_without_then = 0;
+ indent_level++;
+ }
+}
+
+void indent_line(const unsigned char tok) {
+ if(!indent) return;
+
+ switch(bas_type) {
+ case B_APLUS: aplus_indent_line(tok); return;
+ case B_TURBO: turbo_indent_line(tok); return;
+ case B_BXL: bxl_indent_line(tok); return;
+ case B_BXE: bxe_indent_line(tok); return;
+ case B_ATARI:
+ default:
+ return;
+ }
+}
+
+CALLBACK(print_cmd) {
+ const char *name;
+
+ indent_line(tok);
+ if(first_stmt)
+ first_stmt = 0;
+
+ if(bas_type == B_APLUS) {
+ if(tok == 0x52) return;
+ } else {
+ if(tok == CMD_ILET) return;
+ }
+
+ if(color) color_on(color_cmd);
+
+ if((!(name = cmd_tokens[tok]))) {
+ fprintf(outfh, "(bad cmd token $%02x) ", tok);
+ badtok = 1;
+ } else {
+ if(bas_type == B_BXL && tok == 0x5a)
+ name = get_bxl_ext_name(program[pos + 1]);
+
+ if(mixed_case && (bas_type == B_BXL || bas_type == B_BXE)) {
+ print_mixed_case(name);
+ outchr(' ');
+ } else {
+ fprintf(outfh, "%s ", name);
+ }
+ }
+
+ if(color) color_off();
+}
+
+void aplus_op_color_on(unsigned char tok) {
+ int c = color_op;
+
+ if((tok >= 0x17 && tok <= 0x1c) || (tok >= 0x29 && tok <= 0x2b)) {
+ /* keywords */
+ c = color_cmd;
+ } else if(tok >= 0x40) {
+ /* functions */
+ c = color_func;
+ } else if(tok == 0x38 || tok == 0x39) {
+ /* unary +/- */
+ c = color_const;
+ }
+
+ color_on(c);
+}
+
+/* pseudo-funcs listed here are ones that don't take (), e.g.
+ X=RND or A$=INKEY$. right now they're colored the same as regular
+ functions, but it might make sense to color them as variables?
+ also, %0 %1 %2 %3 (tokens 0x66 to 0x69) are currently op-colored,
+ perhaps they should be constant-colored? */
+void turbo_op_color_on(unsigned char tok) {
+ switch(tok) {
+ case 0x55:
+ case 0x58:
+ case 0x59: /* pseudo-func */
+ case 0x5b:
+ case 0x5c:
+ case 0x5e:
+ case 0x5f: /* pseudo-func */
+ case 0x60: /* pseudo-func */
+ case 0x63: /* pseudo-func */
+ case 0x64:
+ case 0x65:
+ case 0x6b:
+ case 0x6c: /* pseudo-func */
+ case 0x6d: /* pseudo-func */
+ color_on(color_func);
+ break;
+ case 0x5a:
+ case 0x5d:
+ case 0x61:
+ case 0x62:
+ case 0x6a:
+ color_on(color_cmd);
+ break;
+ default:
+ color_on(color_op);
+ break;
+ }
+}
+
+/* BXL and BXE use the same operator tokens */
+void bxlxe_op_color_on(unsigned char tok) {
+ int c = color_op;
+
+ if(tok == 0x55) {
+ c = color_cmd;
+ } else if(tok >= 0x5a) {
+ c = color_func;
+ }
+
+ color_on(c);
+}
+
+void op_color_on(unsigned char tok) {
+ if(!color) return;
+
+ if(bas_type == B_APLUS) {
+ aplus_op_color_on(tok);
+ return;
+ }
+
+ /* common ops for Atari, Turbo, BXL, BXE */
+ if(tok <= last_operator) {
+ if(tok > 0x3c)
+ color_on(color_func);
+ else if(tok == OP_UMINUS || tok == OP_UPLUS)
+ color_on(color_const); /* show leading sign in same color as the number */
+ else if((tok >= 0x17 && tok <= 0x1b) || (tok >= 0x28 && tok <= 0x2a))
+ color_on(color_cmd);
+ else
+ color_on(color_op);
+ return;
+ }
+
+ if(bas_type == B_TURBO)
+ turbo_op_color_on(tok);
+ else if(bas_type == B_BXL || bas_type == B_BXE)
+ bxlxe_op_color_on(tok);
+ else
+ color_on(color_op); /* in case of bad token when bas_type == B_BASIC */
+}
+
+void print_varname(unsigned char varnum) {
+ int i, count;
+ unsigned char c;
+
+ if(color) color_on(color_varnames);
+
+ for(i = vnstart, count = 0; count < varnum; i++) {
+ if(program[i] & 0x80) count++;
+ if(i == codestart) {
+ fprintf(outfh, "(bad var tok $%02x)", varnum | 0x80);
+ return;
+ }
+ }
+
+ do {
+ c = program[i++];
+ if(color && c == ('(' | 0x80)) {
+ if(color) color_on(color_op);
+ }
+ outchr(c & 0x7f);
+ } while (c < 0x80);
+ if(color) color_off();
+}
+
+CALLBACK(print_op) {
+ const char *name;
+
+ switch(tok) {
+ case 0: /* Turbo variables numbered >= $80 */
+ if(bas_type == B_TURBO) {
+ print_varname(program[pos + 1] | 0x80);
+ return;
+ } else {
+ fprintf(stderr, "%s: got Turbo ext var tok at line %d, in non-Turbo program!\n", self, lineno);
+ }
+ break;
+ case OP_HEXCONST:
+ if(color) color_on(color_op);
+ outchr('$');
+ print_number(pos + 1, 1);
+ return;
+ case OP_NUMCONST:
+ print_number(pos + 1, 0);
+ return;
+ case OP_STRCONST:
+ print_string(pos + 2, program[pos + 1]);
+ return;
+ case OP_EOL:
+ return;
+ default: break;
+ }
+
+ if(color) op_color_on(tok);
+
+ if((!(name = op_tokens[tok]))) {
+ fprintf(outfh, "(bad op token $%02x)", tok);
+ badtok = 1;
+ } else {
+ if(bas_type == B_BXL || bas_type == B_BXE)
+ print_mixed_case(name);
+ else
+ fprintf(outfh, "%s", name);
+ }
+ if(color) color_off();
+}
+
+/* for normal BASIC/A+/XL/XE variable tokens, $80-$FF. Turbo uses
+ these, too, but it supports 256 variables, so it only uses $80-$FF
+ for the first 128 vars. */
+CALLBACK(print_std_varname) {
+ print_varname(tok & 0x7f);
+}
+
+CALLBACK(print_text) {
+ unsigned char c, is_data = program[pos - 1] == CMD_DATA, comma = 0;
+
+ inv = 0;
+ if(color) color_on(is_data ? color_data : color_rem);
+ while(program[pos] != 0x9b) {
+ c = program[pos++];
+ if(color && is_data && c == ',') {
+ color_on(color_op);
+ comma = 1;
+ } else {
+ comma = 0;
+ }
+ print_ata_chr(c);
+ if(comma)
+ color_on(is_data ? color_data : color_rem);
+ }
+ if(inv) end_inv(0);
+ if(color) color_off();
+}
+
+CALLBACK(print_newline) {
+ if(output_mode == M_ATASCII)
+ outchr(0x9b);
+ else
+ outchr('\n');
+}
+
+CALLBACK(code_prot) {
+ fprintf(stderr, "%s: Program is code-protected, stopping at line %d.\n", self, lineno);
+ exit(0);
+}
+
+void clear_callbacks(void) {
+ on_start_line = 0;
+ on_cmd_token = 0;
+ on_exp_token = 0;
+ on_var_token = 0;
+ on_end_line = 0;
+ on_text = 0;
+ on_bad_line_length = 0;
+}
+
+void init_callbacks(void) {
+ on_start_line = print_lineno;
+ on_cmd_token = print_cmd;
+ on_exp_token = print_op;
+ on_var_token = print_std_varname; /* see also: print_turbo_varname() */
+ on_end_line = print_newline;
+ on_text = print_text;
+ on_bad_line_length = code_prot;
+}
+
+void list(void) {
+ init_callbacks();
+ if(endline == 32767 && immediate) endline++;
+ walk_code(startline, endline);
+}
+
+void init_bas_tables() {
+ memmove(cmd_tokens, commands, (last_command + 1) * sizeof(char *));
+ memmove(op_tokens, operators, (last_operator + 1) * sizeof(char *));
+}
+
+void init_aplus_tables() {
+ memmove(cmd_tokens, aplus_cmds, aplus_cmd_size);
+ memmove(op_tokens, aplus_ops, aplus_ops_size);
+}
+
+void init_turbo_tables() {
+ memmove(cmd_tokens + last_command + 1, turbo_cmds, turbo_cmd_size);
+ memmove(op_tokens + last_operator + 1, turbo_ops, turbo_ops_size);
+}
+
+void init_bxl_tables() {
+ memmove(cmd_tokens + last_command + 1, bxl_cmds, bxl_cmd_size);
+ memmove(op_tokens + last_operator + 1, bxl_ops, bxl_ops_size);
+}
+
+/* BXE's token table is identical to BXL's, and the commands are the
+ same up to token 0x56 (FAST). */
+void init_bxe_tables() {
+ init_bxl_tables();
+ memmove(cmd_tokens + 0x57, bxe_cmds, bxe_cmd_size);
+}
+
+void init_token_tables() {
+ if(bas_type == B_APLUS) {
+ init_aplus_tables();
+ return;
+ }
+
+ init_bas_tables();
+
+ if(bas_type == B_TURBO)
+ init_turbo_tables();
+ else if(bas_type == B_BXL)
+ init_bxl_tables();
+ else if(bas_type == B_BXE)
+ init_bxe_tables();
+
+ if(dump_tables) {
+ int i;
+ printf("commands:\n\n");
+ for(i = 0; i < 0x65; i++)
+ printf("%s $%02x\n", (cmd_tokens[i] ? cmd_tokens[i] : "(null)"), i);
+ printf("operators:\n\n");
+ for(i = 0x12; i < 0x69; i++)
+ printf("%s $%02x\n", (op_tokens[i] ? op_tokens[i] : "(null)"), i);
+ exit(0);
+ }
+}
+
+void set_bas_dialect(int d) {
+ if(verbose)
+ fprintf(stderr, "set_bas_dialect(%d)\n", d);
+
+ switch(d) {
+ case 0:
+ case 1:
+ die("whichbas child process failed");
+ break;
+ case SRET_ATARI:
+ case SRET_APLUS:
+ case SRET_TURBO:
+ case SRET_BXL:
+ case SRET_BXE:
+ bas_type = d;
+ break;
+ default:
+ fprintf(stderr, "whichbas results ambiguous; guessing Turbo BASIC\n");
+ bas_type = SRET_TURBO;
+ break;
+ }
+}
+
+void detect_bas_dialect() {
+ pid_t pid, status;
+ int wstatus;
+ const char *args[4];
+
+ args[0] = "whichbas";
+ args[1] = "-s";
+ args[2] = input_filename;
+ args[3] = 0;
+
+ pid = fork();
+ if(pid == -1) {
+ perror("fork()");
+ die("Can't spawn child process");
+ } else if(pid) {
+ /* we are the parent */
+ status = waitpid(pid, &wstatus, 0);
+ if(status < 0) {
+ perror("waitpid()");
+ die("Child process went south");
+ }
+ if(!WIFEXITED(wstatus)) {
+ die("Child process went south");
+ }
+ set_bas_dialect(WEXITSTATUS(wstatus));
+ } else {
+ /* we are the child */
+ if(execvp(args[0], (char * const *)args) < 0) {
+ perror("Can't execute whichbas");
+ exit(1);
+ }
+ }
+}
+
+void init_bas_dialect() {
+ if(autodetect)
+ detect_bas_dialect();
+
+ if(bas_type == B_TURBO || bas_type == B_BXL || bas_type == B_BXE)
+ allow_hex_const = 1;
+
+ if(bas_type == B_APLUS)
+ aplus_errtok_hack = 1;
+
+ if(bas_type == B_BXL)
+ bxl_exttok_hack = 1;
+
+ if(bas_type == B_ATARI || bas_type == B_APLUS || bas_type == B_TURBO)
+ mixed_case = 0;
+
+ if(bas_type == B_ATARI)
+ indent = 0;
+}
+
+int main(int argc, char **argv) {
+ set_self(*argv);
+ parse_general_args(argc, argv, print_help);
+ parse_env_args();
+ parse_args(argc, argv, 0);
+
+ init_bas_dialect();
+ init_token_tables();
+
+ readfile();
+ parse_header();
+
+ if(!vntable_ok())
+ die("Program is variable-protected; unprotect it first.");
+
+ setup_outfh();
+ list();
+
+ if(badtok) {
+ fprintf(stderr, "%s: Program has unknown tokens; wrong BASIC dialect?\n", self);
+ return 2;
+ }
+
+ return 0;
+}
diff --git a/listbas.rst b/listbas.rst
new file mode 100644
index 0000000..1aba12a
--- /dev/null
+++ b/listbas.rst
@@ -0,0 +1,405 @@
+=======
+listbas
+=======
+
+--------------------------------------------------------
+List the source of a tokenized Atari 8-bit BASIC program
+--------------------------------------------------------
+
+.. include:: manhdr.rst
+
+SYNOPSIS
+========
+
+listbas [**-a** | **-d** | **-m** | **-x** | **-U**] [**-B**] [**-u**] [**-i**] [**-l**] [**-n** | **-C**] [**-v**] [**-c** *colors*] [**-r** *line-range*] **input-file**
+
+DESCRIPTION
+===========
+
+**listbas** acts like the *LIST* command in BASIC. It reads a
+tokenized (SAVEd) BASIC program and prints the code in human-readable
+format.
+
+By default, output is Unicode in UTF-8 encoding, with ANSI/VT220
+escape sequences for inverse video and color syntax highlighting.
+
+**listbas** supports several BASIC dialects used on the Atari. By
+default, the BASIC dialect is autodetected by running **whichbas**\(1)
+as an external process. To override this, see the **-b** option, below.
+
+OPTIONS
+=======
+
+BASIC options
+-------------
+
+**-b**
+ Set the BASIC dialect the program will be treated as. This disables
+ autodetection. Supported dialects are:
+
+ **-ba**
+ Atari BASIC.
+
+ **-ba+**
+ OSS BASIC/A+.
+
+ **-bt**
+ Turbo BASIC XL.
+
+ **-bxl**
+ OSS BASIC XL.
+
+ **-bxe**
+ OSS BASIC XE.
+
+ See **BASIC DIALECTS** below for details.
+
+**-r** *line-range*
+ Show only part of the listing. *line-range* can be a single line, or
+ a comma-separated pair of starting and ending line numbers (e.g. **100,200**).
+ If the start line number is omitted (e.g. **,100**), it will be treated as
+ **0** (meaning, list from the beginning of the program). If the ending line
+ number is omitted (e.g. **100,**), it means "list until the end of the program".
+ **-r,** is equivalent to not using the **-r** option at all.
+
+**-i**
+ Include the immediate mode command (line 32768) in the output. This option has no
+ effect if the **-r** option is used to stop listing before the end of the program.
+
+**-l**
+ Do not print line numbers at the start of each line. **GOTO**, **GOSUB**,
+ **TRAP**, and **THEN** target line numbers are still printed.
+
+**-t**
+ Do not indent, if the program is Turbo BASIC, BASIC/A+, BASIC XL, or BASIC XE.
+ By default, indentation is enabled for everything but Atari BASIC.
+ If you want to indent an Atari BASIC program, use **-bt** or **-bxe**.
+
+**-k**
+ Do not print keywords in mixed case (e.g. **Print**, **Graphics**),
+ for BASIC XL or BASIC XE. Equivalent of **SET 5,0**.
+
+Output modes
+------------
+
+The default output mode is Unicode/UTF-8 representations of ATASCII
+characters.
+
+**-U**
+ Output Unicode/UTF-8 representations of ATASCII characters. This is
+ the default output mode; the **-U** option is provided so you can
+ override **-a**, **-d**, **-m**, **-x** in **LISTBAS_OPTS** (see
+ **ENVIRONMENT**, below).
+
+**-x**
+ Output Unicode/UTF-8 representations of the XL International Character
+ Set, rather than ATASCII.
+
+**-a**
+ Output raw ATASCII; no translation to the host character set. Must be
+ used with redirection or a pipe; **listbas** will not write ATASCII to the terminal.
+ ATASCII output does not support color (because ATASCII doesn't).
+
+**-m**
+ Output "magazine listing". See the **-m** option for **a8cat**\(1) for details.
+ Color is supported in this mode. No Unicode/UTF-8 characters are printed in
+ this mode.
+
+**-d**
+ Print dots rather than Unicode/UTF-8 characters. Color and inverse
+ video are still supported in this mode, but no Unicode/UTF8 characters
+ are printed. Use this only if your terminal *really* doesn't support
+ Unicode (e.g. **rxvt**\(1))... but even then, **-m** is preferred,
+ because you can't tell what the dots are supposed to represent.
+
+Other display options
+---------------------
+
+**-C**
+ Enable color syntax highlighting. This option is enabled by default;
+ the **-C** option is provided so you can override **-n** in
+ **LISTBAS_OPTS** (see **ENVIRONMENT**, below).
+
+**-n**
+ No color. Has no effect if **-a** is in effect, since this
+ mode doesn't support color anyway. Disabling color does not
+ disable reverse video.
+
+**-B**
+ Use bold for color output. This may make it easier to read on
+ some terminals. Or, it may hurt your eyes...
+
+**-u**
+ Use underlining for inverse video, rather than reverse video output.
+
+**-c** *colors*
+ Customize the color scheme. See **COLORS**, below, for the format of the
+ *colors* argument. Once you've found a set of colors you like,
+ you can place this option in the **LISTBAS_OPTS** environment variable
+ to use your colors by default. See **ENVIRONMENT**, below.
+
+.. include:: genopts.rst
+
+BASIC DIALECTS
+==============
+Note that Turbo, BASIC XL, and BASIC XE are all proper supersets of
+Atari BASIC, so you can view an Atari BASIC program with any of
+**-bt**, **-bxl**, or **-bxe**. Also, BASIC XE is a superset of BASIC XL
+(provided BASIC XL's disk-based toolkit extended commands are not used),
+so you can usually use **-bxe** on a BASIC XL program.
+
+BASIC/A+ uses incompatible tokens, so its programs can't be viewed as
+any of the others. Trying to do this results in a very funny-looking
+listing, with commands like **POSITION** with no arguments (or with a
+string argument, or **POSITION #6;"string"**; it so happens A+ uses the
+same token number for **POSITION** that the other BASICs use for
+**?**). The same thing would happen if you booted BASIC/A+ on an Atari
+and tried to **LOAD** an Atari BASIC program. I can't help but think
+this is a major reason BASIC/A+ didn't sell that well (fortunately,
+OSS realized their mistake and fixed it in BASIC XL).
+
+If you see lots of "bad token XX" messages, or if the code
+just doesn't make any sense, you're using the wrong BASIC
+option. **whichbas**\(1) can usually detect the BASIC a program was
+written in, but if the results are ambiguous, **listbas** will assume
+Turbo BASIC XL. If this is wrong, use **-bxl** or **-bxe** to force
+the issue.
+
+COLORS
+======
+
+Color output only works on terminal emulators (or real terminals)
+that support ANSI/VT220 style escape codes. This includes all modern
+terminal emulators, and most not-so-modern ones in the UNIX world. See
+**NOTES** for a list of tested terminal emulators.
+
+You can customize the colors by using the **-c** *colors* option, either
+on the command line, or in the **LISTBAS_OPTS** environment variable.
+*colors* is a string of exactly 8 characters, each of which must be the
+digits *0* through *7* to specify a color, or the letter *n* to specify
+no color.
+
+The colors are the standard ANSI ones, plus *n*:
+
+*0*
+ Black.
+
+*1*
+ Red.
+
+*2*
+ Green.
+
+*3*
+ Yellow (or brown/orange, on some terminals).
+
+*4*
+ Blue.
+
+*5*
+ Purple (aka violet).
+
+*6*
+ Cyan.
+
+*7*
+ White.
+
+*n*
+ No custom color. Output will be in the terminal's default foreground color.
+
+The order they're used in the *colors* argument is:
+
+**1**
+ BASIC keywords. Default: *3* (yellow).
+
+**2**
+ Operators, including quotes around strings and commas between **DATA** items. Default: *2* (green).
+
+**3**
+ Functions. Default: *5* (purple).
+
+**4**
+ Constants (numeric or string). Default: *1* (red).
+
+**5**
+ Line numbers (at the start of a line only; **GOTO** and **GOSUB** line numbers
+ are constants). Default: *6* (cyan).
+
+**6**
+ **REM** text. Default: *4* (blue).
+
+**7**
+ **DATA** items (but not the commas between them). Default: *6* (cyan).
+
+**8**
+ Variable names. Default: *n* (uncolorized).
+
+So, the default color scheme is equivalent to:
+
+ **-c** *3251646n*
+
+Black and white are not used by default because presumably, one or the
+other is the background color of the terminal.
+
+NOTES
+=====
+
+Indentation
+-----------
+
+The indentation isn't all that well-tested yet, but so far it seems work
+correctly. The **-t** option is the equivalent of **\*L\ -** for Turbo,
+or **SET 12,0** for BXL/BXE. The different BASICs have different
+indentation rules; try viewing the same Atari BASIC program with
+**-bt**, **-bxl**, and **-bxe** to compare them.
+
+**listbas -t** is also (as far as I know) the only way to **LIST**
+a BASIC/A+ program without indentation, since BASIC/A+ itself doesn't
+have a way to disable it.
+
+Turbo BASIC, at least, will "max out" the indentation level at some
+point. Once there are 60 or so levels of indent, it stops adding
+more. **listbas** doesn't emulate this behaviour (shouldn't be a
+problem, it's a pathological case).
+
+BASIC XL actually does indentation within a line. If you write::
+
+ 10 IF A:IF B:IF C:REM
+
+...BXL lists it as::
+
+ 10 If A: If B: If C:Rem
+
+**listbas** only indents at the start of a line, so this behaviour is
+not emulated.
+
+One thing **listbas** gets right: the **LIST** command in Turbo, A+,
+BXL, and BXE always starts out with 0 indent spaces, if you're only
+listing part of a program. BXE example::
+
+ 10 While 1
+ 20 If Peek(764)<>255
+ 30 ? "SOMEONE PRESSED A KEY":Poke 764,255
+ 40 Endif
+ 50 Endwhile
+
+...but if you give a **LIST 30** in BXE, you'll get line 30 without any
+indentation. **listbas** does this, too, if you use the **-r** option.
+
+Protected Programs
+------------------
+
+**listbas** will refuse to operate on a LIST-protected program with
+scrambled variable names. For code-protected programs, it will stop at
+the line with the invalid offset. Use **unprotbas**\(1) to remove the
+protection.
+
+Comparison to chkbas
+--------------------
+
+**listbas** is similar to Jindroush's **chkbas**\(1). The main differences are:
+
+- **listbas** prints ATASCII graphics as Unicode equivalents, so the listing
+ looks very similar to how it would appear on the Atari.
+
+- **listbas** does color syntax highlighting.
+
+- **listbas** supports OSS BASIC/A+ in addition to Turbo and BXL/BXE.
+
+- **listbas** indents BASIC/A+, Turbo, BXL, and BXE code, just like the
+ actual BASICs do.
+
+- **listbas** doesn't show information about the variables. Use **vxrefbas**\(1)
+ for that.
+
+- **listbas** will not write ATASCII data to your terminal. By default, it
+ converts ATASCII characters into Unicode/UTF-8 characters
+ that won't confuse the terminal. When outputting raw ATASCII (**-a** option),
+ it refuses to run if standard output is a terminal.
+
+- **listbas** only lists line 32768 (the immediate mode command) if
+ specifically asked to do so.
+
+- **listbas** doesn't print a banner on startup.
+
+- **listbas** tells you if the program is protected, and refuses to operate
+ on variable-protected programs. For code-protected programs, it lists
+ the program up to the "poisoned" line (normally the last line).
+
+Terminal Support
+----------------
+
+The color and inverse/bold/underline support assumes your terminal supports
+ANSI/VT220 escape codes... but it does *not* use **curses**\(3X) or
+**terminfo**\(5), or even look at **TERM** in the environment. It just
+blindly emits the escape codes. Likewise, Unicode characters are printed
+in UTF-8 encoding, without actually checking whether the terminal or the
+current locale supports UTF-8.
+
+**listbas** has been tested and is known to work in at least these
+terminals:
+
+ **rxvt-unicode**, aka **urxvt**. This is the terminal the author uses.
+
+ **xterm** - tested frequently. Requires the XTerm.locale resource
+ to be set to **UTF-8** (e.g. in **~/.Xdefaults**\), or the **-lc**
+ and/or **-en UTF-8** command line options.
+
+ **Linux console** - works fine, but good luck finding a font with
+ all the Unicode graphics characters. Better use **-m**.
+
+ **kitty** - very fancy terminal emulator that supports both X11 and
+ Wayland. **listbas** was only tested on X11.
+
+ **xfce4-terminal** - version 0.8.10, with XFCE4 4.16.0.
+
+ **konsole** - the KDE terminal, from KDE 5.90.
+
+ **gnome-terminal** - version 3.43.90.
+
+ **st** - minimal terminal from suckless.org, version 0.9.2.
+
+ **mlterm** - version 3.9.3.
+
+ **kmscon** - version 9.0.0. https://github.com/Aetf/kmscon
+
+ **fbterm** - version 1.8. https://github.com/sfzhi/fbterm
+
+Also, **rxvt** and **aterm** don't support Unicode, but they will
+otherwise work (display color and inverse) with the **-m** or **-d**
+options to **listbas**.
+
+HTML Output
+-----------
+
+I thought about adding an HTML output option, but there's no need: if you want
+a colorful listing of an Atari BASIC program, install **aha**\(1) from
+https://github.com/theZiz/aha (or your distro's package repo) and run
+something like::
+
+ listbas PROGRAM.BAS | aha > program.html
+
+ENVIRONMENT
+===========
+
+**LISTBAS_OPTS**
+ If this environment variable is set, **listbas** parses its value as though
+ the contents were placed on the command line as options, preceding any actual
+ option. Example::
+
+ export LISTBAS_OPTS="-c123456 -d"
+
+ If you place the above line in your shell's startup script, **listbas** will
+ use your custom color scheme, and will default to the "dots" output mode. If
+ you then run **listbas** the **-c** and/or **-x**, **-m** options, the options
+ on the command line will override the environment.
+
+EXIT STATUS
+===========
+
+0 for success, 1 if there was an error reading the input (e.g. file
+not found), or 2 if the input file has invalid tokens (if this
+happens, you will also see a warning about it on stderr).
+
+.. include:: manftr.rst
diff --git a/manftr.rst b/manftr.rst
index 0bcbeb4..877c97f 100644
--- a/manftr.rst
+++ b/manftr.rst
@@ -11,31 +11,38 @@ B. Watson <urchlay@slackware.uk>; Urchlay on irc.libera.chat *##atari*.
SEE ALSO
========
-**a8eol**\(1),
-**a8utf8**\(1),
-**atr2xfd**\(1),
-**atrsize**\(1),
+**a8cat**\(1),
+**a8eol**\(1),
+**a8xd**\(1),
+**atr2xfd**\(1),
+**atrsize**\(1),
**axe**\(1),
-**blob2c**\(1),
-**blob2xex**\(1),
-**cart2xex**\(1),
-**cxrefbas**\(1),
-**dasm2atasm**\(1),
-**dumpbas**\(1),
-**f2toxex**\(1),
-**fenders**\(1),
+**bas2aplus**\(1),
+**blob2c**\(1),
+**blob2xex**\(1),
+**cart2xex**\(1),
+**cxrefbas**\(1),
+**dasm2atasm**\(1),
+**diffbas**\(1),
+**dumpbas**\(1),
+**f2toxex**\(1),
+**fenders**\(1),
+**listbas**\(1),
**protbas**\(1),
-**renumbas**\(1),
-**rom2cart**\(1),
+**renumbas**\(1),
+**rom2cart**\(1),
**unmac65**\(1),
**unprotbas**\(1),
**vxrefbas**\(1),
-**xexamine**\(1),
-**xexcat**\(1),
-**xexsplit**\(1),
+**whichbas**\(1),
+**xex1to2**\(1),
+**xexamine**\(1),
+**xexcat**\(1),
+**xexsplit**\(1),
**xfd2atr**\(1),
**xex**\(5),
-**atascii**\(7).
+**atascii**\(7),
+**fauxtari**\(7).
Any good Atari 8-bit book: *De Re Atari*, *The Atari BASIC Reference
Manual*, the *OS Users' Guide*, *Mapping the Atari*, etc.
diff --git a/mkatables.pl b/mkatables.pl
new file mode 100644
index 0000000..231dcbb
--- /dev/null
+++ b/mkatables.pl
@@ -0,0 +1,161 @@
+#!/usr/bin/perl -w
+
+%atascii = (
+ 0 => "♥",
+ 1 => "┣",
+ 2 => "┃",
+ 3 => "┛",
+ 4 => "┫",
+ 5 => "┓",
+ 6 => "╱",
+ 7 => "╲",
+ 8 => "◢",
+ 9 => "▗",
+ 10 => "◣",
+ 11 => "▝",
+ 12 => "▘",
+ 13 => "▔",
+ 14 => "▁",
+ 15 => "▖",
+ 16 => "♣",
+ 17 => "┏",
+ 18 => "━",
+ 19 => "╋",
+ 20 => "●",
+ 21 => "▄",
+ 22 => "▎",
+ 23 => "┳",
+ 24 => "┻",
+ 25 => "▌",
+ 26 => "┗",
+ 27 => "Ę",
+ 28 => "↑",
+ 29 => "↓",
+ 30 => "←",
+ 31 => "→",
+ 34 => "\\\"",
+ 92 => "\\\\",
+ 96 => "◆",
+ 123 => "♠",
+ 125 => "↰",
+ 126 => "◀",
+ 127 => "▶",
+);
+
+%xl = (
+ 0 => "á",
+ 1 => "ù",
+ 2 => "Ñ",
+ 3 => "É",
+ 4 => "ç",
+ 5 => "ô",
+ 6 => "ò",
+ 7 => "ì",
+ 8 => "£",
+ 9 => "ï",
+ 10 => "ü",
+ 11 => "ä",
+ 12 => "Ö",
+ 13 => "ú",
+ 14 => "ó",
+ 15 => "ö",
+ 16 => "Ü",
+ 17 => "â",
+ 18 => "û",
+ 19 => "î",
+ 20 => "é",
+ 21 => "è",
+ 22 => "ñ",
+ 23 => "ê",
+ 24 => "ȧ",
+ 25 => "à",
+ 26 => "Ȧ",
+ 27 => "Ę",
+ 28 => "↑",
+ 29 => "↓",
+ 30 => "←",
+ 31 => "→",
+ 34 => "\\\"",
+ 92 => "\\\\",
+ 96 => "¡",
+ 123 => "Ä",
+ 125 => "↰",
+ 126 => "◀",
+ 127 => "▶",
+);
+
+%magazine = (
+ 0 => "{ctrl-,}",
+ 1 => "{ctrl-A}",
+ 2 => "{ctrl-B}",
+ 3 => "{ctrl-C}",
+ 4 => "{ctrl-D}",
+ 5 => "{ctrl-E}",
+ 6 => "{ctrl-F}",
+ 7 => "{ctrl-G}",
+ 8 => "{ctrl-H}",
+ 9 => "{ctrl-I}",
+ 10 => "{ctrl-J}",
+ 11 => "{ctrl-K}",
+ 12 => "{ctrl-L}",
+ 13 => "{ctrl-M}",
+ 14 => "{ctrl-N}",
+ 15 => "{ctrl-O}",
+ 16 => "{ctrl-P}",
+ 17 => "{ctrl-Q}",
+ 18 => "{ctrl-R}",
+ 19 => "{ctrl-S}",
+ 20 => "{ctrl-T}",
+ 21 => "{ctrl-U}",
+ 22 => "{ctrl-V}",
+ 23 => "{ctrl-W}",
+ 24 => "{ctrl-X}",
+ 25 => "{ctrl-Y}",
+ 26 => "{ctrl-Z}",
+ 27 => "{esc}",
+ 28 => "{up}",
+ 29 => "{down}",
+ 30 => "{left}",
+ 31 => "{right}",
+ 34 => "\\\"",
+ 92 => "\\\\",
+ 96 => "{ctrl-.}",
+ 123 => "{ctrl-;}",
+ 125 => "{clear}",
+ 126 => "{bksp}",
+ 127 => "{tab}",
+ # the remaining control characters (with high bit set)
+ # are special-cased in a8cat.c
+);
+
+sub getcharname {
+ my $c = shift;
+ if($c == 127) {
+ return "[del]";
+ } elsif($c < 32) {
+ return "^" . chr($c + 64);
+ } else {
+ return chr($c);
+ }
+}
+
+sub mktable {
+ my ($name, $hash) = @_;
+
+ print "const char *$name\[\] = {\n";
+ for (0..127) {
+ my $cmt = sprintf("/* %3d \$%02x %5s */", $_, $_, getcharname($_));
+ print "\t\"" . ($hash->{$_} || chr($_)), "\", $cmt\n";
+ }
+ print "};\n\n";
+}
+
+print <<EOF;
+/* ATASCII to UTF-8 tables. Generated by mkatables.pl.
+ Do not edit this file; edit mkatables.pl instead. */
+
+EOF
+
+mktable("ata2utf", \%atascii);
+mktable("ics2utf", \%xl);
+mktable("ata2mag", \%magazine);
diff --git a/protbas.1 b/protbas.1
index 9c8b35f..f77ea18 100644
--- a/protbas.1
+++ b/protbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "PROTBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "PROTBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
protbas \- LIST-protect Atari 8-bit BASIC programs
.SH SYNOPSIS
@@ -111,31 +111,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/protbas.c b/protbas.c
index 5b62496..4697fac 100644
--- a/protbas.c
+++ b/protbas.c
@@ -56,41 +56,42 @@ void scramble_vars(void) {
}
}
+CALLBACK(bad_offset) {
+ fprintf(stderr, "%s: program already was code-protected.\n", self);
+ exit(2);
+}
+
+unsigned short last_pos = 0;
+int last_lineno = -1;
+
+CALLBACK(save_linepos) {
+ last_pos = pos;
+ if(lineno == 32768) return;
+ last_lineno = lineno;
+}
+
/* iterate over all the lines, insert a poisoned line 32767 just
before line 32768 */
void breakcode(void) {
- int pos = codestart, oldpos = 0;
- int offset, lineno = -1, tmpno = -1;
-
- while(pos < filelen) {
- lineno = tmpno;
- tmpno = getword(pos);
- if(tmpno == 32768) {
- break;
- } else {
- offset = program[pos + 2];
- if(!offset) {
- fprintf(stderr, "%s: program already was code-protected.\n", self);
- exit(2);
- }
- oldpos = pos;
- pos += offset;
- }
- }
+ int offset;
+
+ on_start_line = save_linepos;
+ on_bad_line_length = bad_offset;
+ walk_all_code();
- if(!oldpos) die("Can't protect code because there are no lines of code.");
- if(lineno == 32767) die("Can't protect code because there is already a line 32767.");
+ if(last_lineno == -1) die("Can't protect code because there are no lines of code.");
+ if(last_lineno == 32767) die("Can't protect code because there is already a line 32767.");
- /* pos is now the start of line 32768, move it up to make room for
+ /* last_pos is now the start of line 32768, move it up to make room for
the new line */
offset = sizeof(badcode);
- memmove(program + pos + offset, program + pos, filelen);
+ memmove(program + last_pos + offset, program + last_pos, filelen);
/* insert new line */
- memmove(program + pos, badcode, offset);
+ memmove(program + last_pos, badcode, offset);
if(verbose)
- fprintf(stderr, "Inserted line 32767 with invalid offset at file offset $%04x.\n", pos);
+ fprintf(stderr, "Inserted line 32767 with invalid offset at file offset $%04x.\n", last_pos);
/* update pointers that would be affected by the code move */
stmcur += offset;
@@ -101,14 +102,14 @@ void breakcode(void) {
}
void print_help(void) {
- fprintf(stderr, "Usage: %s [-v] [-nc|-nv] [-s] [-x[r|NN]] <inputfile> <outputfile>\n", self);
- fprintf(stderr, " -v: Verbose.\n");
- fprintf(stderr, " -nc: Don't protect code.\n");
- fprintf(stderr, " -nv: Don't protect variable names.\n");
- fprintf(stderr, " -s: Shrink variable name table to min size.\n");
- fprintf(stderr, "-xNN: Hex code NN for variable names.\n");
- fprintf(stderr, " -xr: Random variable names.\n");
- fprintf(stderr, "Use - as a filename to read from stdin and/or write to stdout.\n");
+ printf("Usage: %s [-v] [-nc|-nv] [-s] [-x[r|NN]] <inputfile> <outputfile>\n", self);
+ printf(" -v: Verbose.\n");
+ printf(" -nc: Don't protect code.\n");
+ printf(" -nv: Don't protect variable names.\n");
+ printf(" -s: Shrink variable name table to min size.\n");
+ printf("-xNN: Hex code NN for variable names.\n");
+ printf(" -xr: Random variable names.\n");
+ printf("Use - as a filename to read from stdin and/or write to stdout.\n");
}
void parse_args(int argc, char **argv) {
diff --git a/renumbas.1 b/renumbas.1
index 3252fab..5383f6e 100644
--- a/renumbas.1
+++ b/renumbas.1
@@ -27,12 +27,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "RENUMBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "RENUMBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
renumbas \- Renumber Atari 8-bit BASIC programs
.SH SYNOPSIS
.sp
-renumbas [\fB\-v\fP] [\fB\-s\fP \fIstart\-lineno\fP] [\fB\-i\fP \fIincrement\fP] [\fB\-f\fP \fIfirst\-lineno\fP] \fIinput\-file\fP \fIoutput\-file\fP
+renumbas [\fB\-v\fP] [\fB\-s\fP \fIstart\-lineno\fP] [\fB\-i\fP \fIincrement\fP] [\fB\-f\fP \fIfirst\-lineno\fP] [\fB\-b\fP] \fIinput\-file\fP \fIoutput\-file\fP
.SH DESCRIPTION
.sp
\fBrenumbas\fP reads a tokenized Atari 8\-bit BASIC program and writes a
@@ -86,6 +86,13 @@ Line number increment between successive lines. Default: 10.
.B \fB\-f\fP \fIfirst\-lineno\fP
Line number in original program where renumbering will start. Lines
numbered lower that this will not be renumbered. Default: 0.
+.TP
+.B \fB\-b\fP
+Renumber program backwards (line numbers in descending
+order). This option is completely useless, but exists for testing
+purposes. Programs renumbered this way won\(aqt \fIRUN\fP correctly,
+although they will \fILOAD\fP and \fILIST\fP\&. When using this option, set
+\fB\-s\fP to a higher number than the default.
.UNINDENT
.SS General Options
.INDENT 0.0
@@ -166,31 +173,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/renumbas.c b/renumbas.c
index ba26289..6f4f51e 100644
--- a/renumbas.c
+++ b/renumbas.c
@@ -13,13 +13,15 @@ unsigned short startlineno = 10;
unsigned short increment = 10;
unsigned short limit = 0;
unsigned short newno;
+int backwards = 0;
void print_help(void) {
- fprintf(stderr, "Usage: %s [-v] [-s start-lineno] [-i increment] [-f first-lineno] <inputfile> <outputfile>\n", self);
- fprintf(stderr, " -v: Verbose.\n");
- fprintf(stderr, " -s <num>: Starting line number (default: 10).\n");
- fprintf(stderr, " -i <num>: Increment (default: 10).\n");
- fprintf(stderr, " -f <num>: Don't renumber lines less than <num> (default: 0).\n");
+ printf("Usage: %s [-v] [-s start-lineno] [-i increment] [-f first-lineno] <inputfile> <outputfile>\n", self);
+ printf(" -v: Verbose.\n");
+ printf(" -s <num>: Starting line number (default: 10).\n");
+ printf(" -i <num>: Increment (default: 10).\n");
+ printf(" -f <num>: Don't renumber lines less than <num> (default: 0).\n");
+ printf(" -b: Number backwards (creates invalid program).\n");
}
unsigned short getlineno(char opt, const char *arg) {
@@ -46,9 +48,10 @@ unsigned short getlineno(char opt, const char *arg) {
void parse_args(int argc, char **argv) {
int opt;
- while( (opt = getopt(argc, argv, "vs:i:f:")) != -1) {
+ while( (opt = getopt(argc, argv, "vbs:i:f:")) != -1) {
switch(opt) {
- case 'v': verbose = 1; break;
+ case 'v': verbose = 1; break;
+ case 'b': backwards = 1; break;
case 's': startlineno = getlineno(opt, optarg); break;
case 'i': increment = getlineno(opt, optarg); break;
case 'f': limit = getlineno(opt, optarg); break;
@@ -86,7 +89,17 @@ CALLBACK(renumber_line) {
for(i = 0; i < refcounts[lineno]; i++)
memmove(program + linerefs[lineno][i].pos, fpnewno, 6);
setword(pos, newno);
- newno += increment;
+
+ if(backwards) {
+ if(newno < increment) {
+ fprintf(stderr, "%s: Fatal: New line number %d would be <0.\n", self, newno);
+ exit(1);
+ } else {
+ newno -= increment;
+ }
+ } else {
+ newno += increment;
+ }
}
void check_refs(void) {
diff --git a/renumbas.rst b/renumbas.rst
index f71bf01..a442ccb 100644
--- a/renumbas.rst
+++ b/renumbas.rst
@@ -10,7 +10,7 @@ Renumber Atari 8-bit BASIC programs
SYNOPSIS
========
-renumbas [**-v**] [**-s** *start-lineno*] [**-i** *increment*] [**-f** *first-lineno*] *input-file* *output-file*
+renumbas [**-v**] [**-s** *start-lineno*] [**-i** *increment*] [**-f** *first-lineno*] [**-b**] *input-file* *output-file*
DESCRIPTION
===========
@@ -68,6 +68,13 @@ Renumber Options
Line number in original program where renumbering will start. Lines
numbered lower that this will not be renumbered. Default: 0.
+**-b**
+ Renumber program backwards (line numbers in descending
+ order). This option is completely useless, but exists for testing
+ purposes. Programs renumbered this way won't *RUN* correctly,
+ although they will *LOAD* and *LIST*. When using this option, set
+ **-s** to a higher number than the default.
+
.. include:: genopts.rst
DIAGNOSTICS
diff --git a/rom2cart.1 b/rom2cart.1
index ebd838f..832c737 100644
--- a/rom2cart.1
+++ b/rom2cart.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "ROM2CART" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ROM2CART" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
rom2cart \- Convert a raw ROM image to an Atari800 CART image, or vice versa
.\" RST source for rom2cart(1) man page. Convert with:
@@ -239,31 +239,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/tokens.c b/tokens.c
new file mode 100644
index 0000000..675d220
--- /dev/null
+++ b/tokens.c
@@ -0,0 +1,135 @@
+const char *commands[] = {
+ "REM", /* $00 */
+ "DATA",
+ "INPUT",
+ "COLOR",
+ "LIST", /* $04 */
+ "ENTER",
+ "LET",
+ "IF",
+ "FOR", /* $08 */
+ "NEXT",
+ "GOTO",
+ "GO TO",
+ "GOSUB", /* $0C */
+ "TRAP",
+ "BYE",
+ "CONT",
+ "COM", /* $10 */
+ "CLOSE",
+ "CLR",
+ "DEG",
+ "DIM", /* $14 */
+ "END",
+ "NEW",
+ "OPEN",
+ "LOAD", /* $18 */
+ "SAVE",
+ "STATUS",
+ "NOTE",
+ "POINT", /* $1C */
+ "XIO",
+ "ON",
+ "POKE",
+ "PRINT", /* $20 */
+ "RAD",
+ "READ",
+ "RESTORE",
+ "RETURN", /* $24 */
+ "RUN",
+ "STOP",
+ "POP",
+ "?", /* $28 */
+ "GET",
+ "PUT",
+ "GRAPHICS",
+ "PLOT", /* $2C */
+ "POSITION",
+ "DOS",
+ "DRAWTO",
+ "SETCOLOR", /* $30 */
+ "LOCATE",
+ "SOUND",
+ "LPRINT",
+ "CSAVE", /* $34 */
+ "CLOAD",
+ "", /* $36, implied LET */
+ "ERROR- " /* $37 */
+};
+
+const unsigned short last_command = (sizeof(commands) / sizeof(char *)) - 1;
+
+const char *operators[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,
+ ",", /* $12 */
+ "$",
+ ":", /* $14, named OP_COLON and OP_EOS in bas.h */
+ ";",
+ "", /* $16, EOL */
+ " GOTO ",
+ " GOSUB ", /* $18 */
+ " TO ",
+ " STEP ",
+ " THEN ",
+ "#", /* $1C */
+ "<=",
+ "<>",
+ ">=",
+ "<", /* $20 */
+ ">",
+ "=",
+ "^",
+ "*", /* $24 */
+ "+",
+ "-",
+ "/",
+ " NOT ", /* $28 */
+ " OR ",
+ " AND ",
+ "(",
+ ")",
+ "=",
+ "=",
+ "<=",
+ "<>", /* $30 */
+ ">=",
+ "<",
+ ">",
+ "=", /* $34 */
+ "+",
+ "-",
+ "(",
+ "", /* $38, redundant "(" for arrays */
+ "", /* $39, ditto for strings */
+ "(",
+ "(",
+ ",", /* $3C */
+ "STR$",
+ "CHR$",
+ "USR",
+ "ASC", /* $40 */
+ "VAL",
+ "LEN",
+ "ADR",
+ "ATN", /* $44 */
+ "COS",
+ "PEEK",
+ "SIN",
+ "RND", /* $48 */
+ "FRE",
+ "EXP",
+ "LOG",
+ "CLOG", /* $4C */
+ "SQR",
+ "SGN",
+ "ABS",
+ "INT", /* $50 */
+ "PADDLE",
+ "STICK",
+ "PTRIG",
+ "STRIG" /* $54 */
+};
+
+const unsigned short last_operator = (sizeof(operators) / sizeof(char *)) - 1;
diff --git a/tokens.h b/tokens.h
new file mode 100644
index 0000000..265122e
--- /dev/null
+++ b/tokens.h
@@ -0,0 +1,4 @@
+extern const char *commands[];
+extern const char *operators[];
+extern const unsigned short last_command;
+extern const unsigned short last_operator;
diff --git a/turbo_tokens.c b/turbo_tokens.c
new file mode 100644
index 0000000..2278e21
--- /dev/null
+++ b/turbo_tokens.c
@@ -0,0 +1,82 @@
+/* these start at token 0x38 */
+const char *turbo_cmds[] = {
+ "DPOKE", /* $38 */
+ "MOVE",
+ "-MOVE",
+ "*F",
+ "REPEAT",
+ "UNTIL",
+ "WHILE",
+ "WEND",
+ "ELSE", /* $40 */
+ "ENDIF",
+ "BPUT",
+ "BGET",
+ "FILLTO",
+ "DO",
+ "LOOP",
+ "EXIT",
+ "DIR", /* $48 */
+ "LOCK",
+ "UNLOCK",
+ "RENAME",
+ "DELETE",
+ "PAUSE",
+ "TIME$=",
+ "PROC",
+ "EXEC", /* $50 */
+ "ENDPROC",
+ "FCOLOR",
+ "*L",
+ "------------------------------",
+ "RENUM",
+ "DEL",
+ "DUMP",
+ "TRACE", /* $58 */
+ "TEXT",
+ "BLOAD",
+ "BRUN",
+ "GO#",
+ "#",
+ "*B",
+ "PAINT",
+ "CLS", /* $58 */
+ "DSOUND",
+ "CIRCLE",
+ "%PUT",
+ "%GET" /* $64 */
+};
+
+const int turbo_cmd_size = sizeof(turbo_cmds);
+
+/* these start at token 0x55 */
+const char *turbo_ops[] = {
+ "DPEEK", /* $55 */
+ "&",
+ "!",
+ "INSTR", /* $58 */
+ "INKEY$",
+ " EXOR ",
+ "HEX$",
+ "DEC",
+ " DIV ",
+ "FRAC",
+ "TIME$",
+ "TIME", /* $60 */
+ " MOD ",
+ " EXEC ",
+ "RND",
+ "RAND",
+ "TRUNC",
+ "%0",
+ "%1",
+ "%2", /* $68 */
+ "%3",
+ " GO# ",
+ "UINSTR",
+ "ERR",
+ "ERL", /* $6D */
+};
+
+const int turbo_ops_size = sizeof(turbo_ops);
+
diff --git a/turbo_tokens.h b/turbo_tokens.h
new file mode 100644
index 0000000..3cb83ec
--- /dev/null
+++ b/turbo_tokens.h
@@ -0,0 +1,5 @@
+extern const char *turbo_cmds[];
+extern const int turbo_cmd_size;
+
+extern const char *turbo_ops[];
+extern const int turbo_ops_size;
diff --git a/unmac65.1 b/unmac65.1
index a311eab..8071e7a 100644
--- a/unmac65.1
+++ b/unmac65.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "UNMAC65" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "UNMAC65" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
unmac65 \- Detokenize Atari 8-bit Mac/65 SAVEd files.
.\" RST source for unmac65(1) man page. Convert with:
@@ -371,31 +371,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/unprotbas.1 b/unprotbas.1
index c12345d..da34f2b 100644
--- a/unprotbas.1
+++ b/unprotbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "UNPROTBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "UNPROTBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
unprotbas \- Unprotect LIST-protected Atari 8-bit BASIC programs
.SH SYNOPSIS
@@ -338,31 +338,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/unprotbas.c b/unprotbas.c
index 5bde236..f7007fc 100644
--- a/unprotbas.c
+++ b/unprotbas.c
@@ -52,7 +52,7 @@ int writemap = 0;
2 09 line length (or, offset to next line) [!]
3 06 offset to next statement *from the start of the line*
4 28 token for "?"
- 5 14 token for : (end of statement), we call it TOK_COLON
+ 5 14 token for : (end of statement), we call it OP_COLON
6 09 offset to next statement [!]
7 15 token for END
8 16 token for end-of-line [*]
@@ -71,7 +71,7 @@ int fixline(int linepos) {
/* +3 here to skip the line number + line length */
int offset = program[linepos + 3];
- while(program[linepos + offset - 1] == TOK_COLON)
+ while(program[linepos + offset - 1] == OP_COLON)
offset = program[linepos + offset];
program[linepos + 2] = offset;
@@ -97,7 +97,7 @@ int fixcode(void) {
/* fprintf(stderr, "pos %d, line #%d, offset %d\n", pos, lineno, offset); */
if(offset < 6) {
if(verbose) fprintf(stderr, "Found invalid offset %d (<6) at line %d, file offset $%04x.\n", offset, lineno, pos);
- offset += fixline(pos);
+ offset = fixline(pos);
result++;
}
pos += offset;
@@ -386,15 +386,15 @@ void apply_var_map(void) {
}
void print_help(void) {
- fprintf(stderr, "Usage: %s [-v] [-f] [-n] [-g] [-c] [-r|-w] <inputfile> <outputfile>\n", self);
- fprintf(stderr, " -v: Verbose.\n");
- fprintf(stderr, " -f: Force variable name table rebuild.\n");
- fprintf(stderr, " -n: Do not rebuild variable name table, even if it's invalid.\n");
- fprintf(stderr, " -g: Remove trailing garbage, if present.\n");
- fprintf(stderr, " -c: Check only; no output file.\n");
- fprintf(stderr, " -w: Write variable names to 'varnames.txt'.\n");
- fprintf(stderr, " -r: Read variable names from 'varnames.txt'.\n");
- fprintf(stderr, "Use - as a filename to read from stdin and/or write to stdout.\n");
+ printf("Usage: %s [-v] [-f] [-n] [-g] [-c] [-r|-w] <inputfile> <outputfile>\n", self);
+ printf(" -v: Verbose.\n");
+ printf(" -f: Force variable name table rebuild.\n");
+ printf(" -n: Do not rebuild variable name table, even if it's invalid.\n");
+ printf(" -g: Remove trailing garbage, if present.\n");
+ printf(" -c: Check only; no output file.\n");
+ printf(" -w: Write variable names to 'varnames.txt'.\n");
+ printf(" -r: Read variable names from 'varnames.txt'.\n");
+ printf("Use - as a filename to read from stdin and/or write to stdout.\n");
}
void parse_args(int argc, char **argv) {
diff --git a/vxrefbas.1 b/vxrefbas.1
index 10fd8cc..e108ec9 100644
--- a/vxrefbas.1
+++ b/vxrefbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "VXREFBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "VXREFBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
vxrefbas \- Variable cross-reference for tokenized Atari 8-bit BASIC files
.SH SYNOPSIS
@@ -114,31 +114,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/vxrefbas.c b/vxrefbas.c
index c08cb7f..1c4e1ab 100644
--- a/vxrefbas.c
+++ b/vxrefbas.c
@@ -13,7 +13,7 @@ unsigned char last_cmd = 0;
int refcounts[128];
void print_help(void) {
- fprintf(stderr, "Usage: %s [-v] program.bas\n", self);
+ printf("Usage: %s [-v] program.bas\n", self);
exit(0);
}
diff --git a/whichbas.1 b/whichbas.1
new file mode 100644
index 0000000..b34c8fc
--- /dev/null
+++ b/whichbas.1
@@ -0,0 +1,280 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "WHICHBAS" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.SH NAME
+whichbas \- Determine BASIC variant of a tokenized Atari 8-bit program
+.SH SYNOPSIS
+.sp
+whichbas [\-v] \fIinput\-file\fP [\fIinput\-file\fP ...]
+.SH DESCRIPTION
+.sp
+\fBwhichbas\fP reads tokenized Atari 8\-bit BASIC, Turbo BASIC,
+BASIC XL, BASIC XE, BASIC/A+, or Atari Microsoft BASIC programs and attempts to
+discover which BASIC is required to run each one.
+.sp
+\fIinput\-file\fPs must be actual files. \fBwhichbas\fP can\(aqt read from
+standard input, because it seeks in the input file.
+.sp
+With multiple \fIinput\-file\fPs, the output is one line per file,
+with the filename, a tab, and the detected BASIC. With only one
+\fIinput\-file\fP, the filename and tab are not printed.
+.SH OPTIONS
+.sp
+\fINote\fP: none of the options \fB\-s\fP \fB\-k\fP \fB\-v\fP are allowed
+when checking multiple files; they only work if there\(aqs just one
+\fIinput\-file\fP argument.
+.SS Detection Options
+.INDENT 0.0
+.TP
+.B \fB\-s\fP
+Script (or silent) mode. Instead of printing a human\-readable
+name like "Turbo BASIC XL" or "OSS BASIC XE" to stdout, \fBwhichbas\fP
+will print nothing on standard output, but will exit with a status
+indicating what it detected. The caller can check the return status
+(e.g. the \fB$?\fP variable in Bourne/POSIX shells, or \fBERRORLEVEL\fP
+in MS\-DOS or Windows). See \fBEXIT STATUS\fP, below.
+.TP
+.B \fB\-k\fP
+Keep going. The default is to stop looking at the program if the
+BASIC type gets narrowed down to either Turbo BASIC or BASIC XE.
+This option also enables \fB\-v\fP (verbose). It\(aqs really only useful
+for testing, if you\(aqre hacking on \fBwhichbas\fP itself.
+.UNINDENT
+.SS General Options
+.INDENT 0.0
+.TP
+.B \fB\-\-help\fP
+Print usage message and exit.
+.TP
+.B \fB\-\-version\fP
+Print version number and exit.
+.TP
+.B \fB\-v\fP
+Verbose operation. When displaying a number in verbose mode, it will
+be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
+.UNINDENT
+.SH NOTES
+.sp
+Atari BASIC programs are detected \fIalmost\fP 100% reliably. See \fBBUGS\fP, below,
+for the gory details.
+.sp
+Turbo BASIC, BASIC XL, and BASIC XE are all supersets of Atari BASIC.
+If you wrote a program using one of them, but didn\(aqt use any of the
+extra commands or functions, the result is still an Atari BASIC program.
+Likewise, if you wrote a program using BASIC XE, but only used the
+commands/functions it has in common with BASIC XL, it would be
+detected as BASIC XL.
+.sp
+There are two types of BASIC XE programs: regular and \fIEXTEND\fPed. The
+extended type is detected 100% reliably, because the first byte of the
+file changes from \fB$00\fP to \fB$DD\fP\&. Non\-extended programs are only
+identified as BASIC XE if they use any of the extra commands BASIC XE
+adds to those found in BASIC XL.
+.sp
+Detection of Turbo vs. BXL/BXE isn\(aqt 100% reliable, and probably
+never will be. There\(aqs too much overlap between the sets of extra
+tokens added by each. Programs that don\(aqt use very many of the extra
+functions provided by Turbo/BXL/BXE may show up as "Either Turbo BASIC XL
+or OSS BASIC XL".
+.sp
+Atari Microsoft BASIC is detected by checking that:
+.INDENT 0.0
+.INDENT 3.5
+.INDENT 0.0
+.IP \(bu 2
+the first byte of the file is \fB$00\fP\&.
+.IP \(bu 2
+the next 2 bytes (LSB/MSB) are the same as the actual file length minus 3.
+.IP \(bu 2
+the last 3 bytes of the file are zero.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+This may result in false positives (files that aren\(aqt BASIC programs at
+all might show up as Microsoft). Also, no distinction is made between
+Atari MS BASIC 1.0 and 2.0.
+.sp
+OSS BASIC/A+ is an extended form of Atari BASIC. It\(aqs source
+compatible with Atari BASIC, but not token\-compatible because it uses
+different token numbers for the regular BASIC commands and operators.
+Example: SAVE is token \fB$19\fP in Atari BASIC (also Turbo/BXL/BXE),
+but in A+ it\(aqs token \fB$1D\fP\&. Detection should be 100% reliable, but
+since there aren\(aqt many BASIC/A+ programs in the wild, it hasn\(aqt been
+thoroughly tested.
+.sp
+Various non\-BASIC files are detected (including Mac/65 source,
+ELF binaries, etc) as a convenience, but I wouldn\(aqt rely on
+\fBwhichbas\fP\(aqs non\-BASIC file type detection if I were you.
+If you need the \fBfile\fP(1) command, use it.
+.sp
+\fBwhichbas\fP knows nothing about other BASICs such as Frost BASIC or
+Altirra BASIC.
+.sp
+When using multiple \fIinput\-file\fP arguments, a separate instance of
+\fBwhichbas\fP is spawned for each file. This isn\(aqt the most efficient
+approach, but it shouldn\(aqt cause problems on reasonably modern
+systems.
+.SH BUGS
+.SS Misdetection
+.sp
+It\(aqs possible to get a BASIC XL/XE program to misdetect as Atari BASIC
+by writing a program that does these things:
+.INDENT 0.0
+.INDENT 3.5
+.INDENT 0.0
+.IP \(bu 2
+Dimension a string array with a number of elements that isn\(aqt just a
+numeric constant or numeric variable (e.g. \fIDIM A$(2+2,10)\fP or
+\fIDIM A$(I*2,10)\fP). The code that detects a string array \fIDIM\fP command
+can only handle simple cases like \fIDIM A$(10,10)\fP or \fIDIM A$(I,10)\fP\&.
+It doesn\(aqt actually matter if the 2nd argument is a fancy expression,
+though.
+.IP \(bu 2
+Does \fInot\fP actually \fIuse\fP the string array variable by assigning to
+it or reading a value from it. String array accesses in BASIC XL/XE
+are reliably detected because they require a semicolon after the
+first number, even if there isn\(aqt a 2nd number. Example: \fI? A$(2;)\fP
+prints the 2nd element of the \fIA$\fP string array. If it were written
+as \fI? A$(2)\fP, but \fIA$\fP is a string array (not a regular string),
+BASIC XL/XE would give an \fIError 40\fP (string type mismatch) at
+runtime.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+The good news is, such a program will still work fine in Atari BASIC.
+Atari BASIC will dimension it as a regular string variable and ignore
+the 2nd dimension. Since it\(aqs not actually used elsewhere in the program,
+it doesn\(aqt hurt anything.
+.SH EXIT STATUS
+.sp
+Without the \fB\-s\fP option, exit status is 0 for success, non\-zero for
+failure.
+.sp
+With the \fB\-s\fP option, the exit status is:
+.INDENT 0.0
+.TP
+.B \fB0\fP
+Not used with \fB\-s\fP\&.
+.TP
+.B \fB1\fP or \fB2\fP
+Error reading file. Error message will be printed on standard error.
+.TP
+.B \fB3\fP
+Atari BASIC detected.
+.TP
+.B \fB4\fP
+Turbo BASIC detected.
+.TP
+.B \fB5\fP
+OSS BASIC XL detected.
+.TP
+.B \fB6\fP
+Non\-EXTENDed OSS BASIC XE detected.
+.TP
+.B \fB7\fP
+Turbo BASIC or BASIC XL (undecided which).
+.TP
+.B \fB8\fP
+Turbo BASIC or non\-EXTENDed BASIC XE (undecided which).
+.TP
+.B \fB9\fP
+Turbo BASIC, BASIC XL, or non\-EXTENDed BASIC XE (undecided which).
+.TP
+.B \fB10\fP
+Unknown Atari BASIC derivative (not Atari BASIC, but not
+Turbo/BXL/BXE/A+ either).
+.TP
+.B \fB11\fP
+Atari Microsoft BASIC detected.
+.TP
+.B \fB12\fP
+EXTENDed OSS BASIC XE detected.
+.TP
+.B \fB13\fP
+Compiled Turbo BASIC detected.
+.TP
+.B \fB14\fP
+OSS BASIC/A+ detected.
+.TP
+.B \fB64\fP
+None of the above; not BASIC.
+.UNINDENT
+.sp
+In the future, more exit codes may be defined (in the range \fB15\fP to
+\fB63\fP), but the existing ones will not change.
+.SH COPYRIGHT
+.sp
+WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
+.SH AUTHOR
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fBa8cat\fP(1),
+\fBa8eol\fP(1),
+\fBa8xd\fP(1),
+\fBatr2xfd\fP(1),
+\fBatrsize\fP(1),
+\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
+\fBblob2c\fP(1),
+\fBblob2xex\fP(1),
+\fBcart2xex\fP(1),
+\fBcxrefbas\fP(1),
+\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
+\fBdumpbas\fP(1),
+\fBf2toxex\fP(1),
+\fBfenders\fP(1),
+\fBlistbas\fP(1),
+\fBprotbas\fP(1),
+\fBrenumbas\fP(1),
+\fBrom2cart\fP(1),
+\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
+\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
+\fBxexamine\fP(1),
+\fBxexcat\fP(1),
+\fBxexsplit\fP(1),
+\fBxfd2atr\fP(1),
+\fBxex\fP(5),
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
+.sp
+Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
+Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
+.\" Generated by docutils manpage writer.
+.
diff --git a/whichbas.c b/whichbas.c
new file mode 100644
index 0000000..9f7f6db
--- /dev/null
+++ b/whichbas.c
@@ -0,0 +1,1255 @@
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <time.h>
+#include <sys/wait.h>
+
+#include "bas.h"
+#include "whichbas.h"
+
+#define BT_INVALID 0
+#define BT_ATARI 1
+#define BT_TURBO 2
+#define BT_BXL 4
+#define BT_BXE 8
+
+#define BT_BXL_BXE (BT_BXL | BT_BXE)
+
+int bas_type = 0x0f; /* start out with all enabled */
+
+int script_mode = 0; /* -s flag */
+int script_ret; /* -s mode, exit with one of SRET_* from whichbas.h as status */
+
+int keep_going = 0; /* -k flag */
+
+int comma_count; /* count of regular commas (not string/array) in statement */
+unsigned char last_cmd;
+unsigned char last_op_tok;
+unsigned short last_cmd_pos;
+
+void print_help(void) {
+ printf("Usage: %s [-v] [-h] [-k] [-s] <inputfile> ...\n", self);
+}
+
+int child_errs = 0;
+
+/* return true if the child ran and returned 0 (success) */
+int spawn_child(const char **args) {
+ pid_t pid, status;
+ int wstatus;
+
+ pid = fork();
+ if(pid == -1) {
+ perror("fork()");
+ die("Can't spawn child process");
+ } else if(pid) {
+ /* we are the parent */
+ status = waitpid(pid, &wstatus, 0);
+ if(status < 0) {
+ perror("waitpid()");
+ die("Child process went south");
+ }
+ if(! (WIFEXITED(wstatus) && WEXITSTATUS(wstatus) == 0) ) {
+ child_errs++;
+ return 0;
+ }
+ } else {
+ /* we are the child */
+ if(execv(args[0], (char * const *)args) < 0) {
+ perror("exec()");
+ exit(1);
+ }
+ }
+
+ return 1;
+}
+
+/* this is not the ideal way to handle multiple files. it forks a new
+ process for each one. however, I embedded a bunch of die() calls
+ in bas.c, thinking I'd never use some of the functions more than once
+ in the same run. what I get for trying to KISS... */
+void multiple_files(const char *argv0, char **list) {
+ const char *args[5]; /* 5 because eventually we include -k and/or -v */
+ int kidstat;
+
+ /* this isn't needed for things to work, but if I write buggy code,
+ it avoids a forkbomb. */
+ setenv("WHICHBAS_MULTI_PARANOIA", "1", 1);
+
+ args[0] = argv0;
+ args[2] = NULL;
+
+ while(*list) {
+ args[1] = *list;
+ printf("%s:\t", *list);
+ fflush(stdout);
+ kidstat = spawn_child(args);
+ if(!kidstat) puts("(detection failed)");
+ fflush(stdout);
+ list++;
+ }
+
+ if(child_errs) {
+ fprintf(stderr, "%s: exiting with error status because some files failed.\n", self);
+ exit(1);
+ } else {
+ exit(0);
+ }
+}
+
+void parse_args(int argc, char **argv) {
+ int opt;
+
+ while( (opt = getopt(argc, argv, "vksh")) != -1) {
+ switch(opt) {
+ case 'v': verbose = 1; break;
+ case 'k': keep_going = verbose = 1; break;
+ case 's': script_mode = 1; break;
+ case 'h': print_help(); exit(0);
+ default:
+ print_help();
+ exit(1);
+ }
+ }
+
+ if(optind >= argc)
+ die("No input file given (and stdin not supported).");
+
+ if(optind == argc - 1) { /* got one filename only */
+ open_input(argv[optind]);
+ if(input_file == stdin)
+ die("Reading from standard input not supported.");
+ } else { /* got multiple filenames */
+ if(keep_going || verbose || script_mode)
+ die("-k, -v, -s not supported with multiple filenames (yet?)");
+ if(getenv("WHICHBAS_MULTI_PARANOIA"))
+ die("BUG: multiple_files() recursion!");
+ multiple_files(argv[0], argv + optind);
+ }
+}
+
+/* don't need this.
+void add_type(int type) {
+ bas_type |= type;
+}
+*/
+
+void print_result(void) {
+ const char *name;
+
+ if(verbose) fprintf(stderr, " final bas_type %02x\n", bas_type);
+
+ if(bas_type == BT_INVALID) {
+ name = "Unknown variant: Not Atari BASIC, Turbo, BXL, or BXE";
+ script_ret = SRET_UKNOWN_DERIV;
+ } else if(bas_type & BT_ATARI) {
+ name = "Atari BASIC";
+ script_ret = SRET_ATARI;
+ } else if(bas_type & BT_TURBO) {
+ if(bas_type & BT_BXL) {
+ name = "Either Turbo BASIC XL or OSS BASIC XL";
+ script_ret = SRET_TURBO_OR_BXL;
+ } else if(bas_type & BT_BXE) {
+ name = "Either Turbo BASIC XL or OSS BASIC XE";
+ script_ret = SRET_TURBO_OR_BXE;
+ } else { /* bas_type == BT_TURBO */
+ name = "Turbo BASIC XL";
+ script_ret = SRET_TURBO;
+ }
+ } else if(bas_type == BT_BXL || bas_type == (BT_BXL | BT_BXE)) {
+ name = "OSS BASIC XL";
+ script_ret = SRET_BXL;
+ } else if(bas_type == BT_BXE) {
+ name = "OSS BASIC XE";
+ script_ret = SRET_BXE;
+ } else {
+ /* this one should never happen: */
+ name = "Either Turbo BASIC XL, OSS BASIC XL, or OSS BASIC XE";
+ script_ret = SRET_TURBO_OR_BXL_OR_BXE;
+ }
+
+ if(script_mode) {
+ exit(script_ret);
+ } else {
+ puts(name);
+ exit(0);
+ }
+}
+
+/* return true if a token is numeric constant
+ (including TB/BXE/BXL hex) */
+int is_numconst_op(unsigned char tok) {
+ switch(tok) {
+ case OP_NUMCONST:
+ case OP_HEXCONST:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+/* return true if a token is a function that *returns*
+ a numeric value (says nothing about the argument types,
+ though!) */
+int is_numeric_func(unsigned char tok) {
+ switch(tok) {
+ case OP_FUNC_USR:
+ case OP_FUNC_ASC:
+ case OP_FUNC_VAL:
+ case OP_FUNC_LEN:
+ case OP_FUNC_ADR:
+ case OP_FUNC_ATN:
+ case OP_FUNC_COS:
+ case OP_FUNC_PEEK:
+ case OP_FUNC_SIN:
+ case OP_FUNC_RND:
+ case OP_FUNC_FRE:
+ case OP_FUNC_EXP:
+ case OP_FUNC_LOG:
+ case OP_FUNC_CLOG:
+ case OP_FUNC_SQR:
+ case OP_FUNC_SGN:
+ case OP_FUNC_ABS:
+ case OP_FUNC_INT:
+ case OP_FUNC_PADDLE:
+ case OP_FUNC_STICK:
+ case OP_FUNC_PTRIG:
+ case OP_FUNC_STRIG:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+/* return true if a token is an arithmetic operator */
+int is_arith_op(unsigned char tok) {
+ switch(tok) {
+ case OP_UPLUS: /* not sure these two... */
+ case OP_UMINUS: /* ...really belong here */
+ case OP_NUM_LE:
+ case OP_NUM_NE:
+ case OP_NUM_GE:
+ case OP_NUM_LT:
+ case OP_NUM_GT:
+ case OP_NUM_EQ:
+ case OP_POWER:
+ case OP_MULT:
+ case OP_PLUS:
+ case OP_MINUS:
+ case OP_DIVIDE:
+ case OP_NOT:
+ case OP_OR:
+ case OP_AND:
+ case OP_NUM_ASSIGN:
+ case OP_GRP_LPAR: /* yes, this belongs here, (((A$))) is a syntax error! */
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+int is_numeric_var(unsigned char tok) {
+ int vartype;
+
+ if(tok < 0x80)
+ return 0;
+
+ vartype = get_vartype(tok);
+ return (vartype == TYPE_SCALAR || vartype == TYPE_ARRAY);
+}
+
+/* return true if a token is:
+ - a numeric constant (including hex constants),
+ - a numeric variable (including arrays),
+ - a function that returns a numeric (e.g. ASC(), SIN()).
+ for now, only standard Atari BASIC tokens are considered.
+ unary minus and plus make sense here, but binary ops don't.
+ */
+int is_numeric_rval(unsigned char tok) {
+ return
+ (tok == OP_UMINUS) ||
+ (tok == OP_UPLUS) ||
+ is_numconst_op (tok) ||
+ is_numeric_func (tok) ||
+ is_numeric_var (tok) ;
+}
+
+/* return true if a token is:
+ - a numeric constant (including hex constants),
+ - a numeric variable (including arrays),
+ - a math operator (plus, minus, etc),
+ - a function that returns a numeric (e.g. ASC(), SIN()).
+ for now, only standard Atari BASIC tokens are considered.
+ */
+int is_numeric_op(unsigned char tok) {
+ return
+ is_numeric_rval (tok) ||
+ is_arith_op (tok) ;
+}
+
+int is_string_var(unsigned char tok) {
+ return (tok >= 0x80 && (get_vartype(tok) == TYPE_STRING));
+}
+
+int is_string_const(unsigned char tok) {
+ return (tok == OP_STRCONST);
+}
+
+int is_string_exp_op(unsigned char tok) {
+ switch(tok) {
+ case OP_STR_ASSIGN:
+ case OP_STR_LE:
+ case OP_STR_NE:
+ case OP_STR_GE:
+ case OP_STR_LT:
+ case OP_STR_GT:
+ case OP_STR_EQ:
+ case OP_STR_LPAR: /* the ( in: A$(1)="A" */
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+int is_string_func(unsigned char tok) {
+ switch(tok) {
+ case OP_FUNC_STR:
+ case OP_FUNC_CHR:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+/* return true if a token is:
+ - a string constant,
+ - a string variable,
+ - a function that returns a string.
+*/
+int is_string_rval(unsigned char tok) {
+ return
+ is_string_const (tok) ||
+ is_string_func (tok) ||
+ is_string_var (tok) ;
+}
+
+/* return true if a token is:
+ - a string constant,
+ - a string variable,
+ - a string expression operator, like OP_STR_LE,
+ - a function that returns a string.
+*/
+int is_string_op(unsigned char tok) {
+ return
+ is_string_rval (tok) ||
+ is_string_exp_op (tok) ;
+}
+
+/* true if an operator token is a string function in BASIC XL (or XE).
+ these tokens are all numeric functions in Turbo, so be sure you
+ know what you're doing! */
+int is_bxl_string_func(unsigned char tok) {
+ switch(tok) {
+ case 0x5c: /* BXL HEX$, Turbo DEC */
+ case 0x66: /* BXL LEFT$, Turbo %0 */
+ case 0x67: /* BXL RIGHT$, Turbo %1 */
+ case 0x68: /* BXL MID$, Turbo %2 */
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+void remove_type(int type) {
+ bas_type &= ((~type) & 0x0f);
+
+ if(keep_going) return;
+
+ /* without -k, stop if it gets narrowed down to one of these 4. */
+ if(bas_type == BT_ATARI || bas_type == BT_TURBO || bas_type == BT_BXE || bas_type == BT_BXL)
+ print_result();
+}
+
+void set_type(int type) {
+ bas_type = type;
+ if(!keep_going) print_result();
+}
+
+CALLBACK(handle_cmd) {
+ int has_args = 0, has_var_arg = 0, vartype = -1;
+ unsigned char nexttok;
+
+ last_cmd = tok;
+ last_cmd_pos = pos;
+ comma_count = 0;
+
+ if(verbose) fprintf(stderr, "handle_cmd: lineno %d, tok $%02x, bas_type was %02x\n", lineno, tok, bas_type);
+
+ nexttok = program[pos + 1];
+ has_args = !(nexttok == OP_EOS || nexttok == OP_EOL);
+ if(nexttok >= 0x80) {
+ has_var_arg = 1;
+ vartype = get_vartype(nexttok);
+ }
+
+ /* this switch is for tokens that are the same in Atari/Turbo/BXL/BXE, but with
+ different semantics. non-Atari-BASIC tokens go in the switch below, not
+ this one. */
+ switch(tok) {
+ /* TB uses the same token for CLOSE as Atari and BXL/BXE, but it allows
+ it to have no argument (meaning, close all IOCBs). SOUND is the same
+ (no args = silence all POKEY channels). */
+ case CMD_CLOSE:
+ case CMD_SOUND:
+ if(!has_args) {
+ set_type(BT_TURBO);
+ }
+ break;
+ case CMD_INPUT:
+ /* TB, BXL, BXE all support INPUT "Prompt",VAR with the same tokenized
+ form. Atari BASIC doesn't allow string constants in INPUT args. */
+ if(has_args) {
+ if(nexttok == OP_STRCONST) {
+ int pos_after_string;
+ remove_type(BT_ATARI);
+ /* TB only: INPUT "Prompt";VAR is also supported (not in BXL/BXE) */
+ pos_after_string = pos + 3 + program[pos + 2];
+ if(verbose)
+ fprintf(stderr,
+ "===> INPUT with string prompt at line %d, "
+ "pos %04x, pos_after_string %04x (token %02x)\n",
+ lineno, pos, pos_after_string, program[pos_after_string]);
+ if(program[pos_after_string] == OP_SEMICOLON) {
+ set_type(BT_TURBO);
+ }
+ }
+ } else { /* has_args is false, oh shit! */
+ fprintf(stderr, "*** INPUT without variable at line %d.\n*** Rev A BASIC bug, program will crash, better fix it!\n", lineno);
+ set_type(BT_ATARI);
+ }
+ break;
+ case CMD_GET:
+ case CMD_PUT:
+ /* TB uses the same tokens for GET and PUT as Atari/BXL/BXE, but it allows
+ the argument to be a variable without a # in front of it. */
+ if(nexttok != OP_HASH) {
+ set_type(BT_TURBO);
+ }
+ /* PARTIAL: we really should detect GET #1,A$. this is Turbo-only, but
+ probably nobody ever uses it because it doesn't seem to *work*,
+ at least not in TB 1.5. A$ always ends up empty with length 0. */
+ break;
+ case CMD_RESTORE:
+ case CMD_TRAP:
+ /* TB allows RESTORE #LABEL and TRAP #LABEL */
+ if(nexttok == OP_HASH) {
+ set_type(BT_TURBO);
+ }
+ break;
+ default: break;
+ }
+
+ if(tok <= CMD_ERROR) return; /* legal in BASIC, ignore */
+ remove_type(BT_ATARI);
+ if(tok >= 0x59) remove_type(BT_BXL);
+
+ if(tok >= 0x65) {
+ fprintf(stderr, "handle_cmd: invalid command %02x at line %d\n", tok, lineno);
+ keep_going = 0;
+ set_type(BT_INVALID);
+ }
+
+ /* we have tokens 0x3a to 0x68 in both TB and BXE, or 47 of them.
+
+ Some tokens can't be determined, because they take the
+ same argument (or lack of) in both Turbo and BXL/XE. These
+ are:
+
+ 0x3c: REPEAT or ELSE (no args either way)
+ 0x46: LOOP or CP (no args either way)
+ 0x49: LOCK or UNPROTECT (take the same args)
+ 0x4B: RENAME in both Turbo and BXL/XE (same token, same args)
+
+ 4 of them, this leaves 43 we can check.
+
+ Covered so far: 41 (95%).
+ However, some of these are marked PARTIAL because they're not detected
+ under all circumstances.
+
+ Unchecked tokens:
+
+ 0x5B: BRUN or CALL (both take a string, CALL allows "USING" though)
+ This isn't really important, as CALL requires a PROCEDURE to
+ exist, and we *do* catch the PROCEDURE token.
+ 0x5F: PAINT (req 2 args) or NUM (optional 2 args).
+ Again, not important, because it's highly unlikely any BXL/BXE
+ program will contain NUM... because when it executes, it stops the
+ program and goes back to the READY prompt (in auto-numbering mode).
+ */
+ switch(tok) {
+ case 0x39: /* MOVE <args> or ENDWHILE */
+ case 0x3a: /* -MOVE <args> or TRACEOFF */
+ case 0x3d: /* UNTIL <args> or ENDIF */
+ case 0x56: /* DEL <args> or FAST */
+ case 0x62: /* CIRCLE (3 or 4 num args) or NORMAL (no args) */
+ /* COMPLETE */
+ if(has_args) {
+ remove_type(BT_BXL_BXE);
+ } else {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x58: /* TRACE (optional + or -), EXTEND (BXE; no args) */
+ /* COMPLETE */
+ /* In BXL, this looks to be an extra END token, that behaves the same
+ as the regular one, but can't be entered in the editor. Assume
+ no BXL program contains this token. */
+ /* In BXE, EXTEND can't actually appear in a program (it's direct
+ mode only). The only way to get EXTEND into a BXE program is
+ to do a direct mode command like:
+ EXTEND:SAVE "D:PROG"
+ ...which of course puts it at line 32768. But this code will
+ never see that, because we'd already detect EXTENDed BXE
+ based on the first 2 bytes of the file.
+ */
+ /* So, if we see this token, it *has* to be Turbo's TRACE, whether
+ or not it has an argument. */
+ set_type(BT_TURBO);
+ break;
+
+ case 0x59: /* TEXT or PROCEDURE */
+ /* COMPLETE */
+ /* Turbo: TEXT (1st arg is number),
+ BXL: invalid token,
+ BXE: PROCEDURE (arg is string const (not var!)) */
+ if(nexttok == OP_STRCONST) {
+ /* this token doesn't seem to be valid in BXL at all */
+ set_type(BT_BXE);
+ } else {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ case 0x3f: /* WEND or LOMEM <args> */
+ case 0x40: /* ELSE or DEL <args> */
+ case 0x41: /* ENDIF or RPUT <args> */
+ case 0x45: /* DO or TAB <args> */
+ case 0x47: /* EXIT or ERASE <args> */
+ case 0x51: /* ENDPROC or PMMOVE <args> */
+ /* COMPLETE */
+ if(has_args) {
+ remove_type(BT_TURBO);
+ } else {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ case 0x48: /* DIR (optional arg) or PROTECT (req'd arg) */
+ /* PARTIAL: without args means TB, but with arg,
+ it could be either */
+ if(!has_args) {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ case 0x4a: /* UNLOCK (req'd arg) or DIR (optional arg) */
+ /* PARTIAL: without args means BXL/BXE, but with arg,
+ it could be either */
+ if(!has_args) {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x3b: /* *F (optional + or -), TRACE (no arg) */
+ case 0x5e: /* *B (optional + or -) or EXIT (no arg) */
+ /* PARTIAL: doesn't catch *F or *B by itself with no +/- */
+ if(has_args) {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ case 0x44: /* FILLTO or BGET (check for a # after the token) */
+ /* COMPLETE */
+ if(nexttok == OP_HASH) {
+ remove_type(BT_TURBO);
+ } else {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ case 0x4e: /* TIME$= (1 string arg) or PMCLR (1 num arg) */
+ /* PARTIAL: but almost complete. nothing happens if it's
+ TIME$= with a string function (probably rare) or PMCLR
+ with a complex expression. */
+ if(nexttok == OP_STRCONST) {
+ remove_type(BT_BXL_BXE);
+ } else if(has_var_arg && vartype == TYPE_STRING) {
+ remove_type(BT_BXL_BXE);
+ } else if(nexttok == OP_NUMCONST) {
+ remove_type(BT_TURBO);
+ } else if(has_var_arg && vartype == TYPE_SCALAR) {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x50: /* EXEC (1 arg, *must* be variable) or PMGRAPHICS (1 num arg, may be const) */
+ /* PARTIAL: PMGRAPHICS VAR won't be detected. but this usage is rare. */
+ /* This check is actually redundant, because EXEC requires Turbo's
+ label type (high bits in var name table both set to 1), which we already
+ detected in check_variables(). */
+ if(!has_var_arg) {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x54: /* -- in TB, LVAR in BXL/BXE */
+ /* COMPLETE */
+ /* We can tell these apart because:
+ 1. TB gives us a next-statement offset of 5 if -- is the first (or
+ actually only) statement on a line. Normally, the minimum offset
+ is 6, but there's no OP_EOL after this token for some reason.
+ 2. If -- is the 2nd or or later statement on a line (after a colon)
+ it *does* get a statement terminator, but it's 0x9b (ATASCII EOL,
+ like a REM or DATA gets).
+ Note that it's impossible to put more statements *after* the --,
+ they just get ignored if you type them. This doesn't help us
+ here, but it's interesting anyway.
+ Also, the -- is what you type to enter it into the program, but
+ it get LISTed as a line of 30 dashes.
+ The explanation is a lot longer than the code... */
+ if(program[pos - 1] == 0x05 || nexttok == 0x9b) {
+ set_type(BT_TURBO);
+ } else {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x57: /* DUMP (1 optional string arg) or LOCAL (1 *numeric* variable arg) */
+ /* BXL/BXE's LOCAL only works on scalars, not arrays or strings. so if there's
+ no arg, or one string arg... */
+ /* PARTIAL: almost complete, doesn't handle DUMP func$(arg), which I
+ doubt anyone uses anyway. */
+ if(!has_args) {
+ /* only Turbo allows no arg... */
+ remove_type(BT_BXL_BXE);
+ } else if(nexttok == OP_STRCONST) {
+ /* only Turbo allows a string constant arg... */
+ remove_type(BT_BXL_BXE);
+ } else if(has_var_arg && vartype == TYPE_STRING) {
+ /* only Turbo allows a string variable arg... */
+ remove_type(BT_BXL_BXE);
+ } else if(has_var_arg && vartype == TYPE_SCALAR) {
+ /* only BXL/BXL allows a scalar variable arg */
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x5a: /* TB: BLOAD; BXL: extension mechanism; BXE: invalid. */
+ /* COMPLETE */
+ /* This is the token used for the BXL EXTEND.COM added commands,
+ from the Toolkit disk. It's followed by a byte ranging 0x10
+ to 0x15 that specifies which extended command, e.g. 0x5a 0x11 means
+ EXIT, 0x5a 0x12 is PROCEDURE, 0x5a 0x13 is CALL. Although
+ these look like BXE's extra commands, they aren't the same tokens,
+ and BXE will choke on them (RUN causes "Error- 33", LIST causes
+ a lockup). */
+ if(nexttok >= 0x10 && nexttok <= 0x15) {
+ /* worth mentioning to the user... */
+ fprintf(stderr, "Note: program requires EXTEND.COM from BASIC XL Toolkit disk.\n");
+ set_type(BT_BXL);
+ } else {
+ /* it's BLOAD if followed by e.g. OP_STRCONST or a variable */
+ set_type(BT_TURBO);
+ }
+ break;
+
+ case 0x5c: /* GO# (1 arg only) or SORTUP (optional 2nd arg of USING, but no comma) */
+ case 0x5d: /* # (1 arg only) or SORTDOWN (optional 2nd arg of USING, but no comma) */
+ /* COMPLETE but no longer needed (check_variables() already found the
+ 11xxxxxx variables) */
+ /* Turbo BASIC labels have the high 2 bits set to 11, which is illegal
+ in Atari/BXL/BXE. */
+ if(vartype == 3) {
+ remove_type(BT_BXL_BXE);
+ } else {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x60: /* CLS (optional IOCB with #) or HITCLR (no args) */
+ /* PARTIAL: without args, can't tell them apart. */
+ /* I doubt CLS #IOCB is actually used in many Turbo BASIC
+ programs, because it's broken (at least in Turbo 1.5).
+ It's supposed to only clear the screen of output that
+ happened after the OPEN #IOCB, but it really clears the
+ whole screen. */
+ if(nexttok == OP_HASH) {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ default: break;
+ }
+ if(verbose) fprintf(stderr, " bas_type now %02x\n", bas_type);
+}
+
+CALLBACK(handle_op) {
+ unsigned char nexttok = program[pos + 1];
+ unsigned char nexttok2 = program[pos + 2];
+
+ if(tok == OP_COMMA) comma_count++;
+
+ if(verbose) fprintf(stderr, "handle_op: lineno %d, tok $%02x, comma_count %d, bas_type was %02x\n", lineno, tok, comma_count, bas_type);
+
+ if(tok == 0x00) {
+ /* Turbo allows 256 variables, tokenizes the first 128 normally ($80-$FF).
+ The extra ones above $FF are tokenized as $00, varnum - $80. None of
+ our other BASICs uses $00 as an operator token, so.. */
+ set_type(BT_TURBO);
+ }
+
+ /* attempt to detect BXL/BXE DIM for 2D string arrays.
+ DIM A$(10,10) is illegal in Atari/Turbo.
+ PARTIAL: this only works if the first dimension is either a
+ constant or a scalar variable (not an array element or an
+ expression). fortunately most programs use constants in DIM.
+ */
+ if(tok == OP_DIM_STR_LPAR) {
+ int str2d = 0;
+ if(nexttok >= 0x80 && nexttok2 == OP_ARR_COMMA) {
+ str2d = 1;
+ } else if(nexttok == OP_NUMCONST || nexttok == OP_HEXCONST) {
+ str2d = (program[pos + 8] == OP_ARR_COMMA);
+ }
+ if(str2d) {
+ if(verbose)
+ fprintf(stderr, "===> found 2d string array at line %d\n", lineno);
+ remove_type(BT_ATARI | BT_TURBO);
+ }
+ }
+
+ /* BXL/BXE allows string concatenation in assignment with the comma,
+ A$="FOO","BAR" or A$=C$,D$. */
+ if(last_cmd == CMD_LET || last_cmd == CMD_ILET) {
+ if(program[last_cmd_pos + 2] == OP_STR_ASSIGN) {
+ if(tok == OP_COMMA) {
+ if(is_string_rval(nexttok)) {
+ remove_type(BT_ATARI | BT_TURBO);
+ }
+ }
+ }
+ }
+
+ if(tok == OP_HEXCONST) remove_type(BT_ATARI); /* hex const (turbo *and* bxl/xe) */
+ if(tok <= OP_FUNC_STRIG) {
+ if(verbose) fprintf(stderr, " bas_type now %02x\n", bas_type);
+ return; /* legal in BASIC, ignore */
+ }
+ remove_type(BT_ATARI);
+
+ /* only Turbo has op tokens numbered 0x69 and up. */
+ if(tok >= 0x69) {
+ set_type(BT_TURBO);
+ }
+
+ if(tok >= 0x6E) {
+ fprintf(stderr, "handle_op: invalid operator %02x at line %d\n", tok, lineno);
+ keep_going = 0;
+ set_type(BT_INVALID);
+ }
+
+ /* There are 25 extra operators in Turbo, and 20 of them are shared with
+ BXL/BXE. Of the 20, 4 of them are undecidable, and the rest are
+ covered here, which means 80% coverage of the shared ops.
+ Undecidables are:
+ 0x56 & (logical AND) or % (XOR), both infix numeric ops; can't tell apart
+ 0x57 ! (logical OR) in both Turbo and BXL/BXE, can't tell apart
+ 0x64 RAND (func, 1 num arg) or TAB (func, 1 num arg), can't tell apart
+ 0x65 TRUNC (func, 1 num arg) or PEN (func, 1 num arg), can't tell apart
+ */
+ switch(tok) {
+ case 0x55: /* DPEEK (function) TB, USING (infix, not a function) in BXL/BXE */
+ case 0x58: /* INSTR (function) or & (infix numeric) in BXE. */
+ case 0x5b: /* HEX$ (func, takes 1 num arg) or FIND( (pseudo-func, 3 args */
+ /* COMPLETE */
+ if(nexttok == OP_FUNC_LPAR) {
+ remove_type(BT_BXL_BXE);
+ } else {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x59: /* INKEY$ (0 arg pseudo-func) in TB, string array separator semicolon in BXL/BXE */
+ /* PARTIAL: ...but pretty good. we *can't* check nexttok == OP_GRP_RPAR, because
+ VAL(INKEY$) or ASC(INKEY$) are legit Turbo code. */
+ if(nexttok == OP_EOS || nexttok == OP_EOL) {
+ /* the semicolon can't be the last token on the line (needs at least
+ a right-paren), but INKEY$ can. */
+ remove_type(BT_BXL_BXE);
+ } else if(pos == last_cmd_pos + 1) {
+ /* INKEY$ can be the first operator after the command, e.g if the command
+ is IF. The semicolon cannot. */
+ remove_type(BT_BXL_BXE);
+ } else if(is_string_exp_op(last_op_tok) || is_string_exp_op(nexttok)) {
+ /* A$=INKEY$, IF INKEY$=A$, A$(LEN(A$)+1)=INKEY$, INKEY$<>"A"... */
+ remove_type(BT_BXL_BXE);
+ } else if(is_numeric_op(last_op_tok) || is_numeric_op(nexttok)) {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x5a: /* EXOR (infix num op) or BUMP( (pseudo-function, no OP_FUNC_LPAR) */
+ case 0x5d: /* DIV (infix num op) or RANDOM( (pseudo-func, 1 or 2 num args) */
+ /* COMPLETE (I think, anyway) */
+ if(last_op_tok == OP_GRP_RPAR || last_op_tok == OP_NUMCONST || last_op_tok == OP_HEXCONST || last_op_tok >= 0x80) {
+ /* if the last token was a variable or a numeric, or a right paren,
+ this is infix (can't be a function, last token would have to have
+ been a command or a math/etc operator). */
+ remove_type(BT_BXL_BXE);
+ } else {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x5c: /* DEC (function, takes str) in TB, HEX$ (function, takes num) in BXL/BXE */
+ /* COMPLETE */
+ if(is_string_rval(nexttok2)) {
+ remove_type(BT_BXL_BXE);
+ } else if(is_numeric_op(nexttok2)) {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x5e: /* FRAC (num func, 1 arg) or DPEEK (num func, 1 arg) in BXL...
+ however BXE has an optional 2nd arg. */
+ {
+ /* PARTIAL: This detects the 2nd arg for simple cases where the
+ 1st arg is a constant or a numeric variable, but not if the
+ 1st arg is an expression or an array element. */
+ int has2 = 0;
+ if(nexttok2 == OP_NUMCONST || nexttok2 == OP_HEXCONST) {
+ if(program[pos + 9] == OP_ARR_COMMA)
+ has2 = 1;
+ } else if(nexttok2 >= 0x80 && program[pos + 3] == OP_ARR_COMMA) {
+ has2 = (get_vartype(nexttok2) == TYPE_SCALAR);
+ }
+ if(has2) {
+ set_type(BT_BXE);
+ }
+ }
+ break;
+
+ case 0x5f: /* TIME$ in TB, SYS (function) in BXL/BXE */
+ case 0x60: /* TIME in TB, VSTICK (function) in BXL/BXE */
+ case 0x61: /* MOD (infix op) in TB, HSTICK (function) in BXL/BXE */
+ case 0x62: /* EXEC (infix op, with ON) in TB, PMADR (function) in BXL/BXE */
+ /* COMPLETE */
+ if(nexttok == OP_FUNC_LPAR) {
+ remove_type(BT_TURBO);
+ } else {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ case 0x63: /* RND (pseudo-func, no arg) or ERR (func, 1 num arg) */
+ /* COMPLETE */
+ if(nexttok != OP_FUNC_LPAR) {
+ set_type(BT_TURBO);
+ }
+ break;
+
+ case 0x66: /* %0 in TB, LEFT$( (pseudo-func, takes string) in BXL/BXE */
+ case 0x67: /* %1 in TB, RIGHT$( (pseudo-func, takes string) in BXL/BXE */
+ case 0x68: /* %2 in TB, MID$( (pseudo-func, takes string) in BXL/BXE */
+ /* COMPLETE */
+ /* LEFT$/RIGHT$/MID$ do NOT get OP_FUNC_LPAR (the "(" is part of the
+ token name). They're always followed by a string operator... and
+ it works out that none of the tokens for BXL-only string funcs
+ are allowed to follow %0 %1 %2 in Turbo. */
+ if(is_string_op(nexttok) || is_bxl_string_func(nexttok)) {
+ remove_type(BT_TURBO);
+ } else {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ last_op_tok = tok;
+ if(verbose) fprintf(stderr, " bas_type now %02x\n", bas_type);
+}
+
+/* we can count commas, because both Turbo and BXE/BXL use the "array" comma
+ to separate function arguments, not the "regular" comma. */
+CALLBACK(handle_end_stmt) {
+ if(verbose) fprintf(stderr, "handle_end_stmt: lineno %d, tok $%02x, last_cmd $%02x, comma_count %d, bas_type was %02x\n", lineno, tok, last_cmd, comma_count, bas_type);
+ switch(last_cmd) {
+ case 0x38: /* DPOKE (2 args) or WHILE (1 arg) */
+ if(comma_count) {
+ remove_type(BT_BXL_BXE);
+ } else {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x3e: /* WHILE (1 arg) or DPOKE (2 or 3 args) */
+ case 0x4c: /* DELETE (1 arg) or MOVE (3 or 4 args) */
+ case 0x4d: /* PAUSE (1 arg) or MISSILE (3 args) */
+ case 0x52: /* FCOLOR (1 arg) or PMWIDTH (2 args) */
+ case 0x53: /* *L (optional + or - only) or SET (req 2 num args) */
+ case 0x4f: /* PROC (1 arg) or PMCOLOR (3 args) */
+ if(comma_count) { /* 1 arg means no commas */
+ remove_type(BT_TURBO);
+ } else {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ case 0x42: /* BPUT or RGET */
+ /* PARTIAL:
+ Turbo BGET always takes 3 args, BXL/BXE RGET takes 2 or more.
+ We can at least rule out Turbo if there aren't exactly 3 args. */
+ if(comma_count != 2) {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x43: /* BGET or BPUT */
+ /* PARTIAL:
+ Turbo BGET and BPUT always take 3 args. So does BXL BPUT.
+ BXE BPUT takes 3 args and an optional 4th. */
+ if(comma_count != 2) {
+ set_type(BT_BXE);
+ }
+ break;
+
+ case 0x55: /* RENUM in both (TB req 3 args, BXL up to two) */
+ if(comma_count == 2) {
+ remove_type(BT_BXL_BXE);
+ } else {
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x61: /* DSOUND (0 or 4 num args) or INVERSE (no args) */
+ /* PARTIAL: can't tell no-argument DSOUND from INVERSE. */
+ if(comma_count) {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ case 0x63: /* %PUT (usually seen with optional #; 1 or 2 args) or BLOAD (1 string arg) */
+ if(comma_count) {
+ /* multiple args */
+ remove_type(BT_BXL_BXE);
+ } else if(program[last_cmd_pos + 1] == OP_STRCONST) {
+ /* one arg, string const. XXX: check var type */
+ remove_type(BT_TURBO);
+ }
+ break;
+
+ case 0x64: /* %GET (usually seen with optional #; 1 or 2 args) or BSAVE (3 args) */
+ if(comma_count == 2) {
+ remove_type(BT_TURBO);
+ } else {
+ remove_type(BT_BXL_BXE);
+ }
+ break;
+
+ default: break;
+ }
+ if(verbose) fprintf(stderr, " bas_type now %02x\n", bas_type);
+
+ last_cmd = last_op_tok = 0;
+}
+
+/* return true if input_file is Atari MS BASIC.
+ AMSB files begin with a 3-byte header: 0x00, then 2 byte length
+ (LSB/MSB), which is actually 3 bytes less than the full length of
+ the file (or, it's the length of the file minus the 3-byte header).
+ Also, the files always end with 3 0x00 bytes.
+ We check that the header length is 3 bytes less than the file length,
+ then check for the 3 0x00's at the end.
+ */
+int detect_amsb(void) {
+ int len, c;
+
+ if(verbose) fprintf(stderr, "entering detect_amsb()\n");
+
+ rewind(input_file);
+ c = fgetc(input_file);
+ if(c) return 0;
+ c = fgetc(input_file);
+ if(c == EOF) return 0;
+ len = (fgetc(input_file) << 8) | c;
+
+ if(verbose) fprintf(stderr, "detect_amsb() header len==%d (file size should be %d)\n", len, len + 3);
+
+ fseek(input_file, 0, SEEK_END);
+ c = ftell(input_file);
+ if(verbose) fprintf(stderr, "detect_amsb() file size %d\n", c);
+ if(len != (c - 3)) {
+ if(verbose) fprintf(stderr, "detect_amsb() wrong file size!\n");
+ return 0;
+ }
+
+ if(verbose) fprintf(stderr, "detect_amsb() file size is correct, checking for 3 nulls\n");
+ fseek(input_file, -3, SEEK_END);
+ if(fgetc(input_file)) return 0;
+ if(fgetc(input_file)) return 0;
+ if(fgetc(input_file)) return 0;
+
+ if(verbose) fprintf(stderr, "detect_amsb() found 3 nulls, return 1\n");
+
+ return 1;
+}
+
+void foreign(const char *name, int srval) {
+ if(input_file) fclose(input_file);
+ if(script_mode) {
+ exit(srval);
+ } else {
+ puts(name);
+ exit(0);
+ }
+}
+
+void detect_foreign(void) {
+ int c, d;
+
+ c = fgetc(input_file);
+ d = fgetc(input_file);
+
+ if(c == EOF || d == EOF)
+ die("File is too short to be a BASIC program of any kind.");
+
+ if(c == 0 && d == 0) {
+ /* This is why we can't read from stdin. */
+ rewind(input_file);
+ return;
+ }
+
+ if(c == 0xfb && d == 0xc2)
+ foreign("Compiled Turbo BASIC XL", SRET_COMPILED_TURBO);
+
+ if(c == 0xff && d == 0xff)
+ foreign("XEX executable (not BASIC at all!)", SRET_NOT_BASIC);
+
+ if(c == 0xfe && d == 0xfe)
+ foreign("Mac/65 tokenized source (not BASIC at all!)", SRET_NOT_BASIC);
+
+ if(c == 0xdd && d == 0x00)
+ foreign("EXTENDed OSS BASIC XE", SRET_EXTENDED_BXE);
+
+ if(c == 0x7f && d == 'E') {
+ c = fgetc(input_file);
+ d = fgetc(input_file);
+ if(c == 'L' && d == 'F')
+ foreign("ELF executable (not BASIC at all!)", SRET_NOT_BASIC);
+ }
+
+ if(c == 0 && detect_amsb()) {
+ foreign("Atari Microsoft BASIC", SRET_AMSB);
+ }
+
+ if(isdigit(c) && (d == 0x20 || isdigit(d)))
+ foreign("Text file, could be LISTed BASIC (or not)", SRET_NOT_BASIC);
+
+ if(isprint(c) && isprint(d))
+ foreign("Text file (not BASIC at all!)", SRET_NOT_BASIC);
+
+ foreign("Unknown file type (not BASIC at all!)", SRET_NOT_BASIC);
+}
+
+void check_variables(void) {
+ int pos;
+
+ if(vntp == vntd) return;
+
+ /* Unlike Atari BASIC, Turbo variables can have _ in the names.
+ So can BASIC XE, though it's not documented in the BASIC XE
+ Reference Manual that I have.
+ BXL can't have _ in variable names. */
+ for(pos = vnstart; pos < vvstart; pos++) {
+ if((program[pos] & 0x7f) == '_') {
+ remove_type(BT_ATARI | BT_BXL);
+ }
+ }
+
+ /* Also, Turbo line labels (for PROC/EXEC and #/GO#) are variables
+ with a type that's illegal in Atari/BXL/BXE. */
+ for(pos = vvstart; pos < codestart; pos += 8) {
+ if((program[pos] & 0xc0) == 0xc0) {
+ set_type(BT_TURBO);
+ }
+ }
+
+ /* I was hoping to check for BXL/BXE string arrays here. However,
+ looking at a SAVEd file, they look identical to regular string
+ variables (variable type $80, rest of the VVTP entry all $00).
+ When the program's actually in memory, BXL/BXE sets the
+ variable type byte to $91 for DIMed string array var and
+ $81 (same as Atari/Turbo) for a regular DIMed string var.
+ Unfortunately in the SAVE file, it's always $80. */
+
+ /* Another thing that can't be detected: BXL/BXE's FAST mode changes
+ the program in memory (line number targets become addresses),
+ but programs don't get SAVEd this way: SAVE turns off FAST and
+ restores the program to its original state before writing it
+ to disk. Too bad. */
+}
+
+/* BASIC/A+ support is *very* simple. It's similar to BASIC XL (no
+ surprise there)... but unlike Turbo, BXL, and BXE, it's *not*
+ token-compatible with original Atari BASIC. Rather than add
+ their new tokens to the end of the lists, they're mixed in with
+ the others. So A+ can't even LOAD or RUN Atari BASIC files.
+ Appendix J of the BASIC/A+ manual tells you to LIST in BASIC,
+ reboot, ENTER in A+, to "port" your BASIC programs to A+. I
+ suppose if you upgraded from A+ to BASIC XL or XE, you'd have
+ to do the same thing to use A+ programs in XL/XE.
+
+ While this was probably a PITA for BASIC/A+ users back in the day,
+ it makes it *really* easy to detect A+ here. The last line of
+ every SAVEed program is the direct-mode command, and contains either
+ a SAVE or CSAVE cmd token. Which is the same token in Atari, Turbo,
+ BXL, and BXE... but *different* in A+.
+
+ However... I've run into at least one BASIC program in the Holmes
+ Archive that was missing its line 32768 (wish I could remember which).
+ And it's possible for files to get truncated... so I'll check a few
+ other command tokens, to deal with cases like this.
+ */
+void found_aplus(void) {
+ foreign("OSS BASIC/A+", SRET_APLUS);
+}
+
+CALLBACK(check_aplus_cmd) {
+ int has_args;
+ unsigned char nexttok, nexttok2;
+
+ nexttok = program[pos + 1];
+ nexttok2 = program[pos + 2];
+ has_args = !(nexttok == OP_EOS || nexttok == OP_EOL);
+ if(verbose) fprintf(stderr, "check_aplus_cmd: line %d, pos $%04x, tok $%02x, nexttok $%02x, nexttok2 $%02x\n", lineno, pos, tok, nexttok, nexttok2);
+
+ switch(tok) {
+ case CMD_POP: /* A+ READ */
+ case CMD_DOS: /* A+ GET */
+ case CMD_DEG: /* A+ WHILE */
+ case CMD_CLR: /* A+ DIM */
+ case 0x46: /* A+ SOUND <args>, Turbo LOOP, BXL/XE CP */
+ case 0x3c: /* A+ DIR <req'd arg>, Turbo REPEAT, BXL/XE ELSE */
+ if(has_args)
+ found_aplus();
+ break;
+
+ case CMD_SAVE: /* A+ END */
+ case CMD_GRAPHICS: /* A+ STOP */
+ case CMD_DIM: /* A+ ENDWHILE */
+ /* case CMD_GET: */ /* A+ RETURN, but Turbo allows 0 args too! */
+ case 0x38: /* A+ DOS, Turbo DPOKE, BXL/XE WHILE */
+ if(!has_args)
+ found_aplus();
+ break;
+
+ case CMD_POSITION: /* A+ ? */
+ /* PARTIAL: does nothing if 1st arg is numeric. */
+ if(!has_args)
+ /* POSITION can't have 0 args. */
+ found_aplus();
+ else if(is_string_rval(nexttok))
+ /* ? "STRING" or ? A$, e.g., can't be POSITION */
+ found_aplus();
+ else if(nexttok == OP_NUM_LE) /* numeric <= in BASIC, # in A+ */
+ found_aplus();
+ break;
+
+ case CMD_RUN: /* A+ PRINT */
+ /* PARTIAL: only detects PRINT # or PRINT <num> ... */
+ /* A+'s # token is BASIC's OP_NUM_LE! */
+ if(nexttok == OP_NUM_LE)
+ found_aplus();
+ else if(is_numconst_op(nexttok) || is_numeric_var(nexttok))
+ found_aplus();
+ break;
+
+ case CMD_XIO: /* A+ SAVE */
+ /* most programs, this is enough, because they'll end with
+ 32768 SAVE "D:BLAH" */
+ if(is_string_rval(nexttok))
+ found_aplus();
+ break;
+
+ case CMD_OPEN: /* A+ ELSE */
+ /* case CMD_CLOSE: */ /* A+ DEG */ /* can't check, Turbo allows no args */
+ case CMD_STATUS: /* A+ NEW */
+ case CMD_POINT: /* A+ LOAD */
+ case 0x42: /* A+ POSITION, Turbo BPUT, BXL RGET */
+ case 0x43: /* A+ DRAWTO, Turbo BGET, BXL BPUT */
+ if(nexttok != OP_HASH) /* # in BASIC, USING in A+ */
+ found_aplus();
+ break;
+
+ /* case 0x48: */ /* A+ CSAVE, Turbo DIR, BXL/BXE PROTECT */
+ /* DIR without arg is OK, so we can't really check this. */
+ /* break; */
+
+ case CMD_DRAWTO: /* A+ PUT */
+ case CMD_SOUND: /* A+ RPUT */
+ case CMD_LPRINT: /* A+ RGET */
+ case CMD_CSAVE: /* A+ BPUT */
+ case CMD_CLOAD: /* A+ BGET */
+ case CMD_ON: /* A+ STATUS */
+ case CMD_NOTE: /* A+ OPEN */
+ case CMD_CONT: /* A+ CLOSE */
+ case CMD_RAD: /* A+ XIO */
+ if(nexttok == OP_NUM_LE) /* numeric <= in BASIC, # in A+ */
+ found_aplus();
+ break;
+
+ default: break;
+ }
+
+ last_cmd = tok;
+}
+
+void check_aplus(void) {
+ allow_hex_const = 1;
+
+ on_cmd_token = check_aplus_cmd;
+ walk_all_code();
+}
+
+void check_atari_turbo_oss(void) {
+ allow_hex_const = 1;
+
+ on_cmd_token = handle_cmd;
+ on_exp_token = handle_op;
+ on_end_stmt = handle_end_stmt;
+
+ walk_all_code();
+}
+
+int main(int argc, char **argv) {
+ set_self(*argv);
+ parse_general_args(argc, argv, print_help);
+ parse_args(argc, argv);
+
+ detect_foreign();
+
+ readfile();
+ parse_header();
+
+ check_variables();
+ check_aplus();
+ check_atari_turbo_oss();
+
+ print_result(); /* always exits */
+ return 0; /* never happens, shuts up gcc's warning though */
+}
diff --git a/whichbas.h b/whichbas.h
new file mode 100644
index 0000000..0165953
--- /dev/null
+++ b/whichbas.h
@@ -0,0 +1,17 @@
+/* this stuff is in a separate .h file so that eventually,
+ listbas.c can include it (it'll execute "whichbas -s" to detect
+ the BASIC type). */
+
+#define SRET_ATARI 3
+#define SRET_TURBO 4
+#define SRET_BXL 5
+#define SRET_BXE 6
+#define SRET_TURBO_OR_BXL 7
+#define SRET_TURBO_OR_BXE 8
+#define SRET_TURBO_OR_BXL_OR_BXE 9
+#define SRET_UKNOWN_DERIV 10
+#define SRET_AMSB 11
+#define SRET_EXTENDED_BXE 12
+#define SRET_COMPILED_TURBO 13
+#define SRET_APLUS 14
+#define SRET_NOT_BASIC 64
diff --git a/whichbas.rst b/whichbas.rst
new file mode 100644
index 0000000..8a7e15e
--- /dev/null
+++ b/whichbas.rst
@@ -0,0 +1,196 @@
+========
+whichbas
+========
+
+----------------------------------------------------------
+Determine BASIC variant of a tokenized Atari 8-bit program
+----------------------------------------------------------
+
+.. include:: manhdr.rst
+
+SYNOPSIS
+========
+whichbas [-v] *input-file* [*input-file* ...]
+
+DESCRIPTION
+===========
+**whichbas** reads tokenized Atari 8-bit BASIC, Turbo BASIC,
+BASIC XL, BASIC XE, BASIC/A+, or Atari Microsoft BASIC programs and attempts to
+discover which BASIC is required to run each one.
+
+*input-file*\s must be actual files. **whichbas** can't read from
+standard input, because it seeks in the input file.
+
+With multiple *input-file*\s, the output is one line per file,
+with the filename, a tab, and the detected BASIC. With only one
+*input-file*, the filename and tab are not printed.
+
+OPTIONS
+=======
+
+*Note*\: none of the options **-s** **-k** **-v** are allowed
+when checking multiple files; they only work if there's just one
+*input-file* argument.
+
+Detection Options
+-----------------
+
+**-s**
+ Script (or silent) mode. Instead of printing a human-readable
+ name like "Turbo BASIC XL" or "OSS BASIC XE" to stdout, **whichbas**
+ will print nothing on standard output, but will exit with a status
+ indicating what it detected. The caller can check the return status
+ (e.g. the **$?** variable in Bourne/POSIX shells, or **ERRORLEVEL**
+ in MS-DOS or Windows). See **EXIT STATUS**, below.
+
+**-k**
+ Keep going. The default is to stop looking at the program if the
+ BASIC type gets narrowed down to either Turbo BASIC or BASIC XE.
+ This option also enables **-v** (verbose). It's really only useful
+ for testing, if you're hacking on **whichbas** itself.
+
+.. include:: genopts.rst
+
+NOTES
+=====
+Atari BASIC programs are detected *almost* 100% reliably. See **BUGS**, below,
+for the gory details.
+
+Turbo BASIC, BASIC XL, and BASIC XE are all supersets of Atari BASIC.
+If you wrote a program using one of them, but didn't use any of the
+extra commands or functions, the result is still an Atari BASIC program.
+Likewise, if you wrote a program using BASIC XE, but only used the
+commands/functions it has in common with BASIC XL, it would be
+detected as BASIC XL.
+
+There are two types of BASIC XE programs: regular and *EXTEND*\ed. The
+extended type is detected 100% reliably, because the first byte of the
+file changes from **$00** to **$DD**. Non-extended programs are only
+identified as BASIC XE if they use any of the extra commands BASIC XE
+adds to those found in BASIC XL.
+
+Detection of Turbo vs. BXL/BXE isn't 100% reliable, and probably
+never will be. There's too much overlap between the sets of extra
+tokens added by each. Programs that don't use very many of the extra
+functions provided by Turbo/BXL/BXE may show up as "Either Turbo BASIC XL
+or OSS BASIC XL".
+
+Atari Microsoft BASIC is detected by checking that:
+
+ - the first byte of the file is **$00**\.
+
+ - the next 2 bytes (LSB/MSB) are the same as the actual file length minus 3.
+
+ - the last 3 bytes of the file are zero.
+
+This may result in false positives (files that aren't BASIC programs at
+all might show up as Microsoft). Also, no distinction is made between
+Atari MS BASIC 1.0 and 2.0.
+
+OSS BASIC/A+ is an extended form of Atari BASIC. It's source
+compatible with Atari BASIC, but not token-compatible because it uses
+different token numbers for the regular BASIC commands and operators.
+Example: SAVE is token **$19** in Atari BASIC (also Turbo/BXL/BXE),
+but in A+ it's token **$1D**. Detection should be 100% reliable, but
+since there aren't many BASIC/A+ programs in the wild, it hasn't been
+thoroughly tested.
+
+Various non-BASIC files are detected (including Mac/65 source,
+ELF binaries, etc) as a convenience, but I wouldn't rely on
+**whichbas**\'s non-BASIC file type detection if I were you.
+If you need the **file**\(1) command, use it.
+
+**whichbas** knows nothing about other BASICs such as Frost BASIC or
+Altirra BASIC.
+
+When using multiple *input-file* arguments, a separate instance of
+**whichbas** is spawned for each file. This isn't the most efficient
+approach, but it shouldn't cause problems on reasonably modern
+systems.
+
+BUGS
+====
+Misdetection
+------------
+It's possible to get a BASIC XL/XE program to misdetect as Atari BASIC
+by writing a program that does these things:
+
+ - Dimension a string array with a number of elements that isn't just a
+ numeric constant or numeric variable (e.g. *DIM A$(2+2,10)* or
+ *DIM A$(I*2,10)*). The code that detects a string array *DIM* command
+ can only handle simple cases like *DIM A$(10,10)* or *DIM A$(I,10)*.
+ It doesn't actually matter if the 2nd argument is a fancy expression,
+ though.
+
+ - Does *not* actually *use* the string array variable by assigning to
+ it or reading a value from it. String array accesses in BASIC XL/XE
+ are reliably detected because they require a semicolon after the
+ first number, even if there isn't a 2nd number. Example: *? A$(2;)*
+ prints the 2nd element of the *A$* string array. If it were written
+ as *? A$(2)*, but *A$* is a string array (not a regular string),
+ BASIC XL/XE would give an *Error 40* (string type mismatch) at
+ runtime.
+
+The good news is, such a program will still work fine in Atari BASIC.
+Atari BASIC will dimension it as a regular string variable and ignore
+the 2nd dimension. Since it's not actually used elsewhere in the program,
+it doesn't hurt anything.
+
+EXIT STATUS
+===========
+
+Without the **-s** option, exit status is 0 for success, non-zero for
+failure.
+
+With the **-s** option, the exit status is:
+
+**0**
+ Not used with **-s**.
+
+**1** or **2**
+ Error reading file. Error message will be printed on standard error.
+
+**3**
+ Atari BASIC detected.
+
+**4**
+ Turbo BASIC detected.
+
+**5**
+ OSS BASIC XL detected.
+
+**6**
+ Non-EXTENDed OSS BASIC XE detected.
+
+**7**
+ Turbo BASIC or BASIC XL (undecided which).
+
+**8**
+ Turbo BASIC or non-EXTENDed BASIC XE (undecided which).
+
+**9**
+ Turbo BASIC, BASIC XL, or non-EXTENDed BASIC XE (undecided which).
+
+**10**
+ Unknown Atari BASIC derivative (not Atari BASIC, but not
+ Turbo/BXL/BXE/A+ either).
+
+**11**
+ Atari Microsoft BASIC detected.
+
+**12**
+ EXTENDed OSS BASIC XE detected.
+
+**13**
+ Compiled Turbo BASIC detected.
+
+**14**
+ OSS BASIC/A+ detected.
+
+**64**
+ None of the above; not BASIC.
+
+In the future, more exit codes may be defined (in the range **15** to
+**63**), but the existing ones will not change.
+
+.. include:: manftr.rst
diff --git a/wtable.c b/wtable.c
new file mode 100644
index 0000000..3c008b3
--- /dev/null
+++ b/wtable.c
@@ -0,0 +1,140 @@
+/* ref:
+https://stackoverflow.com/questions/21737906/how-to-read-write-utf8-text-files-in-c
+*/
+
+#include <stdio.h>
+#include <wchar.h>
+#include "wtable.h"
+
+/*
+#define WSEARCH_DEBUG
+*/
+
+wint_t wchar2ata[][2] = {
+ /* Unicode, ATASCII */
+ { 0x2190, 0x1e },
+ { 0x2191, 0x1c },
+ { 0x2192, 0x1f },
+ { 0x2193, 0x1d },
+ { 0x21b0, 0x7d },
+ { 0x241b, 0x1b },
+ { 0x2501, 0x12 },
+ { 0x2503, 0x02 },
+ { 0x250f, 0x11 },
+ { 0x2513, 0x05 },
+ { 0x2517, 0x1a },
+ { 0x251b, 0x03 },
+ { 0x2523, 0x01 },
+ { 0x252b, 0x04 },
+ { 0x2533, 0x17 },
+ { 0x253b, 0x18 },
+ { 0x254b, 0x13 },
+ { 0x2571, 0x06 },
+ { 0x2572, 0x07 },
+ { 0x2581, 0x0e },
+ { 0x2584, 0x15 },
+ { 0x258c, 0x19 },
+ { 0x258e, 0x16 },
+ { 0x2594, 0x0d },
+ { 0x2596, 0x0f },
+ { 0x2597, 0x09 },
+ { 0x2598, 0x0c },
+ { 0x259d, 0x0b },
+ { 0x25b6, 0x7f },
+ { 0x25c0, 0x7e },
+ { 0x25c6, 0x60 },
+ { 0x25cf, 0x14 },
+ { 0x25e2, 0x08 },
+ { 0x25e3, 0x0a },
+ { 0x2660, 0x7b },
+ { 0x2663, 0x10 },
+ { 0x2665, 0x00 },
+};
+
+wint_t wchar2ics[][2] = {
+ /* Unicode, ATASCII */
+ { 0x00a1, 0x60 },
+ { 0x00a3, 0x08 },
+ { 0x00c4, 0x7b },
+ { 0x00c9, 0x03 },
+ { 0x00d1, 0x02 },
+ { 0x00d6, 0x0c },
+ { 0x00dc, 0x10 },
+ { 0x00e0, 0x19 },
+ { 0x00e1, 0x00 },
+ { 0x00e2, 0x11 },
+ { 0x00e4, 0x0b },
+ { 0x00e7, 0x04 },
+ { 0x00e8, 0x15 },
+ { 0x00e9, 0x14 },
+ { 0x00ea, 0x17 },
+ { 0x00ec, 0x07 },
+ { 0x00ee, 0x13 },
+ { 0x00ef, 0x09 },
+ { 0x00f1, 0x16 },
+ { 0x00f2, 0x06 },
+ { 0x00f3, 0x0e },
+ { 0x00f4, 0x05 },
+ { 0x00f6, 0x0f },
+ { 0x00f9, 0x01 },
+ { 0x00fa, 0x0d },
+ { 0x00fb, 0x12 },
+ { 0x00fc, 0x0a },
+ { 0x0226, 0x1a },
+ { 0x0227, 0x18 },
+ { 0x2190, 0x1e },
+ { 0x2191, 0x1c },
+ { 0x2192, 0x1f },
+ { 0x2193, 0x1d },
+ { 0x21b0, 0x7d },
+ { 0x241b, 0x1b },
+ { 0x25b6, 0x7f },
+ { 0x25c0, 0x7e },
+};
+
+static int tblsize = sizeof(wchar2ata) / sizeof(wchar2ata[0]);
+
+static wint_t wsearch(wint_t table[][2], wint_t target, int start, int end) {
+ wint_t *elem;
+ int center;
+
+#ifdef WSEARCH_DEBUG
+ fprintf(stderr, "wsearch(0x%04x, %d, %d)\n", target, start, end);
+#endif
+
+ if(start == end) {
+ if(table[start][0] == target)
+ return table[start][1];
+ else
+ return -1;
+ } else {
+ center = (start + end) / 2;
+ elem = table[center];
+
+#ifdef WSEARCH_DEBUG
+ fprintf(stderr, "elem = 0x%04x, 0x%02x\n", elem[0], elem[1]);
+#endif
+
+ if(elem[0] == target)
+ return elem[1];
+ else if(elem[0] > target)
+ return wsearch(table, target, start, center);
+ else
+ return wsearch(table, target, center + 1, end);
+ }
+}
+
+int wchar2atascii(wint_t wc, int ics) {
+ return wsearch((ics ? wchar2ics : wchar2ata), wc, 0, tblsize - 1);
+}
+
+#ifdef WSEARCH_DEBUG
+int main(int argc, char **argv) {
+ printf("%02x\n", wchar2atascii(0x2190, 0));
+ printf("%02x\n", wchar2atascii(0x2571, 0));
+ printf("%02x\n", wchar2atascii(0x25c6, 0));
+ printf("%02x\n", wchar2atascii(0x2665, 0));
+ printf("%02x\n", wchar2atascii(0x2510, 0));
+ return 0;
+}
+#endif
diff --git a/wtable.h b/wtable.h
new file mode 100644
index 0000000..11c5fa2
--- /dev/null
+++ b/wtable.h
@@ -0,0 +1,2 @@
+extern wint_t wchar2ata[][2];
+extern int wchar2atascii(wint_t wc, int ics);
diff --git a/xex.5 b/xex.5
index eee39dd..2a4c461 100644
--- a/xex.5
+++ b/xex.5
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEX" 5 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEX" 5 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xex \- Atari 8-bit executable file format.
.\" RST source for xex(5) man page. Convert with:
@@ -298,31 +298,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/xex1to2.1 b/xex1to2.1
index 7ccc3c2..254cb95 100644
--- a/xex1to2.1
+++ b/xex1to2.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEX1TO2" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEX1TO2" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xex1to2 \- Convert an Atari DOS 1.0 executable to a standard Atari executable
.\" RST source for xex1to2(1) man page. Convert with:
@@ -72,31 +72,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/xexamine.1 b/xexamine.1
index b7bbb61..0f5e7b0 100644
--- a/xexamine.1
+++ b/xexamine.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEXAMINE" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXAMINE" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xexamine \- Show information on Atari 8-bit executables (XEX)
.\" RST source for xexamine(1) man page. Convert with:
@@ -130,31 +130,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/xexcat.1 b/xexcat.1
index 17f662c..a3f0f79 100644
--- a/xexcat.1
+++ b/xexcat.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEXCAT" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXCAT" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xexcat \- Concatenate Atari 8-bit executables (XEX) into a single XEX file.
.\" RST source for xexcat(1) man page. Convert with:
@@ -190,31 +190,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/xexsplit.1 b/xexsplit.1
index cef9f7d..4bf8a3e 100644
--- a/xexsplit.1
+++ b/xexsplit.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEXSPLIT" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXSPLIT" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xexsplit \- Split a multi-segment Atari 8-bit executable (XEX) into multiple single-segment files.
.\" RST source for xexsplit(1) man page. Convert with:
@@ -183,31 +183,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
diff --git a/xfd2atr.1 b/xfd2atr.1
index 27f56c3..e31247e 100644
--- a/xfd2atr.1
+++ b/xfd2atr.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XFD2ATR" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XFD2ATR" 1 "2024-07-24" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xfd2atr \- Convert an Atari 8-bit XFD (raw) disk image to an ATR image.
.\" RST source for xfd2atr(1) man page. Convert with:
@@ -111,31 +111,38 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
.UNINDENT
.SH SEE ALSO
.sp
+\fBa8cat\fP(1),
\fBa8eol\fP(1),
-\fBa8utf8\fP(1),
+\fBa8xd\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBcxrefbas\fP(1),
\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBlistbas\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
-\fBatascii\fP(7).
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.