summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Clark <jjc@jclark.com>1995-11-26 06:50:32 -0500
committerJames Clark <jjc@jclark.com>1995-11-26 06:50:32 -0500
commitdc5351364982f78f8c630f1e856d692d4a82666f (patch)
tree256be1851415d363aab37b9706265a915f6e3304
parent7ba7a1343596d58ba91446b89c68bdfd10330436 (diff)
downloadgroff-git-dc5351364982f78f8c630f1e856d692d4a82666f.tar.gz
groff before CVS: release 1.101.10
-rw-r--r--BUG-REPORT4
-rw-r--r--COPYING2
-rw-r--r--ChangeLog366
-rw-r--r--INSTALL123
-rw-r--r--INSTALL.gen176
-rw-r--r--Makefile2
-rw-r--r--Makefile.ccpg4
-rw-r--r--Makefile.comm6
-rw-r--r--Makefile.in81
-rw-r--r--Makefile.init2
-rw-r--r--Makefile.sub2
-rw-r--r--NEWS48
-rw-r--r--PROBLEMS18
-rw-r--r--PROJECTS2
-rw-r--r--README12
-rw-r--r--TODO12
-rw-r--r--VERSION2
-rw-r--r--acgroff.m4403
-rw-r--r--aclocal.m4385
-rw-r--r--addftinfo/Makefile.dep6
-rw-r--r--addftinfo/addftinfo.cc8
-rw-r--r--addftinfo/addftinfo.man19
-rw-r--r--addftinfo/guess.cc2
-rw-r--r--addftinfo/guess.h2
-rw-r--r--afmtodit/afmtodit.man19
-rw-r--r--afmtodit/afmtodit.pl5
-rwxr-xr-xconfigure2699
-rw-r--r--configure.in31
-rw-r--r--devdvi/generate/Makefile2
-rw-r--r--devlj4/ALBB773
-rw-r--r--devlj4/ALBR788
-rw-r--r--devlj4/AOB744
-rw-r--r--devlj4/AOI797
-rw-r--r--devlj4/AOR720
-rw-r--r--devlj4/CB347
-rw-r--r--devlj4/CBI348
-rw-r--r--devlj4/CI348
-rw-r--r--devlj4/CLARENDON348
-rw-r--r--devlj4/CORONET348
-rw-r--r--devlj4/CR347
-rw-r--r--devlj4/DESC.in9
-rw-r--r--devlj4/GB732
-rw-r--r--devlj4/GBI736
-rw-r--r--devlj4/GI669
-rw-r--r--devlj4/GR853
-rw-r--r--devlj4/LGB347
-rw-r--r--devlj4/LGI348
-rw-r--r--devlj4/LGR347
-rw-r--r--devlj4/MARIGOLD348
-rw-r--r--devlj4/Makefile.sub33
-rw-r--r--devlj4/OB797
-rw-r--r--devlj4/OBI793
-rw-r--r--devlj4/OI905
-rw-r--r--devlj4/OR876
-rw-r--r--devlj4/S195
-rw-r--r--devlj4/TB971
-rw-r--r--devlj4/TBI1023
-rw-r--r--devlj4/TI1106
-rw-r--r--devlj4/TR860
-rw-r--r--devlj4/UB809
-rw-r--r--devlj4/UBI759
-rw-r--r--devlj4/UCB774
-rw-r--r--devlj4/UCBI683
-rw-r--r--devlj4/UCI822
-rw-r--r--devlj4/UCR742
-rw-r--r--devlj4/UI917
-rw-r--r--devlj4/UR858
-rw-r--r--devlj4/generate/Makefile163
-rw-r--r--devlj4/generate/Makefile.~1~73
-rw-r--r--devlj4/generate/Makefile.~2~159
-rw-r--r--devlj4/generate/Makefile.~2~~159
-rw-r--r--devlj4/generate/Makefile.~3~162
-rw-r--r--devlj4/generate/Makefile.~3~~162
-rw-r--r--devlj4/generate/Makefile.~4~163
-rw-r--r--devlj4/generate/special.map178
-rw-r--r--devlj4/generate/special.map.~1~176
-rw-r--r--devlj4/generate/special.map.~2~177
-rw-r--r--devlj4/generate/text.map341
-rw-r--r--devlj4/generate/text.map.~1~340
-rw-r--r--devps/S4
-rw-r--r--devps/generate/Makefile2
-rw-r--r--devps/generate/textmap1
-rw-r--r--devps/prologue.ps7
-rw-r--r--devps/psstrip.sed5
-rw-r--r--devps/symbolmap4
-rw-r--r--doc/Makefile2
-rw-r--r--eqn/Makefile.dep62
-rw-r--r--eqn/TODO8
-rw-r--r--eqn/box.cc2
-rw-r--r--eqn/box.h2
-rw-r--r--eqn/delim.cc5
-rw-r--r--eqn/eqn.cc329
-rw-r--r--eqn/eqn.h2
-rw-r--r--eqn/eqn.man19
-rw-r--r--eqn/eqn.y2
-rw-r--r--eqn/lex.cc17
-rw-r--r--eqn/limit.cc2
-rw-r--r--eqn/list.cc5
-rw-r--r--eqn/main.cc2
-rw-r--r--eqn/mark.cc2
-rw-r--r--eqn/other.cc2
-rw-r--r--eqn/over.cc2
-rw-r--r--eqn/pbox.h2
-rw-r--r--eqn/pile.cc2
-rw-r--r--eqn/script.cc2
-rw-r--r--eqn/special.cc2
-rw-r--r--eqn/sqrt.cc2
-rw-r--r--eqn/text.cc2
-rw-r--r--grodvi/Makefile.dep5
-rw-r--r--grodvi/dvi.cc5
-rw-r--r--grodvi/grodvi.man19
-rw-r--r--groff/Makefile.dep9
-rw-r--r--groff/groff.cc35
-rw-r--r--groff/groff.man50
-rw-r--r--groff/pipeline.c30
-rw-r--r--groff/pipeline.h2
-rw-r--r--grog/grog.man18
-rw-r--r--grog/grog.sh2
-rw-r--r--grolj4/Makefile.dep3
-rw-r--r--grolj4/Makefile.sub6
-rw-r--r--grolj4/grolj4.man109
-rw-r--r--grolj4/lj4.cc675
-rw-r--r--grops/Makefile.dep12
-rw-r--r--grops/grops.man30
-rw-r--r--grops/ps.cc32
-rw-r--r--grops/ps.h2
-rw-r--r--grops/psrm.cc26
-rw-r--r--grotty/Makefile.dep5
-rw-r--r--grotty/grotty.man19
-rw-r--r--grotty/tty.cc8
-rw-r--r--hpftodit/Makefile.dep3
-rw-r--r--hpftodit/Makefile.sub6
-rw-r--r--hpftodit/hpftodit.cc779
-rw-r--r--hpftodit/hpftodit.man151
-rw-r--r--include/assert.h2
-rw-r--r--include/cmap.h2
-rw-r--r--include/cset.h2
-rw-r--r--include/device.h2
-rw-r--r--include/driver.h2
-rw-r--r--include/errarg.h2
-rw-r--r--include/error.h2
-rw-r--r--include/font.h2
-rw-r--r--include/index.h2
-rw-r--r--include/lib.h4
-rw-r--r--include/macropath.h2
-rw-r--r--include/posix.h4
-rw-r--r--include/printer.h2
-rw-r--r--include/ptable.h8
-rw-r--r--include/refid.h2
-rw-r--r--include/search.h2
-rw-r--r--include/searchpath.h2
-rw-r--r--include/stringclass.h10
-rw-r--r--indxbib/Makefile.dep11
-rw-r--r--indxbib/indxbib.cc5
-rw-r--r--indxbib/indxbib.man19
-rw-r--r--indxbib/signal.c2
-rwxr-xr-xinstall-sh238
-rw-r--r--libbib/Makefile.dep24
-rw-r--r--libbib/common.cc2
-rw-r--r--libbib/index.cc13
-rw-r--r--libbib/linear.cc17
-rw-r--r--libbib/map.c2
-rw-r--r--libbib/search.cc5
-rw-r--r--libdriver/Makefile.dep12
-rw-r--r--libdriver/input.cc8
-rw-r--r--libdriver/printer.cc5
-rw-r--r--libgroff/Makefile.dep78
-rw-r--r--libgroff/assert.cc2
-rw-r--r--libgroff/change_lf.cc2
-rw-r--r--libgroff/cmap.cc2
-rw-r--r--libgroff/cset.cc2
-rw-r--r--libgroff/device.cc2
-rw-r--r--libgroff/errarg.cc2
-rw-r--r--libgroff/error.cc2
-rw-r--r--libgroff/fatal.cc2
-rw-r--r--libgroff/fmod.c2
-rw-r--r--libgroff/font.cc14
-rw-r--r--libgroff/fontfile.cc2
-rw-r--r--libgroff/iftoa.c2
-rw-r--r--libgroff/itoa.c2
-rw-r--r--libgroff/lf.cc5
-rw-r--r--libgroff/macropath.cc2
-rw-r--r--libgroff/matherr.c2
-rw-r--r--libgroff/nametoindex.cc5
-rw-r--r--libgroff/new.cc2
-rw-r--r--libgroff/ptable.cc5
-rw-r--r--libgroff/searchpath.cc2
-rw-r--r--libgroff/strerror.c2
-rw-r--r--libgroff/string.cc5
-rw-r--r--libgroff/strsave.cc2
-rw-r--r--libgroff/strtol.c2
-rw-r--r--libgroff/tmpfile.cc2
-rw-r--r--lkbib/Makefile.dep5
-rw-r--r--lkbib/lkbib.cc8
-rw-r--r--lkbib/lkbib.man19
-rw-r--r--lookbib/Makefile.dep5
-rw-r--r--lookbib/lookbib.cc5
-rw-r--r--lookbib/lookbib.man19
-rw-r--r--man/groff_char.man20
-rw-r--r--man/groff_font.man19
-rw-r--r--man/groff_out.man19
-rw-r--r--mm/ChangeLog59
-rw-r--r--mm/Makefile.sub14
-rw-r--r--mm/NOTES2
-rw-r--r--mm/README5
-rw-r--r--mm/groff_mm.man1753
-rw-r--r--mm/groff_mmse.man58
-rw-r--r--mm/mm/0.MT1
-rw-r--r--mm/mm/4.MT3
-rw-r--r--mm/mm/5.MT1
-rw-r--r--mm/mm/ms.cov1
-rw-r--r--mm/mm/se_ms.cov1
-rw-r--r--mm/tmac.m869
-rw-r--r--mm/tmac.mse142
-rwxr-xr-xnroff/conftest.sh4
-rw-r--r--nroff/nroff.man18
-rwxr-xr-xnroff/nroff.sh7
-rw-r--r--pfbtops/Makefile.dep2
-rw-r--r--pfbtops/pfbtops.man19
-rw-r--r--pic/Makefile.dep46
-rw-r--r--pic/common.cc2
-rw-r--r--pic/common.h2
-rw-r--r--pic/lex.cc5
-rw-r--r--pic/main.cc20
-rwxr-xr-xpic/make-dos-dist299
-rw-r--r--pic/object.cc32
-rw-r--r--pic/object.h4
-rw-r--r--pic/output.h2
-rw-r--r--pic/pic.cc4471
-rw-r--r--pic/pic.h3
-rw-r--r--pic/pic.man25
-rw-r--r--pic/pic.y33
-rw-r--r--pic/position.h2
-rw-r--r--pic/tex.cc2
-rw-r--r--pic/troff.cc2
-rw-r--r--psbb/Makefile.dep2
-rw-r--r--psbb/psbb.c2
-rw-r--r--psbb/psbb.man19
-rw-r--r--refer/Makefile.dep34
-rw-r--r--refer/command.cc2
-rw-r--r--refer/command.h2
-rw-r--r--refer/label.cc265
-rw-r--r--refer/label.y14
-rw-r--r--refer/ref.cc34
-rw-r--r--refer/ref.h2
-rw-r--r--refer/refer.cc20
-rw-r--r--refer/refer.h2
-rw-r--r--refer/refer.man21
-rw-r--r--refer/token.cc10
-rw-r--r--refer/token.h11
-rw-r--r--soelim/Makefile.dep4
-rw-r--r--soelim/soelim.cc2
-rw-r--r--soelim/soelim.man19
-rw-r--r--tbl/Makefile.dep12
-rw-r--r--tbl/main.cc38
-rw-r--r--tbl/table.cc52
-rw-r--r--tbl/table.h2
-rw-r--r--tbl/tbl.man37
-rw-r--r--tfmtodit/Makefile.dep4
-rw-r--r--tfmtodit/tfmtodit.cc5
-rw-r--r--tfmtodit/tfmtodit.man19
-rw-r--r--tmac/Makefile.sub64
-rw-r--r--tmac/groff_ms.man23
-rw-r--r--tmac/msafer.man56
-rw-r--r--tmac/tmac.a43
-rw-r--r--tmac/tmac.an13
-rw-r--r--tmac/tmac.andoc4
-rw-r--r--tmac/tmac.dvi1
-rw-r--r--tmac/tmac.e19
-rw-r--r--tmac/tmac.lj418
-rw-r--r--tmac/tmac.pspic10
-rw-r--r--tmac/tmac.s54
-rw-r--r--tmac/tmac.safer10
-rw-r--r--tmac/tmac.trace10
-rw-r--r--tmac/tmac.tty5
-rw-r--r--tmac/tmac.tty-char2
-rw-r--r--tmac/troffrc3
-rw-r--r--troff/Makefile.dep70
-rw-r--r--troff/TODO3
-rw-r--r--troff/charinfo.h2
-rw-r--r--troff/column.cc2
-rw-r--r--troff/dictionary.cc13
-rw-r--r--troff/dictionary.h2
-rw-r--r--troff/div.cc27
-rw-r--r--troff/div.h11
-rw-r--r--troff/env.cc192
-rw-r--r--troff/env.h12
-rw-r--r--troff/hvunits.h2
-rw-r--r--troff/input.cc250
-rw-r--r--troff/node.cc111
-rw-r--r--troff/node.h4
-rw-r--r--troff/number.cc2
-rw-r--r--troff/reg.cc2
-rw-r--r--troff/reg.h2
-rw-r--r--troff/request.h3
-rw-r--r--troff/symbol.cc8
-rw-r--r--troff/symbol.h6
-rw-r--r--troff/token.h3
-rw-r--r--troff/troff.h2
-rw-r--r--troff/troff.man30
-rw-r--r--xditview/ChangeLog13
-rw-r--r--xditview/Dvi.c4
-rw-r--r--xditview/DviChar.c2
-rw-r--r--xditview/Makefile510
-rw-r--r--xditview/device.c2
305 files changed, 38436 insertions, 5837 deletions
diff --git a/BUG-REPORT b/BUG-REPORT
index d3c9b0299..fe26601e5 100644
--- a/BUG-REPORT
+++ b/BUG-REPORT
@@ -8,9 +8,7 @@ Please delete the text in brackets before sending it in.
Please report separate bugs separately.
-Send the completed form either to bug-groff@prep.ai.mit.edu or
-directly to me (jjc@jclark.com). Messages sent to bug-groff can
-sometimes take several days to reach me.
+Send the completed form to bug-groff@prep.ai.mit.edu.
GROFF VERSION:
[The version of groff you are using. For example, `1.05']
diff --git a/COPYING b/COPYING
index c712f50f0..e8a612e5c 100644
--- a/COPYING
+++ b/COPYING
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff --git a/ChangeLog b/ChangeLog
index 9db9bd716..872c759a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,369 @@
+Sun Nov 26 11:45:13 1995 James Clark <jjc@jclark.com>
+
+ * Version 1.10 released.
+
+Fri Nov 24 09:56:16 1995 James Clark <jjc@jclark.com>
+
+ * afmtodit/afmtodit.pl: Avoid comment on first line.
+
+Mon Nov 20 11:13:49 1995 James Clark <jjc@jclark.com>
+
+ * aclocal.m4 (GROFF_INSTALL_SH): New macro.
+ * configure.in: Call it.
+
+ * Makefile.sub (configure): Depends on aclocal.m4 not acgroff.m4.
+ (distfiles): Doesn't depend on config.log or config.cache.
+
+Sun Oct 1 08:45:36 1995 James Clark <jjc@jclark.com>
+
+ * grog/grog.sh: Use print "" rather than print in END rule.
+
+Wed Aug 23 13:30:52 1995 James Clark <jjc@jclark.com>
+
+ * tbl/main.cc (process_data): Don't give error for excess data
+ entries that are comments.
+
+Fri Jul 28 11:00:27 1995 James Clark <jjc@jclark.com>
+
+ * tbl/main.cc (process_data): Fix case where new for-scope rules
+ silently change meaning of code.
+
+Tue Jul 4 23:39:51 1995 James Clark <jjc@jclark.com>
+
+ * troff/env.cc (hyphenate): Loop over all consecutive sequences
+ of non-zero hyphenation codes.
+
+Sat Jul 1 00:42:15 1995 James Clark <jjc@jclark.com>
+
+ * aclocal.m4 (GROFF_POSIX): Use conflicting declaration technique.
+
+Thu Jun 29 13:58:36 1995 James Clark <jjc@jclark.com>
+
+ * tmac/tmac.e (ip): Divert the tag so as to freeze the spaces.
+
+Tue Jun 27 12:30:16 1995 James Clark <jjc@jclark.com>
+
+ * tmac/tmac.andoc: Make it work in compatibility mode.
+
+ * refer/token.h (token_info::is_range_sep): New function.
+ * refer/token.cc (init_special_chars): Make \(en a RANGE_SEP.
+ * refer/ref.cc (reference::output): More sophisticated check for
+ multiple pages.
+
+ * devps/prologue.ps (MANUAL): New procedure.
+ * grops/ps.cc (main): New -m option.
+ (usage): Include -m.
+ (ps_printer::~ps_printer): Implement -m.
+
+ * aclocal.m4 (GROFF_G): New macro.
+ * configure.in: Call it.
+ * Makefile.in (g): Provided by configure.
+
+ * hpftodit/hpftodit.cc (basename): Rename to xbasename.
+
+ * tmac/tmac.tty: Disable warning about bad fonts. Remove font
+ translations.
+
+ * Makefile.in (tmacpath): Don't include /usr/lib/tmac.
+ (tmac_m, tmac_s): Deleted.
+ (sys_tmac_prefix, tmac_wrap, tmac_prefix, tmac_an_prefix,
+ tmac_s_prefix): New variables.
+ (MDEFINES): Change accordingly.
+ * Makefile.comm (.man.n): Use new TMAC_* variables.
+ * configure.in (GROFF_TMAC): Call.
+ * aclocal.m4 (GROFF_TMAC): Define.
+ * tmac/Makefile.sub (stamp_wrap): New target.
+ (install_data, uninstall_sub): Handle macro wrapping.
+
+Mon Jun 26 14:54:39 1995 James Clark <jjc@jclark.com>
+
+ * tbl/main.cc (main): Ignore -T option.
+
+Thu Jun 22 09:08:06 1995 James Clark <jjc@jclark.com>
+
+ * devlj4/generate/special.map: Add definition of \(nb.
+
+ * tmac/tmac.dvi: Add definition of \(nb.
+
+ * troff/dictionary.c (dictionary::dictionary): association::v gets
+ initialized by association::association.
+
+ * tmac/Makefile.sub: Avoid using temporary files when installing.
+
+ * troff/env.cc (environment::set_font): Make bad font number a
+ warning.
+
+ * Makefile.in (fontpath): Remove $(prefix)/lib/font from fontpath.
+
+ * Makefile.in (datadir): Use share rather than lib.
+
+ * groff/groff.cc (basename): Rename to xbasename.
+
+Wed Jun 21 16:59:46 1995 James Clark <jjc@jclark.com>
+
+ * Makefile (CCLIBS): Don't use.
+ * Makefile.ccpg: Likewise.
+
+ * acgroff.m4: Rename to...
+ * aclocal.m4: Modify extensively for autoconf 2.
+ * configure.in: Likewise.
+ * Makefile.in: Likewise.
+
+ * groff/pipeline.c (const): Declare as empty if __STDC__ not
+ defined.
+ (xstrsignal): Check for definition of NSIG. Conditionalize
+ on SYS_SIGLIST_DECLARED. Make return type const.
+
+Sat Jun 10 12:28:16 1995 James Clark <jjc@jclark.com>
+
+ * troff/input.cc (interpolate_macro): Rephrase missing space
+ warning.
+
+Thu May 11 01:07:16 1995 Jason Merrill <jason@phydeaux.cygnus.com>
+
+ * addftinfo/addftinfo.cc, eqn/delim.cc, eqn/lex.cc, eqn/list.cc,
+ grodvi/dvi.cc, groff/groff.cc, grops/ps.cc, grops/psrm.cc,
+ grotty/tty.cc, include/ptable.h indxbib/indxbib.cc,
+ libbib/index.cc, libbib/linear.cc, libbib/search.cc,
+ libdriver/input.cc, libdriver/printer.cc, libgroff/font.cc,
+ libgroff/lf.cc, libgroff/nametoindex.cc, libgroff/ptable.cc,
+ libgroff/string.cc, lkbib/lkbib.cc, lookbib/lookbib.cc,
+ pic/lex.cc, pic/object.cc, pic/pic.y refer/label.y refer/ref.cc,
+ refer/refer.cc, refer/token.cc, tbl/main.cc, tbl/table.cc,
+ tfmtodit/tfmtodit.cc, troff/dictionary.cc, troff/div.cc,
+ troff/env.cc, troff/input.cc, troff/node.cc, troff/symbol.cc:
+ Fix 'for' scoping.
+
+Wed Apr 19 21:15:11 1995 James Clark <jjc@jclark.com>
+
+ * troff/input.cc (spring_trap): Push a macro_iterator rather than a
+ string_iterator.
+ (spring_trap, postpone_traps, unpostpone_traps): Move to later in
+ file.
+ (macro_iterator::macro_iterator): Add additional argument.
+
+Mon Apr 10 12:06:02 1995 James Clark <jjc@jclark.com>
+
+ * troff/div.cc (vertical_size::vertical_size): In place of integer
+ specifying line spacing use cunits specifying post vertical
+ space.
+ (macro_diversion::output, top_level_diversion::output): Likewise.
+ * troff/div.h: Change declarations accordingly.
+ * troff/env.cc (pending_output_line): Replace ls field by post_vs
+ field.
+ (pending_output_line::pending_output_line,
+ pending_output_line::output, environment::output,
+ environment::output_line, environment::output_title,
+ environment::hyphenate_line): In place of
+ integer specifying line spacing use cunits specifying post vertical
+ space.
+ (environment::environment): Add post_vertical_spacing and
+ prev_post_vertical_spacing arguments.
+ (environment::get_post_vertical_spacing): New function.
+ (environment::total_post_vertical_spacing): New function.
+ (environment::post_vertical_spacing): New function.
+ (init_env_requests): Initialize pvs request and .pvs register.
+ * troff/env.h: Change declarations.
+
+Tue Mar 28 09:52:07 1995 James Clark <jjc@jclark.com>
+
+ * tmac/tmac.pspic: Immediately remove the temporary file.
+
+Sat Mar 25 10:43:11 1995 James Clark <jjc@jclark.com>
+
+ * tmac/tmac.pspic (PSPIC): Scale graphic uniformly even when
+ height is specified.
+
+Thu Jan 26 16:20:13 1995 James Clark <jjc@jclark.com>
+
+ * tbl/table.c (struct vertical rule, class table_entry): Use int
+ not short for start_row and end_row.
+
+Fri Jan 13 13:53:05 1995 James Clark <jjc@jclark.com>
+
+ * troff/input.cc (trapping_blank_line, blank_line_macro): New
+ functions.
+ (diverted_space_node::reread, process_input_stack): Call
+ trapping_blank_line() rather than blank_line().
+ (init_input_requests): Bind "blm" to blank_line_macro().
+
+ * tmac/tmac.s (XA): Use .br and par@reset rather than XA.
+
+Tue Jan 10 11:40:35 1995 James Clark <jjc@jclark.com>
+
+ * troff/env.cc (environment::possibly_break_line): Require that
+ width total excluding width of final space node be greater than
+ the target text length.
+
+Tue Jan 3 09:13:37 1995 James Clark <jjc@jclark.com>
+
+ * troff/node.cc (kern_pair_node::vertical_extent): New function.
+
+Sun Dec 4 13:19:07 1994 James Clark <jjc@jclark.com>
+
+ * troff/node.cc (charinfo_node): New class.
+ (glyph_node, composite_node): Derive from charinfo_node. Change
+ member functions accordingly.
+
+Wed Nov 30 10:29:29 1994 James Clark <jjc@jclark.com>
+
+ * nroff/nroff.sh: Use -Tlatin1 not -TLatin1.
+
+Mon Aug 8 10:17:59 1994 James Clark (jjc@jclark.com)
+
+ * tmac/tmac.tty-char: Add definitions for \(ab and \[arrowvertex].
+
+ * devps/generate/textmap (notsubset): Add.
+
+ * tmac/tmac.a4: New file.
+
+Sun Jul 24 20:08:42 1994 James Clark (jjc@jclark.com)
+
+ * pic/main.cc (had_parse_error): New variable.
+ (do_picture, do_whole_file): Set had_parse_error if yyparse()
+ returns non-zero.
+ (main): Return 1 if had_parse_error is true.
+
+Tue Jul 19 13:40:31 1994 James Clark (jjc@jclark.com)
+
+ * grolj4/lj4.cc (main): Avoid use of strtoul.
+
+Mon Jul 18 15:03:02 1994 James Clark (jjc@jclark.com)
+
+ * nroff/nroff.sh: Default device is -Tlatin1 if $LC_CTYPE is
+ iso_8859_1 or $LESSCHARSET is latin1.
+
+Sun Jul 10 13:38:35 1994 James Clark (jjc@jclark.com)
+
+ * hpftodit: New directory.
+ * Makefile.in (CCPROGDIRS): Add hpftodit.
+ * devlj4/generate: New directory.
+
+Thu Jul 7 23:49:48 1994 James Clark (jjc@jclark.com)
+
+ * configure.in: Don't use AC_VFORK.
+ * groff/pipeline.c (run_pipeline): Use fork() always.
+
+Wed Jul 6 11:13:17 1994 James Clark (jjc@jclark.com)
+
+ * grops/ps.cc (main): Use %1 not %s in error message for -w.
+
+ * Makefile.in (CCPROGDIRS): Add grolj4.
+ (DEVDIRS): Add devlj4.
+ * grolj4, devlj4: New directories.
+ * tmac/troffrc: Handle lj4.
+ * tmac/tmac.lj4: New file.
+
+Fri Jun 17 18:02:53 1994 James Clark (jjc@jclark.com)
+
+ * tmac/tmac.e (@n): Set indent to 0 before calling |h.
+
+Wed Jun 1 07:33:47 1994 James Clark (jjc@jclark.com)
+
+ * troff/input.cc (do_if_request): At end of second string, switch
+ environments before getting next token.
+
+Fri May 20 07:39:18 1994 James Clark (jjc@jclark.com)
+
+ * devps/psstrip.sed: Split rule that strips whitespace on either
+ side of delimiters.
+
+Wed May 18 08:13:47 1994 James Clark (jjc@jclark.com)
+
+ * troff/node.h (font_family::make_definition): Add return value to
+ declaration. * troff/symbol.h (symbol::operator==,
+ symbol::operator!=): Likewise.
+
+Tue May 17 20:46:06 1994 James Clark (jjc@jclark.com)
+
+ * groff/groff.cc (main, help, synopsis): Handle -S.
+ (possible_command::insert_arg): New function.
+
+ * tmac/tmac.safer: New file.
+ * tmac/msafer.man: New file.
+ * tmac/Makefile.sub (FILES): Add tmac.safer and msafer.man.
+
+Thu Mar 10 01:58:30 1994 Paul Eggert (eggert@twinsun.com)
+
+ * pic/pic.h, pic/main.cc (safer_flag): New variable.
+ * pic/pic.y (placeless_element): Avoid unsafe operations if
+ `safer_flag' is set.
+ * pic/main.cc (main): Add -S option, which sets `safer_flag'.
+
+Tue May 10 13:02:31 1994 James Clark (jjc@jclark.com)
+
+ * eqn/lex.cc (get_token): Put call to add_context() in block to
+ work around Sun C++ 4.0 bug.
+
+ * include/stringclass.h (operator +): Use ?: instead of `if' to
+ work around Sun C++ 4.0 bug.
+
+Thu May 5 11:18:03 1994 James Clark (jjc@jclark.com)
+
+ * tbl/main.cc (process_format): Accept - as a synonym for the _
+ key letter.
+
+ * libbib/index.cc (minus_one): Don't declare as const.
+
+Fri Apr 29 09:32:48 1994 James Clark (jjc@jclark.com)
+
+ * troff/input.cc (get_char_for_escape_name): Push back a newline.
+
+Wed Apr 27 21:14:18 1994 James Clark (jjc@jclark.com)
+
+ * troff/input.cc (write_macro_request): New function.
+ (init_input_requests): Bind write_macro_request to writem.
+
+Sun Apr 17 11:15:38 1994 James Clark (jjc@jclark.com)
+
+ * tmac/tmac.s (@EN): Turn filling back on even if there was no
+ equation.
+
+ * eqn/lex.cc (do_space): Supply missing argument to lex_error.
+
+ * tmac/tmac.s (@TS): Renamed from TS.
+ (TS): Call LP then TS again.
+ (cov*ab-init): Alias @TS to TS.
+
+ * tmac/tmac.s: Allow QP or RS to initialize.
+
+ * tmac/tmac.s (par@load-init): New macro. Call at end of file.
+ Move initializations of PS and LL here.
+ (par@init): Don't initialize HY. Avoid changing environment 0.
+ (par*env-init): Don't all par@reset.
+
+Thu Apr 14 19:15:45 1994 James Clark (jjc@jclark.com)
+
+ * include/posix.h: Include <fcntl.h> only if not using <osfcn.h>.
+
+Sun Apr 10 09:54:44 1994 James Clark (jjc@jclark.com)
+
+ * Makefile.in (MDEFINES): Add LDFLAGS.
+ (LDFLAGS): Add definition line.
+
+Thu Apr 7 22:22:22 1994 James Clark (jjc@jclark.com)
+
+ * troff/input.cc (get_optional_char): Split off error check into...
+ (check_missing_character): New function.
+ * troff/token.h: Declare it.
+ * troff/env.cc (margin_character): Don't call get_optional_char.
+ Only call tok.next() after making the node.
+
+ * include/lib.h (getopt): Make 2nd argument char *const *.
+
+Fri Mar 11 07:28:03 1994 James Clark (jjc@jclark.com)
+
+ * nroff/conftest.sh: Deleted.
+
+Fri Mar 4 10:51:36 1994 James Clark (jjc@jclark.com)
+
+ * pic/make-dos-dist: Deleted.
+
+Wed Mar 2 20:59:16 1994 James Clark (jjc@jclark.com)
+
+ * devps/psstrip.sed: Strip comments before stripping trailing
+ white space.
+
Sat Feb 19 13:07:16 1994 James Clark (jjc@jclark.com)
* Version 1.09 released.
diff --git a/INSTALL b/INSTALL
index 3e10726b2..639b91345 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,122 +1,31 @@
-1. Get a C++ compiler. The C++ source files use a suffix of `.cc', so
-your C++ compiler must be able to handle this. If you don't already
-have a C++ compiler, I suggest gcc 2.5.8 or later (gcc version 2
-includes GNU C++ as well as GNU C). From gcc 2.5, it is no longer
-necessary to install libg++: the C++ header files needed by groff are
-created by the gcc installation process.
+To install groff, follow the instructions in the file INSTALL.gen.
-2. In the directory that this file is in, type `./configure'. If
-you're using `csh' on an old version of System V, you might need to
-type `sh configure' instead to prevent `csh' from trying to execute
-`configure' itself.
+This file contains information that supplements those instructions.
-The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation, and
-creates the Makefile. It also creates a file `config.status' that you
-can run in the future to recreate the current configuration.
-
-Running `configure' takes a minute or two. While it is running, it
-prints some messages that tell what it is doing. It also performs
-some checks on your C++ compiler. If these checks fail, it will print
-a message and exit. In this case, you should correct the problems
-with your C++ compiler and then rerun configure.
-
-To compile the package in a different directory from the one
-containing the source code, you must use GNU make (or a version of
-make that supports VPATH in the same way as GNU make). `cd' to the
-directory where you want the object files and executables to go and
-run `configure'. `configure' automatically checks for the source code
-in the directory that `configure' is in and in `..'. If for some
-reason `configure' is not in the source code directory that you are
-configuring, then it will report that it can't find the source code.
-In that case, run `configure' with the option `--srcdir=DIR', where
-DIR is the directory that contains the source code.
-
-By default, `make install' will install the package's files in
-/usr/local/bin, /usr/local/lib/groff, and /usr/local/man. You can
-specify an installation prefix other than /usr/local by giving
-`configure' the option `--prefix=PATH'. Alternately, you can do so by
-changing the `prefix' variable in the Makefile that `configure'
-creates.
-
-You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If
-you give `configure' the option `--exec_prefix=PATH', the package will
-use PATH as the prefix for installing programs and libraries. Data
-files and documentation will still use the regular prefix. Normally,
-all files are installed using the regular prefix.
-
-You can tell `configure' to figure out the configuration for your
-system, and record it in `config.status', without actually configuring
-the package (creating `Makefile's and perhaps a configuration header
-file). To do this, give `configure' the `--no-create' option. Later,
-you can run `./config.status' to actually configure the package. This
-option is useful mainly in `Makefile' rules for updating `config.status'
-and `Makefile'. You can also give `config.status' the `--recheck'
-option, which makes it re-run `configure' with the same arguments you
-used before. This is useful if you change `configure'.
-
-`configure' ignores any other arguments that you give it.
-
-If your system requires unusual options for compilation or linking
-that `configure' doesn't know about, you can give `configure' initial
-values for some variables by setting them in the environment. In
-Bourne-compatible shells, you can do that on the command line like
-this:
- CC='gcc -traditional' DEFS=-D_POSIX_SOURCE ./configure
-
-The `make' variables that you might want to override with environment
-variables when running `configure' are:
-
-(For these variables, any value given in the environment overrides the
-value that `configure' would choose:)
-CC C compiler program.
- Default is `cc', or `gcc' if `gcc' is in your PATH.
-CCC C++ compiler program (for .cc files).
- By default, configure will look for gcc version 2, g++,
- and then CC.
-INSTALL Program to use to install files.
- Default is `install' if you have it, `cp' otherwise.
-PAGE This should be `A4' if your PostScript printer uses
- A4 paper and `letter' if your printer uses 8.5x11in
- paper.
-
-(For these variables, any value given in the environment is added to
-the value that `configure' chooses:)
-DEFS Configuration options, in the form `-Dfoo -Dbar ...'
-LIBS Libraries to link with, in the form `-lfoo -lbar ...'
-CCLIBS Libraries to link C++ programs with, in the same form.
+groff is written in C++, so you will need a C++ compiler. The C++
+source files use a suffix of `.cc', so your C++ compiler must be able
+to handle this. If you don't already have a C++ compiler, I suggest
+gcc 2.7.1 or later (gcc version 2 includes GNU C++ as well as GNU C).
+From gcc 2.5, it is no longer necessary to install libg++: the C++
+header files needed by groff are created by the gcc installation
+process. To override configure's choice of C++ compiler, you can set
+the CXX environment variable.
If you have a library that provides a faster malloc than your system's
usual malloc, it is good idea to include it in LIBS. For example,
using the malloc that comes with GNU Emacs version 18 can give a
worthwhile (and sometimes spectacular) performance improvement.
-If you need to do unusual things to compile the package, we encourage
-you to figure out how `configure' could check whether to do them, and
-mail diffs or instructions to the address given in the README so we
-can include them in the next release.
-
-3. Have a look at the generated Makefile. The options you are most
-likely to want to change are near the beginning. Make sure that the
-definition of PAGE is correct.
-
-4. Type `make'.
-
-5. Use the test-groff script to try groff out on one of the man pages.
-(Use the .n files not the .man files.) The test-groff script sets up
-environment variables to allow groff to run without being installed.
-The current directory must be the build directory when the script is
-run. For example, you could do
+When you have build groff, you can use the test-groff script to try
+groff out on one of the man pages. (Use the .n files not the .man
+files.) The test-groff script sets up environment variables to allow
+groff to run without being installed. The current directory must be
+the build directory when the script is run. For example, you could do
./test-groff -man -Tascii groff/groff.n | less
-6. If you want to install gxditview (an X11 previewer), follow the
+If you want to install gxditview (an X11 previewer), follow the
instructions in the INSTALL file in the xditview directory.
-7. Type `make install' to install groff.
-
-8. Try the installed version of groff on one of the man pages.
-
If you have problems, read the PROBLEMS file. If this doesn't help
send a bug report using the form in the file BUG-REPORT.
diff --git a/INSTALL.gen b/INSTALL.gen
new file mode 100644
index 000000000..95d84c820
--- /dev/null
+++ b/INSTALL.gen
@@ -0,0 +1,176 @@
+Basic Installation
+==================
+
+ These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+ The file `configure.in' is used to create `configure' by a program
+called `autoconf'. You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes awhile. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. You can give `configure'
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+ By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+ CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+ If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+ Use and save the results of the tests in FILE instead of
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
+ debugging `configure'.
+
+`--help'
+ Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made.
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--version'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+
diff --git a/Makefile b/Makefile
index 8d93c936b..5e09c1984 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
-# Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
SHELL=/bin/sh
diff --git a/Makefile.ccpg b/Makefile.ccpg
index 20e888add..ff774ddf3 100644
--- a/Makefile.ccpg
+++ b/Makefile.ccpg
@@ -5,7 +5,7 @@ MAKEFILEPARTS=$(srcdir)/../Makefile.comm ../Makefile.cfg \
all: $(PROG) $(MANPAGES)
$(PROG): $(OBJS) $(XLIBS)
- $(LINK.cc) -o $@ $(OBJS) $(XLIBS) $(CCLIBS) $(LIBS) $(MLIB)
+ $(LINK.cc) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)
install_bin: install_prog
install_prog: $(PROG)
@@ -23,4 +23,4 @@ pure: $(PROG).pure
$(PROG).pure: $(OBJS) $(XLIBS)
$(PURIFY) $(PURIFYCCFLAGS) \
- $(LINK.cc) -o $@ $(OBJS) $(XLIBS) $(CCLIBS) $(LIBS) $(MLIB)
+ $(LINK.cc) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)
diff --git a/Makefile.comm b/Makefile.comm
index 63c80ab5f..3888444a2 100644
--- a/Makefile.comm
+++ b/Makefile.comm
@@ -15,7 +15,7 @@
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
-# Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# Makefile.comm
#
@@ -119,8 +119,8 @@ extraclean:
-e "s;@MAN1EXT@;$(man1ext);g" \
-e "s;@MAN5EXT@;$(man5ext);g" \
-e "s;@MAN7EXT@;$(man7ext);g" \
- -e "s;@TMAC_S@;$(tmac_s);g" \
- -e "s;@TMAC_M@;$(tmac_m);g" \
+ -e "s;@TMAC_S_PREFIX@;$(tmac_s_prefix);g" \
+ -e "s;@TMAC_M_PREFIX@;$(tmac_m_prefix);g" \
-e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \
-e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \
-e "s;@VERSION@;`cat $(srcdir)/../VERSION`;g" \
diff --git a/Makefile.in b/Makefile.in
index 59dc52482..58da8bc8f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -15,7 +15,7 @@
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
-# Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Define `page' to be letter if your PostScript printer uses 8.5x11
# paper (USA) and define it to be A4, if it uses A4 paper (rest of the
@@ -60,43 +60,58 @@ DVIPRINT=@DVIPRINT@
# For example, if `g' is `g' then troff will be installed as
# gtroff. This doesn't affect programs like grops or groff that have
# no Unix counterparts. Note that the groff versions of eqn and tbl
-# will not work with Unix troff. This is also use in the definitions
-# of tmac_s and tmac_m.
-g=g
-
-# The groff ms macros will be available as -m$(tmac_s).
-# If you use `tmac_s=s', you can use the Unix ms macros by using
-# groff -ms -M/usr/lib/tmac.
-tmac_s=$(g)s
-
-# Similarly, the groff mm macros will be available as -m$(tmac_m).
-tmac_m=$(g)m
+# will not work with Unix troff.
+g=@g@
# Common prefix for installation directories.
# Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
# This must already exist when you do make install.
-prefix=/usr/local
+prefix=@prefix@
-exec_prefix=$(prefix)
+exec_prefix=@exec_prefix@
# bindir says where to install executables.
bindir=$(exec_prefix)/bin
# datasubdir says where to install data files
-datadir=$(prefix)/lib
+datadir=$(prefix)/share
datasubdir=$(datadir)/groff
# fontdir says where to install dev*/*.
fontdir=$(datasubdir)/font
# fontpath says where to look for dev*/*.
-fontpath=.:$(fontdir):$(prefix)/lib/font:/usr/lib/font
+fontpath=.:$(fontdir):/usr/lib/font
# tmacdir says where to install macros.
tmacdir=$(datasubdir)/tmac
# tmacpath says where to look for macro files.
-tmacpath=.:$(tmacdir):/usr/lib/tmac
+tmacpath=.:$(tmacdir)
+
+# sys_tmac_prefix is prefix (if any) for system macro packages
+sys_tmac_prefix=@sys_tmac_prefix@
+
+# tmac_wrap is list of system macro packages that should be made
+# available to groff by creating a corresponding macro package
+# in the groff macro directory that references the system macro
+# package.
+tmac_wrap=@tmac_wrap@
+
+# If there is a groff version of a macro package listed in $(tmac_wrap),
+# then the groff version will be installed with a prefix of this.
+# Don't make this empty.
+tmac_prefix=g
+
+# The groff -mm macros will be available as -m($(tmac_m_prefix)m.
+tmac_m_prefix=\
+ `for i in $(tmac_wrap) ""; do case "$$i" in m) echo $(tmac_prefix);; esac; done`
+# The groff -ms macros will be available as -m($(tmac_m_prefix)s.
+tmac_s_prefix=\
+ `for i in $(tmac_wrap) ""; do case "$$i" in s) echo $(tmac_prefix);; esac; done`
+# The groff -man macros will be available as -m($(tmac_m_prefix)an.
+tmac_an_prefix=\
+ `for i in $(tmac_wrap) ""; do case "$$i" in an) echo $(tmac_prefix);; esac; done`
# Extension to be used for refer index files. Index files are not
# sharable between different architectures, so you might want to use
@@ -132,10 +147,6 @@ man7dir=$(manroot)/man$(man7ext)
# DEFINES should include the following:
# -DHAVE_MMAP if you have mmap() and <sys/mman.h>
-# -DCFRONT_ANSI_BUG if you're using cfront 2.0 (or later?) with
-# an ANSI C compiler
-# -DCOOKIE_BUG if you're using gcc/g++ 2.[012] (you should
-# upgrade to 2.3).
# -DARRAY_DELETE_NEEDS_SIZE if your C++ doesn't understand `delete []'
# -DHAVE_SYS_SIGLIST if you have sys_siglist[]
# -DWCOREFLAG=0200 if the 0200 bit of the status returned by
@@ -149,8 +160,6 @@ man7dir=$(manroot)/man$(man7ext)
# -DHAVE_CC_LIMITS_H if you have a C++ <limits.h>
# -DHAVE_SYS_DIR_H if you have <sys/dir.h>
# -DHAVE_STDLIB_H if you have <stdlib.h>
-# -DHAVE_VFORK_H if you have <vfork.h>
-# -Dvfork=fork if you don't have a working vfork()
# -DHAVE_RENAME if you have rename()
# -DHAVE_MKSTEMP if you have mkstemp()
# -DSTDLIB_H_DECLARES_GETOPT if your C++ <stdlib.h> declares getopt()
@@ -169,22 +178,20 @@ DEFINES=@DEFS@
LIBOBJS=@LIBOBJS@
# CCC is the compiler for C++ (.cc) files.
-CCC=@CCC@
+CCC=@CXX@
CC=@CC@
# CCDEFINES are definitions for C++ compilations.
CCDEFINES=$(DEFINES)
# CDEFINES are definitions for C compilations.
CDEFINES=$(DEFINES)
-DEBUG=
-OPTIMIZE=-O
-CCFLAGS=$(DEBUG) $(OPTIMIZE)
-CFLAGS=$(DEBUG) $(OPTIMIZE)
+CCFLAGS=@CXXFLAGS@
+CFLAGS=@CFLAGS@
+LDFLAGS=
YACC=@YACC@
YACCFLAGS=-v
LIBS=@LIBS@
-CCLIBS=@CCLIBS@
RANLIB=@RANLIB@
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
@@ -194,7 +201,7 @@ AR=ar
ETAGS=etags
ETAGSFLAGS=
# Flag that tells etags to assume C++.
-ETAGSCCFLAG=@ETAGSCCFLAG@
+ETAGSCCFLAG=-C
# Full path to perl.
PERLPATH=@PERLPATH@
# Sed command with which to edit sh scripts.
@@ -222,12 +229,13 @@ MDEFINES="MAKEOVERRIDES=$(MAKEOVERRIDES)" \
"manroot=$(manroot)" "man1ext=$(man1ext)" "man1dir=$(man1dir)" \
"man5ext=$(man5ext)" "man5dir=$(man5dir)" \
"man7ext=$(man7ext)" "man7dir=$(man7dir)" \
- "tmac_s=$(tmac_s)" "tmac_m=$(tmac_m)" \
+ "tmac_wrap=$(tmac_wrap)" "sys_tmac_prefix=$(sys_tmac_prefix)" \
+ "tmac_an_prefix=$(tmac_an_prefix)" \
+ "tmac_s_prefix=$(tmac_s_prefix)" "tmac_m_prefix=$(tmac_m_prefix)" \
"CCC=$(CCC)" "CC=$(CC)" "CCDEFINES=$(CCDEFINES)" "CDEFINES=$(CDEFINES)" \
- "CCFLAGS=$(CCFLAGS)" "CFLAGS=$(CFLAGS)" \
+ "CCFLAGS=$(CCFLAGS)" "CFLAGS=$(CFLAGS)" "LDFLAGS=$(LDFLAGS)" \
"YACC=$(YACC)" "YACCFLAGS=$(YACCFLAGS)" \
- "LIBS=$(LIBS)" "CCLIBS=$(CCLIBS)" "LIBOBJS=$(LIBOBJS)" \
- "RANLIB=$(RANLIB)" "AR=$(AR)" \
+ "LIBS=$(LIBS)" "LIBOBJS=$(LIBOBJS)" "RANLIB=$(RANLIB)" "AR=$(AR)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_DATA=$(INSTALL_DATA)" \
"ETAGS=$(ETAGS)" "ETAGSFLAGS=$(ETAGSFLAGS)" "ETAGSCCFLAG=$(ETAGSCCFLAG)" \
"PERLPATH=$(PERLPATH)" "SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \
@@ -237,10 +245,11 @@ SHELL=/bin/sh
INCDIRS=include
LIBDIRS=libgroff libdriver libbib
CCPROGDIRS=groff troff tbl pic eqn grops grotty grodvi tfmtodit \
- refer lookbib indxbib lkbib soelim addftinfo
+ grolj4 hpftodit refer lookbib indxbib lkbib soelim addftinfo
CPROGDIRS=pfbtops psbb
PROGDIRS=$(CCPROGDIRS) $(CPROGDIRS)
-DEVDIRS=devps devdvi devascii devlatin1 devX75 devX75-12 devX100 devX100-12
+DEVDIRS=devps devdvi devascii devlatin1 devX75 devX75-12 devX100 devX100-12 \
+ devlj4
OTHERDIRS=man tmac afmtodit grog nroff mm
ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(OTHERDIRS)
EXTRADIRS=devps/generate devdvi/generate xditview doc
diff --git a/Makefile.init b/Makefile.init
index 8d93c936b..5e09c1984 100644
--- a/Makefile.init
+++ b/Makefile.init
@@ -15,7 +15,7 @@
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
-# Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
SHELL=/bin/sh
diff --git a/Makefile.sub b/Makefile.sub
index f0d09a3d7..518233e27 100644
--- a/Makefile.sub
+++ b/Makefile.sub
@@ -3,5 +3,5 @@ CLEANADD=Makefile.cfg conftest*
distfiles: configure
-configure: configure.in acgroff.m4
+configure: configure.in aclocal.m4
cd $(srcdir); autoconf
diff --git a/NEWS b/NEWS
index f92f47580..0e0e1fcad 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,52 @@
This file describes recent user-visible changes in groff. Bug fixes
are not described. There are more details in the man pages.
+VERSION 1.10
+============
+
+The directory where data files are installed has been changed from
+/usr/local/lib/groff to /usr/local/share/groff to comply with the
+latest GNU coding standards.
+
+By default groff programs with Unix equivalents are installed with a
+"g" prefix unless there is an existing (non-groff) troff installation.
+
+A new approach is used to make system macro packages available to
+groff. Instead of simply including /usr/lib/tmac in the list of
+directories searched by groff, the installation process creates for
+each system macro package a wrapper macro package in the groff macro
+directory that references the system macro package. The groff macro
+packages are now installed with a leading "g" prefix if there is a
+system version of the same macro package, and otherwise without the
+"g" prefix, with the exception that the groff version of -me which is
+always installed as -me.
+
+There is a new device, lj4, for the HP LaserJet 4 (and PCL5
+compatibles).
+
+Groff
+-----
+
+groff has a -S option that prevents the use of unsafe features in pic
+and troff. This uses a new -S option of pic and the -msafer macros
+for troff.
+
+Troff
+-----
+
+The `blm' request specifies a macro to be invoked when a blank line is
+encountered.
+
+Pic
+---
+
+A -S (safer) option disables the sh command.
+
+Grops
+-----
+
+The -m option enables manual feed.
+
VERSION 1.09
============
@@ -127,7 +173,7 @@ The `rchar' request removes a character definition established with `char'.
Compatibility mode is disabled and the escape character is set to `\'
while a character definition is being processed.
-The `\#' escape sequence is like `\%' except that the terminating
+The `\#' escape sequence is like `\"' except that the terminating
newline is ignored.
The `shc' request tells troff which character to insert (instead of
diff --git a/PROBLEMS b/PROBLEMS
index feb2f88be..cc879908c 100644
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -9,7 +9,8 @@ Make sure -DCFRONT_ANSI_BUG is included in DEFINES in the top-level
Makefile. If that doesn't solve the problem, define INT_MIN as
-INT_MAX in libgroff/lib.h.
-* I get errors when I try to compile groff with Sun C++.
+* I get errors when I try to compile groff with Sun C++ version 3 or
+earlier.
Groff requires header files that are moderately compatible with AT&T
C++ and ANSI C. With some versions of Sun C++, the supplied header
@@ -309,7 +310,7 @@ line. This must be deleted. Then either use groff -C, or apply the
following patch:
*** wrapman.~2~ Sun Jan 19 12:10:24 1992
---- wrapman Fri Apr 2 12:12:57 1993
+--- wrapman Tue Aug 10 02:06:41 1993
***************
*** 35,41 ****
$line1 .= <IN> if $line1 =~ /eval/;
@@ -323,7 +324,7 @@ following patch:
$line1 .= <IN> if $line1 =~ /eval/;
$line1 .= <IN> if $line1 =~ /argv/;
$line2 = <IN>;
-! next if $line2 eq "'di ';\n";
+! next if $line2 eq "'di ';\n" || $line2 eq "'di';\n";
# Pull the old switcheroo.
@@ -337,12 +338,13 @@ following patch:
#
# $header
#
---- 49,57 ----
+--- 49,58 ----
print OUT $line1;
print OUT <<EOF;
! 'di ';
! 'ds 00 \\"';
+! 'eo ';
! 'ig 00 ';
#
# $header
@@ -363,11 +365,12 @@ following patch:
.SH NAME
$prog \\- whatever
.SH SYNOPSIS
---- 73,85 ----
+--- 74,87 ----
# These next few lines are legal in both Perl and nroff.
! $null.00 ; # finish .ig
+! 'ec \\';
'di \\" finish diversion--previous line must be blank
.nr nl 0-1 \\" fake up transition to first page again
@@ -434,7 +437,8 @@ Grap is not freely available, but there is a nawk script implementing
an extended subset of grap available for ftp as
ftp.informatik.uni-rostock.de:/pub/local/software/prag-1.0.shar.gz.
-* How can I use groff with a Laserjet printer?
+* How can I use groff with an old LaserJet printer that doesn't work
+with groff -Tlj4?
You have at least 3 options:
@@ -442,7 +446,7 @@ You have at least 3 options:
- use groff -Tdvi with a TeX .dvi to Laserjet driver;
-- use groff with the Laserjet driver in Chris Lewis' psroff package
+- use groff with the LaserJet driver in Chris Lewis' psroff package
(available for ftp from:
ftp.uunet.ca:/distrib/chris_lewis/psroff3.0pl17).
diff --git a/PROJECTS b/PROJECTS
index 6ba76e2f3..1691e0321 100644
--- a/PROJECTS
+++ b/PROJECTS
@@ -1,7 +1,5 @@
Here are some things that would be useful additions to groff:
- a driver for the HP Laserjet 2 and 3
-
grap
-mv macros (for typesetting viewgraphs and slides)
diff --git a/README b/README
index a8982c20e..bd2884218 100644
--- a/README
+++ b/README
@@ -3,10 +3,10 @@ is given in the file VERSION.
Included in this release are implementations of troff, pic, eqn, tbl,
refer, the -man macros and the -ms macros, and drivers for PostScript,
-TeX dvi format, and typewriter-like devices. Also included is a
-modified version of the Berkeley -me macros, an enhanced version of
-the X11 xditview previewer, and an implementation of the -mm macros
-contributed by Joergen Haegg (jh@efd.lth.se).
+TeX dvi format, HP LaserJet 4 printers, and typewriter-like devices.
+Also included is a modified version of the Berkeley -me macros, an
+enhanced version of the X11 xditview previewer, and an implementation
+of the -mm macros contributed by Joergen Haegg (jh@efd.lth.se).
See the file INSTALL for installation instructions. You will require
a C++ compiler.
@@ -30,9 +30,7 @@ this is to make sure that I have all the information I need to fix the
bug. At the very least, read the BUG-REPORT form and make sure that
you supply all the information that it asks for. Even if you are not
sure that something is a bug, report it using BUG-REPORT: this will
-enable me to determine whether it really is a bug or not. As well as
-bug reports, I welcome suggestions for improvements to groff (no
-matter how small).
+enable me to determine whether it really is a bug or not.
James Clark
jjc@jclark.com
diff --git a/TODO b/TODO
index 7a7d37957..9cb74c239 100644
--- a/TODO
+++ b/TODO
@@ -1,12 +1,12 @@
-Provide man.sun implementing .TX.
+Better selection of paper sizes with -Tps.
+
+Make -Tlj4 work with -X.
-Improve GROFF_PRINT macro in acgroff.m4.
+Guess man5ext and man7ext variables.
-Guess value for `g' variable.
+Provide man.sun implementing .TX.
-Guess appropriate value for tmac_m and tmac_s
-(if /usr/lib/tmac/tmac.s or /usr/local/lib/groff/tmac/tmac.s exists
-and is not the groff -ms macros then install as -mgs else install as -ms).
+Improve GROFF_PRINT macro in aclocal.m4.
Put all dev* files in a separate subdirectory `font'.
diff --git a/VERSION b/VERSION
index 799001daa..c044b1a32 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.09
+1.10
diff --git a/acgroff.m4 b/acgroff.m4
deleted file mode 100644
index f1a7cd1d5..000000000
--- a/acgroff.m4
+++ /dev/null
@@ -1,403 +0,0 @@
-dnl Autoconf macros for groff.
-dnl Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
-dnl
-dnl This file is part of groff.
-dnl
-dnl groff is free software; you can redistribute it and/or modify it under
-dnl the terms of the GNU General Public License as published by the Free
-dnl Software Foundation; either version 2, or (at your option) any later
-dnl version.
-dnl
-dnl groff is distributed in the hope that it will be useful, but WITHOUT ANY
-dnl WARRANTY; without even the implied warranty of MERCHANTABILITY or
-dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-dnl for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License along
-dnl with groff; see the file COPYING. If not, write to the Free Software
-dnl Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-dnl
-define(GROFF_EXIT,[rm -f conftest* core; exit 1])dnl
-define(GROFF_PREFIX,[AC_PROVIDE([$0])AC_PREFIX(grops)AC_PREFIX(gcc)])dnl
-define(GROFF_PROG_CCC,
-[AC_PROVIDE([$0])AC_REQUIRE([AC_PROG_CC])dnl
-cc_compile='$CCC conftest.cc -o conftest $CCLIBS $LIBS >/dev/null 2>&1'
-AC_SUBST(CCLIBS)
-if test -z "$CCC"; then
-# See whether the C compiler is also a C++ compiler.
-echo checking if C compiler is also a C++ compiler
-cat <<EOF > conftest.cc
-#ifdef __cplusplus
- yes
-#endif
-EOF
-$CC -E conftest.cc >conftest.out 2>&1
-if egrep yes conftest.out >/dev/null 2>&1; then
- CCC="$CC"
-fi
-fi
-AC_PROGRAM_CHECK(CCC,g++,g++,)
-AC_PROGRAM_CHECK(CCC,CC,CC,)
-AC_PROGRAM_CHECK(CCC,cc++,cc++,)
-if test -z "$CCC"; then
-cat <<EOM
-This package requires a C++ compiler, but I couldn't find one.
-Set the environment variable CCC to the name of your C++ compiler.
-EOM
-GROFF_EXIT
-fi
-echo checking that C++ compiler can compile very simple C++ program
-GROFF_CC_TEST_PROGRAM([
-int main() { return 0; }
-],,
-cat <<EOM
-$CCC was unable successfully to compile a very simple C++ program
-(the C++ program was in a file with a suffix of .cc)
-EOM
-GROFF_EXIT
-,)
-echo checking that C++ static constructors and destructors are called
-GROFF_CC_TEST_PROGRAM([
-extern "C" {
- void _exit(int);
-}
-int i;
-struct A {
- char dummy;
- A() { i = 1; }
- ~A() { if (i == 1) _exit(0); }
-};
-A a;
-int main() { return 1; }
-],,
-cat <<EOM
-$CCC is not installed correctly: static constructors and destructors do not work
-EOM
-GROFF_EXIT
-,)
-GROFF_CC_COMPILE_CHECK([C++ header files],[#include <stdio.h>],
-[fopen(0, 0);],,
-[cat <<\EOF
-Your header files do not appear to support C++.
-I was unable to compile and link a simple C++ program that used a function
-declared in <stdio.h>.
-If you're using a version of gcc/g++ earlier than 2.5,
-you should install libg++.
-EOF
-GROFF_EXIT])])dnl
-define(GROFF_CC_COMPILE_CHECK,
-[AC_PROVIDE([$0])AC_REQUIRE([GROFF_PROG_CCC])echo checking for $1
-cat <<EOF >conftest.cc
-[$2]
-int main() { return 0; } void t() { [$3] }
-EOF
-dnl Don't try to run the program, which would prevent cross-configuring.
-if eval $cc_compile; then
- ifelse([$4], , :, [$4])
-ifelse([$5], , , [else
- $5
-])dnl
-fi
-rm -f conftest*])dnl
-dnl
-define(GROFF_CC_TEST_PROGRAM,
-[AC_PROVIDE([$0])AC_REQUIRE([GROFF_PROG_CCC])ifelse([$4], , ,
-[AC_REQUIRE([AC_CROSS_CHECK])if $cross_compiling
-then
- $4
-else
-])dnl
-cat <<EOF > conftest.cc
-[$1]
-EOF
-rm -f conftest
-eval $cc_compile
-if test -s conftest && (./conftest) 2>/dev/null; then
- ifelse([$2], , :, [$2])
-ifelse([$3], , , [else
- $3
-])dnl
-fi
-ifelse([$4], , , fi
-)dnl
-rm -f conftest*])dnl
-dnl
-define(GROFF_PAGE,
-[AC_REQUIRE([GROFF_PREFIX])
-if test -z "$PAGE" && test -r $prefix/lib/groff/font/devps/DESC
-then
- if grep "^paperlength 841890" \
- $prefix/lib/groff/font/devps/DESC >/dev/null 2>&1
- then
- PAGE=A4
- else
- PAGE=letter
- fi
-fi
-if test -z "$PAGE"
-then
- dom=`awk '([$]1 == "dom" || [$]1 == "search") { print [$]2; exit}' \
- /etc/resolv.conf 2>/dev/null`
-
- if test -z "$dom"
- then
- dom=`(domainname) 2>/dev/null | tr -d '+'`
- if test -z "$dom"
- then
- dom=`(hostname) 2>/dev/null | grep '\.'`
- fi
- fi
-
-changequote(,)dnl
- # If the top-level domain is two letters and it's not `us' or `ca'
- # then they probably use A4 paper.
- case "$dom" in
- *.[Uu][Ss]|*.[Cc][Aa]) ;;
- *.[A-Za-z][A-Za-z]) PAGE=A4 ;;
- esac
-changequote([,])dnl
-fi
-test -n "$PAGE" || PAGE=letter
-echo guessing $PAGE size paper
-AC_SUBST(PAGE)])dnl
-dnl
-define(GROFF_PERL_PATH,
-[echo checking for perl
-PERLPATH=
-saveifs="$IFS"; IFS="${IFS}:"
-for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/perl; then
- PERLPATH="$dir/perl"
- break
- fi
-done
-IFS="$saveifs"
-AC_SUBST(PERLPATH)])dnl
-dnl
-define(GROFF_WCOREFLAG,
-[echo checking for w_coredump
-AC_TEST_PROGRAM([
-#include <sys/types.h>
-#include <sys/wait.h>
-main()
-{
-#ifdef WCOREFLAG
- exit(1);
-#else
- int i = 0;
- ((union wait *)&i)->w_coredump = 1;
- exit(i != 0200);
-#endif
-}
-],AC_DEFINE(WCOREFLAG,0200),,)])dnl
-dnl
-define(GROFF_MMAP,
-[AC_COMPILE_CHECK([mmap],[#include <sys/types.h>
-#include <sys/mman.h>],
-[char *p = mmap(0, 0, PROT_READ, MAP_PRIVATE, 0, 0); munmap(p, 0);],
-AC_DEFINE(HAVE_MMAP))])dnl
-dnl;
-define(GROFF_SYS_SIGLIST,
-[AC_COMPILE_CHECK([sys_siglist],,changequote(,)dnl
-extern char *sys_siglist[]; sys_siglist[0] = 0;,changequote([,])dnl
-AC_DEFINE(HAVE_SYS_SIGLIST))])dnl
-dnl
-define(GROFF_STRUCT_EXCEPTION,
-[AC_COMPILE_CHECK([struct exception],[#include <math.h>],
-[struct exception e;],
-AC_DEFINE(HAVE_STRUCT_EXCEPTION))])dnl
-define(GROFF_COOKIE_BUG,
-[echo checking for gcc/g++ delete bug
-GROFF_CC_TEST_PROGRAM([
-#include <stdlib.h>
-#include <stddef.h>
-
-int testit = 0;
-
-int main()
-{
- testit = 1;
- int *p = new int;
- delete p;
- testit = 0;
- return 1;
-}
-
-static unsigned dummy[3];
-
-void *operator new(size_t n)
-{
- if (testit) {
- dummy[1] = -(unsigned)(dummy + 2);
- return dummy + 2;
- }
- else
- return (void *)malloc(n);
-}
-
-void operator delete(void *p)
-{
- if (testit) {
- if (p == dummy)
- exit(0);
- }
- else
- free(p);
-}
-],AC_DEFINE(COOKIE_BUG),,)])dnl
-dnl
-define(GROFF_CFRONT_ANSI_BUG,
-[AC_REQUIRE([GROFF_LIMITS_H])echo checking for cfront ANSI C INT_MIN bug
-GROFF_CC_TEST_PROGRAM([#include <stdlib.h>
-#ifdef HAVE_CC_LIMITS_H
-#include <limits.h>
-#else
-#define INT_MAX 2147483647
-#endif
-
-#undef INT_MIN
-#define INT_MIN (-INT_MAX-1)
-
-int main()
-{
- int z = 0;
- return INT_MIN < z;
-}
-],AC_DEFINE(CFRONT_ANSI_BUG),,)])dnl
-dnl
-define(GROFF_ARRAY_DELETE,
-[GROFF_CC_COMPILE_CHECK(new array delete syntax,,
-changequote(,)dnl
-char *p = new char[5]; delete [] p;changequote([,]),
-,AC_DEFINE(ARRAY_DELETE_NEEDS_SIZE))])dnl
-dnl
-define(GROFF_BROKEN_SPOOLER_FLAGS,
-[test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=7
-echo using default value of ${BROKEN_SPOOLER_FLAGS} for grops -b option
-AC_SUBST(BROKEN_SPOOLER_FLAGS)])dnl
-dnl
-define(GROFF_PRINT,
-[if test -z "$PSPRINT"
-then
- AC_PROGRAMS_CHECK(LPR,lpr)
- AC_PROGRAMS_CHECK(LP,lp)
- if test -n "$LPR" && test -n "$LP"
- then
- # HP-UX provides an lpr command that emulates lpr using lp,
- # but it doesn't have lpq; in this case we want to use lp
- # rather than lpr.
- AC_PROGRAMS_CHECK(LPQ,lpq)
- test -n "$LPQ" || LPR=
- fi
- if test -n "$LPR"
- then
- PSPRINT="$LPR"
- elif test -n "$LP"
- then
- PSPRINT="$LP"
- fi
-fi
-AC_SUBST(PSPRINT)
-# Figure out DVIPRINT from PSPRINT.
-if test -n "$PSPRINT" && test -z "$DVIPRINT"
-then
- if test "X$PSPRINT" = "Xlpr"
- then
- DVIPRINT="lpr -d"
- else
- DVIPRINT="$PSPRINT"
- fi
-fi
-AC_SUBST(DVIPRINT)])dnl
-define(GROFF_GETOPT,
-[GROFF_CC_COMPILE_CHECK([declaration of getopt in stdlib.h],
-[#include <stdlib.h>
-extern "C" { void getopt(int); }],,,
-AC_DEFINE(STDLIB_H_DECLARES_GETOPT))
-GROFF_CC_COMPILE_CHECK([declaration of getopt in unistd.h],
-[#include <sys/types.h>
-#include <unistd.h>
-extern "C" { void getopt(int); }],,,
-AC_DEFINE(UNISTD_H_DECLARES_GETOPT))
-])dnl
-define(GROFF_PUTENV,
-[GROFF_CC_COMPILE_CHECK([declaration of putenv],
-[#include <stdlib.h>
-extern "C" { void putenv(int); }],,,
-AC_DEFINE(STDLIB_H_DECLARES_PUTENV))])dnl
-define(GROFF_POPEN,
-[GROFF_CC_COMPILE_CHECK([declaration of popen],
-[#include <stdio.h>
-extern "C" { void popen(int); }],,,
-AC_DEFINE(STDIO_H_DECLARES_POPEN))])dnl
-define(GROFF_PCLOSE,
-[GROFF_CC_COMPILE_CHECK([declaration of pclose],
-[#include <stdio.h>
-extern "C" { void pclose(int); }],,,
-AC_DEFINE(STDIO_H_DECLARES_PCLOSE))])dnl
-define(GROFF_ETAGSCCFLAG,
-[echo checking for etags C++ option
-for flag in p C
-do
- test -z "$ETAGSCCFLAG" || break
- >conftest.c
- (etags -$flag -o /dev/null conftest.c >/dev/null 2>&1) 2>/dev/null &&
- ETAGSCCFLAG="-$flag"
- rm -f conftest.c
-done
-AC_SUBST(ETAGSCCFLAG)])dnl
-define(GROFF_LIMITS_H,
-[AC_PROVIDE([$0])GROFF_CC_COMPILE_CHECK(['C++ <limits.h>'],
-[#include <limits.h>],
-[int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX;],
-AC_DEFINE(HAVE_CC_LIMITS_H))])dnl
-define(GROFF_TRADITIONAL_CPP,
-[GROFF_CC_COMPILE_CHECK([traditional preprocessor],
-[#define name2(a,b) a/**/b],[int name2(foo,bar);],
-AC_DEFINE(TRADITIONAL_CPP))])dnl
-define(GROFF_TIME_T,
-[GROFF_CC_COMPILE_CHECK([time_t],[#include <time.h>],
-[time_t t = time(0); struct tm *p = localtime(&t);],,
-AC_DEFINE(LONG_FOR_TIME_T))])dnl
-define(GROFF_OSFCN_H,
-[GROFF_CC_COMPILE_CHECK(['C++ <osfcn.h>'],[#include <osfcn.h>],
-[read(0, 0, 0); open(0, 0);],AC_DEFINE(HAVE_CC_OSFCN_H))])dnl
-dnl Bison generated parsers have problems with C++ compilers other than g++.
-dnl So byacc is preferred over bison.
-define(GROFF_PROG_YACC,
-[AC_PROGRAM_CHECK(YACC, byacc, byacc, )
-AC_PROGRAM_CHECK(YACC, bison, bison -y, yacc)
-])dnl
-dnl GROFF_CSH_HACK(if hack present, if not present)
-define(GROFF_CSH_HACK,
-[echo 'checking for csh # hack'
-cat <<EOF >conftest.sh
-#!/bin/sh
-true || exit 0
-export PATH || exit 0
-exit 1
-EOF
-chmod +x conftest.sh
-if echo ./conftest.sh | (csh >/dev/null 2>&1) >/dev/null 2>&1
-then
- :; $1
-else
- :; $2
-fi
-rm -f conftest.sh
-])dnl
-define(GROFF_POSIX,
-[GROFF_CC_COMPILE_CHECK(whether -D_POSIX_SOURCE is necessary,
-[#include <stdio.h>],
-[(void)fileno(stdin);],,
-AC_DEFINE(_POSIX_SOURCE))])dnl
-dnl From udodo!hans@relay.NL.net (Hans Zuidam)
-define(GROFF_ISC_SYSV3,
-[echo 'checking for ISC 3.x or 4.x'
-changequote(,)dnl
-if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
-changequote([,])dnl
-then
- AC_DEFINE(_SYSV3)
-fi])dnl
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 000000000..b152d2f7c
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,385 @@
+dnl Autoconf macros for groff.
+dnl Copyright (C) 1989, 1990, 1991, 1992, 1995 Free Software Foundation, Inc.
+dnl
+dnl This file is part of groff.
+dnl
+dnl groff is free software; you can redistribute it and/or modify it under
+dnl the terms of the GNU General Public License as published by the Free
+dnl Software Foundation; either version 2, or (at your option) any later
+dnl version.
+dnl
+dnl groff is distributed in the hope that it will be useful, but WITHOUT ANY
+dnl WARRANTY; without even the implied warranty of MERCHANTABILITY or
+dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+dnl for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License along
+dnl with groff; see the file COPYING. If not, write to the Free Software
+dnl Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+dnl
+AC_DEFUN(GROFF_PRINT,
+[if test -z "$PSPRINT"
+then
+ AC_CHECK_PROGS(LPR,lpr)
+ AC_CHECK_PROGS(LP,lp)
+ if test -n "$LPR" && test -n "$LP"
+ then
+ # HP-UX provides an lpr command that emulates lpr using lp,
+ # but it doesn't have lpq; in this case we want to use lp
+ # rather than lpr.
+ AC_CHECK_PROGS(LPQ,lpq)
+ test -n "$LPQ" || LPR=
+ fi
+ if test -n "$LPR"
+ then
+ PSPRINT="$LPR"
+ elif test -n "$LP"
+ then
+ PSPRINT="$LP"
+ fi
+fi
+AC_SUBST(PSPRINT)
+AC_MSG_CHECKING([for command to use for printing PostScript files])
+AC_MSG_RESULT($PSPRINT)
+# Figure out DVIPRINT from PSPRINT.
+AC_MSG_CHECKING([for command to use for printing dvi files])
+if test -n "$PSPRINT" && test -z "$DVIPRINT"
+then
+ if test "X$PSPRINT" = "Xlpr"
+ then
+ DVIPRINT="lpr -d"
+ else
+ DVIPRINT="$PSPRINT"
+ fi
+fi
+AC_SUBST(DVIPRINT)
+AC_MSG_RESULT($DVIPRINT)])dnl
+dnl Bison generated parsers have problems with C++ compilers other than g++.
+dnl So byacc is preferred over bison.
+AC_DEFUN(GROFF_PROG_YACC,
+[AC_CHECK_PROGS(YACC, byacc 'bison -y', yacc)])
+dnl GROFF_CSH_HACK(if hack present, if not present)
+AC_DEFUN(GROFF_CSH_HACK,
+[AC_MSG_CHECKING([for csh hash hack])
+cat <<EOF >conftest.sh
+#!/bin/sh
+true || exit 0
+export PATH || exit 0
+exit 1
+EOF
+chmod +x conftest.sh
+if echo ./conftest.sh | (csh >/dev/null 2>&1) >/dev/null 2>&1
+then
+ AC_MSG_RESULT(yes); $1
+else
+ AC_MSG_RESULT(no); $2
+fi
+rm -f conftest.sh
+])dnl
+dnl From udodo!hans@relay.NL.net (Hans Zuidam)
+AC_DEFUN(GROFF_ISC_SYSV3,
+[AC_MSG_CHECKING([for ISC 3.x or 4.x])
+changequote(,)dnl
+if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
+changequote([,])dnl
+then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(_SYSV3)
+else
+ AC_MSG_RESULT(no)
+fi])dnl
+AC_DEFUN(GROFF_POSIX,
+[AC_MSG_CHECKING([whether -D_POSIX_SOURCE is necessary])
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_TRY_COMPILE([#include <stdio.h>
+extern "C" { void fileno(int); }],,
+AC_MSG_RESULT(yes);AC_DEFINE(_POSIX_SOURCE),
+AC_MSG_RESULT(no))
+AC_LANG_RESTORE])dnl
+AC_DEFUN(GROFF_GETOPT,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([declaration of getopt in stdlib.h])
+AC_TRY_COMPILE(
+[#include <stdlib.h>
+extern "C" { void getopt(int); }],,AC_MSG_RESULT(no),
+AC_MSG_RESULT(yes);AC_DEFINE(STDLIB_H_DECLARES_GETOPT))
+AC_MSG_CHECKING([declaration of getopt in unistd.h])
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <unistd.h>
+extern "C" { void getopt(int); }],,AC_MSG_RESULT(no),
+AC_MSG_RESULT(yes);AC_DEFINE(UNISTD_H_DECLARES_GETOPT))
+AC_LANG_RESTORE])dnl
+AC_DEFUN(GROFF_PUTENV,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([declaration of putenv])
+AC_TRY_COMPILE([#include <stdlib.h>
+extern "C" { void putenv(int); }],,AC_MSG_RESULT(no),
+AC_MSG_RESULT(yes)
+AC_DEFINE(STDLIB_H_DECLARES_PUTENV))
+AC_LANG_RESTORE])dnl
+AC_DEFUN(GROFF_POPEN,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([declaration of popen])
+AC_TRY_COMPILE([#include <stdio.h>
+extern "C" { void popen(int); }],,AC_MSG_RESULT(no),
+AC_MSG_RESULT(yes);AC_DEFINE(STDIO_H_DECLARES_POPEN))
+AC_LANG_RESTORE])dnl
+AC_DEFUN(GROFF_PCLOSE,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([declaration of pclose])
+AC_TRY_COMPILE([#include <stdio.h>
+extern "C" { void pclose(int); }],,AC_MSG_RESULT(no),
+AC_MSG_RESULT(yes);AC_DEFINE(STDIO_H_DECLARES_PCLOSE))
+AC_LANG_RESTORE])dnl
+AC_DEFUN(GROFF_OSFCN_H,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([C++ <osfcn.h>])
+AC_TRY_COMPILE([#include <osfcn.h>],
+[read(0, 0, 0); open(0, 0);],AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_OSFCN_H),
+AC_MSG_RESULT(no))
+AC_LANG_RESTORE])dnl
+AC_DEFUN(GROFF_LIMITS_H,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([C++ <limits.h>])
+AC_TRY_COMPILE([#include <limits.h>],
+[int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX;],
+AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_LIMITS_H),AC_MSG_RESULT(no))
+AC_LANG_RESTORE])dnl
+AC_DEFUN(GROFF_TIME_T,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([for declaration of time_t])
+AC_TRY_COMPILE([#include <time.h>],
+[time_t t = time(0); struct tm *p = localtime(&t);],AC_MSG_RESULT(yes),
+AC_MSG_RESULT(no);AC_DEFINE(LONG_FOR_TIME_T))
+AC_LANG_RESTORE])dnl
+AC_DEFUN(GROFF_STRUCT_EXCEPTION,
+[AC_MSG_CHECKING([struct exception])
+AC_TRY_COMPILE([#include <math.h>],
+[struct exception e;],
+AC_MSG_RESULT(yes);AC_DEFINE(HAVE_STRUCT_EXCEPTION),
+AC_MSG_RESULT(no))])dnl
+AC_DEFUN(GROFF_ARRAY_DELETE,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([whether ANSI array delete syntax supported])
+AC_TRY_COMPILE(,
+changequote(,)dnl
+char *p = new char[5]; delete [] p;changequote([,]),
+AC_MSG_RESULT(yes),AC_MSG_RESULT(no);AC_DEFINE(ARRAY_DELETE_NEEDS_SIZE))
+AC_LANG_RESTORE])dnl
+dnl
+AC_DEFUN(GROFF_TRADITIONAL_CPP,
+[AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([traditional preprocessor])
+AC_TRY_COMPILE([#define name2(a,b) a/**/b],[int name2(foo,bar);],
+AC_MSG_RESULT(yes);AC_DEFINE(TRADITIONAL_CPP),
+AC_MSG_RESULT(no))
+AC_LANG_RESTORE])dnl
+
+AC_DEFUN(GROFF_WCOREFLAG,
+[AC_MSG_CHECKING([w_coredump])
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/wait.h>
+main()
+{
+#ifdef WCOREFLAG
+ exit(1);
+#else
+ int i = 0;
+ ((union wait *)&i)->w_coredump = 1;
+ exit(i != 0200);
+#endif
+}
+],AC_MSG_RESULT(yes);AC_DEFINE(WCOREFLAG,0200),AC_MSG_RESULT(no),
+AC_MSG_RESULT(no))])dnl
+dnl
+AC_DEFUN(GROFF_BROKEN_SPOOLER_FLAGS,
+[AC_MSG_CHECKING([default value for grops -b option])
+test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=7
+AC_MSG_RESULT($BROKEN_SPOOLER_FLAGS)
+AC_SUBST(BROKEN_SPOOLER_FLAGS)])dnl
+dnl
+AC_DEFUN(GROFF_PAGE,
+[AC_MSG_CHECKING([default paper size])
+if test -z "$PAGE"
+then
+ descfile=
+ if test -r $prefix/share/groff/font/devps/DESC
+ then
+ descfile=$prefix/share/groff/font/devps/DESC
+ elif test -r $prefix/lib/groff/font/devps/DESC
+ then
+ descfile=$prefix/lib/groff/font/devps/DESC
+ fi
+ if test -n "$descfile" \
+ && grep "^paperlength 841890" $descfile >/dev/null 2>&1
+ then
+ PAGE=A4
+ else
+ PAGE=letter
+ fi
+fi
+if test -z "$PAGE"
+then
+ dom=`awk '([$]1 == "dom" || [$]1 == "search") { print [$]2; exit}' \
+ /etc/resolv.conf 2>/dev/null`
+
+ if test -z "$dom"
+ then
+ dom=`(domainname) 2>/dev/null | tr -d '+'`
+ if test -z "$dom"
+ then
+ dom=`(hostname) 2>/dev/null | grep '\.'`
+ fi
+ fi
+
+changequote(,)dnl
+ # If the top-level domain is two letters and it's not `us' or `ca'
+ # then they probably use A4 paper.
+ case "$dom" in
+ *.[Uu][Ss]|*.[Cc][Aa]) ;;
+ *.[A-Za-z][A-Za-z]) PAGE=A4 ;;
+ esac
+changequote([,])dnl
+fi
+test -n "$PAGE" || PAGE=letter
+AC_MSG_RESULT($PAGE)
+AC_SUBST(PAGE)])dnl
+dnl
+AC_DEFUN(GROFF_CXX_CHECK,
+[AC_REQUIRE([AC_C_CROSS])
+AC_REQUIRE([AC_PROG_CXX])
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+if test "$cross_compiling" = no; then
+AC_MSG_CHECKING([that C++ compiler can compile simple program])
+fi
+AC_TRY_RUN([int main() { return 0; }],
+AC_MSG_RESULT(yes),
+AC_MSG_RESULT(no)
+AC_MSG_ERROR([a working C++ compiler is required]),:)
+if test "$cross_compiling" = no; then
+AC_MSG_CHECKING([that C++ static constructors and destructors are called])
+fi
+AC_TRY_RUN([
+extern "C" {
+ void _exit(int);
+}
+int i;
+struct A {
+ char dummy;
+ A() { i = 1; }
+ ~A() { if (i == 1) _exit(0); }
+};
+A a;
+int main() { return 1; }
+],
+AC_MSG_RESULT(yes),
+AC_MSG_RESULT(no)
+AC_MSG_ERROR([a working C++ compiler is required]),:)
+AC_MSG_CHECKING([that header files support C++])
+AC_TRY_LINK([#include <stdio.h>],
+[fopen(0, 0);],AC_MSG_RESULT(yes),
+AC_MSG_RESULT(no)
+AC_MSG_ERROR([header files do not support C++ (if you are using a version of gcc/g++ earlier than 2.5, you should install libg++)]))
+AC_LANG_RESTORE
+])dnl
+dnl
+AC_DEFUN(GROFF_TMAC,
+[
+AC_MSG_CHECKING([for prefix of system macro packages])
+sys_tmac_prefix=
+sys_tmac_file_prefix=
+for d in /usr/share/lib/tmac /usr/lib/tmac
+do
+ for t in "" tmac.
+ do
+ for m in an s m
+ do
+ f=$d/$t$m
+ if test -z "$sys_tmac_prefix" \
+ && test -f $f \
+ && grep '^\.if' $f >/dev/null 2>&1
+ then
+ sys_tmac_prefix=$d/$t
+ sys_tmac_file_prefix=$t
+ fi
+ done
+ done
+done
+AC_MSG_RESULT($sys_tmac_prefix)
+AC_SUBST(sys_tmac_prefix)
+tmac_wrap=
+AC_MSG_CHECKING([which system macro packages should be made available])
+if test "x$sys_tmac_file_prefix" = "xtmac."
+then
+ for f in $sys_tmac_prefix*
+ do
+ suff=`echo $f | sed -e "s;$sys_tmac_prefix;;"`
+ case "$suff" in
+ e);;
+ *)
+ grep "Copyright.*Free Software Foundation" $f >/dev/null \
+ || tmac_wrap="$tmac_wrap $suff"
+ ;;
+ esac
+ done
+elif test -n "$sys_tmac_prefix"
+then
+ files=`echo $sys_tmac_prefix*`
+ grep "\\.so" $files >conftest.sol
+ for f in $files
+ do
+ case "$f" in
+ ${sys_tmac_prefix}e) ;;
+ *.me) ;;
+ */ms.*) ;;
+ *)
+ b=`basename $f`
+ if grep "\\.so.*/$b\$" conftest.sol >/dev/null \
+ || grep -l "Copyright.*Free Software Foundation" $f >/dev/null
+ then
+ :
+ else
+ suff=`echo $f | sed -e "s;$sys_tmac_prefix;;"`
+ case "$suff" in
+ tmac.*);;
+ *) tmac_wrap="$tmac_wrap $suff" ;;
+ esac
+ fi
+ esac
+ done
+ rm -f conftest.sol
+fi
+AC_MSG_RESULT([$tmac_wrap])
+AC_SUBST(tmac_wrap)
+])dnl
+AC_DEFUN(GROFF_G,
+[AC_MSG_CHECKING([for existing troff installation])
+if test "x`(echo .tm '|n(.g' | tr '|' '\\\\' | troff -z -i 2>&1) 2>/dev/null`" \
+ = x0
+then
+ AC_MSG_RESULT(yes)
+ g=g
+else
+ AC_MSG_RESULT(no)
+ g=
+fi
+AC_SUBST(g)
+])dnl
+dnl We need the path to install-sh to be absolute.
+AC_DEFUN(GROFF_INSTALL_SH,
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+ac_dir=`cd $ac_aux_dir; pwd`
+ac_install_sh="$ac_dir/install-sh -c"
+])
diff --git a/addftinfo/Makefile.dep b/addftinfo/Makefile.dep
index 4583de263..e38c273c8 100644
--- a/addftinfo/Makefile.dep
+++ b/addftinfo/Makefile.dep
@@ -1,3 +1,3 @@
-addftinfo.o : addftinfo.cc ../include/lib.h ../include/errarg.h \
- ../include/error.h ../include/stringclass.h ../include/cset.h guess.h
-guess.o : guess.cc guess.h
+addftinfo.o: addftinfo.cc ../include/lib.h ../include/errarg.h \
+ ../include/error.h ../include/stringclass.h ../include/cset.h guess.h
+guess.o: guess.cc guess.h
diff --git a/addftinfo/addftinfo.cc b/addftinfo/addftinfo.cc
index 253a08acf..55b62427d 100644
--- a/addftinfo/addftinfo.cc
+++ b/addftinfo/addftinfo.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <ctype.h>
@@ -89,14 +89,16 @@ int main(int argc, char **argv)
param.comma_depth = DEFAULT_COMMA_DEPTH;
param.desc_depth = DEFAULT_DESC_DEPTH;
param.body_depth = DEFAULT_BODY_DEPTH;
- for (int i = 1; i < argc && argv[i][0] == '-'; i++) {
+ int i;
+ for (i = 1; i < argc && argv[i][0] == '-'; i++) {
if (argv[i][1] == '-' && argv[i][2] == '\0') {
i++;
break;
}
if (i + 1 >= argc)
usage();
- for (int j = 0;; j++) {
+ int j;
+ for (j = 0;; j++) {
if (j >= sizeof(param_table)/sizeof(param_table[0]))
fatal("parameter `%1' not recognized", argv[i] + 1);
if (strcmp(param_table[j].name, argv[i] + 1) == 0)
diff --git a/addftinfo/addftinfo.man b/addftinfo/addftinfo.man
index 4c92477c7..6741c171f 100644
--- a/addftinfo/addftinfo.man
+++ b/addftinfo/addftinfo.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH ADDFTINFO @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
addftinfo \- add information to troff font files for use with groff
diff --git a/addftinfo/guess.cc b/addftinfo/guess.cc
index 44b5f914b..dcfd4c92c 100644
--- a/addftinfo/guess.cc
+++ b/addftinfo/guess.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "guess.h"
diff --git a/addftinfo/guess.h b/addftinfo/guess.h
index 6712045e1..4471dda8d 100644
--- a/addftinfo/guess.h
+++ b/addftinfo/guess.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct font_params {
int italic;
diff --git a/afmtodit/afmtodit.man b/afmtodit/afmtodit.man
index 3730b7a23..84fe8f292 100644
--- a/afmtodit/afmtodit.man
+++ b/afmtodit/afmtodit.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
diff --git a/afmtodit/afmtodit.pl b/afmtodit/afmtodit.pl
index 60bee93f0..c3d839a22 100644
--- a/afmtodit/afmtodit.pl
+++ b/afmtodit/afmtodit.pl
@@ -1,4 +1,5 @@
-#! /usr/bin/perl -P- # -*- Perl -*-
+#! /usr/bin/perl -P-
+# -*- Perl -*-
#Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
@@ -16,7 +17,7 @@
#
#You should have received a copy of the GNU General Public License along
#with groff; see the file COPYING. If not, write to the Free Software
-#Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
$prog = $0;
$prog =~ s@.*/@@;
diff --git a/configure b/configure
index 16f1bf18d..3806f6eeb 100755
--- a/configure
+++ b/configure
@@ -1,287 +1,660 @@
-#!/bin/sh
+#! /bin/sh
+
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf.
-# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+# Generated automatically using autoconf version 2.4
+# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Initialize some other variables.
+subdirs=
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+ # Accept the important Cygnus configure options, so we can diagnose typos.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ case "$ac_option" in
-# Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp]
-# [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE[=VALUE]]
-# Ignores all args except --srcdir, --prefix, --exec-prefix, and
-# --with-PACKAGE[=VALUE] unless this script has special code to handle it.
+ -build | --build | --buil | --bui | --bu | --b)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
+ build="$ac_optarg" ;;
-for arg
-do
- # Handle --exec-prefix with a space before the argument.
- if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
- # Handle --host with a space before the argument.
- elif test x$next_host = xyes; then next_host=
- # Handle --prefix with a space before the argument.
- elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
- # Handle --srcdir with a space before the argument.
- elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
- else
- case $arg in
- # For backward compatibility, recognize -exec-prefix and --exec_prefix.
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
- exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
- next_exec_prefix=yes ;;
-
- -gas | --gas | --ga | --g) ;;
-
- -host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
- -host | --host | --hos | --ho | --h)
- next_host=yes ;;
-
- -nfp | --nfp | --nf) ;;
-
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- next_prefix=yes ;;
-
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
- srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
- next_srcdir=yes ;;
-
- -with-* | --with-*)
- package=`echo $arg|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that aren't valid shell variable names.
- if test -n "`echo $package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- echo "configure: $package: invalid package name" >&2; exit 1
- fi
- package=`echo $package| sed 's/-/_/g'`
- case "$arg" in
- *=*) val="`echo $arg|sed 's/[^=]*=//'`" ;;
- *) val=1 ;;
- esac
- eval "with_$package='$val'" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v)
- verbose=yes ;;
-
- *) ;;
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
esac
- fi
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=PREFIX install architecture-dependent files in PREFIX
+ [same as prefix]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+--enable and --with options recognized:$ac_help
+EOF
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.4"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
done
-trap 'rm -fr conftest* confdefs* core; exit 1' 1 3 15
-trap 'rm -f confdefs*' 0
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = 'set' ; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-rm -f conftest* confdefs.h
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo > confdefs.h
-compile='${CC-cc} $CFLAGS conftest.c -o conftest $LIBS >/dev/null 2>&1'
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
-unique_file=groff/groff.cc
+ac_unique_file=groff/groff.cc
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
- srcdirdefaulted=yes
- # Try the directory containing this script, then `..'.
- prog=$0
- confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
- test "X$confdir" = "X$prog" && confdir=.
- srcdir=$confdir
- if test ! -r $srcdir/$unique_file; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
+else
+ ac_srcdir_defaulted=no
fi
-if test ! -r $srcdir/$unique_file; then
- if test x$srcdirdefaulted = xyes; then
- echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
else
- echo "configure: Can not find sources in \`${srcdir}'." 1>&2
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
fi
- exit 1
fi
-# Preserve a srcdir of `.' to avoid automounter screwups with pwd.
-# But we can't avoid them for `..', to make subdirectories work.
-case $srcdir in
- .|/*|~*) ;;
- *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
-esac
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
-# Save the original args to write them into config.status later.
-configure_args="$*"
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
-if test -z "$prefix"
-then
- echo checking for grops to derive installation directory prefix
- IFS="${IFS= }"; saveifs="$IFS"; IFS="$IFS:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test $dir != . && test -f $dir/grops; then
- # Not all systems have dirname.
- prefix=`echo $dir|sed 's%/[^/][^/]*$%%'`
- break
- fi
- done
- IFS="$saveifs"
- echo " chose installation directory prefix ${prefix}"
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
fi
-if test -z "$prefix"
-then
- echo checking for gcc to derive installation directory prefix
- IFS="${IFS= }"; saveifs="$IFS"; IFS="$IFS:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test $dir != . && test -f $dir/gcc; then
- # Not all systems have dirname.
- prefix=`echo $dir|sed 's%/[^/][^/]*$%%'`
+
+
+if test "x$prefix" = xNONE; then
+echo $ac_n "checking for prefix by ""... $ac_c" 1>&6
+# Extract the first word of "grops", so it can be a program name with args.
+set dummy grops; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_path_GROPS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$GROPS" in
+ /*)
+ ac_cv_path_GROPS="$GROPS" # Let the user override the test with a path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_GROPS="$ac_dir/$ac_word"
break
fi
done
- IFS="$saveifs"
- echo " chose installation directory prefix ${prefix}"
-fi
-
-if test -z "$CC"; then
- # Extract the first word of `gcc', so it can be a program name with args.
- set dummy gcc; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- CC="gcc"
+ IFS="$ac_save_ifs"
+ ;;
+esac
+fi
+GROPS="$ac_cv_path_GROPS"
+if test -n "$GROPS"; then
+ echo "$ac_t""$GROPS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test -n "$ac_cv_path_GROPS"; then
+ prefix=`echo $ac_cv_path_GROPS|sed 's%/[^/][^/]*//*[^/][^/]*$%%'`
+ fi
+fi
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
break
fi
done
- IFS="$saveifs"
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-test -z "$CC" && CC="cc"
-test -n "$CC" && test -n "$verbose" && echo " setting CC to $CC"
-# Find out if we are using GNU C, under whatever name.
-cat > conftest.c <<EOF
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
#ifdef __GNUC__
- yes
+ yes;
#endif
EOF
-${CC-cc} -E conftest.c > conftest.out 2>&1
-if egrep yes conftest.out >/dev/null 2>&1; then
- GCC=1 # For later tests.
+if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ if test "${CFLAGS+set}" != set; then
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_gcc_g=yes
+else
+ ac_cv_prog_gcc_g=no
fi
rm -f conftest*
-cc_compile='$CCC conftest.cc -o conftest $CCLIBS $LIBS >/dev/null 2>&1'
-
-if test -z "$CCC"; then
-# See whether the C compiler is also a C++ compiler.
-echo checking if C compiler is also a C++ compiler
-cat <<EOF > conftest.cc
-#ifdef __cplusplus
- yes
-#endif
-EOF
-$CC -E conftest.cc >conftest.out 2>&1
-if egrep yes conftest.out >/dev/null 2>&1; then
- CCC="$CC"
-fi
-fi
-if test -z "$CCC"; then
- # Extract the first word of `g++', so it can be a program name with args.
- set dummy g++; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- CCC="g++"
- break
+fi
+ echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6
+ if test $ac_cv_prog_gcc_g = yes; then
+ CFLAGS="-g -O"
+ else
+ CFLAGS="-O"
fi
- done
- IFS="$saveifs"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
fi
-test -n "$CCC" && test -n "$verbose" && echo " setting CCC to $CCC"
-
-if test -z "$CCC"; then
- # Extract the first word of `CC', so it can be a program name with args.
- set dummy CC; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- CCC="CC"
+for ac_prog in $CCC c++ g++ gcc CC cxx
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CXX="$ac_prog"
break
fi
done
- IFS="$saveifs"
+ IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+ echo "$ac_t""$CXX" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-test -n "$CCC" && test -n "$verbose" && echo " setting CCC to $CCC"
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
-if test -z "$CCC"; then
- # Extract the first word of `cc++', so it can be a program name with args.
- set dummy cc++; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- CCC="cc++"
- break
- fi
- done
- IFS="$saveifs"
+
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.C <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if ${CXX-g++} -E conftest.C 2>&5 | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gxx=yes
+else
+ ac_cv_prog_gxx=no
+fi
fi
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+if test $ac_cv_prog_gxx = yes; then
+ GXX=yes
+ if test "${CXXFLAGS+set}" != set; then
+ echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gxx_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+ ac_cv_prog_gxx_g=yes
+else
+ ac_cv_prog_gxx_g=no
+fi
+rm -f conftest*
-test -n "$CCC" && test -n "$verbose" && echo " setting CCC to $CCC"
+fi
+ echo "$ac_t""$ac_cv_prog_gxx_g" 1>&6
+ if test $ac_cv_prog_gxx_g = yes; then
+ CXXFLAGS="-g -O"
+ else
+ CXXFLAGS="-O"
+ fi
+ fi
+else
+ GXX=
+ test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
-if test -z "$CCC"; then
-cat <<EOM
-This package requires a C++ compiler, but I couldn't find one.
-Set the environment variable CCC to the name of your C++ compiler.
-EOM
-rm -f conftest* core; exit 1
+# If we cannot run a trivial program, we must be cross compiling.
+echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_c_cross=yes
+else
+cat > conftest.$ac_ext <<EOF
+#line 599 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+eval $ac_link
+if test -s conftest && (./conftest; exit) 2>/dev/null; then
+ ac_cv_c_cross=no
+else
+ ac_cv_c_cross=yes
+fi
fi
-echo checking that C++ compiler can compile very simple C++ program
-cat <<EOF > conftest.cc
+rm -fr conftest*
+fi
+cross_compiling=$ac_cv_c_cross
+echo "$ac_t""$ac_cv_c_cross" 1>&6
-int main() { return 0; }
-EOF
-rm -f conftest
-eval $cc_compile
-if test -s conftest && (./conftest) 2>/dev/null; then
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+if test "$cross_compiling" = no; then
+echo $ac_n "checking that C++ compiler can compile simple program""... $ac_c" 1>&6
+fi
+if test "$cross_compiling" = yes; then
:
else
- cat <<EOM
-$CCC was unable successfully to compile a very simple C++ program
-(the C++ program was in a file with a suffix of .cc)
-EOM
-rm -f conftest* core; exit 1
-
+cat > conftest.$ac_ext <<EOF
+#line 631 "configure"
+#include "confdefs.h"
+#ifdef __cplusplus
+extern "C" void exit(int);
+#endif
+int main() { return 0; }
+EOF
+eval $ac_link
+if test -s conftest && (./conftest; exit) 2>/dev/null; then
+ echo "$ac_t""yes" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+{ echo "configure: error: a working C++ compiler is required" 1>&2; exit 1; }
fi
-rm -f conftest*
-echo checking that C++ static constructors and destructors are called
-cat <<EOF > conftest.cc
+fi
+rm -fr conftest*
+if test "$cross_compiling" = no; then
+echo $ac_n "checking that C++ static constructors and destructors are called""... $ac_c" 1>&6
+fi
+if test "$cross_compiling" = yes; then
+ :
+else
+cat > conftest.$ac_ext <<EOF
+#line 654 "configure"
+#include "confdefs.h"
+#ifdef __cplusplus
+extern "C" void exit(int);
+#endif
extern "C" {
void _exit(int);
@@ -296,78 +669,104 @@ A a;
int main() { return 1; }
EOF
-rm -f conftest
-eval $cc_compile
-if test -s conftest && (./conftest) 2>/dev/null; then
- :
+eval $ac_link
+if test -s conftest && (./conftest; exit) 2>/dev/null; then
+ echo "$ac_t""yes" 1>&6
else
- cat <<EOM
-$CCC is not installed correctly: static constructors and destructors do not work
-EOM
-rm -f conftest* core; exit 1
-
+ echo "$ac_t""no" 1>&6
+{ echo "configure: error: a working C++ compiler is required" 1>&2; exit 1; }
fi
-rm -f conftest*
-echo checking for C++ header files
-cat <<EOF >conftest.cc
+fi
+rm -fr conftest*
+echo $ac_n "checking that header files support C++""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 684 "configure"
+#include "confdefs.h"
#include <stdio.h>
-int main() { return 0; } void t() { fopen(0, 0); }
+int main() { return 0; }
+int t() {
+fopen(0, 0);
+; return 0; }
EOF
-if eval $cc_compile; then
- :
+if eval $ac_link; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
else
- cat <<\EOF
-Your header files do not appear to support C++.
-I was unable to compile and link a simple C++ program that used a function
-declared in <stdio.h>.
-If you're using a version of gcc/g++ earlier than 2.5,
-you should install libg++.
-EOF
-rm -f conftest* core; exit 1
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+{ echo "configure: error: header files do not support C++ (if you are using a version of gcc/g++ earlier than 2.5, you should install libg++)" 1>&2; exit 1; }
fi
rm -f conftest*
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+
if test -z "$PSPRINT"
then
- for p in lpr
+ for ac_prog in lpr
do
-if test -z "$LPR"; then
- # Extract the first word of `$p', so it can be a program name with args.
- set dummy $p; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- LPR="$p"
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_LPR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$LPR"; then
+ ac_cv_prog_LPR="$LPR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_LPR="$ac_prog"
break
fi
done
- IFS="$saveifs"
+ IFS="$ac_save_ifs"
+fi
+fi
+LPR="$ac_cv_prog_LPR"
+if test -n "$LPR"; then
+ echo "$ac_t""$LPR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-
-test -n "$LPR" && test -n "$verbose" && echo " setting LPR to $LPR"
test -n "$LPR" && break
done
- for p in lp
+ for ac_prog in lp
do
-if test -z "$LP"; then
- # Extract the first word of `$p', so it can be a program name with args.
- set dummy $p; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- LP="$p"
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_LP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$LP"; then
+ ac_cv_prog_LP="$LP" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_LP="$ac_prog"
break
fi
done
- IFS="$saveifs"
+ IFS="$ac_save_ifs"
+fi
+fi
+LP="$ac_cv_prog_LP"
+if test -n "$LP"; then
+ echo "$ac_t""$LP" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-
-test -n "$LP" && test -n "$verbose" && echo " setting LP to $LP"
test -n "$LP" && break
done
@@ -377,24 +776,34 @@ done
# HP-UX provides an lpr command that emulates lpr using lp,
# but it doesn't have lpq; in this case we want to use lp
# rather than lpr.
- for p in lpq
+ for ac_prog in lpq
do
-if test -z "$LPQ"; then
- # Extract the first word of `$p', so it can be a program name with args.
- set dummy $p; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- LPQ="$p"
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_LPQ'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$LPQ"; then
+ ac_cv_prog_LPQ="$LPQ" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_LPQ="$ac_prog"
break
fi
done
- IFS="$saveifs"
+ IFS="$ac_save_ifs"
+fi
+fi
+LPQ="$ac_cv_prog_LPQ"
+if test -n "$LPQ"; then
+ echo "$ac_t""$LPQ" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-
-test -n "$LPQ" && test -n "$verbose" && echo " setting LPQ to $LPQ"
test -n "$LPQ" && break
done
@@ -410,7 +819,10 @@ done
fi
fi
+echo $ac_n "checking for command to use for printing PostScript files""... $ac_c" 1>&6
+echo "$ac_t""$PSPRINT" 1>&6
# Figure out DVIPRINT from PSPRINT.
+echo $ac_n "checking for command to use for printing dvi files""... $ac_c" 1>&6
if test -n "$PSPRINT" && test -z "$DVIPRINT"
then
if test "X$PSPRINT" = "Xlpr"
@@ -421,135 +833,194 @@ then
fi
fi
-echo checking for perl
-PERLPATH=
-saveifs="$IFS"; IFS="${IFS}:"
-for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/perl; then
- PERLPATH="$dir/perl"
- break
- fi
-done
-IFS="$saveifs"
-
-if test -z "$YACC"; then
- # Extract the first word of `byacc', so it can be a program name with args.
- set dummy byacc; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- YACC="byacc"
+echo "$ac_t""$DVIPRINT" 1>&6
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_path_PERLPATH'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PERLPATH" in
+ /*)
+ ac_cv_path_PERLPATH="$PERLPATH" # Let the user override the test with a path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PERLPATH="$ac_dir/$ac_word"
break
fi
done
- IFS="$saveifs"
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_PERLPATH" && ac_cv_path_PERLPATH="/usr/bin/perl"
+ ;;
+esac
+fi
+PERLPATH="$ac_cv_path_PERLPATH"
+if test -n "$PERLPATH"; then
+ echo "$ac_t""$PERLPATH" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-test -n "$YACC" && test -n "$verbose" && echo " setting YACC to $YACC"
-
-if test -z "$YACC"; then
- # Extract the first word of `bison', so it can be a program name with args.
- set dummy bison; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- YACC="bison -y"
+for ac_prog in byacc 'bison -y'
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$YACC"; then
+ ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_YACC="$ac_prog"
break
fi
done
- IFS="$saveifs"
+ IFS="$ac_save_ifs"
+fi
+fi
+YACC="$ac_cv_prog_YACC"
+if test -n "$YACC"; then
+ echo "$ac_t""$YACC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-test -z "$YACC" && YACC="yacc"
-test -n "$YACC" && test -n "$verbose" && echo " setting YACC to $YACC"
+test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
-if test -z "$RANLIB"; then
- # Extract the first word of `ranlib', so it can be a program name with args.
- set dummy ranlib; word=$2
- echo checking for $word
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$word; then
- RANLIB="ranlib"
+# Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
break
fi
done
- IFS="$saveifs"
-fi
-test -z "$RANLIB" && RANLIB=":"
-test -n "$RANLIB" && test -n "$verbose" && echo " setting RANLIB to $RANLIB"
-
-# Make sure to not get the incompatible SysV /etc/install and
-# /usr/sbin/install, which might be in PATH before a BSD-like install,
-# or the SunOS /usr/etc/install directory, or the AIX /bin/install,
-# or the AFS install, which mishandles nonexistent args, or
-# /usr/ucb/install on SVR4, which tries to use the nonexistent group
-# `staff'. On most BSDish systems install is in /usr/bin, not /usr/ucb
-# anyway. Sigh.
-if test "z${INSTALL}" = "z" ; then
- echo checking for install
- IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- case $dir in
- /etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+ac_dir=`cd $ac_aux_dir; pwd`
+ac_install_sh="$ac_dir/install-sh -c"
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
*)
- if test -f $dir/installbsd; then
- INSTALL="$dir/installbsd -c" # OSF1
- INSTALL_PROGRAM='$(INSTALL)'
- INSTALL_DATA='$(INSTALL) -m 644'
- break
- fi
- if test -f $dir/install; then
- if grep dspmsg $dir/install >/dev/null 2>&1; then
- : # AIX
- else
- INSTALL="$dir/install -c"
- INSTALL_PROGRAM='$(INSTALL)'
- INSTALL_DATA='$(INSTALL) -m 644'
- break
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ for ac_prog in ginstall installbsd scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ # OSF/1 installbsd also uses dspmsg, but is usable.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
fi
- fi
+ done
;;
esac
done
- IFS="$saveifs"
+ IFS="$ac_save_ifs"
+ # As a last resort, use the slow shell script.
+ test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"
+fi
+ INSTALL="$ac_cv_path_install"
fi
-INSTALL=${INSTALL-cp}
-test -n "$verbose" && echo " setting INSTALL to $INSTALL"
-INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
-test -n "$verbose" && echo " setting INSTALL_PROGRAM to $INSTALL_PROGRAM"
-INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
-test -n "$verbose" && echo " setting INSTALL_DATA to $INSTALL_DATA"
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-echo checking for ln -s
-rm -f conftestdata
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ rm -f conftestdata
if ln -s X conftestdata 2>/dev/null
then
rm -f conftestdata
- LN_S="ln -s"
+ ac_cv_prog_LN_S="ln -s"
else
- LN_S=ln
+ ac_cv_prog_LN_S=ln
+fi
+fi
+LN_S="$ac_cv_prog_LN_S"
+if test "$ac_cv_prog_LN_S" = "ln -s"; then
+ echo "$ac_t""yes" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-
-echo checking for etags C++ option
-for flag in p C
-do
- test -z "$ETAGSCCFLAG" || break
- >conftest.c
- (etags -$flag -o /dev/null conftest.c >/dev/null 2>&1) 2>/dev/null &&
- ETAGSCCFLAG="-$flag"
- rm -f conftest.c
-done
-
-echo 'checking for csh # hack'
+echo $ac_n "checking for csh hash hack""... $ac_c" 1>&6
cat <<EOF >conftest.sh
#!/bin/sh
true || exit 0
@@ -559,665 +1030,798 @@ EOF
chmod +x conftest.sh
if echo ./conftest.sh | (csh >/dev/null 2>&1) >/dev/null 2>&1
then
- :; SH_SCRIPT_SED_CMD='1s/.*/:/'
+ echo "$ac_t""yes" 1>&6; SH_SCRIPT_SED_CMD='1s/.*/:/'
else
- :; SH_SCRIPT_SED_CMD=''
+ echo "$ac_t""no" 1>&6; SH_SCRIPT_SED_CMD=''
fi
rm -f conftest.sh
-for hdr in unistd.h dirent.h limits.h sys/dir.h stdlib.h
-do
-trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`
-echo checking for ${hdr}
-echo checking how to run the C preprocessor
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
if test -z "$CPP"; then
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and ``${CC-cc}'' will simply confuse
- # make. It must be expanded now.
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # This must be in double quotes, not single quotes, because CPP may get
+ # substituted into the Makefile and "${CC-cc}" will confuse make.
CPP="${CC-cc} -E"
- cat > conftest.c <<EOF
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+#line 1056 "configure"
#include "confdefs.h"
-#include <stdio.h>
+#include <assert.h>
Syntax Error
EOF
-err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
-if test -z "$err"; then
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
:
else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+#line 1070 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
rm -rf conftest*
CPP=/lib/cpp
fi
rm -f conftest*
fi
-test ".${verbose}" != "." && echo " setting CPP to $CPP"
+rm -f conftest*
+ ac_cv_prog_CPP="$CPP"
+fi
+ CPP="$ac_cv_prog_CPP"
+else
+ ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
-cat > conftest.c <<EOF
+for ac_hdr in unistd.h dirent.h limits.h sys/dir.h stdlib.h
+do
+ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1103 "configure"
#include "confdefs.h"
-#include <${hdr}>
+#include <$ac_hdr>
EOF
-err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
-if test -z "$err"; then
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
rm -rf conftest*
-
-{
-test -n "$verbose" && \
-echo " defining ${trhdr}"
-echo "#define" ${trhdr} 1 >> confdefs.h
-DEFS="$DEFS -D${trhdr}=1"
-}
-
-
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
done
-echo 'checking for ISC 3.x or 4.x'
+echo $ac_n "checking for ISC 3.x or 4.x""... $ac_c" 1>&6
if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
then
-
-{
-test -n "$verbose" && \
-echo " defining _SYSV3"
-echo "#define" _SYSV3 1 >> confdefs.h
-DEFS="$DEFS -D_SYSV3=1"
-}
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
+#define _SYSV3 1
+EOF
+else
+ echo "$ac_t""no" 1>&6
fi
-echo checking for whether -D_POSIX_SOURCE is necessary
-cat <<EOF >conftest.cc
+echo $ac_n "checking whether -D_POSIX_SOURCE is necessary""... $ac_c" 1>&6
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+cat > conftest.$ac_ext <<EOF
+#line 1151 "configure"
+#include "confdefs.h"
#include <stdio.h>
-int main() { return 0; } void t() { (void)fileno(stdin); }
-EOF
-if eval $cc_compile; then
- :
-else
-
-{
-test -n "$verbose" && \
-echo " defining _POSIX_SOURCE"
-echo "#define" _POSIX_SOURCE 1 >> confdefs.h
-DEFS="$DEFS -D_POSIX_SOURCE=1"
-}
+extern "C" { void fileno(int); }
+int main() { return 0; }
+int t() {
-fi
-rm -f conftest*
-echo checking for 'C++ <limits.h>'
-cat <<EOF >conftest.cc
-#include <limits.h>
-int main() { return 0; } void t() { int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX; }
+; return 0; }
EOF
-if eval $cc_compile; then
-
-{
-test -n "$verbose" && \
-echo " defining HAVE_CC_LIMITS_H"
-echo "#define" HAVE_CC_LIMITS_H 1 >> confdefs.h
-DEFS="$DEFS -DHAVE_CC_LIMITS_H=1"
-}
-
-fi
-rm -f conftest*
-echo checking for 'C++ <osfcn.h>'
-cat <<EOF >conftest.cc
-#include <osfcn.h>
-int main() { return 0; } void t() { read(0, 0, 0); open(0, 0); }
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define _POSIX_SOURCE 1
EOF
-if eval $cc_compile; then
-
-{
-test -n "$verbose" && \
-echo " defining HAVE_CC_OSFCN_H"
-echo "#define" HAVE_CC_OSFCN_H 1 >> confdefs.h
-DEFS="$DEFS -DHAVE_CC_OSFCN_H=1"
-}
+else
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
fi
rm -f conftest*
-echo checking for declaration of getopt in stdlib.h
-cat <<EOF >conftest.cc
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+echo $ac_n "checking declaration of getopt in stdlib.h""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1187 "configure"
+#include "confdefs.h"
#include <stdlib.h>
extern "C" { void getopt(int); }
-int main() { return 0; } void t() { }
+int main() { return 0; }
+int t() {
+
+; return 0; }
EOF
-if eval $cc_compile; then
- :
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
else
-
-{
-test -n "$verbose" && \
-echo " defining STDLIB_H_DECLARES_GETOPT"
-echo "#define" STDLIB_H_DECLARES_GETOPT 1 >> confdefs.h
-DEFS="$DEFS -DSTDLIB_H_DECLARES_GETOPT=1"
-}
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define STDLIB_H_DECLARES_GETOPT 1
+EOF
fi
rm -f conftest*
-echo checking for declaration of getopt in unistd.h
-cat <<EOF >conftest.cc
+
+echo $ac_n "checking declaration of getopt in unistd.h""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1210 "configure"
+#include "confdefs.h"
#include <sys/types.h>
#include <unistd.h>
extern "C" { void getopt(int); }
-int main() { return 0; } void t() { }
+int main() { return 0; }
+int t() {
+
+; return 0; }
EOF
-if eval $cc_compile; then
- :
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
else
-
-{
-test -n "$verbose" && \
-echo " defining UNISTD_H_DECLARES_GETOPT"
-echo "#define" UNISTD_H_DECLARES_GETOPT 1 >> confdefs.h
-DEFS="$DEFS -DUNISTD_H_DECLARES_GETOPT=1"
-}
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define UNISTD_H_DECLARES_GETOPT 1
+EOF
fi
rm -f conftest*
-echo checking for declaration of putenv
-cat <<EOF >conftest.cc
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+echo $ac_n "checking declaration of putenv""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1247 "configure"
+#include "confdefs.h"
#include <stdlib.h>
extern "C" { void putenv(int); }
-int main() { return 0; } void t() { }
+int main() { return 0; }
+int t() {
+
+; return 0; }
EOF
-if eval $cc_compile; then
- :
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
else
-
-{
-test -n "$verbose" && \
-echo " defining STDLIB_H_DECLARES_PUTENV"
-echo "#define" STDLIB_H_DECLARES_PUTENV 1 >> confdefs.h
-DEFS="$DEFS -DSTDLIB_H_DECLARES_PUTENV=1"
-}
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+cat >> confdefs.h <<\EOF
+#define STDLIB_H_DECLARES_PUTENV 1
+EOF
fi
rm -f conftest*
-echo checking for declaration of popen
-cat <<EOF >conftest.cc
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+echo $ac_n "checking declaration of popen""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1284 "configure"
+#include "confdefs.h"
#include <stdio.h>
extern "C" { void popen(int); }
-int main() { return 0; } void t() { }
+int main() { return 0; }
+int t() {
+
+; return 0; }
EOF
-if eval $cc_compile; then
- :
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
else
-
-{
-test -n "$verbose" && \
-echo " defining STDIO_H_DECLARES_POPEN"
-echo "#define" STDIO_H_DECLARES_POPEN 1 >> confdefs.h
-DEFS="$DEFS -DSTDIO_H_DECLARES_POPEN=1"
-}
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define STDIO_H_DECLARES_POPEN 1
+EOF
fi
rm -f conftest*
-echo checking for declaration of pclose
-cat <<EOF >conftest.cc
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+echo $ac_n "checking declaration of pclose""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1320 "configure"
+#include "confdefs.h"
#include <stdio.h>
extern "C" { void pclose(int); }
-int main() { return 0; } void t() { }
-EOF
-if eval $cc_compile; then
- :
-else
-
-{
-test -n "$verbose" && \
-echo " defining STDIO_H_DECLARES_PCLOSE"
-echo "#define" STDIO_H_DECLARES_PCLOSE 1 >> confdefs.h
-DEFS="$DEFS -DSTDIO_H_DECLARES_PCLOSE=1"
-}
+int main() { return 0; }
+int t() {
-fi
-rm -f conftest*
-echo checking for time_t
-cat <<EOF >conftest.cc
-#include <time.h>
-int main() { return 0; } void t() { time_t t = time(0); struct tm *p = localtime(&t); }
+; return 0; }
EOF
-if eval $cc_compile; then
- :
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
else
-
-{
-test -n "$verbose" && \
-echo " defining LONG_FOR_TIME_T"
-echo "#define" LONG_FOR_TIME_T 1 >> confdefs.h
-DEFS="$DEFS -DLONG_FOR_TIME_T=1"
-}
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define STDIO_H_DECLARES_PCLOSE 1
+EOF
fi
rm -f conftest*
-echo checking for return type of signal handlers
-cat > conftest.c <<EOF
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+echo $ac_n "checking C++ <osfcn.h>""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1356 "configure"
#include "confdefs.h"
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-#undef signal
-#endif
-extern void (*signal ()) ();
-int main() { exit(0); }
-int t() { int i; }
+#include <osfcn.h>
+int main() { return 0; }
+int t() {
+read(0, 0, 0); open(0, 0);
+; return 0; }
EOF
-if eval $compile; then
+if eval $ac_compile; then
rm -rf conftest*
-
-{
-test -n "$verbose" && \
-echo " defining" RETSIGTYPE to be void
-echo "#define" RETSIGTYPE void >> confdefs.h
-DEFS="$DEFS -DRETSIGTYPE=void"
-}
-
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define HAVE_CC_OSFCN_H 1
+EOF
else
rm -rf conftest*
-
-{
-test -n "$verbose" && \
-echo " defining" RETSIGTYPE to be int
-echo "#define" RETSIGTYPE int >> confdefs.h
-DEFS="$DEFS -DRETSIGTYPE=int"
-}
-
+ echo "$ac_t""no" 1>&6
fi
rm -f conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
-echo checking for struct exception
-cat > conftest.c <<EOF
+echo $ac_n "checking C++ <limits.h>""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1391 "configure"
#include "confdefs.h"
-#include <math.h>
-int main() { exit(0); }
-int t() { struct exception e; }
+#include <limits.h>
+int main() { return 0; }
+int t() {
+int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX;
+; return 0; }
EOF
-if eval $compile; then
+if eval $ac_compile; then
rm -rf conftest*
-
-{
-test -n "$verbose" && \
-echo " defining HAVE_STRUCT_EXCEPTION"
-echo "#define" HAVE_STRUCT_EXCEPTION 1 >> confdefs.h
-DEFS="$DEFS -DHAVE_STRUCT_EXCEPTION=1"
-}
-
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define HAVE_CC_LIMITS_H 1
+EOF
+else
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
fi
rm -f conftest*
-echo checking for mmap
-cat > conftest.c <<EOF
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+echo $ac_n "checking for declaration of time_t""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1426 "configure"
#include "confdefs.h"
-#include <sys/types.h>
-#include <sys/mman.h>
-int main() { exit(0); }
-int t() { char *p = mmap(0, 0, PROT_READ, MAP_PRIVATE, 0, 0); munmap(p, 0); }
+#include <time.h>
+int main() { return 0; }
+int t() {
+time_t t = time(0); struct tm *p = localtime(&t);
+; return 0; }
EOF
-if eval $compile; then
+if eval $ac_compile; then
rm -rf conftest*
-
-{
-test -n "$verbose" && \
-echo " defining HAVE_MMAP"
-echo "#define" HAVE_MMAP 1 >> confdefs.h
-DEFS="$DEFS -DHAVE_MMAP=1"
-}
-
+ echo "$ac_t""yes" 1>&6
+else
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6;cat >> confdefs.h <<\EOF
+#define LONG_FOR_TIME_T 1
+EOF
fi
rm -f conftest*
-echo checking for pid_t in sys/types.h
-echo '#include "confdefs.h"
-#include <sys/types.h>' > conftest.c
-eval "$CPP conftest.c > conftest.out 2>&1"
-if egrep "pid_t" conftest.out >/dev/null 2>&1; then
- :
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
else
+ cat > conftest.$ac_ext <<EOF
+#line 1457 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+#undef signal
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+void (*signal ()) ();
+int main() { return 0; }
+int t() {
+int i;
+; return 0; }
+EOF
+if eval $ac_compile; then
rm -rf conftest*
-
-{
-test -n "$verbose" && \
-echo " defining" pid_t to be int
-echo "#define" pid_t int >> confdefs.h
-DEFS="$DEFS -Dpid_t=int"
-}
-
+ ac_cv_type_signal=void
+else
+ rm -rf conftest*
+ ac_cv_type_signal=int
fi
rm -f conftest*
-echo checking for vfork.h
-cat > conftest.c <<EOF
+fi
+echo "$ac_t""$ac_cv_type_signal" 1>&6
+cat >> confdefs.h <<EOF
+#define RETSIGTYPE $ac_cv_type_signal
+EOF
+
+
+echo $ac_n "checking struct exception""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1491 "configure"
#include "confdefs.h"
-#include <vfork.h>
+#include <math.h>
+int main() { return 0; }
+int t() {
+struct exception e;
+; return 0; }
EOF
-err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
-if test -z "$err"; then
+if eval $ac_compile; then
rm -rf conftest*
-
-{
-test -n "$verbose" && \
-echo " defining HAVE_VFORK_H"
-echo "#define" HAVE_VFORK_H 1 >> confdefs.h
-DEFS="$DEFS -DHAVE_VFORK_H=1"
-}
-
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define HAVE_STRUCT_EXCEPTION 1
+EOF
+else
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
fi
rm -f conftest*
-echo checking for working vfork
-
-cat > conftest.c <<EOF
+echo $ac_n "checking for working mmap""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_func_mmap'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_mmap=no
+else
+cat > conftest.$ac_ext <<EOF
+#line 1519 "configure"
#include "confdefs.h"
-/* Thanks to Paul Eggert for this test. */
-#include <stdio.h>
+
+/* Thanks to Mike Haertel and Jim Avera for this test. */
#include <sys/types.h>
-#include <sys/stat.h>
-#include <signal.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#ifdef BSD
+# ifndef BSD4_1
+# define HAVE_GETPAGESIZE
+# endif
+#endif
+
+#ifndef HAVE_GETPAGESIZE
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define getpagesize() EXEC_PAGESIZE
+# else
+# ifdef NBPG
+# define getpagesize() NBPG * CLSIZE
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif
+# else
+# ifdef NBPC
+# define getpagesize() NBPC
+# else
+# define getpagesize() PAGESIZE /* SVR4 */
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __osf__
+# define valloc malloc
#endif
-#ifdef HAVE_VFORK_H
-#include <vfork.h>
+
+#ifdef __cplusplus
+extern "C" { void *valloc(unsigned), *malloc(unsigned); }
+#else
+char *valloc(), *malloc();
#endif
-static int signalled;
-static RETSIGTYPE catch (s) int s; { signalled = 1; }
-main() {
- pid_t parent = getpid ();
- pid_t child;
-
- signal (SIGINT, catch);
-
- child = vfork ();
-
- if (child == 0) {
- /* On sparc systems, changes by the child to local and incoming
- argument registers are propagated back to the parent.
- The compiler is told about this with #include <vfork.h>,
- but some compilers (e.g. gcc -O) don't grok <vfork.h>.
- Test for this by using lots of local variables, at least
- as many local variables as main has allocated so far
- including compiler temporaries. 4 locals are enough for
- gcc 1.40.3 on a sparc, but we use 8 to be safe.
- A buggy compiler should reuse the register of parent
- for one of the local variables, since it will think that
- parent can't possibly be used any more in this routine.
- Assigning to the local variable will thus munge parent
- in the parent process. */
- pid_t
- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
- /* Convince the compiler that p..p7 are live; otherwise, it might
- use the same hardware register for all 8 local variables. */
- if (p != p1 || p != p2 || p != p3 || p != p4
- || p != p5 || p != p6 || p != p7)
- _exit(1);
-
- /* On some systems (e.g. SunOS 5.2), if the parent is catching
- a signal, the child ignores the signal before execing,
- and the parent later receives that signal, the parent dumps core.
- Test for this by ignoring SIGINT in the child. */
- signal (SIGINT, SIG_IGN);
-
- /* On some systems (e.g. IRIX 3.3),
- vfork doesn't separate parent from child file descriptors.
- If the child closes a descriptor before it execs or exits,
- this munges the parent's descriptor as well.
- Test for this by closing stdout in the child. */
- _exit(close(fileno(stdout)) != 0);
- } else {
- int status;
- struct stat st;
-
- while (wait(&status) != child)
- ;
- exit(
- /* Was there some problem with vforking? */
- child < 0
-
- /* Did the child fail? (This shouldn't happen.) */
- || status
-
- /* Did the vfork/compiler bug occur? */
- || parent != getpid()
-
- /* Did the signal handling bug occur? */
- || kill(parent, SIGINT) != 0
- || signalled != 1
-
- /* Did the file descriptor bug occur? */
- || fstat(fileno(stdout), &st) != 0
- );
- }
+
+int
+main()
+{
+ char *buf1, *buf2, *buf3;
+ int i = getpagesize(), j;
+ int i2 = getpagesize()*2;
+ int fd;
+
+ buf1 = (char *)valloc(i2);
+ buf2 = (char *)valloc(i);
+ buf3 = (char *)malloc(i2);
+ for (j = 0; j < i2; ++j)
+ *(buf1 + j) = rand();
+ fd = open("conftestmmap", O_CREAT | O_RDWR, 0666);
+ write(fd, buf1, i2);
+ mmap(buf2, i, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_PRIVATE, fd, 0);
+ for (j = 0; j < i; ++j)
+ if (*(buf1 + j) != *(buf2 + j))
+ exit(1);
+ lseek(fd, (long)i, 0);
+ read(fd, buf2, i); /* read into mapped memory -- file should not change */
+ /* (it does in i386 SVR4.0 - Jim Avera, jima@netcom.com) */
+ lseek(fd, (long)0, 0);
+ read(fd, buf3, i2);
+ for (j = 0; j < i2; ++j)
+ if (*(buf1 + j) != *(buf3 + j))
+ exit(1);
+ exit(0);
}
+
EOF
-eval $compile
+eval $ac_link
if test -s conftest && (./conftest; exit) 2>/dev/null; then
- :
+ ac_cv_func_mmap=yes
else
-
-{
-test -n "$verbose" && \
-echo " defining" vfork to be fork
-echo "#define" vfork fork >> confdefs.h
-DEFS="$DEFS -Dvfork=fork"
-}
-
+ ac_cv_func_mmap=no
+fi
fi
rm -fr conftest*
+fi
+echo "$ac_t""$ac_cv_func_mmap" 1>&6
+if test $ac_cv_func_mmap = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_MMAP 1
+EOF
+
+fi
saved_libs="$LIBS"
LIBS="$LIBS -lm"
-for func in fmod strtol getcwd strerror putenv
+for ac_func in fmod strtol getcwd strerror putenv
do
-echo checking for ${func}
-cat > conftest.c <<EOF
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1620 "configure"
#include "confdefs.h"
-#include <ctype.h>
-int main() { exit(0); }
-int t() {
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+char $ac_func();
+
+int main() { return 0; }
+int t() {
+
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_${func}) || defined (__stub___${func})
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-/* Override any gcc2 internal prototype to avoid an error. */
-extern char ${func}(); ${func}();
+$ac_func();
#endif
- }
+
+; return 0; }
EOF
-if eval $compile; then
- :
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
else
rm -rf conftest*
- LIBOBJS="$LIBOBJS ${func}.o"
-test -n "$verbose" && echo " using ${func}.o instead"
+ eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+else
+ echo "$ac_t""no" 1>&6
+LIBOBJS="$LIBOBJS ${ac_func}.o"
+fi
+
done
LIBS="$saved_libs"
-for func in rename mkstemp
+for ac_func in rename mkstemp
do
-trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`
-echo checking for ${func}
-cat > conftest.c <<EOF
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1670 "configure"
#include "confdefs.h"
-#include <ctype.h>
-int main() { exit(0); }
-int t() {
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+char $ac_func();
+
+int main() { return 0; }
+int t() {
+
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_${func}) || defined (__stub___${func})
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
-/* Override any gcc2 internal prototype to avoid an error. */
-extern char ${func}(); ${func}();
+$ac_func();
#endif
- }
+
+; return 0; }
EOF
-if eval $compile; then
+if eval $ac_link; then
rm -rf conftest*
- {
-test -n "$verbose" && \
-echo " defining ${trfunc}"
-echo "#define" ${trfunc} 1 >> confdefs.h
-DEFS="$DEFS -D${trfunc}=1"
-}
-
-
+ eval "ac_cv_func_$ac_func=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*
+
+fi
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
done
-echo checking for sys_siglist
-cat > conftest.c <<EOF
+echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1719 "configure"
#include "confdefs.h"
-
-int main() { exit(0); }
-int t() { extern char *sys_siglist[]; sys_siglist[0] = 0; }
+#include <sys/types.h>
+#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h. */
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+int main() { return 0; }
+int t() {
+char *msg = *(sys_siglist + 1);
+; return 0; }
EOF
-if eval $compile; then
+if eval $ac_compile; then
rm -rf conftest*
-
-{
-test -n "$verbose" && \
-echo " defining HAVE_SYS_SIGLIST"
-echo "#define" HAVE_SYS_SIGLIST 1 >> confdefs.h
-DEFS="$DEFS -DHAVE_SYS_SIGLIST=1"
-}
-
-
+ ac_cv_decl_sys_siglist=yes
+else
+ rm -rf conftest*
+ ac_cv_decl_sys_siglist=no
fi
rm -f conftest*
-echo checking for gcc/g++ delete bug
-cat <<EOF > conftest.cc
-
-#include <stdlib.h>
-#include <stddef.h>
+fi
+echo "$ac_t""$ac_cv_decl_sys_siglist" 1>&6
+if test $ac_cv_decl_sys_siglist = yes; then
+ cat >> confdefs.h <<\EOF
+#define SYS_SIGLIST_DECLARED 1
+EOF
-int testit = 0;
+fi
-int main()
-{
- testit = 1;
- int *p = new int;
- delete p;
- testit = 0;
- return 1;
-}
-static unsigned dummy[3];
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
-void *operator new(size_t n)
-{
- if (testit) {
- dummy[1] = -(unsigned)(dummy + 2);
- return dummy + 2;
- }
- else
- return (void *)malloc(n);
-}
-
-void operator delete(void *p)
-{
- if (testit) {
- if (p == dummy)
- exit(0);
- }
- else
- free(p);
-}
+echo $ac_n "checking whether ANSI array delete syntax supported""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1759 "configure"
+#include "confdefs.h"
+int main() { return 0; }
+int t() {
+char *p = new char[5]; delete [] p;
+; return 0; }
+EOF
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+else
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6;cat >> confdefs.h <<\EOF
+#define ARRAY_DELETE_NEEDS_SIZE 1
EOF
-rm -f conftest
-eval $cc_compile
-if test -s conftest && (./conftest) 2>/dev/null; then
-
-{
-test -n "$verbose" && \
-echo " defining COOKIE_BUG"
-echo "#define" COOKIE_BUG 1 >> confdefs.h
-DEFS="$DEFS -DCOOKIE_BUG=1"
-}
fi
rm -f conftest*
-echo checking for cfront ANSI C INT_MIN bug
-cat <<EOF > conftest.cc
-#include <stdlib.h>
-#ifdef HAVE_CC_LIMITS_H
-#include <limits.h>
-#else
-#define INT_MAX 2147483647
-#endif
-#undef INT_MIN
-#define INT_MIN (-INT_MAX-1)
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
-int main()
-{
- int z = 0;
- return INT_MIN < z;
-}
-
-EOF
-rm -f conftest
-eval $cc_compile
-if test -s conftest && (./conftest) 2>/dev/null; then
-
-{
-test -n "$verbose" && \
-echo " defining CFRONT_ANSI_BUG"
-echo "#define" CFRONT_ANSI_BUG 1 >> confdefs.h
-DEFS="$DEFS -DCFRONT_ANSI_BUG=1"
-}
-fi
-rm -f conftest*
-echo checking for new array delete syntax
-cat <<EOF >conftest.cc
-
-int main() { return 0; } void t() { char *p = new char[5]; delete [] p; }
-EOF
-if eval $cc_compile; then
- :
-else
-
-{
-test -n "$verbose" && \
-echo " defining ARRAY_DELETE_NEEDS_SIZE"
-echo "#define" ARRAY_DELETE_NEEDS_SIZE 1 >> confdefs.h
-DEFS="$DEFS -DARRAY_DELETE_NEEDS_SIZE=1"
-}
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
-fi
-rm -f conftest*
-echo checking for traditional preprocessor
-cat <<EOF >conftest.cc
+echo $ac_n "checking traditional preprocessor""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1794 "configure"
+#include "confdefs.h"
#define name2(a,b) a/**/b
-int main() { return 0; } void t() { int name2(foo,bar); }
+int main() { return 0; }
+int t() {
+int name2(foo,bar);
+; return 0; }
+EOF
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define TRADITIONAL_CPP 1
EOF
-if eval $cc_compile; then
-
-{
-test -n "$verbose" && \
-echo " defining TRADITIONAL_CPP"
-echo "#define" TRADITIONAL_CPP 1 >> confdefs.h
-DEFS="$DEFS -DTRADITIONAL_CPP=1"
-}
+else
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
fi
rm -f conftest*
-echo checking for w_coredump
-cat > conftest.c <<EOF
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+echo $ac_n "checking w_coredump""... $ac_c" 1>&6
+if test "$cross_compiling" = yes; then
+ echo "$ac_t""no" 1>&6
+else
+cat > conftest.$ac_ext <<EOF
+#line 1825 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -1234,27 +1838,34 @@ main()
}
EOF
-eval $compile
+eval $ac_link
if test -s conftest && (./conftest; exit) 2>/dev/null; then
-
-{
-test -n "$verbose" && \
-echo " defining" WCOREFLAG to be 0200
-echo "#define" WCOREFLAG 0200 >> confdefs.h
-DEFS="$DEFS -DWCOREFLAG=0200"
-}
-
+ echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF
+#define WCOREFLAG 0200
+EOF
+else
+ echo "$ac_t""no" 1>&6
+fi
fi
rm -fr conftest*
+echo $ac_n "checking default value for grops -b option""... $ac_c" 1>&6
test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=7
-echo using default value of ${BROKEN_SPOOLER_FLAGS} for grops -b option
-
+echo "$ac_t""$BROKEN_SPOOLER_FLAGS" 1>&6
-if test -z "$PAGE" && test -r $prefix/lib/groff/font/devps/DESC
+echo $ac_n "checking default paper size""... $ac_c" 1>&6
+if test -z "$PAGE"
then
- if grep "^paperlength 841890" \
- $prefix/lib/groff/font/devps/DESC >/dev/null 2>&1
+ descfile=
+ if test -r $prefix/share/groff/font/devps/DESC
+ then
+ descfile=$prefix/share/groff/font/devps/DESC
+ elif test -r $prefix/lib/groff/font/devps/DESC
+ then
+ descfile=$prefix/lib/groff/font/devps/DESC
+ fi
+ if test -n "$descfile" \
+ && grep "^paperlength 841890" $descfile >/dev/null 2>&1
then
PAGE=A4
else
@@ -1283,100 +1894,206 @@ then
esac
fi
test -n "$PAGE" || PAGE=letter
-echo guessing $PAGE size paper
+echo "$ac_t""$PAGE" 1>&6
-# Set default prefixes.
-if test -n "$prefix"; then
- test -z "$exec_prefix" && exec_prefix='${prefix}'
- prsub="s%^prefix\\([ ]*\\)=\\([ ]*\\).*$%prefix\\1=\\2$prefix%"
+echo $ac_n "checking for existing troff installation""... $ac_c" 1>&6
+if test "x`(echo .tm '|n(.g' | tr '|' '\\\\' | troff -z -i 2>&1) 2>/dev/null`" \
+ = x0
+then
+ echo "$ac_t""yes" 1>&6
+ g=g
+else
+ echo "$ac_t""no" 1>&6
+ g=
fi
-if test -n "$exec_prefix"; then
- prsub="$prsub
-s%^exec_prefix\\([ ]*\\)=\\([ ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
+
+
+
+echo $ac_n "checking for prefix of system macro packages""... $ac_c" 1>&6
+sys_tmac_prefix=
+sys_tmac_file_prefix=
+for d in /usr/share/lib/tmac /usr/lib/tmac
+do
+ for t in "" tmac.
+ do
+ for m in an s m
+ do
+ f=$d/$t$m
+ if test -z "$sys_tmac_prefix" \
+ && test -f $f \
+ && grep '^\.if' $f >/dev/null 2>&1
+ then
+ sys_tmac_prefix=$d/$t
+ sys_tmac_file_prefix=$t
+ fi
+ done
+ done
+done
+echo "$ac_t""$sys_tmac_prefix" 1>&6
+
+tmac_wrap=
+echo $ac_n "checking which system macro packages should be made available""... $ac_c" 1>&6
+if test "x$sys_tmac_file_prefix" = "xtmac."
+then
+ for f in $sys_tmac_prefix*
+ do
+ suff=`echo $f | sed -e "s;$sys_tmac_prefix;;"`
+ case "$suff" in
+ e);;
+ *)
+ grep "Copyright.*Free Software Foundation" $f >/dev/null \
+ || tmac_wrap="$tmac_wrap $suff"
+ ;;
+ esac
+ done
+elif test -n "$sys_tmac_prefix"
+then
+ files=`echo $sys_tmac_prefix*`
+ grep "\\.so" $files >conftest.sol
+ for f in $files
+ do
+ case "$f" in
+ ${sys_tmac_prefix}e) ;;
+ *.me) ;;
+ */ms.*) ;;
+ *)
+ b=`basename $f`
+ if grep "\\.so.*/$b\$" conftest.sol >/dev/null \
+ || grep -l "Copyright.*Free Software Foundation" $f >/dev/null
+ then
+ :
+ else
+ suff=`echo $f | sed -e "s;$sys_tmac_prefix;;"`
+ case "$suff" in
+ tmac.*);;
+ *) tmac_wrap="$tmac_wrap $suff" ;;
+ esac
+ fi
+ esac
+ done
+ rm -f conftest.sol
fi
-# Quote sed substitution magic chars in DEFS.
-cat >conftest.def <<EOF
-$DEFS
+echo "$ac_t""$tmac_wrap" 1>&6
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
EOF
-escape_ampersand_and_backslash='s%[&\\]%\\&%g'
-DEFS=`sed "$escape_ampersand_and_backslash" <conftest.def`
-rm -f conftest.def
-# Substitute for predefined variables.
-
-trap 'rm -f config.status; exit 1' 1 3 15
-echo creating config.status
-rm -f config.status
-cat > config.status <<EOF
-#!/bin/sh
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
+ >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
-# $0 $configure_args
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
-for arg
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
do
- case "\$arg" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args
- exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args ;;
- *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.4"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
esac
done
-trap 'rm -f Makefile; exit 1' 1 3 15
-CC='$CC'
-CCLIBS='$CCLIBS'
-CCC='$CCC'
-LPR='$LPR'
-LP='$LP'
-LPQ='$LPQ'
-PSPRINT='$PSPRINT'
-DVIPRINT='$DVIPRINT'
-PERLPATH='$PERLPATH'
-YACC='$YACC'
-RANLIB='$RANLIB'
-INSTALL='$INSTALL'
-INSTALL_PROGRAM='$INSTALL_PROGRAM'
-INSTALL_DATA='$INSTALL_DATA'
-LN_S='$LN_S'
-ETAGSCCFLAG='$ETAGSCCFLAG'
-SH_SCRIPT_SED_CMD='$SH_SCRIPT_SED_CMD'
-CPP='$CPP'
-LIBOBJS='$LIBOBJS'
-BROKEN_SPOOLER_FLAGS='$BROKEN_SPOOLER_FLAGS'
-PAGE='$PAGE'
-LIBS='$LIBS'
-srcdir='$srcdir'
-DEFS='$DEFS'
-prefix='$prefix'
-exec_prefix='$exec_prefix'
-prsub='$prsub'
-extrasub='$extrasub'
-EOF
-cat >> config.status <<\EOF
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
-top_srcdir=$srcdir
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-CONFIG_FILES=${CONFIG_FILES-"Makefile"}
-for file in .. ${CONFIG_FILES}; do if test "x$file" != x..; then
- srcdir=$top_srcdir
- # Remove last slash and all that follows it. Not all systems have dirname.
- dir=`echo $file|sed 's%/[^/][^/]*$%%'`
- if test "$dir" != "$file"; then
- test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
- test ! -d $dir && mkdir $dir
- fi
- echo creating $file
- rm -f $file
- echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
- sed -e "
-$prsub
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
+$ac_vpsub
$extrasub
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@GROPS@%$GROPS%g
s%@CC@%$CC%g
-s%@CCLIBS@%$CCLIBS%g
-s%@CCC@%$CCC%g
+s%@CXX@%$CXX%g
s%@LPR@%$LPR%g
s%@LP@%$LP%g
s%@LPQ@%$LPQ%g
@@ -1385,25 +2102,83 @@ s%@DVIPRINT@%$DVIPRINT%g
s%@PERLPATH@%$PERLPATH%g
s%@YACC@%$YACC%g
s%@RANLIB@%$RANLIB%g
-s%@INSTALL@%$INSTALL%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@LN_S@%$LN_S%g
-s%@ETAGSCCFLAG@%$ETAGSCCFLAG%g
s%@SH_SCRIPT_SED_CMD@%$SH_SCRIPT_SED_CMD%g
s%@CPP@%$CPP%g
s%@LIBOBJS@%$LIBOBJS%g
s%@BROKEN_SPOOLER_FLAGS@%$BROKEN_SPOOLER_FLAGS%g
s%@PAGE@%$PAGE%g
-s%@LIBS@%$LIBS%g
+s%@g@%$g%g
+s%@sys_tmac_prefix@%$sys_tmac_prefix%g
+s%@tmac_wrap@%$tmac_wrap%g
+
+CEOF
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust relative srcdir, etc. for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
-s%@DEFS@%$DEFS%
-" $top_srcdir/${file}.in >> $file
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
fi; done
+rm -f conftest.subs
+
exit 0
EOF
-chmod +x config.status
-${CONFIG_SHELL-/bin/sh} config.status
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
diff --git a/configure.in b/configure.in
index fccb8c8a5..f925170b8 100644
--- a/configure.in
+++ b/configure.in
@@ -1,45 +1,42 @@
dnl Process this file with autoconf to produce a configure script.
-builtin([include],[acgroff.m4])dnl
AC_INIT(groff/groff.cc)
-GROFF_PREFIX
+AC_PREFIX_PROGRAM(grops)
dnl checks for programs
AC_PROG_CC
-GROFF_PROG_CCC
+AC_PROG_CXX
+GROFF_CXX_CHECK
GROFF_PRINT
-GROFF_PERL_PATH
+AC_PATH_PROG(PERLPATH, perl, /usr/bin/perl)
GROFF_PROG_YACC
AC_PROG_RANLIB
+GROFF_INSTALL_SH
AC_PROG_INSTALL
-AC_LN_S
-GROFF_ETAGSCCFLAG
+AC_PROG_LN_S
GROFF_CSH_HACK(SH_SCRIPT_SED_CMD='1s/.*/:/', SH_SCRIPT_SED_CMD='')
AC_SUBST(SH_SCRIPT_SED_CMD)
dnl checks for headers
-AC_HAVE_HEADERS(unistd.h dirent.h limits.h sys/dir.h stdlib.h)
+AC_CHECK_HEADERS(unistd.h dirent.h limits.h sys/dir.h stdlib.h)
GROFF_ISC_SYSV3
GROFF_POSIX
-GROFF_LIMITS_H
-GROFF_OSFCN_H
GROFF_GETOPT
GROFF_PUTENV
GROFF_POPEN
GROFF_PCLOSE
+GROFF_OSFCN_H
+GROFF_LIMITS_H
dnl checks for typedefs
GROFF_TIME_T
-AC_RETSIGTYPE
+AC_TYPE_SIGNAL
GROFF_STRUCT_EXCEPTION
dnl checks for functions
-GROFF_MMAP
-AC_VFORK
+AC_FUNC_MMAP
saved_libs="$LIBS"
LIBS="$LIBS -lm"
AC_REPLACE_FUNCS(fmod strtol getcwd strerror putenv)
LIBS="$saved_libs"
-AC_HAVE_FUNCS(rename mkstemp)
-GROFF_SYS_SIGLIST
+AC_CHECK_FUNCS(rename mkstemp)
+AC_DECL_SYS_SIGLIST
dnl checks for compiler characteristics
-GROFF_COOKIE_BUG
-GROFF_CFRONT_ANSI_BUG
GROFF_ARRAY_DELETE
GROFF_TRADITIONAL_CPP
dnl checks for operating system services
@@ -47,4 +44,6 @@ GROFF_WCOREFLAG
dnl other random stuff
GROFF_BROKEN_SPOOLER_FLAGS
GROFF_PAGE
+GROFF_G
+GROFF_TMAC
AC_OUTPUT(Makefile)
diff --git a/devdvi/generate/Makefile b/devdvi/generate/Makefile
index f133ab620..aeca9774f 100644
--- a/devdvi/generate/Makefile
+++ b/devdvi/generate/Makefile
@@ -15,7 +15,7 @@
#
#You should have received a copy of the GNU General Public License along
#with groff; see the file COPYING. If not, write to the Free Software
-#Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# This is set up so you can do:
# make -f generate/Makefile
diff --git a/devlj4/ALBB b/devlj4/ALBB
new file mode 100644
index 000000000..0d1ea4ec2
--- /dev/null
+++ b/devlj4/ALBB
@@ -0,0 +1,773 @@
+name ALBB
+spacewidth 9759
+pcltypeface 4362
+pclproportional 1
+pclweight 4
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2925
+P . -4389
+P , -4389
+V A -3414
+A V -3414
+T o -3414
+T r -3414
+T c -3414
+T e -3414
+T d -3414
+T s -3414
+T y -3414
+T a -3414
+T w -3414
+T u -3414
+L T -2925
+L Y -2925
+Y o -2925
+Y e -2925
+Y a -2925
+A W -2925
+W A -2925
+T A -3414
+V o -2925
+V e -2925
+V a -2439
+Y A -2925
+F A -1950
+F . -3903
+F , -3903
+A T -3414
+A Y -2925
+v . -2439
+v , -2439
+y . -2439
+y , -2439
+T . -3414
+T , -3414
+L W -2925
+P A -2439
+V . -3903
+V , -3903
+Y . -2925
+Y , -2925
+W o -2439
+W e -2439
+W a -1950
+W . -2925
+W , -2925
+r . -2925
+r , -2925
+w . -2439
+w , -2439
+Y u -1950
+A v -1461
+A y -1461
+A w -1461
+o . -975
+o , -975
+p . -1950
+p , -1950
+e . -975
+e , -975
+b . -1950
+b , -1950
+O T -2439
+O V -1950
+O Y -2439
+O . -2439
+O , -2439
+L y -975
+L O -975
+L G -486
+L C -486
+L Q -486
+P J -486
+V y -1461
+V u -1461
+V O -1950
+V G -1461
+V C -1461
+V Q -1461
+D T -2439
+D V -1461
+D Y -1950
+D . -2439
+D , -2439
+Y O -2439
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -975
+F e -975
+F a -975
+O A -1461
+O W -1461
+L U -486
+R T -1461
+R V -1461
+R Y -1461
+R W -1461
+G T -486
+P o -1461
+P g -975
+P e -1461
+P a -975
+D A -975
+D W -975
+B T -1950
+B Y -1950
+B . -1950
+B , -1950
+A O -1461
+A G -975
+A C -975
+A U -975
+A Q -975
+W r -975
+W y -975
+W u -975
+W O -1461
+W G -975
+W C -975
+W Q -975
+U A -975
+U . -1950
+U , -1950
+Q A -975
+Q W -975
+f . -486
+f , -486
+T O -2439
+T G -2439
+T C -2439
+T Q -2439
+O X -1950
+L o -486
+L e -486
+L q -486
+G V -486
+G Y -486
+G W -486
+G . -486
+G , -486
+P T -486
+P V -486
+P Y -486
+D X -1461
+B V -1461
+B X -1461
+B A -975
+B W -975
+S . -1461
+S , -1461
+F O -486
+X o -1461
+X e -1461
+X y -1461
+X O -1950
+X G -1461
+X C -1461
+X Q -1461
+A o -975
+A e -975
+Q X -1461
+K o -975
+K e -975
+K y -975
+K w -975
+K O -1461
+K G -975
+K C -975
+K Q -975
+o v -486
+o y -486
+o x -486
+o w -486
+h v -486
+h y -486
+m v -486
+m y -486
+r g -975
+g . -975
+g , -975
+p v -486
+p y -486
+p x -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -486
+e y -486
+b v -486
+b y -486
+b w -486
+s . -975
+s , -975
+y o -486
+y g -486
+y c -486
+y d -486
+y a -486
+y q -486
+f g -486
+x o -486
+x c -486
+x e -486
+x d -486
+x q -486
+a v -486
+a y -486
+a w -486
+w o -486
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T S -1461
+R o -975
+R y -975
+R O -1461
+R G -975
+R C -975
+R U -975
+R Q -975
+G X -486
+G A -486
+P s -975
+P Z -486
+P X -486
+P W -486
+V S -1461
+S A -975
+Y S -1461
+X u -1461
+A t -975
+A c -975
+A d -975
+A u -975
+A q -975
+W S -975
+K c -975
+K u -975
+h w -486
+m w -486
+r o -975
+r c -975
+r e -975
+r d -975
+r a -975
+r q -975
+g g -486
+p w -486
+v e -486
+v s -486
+e x -486
+e w -486
+y e -486
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+w e -486
+w s -486
+k o -486
+k c -486
+k v -486
+k e -486
+k d -486
+k y -486
+k w -486
+k q -486
+O Z -975
+O J -975
+L J -486
+R e -975
+R u -975
+G Z -486
+P O -486
+E O -486
+Z o -486
+Z e -486
+Z d -486
+Z y -486
+Z w -486
+Z u -486
+Z O -975
+Z G -486
+Z C -486
+Z Q -486
+D Z -486
+D J -486
+B Z -486
+B J -486
+A J -486
+J O -486
+K J -486
+t o -486
+t c -486
+t e -486
+t d -486
+t q -486
+o z -486
+r s -975
+g o -486
+g c -486
+g e -486
+g d -486
+g s -486
+g a -486
+g q -486
+p z -486
+e z -486
+z o -486
+z c -486
+z e -486
+z d -486
+z q -486
+b z -486
+k t -486
+k u -486
+O g -486
+O j -486
+R J -486
+G J -486
+C O -486
+B O -486
+U O -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -975
+T char173 -3414
+T hy -3414
+T - -3414
+T en -3414
+T em -3414
+A ' -1461
+char173 T -3414
+hy T -3414
+- T -3414
+en T -3414
+em T -3414
+Y char173 -1950
+Y hy -1950
+Y - -1950
+Y en -1950
+Y em -1950
+p ' -486
+e ' -486
+b ' -486
+a ' -486
+V char173 -1461
+V hy -1461
+V - -1461
+V en -1461
+V em -1461
+h ' -486
+m ' -486
+R ' -975
+W char173 -975
+W hy -975
+W - -975
+W en -975
+W em -975
+' d -1950
+L char173 -486
+L hy -486
+L - -486
+L en -486
+L em -486
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -975
+A hy -975
+A - -975
+A en -975
+A em -975
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+' s -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -975
+hy A -975
+- A -975
+en X -1461
+en A -975
+em X -1461
+R char173 -975
+R hy -975
+R - -975
+R en -975
+R em -975
+K ' -486
+k ' -486
+O ' -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+k char173 -486
+k hy -486
+k - -486
+k en -486
+k em -486
+charset
+! 9759,20130,300 2 3617
+" 15126,20130 2 3618
+sh 17565,20430,300 2 3619
+# "
+Do 17565,21630,2370 2 3620
+$ "
+% 25857,20430,300 2 3621
+& 23907,17037,300 0 3622
+' 9759,20130 2 51751
+( 13173,20130,4365 3 3624
+) 13173,20130,4365 3 3625
+* 17565,20130 2 3626
++ 25857,15465 0 3627
+, 9759,5025,3885 0 3628
+char173 9759,10515 0 3629
+hy "
+- "
+. 9759,5430,300 0 3630
+sl 13173,20130 2 3631
+/ "
+0 17565,20430,300 2 3632
+1 17565,20430 2 3633
+2 17565,20430 2 3634
+3 17565,20130,300 2 3635
+4 17565,20130 2 3636
+5 17565,20130,300 2 3637
+6 17565,20130,300 2 3638
+7 17565,20130 2 3639
+8 17565,20430,300 2 3640
+9 17565,20430 2 3641
+: 9759,14376,300 0 3642
+; 9759,14376,3885 0 3643
+< 26346,16068 0 3644
+= 25857,13644 0 3645
+> 26346,16068 0 3646
+? 12684,20430,300 2 3647
+at 25857,21057,2679 2 3648
+@ "
+A 20490,20130 2 3649
+B 18540,20130 2 3650
+C 19029,20430,300 2 3651
+D 20490,20130 2 3652
+E 16101,20130 2 3653
+F 15126,20130 2 3654
+G 20490,20430,300 2 3655
+H 21468,20130 2 3656
+I 10245,20130 2 3657
+J 11709,20130,4380 3 3658
+K 19515,20130 2 3659
+L 15126,20130 2 3660
+M 25857,20130 2 3661
+N 22443,20130 2 3662
+O 23907,20430,300 2 3663
+P 17076,20130 2 3664
+Q 23907,20430,4095 2 3665
+R 18540,20130 2 3666
+S 14148,20430,300 2 3667
+T 16587,20130 2 3668
+U 21468,20130,300 2 3669
+V 20004,20130 2 3670
+W 25857,20130 2 3671
+X 20004,20130 2 3672
+Y 17565,20130 2 3673
+Z 17565,20130 2 3674
+lB 13173,20130,3960 2 3675
+[ "
+rs 13173,20130 2 3676
+\ "
+rB 13173,20130,3960 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 9759,20130 2 51808
+` "
+a 13173,14310,300 0 3681
+b 16101,20025 2 3682
+c 12684,14310,300 0 3683
+d 15612,20025,300 2 3684
+e 13662,14310,300 0 3685
+f 9759,20130 2 3686
+g 14637,14310,4650 1 3687
+h 15612,20025 2 3688
+i 7806,20940 2 3689
+j 7806,20940,4365 3 3690
+k 16587,20025 2 3691
+l 7806,20025 2 3692
+m 23418,14310 0 3693
+n 15612,14310 0 3694
+o 16101,14310,300 0 3695
+p 15612,14310,4365 1 3696
+q 15612,14310,4365 1 3697
+r 11220,14310 0 3698
+s 11220,14310,300 0 3699
+t 10734,17100,300 0 3700
+u 15612,14010,300 0 3701
+v 14637,14010 0 3702
+w 20979,14010 0 3703
+x 16587,14010 0 3704
+y 14637,14010,4365 1 3705
+z 12198,14010 0 3706
+lC 13173,20130,6075 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 13173,20130,6075 3 3709
+} "
+ti 26346,9435 0 51876
+char192 20490,25170 2 3776
+`A "
+char194 20490,25170 2 3778
+^A "
+char200 16101,25170 2 3784
+`E "
+char202 16101,25170 2 3786
+^E "
+char203 16101,26130 2 3787
+:E "
+char206 10245,25170 2 3790
+^I "
+char207 10245,26130 2 3791
+:I "
+char180 17565,20250 2 3764
+aa "
+ga 17565,20250 2 3680
+a^ 17565,20250 2 3678
+^ "
+char168 17565,20190 2 3752
+ad "
+a~ 17565,19035 2 3710
+~ "
+char217 21468,25170,300 2 3801
+`U "
+char219 21468,25170,300 2 3803
+^U "
+char221 17565,25170 2 3805
+'Y "
+char253 14637,20250,4365 3 3837
+'y "
+char176 14637,20430 2 3760
+de "
+char199 19029,20430,6270 3 3783
+,C "
+char231 12684,14310,6000 1 3815
+,c "
+char209 22443,25101 2 3793
+~N "
+char241 15612,19035 2 3825
+~n "
+char161 9759,14376,6054 1 3745
+r! "
+char191 12684,14526,6204 1 3775
+r? "
+char164 17565,15834 0 3748
+Cs "
+char163 17565,20430 2 3747
+Po "
+char165 17565,20130 2 3749
+Ye "
+char167 17565,20430,4365 3 3751
+sc "
+Fn 17565,20130 2 51871
+char162 17565,19911 2 3746
+ct "
+char226 13173,20250,300 2 3810
+^a "
+char234 13662,20250,300 2 3818
+^e "
+char244 16101,20250,300 2 3828
+^o "
+char251 15612,20250,300 2 3835
+^u "
+char225 13173,20250,300 2 3809
+'a "
+char233 13662,20250,300 2 3817
+'e "
+char243 16101,20250,300 2 3827
+'o "
+char250 15612,20250,300 2 3834
+'u "
+char224 13173,20250,300 2 3808
+`a "
+char232 13662,20250,300 2 3816
+`e "
+char242 16101,20250,300 2 3826
+`o "
+char249 15612,20250,300 2 3833
+`u "
+char228 13173,20190,300 2 3812
+:a "
+char235 13662,20190,300 2 3819
+:e "
+char246 16101,20190,300 2 3830
+:o "
+char252 15612,20190,300 2 3836
+:u "
+char197 20490,26508 2 3781
+oA "
+char238 7806,20250 2 3822
+^i "
+char216 23907,20601,366 2 3800
+/O "
+char198 26835,20130 2 3782
+AE "
+char229 13173,20655,300 2 3813
+oa "
+char237 7806,20250 2 3821
+'i "
+char248 16101,14373,330 0 3832
+/o "
+char230 20004,14310,300 0 3814
+ae "
+char196 20490,26130 2 3780
+:A "
+char236 7806,20250 2 3820
+`i "
+char214 23907,26130,300 2 3798
+:O "
+char220 21468,26130,300 2 3804
+:U "
+char201 16101,25170 2 3785
+'E "
+char239 7806,20190 2 3823
+:i "
+char223 17076,20130,300 2 3807
+ss "
+char212 23907,25170,300 2 3796
+^O "
+char193 20490,25170 2 3777
+'A "
+char195 20490,25101 2 3779
+~A "
+char227 13173,19035,300 2 3811
+~a "
+char208 21468,20130 2 3792
+-D "
+char240 16101,20025,300 2 3824
+Sd "
+char205 10245,25170 2 3789
+'I "
+char204 10245,25170 2 3788
+`I "
+char211 23907,25170,300 2 3795
+'O "
+char210 23907,25170,300 2 3794
+`O "
+char213 23907,25101,300 2 3797
+~O "
+char245 16101,19035,300 2 3829
+~o "
+vS 14148,25170,300 2 51795
+vs 11220,20250,300 2 51827
+char218 21468,25170,300 2 3802
+'U "
+:Y 17565,26130 2 51801
+char255 14637,20190,4365 3 3839
+:y "
+char222 17076,20130 2 3806
+TP "
+char254 15612,20025,4365 3 3838
+Tp "
+char181 15612,12630,4680 1 3765
+char182 17565,19635,4200 3 3766
+ps "
+char190 25857,20430,300 2 3774
+34 "
+\- 25857,10380 0 51757
+char188 25857,20430,300 2 3772
+14 "
+char189 25857,20430,300 2 3773
+12 "
+char170 12198,20430 2 3754
+Of "
+char186 12198,20430 2 3770
+Om "
+char171 13662,12450 0 3755
+Fo "
+char187 13662,12450 0 3771
+Fc "
+char177 25857,15465,6855 1 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 25857,12210 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 12198,20340 2 3762
+S2 "
+char179 12198,20130 2 3763
+S3 "
+char184 17565,0,6000 1 3768
+ac "
+char185 12198,20340 2 3769
+S1 "
+char215 25857,15282 0 3799
+char247 25857,16380,885 0 3831
+char183 9759,13080 0 3767
+fm 9759,20130 2 51873
+sd 15612,20130 2 51874
+dg 17565,20130,4365 3 51755
+tm 16101,17850 0 51796
+ah 17565,20250 2 51935
+ao 17565,20655 2 51930
+f/ 3903,20430,300 2 51759
+em 25857,10095 0 51789
+en 17565,10095 0 51790
+dd 17565,20130,4365 3 51773
+.i 7806,14010 0 51957
+aq 9759,20130 2 3623
+bu 13173,14226 0 51889
+'C 19029,25170,300 2 20166
+'c 12684,20250,300 2 20198
+lq 17076,20130 2 51838
+rq 17076,20130 2 51746
+Bq 17076,5025,3885 0 51772
+vz 12198,20250 2 51834
+fi 16587,20130 2 51881
+fl 16587,20130 2 51882
+ff 18540,20130 2 51883
+Fi 25371,20130 2 51884
+Fl 25371,20130 2 51885
+ij 15612,20940,4365 3 51958
+bq 9759,5025,3885 0 51756
+%0 33663,20430,300 2 51901
+char175 17565,19020 2 3759
+a- "
+ab 17565,19260 2 51926
+a. 17565,20190 2 51927
+oe 23418,14310,300 0 51823
+OE 31224,20430,300 2 51791
+fo 7806,12450 0 51886
+fc 7806,12450 0 51887
+sq 19029,15624 0 51899
+/L 16587,20130 2 51944
+/l 12684,20025 2 51960
+a" 17565,20250 2 51933
+ho 17565,348,5838 1 51934
+vZ 17565,25170 2 51802
+IJ 21954,20130,4380 3 51942
diff --git a/devlj4/ALBR b/devlj4/ALBR
new file mode 100644
index 000000000..4e384ded0
--- /dev/null
+++ b/devlj4/ALBR
@@ -0,0 +1,788 @@
+name ALBR
+spacewidth 8295
+pcltypeface 4362
+pclproportional 1
+pclweight 1
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2925
+P . -4389
+P , -4389
+V A -4389
+A V -4389
+T o -3903
+T r -3903
+T c -3903
+T e -3903
+T d -3903
+T s -3903
+T y -3903
+T a -3903
+T w -3903
+T u -3903
+L T -2925
+L Y -2925
+Y o -3903
+Y e -3903
+Y a -2925
+A W -3414
+W A -3414
+T A -3903
+V o -2925
+V e -2925
+V a -2925
+Y A -3903
+F A -2925
+F . -3903
+F , -3903
+A T -3903
+A Y -3903
+v . -3414
+v , -3414
+y . -3414
+y , -3414
+T . -3903
+T , -3903
+L W -2925
+P A -2925
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -2439
+W e -2439
+W a -2439
+W . -3414
+W , -3414
+r . -2925
+r , -2925
+w . -3414
+w , -3414
+Y u -1950
+A v -2439
+A y -2439
+A w -2439
+o . -1950
+o , -1950
+p . -1950
+p , -1950
+e . -975
+e , -975
+b . -1950
+b , -1950
+O T -2439
+O V -2439
+O Y -2439
+O . -2439
+O , -2439
+L y -1461
+L O -1461
+L G -975
+L C -975
+L Q -975
+P J -486
+V y -1950
+V u -1950
+V O -2439
+V G -1950
+V C -1950
+V Q -1950
+D T -2439
+D V -1950
+D Y -1950
+D . -2439
+D , -2439
+Y O -2439
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -975
+F e -975
+F a -975
+O A -2439
+O W -1950
+L U -975
+R T -1461
+R V -1461
+R Y -1461
+R W -1461
+G T -1461
+P o -1461
+P g -975
+P e -1461
+P a -975
+D A -1950
+D W -1461
+B T -1950
+B Y -1950
+B . -1950
+B , -1950
+A O -2439
+A G -1950
+A C -1950
+A U -1950
+A Q -1950
+W r -1461
+W y -1461
+W u -1461
+W O -1950
+W G -1461
+W C -1461
+W Q -1461
+Q A -1950
+Q W -1461
+f . -486
+f , -486
+T O -2439
+T G -2439
+T C -2439
+T Q -2439
+O X -1461
+L o -975
+L e -975
+L q -975
+G V -1461
+G Y -1461
+G W -1461
+G . -486
+G , -486
+P T -486
+P V -486
+P Y -486
+D X -975
+B V -1950
+B X -975
+B A -1950
+B W -1461
+S . -1461
+S , -1461
+F O -486
+X o -975
+X e -975
+X y -975
+X O -1461
+X G -975
+X C -975
+X Q -975
+A o -1950
+A e -1950
+Q X -975
+K o -975
+K e -975
+K y -975
+K w -975
+K O -1461
+K G -975
+K C -975
+K Q -975
+o v -486
+o y -486
+o x -486
+o w -486
+h v -486
+h y -486
+n v -486
+n y -486
+m v -486
+m y -486
+r g -975
+g . -975
+g , -975
+p v -486
+p y -486
+p x -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -486
+e y -486
+b v -486
+b y -486
+b w -486
+s . -975
+s , -975
+y o -486
+y g -486
+y c -486
+y d -486
+y a -486
+y q -486
+f g -486
+x o -486
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+a v -486
+a y -486
+a w -486
+w o -486
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T S -1461
+L a -975
+R o -975
+R y -975
+R O -1461
+R G -975
+R C -975
+R U -975
+R Q -975
+G X -486
+G A -486
+P Z -486
+P X -486
+P W -486
+V S -1461
+S T -975
+S V -975
+S Y -975
+S X -975
+S A -1461
+S W -975
+Y S -1461
+X a -975
+X u -975
+A t -975
+A c -1950
+A d -1950
+A a -975
+A u -1950
+A q -1950
+W S -1461
+K c -975
+K u -975
+o f -486
+h w -486
+n w -486
+m w -486
+r o -975
+r c -975
+r e -975
+r d -975
+r a -975
+r q -975
+g g -486
+p f -486
+p w -486
+v e -486
+e f -486
+e x -486
+e w -486
+b f -486
+y e -486
+f o -486
+f c -486
+f e -486
+f d -486
+f a -486
+f q -486
+w e -486
+k o -486
+k c -486
+k v -486
+k e -486
+k d -486
+k y -486
+k a -486
+k w -486
+k q -486
+O Z -975
+O J -975
+L J -486
+R e -975
+R a -975
+R u -975
+G Z -486
+P O -486
+E O -486
+Z o -486
+Z e -486
+Z d -486
+Z y -486
+Z a -486
+Z w -486
+Z u -486
+Z O -975
+Z G -486
+Z C -486
+Z Q -486
+D Z -486
+D J -486
+B Z -486
+B J -486
+S Z -486
+S J -486
+A J -486
+J O -486
+K a -975
+K J -486
+o z -486
+h f -486
+n f -486
+m f -486
+g o -486
+g c -486
+g e -486
+g d -486
+g a -486
+g q -486
+p z -486
+e z -486
+z o -486
+z c -486
+z e -486
+z d -486
+z a -486
+z q -486
+b z -486
+a f -486
+k t -486
+k f -486
+k u -486
+O g -486
+O j -486
+R J -486
+G J -486
+C O -486
+B O -486
+A f -486
+U O -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -2925
+T char173 -3903
+T hy -3903
+T - -3903
+T en -3903
+T em -3903
+A ' -2925
+char173 T -3903
+hy T -3903
+- T -3903
+en T -3903
+em T -3903
+Y char173 -1950
+Y hy -1950
+Y - -1950
+Y en -1950
+Y em -1950
+p ' -1950
+e ' -975
+b ' -1950
+a ' -1461
+V char173 -1950
+V hy -1950
+V - -1950
+V en -1950
+V em -1950
+h ' -1950
+n ' -1950
+m ' -1950
+R ' -975
+W char173 -1461
+W hy -1461
+W - -1461
+W en -1461
+W em -1461
+' d -1950
+L char173 -975
+L hy -975
+L - -975
+L en -975
+L em -975
+X char173 -975
+X hy -975
+X - -975
+X en -975
+X em -975
+A char173 -1950
+A hy -1950
+A - -1950
+A en -1950
+A em -1950
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+char173 X -975
+hy X -975
+- X -975
+char173 A -1950
+hy A -1950
+- A -1950
+en X -975
+en A -1950
+em X -975
+R char173 -975
+R hy -975
+R - -975
+R en -975
+R em -975
+K ' -486
+b f -486
+k ' -486
+O ' -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+k char173 -486
+k hy -486
+k - -486
+k en -486
+k em -486
+charset
+! 8295,20130,300 2 3617
+" 13173,20130 2 3618
+sh 16587,20430,300 2 3619
+# "
+Do 16587,21909,2490 2 3620
+$ "
+% 24882,20430,300 2 3621
+& 22932,16869,300 0 3622
+' 8295,20130 2 51751
+( 10734,20130,4365 3 3624
+) 10734,20130,4365 3 3625
+* 16587,20130 2 3626
++ 24882,15420,60 0 3627
+, 8295,3945,5055 1 3628
+char173 8295,9795 0 3629
+hy "
+- "
+. 8295,4080,300 0 3630
+sl 11709,20130 2 3631
+/ "
+0 16587,20430,300 2 3632
+1 16587,20430 2 3633
+2 16587,20430 2 3634
+3 16587,20130,300 2 3635
+4 16587,20130 2 3636
+5 16587,20130,300 2 3637
+6 16587,20130,300 2 3638
+7 16587,20130 2 3639
+8 16587,20430,300 2 3640
+9 16587,20430 2 3641
+: 8295,12372,300 0 3642
+; 8295,12372,5055 1 3643
+< 26346,16068 0 3644
+= 24882,11880 0 3645
+> 26346,16068 0 3646
+? 12198,20430,300 2 3647
+at 24882,21030,2745 2 3648
+@ "
+A 20979,20430 2 3649
+B 15126,20130 2 3650
+C 18051,20430,300 2 3651
+D 18540,20130 2 3652
+E 14637,20130 2 3653
+F 13662,20130 2 3654
+G 20490,20430,300 2 3655
+H 20004,20130 2 3656
+I 8295,20130 2 3657
+J 10734,20130,4488 3 3658
+K 18051,20130 2 3659
+L 14148,20130 2 3660
+M 24396,20130 2 3661
+N 21468,20130 2 3662
+O 22932,20430,300 2 3663
+P 13662,20130 2 3664
+Q 22932,20430,4152 3 3665
+R 16587,20130 2 3666
+S 13662,20430,300 2 3667
+T 16587,20130 2 3668
+U 20979,20130,300 2 3669
+V 20490,20130 2 3670
+W 24882,20430 2 3671
+X 18051,20130 2 3672
+Y 17076,20130 2 3673
+Z 16101,20130 2 3674
+lB 11220,20130,4365 3 3675
+[ "
+rs 11709,20130 2 3676
+\ "
+rB 11220,20130,4365 3 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 8295,20130 2 51808
+` "
+a 12198,14310,300 0 3681
+b 14148,20025 2 3682
+c 12198,14310,300 0 3683
+d 14637,20025,300 2 3684
+e 12684,14310,300 0 3685
+f 8295,20130 2 3686
+g 12684,14310,4479 1 3687
+h 14148,20025 2 3688
+i 6342,19815 2 3689
+j 6342,19815,4365 3 3690
+k 12684,20025 2 3691
+l 6342,20025 2 3692
+m 21954,14310 0 3693
+n 14148,14310 0 3694
+o 14637,14310,300 0 3695
+p 14637,14310,4365 1 3696
+q 14148,14310,4365 1 3697
+r 9759,14310 0 3698
+s 9270,14310,300 0 3699
+t 8781,16950,300 0 3700
+u 14148,14010,300 0 3701
+v 12684,14010 0 3702
+w 18540,14010 0 3703
+x 12684,14010 0 3704
+y 13173,14010,4365 1 3705
+z 10245,14010 0 3706
+lC 11709,20130,6075 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 11709,20130,6075 3 3709
+} "
+ti 26346,8952 0 51876
+char192 20979,24960 2 3776
+`A "
+char194 20979,24960 2 3778
+^A "
+char200 14637,24960 2 3784
+`E "
+char202 14637,24960 2 3786
+^E "
+char203 14637,25020 2 3787
+:E "
+char206 8295,24960 2 3790
+^I "
+char207 8295,25020 2 3791
+:I "
+char180 16587,19785 2 3764
+aa "
+ga 16587,19785 2 3680
+a^ 16587,19785 2 3678
+^ "
+char168 16587,19140 2 3752
+ad "
+a~ 16587,18507 2 3710
+~ "
+char217 20979,24960,300 2 3801
+`U "
+char219 20979,24960,300 2 3803
+^U "
+char221 17076,24960 2 3805
+'Y "
+char253 13173,19785,4365 3 3837
+'y "
+char176 13662,20430 2 3760
+de "
+char199 18051,20430,6330 3 3783
+,C "
+char231 12198,14310,6006 1 3815
+,c "
+char209 21468,24783 2 3793
+~N "
+char241 14148,18507 2 3825
+~n "
+char161 8295,14346,6084 1 3745
+r! "
+char191 12198,14496,6234 1 3775
+r? "
+char164 16587,15684 0 3748
+Cs "
+char163 16587,20430 2 3747
+Po "
+char165 16587,20130 2 3749
+Ye "
+char167 16587,20430,4365 3 3751
+sc "
+Fn 16587,20130 2 51871
+char162 16587,19968 2 3746
+ct "
+char226 12198,19785,300 2 3810
+^a "
+char234 12684,19785,300 2 3818
+^e "
+char244 14637,19785,300 2 3828
+^o "
+char251 14148,19785,300 2 3835
+^u "
+char225 12198,19785,300 2 3809
+'a "
+char233 12684,19785,300 2 3817
+'e "
+char243 14637,19785,300 2 3827
+'o "
+char250 14148,19785,300 2 3834
+'u "
+char224 12198,19785,300 2 3808
+`a "
+char232 12684,19785,300 2 3816
+`e "
+char242 14637,19785,300 2 3826
+`o "
+char249 14148,19785,300 2 3833
+`u "
+char228 12198,19140,300 2 3812
+:a "
+char235 12684,19140,300 2 3819
+:e "
+char246 14637,19140,300 2 3830
+:o "
+char252 14148,19140,300 2 3836
+:u "
+char197 20979,26154 2 3781
+oA "
+char238 6342,19785 2 3822
+^i "
+char216 22932,20454,300 2 3800
+/O "
+char198 25857,20130 2 3782
+AE "
+char229 12198,20160,300 2 3813
+oa "
+char237 6342,19785 2 3821
+'i "
+char248 14637,14316,300 0 3832
+/o "
+char230 19515,14310,300 0 3814
+ae "
+char196 20979,25020 2 3780
+:A "
+char236 6342,19785 2 3820
+`i "
+char214 22932,25020,300 2 3798
+:O "
+char220 20979,25020,300 2 3804
+:U "
+char201 14637,24960 2 3785
+'E "
+char239 6342,19140 2 3823
+:i "
+char223 15612,20130,300 2 3807
+ss "
+char212 22932,24960,300 2 3796
+^O "
+char193 20979,24960 2 3777
+'A "
+char195 20979,24783 2 3779
+~A "
+char227 12198,18507,300 2 3811
+~a "
+char208 20004,20130 2 3792
+-D "
+char240 14637,20025,300 2 3824
+Sd "
+char205 8295,24960 2 3789
+'I "
+char204 8295,24960 2 3788
+`I "
+char211 22932,24960,300 2 3795
+'O "
+char210 22932,24960,300 2 3794
+`O "
+char213 22932,24783,300 2 3797
+~O "
+char245 14637,18507,300 2 3829
+~o "
+vS 13662,24960,300 2 51795
+vs 9270,19785,300 2 51827
+char218 20979,24960,300 2 3802
+'U "
+:Y 17076,25020 2 51801
+char255 13173,19140,4365 3 3839
+:y "
+char222 13662,20130 2 3806
+TP "
+char254 14637,20025,4365 3 3838
+Tp "
+char181 14637,12630,4350 1 3765
+char182 16587,19635,4200 3 3766
+ps "
+char190 24882,20430,300 2 3774
+34 "
+\- 24882,9405 0 51757
+char188 24882,20430,300 2 3772
+14 "
+char189 24882,20430,300 2 3773
+12 "
+char170 10245,20430 2 3754
+Of "
+char186 10245,20430 2 3770
+Om "
+char171 12198,12450 0 3755
+Fo "
+char187 12198,12450 0 3771
+Fc "
+char177 24882,15420,5175 1 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 24882,12135 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 10245,20340 2 3762
+S2 "
+char179 10245,20130 2 3763
+S3 "
+char184 16587,309,6006 1 3768
+ac "
+char185 10245,20340 2 3769
+S1 "
+char215 24882,15990,279 0 3799
+char247 24882,15090 0 3831
+char183 8295,12330 0 3767
+fm 8295,20130 2 51873
+sd 14148,20130 2 51874
+dg 16587,20130,4365 3 51755
+tm 16101,17850 0 51796
+ah 16587,19785 2 51935
+ao 16587,20160 2 51930
+f/ 3414,20430,300 2 51759
+em 24882,9525 0 51789
+en 16587,9525 0 51790
+dd 16587,20130,4365 3 51773
+.i 6342,14010 0 51957
+aq 8295,20130 2 3623
+bu 13173,14226 0 51889
+'C 18051,24960,300 2 20166
+'c 12198,19785,300 2 20198
+lq 14148,20130 2 51838
+rq 14148,20130 2 51746
+Bq 14148,3900,5100 1 51772
+vz 10245,19785 2 51834
+fi 14148,20130 2 51881
+fl 14148,20130 2 51882
+ff 15612,20130 2 51883
+Fi 21468,20130 2 51884
+Fl 21468,20130 2 51885
+ij 12684,19815,4365 3 51958
+bq 8295,3900,5100 1 51756
+%0 33177,20430,300 2 51901
+char175 16587,18603 2 3759
+a- "
+ab 16587,19110 2 51926
+a. 16587,19140 2 51927
+oe 22443,14310,300 0 51823
+OE 26346,20430,300 2 51791
+fo 6831,12450 0 51886
+fc 6831,12450 0 51887
+sq 19029,15624 0 51899
+/L 16101,20130 2 51944
+/l 9270,20025 2 51960
+a" 16587,19785 2 51933
+ho 16587,297,6417 1 51934
+vZ 16101,24960 2 51802
+IJ 18051,20130,4488 3 51942
diff --git a/devlj4/AOB b/devlj4/AOB
new file mode 100644
index 000000000..954d8afbb
--- /dev/null
+++ b/devlj4/AOB
@@ -0,0 +1,744 @@
+name AOB
+spacewidth 8781
+pcltypeface 4168
+pclproportional 1
+pclweight 3
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -1461
+P . -5364
+P , -5364
+V A -1950
+A V -1950
+T o -2439
+T c -1950
+T e -1950
+T d -1950
+T s -1461
+T a -1950
+T J -2925
+L T -2925
+L Y -3414
+Y o -3414
+Y e -2925
+Y a -2925
+Y J -2925
+A W -1461
+W A -1461
+T A -2439
+V o -1461
+V e -1461
+V a -1461
+Y A -2925
+F A -486
+F . -3903
+F , -3903
+A T -2439
+A Y -2925
+v . -2925
+v , -2925
+y . -3414
+y , -3414
+T . -3414
+T , -3414
+L W -975
+P A -975
+V J -2925
+V . -3414
+V , -3414
+Y . -3903
+Y , -3903
+W o -975
+W e -975
+W a -975
+W . -2439
+W , -2439
+r . -3414
+r , -3414
+w . -2925
+w , -2925
+Y u -975
+A v -1461
+A y -1461
+A w -1461
+o . -2439
+o , -2439
+p . -1950
+p , -1950
+e . -1461
+e , -1461
+b . -2439
+b , -2439
+O T -486
+O V -975
+O Y -1461
+O . -1950
+O , -1950
+L y -975
+P J -2925
+V y -486
+V u -486
+V O -975
+V G -975
+V C -975
+V Q -975
+D T -486
+D V -975
+D Y -1461
+D . -1950
+D , -1950
+Y O -1461
+Y G -1461
+Y C -1461
+Y Q -1461
+c . -1461
+c , -1461
+O A -486
+O W -975
+R V -486
+R Y -975
+R W -486
+G T -486
+P o -486
+P g -486
+P e -486
+P a -486
+C . -486
+C , -486
+D A -486
+D W -975
+B Y -975
+B . -1461
+B , -1461
+F J -2925
+A O -486
+A G -486
+A C -486
+A U -486
+A Q -486
+W r -486
+W y -486
+W u -486
+W O -975
+W G -975
+W C -975
+W J -1950
+W Q -975
+J A -486
+J . -1950
+J , -1950
+U A -486
+U . -1950
+U , -1950
+Q A -486
+Q W -975
+f . -1461
+f , -1461
+T O -486
+T G -486
+T C -486
+T Q -486
+O X -486
+G V -975
+G Y -1461
+G W -975
+G . -1950
+G , -1950
+P V -486
+P Y -975
+C V -486
+C Y -975
+D X -486
+B V -486
+B X -486
+B A -486
+B W -486
+S . -1461
+S , -1461
+X o -486
+X e -486
+X y -486
+X O -486
+X G -486
+X C -486
+X Q -486
+A o -486
+A e -486
+Q X -486
+K o -486
+K e -486
+K y -486
+K w -486
+K O -486
+K G -486
+K C -486
+K Q -486
+o v -975
+o y -975
+o x -486
+o w -975
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+g . -486
+g , -486
+p v -975
+p y -975
+p x -486
+c v -975
+c y -975
+c w -975
+v o -975
+v g -975
+v c -975
+v d -975
+v a -975
+v q -975
+e v -975
+e y -975
+b v -975
+b y -975
+b w -975
+s . -975
+s , -975
+y o -975
+y g -975
+y c -975
+y d -975
+y a -975
+y q -975
+x o -486
+x g -486
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+a v -975
+a y -975
+a w -975
+w o -975
+w g -975
+w c -975
+w d -975
+w a -975
+w q -975
+R o -1461
+R O -486
+R G -486
+R C -486
+R Q -486
+G X -486
+G A -486
+P s -486
+P X -486
+P W -486
+C W -486
+V S -486
+S V -486
+S Y -975
+S X -486
+S A -486
+S W -486
+Y S -975
+X a -486
+X u -486
+X S -486
+A t -486
+A g -486
+A c -486
+A d -486
+A a -486
+A u -486
+A q -486
+A S -486
+W S -486
+K c -486
+K u -486
+K S -486
+t . -486
+t , -486
+h w -975
+h . -486
+h , -486
+n w -975
+n . -486
+n , -486
+m w -975
+m . -486
+m , -486
+l . -486
+l , -486
+i . -486
+i , -486
+p w -975
+c x -486
+v e -975
+v s -975
+e x -486
+e w -975
+z . -486
+z , -486
+d . -486
+d , -486
+s v -975
+s y -975
+s x -486
+s w -975
+y e -975
+y s -975
+x s -486
+x . -486
+x , -486
+a . -486
+a , -486
+w e -975
+w s -975
+j . -486
+j , -486
+u . -486
+k o -486
+k g -486
+k c -486
+k e -486
+k d -486
+k a -486
+k q -486
+k . -486
+k , -486
+O Z -486
+O J -1461
+H . -486
+H , -486
+N . -486
+N , -486
+M . -486
+M , -486
+L . -486
+L , -486
+R e -1461
+R a -975
+R . -486
+R , -486
+G Z -486
+I . -486
+I , -486
+P O -486
+P G -486
+P C -486
+P Q -486
+E . -486
+E , -486
+Z o -1950
+Z e -1950
+Z d -1950
+Z s -486
+Z a -975
+Z O -486
+Z G -486
+Z C -486
+Z Q -486
+Z . -486
+Z , -486
+D Z -486
+D J -1461
+B J -975
+S J -975
+X . -486
+X , -486
+A s -486
+A . -486
+A , -486
+J J -1461
+U J -1461
+K a -486
+K . -486
+K , -486
+k s -486
+G J -1461
+A f -486
+A ' -486
+Y char173 -975
+Y hy -975
+Y - -975
+Y en -975
+Y em -975
+V char173 -486
+V hy -486
+V - -486
+V en -486
+V em -486
+W char173 -486
+W hy -486
+W - -486
+W en -486
+W em -486
+X char173 -486
+X hy -486
+X - -486
+X en -486
+X em -486
+A char173 -486
+A hy -486
+A - -486
+A en -486
+A em -486
+K char173 -486
+K hy -486
+K - -486
+K en -486
+K em -486
+char173 X -486
+hy X -486
+- X -486
+char173 A -486
+hy A -486
+- A -486
+en X -486
+en A -486
+em X -486
+charset
+! 9759,20205,450 2 3617
+" 12198,19755 2 3618
+sh 17565,20730,3630 3 3619
+# "
+Do 17565,22980,3855 3 3620
+$ "
+% 30249,20505,450 2 3621
+& 21468,20205,450 2 3622
+' 6831,19755 2 51751
+( 8781,19755 2 3624
+) 8781,19755 2 3625
+* 17565,20205 2 3626
++ 30249,15450,600 0 3627
+, 8781,4080,4710 1 3628
+char173 8781,10965 0 3629
+hy "
+- "
+. 8781,4170,450 0 3630
+sl 10734,20820,450 2 3631
+/ "
+0 17565,20505,450 2 3632
+1 17565,20055 2 3633
+2 17565,20505 2 3634
+3 17565,20055,450 2 3635
+4 17565,20055 2 3636
+5 17565,20055,450 2 3637
+6 17565,20505,450 2 3638
+7 17565,20055 2 3639
+8 17565,20505,450 2 3640
+9 17565,20505,450 2 3641
+: 8781,15783,450 0 3642
+; 8781,15783,4710 1 3643
+< 26346,16068 0 3644
+= 30249,12984 0 3645
+> 26346,16068 0 3646
+? 16101,20205,450 2 3647
+at 30249,21057,2679 2 3648
+@ "
+A 20004,19755 2 3649
+B 18051,19755 2 3650
+C 17076,20205,450 2 3651
+D 19515,19755 2 3652
+E 16101,19755 2 3653
+F 16101,19755 2 3654
+G 18540,20205,450 2 3655
+H 19515,19755 2 3656
+I 8295,19755 2 3657
+J 13662,19755,450 2 3658
+K 18540,19755 2 3659
+L 14637,19755 2 3660
+M 24396,19755 2 3661
+N 20004,19755 2 3662
+O 20004,20205,450 2 3663
+P 18540,19755 2 3664
+Q 20004,20205,3075 2 3665
+R 18051,19755 2 3666
+S 15612,20205,450 2 3667
+T 17076,19755 2 3668
+U 19029,19755,450 2 3669
+V 19029,19755 2 3670
+W 27321,19755 2 3671
+X 19029,19755 2 3672
+Y 19029,19755 2 3673
+Z 17565,19755 2 3674
+lB 8781,19755 2 3675
+[ "
+rs 10734,20820,450 2 3676
+\ "
+rB 8781,19755 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 6831,19755 2 51808
+` "
+a 17076,17205,450 0 3681
+b 19029,20820,450 2 3682
+c 15612,17205,450 0 3683
+d 19029,20820,450 2 3684
+e 17565,17205,450 0 3685
+f 13662,20820 2 3686
+g 19029,17205,3930 1 3687
+h 19029,20820 2 3688
+i 8781,21855 2 3689
+j 8781,21855,3930 3 3690
+k 17076,20820 2 3691
+l 8295,20820 2 3692
+m 27810,17205 0 3693
+n 19029,17205 0 3694
+o 18540,17205,450 0 3695
+p 19029,17205,3930 1 3696
+q 19029,17205,3930 1 3697
+r 13662,17205 0 3698
+s 14637,17205,450 0 3699
+t 14148,20970,450 2 3700
+u 18540,16755,450 0 3701
+v 17565,16755 0 3702
+w 26346,16755 0 3703
+x 17565,16755 0 3704
+y 17565,16755,3930 1 3705
+z 15126,16755 0 3706
+lC 13173,20130,6075 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 13173,20130,6075 3 3709
+} "
+ti 26346,9435 0 51876
+char192 20004,24930 2 3776
+`A "
+char194 20004,24930 2 3778
+^A "
+char200 16101,24930 2 3784
+`E "
+char202 16101,24930 2 3786
+^E "
+char203 16101,25050 2 3787
+:E "
+char206 8295,24930 2 3790
+^I "
+char207 8295,25050 2 3791
+:I "
+char180 17565,22125 2 3764
+aa "
+ga 17565,22125 2 3680
+a^ 17565,22125 2 3678
+^ "
+char168 17565,22125 2 3752
+ad "
+a~ 17565,22521 2 3710
+~ "
+char217 19029,24930,450 2 3801
+`U "
+char219 19029,24930,450 2 3803
+^U "
+char221 19029,24930 2 3805
+'Y "
+char253 17565,22125,3930 3 3837
+'y "
+char176 17565,20505 2 3760
+de "
+char199 17076,20205,5988 3 3783
+,C "
+char231 15612,17205,5988 1 3815
+,c "
+char209 20004,25161 2 3793
+~N "
+char241 19029,22521 2 3825
+~n "
+char161 9759,17115,3540 1 3745
+r! "
+char191 16101,17106,3549 1 3775
+r? "
+char164 17565,15834 0 3748
+Cs "
+char163 17565,20505 2 3747
+Po "
+char165 17565,20055 2 3749
+Ye "
+char167 17565,20205,3930 3 3751
+sc "
+Fn 17565,20820 2 51871
+char162 17565,21603,1890 2 3746
+ct "
+char226 17076,22125,450 2 3810
+^a "
+char234 17565,22125,450 2 3818
+^e "
+char244 18540,22125,450 2 3828
+^o "
+char251 18540,22125,450 2 3835
+^u "
+char225 17076,22125,450 2 3809
+'a "
+char233 17565,22125,450 2 3817
+'e "
+char243 18540,22125,450 2 3827
+'o "
+char250 18540,22125,450 2 3834
+'u "
+char224 17076,22125,450 2 3808
+`a "
+char232 17565,22125,450 2 3816
+`e "
+char242 18540,22125,450 2 3826
+`o "
+char249 18540,22125,450 2 3833
+`u "
+char228 17076,22125,450 2 3812
+:a "
+char235 17565,22125,450 2 3819
+:e "
+char246 18540,22125,450 2 3830
+:o "
+char252 18540,22125,450 2 3836
+:u "
+char197 20004,27354 2 3781
+oA "
+char238 8781,22125 2 3822
+^i "
+char216 20004,20205,450 2 3800
+/O "
+char198 30249,19755 2 3782
+AE "
+char229 17076,24825,450 2 3813
+oa "
+char237 8781,22125 2 3821
+'i "
+char248 18540,17205,450 0 3832
+/o "
+char230 27321,17205,450 0 3814
+ae "
+char196 20004,25050 2 3780
+:A "
+char236 8781,22125 2 3820
+`i "
+char214 20004,25050,450 2 3798
+:O "
+char220 19029,25050,450 2 3804
+:U "
+char201 16101,24930 2 3785
+'E "
+char239 8781,22125 2 3823
+:i "
+char223 18540,20820,450 2 3807
+ss "
+char212 20004,24930,450 2 3796
+^O "
+char193 20004,24930 2 3777
+'A "
+char195 20004,25161 2 3779
+~A "
+char227 17076,22521,450 2 3811
+~a "
+char208 19515,19755 2 3792
+-D "
+char240 18540,21666,450 2 3824
+Sd "
+char205 8295,24930 2 3789
+'I "
+char204 8295,24930 2 3788
+`I "
+char211 20004,24930,450 2 3795
+'O "
+char210 20004,24930,450 2 3794
+`O "
+char213 20004,25161,450 2 3797
+~O "
+char245 18540,22521,450 2 3829
+~o "
+vS 15612,24930,450 2 51795
+vs 14637,22125,450 2 51827
+char218 19029,24930,450 2 3802
+'U "
+:Y 19029,25050 2 51801
+char255 17565,22125,3930 3 3839
+:y "
+char222 18540,19755 2 3806
+TP "
+char254 19029,20820,3930 3 3838
+Tp "
+char181 15612,12630,4680 1 3765
+char182 17565,19635,4200 1 3766
+ps "
+char190 30249,20610,555 2 3774
+34 "
+\- 30249,9375 0 51757
+char188 30249,20610,555 2 3772
+14 "
+char189 30249,20610,555 2 3773
+12 "
+char170 14637,20505 2 3754
+Of "
+char186 14637,20505 2 3770
+Om "
+char171 15612,14025 0 3755
+Fo "
+char187 15612,14025 0 3771
+Fc "
+char177 30249,15450,5895 1 3761
+char166 13173,19083,5916 1 3750
+bb "
+char169 13173,19635 0 3753
+co "
+char172 30249,11274 0 3756
+no "
+char174 13173,19635 0 3758
+rg "
+char178 11709,20385 2 3762
+S2 "
+char179 11709,20055 2 3763
+S3 "
+char184 17565,507,5988 1 3768
+ac "
+char185 11709,20055 2 3769
+S1 "
+char215 30249,15225,585 0 3799
+char247 30249,15885,1035 0 3831
+char183 8781,12759 0 3767
+fm 8781,20055 2 51873
+sd 17565,20055 2 51874
+dg 17565,20205,4095 3 51755
+tm 16101,17850 0 51796
+ah 17565,22125 2 51935
+ao 17565,24825 2 51930
+f/ 5367,20610,555 2 51759
+em 30249,10440 0 51789
+en 17565,10440 0 51790
+dd 17565,20205,4095 3 51773
+.i 8781,16755 0 51957
+aq 6831,19755 2 3623
+bu 13173,14226 0 51889
+'C 17076,24930,450 2 20166
+'c 15612,22125,450 2 20198
+lq 11220,19755 2 51838
+rq 11220,19755 2 51746
+Bq 11220,4038,3672 1 51772
+vz 15126,22125 2 51834
+fi 21954,21855 2 51881
+fl 21954,20820 2 51882
+ff 25371,20820 2 51883
+Fi 33177,21855 2 51884
+Fl 33177,20820 2 51885
+ij 17565,21855,3930 3 51958
+bq 6831,4038,3672 1 51756
+%0 34152,20505,450 2 51901
+char175 17565,21675 2 3759
+a- "
+ab 17565,22200 2 51926
+a. 17565,22590 2 51927
+oe 28785,17205,450 0 51823
+OE 28785,20205,450 2 51791
+fo 9270,14025 0 51886
+fc 9270,14025 0 51887
+sq 19029,15624 0 51899
+/L 14148,19755 2 51944
+/l 9270,20820 2 51960
+a" 17565,22125 2 51933
+ho 17565,1095,4155 1 51934
+vZ 17565,24930 2 51802
+IJ 21954,19755,450 2 51942
diff --git a/devlj4/AOI b/devlj4/AOI
new file mode 100644
index 000000000..f1b9ca71a
--- /dev/null
+++ b/devlj4/AOI
@@ -0,0 +1,797 @@
+name AOI
+spacewidth 7806
+slant 11.150000
+pcltypeface 4168
+pclproportional 1
+pclweight 0
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2439
+P . -4878
+P , -4878
+V A -2439
+A V -1950
+T o -2925
+T r -1461
+T c -2925
+T e -2925
+T d -2925
+T s -2439
+T y -1461
+T a -2925
+T w -1461
+T u -1461
+T J -2925
+L T -2925
+L Y -2925
+Y o -2925
+Y e -2925
+Y a -2439
+Y J -2925
+A W -1461
+W A -1461
+T A -2925
+V o -1461
+V e -1461
+V a -1461
+Y A -2925
+F A -1461
+F . -3903
+F , -3903
+A T -2439
+A Y -2439
+v . -2439
+v , -2439
+y . -2925
+y , -2925
+T . -3414
+T , -3414
+L W -1461
+P A -975
+V J -2925
+V . -3414
+V , -3414
+Y . -3414
+Y , -3414
+W o -975
+W e -975
+W a -975
+W . -1950
+W , -1950
+r . -1950
+r , -1950
+w . -2439
+w , -2439
+Y u -975
+A v -1461
+A y -1461
+A w -975
+o . -2439
+o , -2439
+p . -2439
+p , -2439
+e . -1461
+e , -1461
+b . -2439
+b , -2439
+O T -1461
+O V -975
+O Y -1461
+O . -2439
+O , -2439
+L y -1950
+L O -2439
+L G -2439
+L C -2439
+L Q -2439
+P J -2925
+V y -975
+V u -975
+V O -975
+V G -975
+V C -975
+V Q -975
+D T -1461
+D V -975
+D Y -1461
+D . -2439
+D , -2439
+Y O -975
+Y G -975
+Y C -975
+Y Q -975
+F o -486
+F e -486
+F a -486
+c . -1461
+c , -1461
+O A -975
+O W -486
+L U -1950
+R T -975
+R V -975
+R Y -975
+R W -486
+G T -1461
+C A -486
+C . -975
+C , -975
+D A -975
+D W -486
+B T -1461
+B Y -1461
+B . -1461
+B , -1461
+F J -2925
+A O -975
+A G -975
+A C -975
+A U -975
+A Q -975
+W r -486
+W y -486
+W u -486
+W O -486
+W G -486
+W C -486
+W J -1461
+W Q -486
+J A -486
+J . -975
+J , -975
+U A -975
+U . -2439
+U , -2439
+Q W -486
+f . -2439
+f , -2439
+T O -1461
+T G -1461
+T C -1461
+T Q -1461
+O X -975
+L o -2925
+L e -2439
+L q -1950
+G V -975
+G Y -1461
+G W -486
+G . -1950
+G , -1950
+P T -1461
+P V -975
+P Y -1461
+C T -975
+C V -975
+C Y -975
+D X -975
+B V -975
+B X -975
+B A -975
+B W -486
+S . -1950
+S , -1950
+X o -975
+X e -975
+X y -975
+X O -975
+X G -975
+X C -975
+X Q -975
+A o -975
+A e -975
+K o -1461
+K e -1461
+K y -975
+K w -975
+K O -975
+K G -975
+K C -975
+K Q -975
+o v -486
+o y -486
+o x -975
+h v -486
+h y -486
+n v -486
+n y -486
+m v -486
+m y -486
+r g -486
+g . -486
+g , -486
+p v -486
+p y -486
+p x -975
+c v -486
+c y -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -486
+e y -486
+b v -975
+b y -975
+b w -486
+s . -975
+s , -975
+y o -486
+y g -486
+y c -486
+y d -486
+y a -486
+y q -486
+f g -486
+x o -975
+x c -975
+x e -975
+x d -975
+x a -975
+x q -975
+a v -486
+a y -486
+w o -486
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T S -1461
+L a -975
+L S -1461
+G X -975
+G A -975
+P X -975
+P W -486
+C X -486
+C W -486
+C J -486
+V S -975
+S T -1461
+S V -975
+S Y -1461
+S X -975
+S A -975
+S W -486
+Y S -975
+X a -975
+X u -975
+X S -975
+A t -975
+A c -975
+A d -975
+A a -975
+A u -975
+A q -975
+A S -975
+W S -486
+K c -1461
+K u -975
+K S -975
+t . -486
+t , -486
+h . -486
+h , -486
+n . -486
+n , -486
+m . -486
+m , -486
+l . -486
+l , -486
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+i . -486
+i , -486
+c x -975
+v e -486
+v s -486
+e x -975
+z . -486
+z , -486
+d . -486
+d , -486
+b f -486
+s v -486
+s y -486
+s x -486
+y e -486
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+x s -486
+x . -486
+x , -486
+a . -486
+a , -486
+w e -486
+w s -486
+j . -486
+j , -486
+u . -486
+k o -975
+k c -975
+k e -975
+k d -975
+k a -975
+k q -975
+k . -486
+k , -486
+O J -1950
+H . -486
+H , -486
+N . -486
+N , -486
+M . -486
+M , -486
+L . -486
+L , -486
+R . -486
+R , -486
+I . -486
+I , -486
+E . -486
+E , -486
+Z o -1461
+Z e -1461
+Z d -1461
+Z s -486
+Z a -975
+Z . -486
+Z , -486
+D J -1950
+B J -975
+S J -1461
+X . -486
+X , -486
+A s -486
+A . -486
+A , -486
+J J -486
+U J -1950
+K a -975
+K . -486
+K , -486
+o z -975
+r s -486
+p z -975
+c z -975
+v f -486
+e z -975
+z o -975
+z c -975
+z e -975
+z d -975
+z s -486
+z a -975
+z q -975
+b t -486
+b g -486
+b z -1461
+b j -486
+s z -486
+y f -486
+w f -486
+k s -486
+G J -1461
+L ' -3414
+T char173 -1461
+T hy -1461
+T - -1461
+T en -1461
+T em -1461
+A ' -1950
+char173 T -1461
+hy T -1461
+- T -1461
+en T -1461
+em T -1461
+Y char173 -975
+Y hy -975
+Y - -975
+Y en -975
+Y em -975
+p ' -1950
+c ' -975
+e ' -1950
+b ' -1950
+a ' -1950
+V char173 -975
+V hy -975
+V - -975
+V en -975
+V em -975
+h ' -1950
+n ' -1950
+m ' -1950
+W char173 -486
+W hy -486
+W - -486
+W en -486
+W em -486
+' d -1950
+s ' -975
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -975
+X hy -975
+X - -975
+X en -975
+X em -975
+A char173 -975
+A hy -975
+A - -975
+A en -975
+A em -975
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+' s -975
+char173 X -975
+hy X -975
+- X -975
+char173 A -975
+hy A -975
+- A -975
+en X -975
+en A -975
+em X -975
+b f -486
+charset
+! 7806,20160,405,1176,798,880 2 3617
+" 11709,19755,0,504,-2439,504 2 3618
+sh 15612,20460,4296,0,-936 3 3619
+# "
+Do 15612,22065,2295,1062,258,880 2 3620
+$ "
+% 26346,20460,405,0,-1734 2 3621
+& 17565,20160,405,414,381,414 2 3622
+' 7806,19755,0,744,-1851,744 2 51751
+( 7806,19755,405,3360,-270,880 2 3624
+) 7806,19755,405,618,2472,618 2 3625
+* 15612,20160,0,0,-2880 2 3626
++ 26346,15255,585,0,-3894 0 3627
+, 7806,2910,4320,0,2160 1 3628
+char173 7806,10230,0,654,468,654 0 3629
+hy "
+- "
+. 7806,2925,405,0,684 0 3630
+sl 7806,20820,405,4203,3111,880 2 3631
+/ "
+0 15612,20460,405,1371,450,880 2 3632
+1 15612,20055,0,0,-879 2 3633
+2 15612,20460,0,1173,1140,880 2 3634
+3 15612,20055,405,1743,621,880 2 3635
+4 15612,20055,0,1101,1074,880 2 3636
+5 15612,20055,405,1530,453,880 2 3637
+6 15612,20460,405,1863,-6,880 2 3638
+7 15612,20055,0,2184,-213,880 2 3639
+8 15612,20460,405,1362,708,880 2 3640
+9 15612,20460,405,1032,828,880 2 3641
+: 7806,13515,405,0,684 0 3642
+; 7806,13515,4320,0,2160 1 3643
+< 26346,16068,0,0,-3981 0 3644
+= 26346,10800,0,0,-3921 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 14148,20160,405,1497,-1323,880 2 3647
+at 26346,21030,2745,0,-1083 2 3648
+@ "
+A 18051,19755,0,0,2478 2 3649
+B 16587,19755,0,1230,765,880 2 3650
+C 16101,20160,405,1941,-36,880 2 3651
+D 19029,19755,0,516,657,516 2 3652
+E 15612,19755,0,1971,858,880 2 3653
+F 15126,19755,0,2244,807,880 2 3654
+G 18051,20160,405,1218,-144,880 2 3655
+H 19515,19755,0,1179,558,880 2 3656
+I 6831,19755,0,1557,909,880 2 3657
+J 12198,19755,405,1518,2154,880 2 3658
+K 16101,19755,0,3612,717,880 2 3659
+L 12684,19755,0,0,783 2 3660
+M 22932,19755,0,1287,729,880 2 3661
+N 19515,19755,0,1344,735,880 2 3662
+O 19029,20160,405,732,-39,732 2 3663
+P 16587,19755,0,1425,699,880 2 3664
+Q 19029,20160,993,849,-243,849 2 3665
+R 16101,19755,0,1494,744,880 2 3666
+S 14637,20160,405,1374,888,880 2 3667
+T 14637,19755,0,3165,-825,880 2 3668
+U 18540,19755,405,1449,-453,880 2 3669
+V 17076,19755,0,2931,-1407,880 2 3670
+W 25371,19755,0,3333,-1341,880 2 3671
+X 16587,19755,0,3177,2418,880 2 3672
+Y 16587,19755,0,3216,-1296,880 2 3673
+Z 16101,19755,0,2199,1347,880 2 3674
+lB 7806,19755,405,2646,699,880 2 3675
+[ "
+rs 7806,20820,405,0,-1671 2 3676
+\ "
+rB 7806,19755,405,1341,2004,880 2 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,880 3 3679
+oq 7806,19755,0,1062,-2169,880 2 51808
+` "
+a 16101,17160,405,0,621 0 3681
+b 18051,20820,405,0,735 2 3682
+c 15126,17160,405,1257,114,880 0 3683
+d 18051,20820,405,1623,207,880 2 3684
+e 16587,17160,405,546,-6,546 0 3685
+f 11220,20820,0,3024,114,880 2 3686
+g 18051,17160,3930,654,102,654 1 3687
+h 18051,20820,0,0,573 2 3688
+i 6831,21105,0,2052,918,880 2 3689
+j 7317,21105,3930,1986,4662,880 3 3690
+k 14637,20820,0,2835,738,880 2 3691
+l 6831,20820,0,1794,891,880 2 3692
+m 26835,17160,0,0,735 0 3693
+n 18051,17160,0,0,567 0 3694
+o 17565,17160,405,90,-30,90 0 3695
+p 18051,17160,3930,51,1440,51 1 3696
+q 18051,17160,3930,855,216,855 1 3697
+r 11220,17160,0,2286,816,880 0 3698
+s 12684,17160,405,1206,1044,880 0 3699
+t 12198,20985,405,2229,-525,880 2 3700
+u 18051,16755,405,603,-237,603 0 3701
+v 16101,16755,0,1950,-618,880 0 3702
+w 24396,16755,0,1749,-735,880 0 3703
+x 15126,16755,0,2667,2142,880 0 3704
+y 15612,16755,3930,2085,-378,880 1 3705
+z 13662,16755,0,1953,1530,880 0 3706
+lC 11709,20130,6075,2580,-1005,880 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 11709,20130,6075,0,3153 3 3709
+} "
+ti 26346,8952,0,0,-4029 0 51876
+char192 18051,25005,0,0,2478 2 3776
+`A "
+char194 18051,25005,0,0,2478 2 3778
+^A "
+char200 15612,25005,0,1971,858,880 2 3784
+`E "
+char202 15612,25005,0,1971,858,880 2 3786
+^E "
+char203 15612,24645,0,1971,858,880 2 3787
+:E "
+char206 6831,25005,0,4425,909,880 2 3790
+^I "
+char207 6831,24645,0,4878,909,880 2 3791
+:I "
+char180 15612,22080,0,2073,-6261,880 2 3764
+aa "
+ga 15612,22080,0,0,-3054 2 3680
+a^ 15612,22080,0,0,-4680 2 3678
+^ "
+char168 15612,21795,0,0,-4674 2 3752
+ad "
+a~ 15612,21819,0,1443,-2550,880 2 3710
+~ "
+char217 18540,25005,405,1449,-453,880 2 3801
+`U "
+char219 18540,25005,405,1449,-453,880 2 3803
+^U "
+char221 16587,25005,0,3216,-1296,880 2 3805
+'Y "
+char253 15612,22080,3930,2085,-378,880 3 3837
+'y "
+char176 15612,20460,0,0,-2748 2 3760
+de "
+char199 16101,20160,6285,1941,-36,880 3 3783
+,C "
+char231 15126,17160,6285,1257,114,880 1 3815
+,c "
+char209 19515,24744,0,1344,735,880 2 3793
+~N "
+char241 18051,21819,0,222,567,222 2 3825
+~n "
+char161 7806,17157,3408,714,1260,714 0 3745
+r! "
+char191 14148,17175,3390,0,1623 0 3775
+r? "
+char164 15612,15684,0,96,-528,96 0 3748
+Cs "
+char163 15612,20460,0,2118,1011,880 2 3747
+Po "
+char165 15612,20055,0,3255,-999,880 2 3749
+Ye "
+char167 15612,20160,4095,0,-1920 3 3751
+sc "
+Fn 15612,20820,0,1578,-2127,880 2 51871
+char162 15612,20547,498,1389,-540,880 2 3746
+ct "
+char226 16101,22080,405,0,621 2 3810
+^a "
+char234 16587,22080,405,546,-6,546 2 3818
+^e "
+char244 17565,22080,405,90,-30,90 2 3828
+^o "
+char251 18051,22080,405,603,-237,603 2 3835
+^u "
+char225 16101,22080,405,1827,621,880 2 3809
+'a "
+char233 16587,22080,405,1584,-6,880 2 3817
+'e "
+char243 17565,22080,405,1095,-30,880 2 3827
+'o "
+char250 18051,22080,405,852,-237,852 2 3834
+'u "
+char224 16101,22080,405,0,621 2 3808
+`a "
+char232 16587,22080,405,546,-6,546 2 3816
+`e "
+char242 17565,22080,405,90,-30,90 2 3826
+`o "
+char249 18051,22080,405,603,-237,603 2 3833
+`u "
+char228 16101,21795,405,0,621 2 3812
+:a "
+char235 16587,21795,405,546,-6,546 2 3819
+:e "
+char246 17565,21795,405,90,-30,90 2 3830
+:o "
+char252 18051,21795,405,603,-237,603 2 3836
+:u "
+char197 18051,26850,0,0,2478 2 3781
+oA "
+char238 6831,22080,0,3831,921,880 2 3822
+^i "
+char216 19029,20205,450,2472,1920,880 2 3800
+/O "
+char198 28299,19755,0,2715,2868,880 2 3782
+AE "
+char229 16101,24390,405,0,621 2 3813
+oa "
+char237 6831,22080,0,6462,921,880 2 3821
+'i "
+char248 17565,17232,474,1710,1614,880 0 3832
+/o "
+char230 25857,17160,405,591,780,591 0 3814
+ae "
+char196 18051,24645,0,0,2478 2 3780
+:A "
+char236 6831,22080,0,1335,1338,880 2 3820
+`i "
+char214 19029,24645,405,732,-39,732 2 3798
+:O "
+char220 18540,24645,405,1449,-453,880 2 3804
+:U "
+char201 15612,25005,0,2739,858,880 2 3785
+'E "
+char239 6831,21795,0,4275,921,880 2 3823
+:i "
+char223 16101,20820,405,57,780,57 2 3807
+ss "
+char212 19029,25005,405,732,-39,732 2 3796
+^O "
+char193 18051,25005,0,1518,2478,880 2 3777
+'A "
+char195 18051,24744,0,1263,2478,880 2 3779
+~A "
+char227 16101,21819,405,1197,621,880 2 3811
+~a "
+char208 19029,19755,0,516,690,516 2 3792
+-D "
+char240 17565,21426,405,66,-36,66 2 3824
+Sd "
+char205 6831,25005,0,7128,909,880 2 3789
+'I "
+char204 6831,25005,0,2073,909,880 2 3788
+`I "
+char211 19029,25005,405,1029,-39,880 2 3795
+'O "
+char210 19029,25005,405,732,-39,732 2 3794
+`O "
+char213 19029,24744,405,774,-39,774 2 3797
+~O "
+char245 17565,21819,405,465,-30,465 2 3829
+~o "
+vS 14637,25005,405,1374,888,880 2 51795
+vs 12684,22080,405,1596,1044,880 2 51827
+char218 18540,25005,405,1449,-453,880 2 3802
+'U "
+:Y 16587,24645,0,3216,-1296,880 2 51801
+char255 15612,21795,3930,2085,-378,880 3 3839
+:y "
+char222 16587,19755,0,675,753,675 2 3806
+TP "
+char254 18051,20820,3930,51,1440,51 3 3838
+Tp "
+char181 14637,12630,4350,1122,2931,880 1 3765
+char182 15612,19635,4200,0,-1344 3 3766
+ps "
+char190 26346,20610,555,0,-1806 2 3774
+34 "
+\- 26346,8295,0,0,-3891 0 51757
+char188 26346,20610,555,0,-1755 2 3772
+14 "
+char189 26346,20610,555,0,-1998 2 3773
+12 "
+char170 15612,20460,0,0,-2658 2 3754
+Of "
+char186 15612,20460,0,0,-2451 2 3770
+Om "
+char171 13662,14145,0,2082,-45,880 0 3755
+Fo "
+char187 13662,14145,0,267,1770,267 0 3771
+Fc "
+char177 26346,15255,3900,0,-3906 1 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19635,0,3903,-2112,880 2 3753
+co "
+char172 26346,11679,0,0,-3984 0 3756
+no "
+char174 13173,19635,0,3903,-2112,880 2 3758
+rg "
+char178 10245,20385,0,2097,-225,880 2 3762
+S2 "
+char179 10245,20055,0,2064,-186,880 2 3763
+S3 "
+char184 15612,375,6285,0,-2349 1 3768
+ac "
+char185 10245,20055,0,0,-495 2 3769
+S1 "
+char215 26346,15189,579,0,-3957 0 3799
+char247 26346,12780,0,0,-3894 0 3831
+char183 7806,11760,0,0,-1131 0 3767
+fm 7806,20055,0,1680,-2322,880 2 51873
+sd 15612,20055,0,0,-2322 2 51874
+dg 15612,20160,4095,0,-1632 3 51755
+tm 16101,17850,0,1443,-1980,880 0 51796
+ah 15612,22080,0,132,-5370,132 2 51935
+ao 15612,24390,0,0,-6087 2 51930
+f/ 4392,20610,555,7662,7350,880 2 51759
+em 26346,9840,0,462,330,462 0 51789
+en 15612,9840,0,528,336,528 0 51790
+dd 15612,20160,4095,0,-1611 3 51773
+.i 6831,16755,0,975,921,880 0 51957
+aq 7806,19755,0,672,-2604,672 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 16101,25005,405,2718,-36,880 2 20166
+'c 15126,22080,405,2466,114,880 2 20198
+lq 11709,19755,0,1344,-2424,880 2 51838
+rq 11709,19755,0,756,-1836,756 2 51746
+Bq 11709,2970,3315,0,1494 0 51772
+vz 13662,22080,0,1953,1530,880 2 51834
+fi 17076,21105,0,2268,-153,880 2 51881
+fl 17076,20820,0,1668,57,880 2 51882
+ff 20490,20820,0,3111,42,880 2 51883
+Fi 26346,21105,0,2331,-201,880 2 51884
+Fl 26346,20820,0,1692,48,880 2 51885
+ij 13173,21105,3930,1986,918,880 3 51958
+bq 7806,2970,3315,0,1089 0 51756
+%0 34152,20460,405,684,-159,684 2 51901
+char175 15612,21210,0,0,-5265 2 3759
+a- "
+ab 15612,22230,0,0,-5238 2 51926
+a. 15612,21795,0,0,-7032 2 51927
+oe 28299,17160,405,768,270,768 0 51823
+OE 25857,20160,405,2463,-27,880 2 51791
+fo 8781,14145,0,1689,279,880 0 51886
+fc 8781,14145,0,324,1644,324 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 13173,19755,0,21,1839,21 2 51944
+/l 7806,20820,0,3030,2109,880 2 51960
+a" 15612,22080,0,4503,-3531,880 2 51933
+ho 15612,765,3990,0,-6564 1 51934
+vZ 16101,25005,0,2199,1347,880 2 51802
+IJ 18540,19755,405,1518,909,880 2 51942
diff --git a/devlj4/AOR b/devlj4/AOR
new file mode 100644
index 000000000..2f2b6d796
--- /dev/null
+++ b/devlj4/AOR
@@ -0,0 +1,720 @@
+name AOR
+spacewidth 7806
+pcltypeface 4168
+pclproportional 1
+pclweight 0
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2439
+P . -4878
+P , -4878
+V A -2439
+A V -1950
+T o -2439
+T r -975
+T c -2439
+T e -2439
+T d -2925
+T s -1950
+T y -975
+T a -1950
+T w -975
+T u -975
+T J -2439
+L T -2439
+L Y -3414
+Y o -2925
+Y e -2925
+Y a -1950
+Y J -2925
+A W -1950
+W A -1950
+T A -2439
+V o -975
+V e -975
+V a -975
+Y A -3414
+F A -1950
+F . -3903
+F , -3903
+A T -2439
+A Y -3414
+v . -2925
+v , -2925
+y . -2925
+y , -2925
+T . -2925
+T , -2925
+L W -1950
+P A -1461
+V J -2439
+V . -2925
+V , -2925
+Y . -3903
+Y , -3903
+W o -975
+W e -975
+W a -975
+W . -2439
+W , -2439
+r . -3903
+r , -3903
+w . -2439
+w , -2439
+Y u -975
+A v -1461
+A y -1950
+A w -1461
+o . -2439
+o , -2439
+p . -2439
+p , -2439
+e . -1950
+e , -1950
+b . -2439
+b , -2439
+O T -975
+O Y -975
+O . -2439
+O , -2439
+L y -2439
+L O -1461
+L G -1461
+L C -1461
+L Q -1461
+P J -2925
+D T -975
+D Y -975
+D . -1950
+D , -1950
+Y O -975
+Y G -975
+Y C -975
+Y Q -975
+F o -486
+F e -486
+F a -486
+c . -1461
+c , -1461
+O A -1461
+L U -1461
+R T -486
+R Y -486
+G T -486
+C A -975
+C . -1461
+C , -1461
+D A -1461
+B T -975
+B Y -975
+B . -1461
+B , -1461
+F J -2925
+A O -975
+A G -975
+A C -975
+A U -975
+A Q -975
+W J -1950
+J A -1461
+J . -1950
+J , -1950
+U A -1461
+U . -1950
+U , -1950
+f . -2925
+f , -2925
+T O -975
+T G -975
+T C -975
+T Q -975
+L o -1461
+L e -1461
+L q -1461
+G Y -486
+G . -1461
+G , -1461
+P T -975
+P Y -975
+C T -486
+C Y -486
+B A -975
+S . -1461
+S , -1461
+X o -1950
+X e -1950
+A o -975
+A e -975
+K o -975
+K e -975
+K y -975
+K w -975
+K O -975
+K G -975
+K C -975
+K Q -975
+o v -486
+o y -975
+o x -486
+o w -486
+h v -486
+h y -975
+n v -486
+n y -975
+m v -486
+m y -975
+r g -486
+g . -486
+g , -486
+p v -486
+p y -975
+p x -486
+c v -486
+c y -975
+c w -486
+v o -486
+v g -486
+v c -486
+v d -975
+v a -486
+v q -486
+e v -486
+e y -975
+b v -1461
+b y -1950
+b w -1461
+s . -1461
+s , -1461
+y o -486
+y g -486
+y c -486
+y d -975
+y a -486
+y q -486
+x o -486
+x g -486
+x c -486
+x e -486
+x d -975
+x a -486
+x q -486
+a v -486
+a y -975
+a w -486
+w o -486
+w g -486
+w c -486
+w d -975
+w a -486
+w q -486
+T S -975
+L a -486
+L S -975
+R o -1950
+G A -975
+C J -975
+S T -975
+S Y -975
+S A -975
+Y S -975
+X a -486
+A t -486
+A g -975
+A c -975
+A d -1461
+A a -486
+A u -975
+A q -975
+A S -975
+K c -975
+K u -975
+K S -975
+t . -486
+t , -486
+h w -486
+h . -486
+h , -486
+n w -486
+n . -486
+n , -486
+m w -486
+m . -486
+m , -486
+l . -486
+l , -486
+r o -486
+r c -486
+r e -486
+r d -975
+r a -486
+r q -486
+i . -486
+i , -486
+p w -486
+c x -486
+v e -486
+v s -486
+e x -486
+e w -486
+z . -486
+z , -486
+d . -486
+d , -486
+b f -975
+y e -486
+y s -486
+f d -486
+x . -486
+x , -486
+a . -486
+a , -486
+w e -486
+w s -486
+j . -486
+j , -486
+u . -486
+k o -975
+k g -975
+k c -975
+k e -975
+k d -1461
+k a -486
+k q -975
+k . -486
+k , -486
+O J -1950
+H . -486
+H , -486
+N . -486
+N , -486
+M . -486
+M , -486
+L . -486
+L , -486
+R e -1950
+R a -486
+R . -486
+R , -486
+I . -486
+I , -486
+E d -486
+E . -486
+E , -486
+Z o -1950
+Z e -1950
+Z d -1950
+Z a -486
+Z . -486
+Z , -486
+D J -1461
+B J -975
+S J -975
+X . -486
+X , -486
+A . -486
+A , -486
+J J -1461
+U J -1461
+K a -486
+K . -486
+K , -486
+t d -486
+r s -486
+g d -486
+z d -486
+b t -975
+b g -975
+b z -975
+b j -975
+G J -975
+A f -486
+U d -486
+L ' -3903
+T char173 -975
+T hy -975
+T - -975
+T en -975
+T em -975
+A ' -2439
+char173 T -975
+hy T -975
+- T -975
+en T -975
+em T -975
+Y char173 -975
+Y hy -975
+Y - -975
+Y en -975
+Y em -975
+p ' -1950
+c ' -975
+e ' -1950
+b ' -1950
+a ' -1461
+h ' -1950
+n ' -1461
+m ' -1461
+' d -1950
+L char173 -1461
+L hy -1461
+L - -1461
+L en -1461
+L em -1461
+A char173 -975
+A hy -975
+A - -975
+A en -975
+A em -975
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+' s -975
+char173 A -1461
+hy A -1461
+- A -1461
+en A -1461
+b f -975
+charset
+! 8295,20160,405 2 3617
+" 11220,19755 2 3618
+sh 15612,20460,4296 3 3619
+# "
+Do 15612,21960,2265 2 3620
+$ "
+% 26835,20460,405 2 3621
+& 19029,20160,405 2 3622
+' 6831,19755 2 51751
+( 7806,19755,405 2 3624
+) 7806,19755,405 2 3625
+* 15612,20160 2 3626
++ 26835,15255,585 0 3627
+, 7806,2910,4320 1 3628
+char173 7806,10200 0 3629
+hy "
+- "
+. 7806,2925,405 0 3630
+sl 8295,20820,405 2 3631
+/ "
+0 15612,20460,405 2 3632
+1 15612,20055 2 3633
+2 15612,20460 2 3634
+3 15612,20055,405 2 3635
+4 15612,20055 2 3636
+5 15612,20055,405 2 3637
+6 15612,20460,405 2 3638
+7 15612,20055 2 3639
+8 15612,20460,405 2 3640
+9 15612,20460,405 2 3641
+: 7806,13647,405 0 3642
+; 7806,13647,4320 1 3643
+< 26346,16068 0 3644
+= 26835,10800 0 3645
+> 26346,16068 0 3646
+? 15126,20160,405 2 3647
+at 26835,21030,2745 2 3648
+@ "
+A 18540,19755 2 3649
+B 17565,19755 2 3650
+C 16101,20160,405 2 3651
+D 18540,19755 2 3652
+E 15612,19755 2 3653
+F 15126,19755 2 3654
+G 18051,20160,405 2 3655
+H 19515,19755 2 3656
+I 7317,19755 2 3657
+J 12198,19755,405 2 3658
+K 16587,19755 2 3659
+L 13662,19755 2 3660
+M 23418,19755 2 3661
+N 19515,19755 2 3662
+O 19029,20160,405 2 3663
+P 16587,19755 2 3664
+Q 19029,20160,636 2 3665
+R 16587,19755 2 3666
+S 14148,20160,405 2 3667
+T 15126,19755 2 3668
+U 19029,19755,405 2 3669
+V 16587,19755 2 3670
+W 25857,19755 2 3671
+X 16587,19755 2 3672
+Y 16587,19755 2 3673
+Z 16101,19755 2 3674
+lB 7806,19755,405 2 3675
+[ "
+rs 8295,20820,405 2 3676
+\ "
+rB 7806,19755,405 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 6831,19755 2 51808
+` "
+a 15126,17160,405 0 3681
+b 18540,20820,405 2 3682
+c 14637,17160,405 0 3683
+d 18540,20820,405 2 3684
+e 16587,17160,405 0 3685
+f 11709,20820 2 3686
+g 17565,17160,3930 1 3687
+h 18051,20820 2 3688
+i 7806,21105 2 3689
+j 7806,21105,3930 3 3690
+k 15126,20820 2 3691
+l 7317,20820 2 3692
+m 27321,17160 0 3693
+n 18051,17160 0 3694
+o 18051,17160,405 0 3695
+p 18540,17160,3930 1 3696
+q 18540,17160,3930 1 3697
+r 12198,17160 0 3698
+s 12198,17160,405 0 3699
+t 12198,20925,405 2 3700
+u 17565,16755,405 0 3701
+v 15612,16755 0 3702
+w 23907,16755 0 3703
+x 14637,16755 0 3704
+y 15612,16755,3930 1 3705
+z 13662,16755 0 3706
+lC 11709,20130,6075 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 11709,20130,6075 3 3709
+} "
+ti 26346,8952 0 51876
+char192 18540,25005 2 3776
+`A "
+char194 18540,25005 2 3778
+^A "
+char200 15612,25005 2 3784
+`E "
+char202 15612,25005 2 3786
+^E "
+char203 15612,24690 2 3787
+:E "
+char206 7317,25005 2 3790
+^I "
+char207 7317,24690 2 3791
+:I "
+char180 15612,22080 2 3764
+aa "
+ga 15612,22080 2 3680
+a^ 15612,22080 2 3678
+^ "
+char168 15612,21840 2 3752
+ad "
+a~ 15612,21873 2 3710
+~ "
+char217 19029,25005,405 2 3801
+`U "
+char219 19029,25005,405 2 3803
+^U "
+char221 16587,25005 2 3805
+'Y "
+char253 15612,22080,3930 3 3837
+'y "
+char176 15612,20460 2 3760
+de "
+char199 16101,20160,4896 3 3783
+,C "
+char231 14637,17160,4896 1 3815
+,c "
+char209 19515,24915 2 3793
+~N "
+char241 18051,21873 2 3825
+~n "
+char161 8295,17124,3441 0 3745
+r! "
+char191 15126,17124,3441 0 3775
+r? "
+char164 15612,15684 0 3748
+Cs "
+char163 15612,20460 2 3747
+Po "
+char165 15612,20055 2 3749
+Ye "
+char167 15612,20160,4095 3 3751
+sc "
+Fn 15612,20820 2 51871
+char162 15612,20526,537 2 3746
+ct "
+char226 15126,22080,405 2 3810
+^a "
+char234 16587,22080,405 2 3818
+^e "
+char244 18051,22080,405 2 3828
+^o "
+char251 17565,22080,405 2 3835
+^u "
+char225 15126,22080,405 2 3809
+'a "
+char233 16587,22080,405 2 3817
+'e "
+char243 18051,22080,405 2 3827
+'o "
+char250 17565,22080,405 2 3834
+'u "
+char224 15126,22080,405 2 3808
+`a "
+char232 16587,22080,405 2 3816
+`e "
+char242 18051,22080,405 2 3826
+`o "
+char249 17565,22080,405 2 3833
+`u "
+char228 15126,21840,405 2 3812
+:a "
+char235 16587,21840,405 2 3819
+:e "
+char246 18051,21840,405 2 3830
+:o "
+char252 17565,21840,405 2 3836
+:u "
+char197 18540,26850 2 3781
+oA "
+char238 7806,22080 2 3822
+^i "
+char216 19029,20187,501 2 3800
+/O "
+char198 30738,19755 2 3782
+AE "
+char229 15126,24390,405 2 3813
+oa "
+char237 7806,22080 2 3821
+'i "
+char248 18051,17163,432 0 3832
+/o "
+char230 26346,17160,405 0 3814
+ae "
+char196 18540,24690 2 3780
+:A "
+char236 7806,22080 2 3820
+`i "
+char214 19029,24690,405 2 3798
+:O "
+char220 19029,24690,405 2 3804
+:U "
+char201 15612,25005 2 3785
+'E "
+char239 7806,21840 2 3823
+:i "
+char223 16587,20820,405 2 3807
+ss "
+char212 19029,25005,405 2 3796
+^O "
+char193 18540,25005 2 3777
+'A "
+char195 18540,24915 2 3779
+~A "
+char227 15126,21873,405 2 3811
+~a "
+char208 18540,19755 2 3792
+-D "
+char240 18051,22695,405 2 3824
+Sd "
+char205 7317,25005 2 3789
+'I "
+char204 7317,25005 2 3788
+`I "
+char211 19029,25005,405 2 3795
+'O "
+char210 19029,25005,405 2 3794
+`O "
+char213 19029,24915,405 2 3797
+~O "
+char245 18051,21873,405 2 3829
+~o "
+vS 14148,25005,405 2 51795
+vs 12198,22080,405 2 51827
+char218 19029,25005,405 2 3802
+'U "
+:Y 16587,24690 2 51801
+char255 15612,21840,3930 3 3839
+:y "
+char222 16587,19755 2 3806
+TP "
+char254 18540,20820,3930 3 3838
+Tp "
+char181 14637,12630,4350 1 3765
+char182 15612,19635,4200 3 3766
+ps "
+char190 26835,20610,555 2 3774
+34 "
+\- 26835,8295 0 51757
+char188 26835,20610,555 2 3772
+14 "
+char189 26835,20610,555 2 3773
+12 "
+char170 15612,20460 2 3754
+Of "
+char186 15612,20460 2 3770
+Om "
+char171 14148,13950 0 3755
+Fo "
+char187 14148,13950 0 3771
+Fc "
+char177 26835,15255,3900 1 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 26835,11331 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 10245,20385 2 3762
+S2 "
+char179 10245,20055 2 3763
+S3 "
+char184 15612,324,4896 1 3768
+ac "
+char185 10245,20055 2 3769
+S1 "
+char215 26835,15189,579 0 3799
+char247 26835,12780 0 3831
+char183 7806,11781 0 3767
+fm 7806,20055 2 51873
+sd 15612,20055 2 51874
+dg 15612,20160,4095 3 51755
+tm 16101,17850 0 51796
+ah 15612,22080 2 51935
+ao 15612,24390 2 51930
+f/ 4392,20610,555 2 51759
+em 26835,9840 0 51789
+en 15612,9840 0 51790
+dd 15612,20160,4095 3 51773
+.i 7806,16755 0 51957
+aq 6831,19755 2 3623
+bu 13173,14226 0 51889
+'C 16101,25005,405 2 20166
+'c 14637,22080,405 2 20198
+lq 10245,19755 2 51838
+rq 10245,19755 2 51746
+Bq 10245,2868,3417 0 51772
+vz 13662,22080 2 51834
+fi 18051,21105 2 51881
+fl 18051,20820 2 51882
+ff 20979,20820 2 51883
+Fi 27321,21105 2 51884
+Fl 27321,20820 2 51885
+ij 15126,21105,3930 3 51958
+bq 6831,2868,3417 0 51756
+%0 34152,20460,405 2 51901
+char175 15612,21306 2 3759
+a- "
+ab 15612,22155 2 51926
+a. 15612,21840 2 51927
+oe 29274,17160,405 0 51823
+OE 26346,20160,405 2 51791
+fo 9270,13950 0 51886
+fc 9270,13950 0 51887
+sq 19029,15624 0 51899
+/L 13662,19755 2 51944
+/l 7317,20820 2 51960
+a" 15612,22080 2 51933
+ho 15612,747,4143 1 51934
+vZ 16101,25005 2 51802
+IJ 19029,19755,405 2 51942
diff --git a/devlj4/CB b/devlj4/CB
new file mode 100644
index 000000000..3d060f347
--- /dev/null
+++ b/devlj4/CB
@@ -0,0 +1,347 @@
+name CB
+spacewidth 15873
+pcltypeface 4099
+pclproportional 0
+pclweight 3
+pclstyle 0
+charset
+! 15873,15060,330 0 3617
+" 15873,15060 0 3618
+sh 15873,17091,1389 2 3619
+# "
+Do 15873,17010,3306 2 3620
+$ "
+% 15873,16275,900 2 3621
+& 15873,14244,330 0 3622
+' 15873,15060 0 51751
+( 15873,16935,2295 2 3624
+) 15873,16935,2295 2 3625
+* 15873,15060 0 3626
++ 15873,11535 0 3627
+, 15873,4305,2655 0 3628
+char173 15873,7440 0 3629
+hy "
+- "
+. 15873,4035,330 0 3630
+sl 15873,18300,3525 2 3631
+/ "
+0 15873,16155,330 2 3632
+1 15873,16155 2 3633
+2 15873,16155 2 3634
+3 15873,16155,330 2 3635
+4 15873,16155 2 3636
+5 15873,15825,330 2 3637
+6 15873,16155,330 2 3638
+7 15873,15825 2 3639
+8 15873,16155,330 2 3640
+9 15873,16155,330 2 3641
+: 15873,10635,330 0 3642
+; 15873,10635,2655 0 3643
+< 15873,11667,243 0 3644
+= 15873,8886 0 3645
+> 15873,11667,243 0 3646
+? 15873,15390,330 2 3647
+at 15873,15276,489 2 3648
+@ "
+A 15873,15060 0 3649
+B 15873,15060 0 3650
+C 15873,15390,330 2 3651
+D 15873,15060 0 3652
+E 15873,15060 0 3653
+F 15873,15060 0 3654
+G 15873,15390,330 2 3655
+H 15873,15060 0 3656
+I 15873,15060 0 3657
+J 15873,15060,330 0 3658
+K 15873,15060 0 3659
+L 15873,15060 0 3660
+M 15873,15060 0 3661
+N 15873,15060,330 0 3662
+O 15873,15390,330 2 3663
+P 15873,15060 0 3664
+Q 15873,15390,3801 2 3665
+R 15873,15060 0 3666
+S 15873,15390,330 2 3667
+T 15873,15060 0 3668
+U 15873,15060,330 0 3669
+V 15873,15060 0 3670
+W 15873,15060 0 3671
+X 15873,15060 0 3672
+Y 15873,15060 0 3673
+Z 15873,15060 0 3674
+lB 15873,16935,2295 2 3675
+[ "
+rs 15873,18300,3525 2 3676
+\ "
+rB 15873,16935,2295 2 3677
+] "
+ha 15873,19758 2 51875
+_ 15873,191367,6588 3 3679
+oq 15873,15060 0 51808
+` "
+a 15873,11775,330 0 3681
+b 15873,16350,330 2 3682
+c 15873,11775,330 0 3683
+d 15873,16350,330 2 3684
+e 15873,11775,330 0 3685
+f 15873,16350 2 3686
+g 15873,11775,4845 1 3687
+h 15873,16350 2 3688
+i 15873,16920 2 3689
+j 15873,16920,4845 3 3690
+k 15873,16350 2 3691
+l 15873,16350 2 3692
+m 15873,11775 0 3693
+n 15873,11775 0 3694
+o 15873,11775,330 0 3695
+p 15873,11775,4845 1 3696
+q 15873,11775,4845 1 3697
+r 15873,11775 0 3698
+s 15873,11775,330 0 3699
+t 15873,14940,330 0 3700
+u 15873,11445,330 0 3701
+v 15873,11445 0 3702
+w 15873,11445 0 3703
+x 15873,11445 0 3704
+y 15873,11445,4845 1 3705
+z 15873,11445 0 3706
+lC 15873,20130,6075 3 3707
+{ "
+ba 15873,19758,6588 3 3708
+| "
+rC 15873,20130,6075 3 3709
+} "
+ti 15873,8160 0 51876
+char192 15873,21375 2 3776
+`A "
+char194 15873,21375 2 3778
+^A "
+char200 15873,21375 2 3784
+`E "
+char202 15873,21375 2 3786
+^E "
+char203 15873,20790 2 3787
+:E "
+char206 15873,21375 2 3790
+^I "
+char207 15873,20790 2 3791
+:I "
+char180 15873,17880 2 3764
+aa "
+ga 15873,17880 2 3680
+a^ 15873,17880 2 3678
+^ "
+char168 15873,16890 2 3752
+ad "
+a~ 15873,16959 2 3710
+~ "
+char217 15873,21375,330 2 3801
+`U "
+char219 15873,21375,330 2 3803
+^U "
+char221 15873,21375 2 3805
+'Y "
+char253 15873,17880,4845 3 3837
+'y "
+char176 15873,16155 2 3760
+de "
+char199 15873,15390,5457 3 3783
+,C "
+char231 15873,11775,5469 1 3815
+,c "
+char209 15873,20490,330 2 3793
+~N "
+char241 15873,16959 2 3825
+~n "
+char161 15873,11784,3606 0 3745
+r! "
+char191 15873,11751,3969 0 3775
+r? "
+char164 15873,15834 2 3748
+Cs "
+char163 15873,16155,741 2 3747
+Po "
+char165 15873,15825 2 3749
+Ye "
+char167 15873,15390,1692 2 3751
+sc "
+Fn 15873,16350,3114 2 51871
+char162 15873,15966,1419 2 3746
+ct "
+char226 15873,17880,330 2 3810
+^a "
+char234 15873,17880,330 2 3818
+^e "
+char244 15873,17880,330 2 3828
+^o "
+char251 15873,17880,330 2 3835
+^u "
+char225 15873,17880,330 2 3809
+'a "
+char233 15873,17880,330 2 3817
+'e "
+char243 15873,17880,330 2 3827
+'o "
+char250 15873,17880,330 2 3834
+'u "
+char224 15873,17880,330 2 3808
+`a "
+char232 15873,17880,330 2 3816
+`e "
+char242 15873,17880,330 2 3826
+`o "
+char249 15873,17880,330 2 3833
+`u "
+char228 15873,16890,330 2 3812
+:a "
+char235 15873,16890,330 2 3819
+:e "
+char246 15873,16890,330 2 3830
+:o "
+char252 15873,16890,330 2 3836
+:u "
+char197 15873,21780 2 3781
+oA "
+char238 15873,17880 2 3822
+^i "
+char216 15873,15432,492 2 3800
+/O "
+char198 15873,15060 0 3782
+AE "
+char229 15873,18900,330 2 3813
+oa "
+char237 15873,17880 2 3821
+'i "
+char248 15873,11913,600 0 3832
+/o "
+char230 15873,11775,330 0 3814
+ae "
+char196 15873,20790 2 3780
+:A "
+char236 15873,17880 2 3820
+`i "
+char214 15873,20790,330 2 3798
+:O "
+char220 15873,20790,330 2 3804
+:U "
+char201 15873,21375 2 3785
+'E "
+char239 15873,16890 2 3823
+:i "
+char223 15873,16350,330 2 3807
+ss "
+char212 15873,21375,330 2 3796
+^O "
+char193 15873,21375 2 3777
+'A "
+char195 15873,20490 2 3779
+~A "
+char227 15873,16959,330 2 3811
+~a "
+char208 15873,15060 0 3792
+-D "
+char240 15873,18249,330 2 3824
+Sd "
+char205 15873,21375 2 3789
+'I "
+char204 15873,21375 2 3788
+`I "
+char211 15873,21375,330 2 3795
+'O "
+char210 15873,21375,330 2 3794
+`O "
+char213 15873,20490,330 2 3797
+~O "
+char245 15873,16959,330 2 3829
+~o "
+vS 15873,21375,330 2 51795
+vs 15873,17880,330 2 51827
+char218 15873,21375,330 2 3802
+'U "
+:Y 15873,20790 2 51801
+char255 15873,16890,4845 3 3839
+:y "
+char222 15873,15060 0 3806
+TP "
+char254 15873,16350,4845 3 3838
+Tp "
+char181 15873,11445,5580 1 3765
+char182 15873,19635,4080 2 3766
+ps "
+char190 15873,16545,2415 2 3774
+34 "
+\- 15873,7020 0 51757
+char188 15873,16545,2415 2 3772
+14 "
+char189 15873,16545,2415 2 3773
+12 "
+char170 15873,16155 2 3754
+Of "
+char186 15873,16155 2 3770
+Om "
+char171 15873,11595 0 3755
+Fo "
+char187 15873,11595 0 3771
+Fc "
+char177 15873,11535,3360 0 3761
+char166 15873,19083,5916 3 3750
+bb "
+char169 15873,19635 2 3753
+co "
+char172 15873,9420 0 3756
+no "
+char174 15873,19635 2 3758
+rg "
+char178 15873,16035 2 3762
+S2 "
+char179 15873,16035 2 3763
+S3 "
+char184 15873,0,5469 1 3768
+ac "
+char185 15873,16035 2 3769
+S1 "
+char215 15873,11340 0 3799
+char247 15873,11190 0 3831
+char183 15873,10176 0 3767
+fm 15873,15825 2 51873
+sd 15873,15825 2 51874
+dg 15873,15060,1185 0 51755
+tm 15873,17850 2 51796
+ah 15873,17880 2 51935
+ao 15873,18900 2 51930
+f/ 15873,16695,2265 2 51759
+em 15873,7440 0 51789
+en 15873,7440 0 51790
+dd 15873,15060,1185 0 51773
+.i 15873,11445 0 51957
+aq 15873,15060 0 3623
+bu 15873,12714 0 51889
+'C 15873,21375,330 2 20166
+'c 15873,17880,330 2 20198
+lq 15873,15060 0 51838
+rq 15873,15060 0 51746
+Bq 15873,4602,2358 0 51772
+vz 15873,17880 2 51834
+fi 15873,16920 2 51881
+fl 15873,16350 2 51882
+ff 15873,16350 2 51883
+Fi 15873,16350 2 51884
+Fl 15873,16350 2 51885
+ij 15873,16920,4845 3 51958
+bq 15873,4605,2355 0 51756
+%0 15873,16275,900 2 51901
+char175 15873,15567 2 3759
+a- "
+ab 15873,17310 2 51926
+a. 15873,16890 2 51927
+oe 15873,11775,330 0 51823
+OE 15873,15060 0 51791
+fo 15873,11085 0 51886
+fc 15873,11085 0 51887
+sq 15873,14106 0 51899
+/L 15873,15060 0 51944
+/l 15873,16350 2 51960
+a" 15873,18720 2 51933
+ho 15873,573,4680 1 51934
+vZ 15873,21375 2 51802
+IJ 15873,15060,3837 0 51942
diff --git a/devlj4/CBI b/devlj4/CBI
new file mode 100644
index 000000000..14f2aa95c
--- /dev/null
+++ b/devlj4/CBI
@@ -0,0 +1,348 @@
+name CBI
+spacewidth 15873
+slant 11.300000
+pcltypeface 4099
+pclproportional 0
+pclweight 3
+pclstyle 1
+charset
+! 15873,15060,330,0,-3018 0 3617
+" 15873,15060,0,0,-2661 0 3618
+sh 15873,17091,1389,279,363,279 2 3619
+# "
+Do 15873,17007,3306,0,279 2 3620
+$ "
+% 15873,16275,900,0,-396 2 3621
+& 15873,14238,330,0,426 0 3622
+' 15873,15060,0,0,-2745 0 51751
+( 15873,16935,2295,0,-3093 2 3624
+) 15873,16935,2295,0,-1824 2 3625
+* 15873,15060,0,0,-1497 0 3626
++ 15873,11535,0,0,-891 0 3627
+, 15873,4305,2655,0,-1506 0 3628
+char173 15873,8805,0,0,-2319 0 3629
+hy "
+- "
+. 15873,3675,330,0,-2805 0 3630
+sl 15873,18300,3525,1224,1512,614 2 3631
+/ "
+0 15873,16155,330,0,-927 2 3632
+1 15873,16155,0,0,324 2 3633
+2 15873,16155,0,0,1044 2 3634
+3 15873,16155,330,0,891 2 3635
+4 15873,16155,0,0,345 2 3636
+5 15873,15825,330,0,621 2 3637
+6 15873,16155,330,342,-762,342 2 3638
+7 15873,15825,0,0,-1227 2 3639
+8 15873,16155,330,0,-465 2 3640
+9 15873,16155,330,0,297 2 3641
+: 15873,10572,330,0,-2802 0 3642
+; 15873,10572,2655,0,-831 0 3643
+< 15873,11667,243,0,-600 0 3644
+= 15873,8886,0,0,-951 0 3645
+> 15873,11667,243,0,-1524 0 3646
+? 15873,15390,330,0,-2031 2 3647
+at 15873,15273,489,1020,1203,614 2 3648
+@ "
+A 15873,15060,0,69,2868,69 0 3649
+B 15873,15060,0,0,1992 0 3650
+C 15873,15390,330,903,228,614 2 3651
+D 15873,15060,0,369,2277,369 0 3652
+E 15873,15060,0,1254,1719,614 0 3653
+F 15873,15060,0,1527,1293,614 0 3654
+G 15873,15390,330,1224,585,614 2 3655
+H 15873,15060,0,1878,2172,614 0 3656
+I 15873,15060,0,321,615,321 0 3657
+J 15873,15060,330,2331,1152,614 0 3658
+K 15873,15060,0,1890,1569,614 0 3659
+L 15873,15060,0,27,1602,27 0 3660
+M 15873,15060,0,2508,3099,614 0 3661
+N 15873,15060,330,2625,2439,614 0 3662
+O 15873,15390,330,447,633,447 2 3663
+P 15873,15060,0,816,774,614 0 3664
+Q 15873,15390,3408,453,678,453 2 3665
+R 15873,15060,0,0,1977 0 3666
+S 15873,15390,330,0,1386 2 3667
+T 15873,15060,0,1578,210,614 0 3668
+U 15873,15060,330,2124,75,614 0 3669
+V 15873,15060,0,2718,504,614 0 3670
+W 15873,15060,0,2757,552,614 0 3671
+X 15873,15060,0,1509,2286,614 0 3672
+Y 15873,15060,0,2043,-168,614 0 3673
+Z 15873,15060,0,159,1026,159 0 3674
+lB 15873,16935,2295,0,-1995 2 3675
+[ "
+rs 15873,18300,3525,0,-2523 2 3676
+\ "
+rB 15873,16935,2295,0,-1632 2 3677
+] "
+ha 15873,19758,0,0,-1314 2 51875
+_ 15873,191367,6588,1317,1317,614 3 3679
+oq 15873,15060,0,0,-3345 0 51808
+` "
+a 15873,11775,330,0,837 0 3681
+b 15873,16350,330,390,1974,390 2 3682
+c 15873,11775,330,0,282 0 3683
+d 15873,16350,330,183,1038,183 2 3684
+e 15873,11775,330,0,228 0 3685
+f 15873,16350,0,1308,39,614 2 3686
+g 15873,11775,4845,1260,1542,614 1 3687
+h 15873,16350,0,0,2550 2 3688
+i 15873,16920,0,0,606 2 3689
+j 15873,16920,4845,0,1428 3 3690
+k 15873,16350,0,0,2061 2 3691
+l 15873,16350,0,0,570 2 3692
+m 15873,11775,0,417,3222,417 0 3693
+n 15873,11775,0,0,2292 0 3694
+o 15873,11775,330,0,858 0 3695
+p 15873,11775,4845,330,3072,330 1 3696
+q 15873,11775,4845,1644,810,614 1 3697
+r 15873,11775,0,735,1257,614 0 3698
+s 15873,11775,330,0,798 0 3699
+t 15873,14985,330,0,-1245 0 3700
+u 15873,11445,330,0,432 0 3701
+v 15873,11445,0,1554,936,614 0 3702
+w 15873,11445,0,1896,1278,614 0 3703
+x 15873,11445,0,894,2469,614 0 3704
+y 15873,11445,4845,1887,2409,614 1 3705
+z 15873,11445,0,0,498 0 3706
+lC 15873,20130,6075,1548,-2004,614 3 3707
+{ "
+ba 15873,19758,6588,0,-5946 3 3708
+| "
+rC 15873,20130,6075,0,996 3 3709
+} "
+ti 15873,8160,0,0,-792 0 51876
+char192 15873,21495,0,69,2868,69 2 3776
+`A "
+char194 15873,21495,0,69,2868,69 2 3778
+^A "
+char200 15873,21495,0,1254,1719,614 2 3784
+`E "
+char202 15873,21495,0,1254,1719,614 2 3786
+^E "
+char203 15873,20520,0,1254,1719,614 2 3787
+:E "
+char206 15873,21495,0,609,615,609 2 3790
+^I "
+char207 15873,20520,0,321,615,321 2 3791
+:I "
+char180 15873,18000,0,0,-3249 2 3764
+aa "
+ga 15873,18000,0,0,-2835 2 3680
+a^ 15873,18000,0,9,-2343,9 2 3678
+^ "
+char168 15873,16890,0,0,-4020 2 3752
+ad "
+a~ 15873,16959,0,594,-2031,594 2 3710
+~ "
+char217 15873,21495,330,2124,75,614 2 3801
+`U "
+char219 15873,21495,330,2124,75,614 2 3803
+^U "
+char221 15873,21495,0,2043,-168,614 2 3805
+'Y "
+char253 15873,18000,4845,1887,2409,614 3 3837
+'y "
+char176 15873,16155,0,0,-3120 2 3760
+de "
+char199 15873,15390,5721,903,228,614 3 3783
+,C "
+char231 15873,11775,5562,0,282 1 3815
+,c "
+char209 15873,20487,330,2625,2439,614 2 3793
+~N "
+char241 15873,16959,0,594,2292,594 2 3825
+~n "
+char161 15873,11904,3486,0,-3411 0 3745
+r! "
+char191 15873,11868,3852,0,-747 0 3775
+r? "
+char164 15873,15834,0,345,348,345 2 3748
+Cs "
+char163 15873,16155,603,192,-108,192 2 3747
+Po "
+char165 15873,15825,0,2160,-342,614 2 3749
+Ye "
+char167 15873,15390,1692,0,-1332 2 3751
+sc "
+Fn 15873,16350,3135,12,1572,12 2 51871
+char162 15873,15978,1419,0,-1068 2 3746
+ct "
+char226 15873,18000,330,9,837,9 2 3810
+^a "
+char234 15873,18000,330,9,228,9 2 3818
+^e "
+char244 15873,18000,330,9,858,9 2 3828
+^o "
+char251 15873,18000,330,9,432,9 2 3835
+^u "
+char225 15873,18000,330,0,837 2 3809
+'a "
+char233 15873,18000,330,0,228 2 3817
+'e "
+char243 15873,18000,330,0,858 2 3827
+'o "
+char250 15873,18000,330,0,432 2 3834
+'u "
+char224 15873,18000,330,0,837 2 3808
+`a "
+char232 15873,18000,330,0,228 2 3816
+`e "
+char242 15873,18000,330,0,858 2 3826
+`o "
+char249 15873,18000,330,0,432 2 3833
+`u "
+char228 15873,16890,330,0,837 2 3812
+:a "
+char235 15873,16890,330,0,228 2 3819
+:e "
+char246 15873,16890,330,0,858 2 3830
+:o "
+char252 15873,16890,330,0,432 2 3836
+:u "
+char197 15873,21780,0,69,2868,69 2 3781
+oA "
+char238 15873,18000,0,9,606,9 2 3822
+^i "
+char216 15873,15501,528,1206,1434,614 2 3800
+/O "
+char198 15873,15060,0,2391,2655,614 0 3782
+AE "
+char229 15873,18381,330,0,837 2 3813
+oa "
+char237 15873,18000,0,0,606 2 3821
+'i "
+char248 15873,11901,591,486,1311,486 0 3832
+/o "
+char230 15873,11775,330,654,2010,614 0 3814
+ae "
+char196 15873,20520,0,69,2868,69 2 3780
+:A "
+char236 15873,18000,0,0,606 2 3820
+`i "
+char214 15873,20520,330,447,633,447 2 3798
+:O "
+char220 15873,20520,330,2124,75,614 2 3804
+:U "
+char201 15873,21495,0,1254,1719,614 2 3785
+'E "
+char239 15873,16890,0,0,606 2 3823
+:i "
+char223 15873,16350,330,0,2220 2 3807
+ss "
+char212 15873,21495,330,609,633,609 2 3796
+^O "
+char193 15873,21495,0,69,2868,69 2 3777
+'A "
+char195 15873,20487,0,174,2868,174 2 3779
+~A "
+char227 15873,16959,330,594,837,594 2 3811
+~a "
+char208 15873,15060,0,366,2280,366 0 3792
+-D "
+char240 15873,18222,330,0,171 2 3824
+Sd "
+char205 15873,21495,0,321,615,321 2 3789
+'I "
+char204 15873,21495,0,321,615,321 2 3788
+`I "
+char211 15873,21495,330,591,633,591 2 3795
+'O "
+char210 15873,21495,330,447,633,447 2 3794
+`O "
+char213 15873,20487,330,1986,633,614 2 3797
+~O "
+char245 15873,16959,330,594,858,594 2 3829
+~o "
+vS 15873,21495,330,984,1386,614 2 51795
+vs 15873,18000,330,9,798,9 2 51827
+char218 15873,21495,330,2124,75,614 2 3802
+'U "
+:Y 15873,20520,0,2043,-168,614 2 51801
+char255 15873,16890,4845,1887,2409,614 3 3839
+:y "
+char222 15873,15060,0,222,2166,222 0 3806
+TP "
+char254 15873,16350,4845,330,3075,330 3 3838
+Tp "
+char181 15873,11445,5580,114,-12,114 1 3765
+char182 15873,19635,4080,0,-1308 2 3766
+ps "
+char190 15873,16674,2286,4155,1086,614 2 3774
+34 "
+\- 15873,7020,0,0,-951 0 51757
+char188 15873,16674,2286,4458,1638,614 2 3772
+14 "
+char189 15873,16674,2286,3384,1857,614 2 3773
+12 "
+char170 15873,16155,0,0,-3528 2 3754
+Of "
+char186 15873,16155,0,0,-3588 2 3770
+Om "
+char171 15873,11625,0,354,1047,354 0 3755
+Fo "
+char187 15873,11625,0,0,1605 0 3771
+Fc "
+char177 15873,11535,3360,0,-891 0 3761
+char166 15873,19083,5916,0,-5946 3 3750
+bb "
+char169 15873,19635,0,225,-1134,225 2 3753
+co "
+char172 15873,9420,0,0,-951 0 3756
+no "
+char174 15873,19635,0,225,-1134,225 2 3758
+rg "
+char178 15873,16170,0,0,-3063 2 3762
+S2 "
+char179 15873,16170,0,0,-3162 2 3763
+S3 "
+char184 15873,0,5562,0,-2265 1 3768
+ac "
+char185 15873,16170,0,0,-3066 2 3769
+S1 "
+char215 15873,11646,0,0,-798 0 3799
+char247 15873,11190,0,0,-1110 0 3831
+char183 15873,10128,0,0,-4290 0 3767
+fm 15873,15825,0,0,-5124 2 51873
+sd 15873,15825,0,0,-2748 2 51874
+dg 15873,15060,1185,0,-1776 0 51755
+tm 15873,17850,0,108,-417,108 2 51796
+ah 15873,18000,0,9,-2343,9 2 51935
+ao 15873,18381,0,0,-5319 2 51930
+f/ 15873,16695,2265,2712,2529,614 2 51759
+em 15873,8805,0,1707,1929,614 0 51789
+en 15873,8805,0,0,-363 0 51790
+dd 15873,15060,1185,0,-1776 0 51773
+.i 15873,11445,0,0,606 0 51957
+aq 15873,15060,0,0,-4983 0 3623
+bu 15873,12714,0,0,-1848 0 51889
+'C 15873,21495,330,903,228,614 2 20166
+'c 15873,18000,330,0,282 2 20198
+lq 15873,15060,0,387,-741,387 0 51838
+rq 15873,15060,0,0,-144 0 51746
+Bq 15873,4596,2364,0,1314 0 51772
+vz 15873,18000,0,9,498,9 2 51834
+fi 15873,16920,0,438,2340,438 2 51881
+fl 15873,16350,0,336,2337,336 2 51882
+ff 15873,16350,0,4086,2349,614 2 51883
+Fi 15873,16350,0,2229,2946,614 2 51884
+Fl 15873,16350,0,1425,2949,614 2 51885
+ij 15873,16920,4845,738,1320,614 3 51958
+bq 15873,4596,2364,0,-1647 0 51756
+%0 15873,16275,900,3066,3417,614 2 51901
+char175 15873,16032,0,537,-2187,537 2 3759
+a- "
+ab 15873,17340,0,993,-2841,614 2 51926
+a. 15873,16890,0,0,-6186 2 51927
+oe 15873,11775,330,1284,1977,614 0 51823
+OE 15873,15060,0,2781,1740,614 0 51791
+fo 15873,11070,0,0,-2004 0 51886
+fc 15873,11070,0,0,-1389 0 51887
+sq 15873,14106,0,0,-444 0 51899
+/L 15873,15060,0,27,1602,27 0 51944
+/l 15873,16350,0,0,570 2 51960
+a" 15873,18720,0,2916,-4083,614 2 51933
+ho 15873,564,4665,0,-4917 1 51934
+vZ 15873,21495,0,984,1026,614 2 51802
+IJ 15873,15060,3849,1506,1941,614 0 51942
diff --git a/devlj4/CI b/devlj4/CI
new file mode 100644
index 000000000..5e87918ba
--- /dev/null
+++ b/devlj4/CI
@@ -0,0 +1,348 @@
+name CI
+spacewidth 15873
+slant 11.300000
+pcltypeface 4099
+pclproportional 0
+pclweight 0
+pclstyle 1
+charset
+! 15873,15060,330,0,-5232 0 3617
+" 15873,15060,0,0,-4632 0 3618
+sh 15873,16827,2046,1710,-1473,610 2 3619
+# "
+Do 15873,17259,3642,954,-1644,610 2 3620
+$ "
+% 15873,16380,330,1140,-2169,610 2 3621
+& 15873,14169,330,1563,-1911,610 0 3622
+' 15873,15060,0,0,-5217 0 51751
+( 15873,17070,2580,1185,-7563,610 2 3624
+) 15873,17070,2580,0,-2013 2 3625
+* 15873,15060,0,174,-3273,174 0 3626
++ 15873,11385,0,252,-2151,252 0 3627
+, 15873,3195,3420,0,-3000 0 3628
+char173 15873,6570,0,0,-3741 0 3629
+hy "
+- "
+. 15873,3105,330,0,-5040 0 3630
+sl 15873,18465,3765,2349,-699,610 2 3631
+/ "
+0 15873,15390,330,399,-2832,399 0 3632
+1 15873,15060,0,0,-1494 0 3633
+2 15873,15390,0,423,-786,423 0 3634
+3 15873,15390,330,0,-1113 0 3635
+4 15873,15060,0,0,-1548 0 3636
+5 15873,15060,330,882,-1170,610 0 3637
+6 15873,15390,330,1530,-2436,610 0 3638
+7 15873,15060,0,954,-2829,610 0 3639
+8 15873,15390,330,624,-2226,610 0 3640
+9 15873,15390,330,684,-1659,610 0 3641
+: 15873,9975,330,0,-5043 0 3642
+; 15873,9975,3420,0,-3177 0 3643
+< 15873,10647,3,0,-1155 0 3644
+= 15873,8451,0,252,-2151,252 0 3645
+> 15873,10647,3,0,-1959 0 3646
+? 15873,15390,330,483,-4173,483 0 3647
+at 15873,14391,363,2031,-1359,610 0 3648
+@ "
+A 15873,15060,0,1470,1092,610 0 3649
+B 15873,15060,0,1383,171,610 0 3650
+C 15873,15390,330,2835,-1689,610 0 3651
+D 15873,15060,0,2061,537,610 0 3652
+E 15873,15060,0,2724,-153,610 0 3653
+F 15873,15060,0,3120,-471,610 0 3654
+G 15873,15390,330,2259,-957,610 0 3655
+H 15873,15060,0,3483,285,610 0 3656
+I 15873,15060,0,1764,-1188,610 0 3657
+J 15873,15060,330,3729,-369,610 0 3658
+K 15873,15060,0,3453,-210,610 0 3659
+L 15873,15060,0,1512,-135,610 0 3660
+M 15873,15060,0,4218,1107,610 0 3661
+N 15873,15060,0,4182,738,610 0 3662
+O 15873,15390,330,2058,-1137,610 0 3663
+P 15873,15060,0,2262,-786,610 0 3664
+Q 15873,15390,3357,2037,-1074,610 0 3665
+R 15873,15060,0,1248,234,610 0 3666
+S 15873,15390,330,1893,-804,610 0 3667
+T 15873,15060,0,3183,-1968,610 0 3668
+U 15873,15060,330,4095,-2097,610 0 3669
+V 15873,15060,0,4191,-1725,610 0 3670
+W 15873,15060,0,4260,-1671,610 0 3671
+X 15873,15060,0,3177,522,610 0 3672
+Y 15873,15060,0,3672,-2262,610 0 3673
+Z 15873,15060,0,1707,-807,610 0 3674
+lB 15873,17070,2580,1815,-6345,610 2 3675
+[ "
+rs 15873,18465,3765,0,-4674 2 3676
+\ "
+rB 15873,17070,2580,0,-1221 2 3677
+] "
+ha 15873,19758,0,0,-1314 2 51875
+_ 15873,191367,6588,1317,1317,610 3 3679
+oq 15873,15060,0,0,-6267 0 51808
+` "
+a 15873,11775,330,531,-696,531 0 3681
+b 15873,16500,330,1602,723,610 2 3682
+c 15873,11775,330,1542,-1617,610 0 3683
+d 15873,16500,330,2148,-1143,610 2 3684
+e 15873,11775,330,1269,-1611,610 0 3685
+f 15873,16500,0,2262,-1173,610 2 3686
+g 15873,11775,5145,2622,-96,610 1 3687
+h 15873,16500,0,1179,387,610 2 3688
+i 15873,17235,0,0,-1260 2 3689
+j 15873,17235,5145,0,81 3 3690
+k 15873,16500,0,1857,24,610 2 3691
+l 15873,16500,0,0,-1131 2 3692
+m 15873,11775,0,1746,1188,610 0 3693
+n 15873,11775,0,960,585,610 0 3694
+o 15873,11775,330,1443,-1140,610 0 3695
+p 15873,11775,5145,1500,1920,610 1 3696
+q 15873,11775,5145,3354,-984,610 1 3697
+r 15873,11775,0,2475,-597,610 0 3698
+s 15873,11775,330,915,-1356,610 0 3699
+t 15873,14760,330,738,-3216,610 0 3700
+u 15873,11445,330,726,-1404,610 0 3701
+v 15873,11445,0,3342,-1224,610 0 3702
+w 15873,11445,0,3735,-831,610 0 3703
+x 15873,11445,0,2502,648,610 0 3704
+y 15873,11445,5145,3123,903,610 1 3705
+z 15873,11445,0,1101,-1368,610 0 3706
+lC 15873,20130,6075,2940,-5529,610 3 3707
+{ "
+ba 15873,19758,6588,0,-5946 3 3708
+| "
+rC 15873,20130,6075,0,-1059 3 3709
+} "
+ti 15873,7233,0,0,-1089 0 51876
+char192 15873,21255,0,1470,1092,610 2 3776
+`A "
+char194 15873,21255,0,1707,1092,610 2 3778
+^A "
+char200 15873,21255,0,2724,-153,610 2 3784
+`E "
+char202 15873,21255,0,2724,-153,610 2 3786
+^E "
+char203 15873,20670,0,2724,-153,610 2 3787
+:E "
+char206 15873,21255,0,2157,-1188,610 2 3790
+^I "
+char207 15873,20670,0,1764,-1188,610 2 3791
+:I "
+char180 15873,17640,0,1401,-6675,610 2 3764
+aa "
+ga 15873,17640,0,0,-4491 2 3680
+a^ 15873,17640,0,1257,-4491,610 2 3678
+^ "
+char168 15873,16905,0,0,-6489 2 3752
+ad "
+a~ 15873,16818,0,1788,-4146,610 2 3710
+~ "
+char217 15873,21255,330,4095,-2097,610 2 3801
+`U "
+char219 15873,21255,330,4095,-2097,610 2 3803
+^U "
+char221 15873,21255,0,3672,-2262,610 2 3805
+'Y "
+char253 15873,17640,5145,3123,903,610 3 3837
+'y "
+char176 15873,15390,0,0,-4464 0 3760
+de "
+char199 15873,15390,4815,2835,-1689,610 1 3783
+,C "
+char231 15873,11775,4815,1542,-1617,610 1 3815
+,c "
+char209 15873,20580,0,4182,738,610 2 3793
+~N "
+char241 15873,16818,0,1788,585,610 2 3825
+~n "
+char161 15873,11946,3444,0,-5715 0 3745
+r! "
+char191 15873,11946,3774,0,-2577 0 3775
+r? "
+char164 15873,15684,0,1560,-2253,610 2 3748
+Cs "
+char163 15873,15390,474,1797,-2232,610 0 3747
+Po "
+char165 15873,15060,0,3741,-2178,610 0 3749
+Ye "
+char167 15873,15390,1905,0,-3360 0 3751
+sc "
+Fn 15873,15090,4350,1704,-774,610 0 51871
+char162 15873,16083,1536,900,-3015,610 2 3746
+ct "
+char226 15873,17640,330,1257,-696,610 2 3810
+^a "
+char234 15873,17640,330,1269,-1611,610 2 3818
+^e "
+char244 15873,17640,330,1443,-1140,610 2 3828
+^o "
+char251 15873,17640,330,1257,-1404,610 2 3835
+^u "
+char225 15873,17640,330,1401,-696,610 2 3809
+'a "
+char233 15873,17640,330,1401,-1611,610 2 3817
+'e "
+char243 15873,17640,330,1443,-1140,610 2 3827
+'o "
+char250 15873,17640,330,1401,-1404,610 2 3834
+'u "
+char224 15873,17640,330,531,-696,531 2 3808
+`a "
+char232 15873,17640,330,1269,-1611,610 2 3816
+`e "
+char242 15873,17640,330,1443,-1140,610 2 3826
+`o "
+char249 15873,17640,330,726,-1404,610 2 3833
+`u "
+char228 15873,16905,330,531,-696,531 2 3812
+:a "
+char235 15873,16905,330,1269,-1611,610 2 3819
+:e "
+char246 15873,16905,330,1443,-1140,610 2 3830
+:o "
+char252 15873,16905,330,726,-1404,610 2 3836
+:u "
+char197 15873,21690,0,1470,1092,610 2 3781
+oA "
+char238 15873,17640,0,1257,-1260,610 2 3822
+^i "
+char216 15873,15390,453,2697,-333,610 0 3800
+/O "
+char198 15873,15060,0,2871,855,610 0 3782
+AE "
+char229 15873,17997,330,531,-696,531 2 3813
+oa "
+char237 15873,17640,0,1401,-1260,610 2 3821
+'i "
+char248 15873,11793,330,2241,-291,610 0 3832
+/o "
+char230 15873,11775,330,2148,-189,610 0 3814
+ae "
+char196 15873,20670,0,1470,1092,610 2 3780
+:A "
+char236 15873,17640,0,0,-1260 2 3820
+`i "
+char214 15873,20670,330,2058,-1137,610 2 3798
+:O "
+char220 15873,20670,330,4095,-2097,610 2 3804
+:U "
+char201 15873,21255,0,2724,-153,610 2 3785
+'E "
+char239 15873,16905,0,0,-1260 2 3823
+:i "
+char223 15873,16500,330,1746,-66,610 2 3807
+ss "
+char212 15873,21255,330,2157,-1137,610 2 3796
+^O "
+char193 15873,21255,0,2217,1092,610 2 3777
+'A "
+char195 15873,20580,0,2445,1092,610 2 3779
+~A "
+char227 15873,16818,330,1788,-696,610 2 3811
+~a "
+char208 15873,15060,0,2061,537,610 0 3792
+-D "
+char240 15873,18297,330,1614,-1143,610 2 3824
+Sd "
+char205 15873,21255,0,2217,-1188,610 2 3789
+'I "
+char204 15873,21255,0,1764,-1188,610 2 3788
+`I "
+char211 15873,21255,330,2217,-1137,610 2 3795
+'O "
+char210 15873,21255,330,2058,-1137,610 2 3794
+`O "
+char213 15873,20580,330,2895,-1137,610 2 3797
+~O "
+char245 15873,16818,330,1788,-1140,610 2 3829
+~o "
+vS 15873,21255,330,2157,-804,610 2 51795
+vs 15873,17640,330,1257,-1356,610 2 51827
+char218 15873,21255,330,4095,-2097,610 2 3802
+'U "
+:Y 15873,20670,0,3672,-2262,610 2 51801
+char255 15873,16905,5145,3123,903,610 3 3839
+:y "
+char222 15873,15060,0,2421,-756,610 0 3806
+TP "
+char254 15873,16500,5145,1380,2037,610 3 3838
+Tp "
+char181 15873,11445,5595,0,-321 1 3765
+char182 15873,19635,4080,150,-2508,150 2 3766
+ps "
+char190 15873,15498,2655,4026,15,610 0 3774
+34 "
+\- 15873,6435,0,252,-2151,252 0 51757
+char188 15873,15498,2655,4626,-30,610 0 3772
+14 "
+char189 15873,15498,2655,3426,615,610 0 3773
+12 "
+char170 15873,15390,0,0,-5310 0 3754
+Of "
+char186 15873,15390,0,0,-5274 0 3770
+Om "
+char171 15873,11010,0,1230,-2184,610 0 3755
+Fo "
+char187 15873,11010,0,330,-1284,330 0 3771
+Fc "
+char177 15873,11385,2835,252,-2151,252 0 3761
+char166 15873,19083,5916,0,-5946 3 3750
+bb "
+char169 15873,19635,0,2121,-3030,610 2 3753
+co "
+char172 15873,8865,0,252,-2151,252 0 3756
+no "
+char174 15873,19635,0,1839,-2748,610 2 3758
+rg "
+char178 15873,15240,0,0,-4467 0 3762
+S2 "
+char179 15873,15240,0,0,-4548 0 3763
+S3 "
+char184 15873,0,4815,0,-4626 1 3768
+ac "
+char185 15873,15060,0,0,-4830 0 3769
+S1 "
+char215 15873,11340,0,252,-2151,252 0 3799
+char247 15873,10530,0,306,-2205,306 0 3831
+char183 15873,9657,0,0,-6252 0 3767
+fm 15873,15060,0,0,-7596 0 51873
+sd 15873,15060,0,0,-5274 0 51874
+dg 15873,15060,1290,0,-4491 0 51755
+tm 15873,17850,0,1896,-2205,610 2 51796
+ah 15873,17640,0,1257,-4491,610 2 51935
+ao 15873,17997,0,0,-7365 2 51930
+f/ 15873,15498,2655,3126,915,610 0 51759
+em 15873,6570,0,3141,264,610 0 51789
+en 15873,6570,0,606,-2142,606 0 51790
+dd 15873,15060,1290,0,-4491 0 51773
+.i 15873,11445,0,0,-1260 0 51957
+aq 15873,15060,0,0,-6936 0 3623
+bu 15873,12714,0,0,-1848 0 51889
+'C 15873,21255,330,2835,-1689,610 2 20166
+'c 15873,17640,330,1542,-1617,610 2 20198
+lq 15873,15060,0,861,-3495,610 0 51838
+rq 15873,15060,0,1011,-3645,610 0 51746
+Bq 15873,3495,3120,0,-1491 0 51772
+vz 15873,17640,0,1257,-1368,610 2 51834
+fi 15873,17235,0,1983,1185,610 2 51881
+fl 15873,16500,0,1806,1185,610 2 51882
+ff 15873,16500,0,5799,1212,610 2 51883
+Fi 15873,16500,0,3705,846,610 2 51884
+Fl 15873,16500,0,2208,852,610 2 51885
+ij 15873,17235,5145,2958,1278,610 3 51958
+bq 15873,3495,3120,0,-3498 0 51756
+%0 15873,16380,330,2361,-471,610 2 51901
+char175 15873,15666,0,1914,-3453,610 2 3759
+a- "
+ab 15873,16395,0,2325,-5001,610 2 51926
+a. 15873,16905,0,0,-8292 2 51927
+oe 15873,11775,330,2334,30,610 0 51823
+OE 15873,15060,0,2799,-390,610 0 51791
+fo 15873,10365,0,0,-4143 0 51886
+fc 15873,10365,0,0,-3543 0 51887
+sq 15873,14106,0,0,-444 0 51899
+/L 15873,15060,0,1515,-135,610 0 51944
+/l 15873,16500,0,0,-1185 2 51960
+a" 15873,18420,0,2355,-6834,610 2 51933
+ho 15873,0,4263,0,-7344 0 51934
+vZ 15873,21255,0,2157,-807,610 2 51802
+IJ 15873,15060,2904,3021,-207,610 0 51942
diff --git a/devlj4/CLARENDON b/devlj4/CLARENDON
new file mode 100644
index 000000000..f5936b591
--- /dev/null
+++ b/devlj4/CLARENDON
@@ -0,0 +1,348 @@
+name CLARENDON
+spacewidth 5856
+pcltypeface 4140
+pclproportional 1
+pclweight 3
+pclstyle 4
+ligatures fi fl ff ffi ffl 0
+charset
+! 6342,18300 2 3617
+" 11709,18645 2 3618
+sh 11709,18300 2 3619
+# "
+Do 11709,18309,306 2 3620
+$ "
+% 17565,18645,345 2 3621
+& 16587,18645,345 2 3622
+' 5856,18645 2 51751
+( 5856,18300,6870 3 3624
+) 5856,18300,6870 3 3625
+* 11709,18645 2 3626
++ 17565,16545 0 3627
+, 5856,3945,3375 0 3628
+char173 5856,8295 0 3629
+hy "
+- "
+. 5856,3945 0 3630
+sl 5856,18645,345 2 3631
+/ "
+0 11709,18645,345 2 3632
+1 11709,18300 2 3633
+2 11709,18645,345 2 3634
+3 11709,18645,345 2 3635
+4 11709,18300 2 3636
+5 11709,18300,345 2 3637
+6 11709,18645,345 2 3638
+7 11709,18300 2 3639
+8 11709,18645,345 2 3640
+9 11709,18645,345 2 3641
+: 5856,13965 0 3642
+; 5856,13965,3375 0 3643
+< 26346,16068 0 3644
+= 17565,12540 0 3645
+> 26346,16068 0 3646
+? 11709,18300 2 3647
+at 26346,16950,4131 2 3648
+@ "
+A 13662,18300 2 3649
+B 13662,18300 2 3650
+C 12684,18645,345 2 3651
+D 13662,18300 2 3652
+E 13662,18285 2 3653
+F 13173,18300 2 3654
+G 13662,18645,345 2 3655
+H 15126,18300 2 3656
+I 7806,18300 2 3657
+J 11220,18300,345 2 3658
+K 14637,18300 2 3659
+L 12198,18300 2 3660
+M 18051,18300 2 3661
+N 14637,18300 2 3662
+O 13662,18645,345 2 3663
+P 13173,18300 2 3664
+Q 14148,18645,2553 2 3665
+R 15126,18300,345 2 3666
+S 12198,18645,345 2 3667
+T 13662,18300 2 3668
+U 13173,18300,345 2 3669
+V 14148,18300 2 3670
+W 19515,18300 2 3671
+X 13662,18300 2 3672
+Y 13173,18300 2 3673
+Z 12198,18300 2 3674
+lB 5856,18300,5085 3 3675
+[ "
+rs 5856,18645,345 2 3676
+\ "
+rB 5856,18300,5085 3 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 5856,18645 2 51808
+` "
+a 13662,14250,345 0 3681
+b 12684,18300,345 2 3682
+c 11220,14250,345 0 3683
+d 12684,18300,345 2 3684
+e 11709,14250,345 0 3685
+f 8781,18645 2 3686
+g 13662,15165,4605 1 3687
+h 13173,18300 2 3688
+i 6831,18705 2 3689
+j 8295,18705,4605 3 3690
+k 13173,18300 2 3691
+l 6831,18300 2 3692
+m 19515,14250 0 3693
+n 13173,14250 0 3694
+o 12198,14250,345 0 3695
+p 12684,14250,4290 1 3696
+q 12684,14250,4290 1 3697
+r 9759,14250 0 3698
+s 11220,14250,345 0 3699
+t 8295,17265,345 2 3700
+u 13173,13905,345 0 3701
+v 11709,13905 0 3702
+w 17565,13905 0 3703
+x 12198,13905 0 3704
+y 12198,13905,4605 1 3705
+z 10245,13905 0 3706
+lC 13173,19935,6210 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 13173,19935,6210 3 3709
+} "
+ti 26346,9435 0 51876
+char192 13662,23355 2 3776
+`A "
+char194 13662,22755 2 3778
+^A "
+char200 13662,23355 2 3784
+`E "
+char202 13662,22755 2 3786
+^E "
+char203 13662,23325 2 3787
+:E "
+char206 7806,22755 2 3790
+^I "
+char207 7806,23325 2 3791
+:I "
+char180 11709,19305 2 3764
+aa "
+ga 11709,19305 2 3680
+a^ 11709,18180 2 3678
+^ "
+char168 11709,18750 2 3752
+ad "
+a~ 11709,18654 2 3710
+~ "
+char217 13173,23355,345 2 3801
+`U "
+char219 13173,22755,345 2 3803
+^U "
+char221 13173,23355 2 3805
+'Y "
+char253 12198,19305,4605 3 3837
+'y "
+char176 11709,18645 2 3760
+de "
+char199 12684,18645,4725 3 3783
+,C "
+char231 11220,14250,4737 1 3815
+,c "
+char209 14637,23229 2 3793
+~N "
+char241 13173,18654 2 3825
+~n "
+char161 6342,13956,4344 1 3745
+r! "
+char191 11709,13956,4344 1 3775
+r? "
+char164 17565,15834 0 3748
+Cs "
+char163 11709,18645,345 2 3747
+Po "
+char165 11709,18300 2 3749
+Ye "
+char167 11709,19605,6420 3 3751
+sc "
+Fn 11709,18645 2 51871
+char162 11709,16917 2 3746
+ct "
+char226 13662,18180,345 2 3810
+^a "
+char234 11709,18180,345 2 3818
+^e "
+char244 12198,18180,345 2 3828
+^o "
+char251 13173,18180,345 2 3835
+^u "
+char225 13662,19305,345 2 3809
+'a "
+char233 11709,19305,345 2 3817
+'e "
+char243 12198,19305,345 2 3827
+'o "
+char250 13173,19305,345 2 3834
+'u "
+char224 13662,19305,345 2 3808
+`a "
+char232 11709,19305,345 2 3816
+`e "
+char242 12198,19305,345 2 3826
+`o "
+char249 13173,19305,345 2 3833
+`u "
+char228 13662,18750,345 2 3812
+:a "
+char235 11709,18750,345 2 3819
+:e "
+char246 12198,18750,345 2 3830
+:o "
+char252 13173,18750,345 2 3836
+:u "
+char197 13662,25200 2 3781
+oA "
+char238 6831,18180 2 3822
+^i "
+char216 13662,18645,345 2 3800
+/O "
+char198 22932,18285 2 3782
+AE "
+char229 13662,21195,345 2 3813
+oa "
+char237 6831,19305 2 3821
+'i "
+char248 12198,14250,345 0 3832
+/o "
+char230 18051,14250,345 0 3814
+ae "
+char196 13662,23325 2 3780
+:A "
+char236 6831,19305 2 3820
+`i "
+char214 13662,23325,345 2 3798
+:O "
+char220 13173,23325,345 2 3804
+:U "
+char201 13662,23355 2 3785
+'E "
+char239 6831,18750 2 3823
+:i "
+char223 13173,18645 2 3807
+ss "
+char212 13662,22755,345 2 3796
+^O "
+char193 13662,23355 2 3777
+'A "
+char195 13662,23229 2 3779
+~A "
+char227 13662,18654,345 2 3811
+~a "
+char208 13662,18300 2 3792
+-D "
+char240 12198,19083,345 2 3824
+Sd "
+char205 7806,23355 2 3789
+'I "
+char204 7806,23355 2 3788
+`I "
+char211 13662,23355,345 2 3795
+'O "
+char210 13662,23355,345 2 3794
+`O "
+char213 13662,23229,345 2 3797
+~O "
+char245 12198,18654,345 2 3829
+~o "
+vS 12198,22755,345 2 51795
+vs 11220,18180,345 2 51827
+char218 13173,23355,345 2 3802
+'U "
+:Y 13173,23325 2 51801
+char255 12198,18750,4605 3 3839
+:y "
+char222 13173,18300 2 3806
+TP "
+char254 12684,18300,4290 3 3838
+Tp "
+char181 14637,10800,5193 1 3765
+char182 12198,19635,4200 3 3766
+ps "
+char190 17565,18645,345 2 3774
+34 "
+\- 17565,10200 0 51757
+char188 17565,18645,345 2 3772
+14 "
+char189 17565,18645,345 2 3773
+12 "
+char170 11709,18645 2 3754
+Of "
+char186 11709,18645 2 3770
+Om "
+char171 12198,12195 0 3755
+Fo "
+char187 12198,12195 0 3771
+Fc "
+char177 17565,16500 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19725 2 3753
+co "
+char172 17565,13479 0 3756
+no "
+char174 13173,19725 2 3758
+rg "
+char178 7806,18480 2 3762
+S2 "
+char179 7806,18480 2 3763
+S3 "
+char184 11709,108,4737 1 3768
+ac "
+char185 7806,18300 2 3769
+S1 "
+char215 17565,16782 0 3799
+char247 17565,15045 0 3831
+char183 5856,11745 0 3767
+fm 5856,18645 2 51873
+sd 10245,18645 2 51874
+dg 11709,18300,4575 3 51755
+tm 16101,17550 2 51796
+ah 11709,18180 2 51935
+ao 11709,21195 2 51930
+f/ 3903,18645,345 2 51759
+em 17565,8295 0 51789
+en 11709,8295 0 51790
+dd 11709,18300,4575 3 51773
+.i 6831,13905 0 51957
+aq 5856,18645 2 3623
+bu 13173,14226 0 51889
+'C 12684,23355,345 2 20166
+'c 11220,19305,345 2 20198
+lq 10734,18645 2 51838
+rq 10734,18645 2 51746
+Bq 10734,3615,3705 0 51772
+vz 10245,18180 2 51834
+fi 15612,18705 2 51881
+fl 15612,18645 2 51882
+ff 17076,18645 2 51883
+Fi 24396,18705 2 51884
+Fl 24396,18645 2 51885
+ij 14637,18705,4605 3 51958
+bq 5856,3615,3705 0 51756
+%0 23418,18645,345 2 51901
+char175 11709,16920 2 3759
+a- "
+ab 11709,19080 2 51926
+a. 11709,18750 2 51927
+oe 18051,14250,345 0 51823
+OE 20979,18645,345 2 51791
+fo 7806,12195 0 51886
+fc 7806,12195 0 51887
+sq 19029,15624 0 51899
+/L 12198,18300 2 51944
+/l 6831,18300 2 51960
+a" 11709,19305 2 51933
+ho 11709,1062,4353 1 51934
+vZ 12198,22755 2 51802
+IJ 19029,18300,345 2 51942
diff --git a/devlj4/CORONET b/devlj4/CORONET
new file mode 100644
index 000000000..e892e18cd
--- /dev/null
+++ b/devlj4/CORONET
@@ -0,0 +1,348 @@
+name CORONET
+spacewidth 13227
+slant 12.000000
+pcltypeface 4102
+pclproportional 0
+pclweight 0
+pclstyle 1
+charset
+! 13227,18990,330 2 3617
+" 13227,18990 2 3618
+sh 13227,21309,2451 2 3619
+# "
+Do 13227,19320,1074 2 3620
+$ "
+% 13227,19320,330 2 3621
+& 13227,19320,330 2 3622
+' 13227,19320 2 51751
+( 13227,19320,1935 2 3624
+) 13227,19320,1935 2 3625
+* 13227,18990 2 3626
++ 13227,15075 0 3627
+, 13227,1785,2250 0 3628
+char173 13227,7995 0 3629
+hy "
+- "
+. 13227,2100,330 0 3630
+sl 13227,19545,330 2 3631
+/ "
+0 13227,19320,330 2 3632
+1 13227,19320 2 3633
+2 13227,19320 2 3634
+3 13227,19320,330 2 3635
+4 13227,19320 2 3636
+5 13227,18990,330 2 3637
+6 13227,19320,330 2 3638
+7 13227,18990 2 3639
+8 13227,19320,330 2 3640
+9 13227,19320,330 2 3641
+: 13227,12492,330 0 3642
+; 13227,12492,2250 0 3643
+< 13227,15063 0 3644
+= 13227,11721 0 3645
+> 13227,15063 0 3646
+? 13227,19320,330 2 3647
+at 13227,19320,330 2 3648
+@ "
+A 13227,18990 2 3649
+B 13227,18990 2 3650
+C 13227,19320,330 2 3651
+D 13227,18990 2 3652
+E 13227,18990 2 3653
+F 13227,18990 2 3654
+G 13227,19320,330 2 3655
+H 13227,18990 2 3656
+I 13227,18990 2 3657
+J 13227,18990,330 2 3658
+K 13227,18990 2 3659
+L 13227,18990 2 3660
+M 13227,18990 2 3661
+N 13227,18990 2 3662
+O 13227,19320,330 2 3663
+P 13227,18990 2 3664
+Q 13227,19320,2778 2 3665
+R 13227,18990 2 3666
+S 13227,19320,330 2 3667
+T 13227,18990 2 3668
+U 13227,18990,330 2 3669
+V 13227,18990 2 3670
+W 13227,18990 2 3671
+X 13227,18990 2 3672
+Y 13227,18990 2 3673
+Z 13227,18990 2 3674
+lB 13227,18990,2940 2 3675
+[ "
+rs 13227,19545,330 2 3676
+\ "
+rB 13227,18990,2940 2 3677
+] "
+ha 13227,19758 2 51875
+_ 13227,191367,6588 3 3679
+oq 13227,19326 2 51808
+` "
+a 13227,14355,330 0 3681
+b 13227,19545,330 2 3682
+c 13227,14355,330 0 3683
+d 13227,19545,330 2 3684
+e 13227,14355,330 0 3685
+f 13227,19335 2 3686
+g 13227,14355,4350 0 3687
+h 13227,19545 2 3688
+i 13227,18780 2 3689
+j 13227,18780,4350 2 3690
+k 13227,19545 2 3691
+l 13227,19545 2 3692
+m 13227,14355 0 3693
+n 13227,14355 0 3694
+o 13227,14355,330 0 3695
+p 13227,14355,5475 1 3696
+q 13227,14355,5475 1 3697
+r 13227,14355 0 3698
+s 13227,14355,330 0 3699
+t 13227,18495,330 2 3700
+u 13227,14025,330 0 3701
+v 13227,14025 0 3702
+w 13227,14025 0 3703
+x 13227,14025 0 3704
+y 13227,14025,4350 0 3705
+z 13227,14025 0 3706
+lC 13227,20130,6075 3 3707
+{ "
+ba 13227,19758,6588 3 3708
+| "
+rC 13227,20130,6075 3 3709
+} "
+ti 13227,10485 0 51876
+char192 13227,24630 2 3776
+`A "
+char194 13227,24810 2 3778
+^A "
+char200 13227,24630 2 3784
+`E "
+char202 13227,24810 2 3786
+^E "
+char203 13227,23115 2 3787
+:E "
+char206 13227,24810 2 3790
+^I "
+char207 13227,23115 2 3791
+:I "
+char180 13227,19725 2 3764
+aa "
+ga 13227,19725 2 3680
+a^ 13227,19905 2 3678
+^ "
+char168 13227,18195 2 3752
+ad "
+a~ 13227,18873 2 3710
+~ "
+char217 13227,24630,330 2 3801
+`U "
+char219 13227,24810,330 2 3803
+^U "
+char221 13227,24630 2 3805
+'Y "
+char253 13227,19725,4350 2 3837
+'y "
+char176 13227,19320 2 3760
+de "
+char199 13227,19320,5325 3 3783
+,C "
+char231 13227,14355,5295 1 3815
+,c "
+char209 13227,23814 2 3793
+~N "
+char241 13227,18873 2 3825
+~n "
+char161 13227,14271,5049 1 3745
+r! "
+char191 13227,14214,5436 1 3775
+r? "
+char164 13227,15684 0 3748
+Cs "
+char163 13227,19320,330 2 3747
+Po "
+char165 13227,18990 2 3749
+Ye "
+char167 13227,19320,1344 2 3751
+sc "
+Fn 13227,19335,3540 2 51871
+char162 13227,19320,330 2 3746
+ct "
+char226 13227,19905,330 2 3810
+^a "
+char234 13227,19905,330 2 3818
+^e "
+char244 13227,19905,330 2 3828
+^o "
+char251 13227,19905,330 2 3835
+^u "
+char225 13227,19725,330 2 3809
+'a "
+char233 13227,19725,330 2 3817
+'e "
+char243 13227,19725,330 2 3827
+'o "
+char250 13227,19725,330 2 3834
+'u "
+char224 13227,19725,330 2 3808
+`a "
+char232 13227,19725,330 2 3816
+`e "
+char242 13227,19725,330 2 3826
+`o "
+char249 13227,19725,330 2 3833
+`u "
+char228 13227,18195,330 2 3812
+:a "
+char235 13227,18195,330 2 3819
+:e "
+char246 13227,18195,330 2 3830
+:o "
+char252 13227,18195,330 2 3836
+:u "
+char197 13227,24810 2 3781
+oA "
+char238 13227,19905 2 3822
+^i "
+char216 13227,19320,342 2 3800
+/O "
+char198 13227,18990 2 3782
+AE "
+char229 13227,19905,330 2 3813
+oa "
+char237 13227,19725 2 3821
+'i "
+char248 13227,14895,735 0 3832
+/o "
+char230 13227,14355,330 0 3814
+ae "
+char196 13227,23115 2 3780
+:A "
+char236 13227,19725 2 3820
+`i "
+char214 13227,23115,330 2 3798
+:O "
+char220 13227,23115,330 2 3804
+:U "
+char201 13227,24630 2 3785
+'E "
+char239 13227,18195 2 3823
+:i "
+char223 13227,19335,330 2 3807
+ss "
+char212 13227,24810,330 2 3796
+^O "
+char193 13227,24630 2 3777
+'A "
+char195 13227,23814 2 3779
+~A "
+char227 13227,18873,330 2 3811
+~a "
+char208 13227,18990 2 3792
+-D "
+char240 13227,19545,330 2 3824
+Sd "
+char205 13227,24630 2 3789
+'I "
+char204 13227,24630 2 3788
+`I "
+char211 13227,24630,330 2 3795
+'O "
+char210 13227,24630,330 2 3794
+`O "
+char213 13227,23814,330 2 3797
+~O "
+char245 13227,18873,330 2 3829
+~o "
+vS 13227,24810,330 2 51795
+vs 13227,19905,330 2 51827
+char218 13227,24630,330 2 3802
+'U "
+:Y 13227,23115 2 51801
+char255 13227,18195,4350 2 3839
+:y "
+char222 13227,18990 2 3806
+TP "
+char254 13227,19545,5475 3 3838
+Tp "
+char181 13227,14025,4350 0 3765
+char182 13227,19635,4200 2 3766
+ps "
+char190 13227,19110,3825 2 3774
+34 "
+\- 13227,9945 0 51757
+char188 13227,19110,3825 2 3772
+14 "
+char189 13227,19110,3825 2 3773
+12 "
+char170 13227,19320 2 3754
+Of "
+char186 13227,19320 2 3770
+Om "
+char171 13227,13710 0 3755
+Fo "
+char187 13227,13710 0 3771
+Fc "
+char177 13227,15075 0 3761
+char166 13227,19083,5916 3 3750
+bb "
+char169 13227,19635 2 3753
+co "
+char172 13227,12501 0 3756
+no "
+char174 13227,19635 2 3758
+rg "
+char178 13227,19110 2 3762
+S2 "
+char179 13227,19110 2 3763
+S3 "
+char184 13227,0,5295 1 3768
+ac "
+char185 13227,19110 2 3769
+S1 "
+char215 13227,14814 0 3799
+char247 13227,14655 0 3831
+char183 13227,11007 0 3767
+fm 13227,18990 2 51873
+sd 13227,18990 2 51874
+dg 13227,18990 2 51755
+tm 13227,17850 2 51796
+ah 13227,19905 2 51935
+ao 13227,19905 2 51930
+f/ 13227,15675,777 0 51759
+em 13227,7710 0 51789
+en 13227,7710 0 51790
+dd 13227,18990 2 51773
+.i 13227,14025 0 51957
+aq 13227,18990 2 3623
+bu 13227,12714 0 51889
+'C 13227,24630,330 2 20166
+'c 13227,19725,330 2 20198
+lq 13227,19326 2 51838
+rq 13227,19320 2 51746
+Bq 13227,2214,2091 0 51772
+vz 13227,19905 2 51834
+fi 13227,19335 2 51881
+fl 13227,19335 2 51882
+ff 13227,19335 2 51883
+Fi 13227,19335 2 51884
+Fl 13227,19335 2 51885
+ij 13227,18780,4350 2 51958
+bq 13227,2214,2091 0 51756
+%0 13227,19320,330 2 51901
+char175 13227,18051 2 3759
+a- "
+ab 13227,19350 2 51926
+a. 13227,18195 2 51927
+oe 13227,14355,330 0 51823
+OE 13227,19320,330 2 51791
+fo 13227,13710 0 51886
+fc 13227,13710 0 51887
+sq 13227,14106 0 51899
+/L 13227,18990 2 51944
+/l 13227,19545 2 51960
+a" 13227,19725 2 51933
+ho 13227,735,4086 0 51934
+vZ 13227,24810 2 51802
+IJ 13227,18990,330 2 51942
diff --git a/devlj4/CR b/devlj4/CR
new file mode 100644
index 000000000..9a87b1a3f
--- /dev/null
+++ b/devlj4/CR
@@ -0,0 +1,347 @@
+name CR
+spacewidth 15873
+pcltypeface 4099
+pclproportional 0
+pclweight 0
+pclstyle 0
+charset
+! 15873,15060,330 0 3617
+" 15873,15060 0 3618
+sh 15873,16827,2040 2 3619
+# "
+Do 15873,17247,3642 2 3620
+$ "
+% 15873,16380,330 2 3621
+& 15873,14187,330 0 3622
+' 15873,15060 0 51751
+( 15873,17070,2580 2 3624
+) 15873,17070,2580 2 3625
+* 15873,15060 0 3626
++ 15873,11385 0 3627
+, 15873,3195,3420 0 3628
+char173 15873,7275 0 3629
+hy "
+- "
+. 15873,2805,330 0 3630
+sl 15873,18465,3765 2 3631
+/ "
+0 15873,15390,330 0 3632
+1 15873,15060 0 3633
+2 15873,15390 0 3634
+3 15873,15390,330 0 3635
+4 15873,15060 0 3636
+5 15873,15060,330 0 3637
+6 15873,15390,330 0 3638
+7 15873,15060 0 3639
+8 15873,15390,330 0 3640
+9 15873,15390,330 0 3641
+: 15873,9705,393 0 3642
+; 15873,9705,3420 0 3643
+< 15873,10647,3 0 3644
+= 15873,8451 0 3645
+> 15873,10647,3 0 3646
+? 15873,15390,330 0 3647
+at 15873,14391,363 0 3648
+@ "
+A 15873,15060 0 3649
+B 15873,15060 0 3650
+C 15873,15390,330 0 3651
+D 15873,15060 0 3652
+E 15873,15060 0 3653
+F 15873,15060 0 3654
+G 15873,15390,330 0 3655
+H 15873,15060 0 3656
+I 15873,15060 0 3657
+J 15873,15060,330 0 3658
+K 15873,15060 0 3659
+L 15873,15060 0 3660
+M 15873,15060 0 3661
+N 15873,15060 0 3662
+O 15873,15390,330 0 3663
+P 15873,15060 0 3664
+Q 15873,15390,3360 0 3665
+R 15873,15060 0 3666
+S 15873,15390,330 0 3667
+T 15873,15060 0 3668
+U 15873,15060,330 0 3669
+V 15873,15060 0 3670
+W 15873,15060 0 3671
+X 15873,15060 0 3672
+Y 15873,15060 0 3673
+Z 15873,15060 0 3674
+lB 15873,17070,2580 2 3675
+[ "
+rs 15873,18465,3765 2 3676
+\ "
+rB 15873,17070,2580 2 3677
+] "
+ha 15873,19758 2 51875
+_ 15873,191367,6588 3 3679
+oq 15873,15060 0 51808
+` "
+a 15873,11775,330 0 3681
+b 15873,16500,330 2 3682
+c 15873,11775,330 0 3683
+d 15873,16500,330 2 3684
+e 15873,11775,330 0 3685
+f 15873,16500 2 3686
+g 15873,11775,5145 1 3687
+h 15873,16500 2 3688
+i 15873,17235 2 3689
+j 15873,17235,5145 3 3690
+k 15873,16500 2 3691
+l 15873,16500 2 3692
+m 15873,11775 0 3693
+n 15873,11775 0 3694
+o 15873,11775,330 0 3695
+p 15873,11775,5145 1 3696
+q 15873,11775,5145 1 3697
+r 15873,11775 0 3698
+s 15873,11775,330 0 3699
+t 15873,14826,330 0 3700
+u 15873,11445,330 0 3701
+v 15873,11445 0 3702
+w 15873,11445 0 3703
+x 15873,11445 0 3704
+y 15873,11445,5145 1 3705
+z 15873,11445 0 3706
+lC 15873,20130,6075 3 3707
+{ "
+ba 15873,19758,6588 3 3708
+| "
+rC 15873,20130,6075 3 3709
+} "
+ti 15873,7233 0 51876
+char192 15873,21180 2 3776
+`A "
+char194 15873,21180 2 3778
+^A "
+char200 15873,21180 2 3784
+`E "
+char202 15873,21180 2 3786
+^E "
+char203 15873,20670 2 3787
+:E "
+char206 15873,21180 2 3790
+^I "
+char207 15873,20670 2 3791
+:I "
+char180 15873,17565 2 3764
+aa "
+ga 15873,17565 2 3680
+a^ 15873,17565 2 3678
+^ "
+char168 15873,16905 2 3752
+ad "
+a~ 15873,16830 2 3710
+~ "
+char217 15873,21180,330 2 3801
+`U "
+char219 15873,21180,330 2 3803
+^U "
+char221 15873,21180 2 3805
+'Y "
+char253 15873,17565,5145 3 3837
+'y "
+char176 15873,15390 0 3760
+de "
+char199 15873,15390,5175 1 3783
+,C "
+char231 15873,11775,4815 1 3815
+,c "
+char209 15873,20571 2 3793
+~N "
+char241 15873,16830 2 3825
+~n "
+char161 15873,11880,3510 0 3745
+r! "
+char191 15873,11898,3822 0 3775
+r? "
+char164 15873,15684 2 3748
+Cs "
+char163 15873,15390,330 0 3747
+Po "
+char165 15873,15060 0 3749
+Ye "
+char167 15873,15390,1905 0 3751
+sc "
+Fn 15873,15090,4350 0 51871
+char162 15873,16179,1431 2 3746
+ct "
+char226 15873,17565,330 2 3810
+^a "
+char234 15873,17565,330 2 3818
+^e "
+char244 15873,17565,330 2 3828
+^o "
+char251 15873,17565,330 2 3835
+^u "
+char225 15873,17565,330 2 3809
+'a "
+char233 15873,17565,330 2 3817
+'e "
+char243 15873,17565,330 2 3827
+'o "
+char250 15873,17565,330 2 3834
+'u "
+char224 15873,17565,330 2 3808
+`a "
+char232 15873,17565,330 2 3816
+`e "
+char242 15873,17565,330 2 3826
+`o "
+char249 15873,17565,330 2 3833
+`u "
+char228 15873,16905,330 2 3812
+:a "
+char235 15873,16905,330 2 3819
+:e "
+char246 15873,16905,330 2 3830
+:o "
+char252 15873,16905,330 2 3836
+:u "
+char197 15873,21690 2 3781
+oA "
+char238 15873,17565 2 3822
+^i "
+char216 15873,15591,612 2 3800
+/O "
+char198 15873,15060 0 3782
+AE "
+char229 15873,17997,330 2 3813
+oa "
+char237 15873,17565 2 3821
+'i "
+char248 15873,11856,459 0 3832
+/o "
+char230 15873,11775,330 0 3814
+ae "
+char196 15873,20670 2 3780
+:A "
+char236 15873,17565 2 3820
+`i "
+char214 15873,20670,330 2 3798
+:O "
+char220 15873,20670,330 2 3804
+:U "
+char201 15873,21180 2 3785
+'E "
+char239 15873,16905 2 3823
+:i "
+char223 15873,16500,330 2 3807
+ss "
+char212 15873,21180,330 2 3796
+^O "
+char193 15873,21180 2 3777
+'A "
+char195 15873,20571 2 3779
+~A "
+char227 15873,16830,330 2 3811
+~a "
+char208 15873,15060 0 3792
+-D "
+char240 15873,18015,330 2 3824
+Sd "
+char205 15873,21180 2 3789
+'I "
+char204 15873,21180 2 3788
+`I "
+char211 15873,21180,330 2 3795
+'O "
+char210 15873,21180,330 2 3794
+`O "
+char213 15873,20571,330 2 3797
+~O "
+char245 15873,16830,330 2 3829
+~o "
+vS 15873,21180,330 2 51795
+vs 15873,17565,330 2 51827
+char218 15873,21180,330 2 3802
+'U "
+:Y 15873,20670 2 51801
+char255 15873,16905,5145 3 3839
+:y "
+char222 15873,15060 0 3806
+TP "
+char254 15873,16500,5145 3 3838
+Tp "
+char181 15873,11445,5595 1 3765
+char182 15873,19635,4080 2 3766
+ps "
+char190 15873,15519,2673 2 3774
+34 "
+\- 15873,6435 0 51757
+char188 15873,15519,2673 2 3772
+14 "
+char189 15873,15519,2673 2 3773
+12 "
+char170 15873,15390 0 3754
+Of "
+char186 15873,15390 0 3770
+Om "
+char171 15873,11490 0 3755
+Fo "
+char187 15873,11490 0 3771
+Fc "
+char177 15873,11385,2835 0 3761
+char166 15873,19083,5916 3 3750
+bb "
+char169 15873,19635 2 3753
+co "
+char172 15873,8865 0 3756
+no "
+char174 15873,19635 2 3758
+rg "
+char178 15873,15240 0 3762
+S2 "
+char179 15873,15240 0 3763
+S3 "
+char184 15873,0,4815 1 3768
+ac "
+char185 15873,15060 0 3769
+S1 "
+char215 15873,11340 0 3799
+char247 15873,10530 0 3831
+char183 15873,8931 0 3767
+fm 15873,15060 0 51873
+sd 15873,15060 0 51874
+dg 15873,15060,1290 0 51755
+tm 15873,17850 2 51796
+ah 15873,17565 2 51935
+ao 15873,17997 2 51930
+f/ 15873,15519,2673 2 51759
+em 15873,7275 0 51789
+en 15873,7275 0 51790
+dd 15873,15060,1290 0 51773
+.i 15873,11445 0 51957
+aq 15873,15060 0 3623
+bu 15873,12714 0 51889
+'C 15873,21180,330 2 20166
+'c 15873,17565,330 2 20198
+lq 15873,15060 0 51838
+rq 15873,15060 0 51746
+Bq 15873,3495,3120 0 51772
+vz 15873,17565 2 51834
+fi 15873,17235 2 51881
+fl 15873,16500 2 51882
+ff 15873,16500 2 51883
+Fi 15873,16500 2 51884
+Fl 15873,16500 2 51885
+ij 15873,17235,5145 3 51958
+bq 15873,3495,3120 0 51756
+%0 15873,16380,330 2 51901
+char175 15873,15726 2 3759
+a- "
+ab 15873,16725 2 51926
+a. 15873,16905 2 51927
+oe 15873,11775,330 0 51823
+OE 15873,15060 0 51791
+fo 15873,10845 0 51886
+fc 15873,10845 0 51887
+sq 15873,14106 0 51899
+/L 15873,15060 0 51944
+/l 15873,16500 2 51960
+a" 15873,18195 2 51933
+ho 15873,0,4263 0 51934
+vZ 15873,21180 2 51802
+IJ 15873,15060,2850 0 51942
diff --git a/devlj4/DESC.in b/devlj4/DESC.in
new file mode 100644
index 000000000..b726647f6
--- /dev/null
+++ b/devlj4/DESC.in
@@ -0,0 +1,9 @@
+hor 1
+vert 1
+sizescale 4
+sizes 1-3999 0
+styles R I B BI
+fonts 6 0 0 0 0 0 S
+family T
+tcommand
+postpro grolj4
diff --git a/devlj4/GB b/devlj4/GB
new file mode 100644
index 000000000..3c7045519
--- /dev/null
+++ b/devlj4/GB
@@ -0,0 +1,732 @@
+name GB
+spacewidth 7317
+pcltypeface 4197
+pclproportional 1
+pclweight 3
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2925
+P . -3903
+P , -3903
+V A -3414
+A V -4389
+T o -4389
+T r -2925
+T c -3903
+T e -3903
+T d -3903
+T s -2925
+T y -3414
+T a -2925
+T w -3414
+T u -2925
+L T -2925
+L Y -2925
+Y o -3903
+Y e -3414
+Y a -3414
+A W -4389
+W A -3414
+T A -2925
+V o -3414
+V e -2925
+V a -2925
+Y A -3414
+F A -2439
+F . -3903
+F , -3903
+A T -2925
+A Y -3414
+v . -2439
+v , -2439
+y . -2439
+y , -2439
+T . -2925
+T , -2925
+L W -2925
+P A -2439
+V . -3903
+V , -3903
+Y . -3414
+Y , -3414
+W o -3414
+W e -2925
+W a -2925
+W . -3903
+W , -3903
+r . -1950
+r , -1950
+w . -975
+w , -975
+Y u -2439
+A v -1950
+A y -1950
+A w -1950
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -975
+e , -975
+b . -1461
+b , -1461
+O T -1950
+O V -1950
+O Y -1950
+O . -1950
+O , -1950
+L y -975
+V y -1950
+V u -1950
+V O -1950
+V G -1950
+V C -1950
+V Q -1950
+D T -1950
+D V -1950
+D Y -1950
+D . -1950
+D , -1950
+Y O -1950
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -1461
+F e -975
+F a -975
+O A -975
+O W -1950
+L U -486
+R T -1950
+R V -1950
+R Y -1950
+R W -1950
+G T -486
+P o -1461
+P g -975
+P e -975
+P a -975
+D A -975
+D W -1950
+B T -975
+B Y -975
+B . -975
+B , -975
+A O -975
+A G -975
+A C -975
+A U -1461
+A Q -975
+W r -1950
+W y -1950
+W u -1950
+W O -1950
+W G -1950
+W C -1950
+W Q -1950
+J A -486
+J . -486
+J , -486
+U A -1461
+U . -1950
+U , -1950
+Q A -975
+Q W -1950
+T O -1950
+T G -1950
+T C -1950
+T Q -1950
+O X -1461
+L o -486
+G V -486
+G Y -486
+G W -486
+G . -486
+G , -486
+P T -975
+P V -975
+P Y -975
+D X -1461
+B V -975
+B X -975
+B A -975
+B W -975
+S . -975
+S , -975
+X o -1461
+X e -975
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1461
+A e -975
+Q X -1461
+K o -1461
+K e -975
+K y -975
+K w -975
+K O -975
+K G -975
+K C -975
+K Q -975
+o v -1461
+o y -1461
+o x -1461
+o w -1461
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+r g -975
+p v -975
+p y -975
+p x -975
+v o -1461
+v g -975
+v c -975
+v d -975
+v a -975
+v q -975
+e v -486
+e y -486
+b v -975
+b y -975
+b w -975
+s . -486
+s , -486
+y o -1461
+y g -975
+y c -975
+y d -975
+y a -975
+y q -975
+x o -1461
+x c -975
+x e -975
+x d -975
+x q -975
+a v -975
+a y -975
+a w -975
+w o -1461
+w g -975
+w c -975
+w d -975
+w a -975
+w q -975
+T S -975
+R o -1461
+R y -1461
+R O -1461
+R G -1461
+R C -1461
+R U -1461
+R Q -1461
+G X -486
+G A -486
+P s -486
+P Z -975
+P X -975
+P W -975
+V S -975
+S A -975
+Y S -975
+A t -486
+A c -975
+A d -975
+A q -975
+W S -975
+K c -975
+o f -486
+h w -975
+n w -975
+m w -975
+r o -1461
+r c -975
+r e -975
+r d -975
+r a -975
+r q -975
+p w -975
+v e -975
+v s -486
+e x -486
+e w -486
+y e -975
+y s -486
+f o -1461
+f c -975
+f e -975
+f d -975
+f q -975
+w e -975
+w s -486
+k o -975
+k c -486
+k e -486
+k d -486
+k q -486
+O Z -975
+R e -975
+G Z -486
+E o -486
+E v -975
+E y -975
+E w -975
+Z o -486
+Z y -975
+Z w -975
+D Z -975
+B Z -975
+J o -486
+U g -486
+t o -975
+t c -486
+t e -486
+t d -486
+t q -486
+o t -486
+o g -486
+o z -975
+o j -486
+r s -486
+g o -975
+g c -486
+g e -486
+g d -486
+g q -486
+p z -486
+e z -486
+z o -975
+z c -486
+z e -486
+z d -486
+z q -486
+b z -486
+C o -486
+C y -975
+B o -486
+B y -486
+B S -486
+B U -486
+U o -975
+U c -486
+U e -486
+U d -486
+U s -486
+U a -486
+U q -486
+L ' -2925
+T char173 -3414
+T hy -3414
+T - -3414
+T en -3414
+T em -3414
+A ' -2925
+char173 T -3414
+hy T -3414
+- T -3414
+en T -3414
+em T -3414
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -1461
+e ' -486
+b ' -975
+a ' -975
+V char173 -1950
+V hy -1950
+V - -1950
+V en -1950
+V em -1950
+h ' -975
+n ' -975
+m ' -975
+R ' -1461
+W char173 -1950
+W hy -1950
+W - -1950
+W en -1950
+W em -1950
+' d -1461
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -975
+A hy -975
+A - -975
+A en -975
+A em -975
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+' s -486
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -975
+hy A -975
+- A -975
+en X -1461
+en A -975
+em X -1461
+R char173 -1461
+R hy -1461
+R - -1461
+R en -1461
+R em -1461
+G ' -486
+B ' -486
+charset
+! 7317,18948,390 2 3617
+" 10734,18987 2 3618
+sh 13173,17805,390 0 3619
+# "
+Do 13173,19584,1779 2 3620
+$ "
+% 21954,17805,390 0 3621
+& 22443,18165,390 0 3622
+' 6831,18555 2 51751
+( 8295,20250,6705 3 3624
+) 8295,20250,6705 3 3625
+* 13173,18555 2 3626
++ 21954,13467,87 0 3627
+, 7317,3972,4152 0 3628
+char173 7317,7575 0 3629
+hy "
+- "
+. 7317,3915,390 0 3630
+sl 13173,20250,300 2 3631
+/ "
+0 13173,17805,390 0 3632
+1 13173,17805,150 0 3633
+2 13173,17805,150 0 3634
+3 13173,17805,390 0 3635
+4 13173,17805 0 3636
+5 13173,17490,390 0 3637
+6 13173,17805,390 0 3638
+7 13173,17415,390 0 3639
+8 13173,17805,390 0 3640
+9 13173,17805,390 0 3641
+: 7317,11940,390 0 3642
+; 7317,11940,4152 0 3643
+< 26346,16068 0 3644
+= 21954,9654 0 3645
+> 26346,16068 0 3646
+? 10245,18948,390 2 3647
+at 21954,16950,4131 0 3648
+@ "
+A 20004,18939,150 2 3649
+B 17565,18315,150 2 3650
+C 20004,18555,390 2 3651
+D 21954,18555,150 2 3652
+E 16587,18315,150 2 3653
+F 16587,18315,150 2 3654
+G 21468,18555,390 2 3655
+H 23418,18315,150 2 3656
+I 10245,18315,150 2 3657
+J 9759,18315,6363 3 3658
+K 19515,18315,150 2 3659
+L 16101,18315,150 2 3660
+M 24882,18315,390 2 3661
+N 22443,18315,612 2 3662
+O 22932,18555,390 2 3663
+P 16587,18555,150 2 3664
+Q 22932,18555,5253 2 3665
+R 19515,18315,150 2 3666
+S 14148,18555,390 2 3667
+T 17565,19500,138 2 3668
+U 21468,18315,390 2 3669
+V 19515,18315,390 2 3670
+W 26346,18315,390 2 3671
+X 20004,18315,150 2 3672
+Y 18540,18315,150 2 3673
+Z 17565,19500,150 2 3674
+lB 8295,18165,4905 0 3675
+[ "
+rs 13173,20250,300 2 3676
+\ "
+rB 8295,18165,4905 0 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 6831,18555 2 51808
+` "
+a 12198,12420,390 0 3681
+b 14637,20250,390 2 3682
+c 11220,12420,390 0 3683
+d 14637,20250,390 2 3684
+e 11709,12420,390 0 3685
+f 9270,20250,150 2 3686
+g 14148,12420,6705 1 3687
+h 15612,20250,150 2 3688
+i 7806,19329,150 2 3689
+j 7317,19329,6705 3 3690
+k 14637,20250,150 2 3691
+l 7806,20250,150 2 3692
+m 22932,12420,150 0 3693
+n 15612,12420,150 0 3694
+o 14148,12420,390 0 3695
+p 14637,12420,6855 1 3696
+q 14637,12420,6855 1 3697
+r 11220,12420,150 0 3698
+s 9759,12420,390 0 3699
+t 9759,15585,390 0 3700
+u 15612,12420,390 0 3701
+v 14148,12180,390 0 3702
+w 20004,12180,390 0 3703
+x 14148,12180,150 0 3704
+y 13662,12180,6705 1 3705
+z 12684,12870,150 0 3706
+lC 13173,19935,6210 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 13173,19935,6210 3 3709
+} "
+ti 26346,9435 0 51876
+char192 20004,24810,150 2 3776
+`A "
+char194 20004,24810,150 2 3778
+^A "
+char200 16587,24810,150 2 3784
+`E "
+char202 16587,24810,150 2 3786
+^E "
+char203 16587,23505,150 2 3787
+:E "
+char206 10245,24810,150 2 3790
+^I "
+char207 10245,23505,150 2 3791
+:I "
+char180 13173,20475 2 3764
+aa "
+ga 13173,20475 2 3680
+a^ 13173,20475 2 3678
+^ "
+char168 13173,18090 0 3752
+ad "
+a~ 13173,18324 2 3710
+~ "
+char217 21468,24810,390 2 3801
+`U "
+char219 21468,24810,390 2 3803
+^U "
+char221 18540,24810,150 2 3805
+'Y "
+char253 13662,20475,6705 3 3837
+'y "
+char176 13173,17415 0 3760
+de "
+char199 20004,18555,6405 3 3783
+,C "
+char231 11220,12420,5694 0 3815
+,c "
+char209 22443,23973,612 2 3793
+~N "
+char241 15612,18324,150 2 3825
+~n "
+char161 7317,12330,7008 1 3745
+r! "
+char191 10245,12330,7008 1 3775
+r? "
+char164 13173,15834 0 3748
+Cs "
+char163 13173,17805,390 0 3747
+Po "
+char165 13173,18315,150 2 3749
+Ye "
+char167 13173,18555,6705 3 3751
+sc "
+Fn 13173,20250,6705 3 51871
+char162 13173,18012,57 0 3746
+ct "
+char226 12198,20475,390 2 3810
+^a "
+char234 11709,20475,390 2 3818
+^e "
+char244 14148,20475,390 2 3828
+^o "
+char251 15612,20475,390 2 3835
+^u "
+char225 12198,20475,390 2 3809
+'a "
+char233 11709,20475,390 2 3817
+'e "
+char243 14148,20475,390 2 3827
+'o "
+char250 15612,20475,390 2 3834
+'u "
+char224 12198,20475,390 2 3808
+`a "
+char232 11709,20475,390 2 3816
+`e "
+char242 14148,20475,390 2 3826
+`o "
+char249 15612,20475,390 2 3833
+`u "
+char228 12198,18090,390 0 3812
+:a "
+char235 11709,18090,390 0 3819
+:e "
+char246 14148,18090,390 0 3830
+:o "
+char252 15612,18090,390 0 3836
+:u "
+char197 20004,25065,150 2 3781
+oA "
+char238 7806,20475,150 2 3822
+^i "
+char216 22932,18729,390 2 3800
+/O "
+char198 25857,18315,150 2 3782
+AE "
+char229 12198,19836,390 2 3813
+oa "
+char237 7806,20475,150 2 3821
+'i "
+char248 14148,12525,804 0 3832
+/o "
+char230 18051,12420,390 0 3814
+ae "
+char196 20004,23505,150 2 3780
+:A "
+char236 7806,20475,150 2 3820
+`i "
+char214 22932,23505,390 2 3798
+:O "
+char220 21468,23505,390 2 3804
+:U "
+char201 16587,24810,150 2 3785
+'E "
+char239 7806,18090,150 0 3823
+:i "
+char223 15612,20250,390 2 3807
+ss "
+char212 22932,24810,390 2 3796
+^O "
+char193 20004,24810,150 2 3777
+'A "
+char195 20004,23973,150 2 3779
+~A "
+char227 12198,18324,390 2 3811
+~a "
+char208 21954,18555,150 2 3792
+-D "
+char240 14148,20250,390 2 3824
+Sd "
+char205 10245,24810,150 2 3789
+'I "
+char204 10245,24810,150 2 3788
+`I "
+char211 22932,24810,390 2 3795
+'O "
+char210 22932,24810,390 2 3794
+`O "
+char213 22932,23973,390 2 3797
+~O "
+char245 14148,18324,390 2 3829
+~o "
+vS 14148,24810,390 2 51795
+vs 9759,20475,390 2 51827
+char218 21468,24810,390 2 3802
+'U "
+:Y 18540,23505,150 2 51801
+char255 13662,18090,6705 1 3839
+:y "
+char222 16587,18315,153 2 3806
+TP "
+char254 14637,20250,6855 3 3838
+Tp "
+char181 14637,10800,5193 0 3765
+char182 13173,19635,4200 2 3766
+ps "
+char190 21954,17805,390 0 3774
+34 "
+\- 21954,7755 0 51757
+char188 21954,17805,390 0 3772
+14 "
+char189 21954,17805,390 0 3773
+12 "
+char170 12198,17805 0 3754
+Of "
+char186 12198,17805 0 3770
+Om "
+char171 12684,10605 0 3755
+Fo "
+char187 12684,10605 0 3771
+Fc "
+char177 21954,13467,3354 0 3761
+char166 13173,19083,5916 2 3750
+bb "
+char169 13173,19725 2 3753
+co "
+char172 21954,10560 0 3756
+no "
+char174 13173,19725 2 3758
+rg "
+char178 9270,17805 0 3762
+S2 "
+char179 9270,17805 0 3763
+S3 "
+char184 13173,57,5694 0 3768
+ac "
+char185 9270,17805 0 3769
+S1 "
+char215 21954,13470,144 0 3799
+char247 21954,13383,3 0 3831
+char183 7317,10722 0 3767
+fm 13173,17805 0 51873
+sd 13173,17805 0 51874
+dg 13173,18555,6579 3 51755
+tm 16101,17550 0 51796
+ah 13173,20475 2 51935
+ao 13173,19836 2 51930
+f/ 2928,17805,390 0 51759
+em 21954,7185 0 51789
+en 13173,7185 0 51790
+dd 13173,18555,4905 2 51773
+.i 7806,12420,150 0 51957
+aq 6831,18987 2 3623
+bu 13173,14226 0 51889
+'C 20004,24810,390 2 20166
+'c 11220,20475,390 2 20198
+lq 12198,18555 2 51838
+rq 12198,18555 2 51746
+Bq 12198,3714,3519 0 51772
+vz 12684,20475,150 2 51834
+fi 15612,20250,150 2 51881
+fl 15612,20250,150 2 51882
+ff 17076,20250,150 2 51883
+Fi 23418,20250,150 2 51884
+Fl 23418,20250,150 2 51885
+ij 15126,19329,6705 3 51958
+bq 6831,3714,3519 0 51756
+%0 30249,17805,180 0 51901
+char175 13173,17088 0 3759
+a- "
+ab 13173,17079 0 51926
+a. 13173,18471 2 51927
+oe 20979,12420,390 0 51823
+OE 28299,18555,390 2 51791
+fo 8295,10605 0 51886
+fc 8295,10605 0 51887
+sq 19029,15624 0 51899
+/L 16101,18315,150 2 51944
+/l 7806,20250,150 2 51960
+a" 13173,20475 2 51933
+ho 13173,993,4317 0 51934
+vZ 17565,24810,150 2 51802
+IJ 20004,18315,6363 3 51942
diff --git a/devlj4/GBI b/devlj4/GBI
new file mode 100644
index 000000000..9a507ce8d
--- /dev/null
+++ b/devlj4/GBI
@@ -0,0 +1,736 @@
+name GBI
+spacewidth 6831
+slant 16.300000
+pcltypeface 4197
+pclproportional 1
+pclweight 3
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -4878
+P . -4389
+P , -4389
+V A -4389
+A V -4389
+T o -4389
+T r -3414
+T c -3903
+T e -3903
+T d -3903
+T s -3414
+T y -3903
+T a -3903
+T w -3903
+T u -3414
+L T -3414
+L Y -3903
+Y o -3903
+Y e -3903
+Y a -4389
+A W -4389
+W A -3414
+T A -3414
+V o -2925
+V e -2925
+V a -3414
+Y A -4389
+F A -2439
+F . -3903
+F , -3903
+A T -3414
+A Y -3903
+v . -1461
+v , -1461
+y . -975
+y , -975
+T . -3414
+T , -3414
+L W -4878
+P A -2925
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -2439
+W e -2439
+W a -2925
+W . -3414
+W , -3414
+r . -1950
+r , -1950
+w . -1461
+w , -1461
+Y u -2925
+A v -1950
+A y -1950
+A w -1950
+o . -975
+o , -975
+p . -975
+p , -975
+b . -1950
+b , -1950
+O T -1950
+O V -1950
+O Y -1950
+O . -975
+O , -975
+L y -2925
+L O -1950
+L G -1950
+L C -1950
+L Q -1950
+V y -1950
+V u -1950
+V O -975
+V G -975
+V C -975
+V Q -975
+D T -1950
+D V -1950
+D Y -1950
+D . -975
+D , -975
+Y O -975
+Y G -975
+Y C -975
+Y Q -975
+F o -975
+F e -975
+F a -975
+O A -975
+O W -1950
+L U -1950
+R T -1950
+R V -1950
+R Y -1950
+R W -1950
+G T -975
+P o -975
+P e -975
+P a -1461
+D A -975
+D W -1950
+B T -975
+B Y -975
+B . -975
+B , -975
+A O -1461
+A G -1461
+A C -1461
+A U -1950
+A Q -1461
+W r -1461
+W y -1461
+W u -1461
+W O -975
+W G -975
+W C -975
+W Q -975
+J A -486
+J . -486
+J , -486
+U A -1461
+U . -1461
+U , -1461
+Q A -975
+Q W -1950
+T O -975
+T G -975
+T C -975
+T Q -975
+O X -975
+L o -975
+L e -975
+L q -486
+G V -975
+G Y -975
+G W -975
+P T -975
+P V -975
+P Y -975
+C T -486
+C V -486
+C Y -486
+D X -975
+B V -975
+B X -975
+B A -975
+B W -975
+X o -975
+X e -975
+X y -1461
+X O -975
+X G -975
+X C -975
+X Q -975
+A o -975
+A e -975
+Q X -975
+K o -975
+K e -975
+K y -1461
+K w -1461
+K O -975
+K G -975
+K C -975
+K Q -975
+o v -975
+o y -975
+o x -975
+o w -975
+h v -486
+h y -486
+n v -486
+n y -486
+m v -486
+m y -486
+p v -486
+p y -486
+p x -486
+v o -486
+b v -486
+b y -486
+b w -486
+y o -486
+x o -975
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+w o -975
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T i -975
+L a -486
+R o -975
+R y -975
+R O -975
+R G -975
+R C -975
+R U -975
+R Q -975
+P Z -975
+P X -975
+P W -975
+C W -486
+V i -975
+Y i -975
+X a -486
+A g -486
+A c -975
+A d -975
+A a -486
+A q -486
+W i -975
+K c -975
+o f -486
+h w -486
+h . -486
+h , -486
+n w -486
+n . -486
+n , -486
+m w -486
+m . -486
+m , -486
+r o -975
+r c -975
+r e -975
+r d -975
+r a -975
+r q -975
+p w -486
+f o -486
+w e -486
+w s -486
+k o -486
+O Z -975
+L J -486
+R e -975
+R a -486
+E o -486
+E v -486
+E y -486
+E w -486
+Z o -975
+Z e -975
+Z d -975
+Z y -1461
+Z a -486
+Z w -1461
+Z O -975
+Z G -975
+Z C -975
+Z Q -975
+D Z -975
+B Z -975
+A J -486
+J o -486
+K a -486
+t o -486
+o t -486
+o g -486
+o z -486
+o j -486
+g o -486
+v y -486
+v x -486
+v w -486
+z o -486
+w t -486
+w h -486
+w n -486
+w m -486
+w l -486
+w r -486
+w i -486
+w p -486
+w v -486
+w z -486
+w b -486
+w y -486
+w f -486
+w x -486
+w w -486
+w j -486
+w u -486
+w k -486
+R J -486
+C o -486
+E T -486
+E V -486
+E Y -486
+E W -486
+E U -486
+B o -486
+B y -486
+B U -486
+U o -486
+L ' -4878
+T char173 -3903
+T hy -3903
+T - -3903
+T en -3903
+T em -3903
+A ' -2439
+char173 T -3903
+hy T -3903
+- T -3903
+en T -3903
+em T -3903
+Y char173 -2925
+Y hy -2925
+Y - -2925
+Y en -2925
+Y em -2925
+p ' -486
+b ' -975
+V char173 -1950
+V hy -1950
+V - -1950
+V en -1950
+V em -1950
+h ' -486
+n ' -486
+m ' -486
+R ' -975
+W char173 -1461
+W hy -1461
+W - -1461
+W en -1461
+W em -1461
+' d -975
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1461
+A hy -1461
+A - -1461
+A en -1461
+A em -1461
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1461
+hy A -1461
+- A -1461
+en X -1461
+en A -1461
+em X -1461
+R char173 -975
+R hy -975
+R - -975
+R en -975
+R em -975
+v ' -486
+w ' -486
+E ' -486
+Z char173 -1461
+Z hy -1461
+Z - -1461
+Z en -1461
+Z em -1461
+B ' -486
+w char173 -486
+w hy -486
+w - -486
+w en -486
+w em -486
+charset
+! 6831,18717,390,2859,345,962 2 3617
+" 11220,18555,0,1827,-2346,962 2 3618
+sh 13173,17415,390,1542,33,962 0 3619
+# "
+Do 13173,19182,2292,1161,255,962 2 3620
+$ "
+% 21954,17805,582,0,-1386 0 3621
+& 18540,18555,390,1743,-672,962 2 3622
+' 6831,18555,0,2763,-1368,962 2 51751
+( 7806,20172,6930,4779,306,962 3 3624
+) 7806,20172,6930,822,4263,822 3 3625
+* 13173,18555,0,1908,-1731,962 2 3626
++ 21954,13467,87,0,-2871 0 3627
+, 6831,3381,4077,0,687 0 3628
+char173 6831,7575,0,882,558,882 0 3629
+hy "
+- "
+. 6831,3486,390,0,-270 0 3630
+sl 13173,18594,390,4080,1101,962 2 3631
+/ "
+0 13173,17805,390,1212,-213,962 0 3632
+1 13173,17805,150,279,-567,279 0 3633
+2 13173,17805,150,1017,1179,962 0 3634
+3 13173,17805,390,336,1731,336 0 3635
+4 13173,17805,0,1485,699,962 0 3636
+5 13173,17415,390,1881,-714,962 0 3637
+6 13173,17805,390,1575,111,962 0 3638
+7 13173,17415,390,2856,-1332,962 0 3639
+8 13173,17805,390,1428,21,962 0 3640
+9 13173,17805,390,1536,72,962 0 3641
+: 6831,12177,390,1032,-270,962 0 3642
+; 6831,12177,4077,1032,687,962 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 21954,9654,0,0,-2877 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 10245,18705,390,2250,-1023,962 2 3647
+at 21954,16950,4131,1743,1035,962 0 3648
+@ "
+A 19515,18555,195,15,1764,15 2 3649
+B 16587,18555,195,1047,1806,962 2 3650
+C 19515,18555,390,2028,-837,962 2 3651
+D 20490,18555,195,1566,1323,962 2 3652
+E 16587,18360,195,1848,1476,962 2 3653
+F 15126,18360,195,3372,1542,962 2 3654
+G 20979,18555,390,1476,-1074,962 2 3655
+H 21468,18360,195,3429,1671,962 2 3656
+I 10245,18360,195,3429,1542,962 2 3657
+J 9270,18360,6219,3918,4407,962 3 3658
+K 19029,18360,195,2877,1482,962 2 3659
+L 16587,18360,195,900,1431,900 2 3660
+M 22932,18360,195,2907,2571,962 2 3661
+N 20979,18360,195,3810,1401,962 2 3662
+O 21954,18555,390,1014,-807,962 2 3663
+P 16587,18555,195,1896,1236,962 2 3664
+Q 21954,18555,6639,1014,-807,962 3 3665
+R 19515,18555,195,63,1344,63 2 3666
+S 13173,18555,390,2022,732,962 2 3667
+T 18051,19425,195,4188,-1452,962 2 3668
+U 21468,18360,390,3498,-1761,962 2 3669
+V 19515,18360,390,3597,-1551,962 2 3670
+W 26346,18360,390,4203,-1437,962 2 3671
+X 19029,18360,195,3300,1851,962 2 3672
+Y 19515,18360,195,3228,-2169,962 2 3673
+Z 17565,19425,195,1575,285,962 2 3674
+lB 7806,18165,4614,4290,2805,962 0 3675
+[ "
+rs 13173,18717,390,0,-2868 2 3676
+\ "
+rB 7806,18165,4614,3402,3693,962 0 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,962 3 3679
+oq 6831,18555,0,3195,-1800,962 2 51808
+` "
+a 13662,13143,390,1143,663,962 0 3681
+b 14637,20250,390,714,351,714 2 3682
+c 11220,12420,390,1695,438,962 0 3683
+d 14637,20250,390,2610,417,962 2 3684
+e 11220,12420,390,1365,429,962 0 3685
+f 7806,20250,6705,5985,4074,962 3 3686
+g 12684,12420,6705,2031,2331,962 1 3687
+h 14637,20250,390,555,657,555 2 3688
+i 8295,18765,390,1344,498,962 2 3689
+j 7806,18765,6705,2169,3789,962 3 3690
+k 14148,20250,390,858,426,858 2 3691
+l 7806,20250,390,2595,252,962 2 3692
+m 21468,12420,390,291,255,291 0 3693
+n 14637,12420,390,486,57,486 0 3694
+o 12684,12420,390,459,339,459 0 3695
+p 14637,13893,6735,639,3318,639 1 3696
+q 14148,12420,6900,1143,501,962 1 3697
+r 10245,12420,0,2187,390,962 0 3698
+s 8781,12420,390,873,903,873 0 3699
+t 8295,14937,390,2001,312,962 0 3700
+u 14148,12420,390,813,111,813 0 3701
+v 15126,12420,390,759,324,759 0 3702
+w 20490,12420,390,1065,462,962 0 3703
+x 12684,12420,390,1731,1635,962 0 3704
+y 13173,12420,6705,1029,1767,962 1 3705
+z 11220,12885,195,2064,2046,962 0 3706
+lC 13173,19935,6210,3339,-972,962 2 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 13173,19935,6210,63,2304,63 2 3709
+} "
+ti 26346,9435,0,0,-4029 0 51876
+char192 19515,24843,195,15,1764,15 2 3776
+`A "
+char194 19515,25182,195,15,1764,15 2 3778
+^A "
+char200 16587,24843,195,1848,1476,962 2 3784
+`E "
+char202 16587,25182,195,1848,1476,962 2 3786
+^E "
+char203 16587,23439,195,1848,1476,962 2 3787
+:E "
+char206 10245,25182,195,4377,1542,962 2 3790
+^I "
+char207 10245,23439,195,3792,1542,962 2 3791
+:I "
+char180 13173,19668,0,1317,-6054,962 2 3764
+aa "
+ga 13173,19668,0,0,-2961 2 3680
+a^ 13173,20514,0,285,-3393,285 2 3678
+^ "
+char168 13173,18057,0,1161,-3669,962 0 3752
+ad "
+a~ 13173,18468,0,1074,-3600,962 2 3710
+~ "
+char217 21468,24843,390,3498,-1761,962 2 3801
+`U "
+char219 21468,25182,390,3498,-1761,962 2 3803
+^U "
+char221 19515,24843,195,3228,-2169,962 2 3805
+'Y "
+char253 13173,19668,6705,1317,1767,962 3 3837
+'y "
+char176 13173,17415,0,600,-1974,600 0 3760
+de "
+char199 19515,18555,6060,2028,-837,962 2 3783
+,C "
+char231 11220,12420,4776,1695,438,962 0 3815
+,c "
+char209 20979,24255,195,3810,1401,962 2 3793
+~N "
+char241 14637,18468,390,486,57,486 2 3825
+~n "
+char161 6831,12411,6696,834,2370,834 1 3745
+r! "
+char191 10245,12405,6690,0,1686 1 3775
+r? "
+char164 13173,15834,0,2349,1044,962 0 3748
+Cs "
+char163 13173,17262,390,951,1173,951 0 3747
+Po "
+char165 13173,18090,150,3885,-1269,962 0 3749
+Ye "
+char167 13173,18555,6705,525,-69,525 3 3751
+sc "
+Fn 13173,20250,6705,3279,1419,962 3 51871
+char162 13173,17613,417,1263,-1290,962 0 3746
+ct "
+char226 13662,20514,390,1143,663,962 2 3810
+^a "
+char234 11220,20514,390,1365,429,962 2 3818
+^e "
+char244 12684,20514,390,531,339,531 2 3828
+^o "
+char251 14148,20514,390,813,111,813 2 3835
+^u "
+char225 13662,19668,390,1143,663,962 2 3809
+'a "
+char233 11220,19668,390,2295,429,962 2 3817
+'e "
+char243 12684,19668,390,1563,339,962 2 3827
+'o "
+char250 14148,19668,390,831,111,831 2 3834
+'u "
+char224 13662,19668,390,1143,663,962 2 3808
+`a "
+char232 11220,19668,390,1365,429,962 2 3816
+`e "
+char242 12684,19668,390,459,339,459 2 3826
+`o "
+char249 14148,19668,390,813,111,813 2 3833
+`u "
+char228 13662,18057,390,1143,663,962 0 3812
+:a "
+char235 11220,18057,390,2139,429,962 0 3819
+:e "
+char246 12684,18057,390,1407,339,962 0 3830
+:o "
+char252 14148,18057,390,813,111,813 0 3836
+:u "
+char197 19515,24900,195,15,1764,15 2 3781
+oA "
+char238 8295,20514,390,2724,459,962 2 3822
+^i "
+char216 21954,18555,390,1125,-696,962 2 3800
+/O "
+char198 25857,18360,195,870,2910,870 2 3782
+AE "
+char229 13662,18861,390,1377,663,962 2 3813
+oa "
+char237 8295,19668,390,3756,459,962 2 3821
+'i "
+char248 12684,12420,390,552,444,552 0 3832
+/o "
+char230 18540,13047,390,1296,477,962 0 3814
+ae "
+char196 19515,23439,195,15,1764,15 2 3780
+:A "
+char236 8295,19668,390,663,459,663 2 3820
+`i "
+char214 21954,23439,390,1014,-807,962 2 3798
+:O "
+char220 21468,23439,390,3498,-1761,962 2 3804
+:U "
+char201 16587,24843,195,1848,1476,962 2 3785
+'E "
+char239 8295,18057,390,3600,459,962 0 3823
+:i "
+char223 14148,20250,6705,2916,4902,962 3 3807
+ss "
+char212 21954,25182,390,1014,-807,962 2 3796
+^O "
+char193 19515,24843,195,15,1764,15 2 3777
+'A "
+char195 19515,24255,195,648,1764,648 2 3779
+~A "
+char227 13662,18468,390,1143,663,962 2 3811
+~a "
+char208 20490,18555,342,1557,1314,962 2 3792
+-D "
+char240 12684,20250,390,600,339,600 2 3824
+Sd "
+char205 10245,24843,195,3540,1542,962 2 3789
+'I "
+char204 10245,24843,195,3429,1542,962 2 3788
+`I "
+char211 21954,24843,390,1014,-807,962 2 3795
+'O "
+char210 21954,24843,390,1014,-807,962 2 3794
+`O "
+char213 21954,24255,390,1014,-807,962 2 3797
+~O "
+char245 12684,18468,390,1320,339,962 2 3829
+~o "
+vS 13173,24657,390,3903,732,962 2 51795
+vs 8781,20526,390,4242,903,962 2 51827
+char218 21468,24843,390,3498,-1761,962 2 3802
+'U "
+:Y 19515,23439,195,3228,-2169,962 2 51801
+char255 13173,18057,6705,1161,1767,962 1 3839
+:y "
+char222 16587,18360,195,846,1221,846 2 3806
+TP "
+char254 14637,20250,6900,663,3342,663 3 3838
+Tp "
+char181 14637,10800,5193,582,756,582 0 3765
+char182 13173,19635,4200,1032,-690,962 2 3766
+ps "
+char190 21954,17805,180,0,-627 0 3774
+34 "
+\- 21954,7755,0,0,-2892 0 51757
+char188 21954,17625,180,0,-1242 0 3772
+14 "
+char189 21954,17625,180,0,-1317 0 3773
+12 "
+char170 11220,17805,0,1833,-1338,962 0 3754
+Of "
+char186 11220,17805,0,1218,-1776,962 0 3770
+Om "
+char171 11220,9906,0,837,609,837 0 3755
+Fo "
+char187 11220,9906,0,435,1011,435 0 3771
+Fc "
+char177 21954,13467,3354,0,-2865 0 3761
+char166 13173,19083,5916,0,-4596 2 3750
+bb "
+char169 13173,19725,0,5022,-3198,962 2 3753
+co "
+char172 21954,10560,0,0,-2565 0 3756
+no "
+char174 13173,19725,0,5022,-3198,962 2 3758
+rg "
+char178 8781,17805,0,2001,-606,962 0 3762
+S2 "
+char179 8781,17805,0,1881,-387,962 0 3763
+S3 "
+char184 13173,657,4776,0,-1791 0 3768
+ac "
+char185 8781,17625,0,1389,-1590,962 0 3769
+S1 "
+char215 21954,13530,192,0,-2934 0 3799
+char247 21954,13383,3,0,-2886 0 3831
+char183 6831,10533,0,336,-1116,336 0 3767
+fm 13173,17415,0,0,-1461 0 51873
+sd 13173,17415,0,1680,-1461,962 0 51874
+dg 13173,18555,6657,1035,186,962 3 51755
+tm 16101,17550,0,5508,-3159,962 0 51796
+ah 13173,20526,0,2367,-5475,962 2 51935
+ao 13173,18861,0,285,-5313,285 2 51930
+f/ 2928,17625,180,8301,6948,962 0 51759
+em 21954,7185,0,666,-45,666 0 51789
+en 13173,7185,0,537,-72,537 0 51790
+dd 13173,18555,4989,990,243,962 2 51773
+.i 8295,12420,390,288,459,288 0 51957
+aq 6831,18555,0,2289,-2826,962 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 19515,24843,390,2028,-837,962 2 20166
+'c 11220,19668,390,1995,438,962 2 20198
+lq 11220,18555,0,4245,-1419,962 2 51838
+rq 11220,18555,0,3423,-597,962 2 51746
+Bq 11220,3456,4002,0,3399 0 51772
+vz 11220,20526,195,3345,2046,962 2 51834
+fi 14637,20250,6705,1566,3645,962 3 51881
+fl 14637,20250,6705,2934,3735,962 3 51882
+ff 14637,20250,6705,5373,3861,962 3 51883
+Fi 21468,20250,6705,1701,3675,962 3 51884
+Fl 21468,20250,6705,2832,3765,962 3 51885
+ij 14637,18765,6705,2169,498,962 3 51958
+bq 6831,3456,4002,0,2925 0 51756
+%0 30249,17805,450,0,-1386 0 51901
+char175 13173,16974,0,438,-4107,438 0 3759
+a- "
+ab 13173,17325,0,1386,-5277,962 0 51926
+a. 13173,18057,0,0,-6510 0 51927
+oe 19029,12420,390,1338,357,962 0 51823
+OE 27321,18555,390,1932,-528,962 2 51791
+fo 6831,9906,0,999,792,962 0 51886
+fc 6831,9906,0,423,1368,423 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 16587,18360,195,900,1431,900 2 51944
+/l 7806,20250,390,2580,444,962 2 51960
+a" 13173,19830,0,3630,-3816,962 2 51933
+ho 13173,711,4791,0,-4011 0 51934
+vZ 17565,24657,195,1707,285,962 2 51802
+IJ 19515,18360,6219,3918,1542,962 3 51942
diff --git a/devlj4/GI b/devlj4/GI
new file mode 100644
index 000000000..d8bb19d21
--- /dev/null
+++ b/devlj4/GI
@@ -0,0 +1,669 @@
+name GI
+spacewidth 6342
+slant 16.400000
+pcltypeface 4197
+pclproportional 1
+pclweight 0
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -3903
+P . -4389
+P , -4389
+V A -3414
+A V -3414
+T o -4878
+T r -3414
+T c -4389
+T e -4389
+T d -4389
+T s -3414
+T y -4389
+T a -3903
+T w -4389
+T u -3414
+L T -3903
+L Y -3414
+Y o -3903
+Y e -3903
+Y a -3903
+A W -3414
+W A -3414
+T A -3414
+V o -2925
+V e -2925
+V a -2925
+Y A -3414
+F A -2439
+F . -3903
+F , -3903
+A T -3414
+A Y -3414
+v . -1461
+v , -1461
+y . -975
+y , -975
+T . -3414
+T , -3414
+L W -3414
+P A -2925
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -2925
+W e -2925
+W a -2925
+W . -3903
+W , -3903
+r . -1950
+r , -1950
+w . -1461
+w , -1461
+Y u -2439
+A v -1950
+A y -1950
+A w -1950
+o . -1461
+o , -1461
+p . -975
+p , -975
+b . -1950
+b , -1950
+O T -1950
+O V -1950
+O Y -1950
+O . -975
+O , -975
+V y -1461
+V u -1461
+V O -975
+V G -975
+V C -975
+V Q -975
+D T -1950
+D V -1950
+D Y -1950
+D . -975
+D , -975
+Y O -975
+Y G -975
+Y C -975
+Y Q -975
+F o -1461
+F e -975
+F a -975
+O A -975
+O W -1950
+R T -2925
+R V -2925
+R Y -2925
+R W -2925
+G T -975
+P o -1461
+P e -1461
+P a -1461
+D A -975
+D W -1950
+B T -975
+B Y -975
+B . -975
+B , -975
+A O -1950
+A G -1950
+A C -1950
+A U -1950
+A Q -1950
+W r -1461
+W y -1461
+W u -1461
+W O -975
+W G -975
+W C -975
+W Q -975
+U A -975
+U . -975
+U , -975
+Q A -975
+Q W -1950
+T O -975
+T G -975
+T C -975
+T Q -975
+O X -975
+L o -486
+G V -975
+G Y -975
+G W -975
+P T -975
+P V -975
+P Y -975
+D X -975
+B V -975
+B X -975
+B A -975
+B W -975
+F r -486
+F y -486
+F u -486
+F O -486
+F G -486
+F C -486
+F Q -486
+X o -1461
+X e -1461
+X y -1461
+X O -975
+X G -975
+X C -975
+X Q -975
+A o -1461
+A e -1461
+Q X -975
+K o -1461
+K e -975
+K y -975
+K w -975
+K O -975
+K G -975
+K C -975
+K Q -975
+o v -486
+o y -486
+o x -486
+o w -486
+v o -486
+y o -486
+x o -975
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+w o -486
+R o -1461
+R y -1461
+R O -1461
+R G -1461
+R C -1461
+R U -1461
+R Q -1461
+P Z -975
+P X -975
+P W -975
+X a -486
+A t -975
+A g -486
+A c -1461
+A d -975
+A a -486
+A q -486
+K c -975
+o f -486
+h . -486
+h , -486
+n . -486
+n , -486
+m . -486
+m , -486
+r o -975
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+f o -486
+k o -486
+O Z -975
+R e -1461
+R a -486
+G Z -975
+E o -486
+Z o -975
+Z e -486
+Z d -486
+Z y -486
+Z a -486
+Z w -486
+Z O -486
+Z G -486
+Z C -486
+Z Q -486
+D Z -975
+B Z -975
+J o -486
+K a -486
+t o -486
+o t -486
+o g -486
+o z -486
+o j -486
+g o -486
+z o -486
+C o -486
+E T -486
+E V -486
+E Z -486
+E Y -486
+E W -486
+B o -486
+U o -486
+L ' -4878
+T char173 -4389
+T hy -4389
+T - -4389
+T en -4389
+T em -4389
+A ' -2439
+char173 T -3414
+hy T -3414
+- T -3414
+en T -3414
+em T -3414
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -486
+b ' -975
+V char173 -1461
+V hy -1461
+V - -1461
+V en -1461
+V em -1461
+h ' -486
+n ' -486
+m ' -486
+R ' -1950
+W char173 -1461
+W hy -1461
+W - -1461
+W en -1461
+W em -1461
+' d -975
+F char173 -486
+F hy -486
+F - -486
+F en -486
+F em -486
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1950
+A hy -1950
+A - -1950
+A en -1950
+A em -1950
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1461
+hy A -1461
+- A -1461
+en X -1461
+en A -1461
+em X -1461
+R char173 -1461
+R hy -1461
+R - -1461
+R en -1461
+R em -1461
+v ' -486
+w ' -486
+E ' -486
+Z ' -975
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+B ' -486
+charset
+! 6342,18648,390,2823,786,910 2 3617
+" 11220,18555,0,2325,-3858,910 2 3618
+sh 12684,17805,390,1377,-72,910 0 3619
+# "
+Do 12684,19380,2415,1467,-54,910 2 3620
+$ "
+% 20490,17805,180,252,-1311,252 0 3621
+& 18051,18555,390,1461,9,910 2 3622
+' 6342,18555,0,2622,-1662,910 2 51751
+( 6342,20283,6705,5652,855,910 3 3624
+) 6342,20283,6705,1701,4806,910 3 3625
+* 12684,18555,0,2358,-2589,910 2 3626
++ 20490,13191,261,0,-2496 0 3627
+, 6342,3300,3891,0,1584 0 3628
+char173 6342,6960,0,438,183,438 0 3629
+hy "
+- "
+. 6342,2985,390,0,861 0 3630
+sl 13173,20250,225,4644,1500,910 2 3631
+/ "
+0 12684,17805,390,1482,-354,910 0 3632
+1 12684,17415,150,0,-843 0 3633
+2 12684,17805,0,633,216,633 0 3634
+3 12684,17805,390,588,1335,588 0 3635
+4 12684,17805,0,1158,18,910 0 3636
+5 12684,17415,390,780,-183,780 0 3637
+6 12684,17805,390,2220,-102,910 0 3638
+7 12684,17415,390,2988,-888,910 0 3639
+8 12684,17805,390,1620,-105,910 0 3640
+9 12684,17805,390,1731,-126,910 0 3641
+: 6342,11586,390,1044,861,910 0 3642
+; 6342,11586,3891,1251,1584,910 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 20490,8883,0,0,-2688 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 9270,18648,390,2514,-396,910 2 3647
+at 20619,16980,3654,2277,1044,910 0 3648
+@ "
+A 18540,18555,150,0,2757 2 3649
+B 15126,18555,150,1614,1335,910 2 3650
+C 18540,18555,390,2820,-795,910 2 3651
+D 20004,18555,150,1380,1872,910 2 3652
+E 15612,18315,150,1824,1827,910 2 3653
+F 13173,18315,150,3717,1683,910 2 3654
+G 20490,18555,390,1182,-873,910 2 3655
+H 20490,18315,150,3783,1785,910 2 3656
+I 8781,18315,150,3582,1641,910 2 3657
+J 8295,18315,5814,3522,4017,910 2 3658
+K 18051,18315,150,2922,1755,910 2 3659
+L 15612,18315,150,345,1536,345 2 3660
+M 20490,18315,150,3192,2418,910 2 3661
+N 19515,18315,150,3774,1101,910 2 3662
+O 20979,18555,390,1308,-624,910 2 3663
+P 14637,18555,150,2430,1737,910 2 3664
+Q 20979,18555,6027,1248,-684,910 2 3665
+R 18051,18555,150,0,1965 2 3666
+S 12198,18555,390,1974,759,910 2 3667
+T 16101,19185,150,4656,-1578,910 2 3668
+U 20004,18315,390,3312,-1641,910 2 3669
+V 19029,18315,390,5280,-2376,910 2 3670
+W 25371,18315,390,5025,-2190,910 2 3671
+X 18540,18315,150,3168,1833,910 2 3672
+Y 17565,18315,150,5103,-1386,910 2 3673
+Z 16587,19557,0,1626,78,910 2 3674
+lB 6342,18165,5160,4749,3360,910 0 3675
+[ "
+rs 13173,20250,225,0,-3234 2 3676
+\ "
+rB 6342,18165,5160,3387,4722,910 0 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,910 3 3679
+oq 6342,18555,0,3606,-2646,910 2 51808
+` "
+a 12198,11670,390,687,1335,687 0 3681
+b 12684,20253,390,1776,216,910 2 3682
+c 9759,11670,390,1668,495,910 0 3683
+d 13173,20250,390,2223,915,910 2 3684
+e 9759,11670,390,1515,687,910 0 3685
+f 7317,20250,6705,6675,5391,910 3 3686
+g 11220,11670,6705,1806,1908,910 1 3687
+h 12684,20250,390,801,1086,801 2 3688
+i 7806,18495,390,1020,24,910 2 3689
+j 6342,18495,6705,2055,4209,910 3 3690
+k 13173,20250,390,657,957,657 2 3691
+l 7317,20250,390,1938,606,910 2 3692
+m 21468,11670,390,345,342,345 0 3693
+n 14637,11670,390,513,309,513 0 3694
+o 12198,11670,390,423,288,423 0 3695
+p 12198,13440,6855,963,3558,910 1 3696
+q 12684,11670,6855,1458,1005,910 1 3697
+r 10245,11670,0,2121,417,910 0 3698
+s 7806,11670,390,1242,1449,910 0 3699
+t 8295,13944,390,1638,75,910 0 3700
+u 13662,11670,390,576,381,576 0 3701
+v 13662,11670,390,1317,423,910 0 3702
+w 19029,11670,390,1209,393,910 0 3703
+x 12198,11670,390,936,1476,910 0 3704
+y 11709,11670,6705,867,2037,867 1 3705
+z 11220,12315,0,1359,1530,910 0 3706
+lC 11709,19935,6210,3360,-1692,910 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 11709,19935,6210,0,2232 3 3709
+} "
+ti 26346,8952,0,0,-4029 0 51876
+char192 18540,24930,150,0,2757 2 3776
+`A "
+char194 18540,24915,150,438,2757,438 2 3778
+^A "
+char200 15612,24930,150,1824,1827,910 2 3784
+`E "
+char202 15612,24915,150,1824,1827,910 2 3786
+^E "
+char203 15612,22620,150,1824,1827,910 2 3787
+:E "
+char206 8781,24915,150,4425,1641,910 2 3790
+^I "
+char207 8781,22620,150,4899,1641,910 2 3791
+:I "
+char180 12684,19590,0,1218,-5838,910 2 3764
+aa "
+ga 12684,19590,0,0,-3147 2 3680
+a^ 12684,19614,0,210,-3726,210 2 3678
+^ "
+char168 12684,17394,0,153,-3873,153 0 3752
+ad "
+a~ 12684,17481,0,1239,-3270,910 0 3710
+~ "
+char217 20004,24930,390,3312,-1641,910 2 3801
+`U "
+char219 20004,24915,390,3312,-1641,910 2 3803
+^U "
+char221 17565,24930,150,5103,-1386,910 2 3805
+'Y "
+char253 11709,19590,6705,2106,2037,910 3 3837
+'y "
+char176 12684,17805,0,828,-2298,828 0 3760
+de "
+char199 18540,18555,6018,2820,-795,910 2 3783
+,C "
+char231 9759,11670,4770,1668,516,910 0 3815
+,c "
+char209 19515,23727,150,3774,1101,910 2 3793
+~N "
+char241 14637,17481,390,513,309,513 0 3825
+~n "
+char161 6831,12000,7038,1113,2007,910 1 3745
+r! "
+char191 9270,12000,7038,0,2256 1 3775
+r? "
+char164 12684,15684,0,2205,291,910 0 3748
+Cs "
+char163 12684,17805,390,1413,1200,910 0 3747
+Po "
+char165 12684,18315,150,4137,-486,910 2 3749
+Ye "
+char167 12684,18555,5250,0,66 2 3751
+sc "
+Fn 12684,20250,6705,3483,3216,910 3 51871
+char162 12684,17568,186,795,-1197,795 0 3746
+ct "
+char226 12198,19614,390,687,1335,687 2 3810
+^a "
+char234 9759,19614,390,1671,687,910 2 3818
+^e "
+char244 12198,19614,390,453,288,453 2 3828
+^o "
+char251 13662,19614,390,576,381,576 2 3835
+^u "
+char225 12198,19590,390,1863,1335,910 2 3809
+'a "
+char233 9759,19590,390,3081,687,910 2 3817
+'e "
+char243 12198,19590,390,1863,288,910 2 3827
+'o "
+char250 13662,19590,390,1131,381,910 2 3834
+'u "
+char224 12198,19590,390,687,1335,687 2 3808
+`a "
+char232 9759,19590,390,1515,687,910 2 3816
+`e "
+char242 12198,19590,390,423,288,423 2 3826
+`o "
+char249 13662,19590,390,576,381,576 2 3833
+`u "
+char228 12198,17394,390,891,1335,891 0 3812
+:a "
+char235 9759,17394,390,2109,687,910 0 3819
+:e "
+char246 12198,17394,390,891,288,891 0 3830
+:o "
+char252 13662,17394,390,576,381,576 0 3836
+:u "
+char197 18540,24681,150,150,2757,150 2 3781
+oA "
+char238 7806,19614,390,2649,24,910 2 3822
+^i "
+char216 20979,18555,390,2475,1140,910 2 3800
+/O "
+char198 25371,18315,150,1821,2859,910 2 3782
+AE "
+char229 12198,19566,390,1257,1335,910 2 3813
+oa "
+char237 7806,19590,390,4059,24,910 2 3821
+'i "
+char248 12198,11670,390,2388,2475,910 0 3832
+/o "
+char230 16587,11670,390,1551,1377,910 0 3814
+ae "
+char196 18540,22620,150,1191,2757,910 2 3780
+:A "
+char236 7806,19590,390,966,24,910 2 3820
+`i "
+char214 20979,22620,390,1308,-624,910 2 3798
+:O "
+char220 20004,22620,390,3312,-1641,910 2 3804
+:U "
+char201 15612,24930,150,1824,1827,910 2 3785
+'E "
+char239 7806,17394,390,2562,24,910 0 3823
+:i "
+char223 13173,20250,6705,3594,6294,910 3 3807
+ss "
+char212 20979,24915,390,1308,-624,910 2 3796
+^O "
+char193 18540,24930,150,1083,2757,910 2 3777
+'A "
+char195 18540,23727,150,2175,2757,910 2 3779
+~A "
+char227 12198,17481,390,1482,1335,910 0 3811
+~a "
+char208 20004,18555,150,1380,1872,910 2 3792
+-D "
+char240 12198,20199,327,540,288,540 2 3824
+Sd "
+char205 8781,24930,150,5073,1641,910 2 3789
+'I "
+char204 8781,24930,150,3582,1641,910 2 3788
+`I "
+char211 20979,24930,390,1308,-624,910 2 3795
+'O "
+char210 20979,24930,390,1308,-624,910 2 3794
+`O "
+char213 20979,23727,390,1308,-624,910 2 3797
+~O "
+char245 12198,17481,390,1482,288,910 0 3829
+~o "
+vS 12198,24969,390,2829,759,910 2 51795
+vs 7806,19863,390,4191,1449,910 2 51827
+char218 20004,24930,390,3312,-1641,910 2 3802
+'U "
+:Y 17565,22620,150,5103,-1386,910 2 51801
+char255 11709,17394,6705,1134,2037,910 1 3839
+:y "
+char222 14637,18315,150,1383,1722,910 2 3806
+TP "
+char254 12198,20250,6855,963,3561,910 3 3838
+Tp "
+char181 14637,10800,5595,612,585,612 0 3765
+char182 12684,19635,4200,1812,-981,910 2 3766
+ps "
+char190 20490,17805,390,0,-1074 0 3774
+34 "
+\- 20490,7305,0,0,-2532 0 51757
+char188 20490,17625,390,0,-1143 0 3772
+14 "
+char189 20490,17625,390,33,-204,33 0 3773
+12 "
+char170 11709,17805,0,1590,-1725,910 0 3754
+Of "
+char186 11709,17805,0,936,-1989,910 0 3770
+Om "
+char171 10734,9945,0,759,-9,759 0 3755
+Fo "
+char187 10734,9945,0,204,546,204 0 3771
+Fc "
+char177 20490,13191,3105,0,-2502 0 3761
+char166 13173,19083,5916,0,-4596 2 3750
+bb "
+char169 13173,19725,0,5526,-3702,910 2 3753
+co "
+char172 20490,10029,0,0,-2055 0 3756
+no "
+char174 13173,19725,0,5526,-3702,910 2 3758
+rg "
+char178 8781,17805,0,1725,-690,910 0 3762
+S2 "
+char179 8781,17805,0,1746,-273,910 0 3763
+S3 "
+char184 12684,0,4770,0,-948 0 3768
+ac "
+char185 8781,17625,0,1257,-1230,910 0 3769
+S1 "
+char215 20490,12969,189,0,-2793 0 3799
+char247 20490,12966,36,0,-2424 0 3831
+char183 6342,10350,0,534,-1212,534 0 3767
+fm 12684,17805,0,0,-2970 0 51873
+sd 12684,17805,0,0,-1374 0 51874
+dg 12684,18555,5250,2079,-741,910 2 51755
+tm 16101,17550,0,6012,-3663,910 0 51796
+ah 12684,19863,0,1152,-4668,910 2 51935
+ao 12684,19566,0,570,-4965,570 2 51930
+f/ 2928,17415,390,8091,6480,910 0 51759
+em 20490,6960,0,651,420,651 0 51789
+en 12684,6960,0,756,357,756 0 51790
+dd 12684,18555,5250,1128,210,910 2 51773
+.i 7806,11670,390,657,24,657 0 51957
+aq 7317,18555,0,2418,-3858,910 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 18540,24930,390,2820,-795,910 2 20166
+'c 9759,19590,390,3231,495,910 2 20198
+lq 10734,18555,0,3054,-1956,910 2 51838
+rq 10734,18555,0,2940,-1842,910 2 51746
+Bq 10734,2013,4437,0,2022 0 51772
+vz 11220,19863,0,2484,1530,910 2 51834
+fi 13173,20250,6705,1812,5289,910 3 51881
+fl 14148,20250,6705,1464,5172,910 3 51882
+ff 13662,20250,6705,6495,5286,910 3 51883
+Fi 19029,20250,6705,1914,5388,910 3 51884
+Fl 19515,20601,6705,2037,5289,910 3 51885
+ij 14148,18495,6705,2055,24,910 3 51958
+bq 6342,2013,4437,0,1680 0 51756
+%0 29760,17805,207,378,-1368,378 0 51901
+char175 12684,17328,0,609,-3933,609 0 3759
+a- "
+ab 12684,18054,0,918,-4341,910 0 51926
+a. 12684,17034,0,0,-6228 0 51927
+oe 18051,11670,390,1527,288,910 0 51823
+OE 27321,18555,390,1800,-636,910 2 51791
+fo 7806,9945,0,780,-672,780 0 51886
+fc 7806,9945,0,0,147 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 15612,18315,150,345,1536,345 2 51944
+/l 7317,20250,390,2265,660,910 2 51960
+a" 12684,19590,0,3705,-4452,910 2 51933
+ho 12684,420,4155,0,-3069 0 51934
+vZ 16587,24969,0,1626,78,910 2 51802
+IJ 17076,18315,5814,3522,1641,910 2 51942
diff --git a/devlj4/GR b/devlj4/GR
new file mode 100644
index 000000000..448d19a95
--- /dev/null
+++ b/devlj4/GR
@@ -0,0 +1,853 @@
+name GR
+spacewidth 6831
+pcltypeface 4197
+pclproportional 1
+pclweight 0
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -3414
+P . -4389
+P , -4389
+V A -4389
+A V -4389
+T o -3903
+T r -2439
+T c -3414
+T e -3414
+T d -3414
+T s -2439
+T y -4389
+T a -2439
+T w -4389
+T u -3414
+L T -2925
+L Y -2925
+Y o -4389
+Y e -3903
+Y a -2925
+A W -4389
+W A -4389
+T A -2439
+V o -3414
+V e -3414
+V a -2925
+Y A -2925
+F A -2925
+F . -3903
+F , -3903
+A T -2925
+A Y -2925
+v . -2439
+v , -2439
+y . -2925
+y , -2925
+T . -2439
+T , -2439
+L W -3414
+P A -2925
+V . -3903
+V , -3903
+Y . -2925
+Y , -2925
+W o -3414
+W e -3414
+W a -2925
+W . -3903
+W , -3903
+r . -1461
+r , -1461
+w . -2925
+w , -2925
+Y u -3414
+A v -2439
+A y -2439
+A w -2925
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -486
+e , -486
+b . -1461
+b , -1461
+O T -1950
+O V -1950
+O Y -1950
+O . -1950
+O , -1950
+L y -2439
+L O -1950
+L G -1950
+L C -1950
+L Q -1950
+P J -975
+V y -1950
+V u -1950
+V O -1950
+V G -1950
+V C -1950
+V Q -1950
+D T -1950
+D V -1950
+D Y -1950
+D . -1950
+D , -1950
+Y O -1950
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -1461
+F e -1461
+F a -975
+c . -486
+c , -486
+O A -1461
+O W -1950
+L U -1950
+R T -2925
+R V -2925
+R Y -2925
+R W -2925
+G T -486
+P o -1461
+P g -975
+P e -1461
+P a -975
+D A -1461
+D W -1950
+B T -1461
+B Y -1461
+B . -1461
+B , -1461
+A O -1461
+A G -1461
+A C -1461
+A U -1950
+A Q -1461
+W r -1950
+W y -1950
+W u -1950
+W O -1950
+W G -1950
+W C -1950
+W Q -1950
+J A -486
+J . -486
+J , -486
+U A -1950
+U . -1950
+U , -1950
+Q A -1461
+Q W -1950
+T O -1950
+T G -1950
+T C -1950
+T Q -1950
+O X -1461
+L o -1461
+L e -975
+L q -1461
+G V -486
+G Y -486
+G W -486
+P T -975
+P V -975
+P Y -975
+D X -1461
+B V -1461
+B X -1461
+B A -1461
+B W -1461
+S . -975
+S , -975
+X o -1461
+X e -975
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1461
+A e -975
+Q X -1461
+K o -1461
+K e -975
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -1461
+o y -1461
+o x -1461
+o w -1461
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+r g -975
+p v -975
+p y -975
+p x -975
+v o -1461
+v g -975
+v c -975
+v d -975
+v a -975
+v q -975
+e v -486
+e y -486
+b v -975
+b y -975
+b w -1461
+s . -486
+s , -486
+y o -1461
+y g -975
+y c -1461
+y d -1461
+y a -975
+y q -1461
+x o -1461
+x c -975
+x e -975
+x d -975
+x q -975
+a v -486
+a y -486
+a w -486
+w o -1461
+w g -975
+w c -1461
+w d -1461
+w a -975
+w q -1461
+T S -975
+R o -1461
+R y -1950
+R O -1950
+R G -1950
+R C -1950
+R U -1950
+R Q -1950
+P s -486
+P Z -975
+P X -975
+P W -975
+V S -975
+S A -975
+Y S -975
+X u -975
+A t -975
+A c -975
+A d -975
+A u -975
+A q -1461
+W S -975
+J y -486
+K c -975
+K u -975
+o f -486
+h w -975
+n w -975
+m w -975
+r o -1461
+r c -975
+r e -975
+r d -975
+r a -975
+r q -975
+p w -975
+v e -975
+v s -486
+e x -486
+e w -486
+y e -1461
+y s -486
+f o -1461
+f c -975
+f e -975
+f d -975
+f q -975
+w e -1461
+w s -486
+k o -1461
+k c -975
+k e -975
+k d -975
+k q -975
+O Z -975
+O J -975
+L J -975
+R e -975
+R u -975
+P H -486
+P N -486
+P M -486
+P L -486
+P R -486
+P I -486
+P P -486
+P E -486
+P D -486
+P B -486
+P F -486
+P U -486
+P K -486
+E t -486
+E o -975
+E c -486
+E v -486
+E e -486
+E d -486
+E y -486
+E w -486
+E u -486
+E q -486
+E O -486
+E G -486
+E C -486
+E J -486
+E Q -486
+Z o -1461
+Z e -975
+Z d -975
+Z y -975
+Z w -975
+Z u -975
+Z O -975
+Z G -975
+Z C -975
+Z Q -975
+D Z -975
+D J -975
+B Z -975
+B J -975
+A J -975
+J o -975
+J e -486
+J a -486
+J u -486
+J O -486
+J G -486
+J C -486
+J S -486
+J Q -486
+U g -486
+K J -486
+t o -1461
+t c -975
+t e -975
+t d -975
+t q -975
+o t -486
+o g -486
+o z -975
+o j -486
+r s -486
+g o -975
+g c -486
+g e -486
+g d -486
+g q -486
+p z -486
+e z -486
+z o -975
+z c -486
+z e -486
+z d -486
+z q -486
+b z -486
+R J -975
+G J -486
+C o -486
+C y -975
+E T -486
+E V -486
+E Y -486
+E W -486
+E U -486
+B o -486
+B y -486
+B a -486
+B H -486
+B N -486
+B M -486
+B L -486
+B R -486
+B I -486
+B P -486
+B E -486
+B D -486
+B B -486
+B F -486
+B U -486
+B K -486
+U t -486
+U o -975
+U n -486
+U m -486
+U r -486
+U p -486
+U c -486
+U v -486
+U e -486
+U z -486
+U d -486
+U s -975
+U y -486
+U f -486
+U x -486
+U a -975
+U w -486
+U q -486
+U O -486
+U G -486
+U C -486
+U S -486
+U Q -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -3414
+T char173 -4389
+T hy -4389
+T - -4389
+T en -4389
+T em -4389
+A ' -2925
+char173 T -4389
+hy T -4389
+- T -4389
+en T -4389
+em T -4389
+Y char173 -3414
+Y hy -3414
+Y - -3414
+Y en -3414
+Y em -3414
+p ' -975
+e ' -486
+b ' -1461
+a ' -486
+V char173 -1950
+V hy -1950
+V - -1950
+V en -1950
+V em -1950
+h ' -975
+n ' -975
+m ' -975
+R ' -1950
+W char173 -1950
+W hy -1950
+W - -1950
+W en -1950
+W em -1950
+' d -1461
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1461
+A hy -1461
+A - -1461
+A en -1461
+A em -1461
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -486
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1461
+hy A -1461
+- A -1461
+en X -1461
+en A -1461
+em X -1461
+R char173 -1950
+R hy -1950
+R - -1950
+R en -1950
+R em -1950
+K ' -486
+G ' -486
+E ' -486
+E char173 -486
+E hy -486
+E - -486
+E en -486
+E em -486
+Z char173 -975
+Z hy -975
+Z - -975
+Z en -975
+Z em -975
+B ' -486
+J char173 -486
+J hy -486
+J - -486
+J en -486
+J em -486
+U char173 -486
+U hy -486
+U - -486
+U en -486
+U em -486
+charset
+! 6831,18837,390 2 3617
+" 11220,18555 2 3618
+sh 12684,17805,390 0 3619
+# "
+Do 12684,19122,1707 2 3620
+$ "
+% 21468,17415,390 0 3621
+& 21954,18165,390 0 3622
+' 7317,18555 2 51751
+( 7806,20250,6705 3 3624
+) 7806,20250,6705 3 3625
+* 12684,18555 2 3626
++ 21468,13191,261 0 3627
+, 6831,3096,4449 0 3628
+char173 6831,6960 0 3629
+hy "
+- "
+. 6831,2847,390 0 3630
+sl 12684,20250,480 2 3631
+/ "
+0 12684,17805,390 0 3632
+1 12684,17805,150 0 3633
+2 12684,17805,150 0 3634
+3 12684,17805,390 0 3635
+4 12684,17415,390 0 3636
+5 12684,17415,390 0 3637
+6 12684,17811,390 0 3638
+7 12684,17415,390 0 3639
+8 12684,17805,390 0 3640
+9 12684,17805,390 0 3641
+: 6831,10593,390 0 3642
+; 6831,10593,4449 0 3643
+< 26346,16068 0 3644
+= 21468,8883 0 3645
+> 26346,16068 0 3646
+? 9759,18837,390 2 3647
+at 21594,16980,3654 0 3648
+@ "
+A 20004,18555,150 2 3649
+B 16101,18315,150 2 3650
+C 19515,18555,390 2 3651
+D 20979,18555,150 2 3652
+E 16587,18315,150 2 3653
+F 15612,18315,150 2 3654
+G 20979,18555,390 2 3655
+H 22443,18315,150 2 3656
+I 8781,18315,150 2 3657
+J 9759,18315,6060 2 3658
+K 19029,18315,150 2 3659
+L 16101,18315,150 2 3660
+M 23907,18315,390 2 3661
+N 22443,18315,774 2 3662
+O 22443,18555,390 2 3663
+P 15612,18555,150 2 3664
+Q 22443,18555,6339 3 3665
+R 18540,18315,150 2 3666
+S 12684,18555,390 2 3667
+T 18051,19299,150 2 3668
+U 21468,18315,390 2 3669
+V 19029,18315,390 2 3670
+W 25857,18315,390 2 3671
+X 20004,18315,150 2 3672
+Y 19029,18315,150 2 3673
+Z 17565,19299 2 3674
+lB 7806,18165,4905 0 3675
+[ "
+rs 12684,20250,480 2 3676
+\ "
+rB 7806,18165,4905 0 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 7317,18555 2 51808
+` "
+a 11220,11670,390 0 3681
+b 14148,20265,390 2 3682
+c 11220,11670,390 0 3683
+d 13662,20250,390 2 3684
+e 11220,11670,390 0 3685
+f 8295,20250,150 2 3686
+g 12198,11670,6705 1 3687
+h 14637,20250,150 2 3688
+i 7317,19356,150 2 3689
+j 6831,19356,6705 3 3690
+k 14637,20250,150 2 3691
+l 7317,20262,150 2 3692
+m 21954,11670,153 0 3693
+n 14637,11673,150 0 3694
+o 14148,11670,390 0 3695
+p 14148,11679,6855 1 3696
+q 13662,11670,6855 1 3697
+r 10245,11670,150 0 3698
+s 9270,11670,390 0 3699
+t 8781,13677,390 0 3700
+u 14148,11280,390 0 3701
+v 13173,11430,390 0 3702
+w 20004,11430,390 0 3703
+x 13173,11430,150 0 3704
+y 14148,11430,6705 1 3705
+z 12198,12063 0 3706
+lC 11709,19935,6210 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 11709,19935,6210 3 3709
+} "
+ti 26346,8952 0 51876
+char192 20004,24846,150 2 3776
+`A "
+char194 20004,24600,150 2 3778
+^A "
+char200 16587,24846,150 2 3784
+`E "
+char202 16587,24600,150 2 3786
+^E "
+char203 16587,23751,150 2 3787
+:E "
+char206 8781,24600,150 2 3790
+^I "
+char207 8781,23751,150 2 3791
+:I "
+char180 12684,20460 2 3764
+aa "
+ga 12684,20460 2 3680
+a^ 12684,20460 2 3678
+^ "
+char168 12684,17244 0 3752
+ad "
+a~ 12684,18180 0 3710
+~ "
+char217 21468,24846,390 2 3801
+`U "
+char219 21468,24600,390 2 3803
+^U "
+char221 19029,24846,150 2 3805
+'Y "
+char253 14148,20460,6705 3 3837
+'y "
+char176 12684,17805 0 3760
+de "
+char199 19515,18555,5964 2 3783
+,C "
+char231 11220,11670,5553 0 3815
+,c "
+char209 22443,24498,774 2 3793
+~N "
+char241 14637,18180,150 0 3825
+~n "
+char161 6831,12096,7131 1 3745
+r! "
+char191 9759,12096,7131 1 3775
+r? "
+char164 12684,15684 0 3748
+Cs "
+char163 12684,17805,5424 0 3747
+Po "
+char165 12684,18315,150 2 3749
+Ye "
+char167 12684,18555,5250 2 3751
+sc "
+Fn 12684,20250,6705 3 51871
+char162 12684,17556,126 0 3746
+ct "
+char226 11220,20460,390 2 3810
+^a "
+char234 11220,20460,390 2 3818
+^e "
+char244 14148,20460,390 2 3828
+^o "
+char251 14148,20460,390 2 3835
+^u "
+char225 11220,20460,390 2 3809
+'a "
+char233 11220,20460,390 2 3817
+'e "
+char243 14148,20460,390 2 3827
+'o "
+char250 14148,20460,390 2 3834
+'u "
+char224 11220,20460,390 2 3808
+`a "
+char232 11220,20460,390 2 3816
+`e "
+char242 14148,20460,390 2 3826
+`o "
+char249 14148,20460,390 2 3833
+`u "
+char228 11220,17244,390 0 3812
+:a "
+char235 11220,17244,390 0 3819
+:e "
+char246 14148,17244,390 0 3830
+:o "
+char252 14148,17244,390 0 3836
+:u "
+char197 20004,24768,150 2 3781
+oA "
+char238 7317,20460,150 2 3822
+^i "
+char216 22443,18948,501 2 3800
+/O "
+char198 28299,18315,150 2 3782
+AE "
+char229 11220,19248,390 2 3813
+oa "
+char237 7317,20460,150 2 3821
+'i "
+char248 14148,11832,489 0 3832
+/o "
+char230 17076,11670,390 0 3814
+ae "
+char196 20004,23751,150 2 3780
+:A "
+char236 7317,20460,150 2 3820
+`i "
+char214 22443,23751,390 2 3798
+:O "
+char220 21468,23751,390 2 3804
+:U "
+char201 16587,24846,150 2 3785
+'E "
+char239 7317,17244,150 0 3823
+:i "
+char223 14637,20250,390 2 3807
+ss "
+char212 22443,24600,390 2 3796
+^O "
+char193 20004,24846,150 2 3777
+'A "
+char195 20004,24498,150 2 3779
+~A "
+char227 11220,18180,390 0 3811
+~a "
+char208 20979,18555,150 2 3792
+-D "
+char240 14148,20250,390 2 3824
+Sd "
+char205 8781,24846,150 2 3789
+'I "
+char204 8781,24846,150 2 3788
+`I "
+char211 22443,24846,390 2 3795
+'O "
+char210 22443,24846,390 2 3794
+`O "
+char213 22443,24498,390 2 3797
+~O "
+char245 14148,18180,390 0 3829
+~o "
+vS 12684,24612,390 2 51795
+vs 9270,20499,390 2 51827
+char218 21468,24846,390 2 3802
+'U "
+:Y 19029,23751,150 2 51801
+char255 14148,17244,6705 1 3839
+:y "
+char222 15612,18315,150 2 3806
+TP "
+char254 14148,20250,6855 3 3838
+Tp "
+char181 14637,10800,5595 0 3765
+char182 12684,19635,4200 2 3766
+ps "
+char190 21468,17805,288 0 3774
+34 "
+\- 21468,7305 0 51757
+char188 21468,17805,288 0 3772
+14 "
+char189 21468,17805,288 0 3773
+12 "
+char170 12684,17805 0 3754
+Of "
+char186 12684,17805 0 3770
+Om "
+char171 11220,9945 0 3755
+Fo "
+char187 11220,9945 0 3771
+Fc "
+char177 21468,13191,3105 0 3761
+char166 13173,19083,5916 2 3750
+bb "
+char169 13173,19725 2 3753
+co "
+char172 21468,10029 0 3756
+no "
+char174 13173,19725 2 3758
+rg "
+char178 8781,17805 0 3762
+S2 "
+char179 8781,17805 0 3763
+S3 "
+char184 12684,255,5553 0 3768
+ac "
+char185 8781,17805 0 3769
+S1 "
+char215 21468,12969,189 0 3799
+char247 21468,12966,36 0 3831
+char183 6831,10326 0 3767
+fm 12684,17805 0 51873
+sd 12684,17805 0 51874
+dg 12684,18555,5250 2 51755
+tm 16101,17550 0 51796
+ah 12684,20499 2 51935
+ao 12684,19248 2 51930
+f/ 2928,17805,288 0 51759
+em 21468,6960 0 51789
+en 12684,6960 0 51790
+dd 12684,18555,5250 2 51773
+.i 7317,11673,150 0 51957
+aq 7317,18555 2 3623
+bu 13173,14226 0 51889
+'C 19515,24846,390 2 20166
+'c 11220,20460,390 2 20198
+lq 11220,18555 2 51838
+rq 11220,18555 2 51746
+Bq 11220,2811,3939 0 51772
+vz 12198,20499 2 51834
+fi 14637,20250,150 2 51881
+fl 14637,20250,150 2 51882
+ff 15612,20250,150 2 51883
+Fi 21954,20250,150 2 51884
+Fl 21954,20250,150 2 51885
+ij 14148,19356,6705 3 51958
+bq 7317,2811,3939 0 51756
+%0 30738,17805,180 0 51901
+char175 12684,17367 0 3759
+a- "
+ab 12684,17796 0 51926
+a. 12684,17244 0 51927
+oe 20004,11670,390 0 51823
+OE 27321,18555,390 2 51791
+fo 7317,9945 0 51886
+fc 7317,9945 0 51887
+sq 19029,15624 0 51899
+/L 16101,18315,150 2 51944
+/l 7317,20262,150 2 51960
+a" 12684,20460 2 51933
+ho 12684,600,4653 0 51934
+vZ 17565,24612 2 51802
+IJ 18540,18315,6060 2 51942
diff --git a/devlj4/LGB b/devlj4/LGB
new file mode 100644
index 000000000..89c969152
--- /dev/null
+++ b/devlj4/LGB
@@ -0,0 +1,347 @@
+name LGB
+spacewidth 13227
+pcltypeface 4102
+pclproportional 0
+pclweight 3
+pclstyle 0
+charset
+! 13227,18990,330 2 3617
+" 13227,18990 2 3618
+sh 13227,21345,2391 2 3619
+# "
+Do 13227,19320,993 2 3620
+$ "
+% 13227,19320,330 2 3621
+& 13227,19320,330 2 3622
+' 13227,19320 2 51751
+( 13227,19320,2325 2 3624
+) 13227,19320,2325 2 3625
+* 13227,18990 2 3626
++ 13227,15645 0 3627
+, 13227,2925,2640 0 3628
+char173 13227,8775 0 3629
+hy "
+- "
+. 13227,3180,330 0 3630
+sl 13227,19545,330 2 3631
+/ "
+0 13227,19320,330 2 3632
+1 13227,19320 2 3633
+2 13227,19320 2 3634
+3 13227,19320,330 2 3635
+4 13227,19320 2 3636
+5 13227,18990,330 2 3637
+6 13227,19320,330 2 3638
+7 13227,18990 2 3639
+8 13227,19320,330 2 3640
+9 13227,19320,330 2 3641
+: 13227,12654,330 0 3642
+; 13227,12654,2640 0 3643
+< 13227,15312 0 3644
+= 13227,12534 0 3645
+> 13227,15312 0 3646
+? 13227,19320,330 2 3647
+at 13227,19320,330 2 3648
+@ "
+A 13227,18990 2 3649
+B 13227,18990 2 3650
+C 13227,19320,330 2 3651
+D 13227,18990 2 3652
+E 13227,18990 2 3653
+F 13227,18990 2 3654
+G 13227,19320,330 2 3655
+H 13227,18990 2 3656
+I 13227,18990 2 3657
+J 13227,18990,330 2 3658
+K 13227,18990 2 3659
+L 13227,18990 2 3660
+M 13227,18990 2 3661
+N 13227,18990 2 3662
+O 13227,19320,330 2 3663
+P 13227,18990 2 3664
+Q 13227,19320,2760 2 3665
+R 13227,18990 2 3666
+S 13227,19320,330 2 3667
+T 13227,18990 2 3668
+U 13227,18990,330 2 3669
+V 13227,18990 2 3670
+W 13227,18990 2 3671
+X 13227,18990 2 3672
+Y 13227,18990 2 3673
+Z 13227,18990 2 3674
+lB 13227,18990,3510 2 3675
+[ "
+rs 13227,19545,330 2 3676
+\ "
+rB 13227,18990,3510 2 3677
+] "
+ha 13227,19758 2 51875
+_ 13227,191367,6588 3 3679
+oq 13227,19320 2 51808
+` "
+a 13227,14355,330 0 3681
+b 13227,19545,330 2 3682
+c 13227,14355,330 0 3683
+d 13227,19545,330 2 3684
+e 13227,14355,330 0 3685
+f 13227,19335 2 3686
+g 13227,14355,4350 0 3687
+h 13227,19545 2 3688
+i 13227,19095 2 3689
+j 13227,19095,4350 2 3690
+k 13227,19545 2 3691
+l 13227,19545 2 3692
+m 13227,14355 0 3693
+n 13227,14355 0 3694
+o 13227,14355,330 0 3695
+p 13227,14355,5475 1 3696
+q 13227,14355,5475 1 3697
+r 13227,14355 0 3698
+s 13227,14355,330 0 3699
+t 13227,18300,330 2 3700
+u 13227,14025,330 0 3701
+v 13227,14025 0 3702
+w 13227,14025 0 3703
+x 13227,14025 0 3704
+y 13227,14025,4350 0 3705
+z 13227,14025 0 3706
+lC 13227,20130,6141 3 3707
+{ "
+ba 13227,19758,6588 3 3708
+| "
+rC 13227,20130,6141 3 3709
+} "
+ti 13227,11181 0 51876
+char192 13227,25155 2 3776
+`A "
+char194 13227,25080 2 3778
+^A "
+char200 13227,25155 2 3784
+`E "
+char202 13227,25080 2 3786
+^E "
+char203 13227,24000 2 3787
+:E "
+char206 13227,25080 2 3790
+^I "
+char207 13227,24000 2 3791
+:I "
+char180 13227,20745 2 3764
+aa "
+ga 13227,20745 2 3680
+a^ 13227,21015 2 3678
+^ "
+char168 13227,19125 2 3752
+ad "
+a~ 13227,19683 2 3710
+~ "
+char217 13227,25155,330 2 3801
+`U "
+char219 13227,25080,330 2 3803
+^U "
+char221 13227,25155 2 3805
+'Y "
+char253 13227,20745,4350 2 3837
+'y "
+char176 13227,19320 2 3760
+de "
+char199 13227,19320,5787 3 3783
+,C "
+char231 13227,14355,6060 1 3815
+,c "
+char209 13227,24552 2 3793
+~N "
+char241 13227,19683 2 3825
+~n "
+char161 13227,14319,5001 1 3745
+r! "
+char191 13227,14265,5385 1 3775
+r? "
+char164 13227,15885 0 3748
+Cs "
+char163 13227,18990,330 2 3747
+Po "
+char165 13227,18990 2 3749
+Ye "
+char167 13227,19320,1218 2 3751
+sc "
+Fn 13227,19335,3558 2 51871
+char162 13227,19320,330 2 3746
+ct "
+char226 13227,21015,330 2 3810
+^a "
+char234 13227,21015,330 2 3818
+^e "
+char244 13227,21015,330 2 3828
+^o "
+char251 13227,21015,330 2 3835
+^u "
+char225 13227,20745,330 2 3809
+'a "
+char233 13227,20745,330 2 3817
+'e "
+char243 13227,20745,330 2 3827
+'o "
+char250 13227,20745,330 2 3834
+'u "
+char224 13227,20745,330 2 3808
+`a "
+char232 13227,20745,330 2 3816
+`e "
+char242 13227,20745,330 2 3826
+`o "
+char249 13227,20745,330 2 3833
+`u "
+char228 13227,19125,330 2 3812
+:a "
+char235 13227,19125,330 2 3819
+:e "
+char246 13227,19125,330 2 3830
+:o "
+char252 13227,19125,330 2 3836
+:u "
+char197 13227,24882 2 3781
+oA "
+char238 13227,21015 2 3822
+^i "
+char216 13227,19320,459 2 3800
+/O "
+char198 13227,18990 2 3782
+AE "
+char229 13227,20790,330 2 3813
+oa "
+char237 13227,20745 2 3821
+'i "
+char248 13227,14901,957 0 3832
+/o "
+char230 13227,14355,330 0 3814
+ae "
+char196 13227,24000 2 3780
+:A "
+char236 13227,20745 2 3820
+`i "
+char214 13227,24000,330 2 3798
+:O "
+char220 13227,24000,330 2 3804
+:U "
+char201 13227,25155 2 3785
+'E "
+char239 13227,19125 2 3823
+:i "
+char223 13227,19335,330 2 3807
+ss "
+char212 13227,25080,330 2 3796
+^O "
+char193 13227,25155 2 3777
+'A "
+char195 13227,24552 2 3779
+~A "
+char227 13227,19683,330 2 3811
+~a "
+char208 13227,18990 2 3792
+-D "
+char240 13227,19656,330 2 3824
+Sd "
+char205 13227,25155 2 3789
+'I "
+char204 13227,25155 2 3788
+`I "
+char211 13227,25155,330 2 3795
+'O "
+char210 13227,25155,330 2 3794
+`O "
+char213 13227,24552,330 2 3797
+~O "
+char245 13227,19683,330 2 3829
+~o "
+vS 13227,25116,330 2 51795
+vs 13227,21015,330 2 51827
+char218 13227,25155,330 2 3802
+'U "
+:Y 13227,24000 2 51801
+char255 13227,19125,4350 2 3839
+:y "
+char222 13227,18990 2 3806
+TP "
+char254 13227,19545,5475 3 3838
+Tp "
+char181 13227,14025,4350 0 3765
+char182 13227,19635,4200 2 3766
+ps "
+char190 13227,19110,3825 2 3774
+34 "
+\- 13227,10425 0 51757
+char188 13227,19110,3825 2 3772
+14 "
+char189 13227,19110,3825 2 3773
+12 "
+char170 13227,19320 2 3754
+Of "
+char186 13227,19320 2 3770
+Om "
+char171 13227,14115 0 3755
+Fo "
+char187 13227,14115 0 3771
+Fc "
+char177 13227,15645,30 0 3761
+char166 13227,19083,5916 3 3750
+bb "
+char169 13227,19635 2 3753
+co "
+char172 13227,13020 0 3756
+no "
+char174 13227,19635 2 3758
+rg "
+char178 13227,19110 2 3762
+S2 "
+char179 13227,19110 2 3763
+S3 "
+char184 13227,0,6060 1 3768
+ac "
+char185 13227,19110 2 3769
+S1 "
+char215 13227,15549 0 3799
+char247 13227,15510 0 3831
+char183 13227,11376 0 3767
+fm 13227,18990 2 51873
+sd 13227,18990 2 51874
+dg 13227,18990 2 51755
+tm 13227,17850 2 51796
+ah 13227,21015 2 51935
+ao 13227,20790 2 51930
+f/ 13227,15675 0 51759
+em 13227,8430 0 51789
+en 13227,8430 0 51790
+dd 13227,18990 2 51773
+.i 13227,14025 0 51957
+aq 13227,18990 2 3623
+bu 13227,12714 0 51889
+'C 13227,25155,330 2 20166
+'c 13227,20745,330 2 20198
+lq 13227,19320 2 51838
+rq 13227,19320 2 51746
+Bq 13227,3486,2079 0 51772
+vz 13227,21015 2 51834
+fi 13227,19335 2 51881
+fl 13227,19335 2 51882
+ff 13227,19335 2 51883
+Fi 13227,19335 2 51884
+Fl 13227,19335 2 51885
+ij 13227,19095,4350 2 51958
+bq 13227,3486,2079 0 51756
+%0 13227,19320,330 2 51901
+char175 13227,19119 2 3759
+a- "
+ab 13227,19830 2 51926
+a. 13227,19125 2 51927
+oe 13227,14355,330 0 51823
+OE 13227,19320,330 2 51791
+fo 13227,14115 0 51886
+fc 13227,14115 0 51887
+sq 13227,14106 0 51899
+/L 13227,18990 2 51944
+/l 13227,19545 2 51960
+a" 13227,20745 2 51933
+ho 13227,1026,5109 1 51934
+vZ 13227,25116 2 51802
+IJ 13227,18990,330 2 51942
diff --git a/devlj4/LGI b/devlj4/LGI
new file mode 100644
index 000000000..492b52c0e
--- /dev/null
+++ b/devlj4/LGI
@@ -0,0 +1,348 @@
+name LGI
+spacewidth 13227
+slant 12.000000
+pcltypeface 4102
+pclproportional 0
+pclweight 0
+pclstyle 1
+charset
+! 13227,18990,330,0,-2748 2 3617
+" 13227,18990,0,372,-3960,372 2 3618
+sh 13227,21309,2451,1827,1062,790 2 3619
+# "
+Do 13227,19320,1074,762,288,762 2 3620
+$ "
+% 13227,19320,330,2535,882,790 2 3621
+& 13227,19320,330,54,699,54 2 3622
+' 13227,19320,0,0,-5469 2 51751
+( 13227,19320,1935,318,-2952,318 2 3624
+) 13227,19320,1935,318,-2952,318 2 3625
+* 13227,18990,0,1995,-828,790 2 3626
++ 13227,15075,0,960,-93,790 0 3627
+, 13227,1785,2250,0,-2769 0 3628
+char173 13227,7995,0,0,-2511 0 3629
+hy "
+- "
+. 13227,2100,330,0,-3873 0 3630
+sl 13227,19545,330,0,-1410 2 3631
+/ "
+0 13227,19320,330,564,-456,564 2 3632
+1 13227,19320,0,0,60 2 3633
+2 13227,19320,0,1578,1365,790 2 3634
+3 13227,19320,330,420,888,420 2 3635
+4 13227,19320,0,585,750,585 2 3636
+5 13227,18990,330,1215,153,790 2 3637
+6 13227,19320,330,1800,-93,790 2 3638
+7 13227,18990,0,2184,-963,790 2 3639
+8 13227,19320,330,996,423,790 2 3640
+9 13227,19320,330,741,90,741 2 3641
+: 13227,12492,330,0,-3039 0 3642
+; 13227,12492,2250,0,-2772 0 3643
+< 13227,15063,0,390,387,390 0 3644
+= 13227,11721,0,1065,-288,790 0 3645
+> 13227,15063,0,390,387,390 0 3646
+? 13227,19320,330,981,-2730,790 2 3647
+at 13227,19320,330,993,87,790 2 3648
+@ "
+A 13227,18990,0,0,2541 2 3649
+B 13227,18990,0,1095,831,790 2 3650
+C 13227,19320,330,1524,-12,790 2 3651
+D 13227,18990,0,1089,1263,790 2 3652
+E 13227,18990,0,1995,642,790 2 3653
+F 13227,18990,0,2535,594,790 2 3654
+G 13227,19320,330,1350,519,790 2 3655
+H 13227,18990,0,2316,1050,790 2 3656
+I 13227,18990,0,558,-663,558 2 3657
+J 13227,18990,330,2118,-39,790 2 3658
+K 13227,18990,0,1590,765,790 2 3659
+L 13227,18990,0,0,153 2 3660
+M 13227,18990,0,2853,1941,790 2 3661
+N 13227,18990,0,2097,882,790 2 3662
+O 13227,19320,330,1485,273,790 2 3663
+P 13227,18990,0,1152,771,790 2 3664
+Q 13227,19320,2778,1485,273,790 2 3665
+R 13227,18990,0,987,981,790 2 3666
+S 13227,19320,330,1608,1134,790 2 3667
+T 13227,18990,0,3171,-1431,790 2 3668
+U 13227,18990,330,2220,108,790 2 3669
+V 13227,18990,0,2217,-2733,790 2 3670
+W 13227,18990,0,3045,702,790 2 3671
+X 13227,18990,0,2355,1296,790 2 3672
+Y 13227,18990,0,2553,-2397,790 2 3673
+Z 13227,18990,0,1956,1203,790 2 3674
+lB 13227,18990,2940,1110,-33,790 2 3675
+[ "
+rs 13227,19545,330,0,-3072 2 3676
+\ "
+rB 13227,18990,2940,342,735,342 2 3677
+] "
+ha 13227,19758,0,9,9,9 2 51875
+_ 13227,191367,6588,1317,1317,790 3 3679
+oq 13227,19326,0,0,-6222 2 51808
+` "
+a 13227,14355,330,0,105 0 3681
+b 13227,19545,330,312,1671,312 2 3682
+c 13227,14355,330,810,261,790 0 3683
+d 13227,19545,330,2121,363,790 2 3684
+e 13227,14355,330,387,303,387 0 3685
+f 13227,19335,0,3231,-1785,790 2 3686
+g 13227,14355,4350,1545,1053,790 0 3687
+h 13227,19545,0,168,723,168 2 3688
+i 13227,18780,0,0,-2319 2 3689
+j 13227,18780,4350,906,936,790 2 3690
+k 13227,19545,0,495,504,495 2 3691
+l 13227,19545,0,0,-3603 2 3692
+m 13227,14355,0,1770,2205,790 0 3693
+n 13227,14355,0,267,774,267 0 3694
+o 13227,14355,330,372,252,372 0 3695
+p 13227,14355,5475,213,2205,213 1 3696
+q 13227,14355,5475,1668,318,790 1 3697
+r 13227,14355,0,684,-81,684 0 3698
+s 13227,14355,330,57,480,57 0 3699
+t 13227,18495,330,0,-933 2 3700
+u 13227,14025,330,714,249,714 0 3701
+v 13227,14025,0,1437,-1767,790 0 3702
+w 13227,14025,0,2574,279,790 0 3703
+x 13227,14025,0,1050,2112,790 0 3704
+y 13227,14025,4350,1986,3579,790 0 3705
+z 13227,14025,0,984,1395,790 0 3706
+lC 13227,20130,6075,1170,-2529,790 3 3707
+{ "
+ba 13227,19758,6588,0,-4623 3 3708
+| "
+rC 13227,20130,6075,0,975 3 3709
+} "
+ti 13227,10485,0,825,822,790 0 51876
+char192 13227,24630,0,0,2541 2 3776
+`A "
+char194 13227,24810,0,2133,2541,790 2 3778
+^A "
+char200 13227,24630,0,1995,642,790 2 3784
+`E "
+char202 13227,24810,0,2133,642,790 2 3786
+^E "
+char203 13227,23115,0,1995,642,790 2 3787
+:E "
+char206 13227,24810,0,2133,-663,790 2 3790
+^I "
+char207 13227,23115,0,1143,-663,790 2 3791
+:I "
+char180 13227,19725,0,753,-5706,753 2 3764
+aa "
+ga 13227,19725,0,0,-4728 2 3680
+a^ 13227,19905,0,1089,-3117,790 2 3678
+^ "
+char168 13227,18195,0,0,-4341 2 3752
+ad "
+a~ 13227,18873,0,1833,-2406,790 2 3710
+~ "
+char217 13227,24630,330,2220,108,790 2 3801
+`U "
+char219 13227,24810,330,2220,108,790 2 3803
+^U "
+char221 13227,24630,0,2553,-2397,790 2 3805
+'Y "
+char253 13227,19725,4350,1986,3579,790 2 3837
+'y "
+char176 13227,19320,0,0,-2637 2 3760
+de "
+char199 13227,19320,5325,1524,-12,790 3 3783
+,C "
+char231 13227,14355,5295,810,261,790 1 3815
+,c "
+char209 13227,23814,0,3201,882,790 2 3793
+~N "
+char241 13227,18873,0,1833,774,790 2 3825
+~n "
+char161 13227,14271,5049,0,-1647 1 3745
+r! "
+char191 13227,14214,5436,0,-126 1 3775
+r? "
+char164 13227,15684,0,1425,528,790 0 3748
+Cs "
+char163 13227,19320,330,2433,234,790 2 3747
+Po "
+char165 13227,18990,0,2712,-1056,790 2 3749
+Ye "
+char167 13227,19320,1344,66,-891,66 2 3751
+sc "
+Fn 13227,19335,3540,231,-492,231 2 51871
+char162 13227,19320,330,891,-780,790 2 3746
+ct "
+char226 13227,19905,330,1089,105,790 2 3810
+^a "
+char234 13227,19905,330,1089,303,790 2 3818
+^e "
+char244 13227,19905,330,1089,252,790 2 3828
+^o "
+char251 13227,19905,330,1089,249,790 2 3835
+^u "
+char225 13227,19725,330,753,105,753 2 3809
+'a "
+char233 13227,19725,330,753,303,753 2 3817
+'e "
+char243 13227,19725,330,753,252,753 2 3827
+'o "
+char250 13227,19725,330,753,249,753 2 3834
+'u "
+char224 13227,19725,330,0,105 2 3808
+`a "
+char232 13227,19725,330,387,303,387 2 3816
+`e "
+char242 13227,19725,330,372,252,372 2 3826
+`o "
+char249 13227,19725,330,714,249,714 2 3833
+`u "
+char228 13227,18195,330,0,105 2 3812
+:a "
+char235 13227,18195,330,387,303,387 2 3819
+:e "
+char246 13227,18195,330,372,252,372 2 3830
+:o "
+char252 13227,18195,330,714,249,714 2 3836
+:u "
+char197 13227,24810,0,0,2541 2 3781
+oA "
+char238 13227,19905,0,0,-1917 2 3822
+^i "
+char216 13227,19320,342,2895,1743,790 2 3800
+/O "
+char198 13227,18990,0,4059,2670,790 2 3782
+AE "
+char229 13227,19905,330,0,105 2 3813
+oa "
+char237 13227,19725,0,3,-2319,3 2 3821
+'i "
+char248 13227,14895,735,1119,1086,790 0 3832
+/o "
+char230 13227,14355,330,1530,1950,790 0 3814
+ae "
+char196 13227,23115,0,1143,2541,790 2 3780
+:A "
+char236 13227,19725,0,0,-2319 2 3820
+`i "
+char214 13227,23115,330,1485,273,790 2 3798
+:O "
+char220 13227,23115,330,2220,108,790 2 3804
+:U "
+char201 13227,24630,0,1995,642,790 2 3785
+'E "
+char239 13227,18195,0,0,-2319 2 3823
+:i "
+char223 13227,19335,330,570,270,570 2 3807
+ss "
+char212 13227,24810,330,2133,273,790 2 3796
+^O "
+char193 13227,24630,0,1389,2541,790 2 3777
+'A "
+char195 13227,23814,0,3201,2541,790 2 3779
+~A "
+char227 13227,18873,330,1833,105,790 2 3811
+~a "
+char208 13227,18990,0,1389,963,790 2 3792
+-D "
+char240 13227,19545,330,192,237,192 2 3824
+Sd "
+char205 13227,24630,0,1389,-663,790 2 3789
+'I "
+char204 13227,24630,0,558,-663,558 2 3788
+`I "
+char211 13227,24630,330,1485,273,790 2 3795
+'O "
+char210 13227,24630,330,1485,273,790 2 3794
+`O "
+char213 13227,23814,330,3201,273,790 2 3797
+~O "
+char245 13227,18873,330,1833,252,790 2 3829
+~o "
+vS 13227,24810,330,2433,1134,790 2 51795
+vs 13227,19905,330,1539,480,790 2 51827
+char218 13227,24630,330,2220,108,790 2 3802
+'U "
+:Y 13227,23115,0,2553,-2397,790 2 51801
+char255 13227,18195,4350,1986,3579,790 2 3839
+:y "
+char222 13227,18990,0,378,771,378 2 3806
+TP "
+char254 13227,19545,5475,231,2223,231 3 3838
+Tp "
+char181 13227,14025,4350,765,1659,765 0 3765
+char182 13227,19635,4200,696,-408,696 2 3766
+ps "
+char190 13227,19110,3825,1413,627,790 2 3774
+34 "
+\- 13227,9945,0,1065,-288,790 0 51757
+char188 13227,19110,3825,918,873,790 2 3772
+14 "
+char189 13227,19110,3825,1269,1023,790 2 3773
+12 "
+char170 13227,19320,0,0,-3066 2 3754
+Of "
+char186 13227,19320,0,0,-3330 2 3770
+Om "
+char171 13227,13710,0,2418,1104,790 0 3755
+Fo "
+char187 13227,13710,0,1107,2415,790 0 3771
+Fc "
+char177 13227,15075,0,1110,-243,790 0 3761
+char166 13227,19083,5916,0,-4623 3 3750
+bb "
+char169 13227,19635,0,3927,-2190,790 2 3753
+co "
+char172 13227,12501,0,1065,-288,790 0 3756
+no "
+char174 13227,19635,0,3927,-2190,790 2 3758
+rg "
+char178 13227,19110,0,0,-2379 2 3762
+S2 "
+char179 13227,19110,0,0,-2073 2 3763
+S3 "
+char184 13227,0,5295,0,-1200 1 3768
+ac "
+char185 13227,19110,0,0,-2727 2 3769
+S1 "
+char215 13227,14814,0,897,-483,790 0 3799
+char247 13227,14655,0,1104,-252,790 0 3831
+char183 13227,11007,0,0,-4590 0 3767
+fm 13227,18990,0,0,-3444 2 51873
+sd 13227,18990,0,0,-3444 2 51874
+dg 13227,18990,0,0,-2019 2 51755
+tm 13227,17850,0,4395,-2058,790 2 51796
+ah 13227,19905,0,1539,-3567,790 2 51935
+ao 13227,19905,0,0,-5466 2 51930
+f/ 13227,15675,777,0,-339 0 51759
+em 13227,7710,0,1317,1317,790 0 51789
+en 13227,7710,0,0,-1215 0 51790
+dd 13227,18990,0,0,-1713 2 51773
+.i 13227,14025,0,0,-2319 0 51957
+aq 13227,18990,0,0,-6060 2 3623
+bu 13227,12714,0,0,-519 0 51889
+'C 13227,24630,330,1524,-12,790 2 20166
+'c 13227,19725,330,810,261,790 2 20198
+lq 13227,19326,0,1812,-4197,790 2 51838
+rq 13227,19320,0,1512,-3897,790 2 51746
+Bq 13227,2214,2091,0,-897 0 51772
+vz 13227,19905,0,1539,1395,790 2 51834
+fi 13227,19335,0,1065,-339,790 2 51881
+fl 13227,19335,0,1065,-339,790 2 51882
+ff 13227,19335,0,5175,606,790 2 51883
+Fi 13227,19335,0,3579,1149,790 2 51884
+Fl 13227,19335,0,2703,1155,790 2 51885
+ij 13227,18780,4350,2355,645,790 2 51958
+bq 13227,2214,2091,0,-2922 0 51756
+%0 13227,19320,330,1920,4113,790 2 51901
+char175 13227,18051,0,1086,-3930,790 2 3759
+a- "
+ab 13227,19350,0,1683,-3297,790 2 51926
+a. 13227,18195,0,0,-6561 2 51927
+oe 13227,14355,330,1629,1671,790 0 51823
+OE 13227,19320,330,4059,783,790 2 51791
+fo 13227,13710,0,0,-1182 0 51886
+fc 13227,13710,0,0,-663 0 51887
+sq 13227,14106,0,876,876,790 0 51899
+/L 13227,18990,0,0,885 2 51944
+/l 13227,19545,0,0,-2769 2 51960
+a" 13227,19725,0,3210,-3906,790 2 51933
+ho 13227,735,4086,0,-4818 0 51934
+vZ 13227,24810,0,2433,1203,790 2 51802
+IJ 13227,18990,330,2259,3129,790 2 51942
diff --git a/devlj4/LGR b/devlj4/LGR
new file mode 100644
index 000000000..e4b1fcb88
--- /dev/null
+++ b/devlj4/LGR
@@ -0,0 +1,347 @@
+name LGR
+spacewidth 13227
+pcltypeface 4102
+pclproportional 0
+pclweight 0
+pclstyle 0
+charset
+! 13227,18990,330 2 3617
+" 13227,18990 2 3618
+sh 13227,21309,2451 2 3619
+# "
+Do 13227,19320,372 2 3620
+$ "
+% 13227,19320,330 2 3621
+& 13227,19320,330 2 3622
+' 13227,19320 2 51751
+( 13227,19320,1935 2 3624
+) 13227,19320,1935 2 3625
+* 13227,18990 2 3626
++ 13227,15075 0 3627
+, 13227,2055,2235 0 3628
+char173 13227,7815 0 3629
+hy "
+- "
+. 13227,2055,330 0 3630
+sl 13227,19545,330 2 3631
+/ "
+0 13227,19320,330 2 3632
+1 13227,19320 2 3633
+2 13227,19320 2 3634
+3 13227,19320,330 2 3635
+4 13227,19320 2 3636
+5 13227,18990,330 2 3637
+6 13227,19320,330 2 3638
+7 13227,18990 2 3639
+8 13227,19320,330 2 3640
+9 13227,19320,330 2 3641
+: 13227,12414,330 0 3642
+; 13227,12414,2235 0 3643
+< 13227,15063 0 3644
+= 13227,11721 0 3645
+> 13227,15063 0 3646
+? 13227,19320,330 2 3647
+at 13227,19320,330 2 3648
+@ "
+A 13227,18990 2 3649
+B 13227,18990 2 3650
+C 13227,19320,330 2 3651
+D 13227,18990 2 3652
+E 13227,18990 2 3653
+F 13227,18990 2 3654
+G 13227,19320,330 2 3655
+H 13227,18990 2 3656
+I 13227,18990 2 3657
+J 13227,18990,330 2 3658
+K 13227,18990 2 3659
+L 13227,18990 2 3660
+M 13227,18990 2 3661
+N 13227,18990 2 3662
+O 13227,19320,330 2 3663
+P 13227,18990 2 3664
+Q 13227,19320,2712 2 3665
+R 13227,18990 2 3666
+S 13227,19320,330 2 3667
+T 13227,18990 2 3668
+U 13227,18990,330 2 3669
+V 13227,18990 2 3670
+W 13227,18990 2 3671
+X 13227,18990 2 3672
+Y 13227,18990 2 3673
+Z 13227,18990 2 3674
+lB 13227,18990,2940 2 3675
+[ "
+rs 13227,19545,330 2 3676
+\ "
+rB 13227,18990,2940 2 3677
+] "
+ha 13227,19758 2 51875
+_ 13227,191367,6588 3 3679
+oq 13227,19320 2 51808
+` "
+a 13227,14355,330 0 3681
+b 13227,19545,330 2 3682
+c 13227,14355,330 0 3683
+d 13227,19545,330 2 3684
+e 13227,14355,330 0 3685
+f 13227,19335 2 3686
+g 13227,14355,4350 0 3687
+h 13227,19545 2 3688
+i 13227,18780 2 3689
+j 13227,18780,4350 2 3690
+k 13227,19545 2 3691
+l 13227,19545 2 3692
+m 13227,14355 0 3693
+n 13227,14355 0 3694
+o 13227,14355,330 0 3695
+p 13227,14355,5475 1 3696
+q 13227,14355,5475 1 3697
+r 13227,14355 0 3698
+s 13227,14355,330 0 3699
+t 13227,18495,330 2 3700
+u 13227,14025,330 0 3701
+v 13227,14025 0 3702
+w 13227,14025 0 3703
+x 13227,14025 0 3704
+y 13227,14025,4350 0 3705
+z 13227,14025 0 3706
+lC 13227,20130,6075 3 3707
+{ "
+ba 13227,19758,6588 3 3708
+| "
+rC 13227,20130,6075 3 3709
+} "
+ti 13227,10485 0 51876
+char192 13227,24630 2 3776
+`A "
+char194 13227,24810 2 3778
+^A "
+char200 13227,24630 2 3784
+`E "
+char202 13227,24810 2 3786
+^E "
+char203 13227,23115 2 3787
+:E "
+char206 13227,24810 2 3790
+^I "
+char207 13227,23115 2 3791
+:I "
+char180 13227,19725 2 3764
+aa "
+ga 13227,19725 2 3680
+a^ 13227,19905 2 3678
+^ "
+char168 13227,18195 2 3752
+ad "
+a~ 13227,18867 2 3710
+~ "
+char217 13227,24630,330 2 3801
+`U "
+char219 13227,24810,330 2 3803
+^U "
+char221 13227,24630 2 3805
+'Y "
+char253 13227,19725,4350 2 3837
+'y "
+char176 13227,19320 2 3760
+de "
+char199 13227,19320,5430 3 3783
+,C "
+char231 13227,14355,5430 1 3815
+,c "
+char209 13227,23787 2 3793
+~N "
+char241 13227,18867 2 3825
+~n "
+char161 13227,14259,5061 1 3745
+r! "
+char191 13227,14265,5385 1 3775
+r? "
+char164 13227,15684 0 3748
+Cs "
+char163 13227,19320,330 2 3747
+Po "
+char165 13227,18990 2 3749
+Ye "
+char167 13227,19320,1344 2 3751
+sc "
+Fn 13227,19335,3540 2 51871
+char162 13227,19320,330 2 3746
+ct "
+char226 13227,19905,330 2 3810
+^a "
+char234 13227,19905,330 2 3818
+^e "
+char244 13227,19905,330 2 3828
+^o "
+char251 13227,19905,330 2 3835
+^u "
+char225 13227,19725,330 2 3809
+'a "
+char233 13227,19725,330 2 3817
+'e "
+char243 13227,19725,330 2 3827
+'o "
+char250 13227,19725,330 2 3834
+'u "
+char224 13227,19725,330 2 3808
+`a "
+char232 13227,19725,330 2 3816
+`e "
+char242 13227,19725,330 2 3826
+`o "
+char249 13227,19725,330 2 3833
+`u "
+char228 13227,18195,330 2 3812
+:a "
+char235 13227,18195,330 2 3819
+:e "
+char246 13227,18195,330 2 3830
+:o "
+char252 13227,18195,330 2 3836
+:u "
+char197 13227,24735 2 3781
+oA "
+char238 13227,19905 2 3822
+^i "
+char216 13227,19320,444 2 3800
+/O "
+char198 13227,18990 2 3782
+AE "
+char229 13227,19830,330 2 3813
+oa "
+char237 13227,19725 2 3821
+'i "
+char248 13227,14805,747 0 3832
+/o "
+char230 13227,14355,330 0 3814
+ae "
+char196 13227,23115 2 3780
+:A "
+char236 13227,19725 2 3820
+`i "
+char214 13227,23115,330 2 3798
+:O "
+char220 13227,23115,330 2 3804
+:U "
+char201 13227,24630 2 3785
+'E "
+char239 13227,18195 2 3823
+:i "
+char223 13227,19335,330 2 3807
+ss "
+char212 13227,24810,330 2 3796
+^O "
+char193 13227,24630 2 3777
+'A "
+char195 13227,23787 2 3779
+~A "
+char227 13227,18867,330 2 3811
+~a "
+char208 13227,18990 2 3792
+-D "
+char240 13227,19545,330 2 3824
+Sd "
+char205 13227,24630 2 3789
+'I "
+char204 13227,24630 2 3788
+`I "
+char211 13227,24630,330 2 3795
+'O "
+char210 13227,24630,330 2 3794
+`O "
+char213 13227,23787,330 2 3797
+~O "
+char245 13227,18867,330 2 3829
+~o "
+vS 13227,24810,330 2 51795
+vs 13227,19905,330 2 51827
+char218 13227,24630,330 2 3802
+'U "
+:Y 13227,23115 2 51801
+char255 13227,18195,4350 2 3839
+:y "
+char222 13227,18990 2 3806
+TP "
+char254 13227,19545,5475 3 3838
+Tp "
+char181 13227,14025,4350 0 3765
+char182 13227,19635,4200 2 3766
+ps "
+char190 13227,19119,3825 2 3774
+34 "
+\- 13227,9945 0 51757
+char188 13227,19110,3825 2 3772
+14 "
+char189 13227,19110,3825 2 3773
+12 "
+char170 13227,19320 2 3754
+Of "
+char186 13227,19320 2 3770
+Om "
+char171 13227,13710 0 3755
+Fo "
+char187 13227,13710 0 3771
+Fc "
+char177 13227,15075 0 3761
+char166 13227,19083,5916 3 3750
+bb "
+char169 13227,19635 2 3753
+co "
+char172 13227,12501 0 3756
+no "
+char174 13227,19635 2 3758
+rg "
+char178 13227,19110 2 3762
+S2 "
+char179 13227,19119 2 3763
+S3 "
+char184 13227,0,5430 1 3768
+ac "
+char185 13227,19110 2 3769
+S1 "
+char215 13227,14814 0 3799
+char247 13227,14655 0 3831
+char183 13227,11025 0 3767
+fm 13227,18990 2 51873
+sd 13227,18990 2 51874
+dg 13227,18990 2 51755
+tm 13227,17850 2 51796
+ah 13227,19905 2 51935
+ao 13227,19830 2 51930
+f/ 13227,15675,858 0 51759
+em 13227,7710 0 51789
+en 13227,7710 0 51790
+dd 13227,18990 2 51773
+.i 13227,14025 0 51957
+aq 13227,18990 2 3623
+bu 13227,12714 0 51889
+'C 13227,24630,330 2 20166
+'c 13227,19725,330 2 20198
+lq 13227,19320 2 51838
+rq 13227,19320 2 51746
+Bq 13227,2136,2154 0 51772
+vz 13227,19905 2 51834
+fi 13227,19335 2 51881
+fl 13227,19335 2 51882
+ff 13227,19335 2 51883
+Fi 13227,19335 2 51884
+Fl 13227,19335 2 51885
+ij 13227,18780,4350 2 51958
+bq 13227,2136,2154 0 51756
+%0 13227,19320,330 2 51901
+char175 13227,18078 2 3759
+a- "
+ab 13227,19350 2 51926
+a. 13227,18195 2 51927
+oe 13227,14355,330 0 51823
+OE 13227,19320,330 2 51791
+fo 13227,13710 0 51886
+fc 13227,13710 0 51887
+sq 13227,14106 0 51899
+/L 13227,18990 2 51944
+/l 13227,19545 2 51960
+a" 13227,19725 2 51933
+ho 13227,750,4137 0 51934
+vZ 13227,24810 2 51802
+IJ 13227,18990,330 2 51942
diff --git a/devlj4/MARIGOLD b/devlj4/MARIGOLD
new file mode 100644
index 000000000..60976ca2d
--- /dev/null
+++ b/devlj4/MARIGOLD
@@ -0,0 +1,348 @@
+name MARIGOLD
+spacewidth 5856
+pcltypeface 4297
+pclproportional 1
+pclweight 0
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+charset
+! 7806,12570,330 0 3617
+" 6342,11790 0 3618
+sh 9759,11610 0 3619
+# "
+Do 9759,14325,3315 0 3620
+$ "
+% 17076,11940,330 0 3621
+& 12684,12120,330 0 3622
+' 3903,11790 0 51751
+( 6831,16770,2235 2 3624
+) 6831,16770,2235 2 3625
+* 9759,11940 0 3626
++ 11709,8445,360 0 3627
+, 5856,1650,4590 0 3628
+char173 6831,6345 0 3629
+hy "
+- "
+. 5856,2535,330 0 3630
+sl 8781,16770,3240 2 3631
+/ "
+0 9759,11940,330 0 3632
+1 9759,11940,60 0 3633
+2 9759,11940,450 0 3634
+3 9759,11940,330 0 3635
+4 9759,11940,1080 0 3636
+5 9759,12060,330 0 3637
+6 9759,12660,330 0 3638
+7 9759,12480,30 0 3639
+8 9759,11940,330 0 3640
+9 9759,11940,1050 0 3641
+: 5856,8475,330 0 3642
+; 5856,8475,4590 0 3643
+< 26346,16068 2 3644
+= 11709,6510 0 3645
+> 26346,16068 2 3646
+? 8295,12120,330 0 3647
+at 18051,12354,3126 0 3648
+@ "
+A 12198,12120,225 0 3649
+B 10734,12120,60 0 3650
+C 10734,12120,330 0 3651
+D 12684,12015,225 0 3652
+E 10245,11910,225 0 3653
+F 9759,12120,60 0 3654
+G 12198,12120,330 0 3655
+H 12198,12015,60 0 3656
+I 6342,11850,60 0 3657
+J 6342,11850,4128 0 3658
+K 12198,11850,60 0 3659
+L 8781,11850,225 0 3660
+M 16101,12120,225 0 3661
+N 13173,12120,330 0 3662
+O 11709,12120,330 0 3663
+P 9759,12120,60 0 3664
+Q 11709,12120,3744 0 3665
+R 11709,12120,330 0 3666
+S 9759,12120,330 0 3667
+T 10245,12120,60 0 3668
+U 12684,11910,330 0 3669
+V 12198,12120,330 0 3670
+W 16101,12120,330 0 3671
+X 12198,11910,120 0 3672
+Y 10734,12120,60 0 3673
+Z 10734,12345,330 0 3674
+lB 6342,16860,1260 2 3675
+[ "
+rs 8781,16770,3240 2 3676
+\ "
+rB 6342,16860,1260 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 2 3679
+oq 3903,11790 0 51808
+` "
+a 8295,10350,330 0 3681
+b 6831,17430,330 2 3682
+c 6342,10350,330 0 3683
+d 7806,17430,330 2 3684
+e 6342,10350,330 0 3685
+f 3903,17430,7950 3 3686
+g 7806,10350,7950 1 3687
+h 8295,17433,330 2 3688
+i 4878,13635,330 0 3689
+j 3903,13635,7950 1 3690
+k 6831,17430,330 2 3691
+l 3903,17430,330 2 3692
+m 11220,10350,330 0 3693
+n 7806,10350,330 0 3694
+o 6831,10350,330 0 3695
+p 7806,10350,7950 1 3696
+q 7317,10575,7950 1 3697
+r 6342,10350 0 3698
+s 5367,10350,330 0 3699
+t 5367,14325,330 0 3700
+u 7806,10350,330 0 3701
+v 7317,10350,330 0 3702
+w 9759,10350,330 0 3703
+x 7317,13590,330 0 3704
+y 7317,10350,7950 1 3705
+z 7317,10350,330 0 3706
+lC 8295,16380,2670 2 3707
+{ "
+ba 13173,19758,6588 2 3708
+| "
+rC 8295,16380,2670 2 3709
+} "
+ti 26346,8952 0 51876
+char192 12198,17040,225 2 3776
+`A "
+char194 12198,17520,225 2 3778
+^A "
+char200 10245,17040,225 2 3784
+`E "
+char202 10245,17520,225 2 3786
+^E "
+char203 10245,16320,225 2 3787
+:E "
+char206 6342,17520,60 2 3790
+^I "
+char207 6342,16320,60 2 3791
+:I "
+char180 11709,15030 0 3764
+aa "
+ga 11709,15030 0 3680
+a^ 11709,15300 0 3678
+^ "
+char168 11709,14580 0 3752
+ad "
+a~ 11709,13782 0 3710
+~ "
+char217 12684,17040,330 2 3801
+`U "
+char219 12684,17520,330 2 3803
+^U "
+char221 10734,17040,60 2 3805
+'Y "
+char253 7317,15030,7950 1 3837
+'y "
+char176 7806,11940 0 3760
+de "
+char199 10734,12120,4140 0 3783
+,C "
+char231 6342,10350,4320 0 3815
+,c "
+char209 13173,15828,330 2 3793
+~N "
+char241 7806,13782,330 0 3825
+~n "
+char161 7806,8313,4587 0 3745
+r! "
+char191 8295,8202,4248 0 3775
+r? "
+char164 9759,10668 0 3748
+Cs "
+char163 9759,11940,225 0 3747
+Po "
+char165 9759,12165,60 0 3749
+Ye "
+char167 9759,12120,4596 0 3751
+sc "
+Fn 9759,17430,7950 3 51871
+char162 9759,12516,2580 0 3746
+ct "
+char226 8295,15300,330 0 3810
+^a "
+char234 6342,15300,330 0 3818
+^e "
+char244 6831,15300,330 0 3828
+^o "
+char251 7806,15300,330 0 3835
+^u "
+char225 8295,15030,330 0 3809
+'a "
+char233 6342,15030,330 0 3817
+'e "
+char243 6831,15030,330 0 3827
+'o "
+char250 7806,15030,330 0 3834
+'u "
+char224 8295,15030,330 0 3808
+`a "
+char232 6342,15030,330 0 3816
+`e "
+char242 6831,15030,330 0 3826
+`o "
+char249 7806,15030,330 0 3833
+`u "
+char228 8295,14580,330 0 3812
+:a "
+char235 6342,14580,330 0 3819
+:e "
+char246 6831,14580,330 0 3830
+:o "
+char252 7806,14580,330 0 3836
+:u "
+char197 12198,16815,225 2 3781
+oA "
+char238 4878,15300,330 0 3822
+^i "
+char216 11709,12849,984 0 3800
+/O "
+char198 17565,11910,225 0 3782
+AE "
+char229 8295,14685,330 0 3813
+oa "
+char237 4878,15030,330 0 3821
+'i "
+char248 6831,11724,1635 0 3832
+/o "
+char230 10734,10350,330 0 3814
+ae "
+char196 12198,16320,225 2 3780
+:A "
+char236 4878,15030,330 0 3820
+`i "
+char214 11709,16320,330 2 3798
+:O "
+char220 12684,16320,330 2 3804
+:U "
+char201 10245,17040,225 2 3785
+'E "
+char239 4878,14580,330 0 3823
+:i "
+char223 9270,18135,7350 3 3807
+ss "
+char212 11709,17520,330 2 3796
+^O "
+char193 12198,17040,225 2 3777
+'A "
+char195 12198,15828,225 2 3779
+~A "
+char227 8295,13782,330 0 3811
+~a "
+char208 12684,12015,225 0 3792
+-D "
+char240 7317,17430,330 2 3824
+Sd "
+char205 6342,17040,60 2 3789
+'I "
+char204 6342,17040,60 2 3788
+`I "
+char211 11709,17040,330 2 3795
+'O "
+char210 11709,17040,330 2 3794
+`O "
+char213 11709,15828,330 2 3797
+~O "
+char245 6831,13782,330 0 3829
+~o "
+vS 9759,17520,330 2 51795
+vs 5367,15330,330 0 51827
+char218 12684,17040,330 2 3802
+'U "
+:Y 10734,16320,60 2 51801
+char255 7317,14580,7950 1 3839
+:y "
+char222 9759,11850,60 0 3806
+TP "
+char254 7806,17430,7950 3 3838
+Tp "
+char181 14637,10800,5595 0 3765
+char182 11709,12450,4455 0 3766
+ps "
+char190 17076,11940,840 0 3774
+34 "
+\- 11709,4770 0 51757
+char188 17076,11940,840 0 3772
+14 "
+char189 17076,11940,330 0 3773
+12 "
+char170 6342,11940 0 3754
+Of "
+char186 6342,11940 0 3770
+Om "
+char171 9270,8535 0 3755
+Fo "
+char187 9270,8535 0 3771
+Fc "
+char177 11709,8445,2595 0 3761
+char166 13173,19083,5916 2 3750
+bb "
+char169 7806,15960 2 3753
+co "
+char172 11709,6780 0 3756
+no "
+char174 7806,15960 2 3758
+rg "
+char178 7317,11850 0 3762
+S2 "
+char179 7317,11850 0 3763
+S3 "
+char184 11709,0,4320 0 3768
+ac "
+char185 7317,11850 0 3769
+S1 "
+char215 11709,7815 0 3799
+char247 11709,8700,360 0 3831
+char183 5856,7662 0 3767
+fm 4878,11610 0 51873
+sd 7806,11610 0 51874
+dg 9759,12315,3795 0 51755
+tm 9759,14445 0 51796
+ah 11709,15330 0 51935
+ao 11709,14685 0 51930
+f/ 1953,11940,330 0 51759
+em 18051,6345 0 51789
+en 11709,6345 0 51790
+dd 9759,12315,3795 0 51773
+.i 4878,10350,330 0 51957
+aq 3903,11790 0 3623
+bu 13173,14226 0 51889
+'C 10734,17040,330 2 20166
+'c 6342,15030,330 0 20198
+lq 6342,11790 0 51838
+rq 6342,11790 0 51746
+Bq 6342,1650,2550 0 51772
+vz 7317,15330,330 0 51834
+fi 7806,17430,7950 3 51881
+fl 7806,17430,7950 3 51882
+ff 7806,17430,7950 3 51883
+Fi 11709,17430,7950 3 51884
+Fl 11709,17430,7950 3 51885
+ij 8781,13635,7950 1 51958
+bq 3903,1650,2550 0 51756
+%0 22932,11940,330 0 51901
+char175 11709,13674 0 3759
+a- "
+ab 11709,14700 0 51926
+a. 11709,14580 0 51927
+oe 10734,10350,330 0 51823
+OE 16587,12120,330 0 51791
+fo 5856,8535 0 51886
+fc 5856,8535 0 51887
+sq 19029,15624 0 51899
+/L 8781,11850,225 0 51944
+/l 4878,17430,330 2 51960
+a" 11709,15030 0 51933
+ho 11709,1341,4410 0 51934
+vZ 10734,17520,330 2 51802
+IJ 12684,11850,4128 0 51942
diff --git a/devlj4/Makefile.sub b/devlj4/Makefile.sub
new file mode 100644
index 000000000..ed14cfabc
--- /dev/null
+++ b/devlj4/Makefile.sub
@@ -0,0 +1,33 @@
+DEV=lj4
+LJ4RES=300
+LJ4PRINT=$(PSPRINT)
+DEVFILES=DESC \
+ ALBB ALBR \
+ AOB AOI AOR \
+ CB CBI CI CR \
+ GB GBI GI GR \
+ LGB LGI LGR \
+ OB OBI OI OR \
+ TB TBI TI TR \
+ UB UBI UI UR \
+ UCB UCBI UCI UCR \
+ CLARENDON CORONET MARIGOLD S \
+ generate/Makefile generate/text.map generate/special.map
+
+CLEANADD=DESC
+
+DESC: DESC.in
+ -rm -f DESC
+ echo "res $(LJ4RES)" >DESC
+ echo "unitwidth `expr 7620000 / $(LJ4RES)`" >>DESC
+ cat $(srcdir)/DESC.in >>DESC
+ if test "$(PAGE)" = A4; then \
+ echo "papersize a4" >>DESC; \
+ else \
+ echo "papersize letter" >>DESC; \
+ fi
+ test -z '$(LJ4PRINT)' || echo print '$(LJ4PRINT)' >>DESC
+
+fonts:
+ $(MAKE) -f $(srcdir)/generate/Makefile srcdir=$(srcdir)/generate \
+ HPFTODIT=../hpftodit/hpftodit
diff --git a/devlj4/OB b/devlj4/OB
new file mode 100644
index 000000000..093e0bb25
--- /dev/null
+++ b/devlj4/OB
@@ -0,0 +1,797 @@
+name OB
+spacewidth 7317
+pcltypeface 4113
+pclproportional 1
+pclweight 3
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2925
+P . -3903
+P , -3903
+V A -3903
+A V -3903
+T o -2925
+T r -1950
+T c -2925
+T e -2925
+T d -2925
+T s -2439
+T y -2925
+T a -2925
+T w -2925
+T u -2925
+L T -1950
+L Y -2925
+Y o -3903
+Y e -3903
+Y a -3903
+A W -3414
+W A -3414
+T A -1950
+V o -2925
+V e -2925
+V a -2925
+Y A -3903
+F A -2925
+F . -3903
+F , -3903
+A T -1950
+A Y -3903
+v . -2439
+v , -2439
+y . -2439
+y , -2439
+T . -1950
+T , -1950
+L W -2925
+P A -2925
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -2439
+W e -2439
+W a -2439
+W . -3414
+W , -3414
+r . -2439
+r , -2439
+w . -2439
+w , -2439
+Y u -2439
+A v -2439
+A y -2439
+A w -1461
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -975
+e , -975
+b . -1461
+b , -1461
+O T -1461
+O V -1461
+O Y -1461
+O . -1461
+O , -1461
+L y -2439
+L O -1461
+L G -1950
+L C -1950
+L Q -1950
+V y -1461
+V u -1461
+V O -1461
+V G -1461
+V C -1461
+V Q -1461
+D T -1950
+D V -1461
+D Y -1950
+D . -1950
+D , -1950
+Y O -1461
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -1461
+F e -1461
+F a -1461
+c . -486
+c , -486
+O A -1461
+O W -975
+L U -1950
+R T -975
+R V -975
+R Y -975
+R W -975
+G T -975
+P o -1461
+P g -975
+P e -1461
+P a -1461
+C A -486
+C . -486
+C , -486
+D A -1461
+D W -975
+B T -975
+B Y -975
+B . -975
+B , -975
+A O -1461
+A G -1461
+A C -1461
+A U -1461
+A Q -1461
+W r -975
+W y -975
+W u -975
+W O -975
+W G -975
+W C -975
+W Q -975
+J A -975
+J . -975
+J , -975
+U A -1461
+U . -1950
+U , -1950
+Q A -1461
+Q W -975
+f . -486
+f , -486
+T O -1461
+T G -1950
+T C -1950
+T Q -1950
+O X -1461
+L o -1461
+L e -1461
+L q -1461
+G V -975
+G Y -975
+G W -975
+G . -486
+G , -486
+C T -486
+C V -486
+C Y -486
+D X -1461
+B V -975
+B X -975
+B A -975
+B W -975
+S . -975
+S , -975
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1461
+A e -1461
+Q X -1461
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -975
+o y -975
+o x -975
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+r g -486
+g . -486
+g , -486
+p v -975
+p y -975
+p x -975
+c v -486
+c y -486
+v o -975
+v g -975
+v c -975
+v d -975
+v a -975
+v q -975
+e v -975
+e y -975
+b v -975
+b y -975
+s . -975
+s , -975
+y o -975
+y g -975
+y c -975
+y d -975
+y a -975
+y q -975
+f g -486
+x o -975
+x g -975
+x c -975
+x e -975
+x d -975
+x a -975
+x q -975
+a v -975
+a y -975
+T i -975
+T S -975
+L a -975
+L S -486
+G X -486
+G A -486
+P s -975
+C X -486
+C W -486
+V i -975
+V S -975
+S T -486
+S V -486
+S Y -486
+S X -486
+S A -975
+S W -486
+Y i -975
+Y S -975
+X a -975
+X u -975
+X S -486
+A t -975
+A g -975
+A c -1461
+A d -1461
+A a -975
+A u -975
+A q -1461
+A S -486
+W i -975
+W S -975
+K c -1461
+K u -975
+K S -486
+t g -486
+o f -486
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+p f -486
+c f -486
+c x -486
+v e -975
+v s -975
+e f -486
+e x -975
+b f -486
+s v -486
+s y -486
+s f -486
+s x -486
+y e -975
+y s -975
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+x s -486
+k o -486
+k g -486
+k c -486
+k v -486
+k e -486
+k d -486
+k y -486
+k a -486
+k w -486
+k q -486
+O Z -486
+L J -1461
+G Z -486
+P M -486
+C Z -486
+Z o -486
+Z e -486
+Z d -486
+Z s -486
+Z y -486
+Z a -486
+Z w -486
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z Q -486
+D Z -486
+B Z -486
+S Z -486
+A s -486
+A J -1461
+J o -486
+J e -486
+J a -486
+J M -486
+K a -975
+K J -486
+t o -486
+t c -486
+t e -486
+t d -486
+t s -486
+t a -486
+t q -486
+o z -486
+h f -486
+n f -486
+m f -486
+r s -486
+p z -486
+c z -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z s -486
+z a -486
+z q -486
+b z -486
+s z -486
+a f -486
+k t -486
+k s -486
+k f -486
+k u -486
+F M -486
+A f -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -2925
+T char173 -2925
+T hy -2925
+T - -2925
+T en -2925
+T em -2925
+A ' -3414
+char173 T -2925
+hy T -2925
+- T -2925
+en T -2925
+em T -2925
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -1461
+c ' -486
+e ' -975
+b ' -1461
+a ' -975
+V char173 -1461
+V hy -1461
+V - -1461
+V en -1461
+V em -1461
+h ' -975
+n ' -975
+m ' -975
+W char173 -975
+W hy -975
+W - -975
+W en -975
+W em -975
+' d -1461
+s ' -486
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1461
+A hy -1461
+A - -1461
+A en -1461
+A em -1461
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1461
+hy A -1461
+- A -1461
+en X -1461
+en A -1461
+em X -1461
+K ' -486
+t g -486
+b f -486
+k ' -486
+M ' -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+' M -486
+k char173 -486
+k hy -486
+k - -486
+k en -486
+k em -486
+charset
+! 7317,18000,375 2 3617
+" 12198,18375 2 3618
+sh 14637,18069,444 2 3619
+# "
+Do 14637,19755,2988 2 3620
+$ "
+% 23418,17769,444 2 3621
+& 19029,17997,375 2 3622
+' 7317,18375 2 51751
+( 7317,18375,3165 2 3624
+) 7317,18375,3165 2 3625
+* 14637,18150 2 3626
++ 23418,13164,534 0 3627
+, 7317,4068,4902 0 3628
+char173 7317,8307 0 3629
+hy "
+- "
+. 7317,3975,375 0 3630
+sl 7317,19650,525 2 3631
+/ "
+0 14637,17700,375 0 3632
+1 14637,17700,69 0 3633
+2 14637,17700,201 0 3634
+3 14637,17700,375 0 3635
+4 14637,17394,69 0 3636
+5 14637,17526,375 0 3637
+6 14637,17700,375 0 3638
+7 14637,17526,69 0 3639
+8 14637,17700,375 0 3640
+9 14637,17700,375 0 3641
+: 7317,12057,375 0 3642
+; 7317,12057,4902 0 3643
+< 26346,16068 0 3644
+= 23418,9639 0 3645
+> 26346,16068 0 3646
+? 11709,18000,375 2 3647
+at 23418,16950,4131 0 3648
+@ "
+A 17565,18069,69 2 3649
+B 16101,18069,69 2 3650
+C 17565,18375,375 2 3651
+D 20490,18201,201 2 3652
+E 13173,18201,201 2 3653
+F 13173,18201,69 2 3654
+G 20490,18375,375 2 3655
+H 20490,18069,69 2 3656
+I 8781,18069,69 2 3657
+J 8781,18069,4218 2 3658
+K 16587,18069,69 2 3659
+L 13173,18069,201 2 3660
+M 23418,18069,69 2 3661
+N 20490,18069,69 2 3662
+O 21954,18375,375 2 3663
+P 15126,18069,69 2 3664
+Q 21954,18375,5223 3 3665
+R 16101,18069,69 2 3666
+S 13173,18375,375 2 3667
+T 14637,18201,69 2 3668
+U 20490,18069,375 2 3669
+V 17565,18069,69 2 3670
+W 26346,18069,69 2 3671
+X 16101,18069,69 2 3672
+Y 16101,18069,69 2 3673
+Z 16101,18201,201 2 3674
+lB 7317,18201,4701 2 3675
+[ "
+rs 7317,19650,525 2 3676
+\ "
+rB 7317,18201,4701 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 7317,18375 2 51808
+` "
+a 13173,12840,375 0 3681
+b 14637,19569,375 2 3682
+c 13173,12840,375 0 3683
+d 14637,19569,375 2 3684
+e 13173,12840,375 0 3685
+f 8781,19710,69 2 3686
+g 13173,12840,5400 1 3687
+h 14637,19569,69 2 3688
+i 7317,19332,69 2 3689
+j 7317,19332,5400 3 3690
+k 13173,19569,69 2 3691
+l 7317,19569,69 2 3692
+m 21954,12900,69 0 3693
+n 14637,12840,69 0 3694
+o 14637,12840,375 0 3695
+p 14637,12840,5469 1 3696
+q 14637,12840,5469 1 3697
+r 10245,12780,69 0 3698
+s 10245,12840,375 0 3699
+t 8781,17100,375 0 3700
+u 14637,12534,375 0 3701
+v 13173,12534,69 0 3702
+w 20490,12534,69 0 3703
+x 13173,12534,69 0 3704
+y 13173,12534,5439 1 3705
+z 13173,12666,201 0 3706
+lC 13173,19935,6210 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 13173,19935,6210 3 3709
+} "
+ti 26346,9435 0 51876
+char192 17565,24537,69 2 3776
+`A "
+char194 17565,24273,69 2 3778
+^A "
+char200 13173,24537,201 2 3784
+`E "
+char202 13173,24273,201 2 3786
+^E "
+char203 13173,23301,201 2 3787
+:E "
+char206 8781,24273,69 2 3790
+^I "
+char207 8781,23301,69 2 3791
+:I "
+char180 14637,18843 2 3764
+aa "
+ga 14637,18843 2 3680
+a^ 14637,18738 2 3678
+^ "
+char168 14637,17694 0 3752
+ad "
+a~ 14637,17694 0 3710
+~ "
+char217 20490,24537,375 2 3801
+`U "
+char219 20490,24273,375 2 3803
+^U "
+char221 16101,24537,69 2 3805
+'Y "
+char253 13173,18843,5439 3 3837
+'y "
+char176 14637,17700 0 3760
+de "
+char199 17565,18375,6663 3 3783
+,C "
+char231 13173,12840,5469 1 3815
+,c "
+char209 20490,23031,69 2 3793
+~N "
+char241 14637,17694,69 0 3825
+~n "
+char161 7317,12906,5469 1 3745
+r! "
+char191 11709,12906,5469 1 3775
+r? "
+char164 14637,15834 0 3748
+Cs "
+char163 14637,17700,201 0 3747
+Po "
+char165 14637,17769,69 2 3749
+Ye "
+char167 14637,18000,1383 2 3751
+sc "
+Fn 14637,19710,69 2 51871
+char162 14637,19788,135 2 3746
+ct "
+char226 13173,18738,375 2 3810
+^a "
+char234 13173,18738,375 2 3818
+^e "
+char244 14637,18738,375 2 3828
+^o "
+char251 14637,18738,375 2 3835
+^u "
+char225 13173,18843,375 2 3809
+'a "
+char233 13173,18843,375 2 3817
+'e "
+char243 14637,18843,375 2 3827
+'o "
+char250 14637,18843,375 2 3834
+'u "
+char224 13173,18843,375 2 3808
+`a "
+char232 13173,18843,375 2 3816
+`e "
+char242 14637,18843,375 2 3826
+`o "
+char249 14637,18843,375 2 3833
+`u "
+char228 13173,17694,375 0 3812
+:a "
+char235 13173,17694,375 0 3819
+:e "
+char246 14637,17694,375 0 3830
+:o "
+char252 14637,17694,375 0 3836
+:u "
+char197 17565,25002,69 2 3781
+oA "
+char238 7317,18738,69 2 3822
+^i "
+char216 21954,18375,375 2 3800
+/O "
+char198 22932,18201,201 2 3782
+AE "
+char229 13173,18684,375 2 3813
+oa "
+char237 7317,18843,69 2 3821
+'i "
+char248 14637,12849,402 0 3832
+/o "
+char230 20004,12840,375 0 3814
+ae "
+char196 17565,23301,69 2 3780
+:A "
+char236 7317,18843,69 2 3820
+`i "
+char214 21954,23301,375 2 3798
+:O "
+char220 20490,23301,375 2 3804
+:U "
+char201 13173,24537,201 2 3785
+'E "
+char239 7317,17694,69 0 3823
+:i "
+char223 14637,19710,375 2 3807
+ss "
+char212 21954,24273,375 2 3796
+^O "
+char193 17565,24537,69 2 3777
+'A "
+char195 17565,23031,69 2 3779
+~A "
+char227 13173,17694,375 0 3811
+~a "
+char208 20490,18201,201 2 3792
+-D "
+char240 14637,19503,375 2 3824
+Sd "
+char205 8781,24537,69 2 3789
+'I "
+char204 8781,24537,69 2 3788
+`I "
+char211 21954,24537,375 2 3795
+'O "
+char210 21954,24537,375 2 3794
+`O "
+char213 21954,23031,375 2 3797
+~O "
+char245 14637,17694,375 0 3829
+~o "
+vS 13173,24273,375 2 51795
+vs 10245,18738,375 2 51827
+char218 20490,24537,375 2 3802
+'U "
+:Y 16101,23301,69 2 51801
+char255 13173,17694,5439 1 3839
+:y "
+char222 15126,18069,69 2 3806
+TP "
+char254 14637,19569,5469 3 3838
+Tp "
+char181 15612,12630,4680 0 3765
+char182 14637,19635,4200 2 3766
+ps "
+char190 23418,17700,444 0 3774
+34 "
+\- 23418,7455 0 51757
+char188 23418,18099,444 2 3772
+14 "
+char189 23418,18099,444 2 3773
+12 "
+char170 9759,17700 0 3754
+Of "
+char186 9759,17700 0 3770
+Om "
+char171 11709,11028 0 3755
+Fo "
+char187 11709,11028 0 3771
+Fc "
+char177 23418,13164,4314 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 23418,10770 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 9759,17700 0 3762
+S2 "
+char179 9759,17700 0 3763
+S3 "
+char184 14637,196476,5469 3 3768
+ac "
+char185 9759,18099 2 3769
+S1 "
+char215 23418,13107,567 0 3799
+char247 23418,13017,387 0 3831
+char183 7317,11274 0 3767
+fm 7317,18096 2 51873
+sd 14637,18096 2 51874
+dg 14637,18201,426 2 51755
+tm 16101,17850 2 51796
+ah 14637,18738 2 51935
+ao 14637,18684 2 51930
+f/ 2928,17544,444 0 51759
+em 23418,8085 0 51789
+en 14637,8085 0 51790
+dd 14637,18201,426 2 51773
+.i 7317,12534,69 0 51957
+aq 7317,18375 2 3623
+bu 13173,14226 0 51889
+'C 17565,24537,375 2 20166
+'c 13173,18843,375 2 20198
+lq 12198,18330 2 51838
+rq 12198,18375 2 51746
+Bq 12198,4095,4371 0 51772
+vz 13173,18738,201 2 51834
+fi 15126,19710,69 2 51881
+fl 15126,19710,69 2 51882
+ff 16587,19710,69 2 51883
+Fi 22932,19710,69 2 51884
+Fl 22932,19710,69 2 51885
+ij 14637,19332,5400 3 51958
+bq 7317,4095,4371 0 51756
+%0 33177,17769,444 2 51901
+char175 14637,16722 0 3759
+a- "
+ab 14637,18525 2 51926
+a. 14637,18792 2 51927
+oe 22443,12840,375 0 51823
+OE 24882,18375,375 2 51791
+fo 7317,11028 0 51886
+fc 7317,11028 0 51887
+sq 19029,15624 0 51899
+/L 13173,18069,201 2 51944
+/l 7317,19569,69 2 51960
+a" 14637,18843 2 51933
+ho 14637,654,3774 0 51934
+vZ 16101,24273,201 2 51802
+IJ 17565,18069,4218 2 51942
diff --git a/devlj4/OBI b/devlj4/OBI
new file mode 100644
index 000000000..918e0f450
--- /dev/null
+++ b/devlj4/OBI
@@ -0,0 +1,793 @@
+name OBI
+spacewidth 7317
+slant 12.350000
+pcltypeface 4113
+pclproportional 1
+pclweight 3
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2439
+P . -3903
+P , -3903
+V A -3903
+A V -4389
+T o -2439
+T r -2439
+T c -2439
+T e -2439
+T d -2439
+T s -2439
+T y -2439
+T a -2439
+T w -2439
+T u -2439
+L T -2439
+L Y -2439
+Y o -3903
+Y e -3414
+Y a -3903
+A W -3903
+W A -3414
+T A -2439
+V o -2925
+V e -2439
+V a -2925
+Y A -3903
+F A -1461
+F . -3903
+F , -3903
+A T -2925
+A Y -4389
+v . -2925
+v , -2925
+y . -2925
+y , -2925
+T . -2439
+T , -2439
+L W -2439
+P A -1950
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -2439
+W e -1950
+W a -2439
+W . -3414
+W , -3414
+r . -2439
+r , -2439
+w . -2925
+w , -2925
+Y u -2439
+A v -2925
+A y -2925
+A w -2925
+o . -975
+o , -975
+p . -975
+p , -975
+e . -486
+e , -486
+b . -975
+b , -975
+O T -2439
+O V -1950
+O Y -2439
+O . -1950
+O , -1950
+L y -2439
+L O -2439
+L G -2439
+L C -2439
+L Q -2439
+V y -1461
+V u -1461
+V O -1461
+V G -1461
+V C -1461
+V Q -1461
+D T -2439
+D V -1950
+D Y -2439
+D . -1950
+D , -1950
+Y O -1950
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -486
+F e -486
+F a -486
+c . -486
+c , -486
+O A -975
+O W -1461
+L U -2439
+R T -486
+R V -486
+R Y -486
+R W -486
+G T -975
+P o -975
+P g -975
+P e -975
+P a -975
+C A -486
+C . -486
+C , -486
+D A -975
+D W -1461
+B T -1950
+B Y -1950
+B . -1461
+B , -1461
+A O -1950
+A G -1950
+A C -1950
+A U -1950
+A Q -1950
+W r -975
+W y -975
+W u -975
+W O -975
+W G -975
+W C -975
+W Q -975
+J A -975
+J . -975
+J , -975
+U A -975
+U . -1950
+U , -1950
+Q W -1461
+f . -486
+f , -486
+T O -1950
+T G -1950
+T C -1950
+T Q -1950
+O X -1461
+L o -1950
+L e -1461
+L q -1950
+G V -975
+G Y -975
+G W -975
+G . -486
+G , -486
+P T -975
+P V -975
+P Y -975
+C T -486
+C V -486
+C Y -486
+D X -1461
+B V -1950
+B X -1461
+B A -975
+B W -1461
+S . -486
+S , -486
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1950
+A e -1461
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -975
+o y -975
+o x -486
+o w -975
+h v -975
+h y -975
+n v -975
+n y -975
+p v -486
+p y -486
+p x -486
+c v -486
+c y -486
+c w -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -975
+e y -975
+b v -975
+b y -975
+b w -975
+s . -486
+s , -486
+y o -486
+y g -486
+y c -486
+y d -486
+y a -486
+y q -486
+f g -486
+x o -486
+x g -486
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+a v -975
+a y -975
+a w -975
+w o -486
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T i -486
+T S -486
+L a -975
+L S -975
+R o -975
+R y -486
+R O -486
+R G -486
+R C -486
+R U -486
+R Q -486
+G X -486
+G A -486
+P s -975
+P Z -975
+P X -975
+P W -975
+C X -486
+C W -486
+V i -486
+V S -486
+S T -975
+S V -975
+S Y -975
+S X -486
+S A -486
+S W -975
+Y i -486
+Y S -486
+X a -975
+X u -975
+X S -486
+A t -975
+A g -975
+A c -1461
+A d -1950
+A a -975
+A u -975
+A q -1950
+A S -975
+W i -486
+W S -486
+K c -1461
+K u -975
+K S -975
+o f -486
+h w -975
+n w -975
+p f -486
+p w -486
+c f -486
+c x -486
+v e -486
+v s -486
+e f -486
+e x -486
+e w -975
+b f -486
+y e -486
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+w e -486
+w s -486
+k o -486
+k g -486
+k c -486
+k v -486
+k e -486
+k d -486
+k y -486
+k a -486
+k w -486
+k q -486
+O Z -486
+R e -975
+R a -975
+R u -486
+R S -486
+G Z -486
+C Z -486
+Z o -975
+Z e -975
+Z d -975
+Z y -486
+Z a -975
+Z w -486
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z Q -486
+D Z -486
+B Z -486
+S Z -486
+J o -486
+J e -486
+J a -486
+K a -975
+o z -486
+h f -486
+n f -486
+p z -486
+c z -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z a -486
+z q -486
+b z -486
+a f -486
+k t -486
+k f -486
+k u -486
+A f -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -2439
+T char173 -2439
+T hy -2439
+T - -2439
+T en -2439
+T em -2439
+A ' -3414
+char173 T -2925
+hy T -2925
+- T -2925
+en T -2925
+em T -2925
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -486
+c ' -486
+e ' -1461
+b ' -1950
+a ' -975
+V char173 -1461
+V hy -1461
+V - -1461
+V en -1461
+V em -1461
+h ' -1461
+n ' -1461
+R ' -486
+W char173 -975
+W hy -975
+W - -975
+W en -975
+W em -975
+' d -1461
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1950
+A hy -1950
+A - -1950
+A en -1950
+A em -1950
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -975
+hy A -975
+- A -975
+en X -1461
+en A -975
+em X -1461
+R char173 -486
+R hy -486
+R - -486
+R en -486
+R em -486
+K ' -486
+b f -486
+k ' -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+k char173 -486
+k hy -486
+k - -486
+k en -486
+k em -486
+charset
+! 7317,18000,375,1944,753,737 2 3617
+" 12198,18375,0,1623,-2622,737 2 3618
+sh 14637,18069,444,1440,228,737 2 3619
+# "
+Do 14637,19839,3099,1341,702,737 2 3620
+$ "
+% 23418,17769,264,0,-2067 0 3621
+& 19029,18000,375,237,198,237 2 3622
+' 7317,18375,0,2511,-531,737 2 51751
+( 7317,18375,3165,3450,135,737 2 3624
+) 7317,18375,3165,1164,2421,737 2 3625
+* 14637,18150,0,63,-2364,63 2 3626
++ 23418,13164,534,0,-3528 0 3627
+, 7317,3966,5040,0,3423 1 3628
+char173 7317,8715,0,1497,1071,737 0 3629
+hy "
+- "
+. 7317,3849,375,0,627 0 3630
+sl 7317,19575,450,4377,2736,737 2 3631
+/ "
+0 14637,17700,375,933,-159,737 0 3632
+1 14637,17700,69,0,-2430 0 3633
+2 14637,17700,201,921,858,737 0 3634
+3 14637,17700,375,372,819,372 0 3635
+4 14637,17394,69,1008,684,737 0 3636
+5 14637,17526,375,1362,669,737 0 3637
+6 14637,17700,375,399,-582,399 0 3638
+7 14637,17526,69,2931,-123,737 0 3639
+8 14637,17700,375,1155,174,737 0 3640
+9 14637,17700,375,843,-405,737 0 3641
+: 7317,11754,375,759,627,737 0 3642
+; 7317,11754,5040,759,3423,737 1 3643
+< 26346,16068,0,0,-3981 0 3644
+= 23418,9624,0,0,-4068 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 11709,18000,375,900,-1323,737 2 3647
+at 23418,16950,4131,966,348,737 0 3648
+@ "
+A 17565,18069,69,0,2586 2 3649
+B 16101,18069,69,864,306,737 2 3650
+C 17565,18375,375,2640,-600,737 2 3651
+D 20490,18069,69,720,279,720 2 3652
+E 13173,18201,201,2835,738,737 2 3653
+F 13173,18201,69,3051,612,737 2 3654
+G 20490,18375,375,1230,-798,737 2 3655
+H 20490,18069,69,1671,417,737 2 3656
+I 8781,18069,69,1779,441,737 2 3657
+J 8781,18069,4242,1551,2634,737 2 3658
+K 16101,18069,69,3528,366,737 2 3659
+L 13173,18069,201,201,168,201 2 3660
+M 23418,18069,414,1542,768,737 2 3661
+N 20490,18069,69,1383,192,737 2 3662
+O 21954,18375,375,942,-447,737 2 3663
+P 14637,18069,69,2064,519,737 2 3664
+Q 21954,18375,4200,1008,-396,737 2 3665
+R 16101,18069,69,900,387,737 2 3666
+S 13173,18375,375,1626,879,737 2 3667
+T 14637,18201,69,3006,-1071,737 2 3668
+U 20490,18069,375,1671,-1071,737 2 3669
+V 17565,18069,69,3372,-1446,737 2 3670
+W 24882,18069,69,3120,-1605,737 2 3671
+X 16101,18069,69,2451,1470,737 2 3672
+Y 16101,18069,69,3747,-1419,737 2 3673
+Z 16101,18201,201,2589,2115,737 2 3674
+lB 7317,18249,4749,3699,2235,737 2 3675
+[ "
+rs 7317,19575,450,0,-1611 2 3676
+\ "
+rB 7317,18249,4749,3696,2238,737 2 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,737 3 3679
+oq 7317,18375,0,2508,-528,737 2 51808
+` "
+a 13173,12840,375,189,954,189 0 3681
+b 14637,19779,375,666,1191,666 2 3682
+c 12684,12840,375,2118,171,737 0 3683
+d 14637,19569,375,2727,594,737 2 3684
+e 13173,12840,375,750,480,737 0 3685
+f 8781,19710,69,3357,996,737 2 3686
+g 13173,12840,5400,1836,1659,737 1 3687
+h 14637,19569,69,423,1242,423 2 3688
+i 7317,19308,69,1794,1131,737 2 3689
+j 7317,19308,5400,1797,3720,737 3 3690
+k 13173,19569,69,2670,1353,737 2 3691
+l 7317,19569,69,2586,1086,737 2 3692
+m 21954,12840,69,375,1272,375 0 3693
+n 14637,12840,69,438,1206,438 0 3694
+o 14637,12840,375,708,618,708 0 3695
+p 14637,12840,5469,663,2349,663 1 3696
+q 14637,12840,5469,1281,558,737 1 3697
+r 10245,12840,69,1326,1107,737 0 3698
+s 10245,12840,375,1188,1230,737 0 3699
+t 8781,17055,375,2148,-189,737 0 3700
+u 14637,12534,375,1230,417,737 0 3701
+v 13173,12534,69,2223,-768,737 0 3702
+w 20490,12534,69,2229,-954,737 0 3703
+x 13173,12534,69,1647,2190,737 0 3704
+y 13173,12534,5469,2040,1176,737 1 3705
+z 13173,12666,201,1464,1689,737 0 3706
+lC 13173,19935,6210,3339,-972,737 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 13173,19935,6210,63,2304,63 3 3709
+} "
+ti 26346,9435,0,0,-4029 0 51876
+char192 17565,24342,69,0,2586 2 3776
+`A "
+char194 17565,24321,69,0,2586 2 3778
+^A "
+char200 13173,24342,201,2835,738,737 2 3784
+`E "
+char202 13173,24321,201,2835,738,737 2 3786
+^E "
+char203 13173,23610,201,3084,738,737 2 3787
+:E "
+char206 8781,24321,69,4296,441,737 2 3790
+^I "
+char207 8781,23610,69,5280,441,737 2 3791
+:I "
+char180 14637,18801,0,297,-5763,297 2 3764
+aa "
+ga 14637,18801,0,0,-4419 2 3680
+a^ 14637,18780,0,0,-3456 2 3678
+^ "
+char168 14637,18090,0,429,-4023,429 2 3752
+ad "
+a~ 14637,17847,0,1308,-3438,737 2 3710
+~ "
+char217 20490,24342,375,1671,-1071,737 2 3801
+`U "
+char219 20490,24321,375,1671,-1071,737 2 3803
+^U "
+char221 16101,24342,69,3747,-1419,737 2 3805
+'Y "
+char253 13173,18801,5469,2040,1176,737 3 3837
+'y "
+char176 14637,17700,0,0,-2586 0 3760
+de "
+char199 17565,18375,5988,2640,-600,737 3 3783
+,C "
+char231 12684,12840,5733,2118,171,737 1 3815
+,c "
+char209 20490,23382,69,1383,192,737 2 3793
+~N "
+char241 14637,17847,69,1308,1206,737 2 3825
+~n "
+char161 7317,12906,5469,861,1836,737 1 3745
+r! "
+char191 11709,12906,5469,0,90 1 3775
+r? "
+char164 14637,15834,0,1452,477,737 0 3748
+Cs "
+char163 14637,17700,201,1260,1419,737 0 3747
+Po "
+char165 14637,18069,69,4212,-132,737 2 3749
+Ye "
+char167 14637,18375,1383,0,-933 2 3751
+sc "
+Fn 14637,19710,69,366,-1863,366 2 51871
+char162 14637,19812,342,2082,-1152,737 2 3746
+ct "
+char226 13173,18780,375,711,954,711 2 3810
+^a "
+char234 13173,18780,375,750,480,737 2 3818
+^e "
+char244 14637,18780,375,708,618,708 2 3828
+^o "
+char251 14637,18780,375,1230,417,737 2 3835
+^u "
+char225 13173,18801,375,1029,954,737 2 3809
+'a "
+char233 13173,18801,375,1029,480,737 2 3817
+'e "
+char243 14637,18801,375,708,618,708 2 3827
+'o "
+char250 14637,18801,375,1230,417,737 2 3834
+'u "
+char224 13173,18801,375,189,954,189 2 3808
+`a "
+char232 13173,18801,375,750,480,737 2 3816
+`e "
+char242 14637,18801,375,708,618,708 2 3826
+`o "
+char249 14637,18801,375,1230,417,737 2 3833
+`u "
+char228 13173,18090,375,1161,954,737 2 3812
+:a "
+char235 13173,18090,375,1161,480,737 2 3819
+:e "
+char246 14637,18090,375,708,618,708 2 3830
+:o "
+char252 14637,18090,375,1230,417,737 2 3836
+:u "
+char197 17565,25035,69,0,2586 2 3781
+oA "
+char238 7317,18780,69,3639,1134,737 2 3822
+^i "
+char216 21954,18375,1017,1311,-312,737 2 3800
+/O "
+char198 22932,18201,201,2844,2589,737 2 3782
+AE "
+char229 13173,18678,375,189,954,189 2 3813
+oa "
+char237 7317,18801,69,3957,1134,737 2 3821
+'i "
+char248 14637,13446,843,1227,1224,737 0 3832
+/o "
+char230 20004,12840,375,744,945,737 0 3814
+ae "
+char196 17565,23610,69,888,2586,737 2 3780
+:A "
+char236 7317,18801,69,1116,1134,737 2 3820
+`i "
+char214 21954,23610,375,942,-447,737 2 3798
+:O "
+char220 20490,23610,375,1671,-1071,737 2 3804
+:U "
+char201 13173,24342,201,3348,738,737 2 3785
+'E "
+char239 7317,18090,69,4089,1134,737 2 3823
+:i "
+char223 14637,19500,375,396,1206,396 2 3807
+ss "
+char212 21954,24321,375,942,-447,737 2 3796
+^O "
+char193 17565,24342,69,1152,2586,737 2 3777
+'A "
+char195 17565,23382,69,1752,2586,737 2 3779
+~A "
+char227 13173,17847,375,2040,954,737 2 3811
+~a "
+char208 20490,18069,69,720,318,720 2 3792
+-D "
+char240 14637,19674,375,831,618,737 2 3824
+Sd "
+char205 8781,24342,69,5544,441,737 2 3789
+'I "
+char204 8781,24342,69,1779,441,737 2 3788
+`I "
+char211 21954,24342,375,942,-447,737 2 3795
+'O "
+char210 21954,24342,375,942,-447,737 2 3794
+`O "
+char213 21954,23382,375,942,-447,737 2 3797
+~O "
+char245 14637,17847,375,1308,618,737 2 3829
+~o "
+vS 13173,24321,375,3120,879,737 2 51795
+vs 10245,18780,375,3117,1230,737 2 51827
+char218 20490,24342,375,1671,-1071,737 2 3802
+'U "
+:Y 16101,23610,69,3747,-1419,737 2 51801
+char255 13173,18090,5469,2040,1176,737 3 3839
+:y "
+char222 14637,18069,69,1347,384,737 2 3806
+TP "
+char254 14637,19779,5469,672,2361,672 3 3838
+Tp "
+char181 15612,12630,4680,1422,2907,737 0 3765
+char182 14637,19635,4200,18,-1140,18 2 3766
+ps "
+char190 23418,17769,444,0,-870 0 3774
+34 "
+\- 23418,7455,0,0,-3528 0 51757
+char188 23418,17865,444,0,-2133 2 3772
+14 "
+char189 23418,17865,444,0,-1794 2 3773
+12 "
+char170 9759,17700,0,765,-258,737 0 3754
+Of "
+char186 9759,17700,0,1815,-81,737 0 3770
+Om "
+char171 11220,10851,0,1272,132,737 0 3755
+Fo "
+char187 11220,10851,0,588,816,588 0 3771
+Fc "
+char177 23418,13080,4230,0,-3522 0 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19635,0,3885,-2094,737 2 3753
+co "
+char172 23418,10770,0,0,-3105 0 3756
+no "
+char174 13173,19635,0,3885,-2094,737 2 3758
+rg "
+char178 9270,17700,0,2130,-162,737 0 3762
+S2 "
+char179 9270,17700,0,1656,-123,737 0 3763
+S3 "
+char184 14637,393,5733,0,-1119 1 3768
+ac "
+char185 9270,17865,0,708,-1470,708 2 3769
+S1 "
+char215 23418,13107,567,0,-4626 0 3799
+char247 23418,12999,369,0,-3531 0 3831
+char183 7317,10899,0,282,-741,282 0 3767
+fm 7317,18096,0,1629,-2067,737 2 51873
+sd 14637,18096,0,0,-2067 2 51874
+dg 14637,18201,426,666,-762,666 2 51755
+tm 16101,17850,0,1425,-1962,737 2 51796
+ah 14637,18780,0,921,-4398,737 2 51935
+ao 14637,18678,0,0,-5652 2 51930
+f/ 2439,17769,444,7344,7137,737 0 51759
+em 23418,8070,0,759,219,737 0 51789
+en 14637,8070,0,681,459,681 0 51790
+dd 14637,18201,426,630,-726,630 2 51773
+.i 7317,12534,69,1116,1134,737 0 51957
+aq 7317,18375,0,1659,-2622,737 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 17565,24342,375,2640,-600,737 2 20166
+'c 12684,18801,375,2415,171,737 2 20198
+lq 11709,18375,0,2910,-387,737 2 51838
+rq 11709,18375,0,2895,-372,737 2 51746
+Bq 12198,3972,4527,0,2505 0 51772
+vz 13173,18780,201,1653,1689,737 2 51834
+fi 15612,19710,69,1506,900,737 2 51881
+fl 15612,19710,69,2385,816,737 2 51882
+ff 16587,19710,69,3507,816,737 2 51883
+Fi 23418,19710,69,1683,684,737 2 51884
+Fl 23418,19710,69,2499,666,737 2 51885
+ij 14637,19308,5400,1794,1131,737 3 51958
+bq 7317,3972,4527,0,2502 0 51756
+%0 33663,17769,264,0,-2289 0 51901
+char175 14637,17490,0,843,-3735,737 0 3759
+a- "
+ab 14637,18528,0,396,-3984,396 2 51926
+a. 14637,18786,0,0,-6408 2 51927
+oe 22443,12840,375,720,618,720 0 51823
+OE 24882,18375,375,2916,-513,737 2 51791
+fo 6831,10851,0,1296,132,737 0 51886
+fc 6831,10851,0,609,819,609 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 13173,18069,201,198,1188,198 2 51944
+/l 7317,19569,69,3264,1563,737 2 51960
+a" 14637,18801,0,3432,-3054,737 2 51933
+ho 14637,636,4140,0,-4476 0 51934
+vZ 16101,24321,201,2589,2115,737 2 51802
+IJ 17565,18069,4242,1548,441,737 2 51942
diff --git a/devlj4/OI b/devlj4/OI
new file mode 100644
index 000000000..6e17dff15
--- /dev/null
+++ b/devlj4/OI
@@ -0,0 +1,905 @@
+name OI
+spacewidth 7317
+slant 9.860000
+pcltypeface 4113
+pclproportional 1
+pclweight 0
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2439
+P . -3903
+P , -3903
+V A -3903
+A V -4389
+T o -3414
+T r -3414
+T c -3414
+T e -3414
+T d -3414
+T s -3414
+T y -3414
+T a -3903
+T w -3414
+T u -3414
+L T -2439
+L Y -2439
+Y o -2925
+Y e -2925
+Y a -3414
+A W -3903
+W A -2925
+T A -3414
+V o -2925
+V e -2925
+V a -3414
+Y A -2925
+F A -3903
+F . -3903
+F , -3903
+A T -4389
+A Y -4389
+v . -2925
+v , -2925
+y . -2925
+y , -2925
+T . -3414
+T , -3414
+L W -2439
+P A -3414
+V . -3903
+V , -3903
+Y . -2925
+Y , -2925
+W o -1950
+W e -1950
+W a -2439
+W . -2925
+W , -2925
+r . -2925
+r , -2925
+w . -2925
+w , -2925
+Y u -1461
+A v -2439
+A y -2925
+A w -2439
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -486
+e , -486
+b . -1950
+b , -1950
+O T -2925
+O V -1461
+O Y -1461
+O . -2439
+O , -2439
+L y -2439
+L O -2439
+L G -2439
+L C -2439
+L Q -2439
+V y -1461
+V u -1461
+V O -1461
+V G -1461
+V C -1461
+V Q -1461
+D T -2925
+D V -1461
+D Y -1461
+D . -2439
+D , -2439
+Y O -1461
+Y G -1461
+Y C -1461
+Y Q -1461
+F o -1950
+F e -1950
+F a -2439
+c . -486
+c , -486
+O A -1950
+O W -975
+L U -1950
+R T -1461
+R V -1461
+R Y -1461
+R W -1461
+G T -975
+P o -1461
+P g -975
+P e -1461
+P a -1950
+C A -975
+C . -975
+C , -975
+D A -1950
+D W -975
+B T -1950
+B Y -1461
+B . -1461
+B , -1461
+A O -1950
+A G -1950
+A C -1950
+A U -2439
+A Q -1950
+W r -975
+W y -975
+W u -975
+W O -975
+W G -975
+W C -975
+W Q -975
+J A -975
+J . -975
+J , -975
+U A -2439
+U . -2439
+U , -2439
+Q W -975
+f . -486
+f , -486
+T O -2439
+T G -2439
+T C -2439
+T Q -2439
+O X -1461
+L o -1950
+L e -1950
+L q -1950
+G V -975
+G Y -975
+G W -975
+G . -486
+G , -486
+P T -975
+P V -975
+P Y -975
+C T -975
+C V -975
+C Y -975
+D X -1461
+B V -1461
+B X -1461
+B A -1461
+B W -975
+S . -1461
+S , -1461
+F r -486
+F y -486
+F u -486
+F O -486
+F G -486
+F C -486
+F Q -486
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1950
+A e -1950
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -486
+o y -1461
+o x -975
+o w -486
+h v -486
+h y -1461
+n v -486
+n y -1461
+r g -486
+g . -486
+g , -486
+p v -486
+p y -1461
+p x -975
+c v -486
+c y -486
+c w -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -975
+v q -486
+e v -486
+e y -975
+b v -486
+b y -1461
+b w -486
+s . -975
+s , -975
+y o -486
+y g -486
+y c -486
+y d -486
+y a -975
+y q -486
+f g -486
+x o -975
+x g -975
+x c -975
+x e -975
+x d -975
+x a -975
+x q -975
+a v -486
+a y -1461
+a w -486
+w o -486
+w g -486
+w c -486
+w d -486
+w a -975
+w q -486
+T i -486
+T S -1461
+L a -975
+L S -486
+R o -975
+R y -975
+R O -975
+R G -975
+R C -975
+R U -1461
+R Q -975
+G X -486
+G A -486
+P s -975
+P Z -975
+P X -975
+P W -975
+C X -975
+C W -975
+V i -486
+V S -1461
+S T -486
+S V -486
+S Y -486
+S X -486
+S A -1461
+S W -486
+Y i -486
+Y S -1461
+X a -975
+X u -1461
+X S -486
+A t -1461
+A g -1461
+A c -1950
+A d -1950
+A a -1461
+A u -1950
+A q -1950
+A S -975
+W i -486
+W S -975
+K c -1461
+K u -1461
+K S -486
+t g -486
+o f -486
+h w -486
+n w -486
+r o -486
+r c -486
+r e -486
+r d -486
+r a -975
+r q -486
+p f -486
+p w -486
+c f -486
+c x -486
+v e -486
+v s -486
+e f -486
+e x -486
+e w -486
+b f -486
+y e -486
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -975
+f q -486
+w e -486
+w s -486
+k o -486
+k g -486
+k c -486
+k v -486
+k e -486
+k d -486
+k y -486
+k a -975
+k w -486
+k q -486
+O Z -975
+L J -1461
+R e -975
+R a -975
+R u -975
+R S -486
+G Z -486
+P U -486
+C Z -975
+E a -486
+Z o -975
+Z e -975
+Z d -975
+Z y -975
+Z a -975
+Z w -975
+Z u -975
+Z O -975
+Z G -975
+Z C -975
+Z S -486
+Z Q -975
+D Z -975
+B Z -975
+S Z -486
+F i -486
+F j -486
+F S -486
+A s -486
+A J -1950
+A . -486
+A , -486
+J o -486
+J e -486
+J a -975
+J U -486
+U g -486
+U J -486
+K a -975
+K J -486
+t o -486
+t c -486
+t e -486
+t d -486
+t a -975
+t q -486
+o z -486
+h f -486
+n f -486
+r s -486
+g a -486
+p z -486
+c z -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z a -975
+z q -486
+b z -486
+a f -486
+k t -486
+k f -486
+k u -486
+T U -486
+R J -975
+C a -486
+C U -486
+V U -486
+E U -486
+B a -486
+B U -486
+Y U -486
+F U -486
+X U -486
+A b -486
+A f -975
+W U -486
+U t -486
+U o -486
+U h -486
+U n -486
+U m -486
+U l -486
+U r -486
+U i -486
+U p -486
+U c -486
+U v -486
+U e -486
+U z -486
+U d -486
+U b -486
+U s -486
+U y -486
+U f -486
+U x -486
+U a -975
+U w -486
+U j -486
+U q -486
+U k -486
+U T -486
+U O -486
+U H -486
+U N -486
+U M -486
+U L -486
+U R -486
+U G -486
+U I -486
+U P -486
+U C -486
+U V -486
+U E -486
+U Z -486
+U D -486
+U B -486
+U S -486
+U Y -486
+U F -486
+U X -486
+U W -486
+U U -975
+U Q -486
+U K -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -975
+L ' -2439
+T char173 -3414
+T hy -3414
+T - -3414
+T en -3414
+T em -3414
+A ' -3903
+char173 T -3903
+hy T -3903
+- T -3903
+en T -3903
+em T -3903
+Y char173 -1461
+Y hy -1461
+Y - -1461
+Y en -1461
+Y em -1461
+p ' -1950
+c ' -486
+e ' -975
+b ' -1461
+a ' -1950
+V char173 -1461
+V hy -1461
+V - -1461
+V en -1461
+V em -1461
+h ' -1461
+n ' -1461
+R ' -975
+W char173 -975
+W hy -975
+W - -975
+W en -975
+W em -975
+' d -1461
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+F char173 -486
+F hy -486
+F - -486
+F en -486
+F em -486
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1950
+A hy -1950
+A - -1950
+A en -1950
+A em -1950
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1950
+hy A -1950
+- A -1950
+en X -1461
+en A -1950
+em X -1461
+R char173 -975
+R hy -975
+R - -975
+R en -975
+R em -975
+K ' -486
+t g -486
+b f -486
+k ' -486
+Z char173 -975
+Z hy -975
+Z - -975
+Z en -975
+Z em -975
+U ' -486
+k char173 -486
+k hy -486
+k - -486
+k en -486
+k em -486
+U char173 -486
+U hy -486
+U - -486
+U en -486
+U em -486
+charset
+! 7317,18000,330,723,-177,586 2 3617
+" 10734,18375,0,678,-2778,586 2 3618
+sh 14637,17769,444,1371,570,586 0 3619
+# "
+Do 14637,19515,3105,0,6 2 3620
+$ "
+% 23418,17769,444,0,-2766 0 3621
+& 17565,18000,375,264,174,264 2 3622
+' 7317,18375,0,1704,-1407,586 2 51751
+( 7317,18375,3165,2625,-300,586 2 3624
+) 7317,18375,3165,54,2271,54 2 3625
+* 14637,18150,0,0,-2148 2 3626
++ 23418,13260,393,0,-3789 0 3627
+, 7317,2700,4611,0,1776 0 3628
+char173 7317,7170,0,1245,1176,586 0 3629
+hy "
+- "
+. 7317,2622,330,0,-237 0 3630
+sl 7317,19650,480,2448,1203,586 2 3631
+/ "
+0 14637,17700,375,723,-180,586 0 3632
+1 14637,17700,69,0,-3339 0 3633
+2 14637,17700,201,0,-123 0 3634
+3 14637,17700,375,0,60 0 3635
+4 14637,17769,69,396,285,396 0 3636
+5 14637,17526,375,297,-102,297 0 3637
+6 14637,17700,375,0,-459 0 3638
+7 14637,17526,69,1713,-885,586 0 3639
+8 14637,17700,375,12,-147,12 0 3640
+9 14637,17700,375,267,-963,267 0 3641
+: 7317,11652,330,0,-237 0 3642
+; 7317,11652,4611,0,1776 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 23418,8622,0,0,-3732 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 10245,18000,330,1083,-1299,586 2 3647
+at 23418,16980,3654,435,87,435 0 3648
+@ "
+A 17565,18000,69,0,1896 2 3649
+B 16101,18069,69,0,-342 2 3650
+C 17565,18375,375,1455,-411,586 2 3651
+D 20490,18069,69,288,-363,288 2 3652
+E 13173,18201,201,1095,-102,586 2 3653
+F 13173,18201,69,1098,-126,586 2 3654
+G 19515,18375,375,1158,-669,586 2 3655
+H 20490,18069,69,627,-234,586 2 3656
+I 7806,18069,69,609,-249,586 2 3657
+J 7317,18069,3657,1026,2235,586 2 3658
+K 16101,18069,69,2220,-321,586 2 3659
+L 12198,18069,201,414,-222,414 2 3660
+M 23418,18069,69,543,-111,543 2 3661
+N 20490,18069,375,525,-246,525 2 3662
+O 21954,18375,375,555,-372,555 2 3663
+P 14637,18069,69,1464,-360,586 2 3664
+Q 21954,18375,4200,507,-348,507 2 3665
+R 16587,18069,69,498,-159,498 2 3666
+S 13173,18375,375,882,855,586 2 3667
+T 14637,18201,69,2493,-1080,586 2 3668
+U 20490,18069,375,669,-1455,586 2 3669
+V 16101,18069,69,2763,-747,586 2 3670
+W 24882,18069,69,2835,-918,586 2 3671
+X 14637,18069,69,2148,1377,586 2 3672
+Y 14637,18069,69,3225,-543,586 2 3673
+Z 16101,18201,201,1014,921,586 2 3674
+lB 7317,18201,4956,3090,1014,586 3 3675
+[ "
+rs 7317,19650,480,294,-1518,294 2 3676
+\ "
+rB 7317,18201,4956,1338,2766,586 3 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,586 3 3679
+oq 7317,18375,0,1704,-1407,586 2 51808
+` "
+a 13173,12795,330,168,582,168 0 3681
+b 14637,19779,330,279,651,279 2 3682
+c 12684,12795,330,1245,282,586 0 3683
+d 14637,19779,330,2097,-27,586 2 3684
+e 13173,12795,330,588,327,586 0 3685
+f 7317,19710,69,3714,57,586 2 3686
+g 13173,12996,5400,1656,876,586 1 3687
+h 14637,19779,69,0,348 2 3688
+i 7317,18336,69,885,-288,586 2 3689
+j 7317,18336,5400,876,1554,586 3 3690
+k 13173,19779,69,1581,249,586 2 3691
+l 7317,19779,69,1068,-111,586 2 3692
+m 21954,12534,69,0,414 0 3693
+n 14637,12795,69,0,282 0 3694
+o 14637,12795,330,453,351,453 0 3695
+p 14637,12795,5469,216,1740,216 1 3696
+q 14637,12795,5469,828,-51,586 1 3697
+r 8781,12795,69,1512,279,586 0 3698
+s 10245,12795,330,411,960,411 0 3699
+t 7806,15654,330,1212,258,586 0 3700
+u 14637,12534,330,372,-348,372 0 3701
+v 13173,12534,69,1632,-207,586 0 3702
+w 20490,12534,69,1974,-183,586 0 3703
+x 11709,12534,69,1191,1662,586 0 3704
+y 13173,12534,5469,1659,-57,586 1 3705
+z 13173,12666,201,795,714,586 0 3706
+lC 11709,19935,6210,2910,-1242,586 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 11709,19935,6210,0,2682 3 3709
+} "
+ti 26346,8952,0,0,-4029 0 51876
+char192 17565,24042,69,0,1896 2 3776
+`A "
+char194 17565,23745,69,0,1896 2 3778
+^A "
+char200 13173,24042,201,1095,-102,586 2 3784
+`E "
+char202 13173,23745,201,1095,-102,586 2 3786
+^E "
+char203 13173,22896,201,1455,-102,586 2 3787
+:E "
+char206 7806,23745,69,3768,-249,586 2 3790
+^I "
+char207 7806,22896,69,4140,-249,586 2 3791
+:I "
+char180 14637,18375,0,0,-6180 2 3764
+aa "
+ga 14637,18378,0,0,-4620 2 3680
+a^ 14637,18225,0,0,-3891 2 3678
+^ "
+char168 14637,17223,0,0,-3717 0 3752
+ad "
+a~ 14637,17166,0,0,-3717 0 3710
+~ "
+char217 20490,24042,375,669,-1455,586 2 3801
+`U "
+char219 20490,23745,375,669,-1455,586 2 3803
+^U "
+char221 14637,24048,69,3225,-543,586 2 3805
+'Y "
+char253 13173,18375,5469,1659,-57,586 3 3837
+'y "
+char176 14637,17700,0,0,-2664 0 3760
+de "
+char199 17565,18375,5736,1455,-411,586 3 3783
+,C "
+char231 12684,12795,5193,1245,282,586 1 3815
+,c "
+char209 20490,22812,375,525,-246,525 2 3793
+~N "
+char241 14637,17166,69,0,282 0 3825
+~n "
+char161 7317,12696,5634,0,639 1 3745
+r! "
+char191 10245,12696,5634,0,795 1 3775
+r? "
+char164 14637,15684,0,660,-117,586 0 3748
+Cs "
+char163 14637,17700,201,1269,1179,586 0 3747
+Po "
+char165 14637,18069,69,2862,-180,586 2 3749
+Ye "
+char167 14637,17865,3633,0,-960 2 3751
+sc "
+Fn 14637,19710,69,0,-3318 2 51871
+char162 14637,19782,0,393,-999,393 2 3746
+ct "
+char226 13173,18225,330,168,582,168 2 3810
+^a "
+char234 13173,18225,330,588,327,586 2 3818
+^e "
+char244 14637,18225,330,453,351,453 2 3828
+^o "
+char251 14637,18225,330,372,-348,372 2 3835
+^u "
+char225 13173,18375,330,168,582,168 2 3809
+'a "
+char233 13173,18375,330,588,327,586 2 3817
+'e "
+char243 14637,18375,330,453,351,453 2 3827
+'o "
+char250 14637,18375,330,372,-348,372 2 3834
+'u "
+char224 13173,18378,330,168,582,168 2 3808
+`a "
+char232 13173,18378,330,588,327,586 2 3816
+`e "
+char242 14637,18378,330,453,351,453 2 3826
+`o "
+char249 14637,18378,330,372,-348,372 2 3833
+`u "
+char228 13173,17223,330,285,582,285 0 3812
+:a "
+char235 13173,17223,330,588,327,586 0 3819
+:e "
+char246 14637,17223,330,453,351,453 0 3830
+:o "
+char252 14637,17223,330,372,-348,372 0 3836
+:u "
+char197 17565,23979,69,0,1896 2 3781
+oA "
+char238 7317,18225,69,2628,-231,586 2 3822
+^i "
+char216 21954,18375,375,1341,588,586 2 3800
+/O "
+char198 20979,18201,201,1296,3312,586 2 3782
+AE "
+char229 13173,17973,330,168,582,168 2 3813
+oa "
+char237 7317,18375,69,2973,-279,586 2 3821
+'i "
+char248 14637,12795,399,1320,1203,586 0 3832
+/o "
+char230 20490,12795,330,906,678,586 0 3814
+ae "
+char196 17565,22896,69,0,1896 2 3780
+:A "
+char236 7317,18378,69,174,-279,174 2 3820
+`i "
+char214 21954,22896,375,555,-372,555 2 3798
+:O "
+char220 20490,22896,375,669,-1455,586 2 3804
+:U "
+char201 13173,24048,201,1239,-102,586 2 3785
+'E "
+char239 7317,17223,69,3213,-57,586 0 3823
+:i "
+char223 14148,19710,330,147,516,147 2 3807
+ss "
+char212 21954,23745,375,555,-372,555 2 3796
+^O "
+char193 17565,24048,69,0,1896 2 3777
+'A "
+char195 17565,22812,69,0,1896 2 3779
+~A "
+char227 13173,17166,330,168,582,168 0 3811
+~a "
+char208 20490,18069,69,288,936,288 2 3792
+-D "
+char240 14637,19590,330,453,351,453 2 3824
+Sd "
+char205 7806,24048,69,3924,-249,586 2 3789
+'I "
+char204 7806,24042,69,909,-249,586 2 3788
+`I "
+char211 21954,24048,375,555,-372,555 2 3795
+'O "
+char210 21954,24042,375,555,-372,555 2 3794
+`O "
+char213 21954,22812,375,555,-372,555 2 3797
+~O "
+char245 14637,17166,330,453,351,453 0 3829
+~o "
+vS 13173,23745,375,1725,855,586 2 51795
+vs 10245,18225,330,1680,960,586 2 51827
+char218 20490,24048,375,669,-1455,586 2 3802
+'U "
+:Y 14637,22896,69,3225,-543,586 2 51801
+char255 13173,17223,5469,1659,-57,586 1 3839
+:y "
+char222 14637,18069,69,834,-351,586 2 3806
+TP "
+char254 14637,19779,5469,225,1752,225 3 3838
+Tp "
+char181 14637,12630,4350,1122,2931,586 0 3765
+char182 14637,19635,4200,135,-1257,135 2 3766
+ps "
+char190 23418,17850,525,0,-1326 2 3774
+34 "
+\- 23418,7122,0,0,-3801 0 51757
+char188 23418,17850,525,0,-2268 2 3772
+14 "
+char189 23418,17850,525,0,-2139 2 3773
+12 "
+char170 12198,17700,0,18,-1692,18 0 3754
+Of "
+char186 12198,17700,0,1029,-1608,586 0 3770
+Om "
+char171 9759,10920,0,849,306,586 0 3755
+Fo "
+char187 9759,10920,0,120,1035,120 0 3771
+Fc "
+char177 23418,13260,3132,0,-3333 0 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19635,0,3384,-1593,586 2 3753
+co "
+char172 23418,10671,0,0,-3015 0 3756
+no "
+char174 13173,19635,0,3384,-1593,586 2 3758
+rg "
+char178 10245,17700,0,705,-774,586 0 3762
+S2 "
+char179 10245,17700,0,525,-807,525 0 3763
+S3 "
+char184 14637,300,5193,0,-1905 1 3768
+ac "
+char185 10245,17700,0,0,-2472 0 3769
+S1 "
+char215 23418,13137,585,0,-3780 0 3799
+char247 23418,11139,0,0,-3900 0 3831
+char183 7317,10905,0,0,-1392 0 3767
+fm 7317,17700,0,1092,-1740,586 0 51873
+sd 14637,17700,0,0,-1740 0 51874
+dg 14637,18213,846,0,-1323 2 51755
+tm 16101,17850,0,924,-1461,586 2 51796
+ah 14637,18225,0,0,-4407 2 51935
+ao 14637,17973,0,0,-5853 2 51930
+f/ 3414,17850,525,7596,6609,586 2 51759
+em 23418,6885,0,390,537,390 0 51789
+en 14637,6885,0,507,537,507 0 51790
+dd 14637,18213,846,0,-1335 2 51773
+.i 7317,12534,69,174,-279,174 0 51957
+aq 7317,18375,0,705,-2778,586 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 17565,24048,375,1455,-411,586 2 20166
+'c 12684,18375,330,1245,282,586 2 20198
+lq 11220,18375,0,1620,-1311,586 2 51838
+rq 11220,18375,0,1527,-1218,586 2 51746
+Bq 11220,2535,4482,0,1782 0 51772
+vz 13173,18225,201,795,714,586 2 51834
+fi 14637,19710,69,876,45,586 2 51881
+fl 14637,19710,69,1137,117,586 2 51882
+ff 14637,19710,69,3714,57,586 2 51883
+Fi 21954,19710,69,876,48,586 2 51884
+Fl 21954,19710,69,1137,120,586 2 51885
+ij 14148,18336,5400,873,-288,586 3 51958
+bq 7317,2535,4482,0,1593 0 51756
+%0 32202,17769,444,0,-2811 0 51901
+char175 14637,16521,0,0,-3732 0 3759
+a- "
+ab 14637,18165,0,0,-3657 2 51926
+a. 14637,17400,0,0,-6228 0 51927
+oe 23418,12795,330,696,354,586 0 51823
+OE 24396,18375,375,1089,-372,586 2 51791
+fo 6342,10920,0,624,243,586 0 51886
+fc 6342,10920,0,0,972 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 12198,18069,201,405,1215,405 2 51944
+/l 7317,19779,69,2694,1233,586 2 51960
+a" 14637,18375,0,1413,-3645,586 2 51933
+ho 14637,600,3876,0,-6093 0 51934
+vZ 16101,23745,201,1014,921,586 2 51802
+IJ 15126,18069,3657,1026,-249,586 2 51942
diff --git a/devlj4/OR b/devlj4/OR
new file mode 100644
index 000000000..140d98402
--- /dev/null
+++ b/devlj4/OR
@@ -0,0 +1,876 @@
+name OR
+spacewidth 7317
+pcltypeface 4113
+pclproportional 1
+pclweight 0
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -3414
+P . -3903
+P , -3903
+V A -4389
+A V -4389
+T o -3903
+T r -3414
+T c -3903
+T e -3903
+T d -3903
+T s -3903
+T y -3903
+T a -3903
+T w -3903
+T u -3903
+L T -3414
+L Y -3414
+Y o -3903
+Y e -3903
+Y a -3903
+A W -3903
+W A -3903
+T A -3414
+V o -3414
+V e -3414
+V a -3414
+Y A -4389
+F A -3414
+F . -3414
+F , -3414
+A T -3414
+A Y -4389
+v . -2925
+v , -2925
+y . -2925
+y , -2925
+T . -3414
+T , -3414
+L W -3414
+P A -2925
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -2925
+W e -2925
+W a -2925
+W . -3903
+W , -3903
+r . -2925
+r , -2925
+w . -1950
+w , -1950
+Y u -2439
+A v -1950
+A y -1950
+A w -1461
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -975
+e , -975
+b . -1461
+b , -1461
+O T -2439
+O V -2439
+O Y -2439
+O . -2439
+O , -2439
+L y -2925
+L O -2439
+L G -2439
+L C -975
+L Q -2439
+V y -2439
+V u -2439
+V O -2439
+V G -2439
+V C -1461
+V Q -2439
+D T -1950
+D V -1950
+D Y -1950
+D . -1950
+D , -1950
+Y O -2439
+Y G -2439
+Y C -1461
+Y Q -2439
+F o -1461
+F e -1461
+F a -1461
+c . -486
+c , -486
+O A -1461
+O W -1461
+L U -1461
+R T -975
+R V -975
+R Y -975
+R W -975
+G T -1461
+P o -1461
+P g -975
+P e -1461
+P a -1461
+C A -486
+C . -486
+C , -486
+D A -1461
+D W -1461
+B T -1461
+B Y -1461
+B . -1461
+B , -1461
+A O -1461
+A G -1461
+A C -975
+A U -1461
+A Q -1461
+W r -1461
+W y -1461
+W u -1461
+W O -1461
+W G -1461
+W C -1461
+W Q -1461
+J A -975
+J . -975
+J , -975
+U A -1461
+U . -1461
+U , -1461
+Q A -1461
+Q W -1461
+f . -486
+f , -486
+T O -2439
+T G -2439
+T C -1461
+T Q -2439
+O X -1461
+L o -1461
+L e -1461
+L q -1461
+G V -1461
+G Y -1461
+G W -1461
+G . -486
+G , -486
+P T -486
+P V -486
+P Y -486
+D X -1461
+B V -1461
+B X -1461
+B A -1461
+B W -1461
+S . -975
+S , -975
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -975
+X Q -1461
+A o -1461
+A e -1461
+Q X -1461
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -975
+K Q -1461
+o v -486
+o y -486
+o x -975
+h v -486
+h y -486
+n v -486
+n y -486
+m v -486
+m y -486
+g . -486
+g , -486
+p v -486
+p y -486
+p x -975
+c v -486
+c y -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -486
+e y -486
+b v -486
+b y -486
+s . -975
+s , -975
+y o -486
+y g -486
+y c -486
+y d -486
+y a -486
+y q -486
+f g -486
+x o -975
+x g -975
+x c -975
+x e -975
+x d -975
+x a -975
+x q -975
+a v -486
+a y -486
+T i -486
+T S -975
+L a -975
+L S -975
+R o -975
+R y -975
+R O -975
+R G -975
+R C -975
+R U -1461
+R Q -975
+G X -486
+G A -486
+P s -975
+P Z -486
+P X -486
+P W -486
+V i -486
+V S -975
+S T -975
+S V -975
+S Y -975
+S X -975
+S A -975
+S W -975
+Y i -486
+Y S -975
+X a -975
+X u -1461
+X S -975
+A t -1461
+A g -975
+A c -1461
+A d -1461
+A a -975
+A u -1461
+A q -1461
+A S -975
+W i -486
+W S -975
+K c -1461
+K u -1461
+K S -975
+c x -486
+v e -486
+v s -486
+e x -975
+s v -486
+s y -486
+s x -486
+y e -486
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+x s -486
+k o -486
+k g -486
+k c -486
+k v -486
+k e -486
+k d -486
+k y -486
+k a -486
+k w -486
+k q -486
+O Z -975
+R e -975
+R a -975
+R u -975
+R S -975
+G Z -486
+P M -486
+P U -486
+Z o -975
+Z e -975
+Z d -975
+Z s -486
+Z y -975
+Z a -975
+Z w -975
+Z u -975
+Z O -975
+Z G -975
+Z C -975
+Z S -975
+Z Q -975
+D Z -975
+B Z -1461
+B J -486
+S Z -975
+A s -486
+J U -486
+U g -486
+U J -486
+K a -975
+o z -486
+p z -486
+c z -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z s -486
+z a -486
+z q -486
+b z -486
+s z -486
+k t -486
+k s -486
+k f -486
+k u -486
+T U -486
+G J -486
+C U -486
+V U -486
+E U -486
+B o -486
+B h -486
+B l -486
+B r -486
+B i -486
+B e -486
+B y -486
+B a -486
+B u -486
+B O -486
+B H -486
+B N -486
+B M -486
+B L -486
+B R -486
+B G -486
+B I -486
+B P -486
+B C -486
+B E -486
+B D -486
+B B -486
+B S -486
+B F -486
+B U -975
+B Q -486
+B K -486
+Y U -486
+F M -486
+F U -486
+X U -486
+A f -486
+W U -486
+U t -486
+U o -486
+U h -486
+U n -486
+U m -486
+U l -486
+U r -486
+U i -486
+U p -486
+U c -486
+U v -486
+U e -486
+U z -486
+U d -486
+U b -486
+U s -486
+U y -486
+U f -486
+U x -486
+U a -486
+U w -486
+U j -486
+U q -486
+U k -486
+U T -486
+U O -486
+U H -486
+U N -486
+U M -486
+U L -486
+U R -486
+U G -486
+U I -486
+U P -486
+U C -486
+U V -486
+U E -486
+U Z -486
+U D -486
+U B -486
+U S -486
+U Y -486
+U F -486
+U X -486
+U W -486
+U U -975
+U Q -486
+U K -486
+K U -486
+L ' -3414
+T char173 -3903
+T hy -3903
+T - -3903
+T en -3903
+T em -3903
+A ' -3903
+char173 T -3903
+hy T -3903
+- T -3903
+en T -3903
+em T -3903
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -1461
+c ' -486
+e ' -975
+b ' -1461
+a ' -1461
+V char173 -2439
+V hy -2439
+V - -2439
+V en -2439
+V em -2439
+h ' -1461
+n ' -1461
+m ' -1461
+R ' -975
+W char173 -1461
+W hy -1461
+W - -1461
+W en -1461
+W em -1461
+' d -1461
+s ' -486
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1461
+A hy -1461
+A - -1461
+A en -1461
+A em -1461
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1461
+hy A -1461
+- A -1461
+en X -1461
+en A -1461
+em X -1461
+R char173 -975
+R hy -975
+R - -975
+R en -975
+R em -975
+k ' -486
+M ' -486
+G ' -486
+Z char173 -975
+Z hy -975
+Z - -975
+Z en -975
+Z em -975
+B ' -486
+U ' -486
+' M -486
+k char173 -486
+k hy -486
+k - -486
+k en -486
+k em -486
+B char173 -486
+B hy -486
+B - -486
+B en -486
+B em -486
+U char173 -486
+U hy -486
+U - -486
+U en -486
+U em -486
+charset
+! 7317,18000,330 2 3617
+" 10734,18375 2 3618
+sh 14637,17994,405 2 3619
+# "
+Do 14637,19554,2919 2 3620
+$ "
+% 23418,17961,510 2 3621
+& 19029,17667,375 0 3622
+' 7317,18375 2 51751
+( 7317,18375,3165 2 3624
+) 7317,18375,3165 2 3625
+* 14637,18066 2 3626
++ 23418,13260,393 0 3627
+, 7317,2718,4923 1 3628
+char173 7317,7275 0 3629
+hy "
+- "
+. 7317,2715,330 0 3630
+sl 7317,19566,396 2 3631
+/ "
+0 14637,17700,375 0 3632
+1 14637,17700,69 0 3633
+2 14637,17700,201 0 3634
+3 14637,17700,375 0 3635
+4 14637,17394,69 0 3636
+5 14637,17526,375 0 3637
+6 14637,17700,375 0 3638
+7 14637,17526,69 0 3639
+8 14637,17700,375 0 3640
+9 14637,17700,375 0 3641
+: 7317,11805,330 0 3642
+; 7317,11805,4923 1 3643
+< 26346,16068 0 3644
+= 23418,8634 0 3645
+> 26346,16068 0 3646
+? 10245,18000,330 2 3647
+at 23418,16980,3654 0 3648
+@ "
+A 17565,18000,69 2 3649
+B 16101,18069,69 2 3650
+C 17565,18375,375 2 3651
+D 20490,18069,69 2 3652
+E 13173,18201,201 2 3653
+F 13173,18201,69 2 3654
+G 20490,18375,375 2 3655
+H 20490,18069,69 2 3656
+I 7317,18069,69 2 3657
+J 7317,18069,3855 2 3658
+K 16101,18069,69 2 3659
+L 13173,18069,201 2 3660
+M 23418,18000,69 2 3661
+N 20490,18069,375 2 3662
+O 21954,18375,375 2 3663
+P 14637,18069,69 2 3664
+Q 21954,18375,5400 3 3665
+R 16101,18069,69 2 3666
+S 13173,18375,375 2 3667
+T 14637,18201,69 2 3668
+U 20490,18069,375 2 3669
+V 17565,18069,69 2 3670
+W 26346,18069,69 2 3671
+X 16101,18069,69 2 3672
+Y 16101,18069,69 2 3673
+Z 16101,18201,201 2 3674
+lB 7317,18204,4179 2 3675
+[ "
+rs 7317,19566,396 2 3676
+\ "
+rB 7317,18204,4179 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 7317,18375 2 51808
+` "
+a 12684,12795,330 0 3681
+b 14637,19569,330 2 3682
+c 12684,12795,330 0 3683
+d 14637,19569,330 2 3684
+e 13173,12795,330 0 3685
+f 7317,19710,69 2 3686
+g 13173,12882,5400 1 3687
+h 14637,19569,69 2 3688
+i 7317,18399,69 2 3689
+j 7317,18399,5400 3 3690
+k 13173,19569,69 2 3691
+l 7317,19569,69 2 3692
+m 21954,12795,69 0 3693
+n 14637,12795,69 0 3694
+o 14637,12795,330 0 3695
+p 14637,12795,5469 1 3696
+q 14637,12795,5469 1 3697
+r 8781,12795,69 0 3698
+s 10245,12795,330 0 3699
+t 7317,16185,330 0 3700
+u 14637,12534,330 0 3701
+v 13173,12534,69 0 3702
+w 20490,12534,69 0 3703
+x 13173,12534,69 0 3704
+y 13173,12534,5469 1 3705
+z 13173,12666,201 0 3706
+lC 11709,19935,6210 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 11709,19935,6210 3 3709
+} "
+ti 26346,8952 0 51876
+char192 17565,23730,69 2 3776
+`A "
+char194 17565,23760,69 2 3778
+^A "
+char200 13173,23730,201 2 3784
+`E "
+char202 13173,23760,201 2 3786
+^E "
+char203 13173,22902,201 2 3787
+:E "
+char206 7317,23760,69 2 3790
+^I "
+char207 7317,22902,69 2 3791
+:I "
+char180 14637,18189 2 3764
+aa "
+ga 14637,18189 2 3680
+a^ 14637,18000 2 3678
+^ "
+char168 14637,17223 0 3752
+ad "
+a~ 14637,16980 0 3710
+~ "
+char217 20490,23730,375 2 3801
+`U "
+char219 20490,23760,375 2 3803
+^U "
+char221 16101,23730,69 2 3805
+'Y "
+char253 13173,18189,5469 3 3837
+'y "
+char176 14637,17700 0 3760
+de "
+char199 17565,18375,5988 3 3783
+,C "
+char231 12684,12795,5673 1 3815
+,c "
+char209 20490,22707,375 2 3793
+~N "
+char241 14637,16980,69 0 3825
+~n "
+char161 7317,12696,5634 1 3745
+r! "
+char191 10245,12696,5634 1 3775
+r? "
+char164 14637,15684 0 3748
+Cs "
+char163 14637,17700,201 0 3747
+Po "
+char165 14637,17769,69 2 3749
+Ye "
+char167 14637,18000,3633 2 3751
+sc "
+Fn 14637,19710,69 2 51871
+char162 14637,19155,93 2 3746
+ct "
+char226 12684,18000,330 2 3810
+^a "
+char234 13173,18000,330 2 3818
+^e "
+char244 14637,18000,330 2 3828
+^o "
+char251 14637,18000,330 2 3835
+^u "
+char225 12684,18189,330 2 3809
+'a "
+char233 13173,18189,330 2 3817
+'e "
+char243 14637,18189,330 2 3827
+'o "
+char250 14637,18189,330 2 3834
+'u "
+char224 12684,18189,330 2 3808
+`a "
+char232 13173,18189,330 2 3816
+`e "
+char242 14637,18189,330 2 3826
+`o "
+char249 14637,18189,330 2 3833
+`u "
+char228 12684,17223,330 0 3812
+:a "
+char235 13173,17223,330 0 3819
+:e "
+char246 14637,17223,330 0 3830
+:o "
+char252 14637,17223,330 0 3836
+:u "
+char197 17565,23964,69 2 3781
+oA "
+char238 7317,18000,69 2 3822
+^i "
+char216 21954,18375,375 2 3800
+/O "
+char198 21468,18201,201 2 3782
+AE "
+char229 12684,18045,330 2 3813
+oa "
+char237 7317,18189,69 2 3821
+'i "
+char248 14637,12876,330 0 3832
+/o "
+char230 20490,12795,330 0 3814
+ae "
+char196 17565,22902,69 2 3780
+:A "
+char236 7317,18189,69 2 3820
+`i "
+char214 21954,22902,375 2 3798
+:O "
+char220 20490,22902,375 2 3804
+:U "
+char201 13173,23730,201 2 3785
+'E "
+char239 7317,17223,69 0 3823
+:i "
+char223 14637,19710,330 2 3807
+ss "
+char212 21954,23760,375 2 3796
+^O "
+char193 17565,23730,69 2 3777
+'A "
+char195 17565,22707,69 2 3779
+~A "
+char227 12684,16980,330 0 3811
+~a "
+char208 20490,18069,69 2 3792
+-D "
+char240 14637,19500,330 2 3824
+Sd "
+char205 7317,23730,69 2 3789
+'I "
+char204 7317,23730,69 2 3788
+`I "
+char211 21954,23730,375 2 3795
+'O "
+char210 21954,23730,375 2 3794
+`O "
+char213 21954,22707,375 2 3797
+~O "
+char245 14637,16980,330 0 3829
+~o "
+vS 13173,23760,375 2 51795
+vs 10245,18183,330 2 51827
+char218 20490,23730,375 2 3802
+'U "
+:Y 16101,22902,69 2 51801
+char255 13173,17223,5469 1 3839
+:y "
+char222 14637,18069,69 2 3806
+TP "
+char254 14637,19569,5469 3 3838
+Tp "
+char181 14637,12630,4350 0 3765
+char182 14637,19635,4200 2 3766
+ps "
+char190 23418,17700,519 0 3774
+34 "
+\- 23418,7122 0 51757
+char188 23418,17700,519 0 3772
+14 "
+char189 23418,17700,519 0 3773
+12 "
+char170 10734,17700 0 3754
+Of "
+char186 10734,17700 0 3770
+Om "
+char171 9759,10809 0 3755
+Fo "
+char187 9759,10809 0 3771
+Fc "
+char177 23418,13260,3132 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 23418,10671 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 9759,17700 0 3762
+S2 "
+char179 9759,17700 0 3763
+S3 "
+char184 14637,0,5673 1 3768
+ac "
+char185 9759,17700 0 3769
+S1 "
+char215 23418,13137,585 0 3799
+char247 23418,11139 0 3831
+char183 7317,10407 0 3767
+fm 7317,17700 0 51873
+sd 14637,17700 0 51874
+dg 14637,18213,846 2 51755
+tm 16101,17850 2 51796
+ah 14637,18183 2 51935
+ao 14637,18045 2 51930
+f/ 2439,17637,519 0 51759
+em 23418,6867 0 51789
+en 14637,6867 0 51790
+dd 14637,18213,846 2 51773
+.i 7317,12534,69 0 51957
+aq 7317,18375 2 3623
+bu 13173,14226 0 51889
+'C 17565,23730,375 2 20166
+'c 12684,18189,330 2 20198
+lq 11220,18375 2 51838
+rq 11220,18375 2 51746
+Bq 11220,2718,4509 0 51772
+vz 13173,18183,201 2 51834
+fi 14148,19710,69 2 51881
+fl 14148,19779,69 2 51882
+ff 14637,19710,69 2 51883
+Fi 21468,19710,69 2 51884
+Fl 21468,19779,69 2 51885
+ij 14148,18399,5400 3 51958
+bq 7317,2718,4509 0 51756
+%0 32202,17769,444 2 51901
+char175 14637,16662 0 3759
+a- "
+ab 14637,18111 2 51926
+a. 14637,17223 0 51927
+oe 23418,12795,330 0 51823
+OE 24396,18375,375 2 51791
+fo 5856,10809 0 51886
+fc 5856,10809 0 51887
+sq 19029,15624 0 51899
+/L 13173,18069,201 2 51944
+/l 7317,19569,69 2 51960
+a" 14637,18189 2 51933
+ho 14637,1059,3885 0 51934
+vZ 16101,23760,201 2 51802
+IJ 14637,18069,3855 2 51942
diff --git a/devlj4/S b/devlj4/S
new file mode 100644
index 000000000..599867f60
--- /dev/null
+++ b/devlj4/S
@@ -0,0 +1,195 @@
+name S
+special
+spacewidth 7806
+pcltypeface 4101
+pclproportional 1
+pclweight 0
+pclstyle 0
+kernpairs
+*T *A -2925
+*A *T -2925
+*R *A -3903
+*O *T -1950
+*O *A -2439
+*B *T -1950
+*A *O -2439
+*T *O -1950
+*O *X -1461
+*B *X -1461
+*B *A -1950
+*X *O -1461
+*K *O -1461
+*O *Z -486
+*Z *O -486
+*B *Z -486
+*N *A -486
+*K *T -486
+charset
+pl 23418,15750 0 68907
+eq 23418,10875 0 68925
+*A 19029,18225 2 68929
+*B 16587,17895 2 68930
+*E 16587,17895 2 68933
+*Y 19515,17895 2 68935
+*I 8781,17895 2 68937
+*K 18540,17895 2 68938
+*M 23907,17895 2 68940
+*N 19515,17895,330 2 68941
+*O 19029,18225,330 2 68943
+*R 15126,17895 2 68945
+*T 16587,17895 2 68947
+*X 19029,17895 2 68950
+*Z 17076,17895 2 68934
+or 13173,19758,6588 3 44412
+ap 26346,8952 0 44414
+mi 23418,8610 0 68909
++- 23418,15750,2625 0 69118
+no 23418,12165 0 69064
+mu 23418,15117 0 68906
+di 23418,14010 0 68901
+HE 26346,19500 2 44457
+DI 26346,19500,840 2 44456
+CL 26346,18951 2 44455
+SP 26346,19851 2 44458
+va 19029,17670 2 69033
+ua 19029,17670 2 69025
+da 19029,17670 2 69027
+-> 19029,12231 0 69026
+<- 19029,12231 0 69028
+<> 19029,12453 0 69034
+if 26346,12846 0 68900
+ca 26346,16650 0 69046
+== 26346,11634 0 68989
+>= 26346,15960 0 68958
+<= 26346,15960 0 68956
+~~ 26346,11172 0 68927
+md 8781,10407 0 69066
+sr 19029,23322 2 68897
+pt 26346,12723 0 68902
++e 11709,12705,555 0 68923
+tf 26346,16545 0 68928
+3d "
+*G 16101,18045 2 68931
+*D 17565,18045 2 68932
+*H 19029,18450,405 2 68936
+*L 17565,18045 2 68939
+*C 17565,19335,1752 2 68942
+*P 19029,18045 2 68944
+*S 16101,18045 2 68946
+*U 16101,18450 2 68948
+*F 17565,18045 2 68949
+*Q 20490,18045 2 68951
+*W 16101,18450 2 68952
+gr 17565,18045 2 68953
+pd 13173,18450,405 2 68954
+ts 13173,12600,4734 0 68955
+!= 26346,15396,1197 0 68957
+*a 16101,11205,405 0 68961
+*b 14637,18450,4260 2 68962
+*g 14637,11205,5595 1 68963
+*d 11709,18450,405 2 68964
+*e 10245,11205,405 0 68965
+*z 11709,17508,4920 2 68966
+*y 13173,11205,5283 1 68967
+*h 11709,18450,405 2 68968
+*i 7317,10800,405 0 68969
+*k 11709,11205,405 0 68970
+*l 14637,18450,405 2 68971
+*m 14637,10800,5595 1 68972
+*n 11709,11205,405 0 68973
+*c 13173,18450,4647 2 68974
+*o 11709,11205,405 0 68975
+*p 16101,11295,405 0 68976
+*r 13173,11205,4527 0 68977
+*s 13173,11544,405 0 68978
+*t 11709,11295,405 0 68979
+*u 11709,11205,405 0 68980
+*f 16101,17304,4314 2 68981
+*x 14637,11205,4734 0 68982
+*q 16101,18450,4734 2 68983
+*w 16101,11205,405 0 68984
++h 16101,18450,405 2 68985
++f 16101,11205,4608 0 68986
++p 16101,11442,405 0 68987
+~= 26346,11436 0 68988
+ne 26346,15300,966 0 68990
+uA 19029,17553,1536 2 69029
+arrowverttp "
+rh 19029,13407 0 69030
+rA "
+dA 19029,17553,1536 2 69031
+arrowvertbt "
+lh 19029,13407 0 69032
+lA "
+vA 19029,17553,1812 2 69035
+hA 19029,14346 0 69036
+radicalex 19029,23322 2 69040
+fa 15612,15153 0 69041
+te 11220,15165 0 69042
+pp 26346,16560 0 69044
+cu 26346,16650 0 69045
+mo 26346,17925 2 69047
+nm 26346,20625,2700 2 69049
+sb 26346,16290 0 69050
+sp 26346,16290 0 69051
+nb 26346,18165,1875 2 69052
+nc 26346,18165,1875 2 69053
+ib 26346,16641 0 69054
+ip 26346,16641 0 69055
+c+ 26346,18900 2 69056
+c* 26346,18900 2 69058
+AN 26346,15240 0 69061
+OR 26346,15240 0 69062
+ci 26346,18900 2 69069
+is 26346,20268,5997 3 69077
+/_ 26346,19365 2 69079
+es 26346,18465,435 2 69080
+Ah 13173,13980 0 69081
+Im 19029,18255,1890 2 69085
+Re 20490,18255,1890 2 69086
+lc 19029,23322,5124 3 69088
+bracketlefttp "
+lf 19029,23322,5124 3 69089
+bracketleftbt "
+lt 19029,19758,6588 3 69090
+parenlefttp "
+bracelefttp "
+lk 19029,19758,6588 3 69091
+braceleftmid "
+lb 19029,19758,6588 3 69092
+parenleftbt "
+braceleftbt "
+arrowvertex 19029,23322,6588 3 69097
+rc 19029,23322,5124 3 69104
+bracketrighttp "
+rf 19029,23322,5124 3 69105
+bracketrightbt "
+rt 19029,19758,6588 3 69106
+parenrighttp "
+bracerighttp "
+rk 19029,19758,6588 3 69107
+bracerightmid "
+rb 19029,19758,6588 3 69108
+parenrightbt "
+bracerightbt "
+bv 19029,23322,6588 3 69109
+bracerightex "
+braceleftex "
+parenrightex 19029,23322,6588 3 69110
+parenleftex "
+bracketrightex "
+bracketleftex "
+barex "
+-+ 26346,18366 2 69117
+la 8781,21000,4950 2 44513
+ra 8781,21000,4950 2 44529
+=~ 26346,14187 0 69103
+<< 26346,15294,1086 0 128316
+>> 26346,15294,1086 0 128318
+-h 15126,18564,486 2 128328
+wp 17076,13026,4218 0 44483
+lz 26346,17844,294 2 44512
+st 12198,12846,396 0 69076
+** 26346,13275 0 69102
+an 19029,8676 0 69100
+CR 26346,12165 0 44479
diff --git a/devlj4/TB b/devlj4/TB
new file mode 100644
index 000000000..c352b153d
--- /dev/null
+++ b/devlj4/TB
@@ -0,0 +1,971 @@
+name TB
+spacewidth 7806
+pcltypeface 4101
+pclproportional 1
+pclweight 3
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -3414
+P . -4389
+P , -4389
+V A -4878
+A V -4878
+T o -2925
+T r -1461
+T c -2439
+T e -2925
+T d -2925
+T s -2439
+T y -1461
+T a -2925
+T w -1461
+T u -1461
+T J -1461
+L T -2439
+L Y -3414
+Y o -4878
+Y e -4878
+Y a -4878
+Y J -1461
+A W -4389
+W A -4389
+T A -2439
+V o -3903
+V e -3903
+V a -3903
+Y A -3903
+F A -3903
+F . -3903
+F , -3903
+A T -2439
+A Y -3903
+v . -3414
+v , -3414
+y . -3414
+y , -3414
+T . -2439
+T , -2439
+L W -3414
+P A -3414
+V J -1461
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -3414
+W e -3414
+W a -3414
+W . -3903
+W , -3903
+r . -3414
+r , -3414
+w . -3414
+w , -3414
+Y u -3414
+A v -3414
+A y -3414
+A w -3414
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -975
+e , -975
+b . -486
+b , -486
+O T -1461
+O V -2439
+O Y -2925
+O . -2925
+O , -2925
+L y -1950
+L O -975
+L G -975
+L C -975
+L Q -975
+P J -975
+V y -2439
+V u -2439
+V O -2439
+V G -2439
+V C -2439
+V Q -2439
+D T -1461
+D V -2439
+D Y -2925
+D . -2925
+D , -2925
+Y O -2925
+Y G -2925
+Y C -2925
+Y Q -2925
+F o -1950
+F e -1950
+F a -1950
+c . -975
+c , -975
+O A -2439
+O W -1950
+L U -1461
+R T -1950
+R V -1950
+R Y -1950
+R W -1950
+G T -1461
+P o -975
+P g -975
+P e -975
+P a -975
+C A -2439
+C . -2439
+C , -2439
+D A -2439
+D W -1950
+B T -1461
+B Y -1461
+B . -1461
+B , -1461
+F J -1461
+A O -2439
+A G -2439
+A C -2439
+A U -2439
+A Q -2439
+W r -1950
+W y -1950
+W u -1950
+W O -1950
+W G -1950
+W C -1950
+W J -1461
+W Q -1950
+J A -1461
+J . -1461
+J , -1461
+U A -2439
+U . -2439
+U , -2439
+Q A -2439
+Q W -1950
+T O -1461
+T G -1461
+T C -1461
+T Q -1461
+O X -1950
+L o -975
+L e -975
+L q -975
+G V -1461
+G Y -1461
+G W -1461
+G . -1461
+G , -1461
+P T -486
+P V -486
+P Y -486
+C T -975
+C V -975
+C Y -975
+D X -1950
+B V -1461
+B X -1461
+B A -1461
+B W -1461
+S . -1461
+S , -1461
+F r -486
+F y -486
+F u -486
+F O -486
+F G -486
+F C -486
+F Q -486
+X o -1461
+X e -1461
+X y -1950
+X O -1950
+X G -1950
+X C -1950
+X Q -1950
+A o -1461
+A e -1461
+Q X -1950
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -975
+o y -975
+o x -975
+o w -975
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+r g -486
+g . -1461
+g , -1461
+c v -975
+c y -975
+c w -975
+v o -975
+v g -975
+v c -975
+v d -975
+v a -975
+v q -975
+e v -975
+e y -975
+b v -486
+b y -486
+b w -486
+s . -975
+s , -975
+y o -975
+y g -975
+y c -975
+y d -975
+y a -975
+y q -975
+f g -486
+x o -975
+x g -486
+x c -975
+x e -975
+x d -975
+x a -975
+x q -975
+a v -975
+a y -975
+a w -975
+w o -975
+w g -975
+w c -975
+w d -975
+w a -975
+w q -975
+T i -975
+T S -1461
+L a -975
+L S -486
+R o -975
+R y -975
+R O -975
+R G -975
+R C -975
+R U -1461
+R Q -975
+G X -1461
+G A -1461
+P s -975
+P Z -486
+P X -486
+P W -486
+C X -975
+C W -975
+C J -486
+V i -975
+V S -1461
+S T -486
+S V -486
+S Y -486
+S X -486
+S A -1461
+S W -486
+Y i -975
+Y S -1461
+X a -975
+X u -975
+X S -486
+A t -975
+A g -486
+A c -975
+A d -1461
+A a -975
+A u -975
+A q -1461
+A S -486
+W i -975
+W S -1461
+K c -975
+K u -975
+K S -486
+t g -486
+t . -486
+t , -486
+o f -486
+h w -975
+n w -975
+m w -975
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+c f -486
+c x -975
+v e -975
+v s -975
+e f -486
+e x -975
+e w -975
+b f -486
+s v -486
+s y -486
+s f -486
+s x -486
+s w -486
+y e -975
+y s -975
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+x s -486
+w e -975
+w s -975
+k o -486
+k g -486
+k c -486
+k v -486
+k e -486
+k d -486
+k y -486
+k a -486
+k w -486
+k q -486
+O Z -486
+N . -486
+N , -486
+R e -975
+R a -975
+R u -975
+R S -486
+G Z -486
+P U -486
+C Z -975
+E t -486
+E o -486
+E g -486
+E c -486
+E v -486
+E e -486
+E d -486
+E y -486
+E f -486
+E a -486
+E w -486
+E u -486
+E q -486
+E O -486
+E G -486
+E C -486
+E S -486
+E J -486
+E Q -486
+E . -486
+E , -486
+Z o -486
+Z e -486
+Z d -486
+Z s -486
+Z y -975
+Z a -486
+Z w -975
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z Q -486
+D Z -486
+B Z -486
+S Z -486
+F i -486
+F j -975
+F S -486
+A s -486
+U g -486
+U J -486
+K a -975
+t o -486
+t c -486
+t e -486
+t d -486
+t s -486
+t a -486
+t j -486
+t q -486
+o z -486
+r s -486
+r j -486
+c z -486
+v j -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z s -486
+z a -486
+z q -486
+b z -486
+s z -486
+y j -486
+w j -486
+k t -486
+k s -486
+k u -486
+N A -486
+C t -486
+C o -486
+C h -486
+C l -486
+C r -486
+C i -486
+C e -486
+C y -486
+C a -486
+C u -486
+C O -486
+C H -486
+C N -486
+C M -486
+C L -486
+C R -486
+C G -486
+C I -486
+C P -486
+C C -486
+C E -486
+C D -486
+C B -486
+C S -486
+C F -486
+C U -975
+C Q -486
+C K -486
+E n -486
+E m -486
+E l -486
+E r -486
+E i -486
+E p -486
+E z -486
+E b -486
+E s -486
+E x -486
+E j -486
+E k -486
+E T -486
+E H -486
+E N -486
+E M -486
+E L -486
+E R -486
+E I -486
+E P -486
+E V -486
+E E -486
+E Z -486
+E D -486
+E B -486
+E Y -486
+E F -486
+E X -486
+E A -486
+E W -486
+E U -486
+E K -486
+B U -486
+U t -486
+U o -486
+U n -486
+U m -486
+U r -486
+U i -486
+U p -486
+U c -486
+U v -486
+U e -486
+U z -486
+U d -486
+U s -486
+U y -486
+U f -486
+U x -486
+U a -486
+U w -486
+U j -486
+U q -486
+U O -486
+U G -486
+U C -486
+U S -486
+U Q -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -3414
+T char173 -1461
+T hy -1461
+T - -1461
+T en -1461
+T em -1461
+A ' -3414
+char173 T -1461
+hy T -1461
+- T -1461
+en T -1461
+em T -1461
+Y char173 -3414
+Y hy -3414
+Y - -3414
+Y en -3414
+Y em -3414
+c ' -975
+e ' -975
+b ' -486
+a ' -1461
+V char173 -2439
+V hy -2439
+V - -2439
+V en -2439
+V em -2439
+h ' -975
+n ' -975
+m ' -975
+R ' -975
+W char173 -1950
+W hy -1950
+W - -1950
+W en -1950
+W em -1950
+' d -1461
+s ' -486
+L char173 -975
+L hy -975
+L - -975
+L en -975
+L em -975
+F char173 -486
+F hy -486
+F - -486
+F en -486
+F em -486
+X char173 -1950
+X hy -1950
+X - -1950
+X en -1950
+X em -1950
+A char173 -1950
+A hy -1950
+A - -1950
+A en -1950
+A em -1950
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -975
+char173 X -1950
+hy X -1950
+- X -1950
+char173 A -1950
+hy A -1950
+- A -1950
+en X -1950
+en A -1950
+em X -1950
+R char173 -975
+R hy -975
+R - -975
+R en -975
+R em -975
+K ' -486
+t g -486
+b f -486
+k ' -486
+C ' -486
+E ' -486
+E char173 -486
+E hy -486
+E - -486
+E en -486
+E em -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+k char173 -486
+k hy -486
+k - -486
+k en -486
+k em -486
+C char173 -486
+C hy -486
+C - -486
+C en -486
+C em -486
+U char173 -486
+U hy -486
+U - -486
+U en -486
+U em -486
+charset
+! 8781,18045,405 2 3617
+" 12198,18450 2 3618
+sh 13173,18450,405 2 3619
+# "
+Do 13173,19755,2610 2 3620
+$ "
+% 23418,18237,405 2 3621
+& 21954,18045,405 2 3622
+' 8781,18450 2 51751
+( 8781,18450,4305 2 3624
+) 8781,18450,4305 2 3625
+* 13173,18450 2 3626
++ 23418,15975 0 3627
+, 8781,4380,4560 0 3628
+char173 8781,7740 0 3629
+hy "
+- "
+. 8781,4125,405 0 3630
+sl 8781,18450,405 2 3631
+/ "
+0 13173,18450,405 2 3632
+1 13173,18450 2 3633
+2 13173,18450 2 3634
+3 13173,18450,405 2 3635
+4 13173,18450 2 3636
+5 13173,18045,405 2 3637
+6 13173,18450,405 2 3638
+7 13173,18045 2 3639
+8 13173,18450,405 2 3640
+9 13173,18450,405 2 3641
+: 8781,12549,405 0 3642
+; 8781,12549,4560 0 3643
+< 26346,16068 0 3644
+= 23418,11370 0 3645
+> 26346,16068 0 3646
+? 13173,18045,405 2 3647
+at 23418,16950,4131 2 3648
+@ "
+A 19029,18450 2 3649
+B 17565,18045 2 3650
+C 19029,18450,405 2 3651
+D 19029,18045 2 3652
+E 17565,18045 2 3653
+F 16101,18045 2 3654
+G 20490,18519,405 2 3655
+H 20490,18045 2 3656
+I 10245,18045 2 3657
+J 12684,18045,405 2 3658
+K 20490,18045 2 3659
+L 17565,18045 2 3660
+M 24882,18045 2 3661
+N 19029,18045,405 2 3662
+O 20490,18450,405 2 3663
+P 16101,18045 2 3664
+Q 20490,18450,4515 2 3665
+R 19029,18045 2 3666
+S 14637,18450,462 2 3667
+T 17565,18045 2 3668
+U 19029,18045,405 2 3669
+V 19029,18045,405 2 3670
+W 26346,18045,405 2 3671
+X 19029,18045 2 3672
+Y 19029,18045 2 3673
+Z 17565,18045 2 3674
+lB 8781,18045,4305 2 3675
+[ "
+rs 8781,18450,405 2 3676
+\ "
+rB 8781,18045,4305 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 8781,18450 2 51808
+` "
+a 13173,12735,405 0 3681
+b 14637,18090,405 2 3682
+c 11709,12735,405 0 3683
+d 14637,18090,405 2 3684
+e 11709,12735,405 0 3685
+f 9270,18540 2 3686
+g 13173,12735,5484 1 3687
+h 14637,18090 2 3688
+i 7317,18450 2 3689
+j 8781,18450,5490 3 3690
+k 14637,18090 2 3691
+l 7317,18090 2 3692
+m 21954,12735 0 3693
+n 14637,12735 0 3694
+o 13173,12735,405 0 3695
+p 14637,12735,5490 1 3696
+q 14637,12828,5490 1 3697
+r 11709,12735 0 3698
+s 10245,12735,411 0 3699
+t 8781,16773,405 2 3700
+u 14637,12330,405 0 3701
+v 13173,12330,405 0 3702
+w 19029,12330,405 0 3703
+x 13173,12330 0 3704
+y 13173,12330,5490 1 3705
+z 11709,12330 0 3706
+lC 13173,19935,6210 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 13173,19935,6210 3 3709
+} "
+ti 26346,9435 0 51876
+char192 19029,24795 2 3776
+`A "
+char194 19029,24795 2 3778
+^A "
+char200 17565,24795 2 3784
+`E "
+char202 17565,24795 2 3786
+^E "
+char203 17565,23955 2 3787
+:E "
+char206 10245,24795 2 3790
+^I "
+char207 10245,23955 2 3791
+:I "
+char180 13173,19065 2 3764
+aa "
+ga 13173,19065 2 3680
+a^ 13173,19065 2 3678
+^ "
+char168 13173,17820 2 3752
+ad "
+a~ 13173,17772 2 3710
+~ "
+char217 19029,24795,405 2 3801
+`U "
+char219 19029,24795,405 2 3803
+^U "
+char221 19029,24795 2 3805
+'Y "
+char253 13173,19065,5490 3 3837
+'y "
+char176 13173,18450 2 3760
+de "
+char199 19029,18450,5532 3 3783
+,C "
+char231 11709,12735,5661 1 3815
+,c "
+char209 19029,23892,405 2 3793
+~N "
+char241 14637,17772 2 3825
+~n "
+char161 8781,12672,5778 1 3745
+r! "
+char191 13173,12846,5604 1 3775
+r? "
+char164 13173,16089 0 3748
+Cs "
+char163 13173,18450,429 2 3747
+Po "
+char165 13173,18045 2 3749
+Ye "
+char167 13173,18450,3225 2 3751
+sc "
+Fn 13173,18540,5490 3 51871
+char162 13173,17682 2 3746
+ct "
+char226 13173,19065,405 2 3810
+^a "
+char234 11709,19065,405 2 3818
+^e "
+char244 13173,19065,405 2 3828
+^o "
+char251 14637,19065,405 2 3835
+^u "
+char225 13173,19065,405 2 3809
+'a "
+char233 11709,19065,405 2 3817
+'e "
+char243 13173,19065,405 2 3827
+'o "
+char250 14637,19065,405 2 3834
+'u "
+char224 13173,19065,405 2 3808
+`a "
+char232 11709,19065,405 2 3816
+`e "
+char242 13173,19065,405 2 3826
+`o "
+char249 14637,19065,405 2 3833
+`u "
+char228 13173,17820,405 2 3812
+:a "
+char235 11709,17820,405 2 3819
+:e "
+char246 13173,17820,405 2 3830
+:o "
+char252 14637,17820,405 2 3836
+:u "
+char197 19029,24750 2 3781
+oA "
+char238 7317,19065 2 3822
+^i "
+char216 20490,18450,405 2 3800
+/O "
+char198 27321,18045 2 3782
+AE "
+char229 13173,19020,405 2 3813
+oa "
+char237 7317,19065 2 3821
+'i "
+char248 13173,12750,405 0 3832
+/o "
+char230 19029,12735,405 0 3814
+ae "
+char196 19029,23955 2 3780
+:A "
+char236 7317,19065 2 3820
+`i "
+char214 20490,23955,405 2 3798
+:O "
+char220 19029,23955,405 2 3804
+:U "
+char201 17565,24795 2 3785
+'E "
+char239 7317,17820 2 3823
+:i "
+char223 14637,18492,405 2 3807
+ss "
+char212 20490,24795,405 2 3796
+^O "
+char193 19029,24795 2 3777
+'A "
+char195 19029,23892 2 3779
+~A "
+char227 13173,17772,405 2 3811
+~a "
+char208 19029,18045 2 3792
+-D "
+char240 13173,18090,405 2 3824
+Sd "
+char205 10245,24795 2 3789
+'I "
+char204 10245,24795 2 3788
+`I "
+char211 20490,24795,405 2 3795
+'O "
+char210 20490,24795,405 2 3794
+`O "
+char213 20490,23892,405 2 3797
+~O "
+char245 13173,17772,405 2 3829
+~o "
+vS 14637,24795,462 2 51795
+vs 10245,19065,411 2 51827
+char218 19029,24795,405 2 3802
+'U "
+:Y 19029,23955 2 51801
+char255 13173,17820,5490 3 3839
+:y "
+char222 16101,18045 2 3806
+TP "
+char254 14637,18090,5490 3 3838
+Tp "
+char181 14637,10800,5193 1 3765
+char182 13173,19635,4200 2 3766
+ps "
+char190 23418,18450,405 2 3774
+34 "
+\- 23418,9000 0 51757
+char188 23418,18450,405 2 3772
+14 "
+char189 23418,18450,405 2 3773
+12 "
+char170 13173,18450 2 3754
+Of "
+char186 13173,18450 2 3770
+Om "
+char171 11220,9861 0 3755
+Fo "
+char187 11220,9861 0 3771
+Fc "
+char177 23418,15975,2880 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19725 2 3753
+co "
+char172 23418,12210 0 3756
+no "
+char174 13173,19725 2 3758
+rg "
+char178 9270,18285 2 3762
+S2 "
+char179 9270,18285 2 3763
+S3 "
+char184 13173,0,5661 1 3768
+ac "
+char185 9270,18285 2 3769
+S1 "
+char215 23418,15033 0 3799
+char247 23418,14505 0 3831
+char183 8781,11274 0 3767
+fm 8781,18450 2 51873
+sd 13173,18450 2 51874
+dg 13173,18450,3075 2 51755
+tm 16101,17550 2 51796
+ah 13173,19065 2 51935
+ao 13173,19020 2 51930
+f/ 3417,18450,405 2 51759
+em 23418,7200 0 51789
+en 13173,7200 0 51790
+dd 13173,18450,3075 2 51773
+.i 7317,12330 0 51957
+aq 8781,18450 2 3623
+bu 13173,14226 0 51889
+'C 19029,24795,405 2 20166
+'c 11709,19065,405 2 20198
+lq 15126,18450 2 51838
+rq 15126,18450 2 51746
+Bq 15126,4134,4806 0 51772
+vz 11709,19065 2 51834
+fi 14637,18540 2 51881
+fl 14637,19116 2 51882
+ff 16587,18540 2 51883
+Fi 21954,18540 2 51884
+Fl 21954,19116 2 51885
+ij 15075,18450,5490 3 51958
+bq 8781,4134,4806 0 51756
+%0 30738,18237,405 2 51901
+char175 13173,17259 2 3759
+a- "
+ab 13173,18285 2 51926
+a. 13173,17820 2 51927
+oe 19515,12735,405 0 51823
+OE 29760,18450,405 2 51791
+fo 6831,9861 0 51886
+fc 6831,9861 0 51887
+sq 19029,15624 0 51899
+/L 17565,18045 2 51944
+/l 7317,18090 2 51960
+a" 13173,19065 2 51933
+ho 13173,513,4413 0 51934
+vZ 17565,24795 2 51802
+IJ 23904,18045,405 2 51942
diff --git a/devlj4/TBI b/devlj4/TBI
new file mode 100644
index 000000000..59300fe80
--- /dev/null
+++ b/devlj4/TBI
@@ -0,0 +1,1023 @@
+name TBI
+spacewidth 7806
+slant 15.300000
+pcltypeface 4101
+pclproportional 1
+pclweight 3
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2925
+P . -4389
+P , -4389
+V A -3903
+A V -4389
+T o -2439
+T r -975
+T c -2439
+T e -2439
+T d -1950
+T s -1461
+T y -975
+T a -2439
+T w -975
+T u -975
+T J -1950
+L T -2439
+L Y -2925
+Y o -3903
+Y e -3903
+Y a -3414
+Y J -1950
+A W -3903
+W A -3414
+T A -2439
+V o -3414
+V e -3414
+V a -3414
+Y A -2925
+F A -2439
+F . -3903
+F , -3903
+A T -2439
+A Y -3414
+v . -2439
+v , -2439
+y . -2439
+y , -2439
+T . -2439
+T , -2439
+L W -2925
+P A -2925
+V J -1950
+V . -3903
+V , -3903
+Y . -2925
+Y , -2925
+W o -2925
+W e -2925
+W a -2925
+W . -3414
+W , -3414
+r . -3414
+r , -3414
+w . -2439
+w , -2439
+Y u -2439
+A v -2439
+A y -2925
+A w -2439
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -975
+e , -975
+b . -1461
+b , -1461
+O T -1461
+O V -1950
+O Y -1950
+O . -2439
+O , -2439
+L y -975
+P J -2925
+V y -1950
+V u -1950
+V O -1950
+V G -1950
+V C -1950
+V Q -1950
+D T -1461
+D V -1950
+D Y -1950
+D . -2439
+D , -2439
+Y O -2439
+Y G -2439
+Y C -2439
+Y Q -2439
+F o -1461
+F e -1461
+F a -1461
+c . -975
+c , -975
+O A -975
+O W -1950
+R T -1461
+R V -1461
+R Y -1461
+R W -1461
+G T -1461
+P o -1461
+P g -1461
+P e -1461
+P a -1461
+C A -1461
+C . -2439
+C , -2439
+D A -975
+D W -1950
+B T -1461
+B Y -1950
+B . -1461
+B , -1461
+F J -1950
+A O -1950
+A G -1950
+A C -1950
+A U -1950
+A Q -1950
+W r -1950
+W y -1950
+W u -1950
+W O -1950
+W G -1950
+W C -1950
+W J -1950
+W Q -1950
+J A -975
+J . -975
+J , -975
+U A -975
+U . -1950
+U , -1950
+Q A -975
+Q W -1950
+f . -975
+f , -975
+T O -975
+T G -975
+T C -975
+T Q -975
+O X -1461
+G V -1461
+G Y -1461
+G W -1461
+G . -486
+G , -486
+P T -1461
+P V -1461
+P Y -1461
+C T -975
+C V -975
+C Y -975
+D X -1461
+B V -1950
+B X -1461
+B A -975
+B W -1950
+S . -975
+S , -975
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1950
+A e -1950
+Q X -1461
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -975
+o y -975
+o x -486
+o w -975
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+r g -975
+g . -975
+g , -975
+p v -975
+p y -975
+p x -486
+c v -975
+c y -975
+c w -975
+v o -486
+v g -975
+v c -486
+v d -486
+v a -486
+v q -486
+e v -975
+e y -975
+b v -975
+b y -975
+b w -975
+s . -486
+s , -486
+y o -486
+y g -975
+y c -486
+y d -486
+y a -486
+y q -486
+f g -1461
+x o -486
+x g -486
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+w o -486
+w g -975
+w c -486
+w d -486
+w a -486
+w q -486
+T i -975
+T S -975
+R o -486
+R y -486
+R O -486
+R G -486
+R C -486
+R U -486
+R Q -486
+G X -486
+G A -486
+P s -486
+P Z -486
+P X -1461
+P W -1461
+C X -975
+C W -975
+C J -1461
+V i -975
+V S -975
+S T -1461
+S V -1461
+S Y -1461
+S X -975
+S A -975
+S W -1461
+Y i -975
+Y S -975
+X a -486
+X u -975
+X S -486
+A t -486
+A g -486
+A c -1950
+A d -1461
+A a -486
+A u -975
+A q -975
+A S -486
+W i -975
+W S -975
+J y -1461
+K c -1461
+K u -975
+K S -486
+t g -486
+o f -975
+h w -975
+n w -975
+m w -975
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+g g -975
+p f -975
+p w -975
+c f -975
+c x -486
+v e -486
+v s -486
+e f -975
+e x -486
+e w -975
+b f -975
+y e -486
+y s -486
+f o -975
+f c -975
+f e -975
+f d -975
+f s -486
+f a -975
+f q -975
+w e -486
+w s -486
+k o -486
+k g -486
+k c -486
+k e -486
+k d -486
+k a -486
+k q -486
+O Z -486
+O J -975
+R e -486
+R a -486
+R u -486
+R S -486
+G Z -486
+C Z -975
+E t -486
+E o -486
+E g -975
+E c -486
+E v -486
+E e -486
+E d -486
+E y -486
+E f -486
+E a -486
+E w -486
+E u -486
+E q -486
+E O -486
+E G -486
+E C -486
+E S -486
+E J -486
+E Q -486
+E . -486
+E , -486
+Z o -486
+Z e -486
+Z d -486
+Z y -975
+Z a -486
+Z w -975
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z Q -486
+D Z -486
+D J -975
+B Z -486
+B J -975
+S Z -486
+S J -975
+J o -975
+J i -975
+J e -975
+J a -975
+J u -975
+J T -975
+J O -975
+J H -975
+J N -975
+J M -975
+J L -975
+J R -975
+J G -975
+J I -975
+J P -975
+J C -975
+J V -975
+J E -975
+J Z -975
+J D -975
+J B -975
+J S -975
+J Y -975
+J F -975
+J X -975
+J W -975
+J J -975
+J U -975
+J Q -975
+J K -975
+U g -486
+U J -975
+K a -486
+o g -486
+o z -486
+h g -486
+h f -486
+n g -486
+n f -486
+m g -486
+m f -486
+l g -486
+r s -486
+g o -486
+g c -486
+g e -486
+g d -486
+g s -486
+g a -486
+g q -486
+i g -486
+p g -486
+p z -486
+c g -486
+c z -486
+v t -486
+v h -486
+v n -486
+v m -486
+v r -486
+v i -486
+v p -486
+v z -486
+v b -486
+v y -486
+v f -486
+v x -486
+v w -486
+v j -486
+v u -486
+v k -486
+e g -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z a -486
+z q -486
+d g -486
+b g -486
+b z -486
+s g -486
+y t -486
+y h -486
+y n -486
+y m -486
+y l -486
+y r -486
+y i -486
+y p -486
+y v -486
+y z -486
+y b -486
+y y -486
+y f -486
+y x -486
+y w -486
+y j -486
+y u -486
+y k -486
+a g -486
+w t -486
+w h -486
+w n -486
+w m -486
+w l -486
+w r -486
+w i -486
+w p -486
+w v -486
+w z -486
+w b -486
+w y -486
+w f -486
+w x -486
+w w -486
+w j -486
+w u -486
+w k -486
+j g -486
+u g -486
+q g -486
+O g -486
+M g -486
+G J -486
+I g -486
+C t -486
+C o -486
+C h -486
+C l -486
+C r -486
+C i -486
+C e -486
+C y -486
+C a -486
+C u -486
+C O -486
+C H -486
+C N -486
+C M -486
+C L -486
+C R -486
+C G -486
+C I -486
+C P -486
+C C -486
+C E -486
+C D -486
+C B -486
+C S -486
+C F -486
+C U -486
+C Q -486
+C K -486
+E n -486
+E m -486
+E l -486
+E r -486
+E i -486
+E p -486
+E z -486
+E b -486
+E s -486
+E x -486
+E j -486
+E k -486
+E T -486
+E H -486
+E N -486
+E M -486
+E L -486
+E R -486
+E I -486
+E P -486
+E V -486
+E E -486
+E Z -486
+E D -486
+E B -486
+E Y -486
+E F -486
+E X -486
+E A -486
+E W -486
+E U -486
+E K -486
+A f -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -2925
+T char173 -975
+T hy -975
+T - -975
+T en -975
+T em -975
+A ' -3414
+char173 T -1461
+hy T -1461
+- T -1461
+en T -1461
+em T -1461
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -1950
+c ' -1461
+e ' -1950
+b ' -1950
+V char173 -1950
+V hy -1950
+V - -1950
+V en -1950
+V em -1950
+h ' -975
+n ' -975
+m ' -975
+R ' -486
+W char173 -1950
+W hy -1950
+W - -1950
+W en -1950
+W em -1950
+' d -975
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1950
+A hy -1950
+A - -1950
+A en -1950
+A em -1950
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -486
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -975
+hy A -975
+- A -975
+en X -1461
+en A -975
+em X -1461
+R char173 -486
+R hy -486
+R - -486
+R en -486
+R em -486
+K ' -486
+t g -486
+v ' -486
+b f -975
+y ' -486
+w ' -486
+C ' -486
+E ' -486
+E char173 -486
+E hy -486
+E - -486
+E en -486
+E em -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+J ' -975
+J char173 -975
+J hy -975
+J - -975
+J en -975
+J em -975
+v char173 -486
+v hy -486
+v - -486
+v en -486
+v em -486
+y char173 -486
+y hy -486
+y - -486
+y en -486
+y em -486
+w char173 -486
+w hy -486
+w - -486
+w en -486
+w em -486
+C char173 -486
+C hy -486
+C - -486
+C en -486
+C em -486
+char173 g -486
+hy g -486
+- g -486
+en g -486
+em g -486
+charset
+! 10245,18450,405,963,-453,913 2 3617
+" 13662,18450,0,1380,-3414,913 2 3618
+sh 13173,18450,405,1902,270,913 2 3619
+# "
+Do 13173,19770,2295,1998,1053,913 2 3620
+$ "
+% 23418,18237,405,288,-1509,288 2 3621
+& 20490,18045,405,234,87,234 2 3622
+' 8781,18450,0,2001,-2790,913 2 51751
+( 8781,18450,4761,3096,-318,913 2 3624
+) 8781,18450,4761,846,1932,846 2 3625
+* 13173,18450,0,1518,-1812,913 2 3626
++ 23418,15975,0,0,-3105 0 3627
+, 8781,3612,4728,0,1515 0 3628
+char173 8781,7740,0,660,426,660 0 3629
+hy "
+- "
+. 8781,3645,405,0,129 0 3630
+sl 8781,18450,405,3012,1209,913 2 3631
+/ "
+0 13173,18450,405,1722,72,913 2 3632
+1 13173,18450,0,0,765 2 3633
+2 13173,18450,0,657,1419,657 2 3634
+3 13173,18450,405,702,1116,702 2 3635
+4 13173,18450,0,1953,1386,913 2 3636
+5 13173,18045,405,1845,855,913 2 3637
+6 13173,18450,405,2286,-9,913 2 3638
+7 13173,18045,0,2997,-969,913 2 3639
+8 13173,18450,405,1548,240,913 2 3640
+9 13173,18450,405,1572,705,913 2 3641
+: 8781,12360,405,0,408 0 3642
+; 8781,12360,4728,0,1515 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 23418,11370,0,0,-3300 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 13173,18450,405,1725,-1932,913 2 3647
+at 23418,16950,4131,1095,219,913 2 3648
+@ "
+A 17565,18450,0,546,2412,546 2 3649
+B 17565,18045,0,1257,1167,913 2 3650
+C 17565,18594,405,2331,-393,913 2 3651
+D 19029,18045,0,1707,1611,913 2 3652
+E 17565,18045,0,1974,1428,913 2 3653
+F 16101,18045,0,3384,1536,913 2 3654
+G 19029,18450,405,1863,-12,913 2 3655
+H 20490,18045,0,3006,1266,913 2 3656
+I 10245,18045,0,2997,1338,913 2 3657
+J 13173,18045,405,2652,1491,913 2 3658
+K 17565,18045,0,3312,1326,913 2 3659
+L 16101,18045,0,1188,1815,913 2 3660
+M 23418,18045,0,3132,1362,913 2 3661
+N 19029,18045,405,3270,1227,913 2 3662
+O 19029,18450,405,1503,-183,913 2 3663
+P 16101,18045,0,2490,1233,913 2 3664
+Q 18540,18450,5550,1902,-177,913 3 3665
+R 17565,18045,0,1260,1188,913 2 3666
+S 14637,18525,510,1452,543,913 2 3667
+T 16101,18045,0,3513,-963,913 2 3668
+U 19029,18045,405,3249,-1455,913 2 3669
+V 17565,18045,405,3771,-1356,913 2 3670
+W 23418,18045,405,3891,-1311,913 2 3671
+X 17565,18045,0,2883,1578,913 2 3672
+Y 16101,18045,0,3630,-1254,913 2 3673
+Z 16101,18045,0,1923,876,913 2 3674
+lB 8781,18045,4095,4575,2064,913 2 3675
+[ "
+rs 8781,18450,405,0,-2226 2 3676
+\ "
+rB 8781,18045,4095,2826,3813,913 2 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,913 3 3679
+oq 8781,18450,0,2001,-2790,913 2 51808
+` "
+a 13173,12735,405,1059,1059,913 0 3681
+b 13173,18540,405,876,948,876 2 3682
+c 11709,12735,405,900,435,900 0 3683
+d 13173,18540,405,2541,1068,913 2 3684
+e 11709,12735,405,687,390,687 0 3685
+f 9270,18540,5490,4809,4866,913 3 3686
+g 13173,12735,5490,1500,1977,913 1 3687
+h 14637,18540,405,345,1146,345 2 3688
+i 7317,18585,405,1734,783,913 2 3689
+j 7317,18585,5490,2319,5745,913 3 3690
+k 13173,18540,405,1923,1194,913 2 3691
+l 7317,18540,405,2166,843,913 2 3692
+m 20490,12735,405,630,1101,630 0 3693
+n 14637,12735,405,321,954,321 0 3694
+o 13173,12735,405,675,714,675 0 3695
+p 13173,12735,5490,843,3888,843 1 3696
+q 13173,12735,5490,1317,672,913 1 3697
+r 10245,12783,0,2421,1005,913 0 3698
+s 10245,12735,405,885,891,885 0 3699
+t 7317,15870,405,2289,1056,913 0 3700
+u 14637,12735,405,426,279,426 0 3701
+v 11709,12735,405,1068,153,913 0 3702
+w 17565,12735,405,822,75,822 0 3703
+x 13173,12735,405,1137,1836,913 0 3704
+y 11709,12735,5490,543,3189,543 1 3705
+z 10245,12330,1935,1404,1839,913 0 3706
+lC 13173,19935,6210,3339,-972,913 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 13173,19935,6210,63,2304,63 3 3709
+} "
+ti 26346,9435,0,0,-4029 0 51876
+char192 17565,24795,0,546,2412,546 2 3776
+`A "
+char194 17565,24795,0,546,2412,546 2 3778
+^A "
+char200 17565,24795,0,1974,1428,913 2 3784
+`E "
+char202 17565,24795,0,1974,1428,913 2 3786
+^E "
+char203 17565,23955,0,1974,1428,913 2 3787
+:E "
+char206 10245,24795,0,3930,1338,913 2 3790
+^I "
+char207 10245,23955,0,4875,1338,913 2 3791
+:I "
+char180 13173,19065,0,786,-5055,786 2 3764
+aa "
+ga 13173,19065,0,0,-3540 2 3680
+a^ 13173,19065,0,417,-2931,417 2 3678
+^ "
+char168 13173,17820,0,1179,-2964,913 2 3752
+ad "
+a~ 13173,17703,0,1884,-3213,913 2 3710
+~ "
+char217 19029,24795,405,3249,-1455,913 2 3801
+`U "
+char219 19029,24795,405,3249,-1455,913 2 3803
+^U "
+char221 16101,24795,0,3630,-1254,913 2 3805
+'Y "
+char253 11709,19065,5490,1518,3189,913 3 3837
+'y "
+char176 13173,18450,0,111,-2970,111 2 3760
+de "
+char199 17565,18594,5718,2331,-393,913 3 3783
+,C "
+char231 11709,12735,5655,900,1278,900 1 3815
+,c "
+char209 19029,23733,405,3270,1227,913 2 3793
+~N "
+char241 14637,17703,405,1152,954,913 2 3825
+~n "
+char161 10245,13050,5805,0,855 1 3745
+r! "
+char191 13173,13050,5805,0,1680 1 3775
+r? "
+char164 13173,15834,0,2598,795,913 0 3748
+Cs "
+char163 13173,18450,429,2508,1473,913 2 3747
+Po "
+char165 13173,18045,0,5067,834,913 2 3749
+Ye "
+char167 13173,18450,3225,0,-597 2 3751
+sc "
+Fn 13173,18540,5490,2607,3165,913 3 51871
+char162 13173,16914,0,1431,-684,913 2 3746
+ct "
+char226 13173,19065,405,1059,1059,913 2 3810
+^a "
+char234 11709,19065,405,1149,390,913 2 3818
+^e "
+char244 13173,19065,405,675,714,675 2 3828
+^o "
+char251 14637,19065,405,426,279,426 2 3835
+^u "
+char225 13173,19065,405,1059,1059,913 2 3809
+'a "
+char233 11709,19065,405,1518,390,913 2 3817
+'e "
+char243 13173,19065,405,786,714,786 2 3827
+'o "
+char250 14637,19065,405,426,279,426 2 3834
+'u "
+char224 13173,19065,405,1059,1059,913 2 3808
+`a "
+char232 11709,19065,405,687,390,687 2 3816
+`e "
+char242 13173,19065,405,675,714,675 2 3826
+`o "
+char249 14637,19065,405,426,279,426 2 3833
+`u "
+char228 13173,17820,405,1179,1059,913 2 3812
+:a "
+char235 11709,17820,405,1911,390,913 2 3819
+:e "
+char246 13173,17820,405,1179,714,913 2 3830
+:o "
+char252 14637,17820,405,447,279,447 2 3836
+:u "
+char197 17565,24750,0,546,2412,546 2 3781
+oA "
+char238 7317,19065,405,3345,723,913 2 3822
+^i "
+char216 19029,18450,405,3702,2070,913 2 3800
+/O "
+char198 24396,18045,0,2730,2331,913 2 3782
+AE "
+char229 13173,19020,405,1059,1059,913 2 3813
+oa "
+char237 7317,19065,405,3714,723,913 2 3821
+'i "
+char248 13173,12735,405,2199,2256,913 0 3832
+/o "
+char230 18540,12735,405,876,1074,876 0 3814
+ae "
+char196 17565,23955,0,765,2412,765 2 3780
+:A "
+char236 7317,19065,405,1749,723,913 2 3820
+`i "
+char214 19029,23955,405,1503,-183,913 2 3798
+:O "
+char220 19029,23955,405,3249,-1455,913 2 3804
+:U "
+char201 17565,24795,0,1974,1428,913 2 3785
+'E "
+char239 7317,17820,405,4107,723,913 2 3823
+:i "
+char223 13173,18540,5490,1572,5862,913 3 3807
+ss "
+char212 19029,24795,405,1503,-183,913 2 3796
+^O "
+char193 17565,24795,0,567,2412,567 2 3777
+'A "
+char195 17565,23733,0,966,2412,913 2 3779
+~A "
+char227 13173,17703,405,1884,1059,913 2 3811
+~a "
+char208 19029,18045,0,1707,1611,913 2 3792
+-D "
+char240 13173,18540,405,2235,708,913 2 3824
+Sd "
+char205 10245,24795,0,4227,1338,913 2 3789
+'I "
+char204 10245,24795,0,2997,1338,913 2 3788
+`I "
+char211 19029,24795,405,1503,-183,913 2 3795
+'O "
+char210 19029,24795,405,1503,-183,913 2 3794
+`O "
+char213 19029,23733,405,1503,-183,913 2 3797
+~O "
+char245 13173,17703,405,1884,714,913 2 3829
+~o "
+vS 14637,24798,510,2061,543,913 2 51795
+vs 10245,19065,405,2856,891,913 2 51827
+char218 19029,24795,405,3249,-1455,913 2 3802
+'U "
+:Y 16101,23955,0,3630,-1254,913 2 51801
+char255 11709,17820,5490,1311,3189,913 3 3839
+:y "
+char222 16101,18045,0,1203,1227,913 2 3806
+TP "
+char254 13173,18540,5490,843,3888,843 3 3838
+Tp "
+char181 14637,10800,5193,582,756,582 1 3765
+char182 13173,19635,4200,1350,-1008,913 2 3766
+ps "
+char190 23418,18450,405,0,-1899 2 3774
+34 "
+\- 23418,9000,0,0,-3315 0 51757
+char188 23418,18450,405,0,-1572 2 3772
+14 "
+char189 23418,18450,405,0,-1311 2 3773
+12 "
+char170 13173,18450,0,1368,-2397,913 2 3754
+Of "
+char186 13173,18450,0,744,-2295,744 2 3770
+Om "
+char171 11709,10200,0,1158,567,913 0 3755
+Fo "
+char187 11709,10200,0,615,1110,615 0 3771
+Fc "
+char177 23418,15975,2880,0,-2883 0 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19725,0,4398,-2574,913 2 3753
+co "
+char172 23418,12225,0,0,-4023 0 3756
+no "
+char174 13173,19725,0,4398,-2574,913 2 3758
+rg "
+char178 8781,18285,0,1911,-213,913 2 3762
+S2 "
+char179 8781,18285,0,1980,-552,913 2 3763
+S3 "
+char184 13173,0,5655,0,546 1 3768
+ac "
+char185 8781,18285,0,1173,-471,913 2 3769
+S1 "
+char215 23418,15033,0,0,-3690 0 3799
+char247 23418,14505,0,0,-3327 0 3831
+char183 8781,11121,0,0,-1899 0 3767
+fm 8781,18450,0,930,-3342,913 2 51873
+sd 13173,18450,0,873,-3342,873 2 51874
+dg 13173,18450,3075,1344,-1188,913 2 51755
+tm 16101,17550,0,4884,-2535,913 2 51796
+ah 13173,19065,0,1392,-3906,913 2 51935
+ao 13173,19020,0,0,-4269 2 51930
+f/ 3402,18450,405,8832,6945,913 2 51759
+em 23418,7200,0,609,459,609 0 51789
+en 13173,7200,0,624,459,624 0 51790
+dd 13173,18450,3075,939,-783,913 2 51773
+.i 7317,12735,405,825,723,825 0 51957
+aq 8781,18450,0,1065,-3147,913 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 17565,24795,405,2331,-393,913 2 20166
+'c 11709,19065,405,1518,435,913 2 20198
+lq 14148,18450,0,1974,-2790,913 2 51838
+rq 14148,18450,0,1974,-2790,913 2 51746
+Bq 14148,3651,4689,0,1425 0 51772
+vz 10245,19065,1935,2856,1839,913 2 51834
+fi 15126,18540,5490,726,5055,726 3 51881
+fl 15126,18540,5490,2328,5034,913 3 51882
+ff 15126,18540,5490,5574,5268,913 3 51883
+Fi 21954,18540,5490,738,5223,738 3 51884
+Fl 21954,18540,5490,1959,5583,913 3 51885
+ij 14148,18585,5490,2271,783,913 3 51958
+bq 8781,3651,4689,0,510 0 51756
+%0 32202,18237,405,612,-1122,612 2 51901
+char175 13173,16860,0,1341,-2904,913 2 3759
+a- "
+ab 13173,18570,0,1281,-3690,913 2 51926
+a. 13173,17820,0,0,-5589 2 51927
+oe 19515,12735,405,462,462,462 0 51823
+OE 28299,18450,405,1695,-156,913 2 51791
+fo 7317,10200,0,1035,567,913 0 51886
+fc 7317,10200,0,618,984,618 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 16101,18045,0,1188,1815,913 2 51944
+/l 7317,18540,405,2622,1539,913 2 51960
+a" 13173,19065,0,4053,-3627,913 2 51933
+ho 13173,681,3249,420,-4389,420 0 51934
+vZ 16101,24798,0,1923,876,913 2 51802
+IJ 23418,18045,405,2652,1338,913 2 51942
diff --git a/devlj4/TI b/devlj4/TI
new file mode 100644
index 000000000..ee43c0bc2
--- /dev/null
+++ b/devlj4/TI
@@ -0,0 +1,1106 @@
+name TI
+spacewidth 7806
+slant 15.600000
+pcltypeface 4101
+pclproportional 1
+pclweight 0
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -1950
+P . -4389
+P , -4389
+V A -2925
+A V -2925
+T o -1950
+T r -486
+T c -1461
+T e -1950
+T d -1950
+T s -975
+T y -486
+T a -1950
+T w -486
+T u -486
+T J -1461
+L T -1950
+L Y -1950
+Y o -3414
+Y e -3414
+Y a -3414
+Y J -1461
+A W -2925
+W A -3414
+T A -2439
+V o -1950
+V e -1950
+V a -1950
+Y A -2439
+F A -3903
+F . -3903
+F , -3903
+A T -2439
+A Y -2439
+v . -2439
+v , -2439
+y . -2439
+y , -2439
+T . -2439
+T , -2439
+L W -1950
+P A -3414
+V J -1461
+V . -3903
+V , -3903
+Y . -2439
+Y , -2439
+W o -2439
+W e -2439
+W a -2439
+W . -3903
+W , -3903
+r . -2439
+r , -2439
+w . -2439
+w , -2439
+Y u -1950
+A v -2439
+A y -2439
+A w -2439
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -975
+e , -975
+b . -1461
+b , -1461
+O T -486
+O V -1461
+O Y -1950
+O . -2439
+O , -2439
+L y -975
+P J -1950
+V y -1950
+V u -1950
+V O -1950
+V G -1950
+V C -1950
+V Q -1950
+D T -486
+D V -1461
+D Y -1950
+D . -2439
+D , -2439
+Y O -1950
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -2925
+F e -2925
+F a -2925
+c . -975
+c , -975
+O A -975
+O W -1461
+L U -486
+R T -1461
+R V -1461
+R Y -1461
+R W -1461
+G T -486
+P o -2439
+P g -2439
+P e -2439
+P a -2439
+C A -975
+C . -975
+C , -975
+D A -975
+D W -1461
+B T -975
+B Y -2439
+B . -1950
+B , -1950
+F J -1461
+A O -1461
+A G -1461
+A C -1461
+A U -1950
+A Q -1461
+W r -2439
+W y -2439
+W u -2439
+W O -2439
+W G -2439
+W C -2439
+W J -1461
+W Q -2439
+J A -1461
+J . -1461
+J , -1461
+U A -1461
+U . -2439
+U , -2439
+Q A -975
+Q W -1461
+f . -486
+f , -486
+T O -486
+T G -486
+T C -486
+T Q -486
+O X -1461
+G V -1461
+G Y -1950
+G W -1461
+G . -975
+G , -975
+P T -486
+P V -486
+P Y -486
+C T -486
+C V -486
+C Y -486
+D X -1461
+B V -1950
+B X -1950
+B A -1461
+B W -1950
+S . -486
+S , -486
+F r -1950
+F y -1950
+F u -1950
+F O -1950
+F G -1950
+F C -1950
+F Q -1950
+X o -1950
+X e -1950
+X y -1950
+X O -1950
+X G -1950
+X C -1950
+X Q -1950
+A o -1461
+A e -1461
+Q X -1461
+K o -1950
+K e -1950
+K y -1950
+K w -1950
+K O -1950
+K G -1950
+K C -1950
+K Q -1950
+o v -975
+o y -975
+o x -486
+o w -975
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+r g -1461
+g . -486
+g , -486
+p v -975
+p y -975
+p x -486
+c v -975
+c y -975
+c w -975
+v o -486
+v g -975
+v c -486
+v d -486
+v a -486
+v q -486
+e v -975
+e y -975
+b v -975
+b y -975
+b w -975
+s . -486
+s , -486
+y o -486
+y g -975
+y c -486
+y d -486
+y a -486
+y q -486
+f g -486
+x o -486
+x g -486
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+w o -486
+w g -975
+w c -486
+w d -486
+w a -486
+w q -486
+T i -486
+T S -486
+R o -975
+R y -1461
+R O -975
+R G -975
+R C -975
+R U -1461
+R Q -975
+G X -975
+G A -975
+P s -1461
+P Z -486
+P X -486
+P W -486
+C X -486
+C W -486
+V i -486
+V S -486
+S T -486
+S V -1461
+S Y -1461
+S X -486
+S A -486
+S W -1461
+Y i -486
+Y S -486
+X a -975
+X u -975
+X S -486
+A t -975
+A g -486
+A c -1461
+A d -1461
+A a -975
+A u -975
+A q -1461
+A S -1461
+W i -486
+W S -486
+J y -486
+K c -1461
+K u -975
+K S -975
+t g -975
+t . -486
+t , -486
+o f -486
+h w -975
+n w -975
+m w -975
+r o -975
+r c -975
+r e -975
+r d -975
+r a -975
+r q -975
+g g -975
+p f -486
+p w -975
+c f -486
+c x -486
+v e -486
+v s -486
+e f -486
+e x -486
+e w -975
+b f -486
+y e -486
+y s -486
+w e -486
+w s -486
+k g -486
+k v -975
+k y -975
+k w -975
+R e -975
+R a -975
+R u -975
+R S -975
+P t -975
+P h -486
+P n -975
+P l -486
+P r -975
+P i -975
+P y -975
+P u -975
+P O -975
+P H -486
+P N -486
+P M -486
+P L -486
+P R -486
+P G -975
+P I -486
+P P -486
+P C -975
+P E -486
+P D -486
+P B -486
+P S -975
+P F -486
+P U -975
+P Q -975
+P K -486
+E t -975
+E o -975
+E g -975
+E c -975
+E v -975
+E e -975
+E d -975
+E y -975
+E f -975
+E a -975
+E w -975
+E u -975
+E q -975
+E O -975
+E G -975
+E C -975
+E S -975
+E J -486
+E Q -975
+E . -486
+E , -486
+B Z -486
+B J -486
+F i -486
+F j -486
+F S -486
+J o -486
+J i -486
+J e -486
+J a -486
+J u -486
+J T -486
+J O -486
+J H -486
+J N -486
+J M -486
+J L -486
+J R -486
+J G -486
+J I -486
+J P -486
+J C -486
+J V -486
+J E -486
+J Z -486
+J D -486
+J B -486
+J S -486
+J Y -486
+J F -486
+J X -486
+J W -486
+J J -486
+J U -975
+J Q -486
+J K -486
+U g -975
+U J -486
+K a -975
+t o -486
+t c -486
+t e -486
+t d -486
+t s -486
+t a -486
+t q -486
+o g -486
+o z -486
+h g -486
+h f -486
+n g -486
+n f -486
+m g -486
+m f -486
+l g -486
+r s -486
+g o -486
+g c -486
+g e -486
+g d -486
+g s -486
+g a -486
+g q -486
+i g -486
+p g -486
+p z -486
+c g -486
+c z -486
+v t -486
+v h -486
+v n -486
+v m -486
+v r -486
+v i -486
+v p -486
+v z -486
+v b -486
+v y -486
+v f -486
+v x -486
+v w -486
+v j -486
+v u -486
+v k -486
+e g -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z a -486
+z q -486
+d g -486
+b g -486
+b z -486
+s g -486
+y t -486
+y h -486
+y n -486
+y m -486
+y l -486
+y r -486
+y i -486
+y p -486
+y v -486
+y z -486
+y b -486
+y y -486
+y f -486
+y x -486
+y w -486
+y j -486
+y u -486
+y k -486
+a g -486
+w t -486
+w h -486
+w n -486
+w m -486
+w l -486
+w r -486
+w i -486
+w p -486
+w v -486
+w z -486
+w b -486
+w y -486
+w f -486
+w x -486
+w w -486
+w j -486
+w u -486
+w k -486
+j g -486
+u g -486
+q g -486
+k f -486
+T U -486
+O g -486
+M g -486
+I g -486
+C U -486
+V U -486
+E n -486
+E m -486
+E l -486
+E r -486
+E i -486
+E p -486
+E z -486
+E b -486
+E s -486
+E x -486
+E j -486
+E k -486
+E T -486
+E H -486
+E N -486
+E M -486
+E L -486
+E R -486
+E I -486
+E P -486
+E V -486
+E E -486
+E Z -486
+E D -486
+E B -486
+E Y -486
+E F -486
+E X -486
+E A -486
+E W -486
+E U -975
+E K -486
+B o -486
+B h -486
+B l -486
+B r -486
+B i -486
+B e -486
+B y -486
+B a -486
+B u -486
+B O -486
+B H -486
+B N -486
+B M -486
+B L -486
+B R -486
+B G -486
+B I -486
+B P -486
+B C -486
+B E -486
+B D -486
+B B -486
+B S -486
+B F -486
+B U -975
+B Q -486
+B K -486
+Y U -486
+F U -486
+X U -486
+A b -486
+A f -486
+W U -486
+U t -486
+U o -486
+U h -486
+U n -486
+U m -486
+U l -486
+U r -486
+U i -486
+U p -486
+U c -486
+U v -486
+U e -486
+U z -486
+U d -486
+U b -486
+U s -486
+U y -486
+U f -486
+U x -486
+U a -486
+U w -486
+U j -486
+U q -486
+U k -486
+U T -486
+U O -486
+U H -486
+U N -486
+U M -486
+U L -486
+U R -486
+U G -486
+U I -486
+U P -486
+U C -486
+U V -486
+U E -486
+U Z -486
+U D -486
+U B -486
+U S -486
+U Y -486
+U F -486
+U X -486
+U W -486
+U U -975
+U Q -486
+U K -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -975
+L ' -1950
+T char173 -486
+T hy -486
+T - -486
+T en -486
+T em -486
+A ' -2439
+char173 T -486
+hy T -486
+- T -486
+en T -486
+em T -486
+Y char173 -1950
+Y hy -1950
+Y - -1950
+Y en -1950
+Y em -1950
+p ' -1950
+c ' -1461
+e ' -1950
+b ' -1950
+V char173 -1950
+V hy -1950
+V - -1950
+V en -1950
+V em -1950
+h ' -975
+n ' -975
+m ' -975
+R ' -1461
+W char173 -2439
+W hy -2439
+W - -2439
+W en -2439
+W em -2439
+' d -1461
+F char173 -1950
+F hy -1950
+F - -1950
+F en -1950
+F em -1950
+X char173 -1950
+X hy -1950
+X - -1950
+X en -1950
+X em -1950
+A char173 -1461
+A hy -1461
+A - -1461
+A en -1461
+A em -1461
+K char173 -1950
+K hy -1950
+K - -1950
+K en -1950
+K em -1950
+' s -486
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -975
+hy A -975
+- A -975
+en X -1461
+en A -975
+em X -1461
+R char173 -975
+R hy -975
+R - -975
+R en -975
+R em -975
+K ' -486
+t g -975
+v ' -486
+b f -486
+y ' -486
+w ' -486
+k ' -975
+P ' -486
+P char173 -975
+P hy -975
+P - -975
+P en -975
+P em -975
+E ' -486
+E char173 -975
+E hy -975
+E - -975
+E en -975
+E em -975
+B ' -486
+J ' -486
+J char173 -486
+J hy -486
+J - -486
+J en -486
+J em -486
+U ' -486
+v char173 -486
+v hy -486
+v - -486
+v en -486
+v em -486
+y char173 -486
+y hy -486
+y - -486
+y en -486
+y em -486
+w char173 -486
+w hy -486
+w - -486
+w en -486
+w em -486
+B char173 -486
+B hy -486
+B - -486
+B en -486
+B em -486
+U char173 -486
+U hy -486
+U - -486
+U en -486
+U em -486
+char173 g -486
+hy g -486
+- g -486
+en g -486
+em g -486
+charset
+! 8781,18225,330,1170,-693,899 2 3617
+" 12684,18225,0,945,-4194,899 2 3618
+sh 13173,18225,687,2103,-75,899 2 3619
+# "
+Do 13173,19686,2730,1710,507,899 2 3620
+$ "
+% 23418,18894,1026,0,-3054 2 3621
+& 20490,18225,330,0,-321 2 3622
+' 8781,18225,0,1434,-3582,899 2 51751
+( 8781,18225,4845,3531,-2058,899 2 3624
+) 8781,18225,4845,0,2067 2 3625
+* 13173,18225,0,927,-1581,899 2 3626
++ 23418,15750,0,0,-2994 0 3627
+, 8781,2835,3360,0,648 0 3628
+char173 8781,7155,0,468,153,468 0 3629
+hy "
+- "
+. 8781,2685,330,0,-633 0 3630
+sl 8781,18225,330,3183,801,899 2 3631
+/ "
+0 13173,18225,330,1938,237,899 2 3632
+1 13173,18225,0,0,165 2 3633
+2 13173,18225,0,876,567,876 2 3634
+3 13173,18225,330,1020,645,899 2 3635
+4 13173,18225,0,1773,618,899 2 3636
+5 13173,17895,330,1362,1008,899 2 3637
+6 13173,18480,330,2085,147,899 2 3638
+7 13173,17895,330,4029,-1494,899 2 3639
+8 13173,18225,330,1827,306,899 2 3640
+9 13173,18225,570,1785,447,899 2 3641
+: 8781,11988,330,501,-633,501 0 3642
+; 8781,11988,3360,0,1074 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 23418,10875,0,0,-3183 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 13173,18225,330,1362,-2850,899 2 3647
+at 23418,16980,3654,750,-228,750 2 3648
+@ "
+A 16101,18225,0,33,2700,33 2 3649
+B 16101,17895,0,1116,1701,899 2 3650
+C 17565,18225,330,2700,-873,899 2 3651
+D 19029,17895,0,594,2298,594 2 3652
+E 16101,17895,0,2091,1800,899 2 3653
+F 15126,17895,0,3180,1725,899 2 3654
+G 19029,18225,330,2301,-606,899 2 3655
+H 19029,17895,0,3057,1614,899 2 3656
+I 8781,17895,0,3165,1716,899 2 3657
+J 11709,17895,330,2847,1797,899 2 3658
+K 17565,17895,0,3273,1425,899 2 3659
+L 14637,17895,0,1023,2487,899 2 3660
+M 21954,17895,0,2712,1983,899 2 3661
+N 17565,17895,330,3843,1578,899 2 3662
+O 19029,18225,330,1356,-492,899 2 3663
+P 16101,17895,0,1950,1116,899 2 3664
+Q 19029,18225,4761,1215,-351,899 2 3665
+R 16101,17895,0,1041,1926,899 2 3666
+S 13173,18225,330,2190,609,899 2 3667
+T 14637,17895,0,3939,-90,899 2 3668
+U 19029,17895,330,3246,-1635,899 2 3669
+V 16101,17895,330,4185,-1170,899 2 3670
+W 21954,17895,330,4353,-822,899 2 3671
+X 16101,17895,0,3276,2067,899 2 3672
+Y 14637,17895,0,4533,-1086,899 2 3673
+Z 14637,17895,0,2856,1710,899 2 3674
+lB 8781,17895,4380,4026,1575,899 2 3675
+[ "
+rs 8781,18225,330,0,-2229 2 3676
+\ "
+rB 8781,17895,4380,1938,3663,899 2 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,899 3 3679
+oq 8781,18225,0,1422,-3570,899 2 51808
+` "
+a 13173,12669,330,759,1044,759 0 3681
+b 13173,18300,330,732,1038,732 2 3682
+c 11709,12669,330,1275,318,899 0 3683
+d 13173,18300,330,2283,1065,899 2 3684
+e 11709,12669,330,1011,444,899 0 3685
+f 7317,18300,5655,5346,5535,899 3 3686
+g 13173,12669,5655,813,1281,813 1 3687
+h 13173,18300,330,750,1188,750 2 3688
+i 7317,18369,330,1002,435,899 2 3689
+j 7317,18369,5655,1212,5187,899 3 3690
+k 11709,18300,330,1941,1422,899 2 3691
+l 7317,18300,330,1731,276,899 2 3692
+m 19029,12669,330,1080,1098,899 0 3693
+n 13173,12669,330,786,1053,786 0 3694
+o 13173,12669,330,771,732,771 0 3695
+p 13173,12669,5655,471,3981,471 1 3696
+q 13173,12669,5655,1377,651,899 1 3697
+r 10245,12669,0,2094,429,899 0 3698
+s 10245,12669,330,786,1116,786 0 3699
+t 7317,15339,330,1908,672,899 0 3700
+u 13173,12669,330,747,468,747 0 3701
+v 11709,12684,330,1404,399,899 0 3702
+w 17565,12669,330,1461,720,899 0 3703
+x 11709,12669,330,1134,2592,899 0 3704
+y 11709,12669,5655,561,2538,561 1 3705
+z 10245,12339,2163,1122,1815,899 0 3706
+lC 11709,19935,6210,3360,-1692,899 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 11709,19935,6210,0,2232 3 3709
+} "
+ti 26346,8952,0,0,-4029 0 51876
+char192 16101,23955,0,33,2700,33 2 3776
+`A "
+char194 16101,23955,0,1314,2700,899 2 3778
+^A "
+char200 16101,23955,0,2091,1800,899 2 3784
+`E "
+char202 16101,23955,0,2091,1800,899 2 3786
+^E "
+char203 16101,23085,0,2091,1800,899 2 3787
+:E "
+char206 8781,23955,0,3984,1716,899 2 3790
+^I "
+char207 8781,23085,0,4665,1716,899 2 3791
+:I "
+char180 13173,18399,0,141,-5400,141 2 3764
+aa "
+ga 13173,18399,0,0,-4314 2 3680
+a^ 13173,18399,0,0,-3453 2 3678
+^ "
+char168 13173,17124,0,624,-4002,624 2 3752
+ad "
+a~ 13173,17145,0,990,-3309,899 2 3710
+~ "
+char217 19029,23955,330,3246,-1635,899 2 3801
+`U "
+char219 19029,23955,330,3246,-1635,899 2 3803
+^U "
+char221 14637,23955,0,4533,-1086,899 2 3805
+'Y "
+char253 11709,18399,5655,561,2538,561 3 3837
+'y "
+char176 13173,18225,0,543,-3522,543 2 3760
+de "
+char199 17565,18225,5019,2700,-873,899 2 3783
+,C "
+char231 11709,12669,4785,1275,636,899 0 3815
+,c "
+char209 17565,23079,330,3843,1578,899 2 3793
+~N "
+char241 13173,17145,330,990,1053,899 2 3825
+~n "
+char161 8781,12231,6324,33,444,33 1 3745
+r! "
+char191 13173,12312,6243,0,663 1 3775
+r? "
+char164 13173,15684,0,1779,228,899 0 3748
+Cs "
+char163 13173,17895,330,3153,1971,899 2 3747
+Po "
+char165 13173,17895,0,4170,-15,899 2 3749
+Ye "
+char167 13173,18225,4200,447,-1359,447 2 3751
+sc "
+Fn 13173,18300,5655,2388,2691,899 3 51871
+char162 13173,17034,0,996,-777,899 2 3746
+ct "
+char226 13173,18399,330,759,1044,759 2 3810
+^a "
+char234 11709,18399,330,1761,444,899 2 3818
+^e "
+char244 13173,18399,330,771,732,771 2 3828
+^o "
+char251 13173,18399,330,747,468,747 2 3835
+^u "
+char225 13173,18399,330,759,1044,759 2 3809
+'a "
+char233 11709,18399,330,1011,444,899 2 3817
+'e "
+char243 13173,18399,330,771,732,771 2 3827
+'o "
+char250 13173,18399,330,747,468,747 2 3834
+'u "
+char224 13173,18399,330,759,1044,759 2 3808
+`a "
+char232 11709,18399,330,1011,444,899 2 3816
+`e "
+char242 13173,18399,330,771,732,771 2 3826
+`o "
+char249 13173,18399,330,747,468,747 2 3833
+`u "
+char228 13173,17124,330,759,1044,759 2 3812
+:a "
+char235 11709,17124,330,1356,444,899 2 3819
+:e "
+char246 13173,17124,330,1074,732,899 2 3830
+:o "
+char252 13173,17124,330,747,468,747 2 3836
+:u "
+char197 16101,23865,0,525,2700,525 2 3781
+oA "
+char238 7317,18399,330,2907,420,899 2 3822
+^i "
+char216 19029,18255,330,2082,234,899 2 3800
+/O "
+char198 23418,17895,0,2961,1959,899 2 3782
+AE "
+char229 13173,18309,330,759,1044,759 2 3813
+oa "
+char237 7317,18399,330,3069,420,899 2 3821
+'i "
+char248 13173,12738,336,1491,1443,899 0 3832
+/o "
+char230 17565,12669,330,933,771,899 0 3814
+ae "
+char196 16101,23085,0,2055,2700,899 2 3780
+:A "
+char236 7317,18399,330,1383,420,899 2 3820
+`i "
+char214 19029,23085,330,1356,-492,899 2 3798
+:O "
+char220 19029,23085,330,3246,-1635,899 2 3804
+:U "
+char201 16101,23955,0,2091,1800,899 2 3785
+'E "
+char239 7317,17124,330,3552,420,899 2 3823
+:i "
+char223 13173,18300,5655,1131,5829,899 3 3807
+ss "
+char212 19029,23955,330,1356,-492,899 2 3796
+^O "
+char193 16101,23955,0,1914,2700,899 2 3777
+'A "
+char195 16101,23079,0,2580,2700,899 2 3779
+~A "
+char227 13173,17145,330,990,1044,899 2 3811
+~a "
+char208 19029,17895,0,594,2298,594 2 3792
+-D "
+char240 13173,18300,330,2040,732,899 2 3824
+Sd "
+char205 8781,23955,0,5124,1716,899 2 3789
+'I "
+char204 8781,23955,0,3165,1716,899 2 3788
+`I "
+char211 19029,23955,330,1356,-492,899 2 3795
+'O "
+char210 19029,23955,330,1356,-492,899 2 3794
+`O "
+char213 19029,23079,330,1356,-492,899 2 3797
+~O "
+char245 13173,17145,330,1665,732,899 2 3829
+~o "
+vS 13173,23955,330,2268,609,899 2 51795
+vs 10245,18399,330,2472,1116,899 2 51827
+char218 19029,23955,330,3246,-1635,899 2 3802
+'U "
+:Y 14637,23085,0,4533,-1086,899 2 51801
+char255 11709,17124,5655,561,2538,561 3 3839
+:y "
+char222 16101,17895,0,813,1107,813 2 3806
+TP "
+char254 13173,18300,5655,471,3981,471 3 3838
+Tp "
+char181 14637,10800,5595,612,585,612 1 3765
+char182 13173,19635,4200,1650,-1308,899 2 3766
+ps "
+char190 23418,18225,330,0,-2985 2 3774
+34 "
+\- 23418,8610,0,0,-3027 0 51757
+char188 23418,18225,330,0,-2472 2 3772
+14 "
+char189 23418,18225,330,0,-1632 2 3773
+12 "
+char170 13173,18225,0,1119,-1827,899 2 3754
+Of "
+char186 13173,18225,0,1503,-2640,899 2 3770
+Om "
+char171 12198,10095,0,501,330,501 0 3755
+Fo "
+char187 12198,10095,0,336,495,336 0 3771
+Fc "
+char177 23418,15750,2625,0,-2949 0 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19725,0,5355,-3531,899 2 3753
+co "
+char172 23418,12165,0,0,-3045 0 3756
+no "
+char174 13173,19725,0,5355,-3531,899 2 3758
+rg "
+char178 9270,18060,0,1602,-555,899 2 3762
+S2 "
+char179 9270,18060,0,1980,-771,899 2 3763
+S3 "
+char184 13173,0,4785,0,-96 0 3768
+ac "
+char185 9270,18060,0,1146,-1233,899 2 3769
+S1 "
+char215 23418,14658,0,0,-3630 0 3799
+char247 23418,14010,0,0,-2958 0 3831
+char183 8781,9945,0,0,-2400 0 3767
+fm 8781,18225,0,852,-3669,852 2 51873
+sd 13173,18225,0,612,-3669,612 2 51874
+dg 13173,18225,4200,1470,-1434,899 2 51755
+tm 16101,17550,0,5841,-3492,899 2 51796
+ah 13173,18399,0,1908,-5382,899 2 51935
+ao 13173,18309,0,0,-5421 2 51930
+f/ 3402,18225,330,8451,6846,899 2 51759
+em 23418,6900,0,345,153,345 0 51789
+en 13173,6900,0,393,153,393 0 51790
+dd 13173,18225,4200,1056,-1020,899 2 51773
+.i 7317,12669,330,120,420,120 0 51957
+aq 8781,18225,0,585,-3807,585 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 17565,23955,330,2700,-873,899 2 20166
+'c 11709,18399,330,2199,318,899 2 20198
+lq 13173,18225,0,1320,-3570,899 2 51838
+rq 13173,18225,0,1332,-3582,899 2 51746
+Bq 13173,3039,3156,0,453 0 51772
+vz 10245,18399,2163,1872,1815,899 2 51834
+fi 13173,18300,5655,534,5772,534 3 51881
+fl 13173,18300,5655,1773,5736,899 3 51882
+ff 14148,18300,5655,5796,5352,899 3 51883
+Fi 20004,18300,5655,672,5466,672 3 51884
+Fl 20004,18300,5655,1851,5418,899 3 51885
+ij 13173,18369,5655,1212,435,899 3 51958
+bq 8781,3039,3156,0,-582 0 51756
+%0 32202,18894,1026,0,-3135 2 51901
+char175 13173,15819,0,867,-4257,867 0 3759
+a- "
+ab 13173,18339,0,1122,-4281,899 2 51926
+a. 13173,17124,0,0,-6222 2 51927
+oe 17565,12669,330,1107,711,899 0 51823
+OE 24882,18225,330,2016,978,899 2 51791
+fo 7317,10095,0,939,333,899 0 51886
+fc 7317,10095,0,774,498,774 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 14637,17895,0,1023,2487,899 2 51944
+/l 7317,18300,330,1749,654,899 2 51960
+a" 13173,18399,0,3321,-4644,899 2 51933
+ho 13173,564,3186,0,-3846 0 51934
+vZ 14637,23955,0,2856,1710,899 2 51802
+IJ 21465,17895,330,1872,1716,899 2 51942
diff --git a/devlj4/TR b/devlj4/TR
new file mode 100644
index 000000000..03d63fb76
--- /dev/null
+++ b/devlj4/TR
@@ -0,0 +1,860 @@
+name TR
+spacewidth 7806
+pcltypeface 4101
+pclproportional 1
+pclweight 0
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -3903
+P . -3903
+P , -3903
+V A -5364
+A V -5364
+T o -3414
+T r -1950
+T c -3414
+T e -2925
+T d -2925
+T s -2925
+T y -1950
+T a -3414
+T w -1950
+T u -1950
+T J -1461
+L T -2925
+L Y -3903
+Y o -4878
+Y e -4389
+Y a -4878
+Y J -1461
+A W -4878
+W A -4878
+T A -2925
+V o -3903
+V e -3903
+V a -3903
+Y A -4389
+F A -3903
+F . -3903
+F , -3903
+A T -2925
+A Y -4389
+v . -3414
+v , -3414
+y . -3414
+y , -3414
+T . -2925
+T , -2925
+L W -3414
+P A -3903
+V J -1461
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -3414
+W e -3414
+W a -3414
+W . -3903
+W , -3903
+r . -2439
+r , -2439
+w . -3414
+w , -3414
+Y u -3414
+A v -3414
+A y -3414
+A w -3414
+o . -1461
+o , -1461
+p . -1461
+p , -1461
+e . -975
+e , -975
+b . -1461
+b , -1461
+O T -1950
+O V -2925
+O Y -2925
+O . -2925
+O , -2925
+L y -1461
+P J -1461
+V y -2925
+V u -2925
+V O -2925
+V G -2925
+V C -2925
+V Q -2925
+D T -1950
+D V -2925
+D Y -2925
+D . -2925
+D , -2925
+Y O -2925
+Y G -2925
+Y C -2925
+Y Q -2925
+F o -1461
+F e -1461
+F a -1461
+c . -1461
+c , -1461
+O A -2439
+O W -2439
+R T -2439
+R V -2439
+R Y -2439
+R W -2439
+G T -1950
+P o -1461
+P g -1461
+P e -975
+P a -1461
+C A -1950
+C . -1950
+C , -1950
+D A -2439
+D W -2439
+B T -1950
+B Y -1950
+B . -1950
+B , -1950
+F J -1461
+A O -2439
+A G -2439
+A C -2439
+A U -2439
+A Q -2439
+W r -2439
+W y -2439
+W u -2439
+W O -2439
+W G -2439
+W C -2439
+W J -1461
+W Q -2439
+J A -2439
+J . -2439
+J , -2439
+U A -2439
+U . -2439
+U , -2439
+Q A -2439
+Q W -2439
+T O -1950
+T G -1950
+T C -1950
+T Q -1950
+O X -1461
+G V -1950
+G Y -1950
+G W -1950
+G . -1461
+G , -1461
+C T -975
+C V -975
+C Y -975
+D X -1461
+B V -1950
+B X -1461
+B A -1950
+B W -1950
+S . -1461
+S , -1461
+F r -486
+F y -486
+F u -486
+F O -486
+F G -486
+F C -486
+F Q -486
+X o -1461
+X e -975
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1461
+A e -975
+Q X -1461
+K o -1461
+K e -975
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -1461
+o y -1461
+o x -975
+o w -1461
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+r g -975
+g . -975
+g , -975
+p v -975
+p y -975
+p x -975
+c v -1461
+c y -1461
+c w -1461
+v o -1461
+v g -1461
+v c -1461
+v d -1461
+v a -1461
+v q -1461
+e v -975
+e y -975
+b v -1461
+b y -1461
+b w -1461
+s . -975
+s , -975
+y o -1461
+y g -1461
+y c -1461
+y d -1461
+y a -1461
+y q -1461
+f g -486
+x o -975
+x g -486
+x c -975
+x e -975
+x d -975
+x a -975
+x q -975
+a v -1461
+a y -1461
+a w -1461
+w o -1461
+w g -1461
+w c -1461
+w d -1461
+w a -1461
+w q -1461
+T i -1461
+T S -1461
+R o -1461
+R y -1461
+R O -1461
+R G -1461
+R C -1461
+R U -1461
+R Q -1461
+G X -1461
+G A -1461
+P s -975
+C X -975
+C W -975
+V i -1461
+V S -1461
+S T -486
+S V -486
+S Y -486
+S X -486
+S A -1461
+S W -486
+Y i -1461
+Y S -1461
+X a -975
+X u -975
+X S -486
+A t -975
+A g -486
+A c -1461
+A d -1461
+A a -975
+A u -975
+A q -1461
+A S -486
+W i -1461
+W S -1461
+J y -486
+K c -1461
+K u -975
+K S -486
+t g -486
+o f -975
+h w -975
+n w -975
+m w -975
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+g g -975
+p f -975
+p w -975
+c f -975
+c x -975
+v e -975
+v s -975
+e f -975
+e x -975
+e w -975
+b f -975
+s v -975
+s y -975
+s f -975
+s x -975
+s w -975
+y e -975
+y s -975
+f o -975
+f c -975
+f e -975
+f d -975
+f s -975
+f a -975
+f q -975
+x s -975
+w e -975
+w s -975
+k o -486
+k g -486
+k c -486
+k e -486
+k d -486
+k a -486
+k q -486
+O Z -486
+N . -486
+N , -486
+R e -975
+R a -975
+R u -975
+R S -486
+G Z -486
+C Z -486
+E g -486
+Z o -486
+Z e -486
+Z d -486
+Z s -486
+Z y -486
+Z a -486
+Z w -486
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z J -486
+Z Q -486
+D Z -486
+B Z -486
+S Z -486
+F i -486
+F j -486
+F S -486
+X J -486
+A s -975
+A J -486
+J o -486
+J i -486
+J e -486
+J a -486
+J u -486
+J O -486
+J G -486
+J C -486
+J S -486
+J J -486
+J Q -486
+U g -486
+K a -975
+K J -486
+o g -486
+o z -486
+h g -486
+n g -486
+m g -486
+l g -486
+r s -486
+g o -486
+g c -486
+g e -486
+g d -486
+g s -486
+g a -486
+g q -486
+i g -486
+p g -486
+p z -486
+c g -486
+c z -486
+e g -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z s -486
+z a -486
+z q -486
+d g -486
+b g -486
+b z -486
+s g -486
+s z -486
+a g -486
+j g -486
+u g -486
+q g -486
+k s -486
+O g -486
+N A -486
+M g -486
+R J -486
+I g -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -3903
+T char173 -1950
+T hy -1950
+T - -1950
+T en -1950
+T em -1950
+A ' -3903
+char173 T -1950
+hy T -1950
+- T -1950
+en T -1950
+em T -1950
+Y char173 -3414
+Y hy -3414
+Y - -3414
+Y en -3414
+Y em -3414
+p ' -975
+c ' -1461
+e ' -975
+b ' -1461
+a ' -1461
+V char173 -2925
+V hy -2925
+V - -2925
+V en -2925
+V em -2925
+h ' -975
+n ' -975
+m ' -975
+R ' -1461
+W char173 -2439
+W hy -2439
+W - -2439
+W en -2439
+W em -2439
+' d -1461
+s ' -975
+F char173 -486
+F hy -486
+F - -486
+F en -486
+F em -486
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1950
+A hy -1950
+A - -1950
+A en -1950
+A em -1950
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1950
+hy A -1950
+- A -1950
+en X -1461
+en A -1950
+em X -1461
+R char173 -1461
+R hy -1461
+R - -1461
+R en -1461
+R em -1461
+K ' -486
+t g -486
+b f -975
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+J char173 -486
+J hy -486
+J - -486
+J en -486
+J em -486
+char173 g -486
+hy g -486
+- g -486
+en g -486
+em g -486
+charset
+! 8781,18225,330 2 3617
+" 12198,18225 2 3618
+sh 13173,18225,837 2 3619
+# "
+Do 13173,19845,2370 2 3620
+$ "
+% 23418,18894,1026 2 3621
+& 20490,18225,330 2 3622
+' 8781,18225 2 51751
+( 8781,18225,4845 2 3624
+) 8781,18225,4845 2 3625
+* 13173,18225 2 3626
++ 23418,15750 0 3627
+, 8781,2565,4005 0 3628
+char173 8781,7155 0 3629
+hy "
+- "
+. 8781,2685,330 0 3630
+sl 8781,18225,330 2 3631
+/ "
+0 13173,18225,330 2 3632
+1 13173,18225 2 3633
+2 13173,18225 2 3634
+3 13173,18225,330 2 3635
+4 13173,18225 2 3636
+5 13173,17895,330 2 3637
+6 13173,18225,330 2 3638
+7 13173,17895 2 3639
+8 13173,18225,330 2 3640
+9 13173,18225,330 2 3641
+: 8781,12252,330 0 3642
+; 8781,12252,4005 0 3643
+< 26346,16068 0 3644
+= 23418,10875 0 3645
+> 26346,16068 0 3646
+? 11709,18225,330 2 3647
+at 23418,16980,3654 2 3648
+@ "
+A 19029,18225 2 3649
+B 16587,17895 2 3650
+C 18051,18225,330 2 3651
+D 19515,17895 2 3652
+E 16587,17895 2 3653
+F 15612,17895 2 3654
+G 19029,18225,330 2 3655
+H 19515,17895 2 3656
+I 8781,17895 2 3657
+J 10245,17895,330 2 3658
+K 18540,17895 2 3659
+L 16587,17895 2 3660
+M 23907,17895 2 3661
+N 19515,17895,330 2 3662
+O 19029,18225,330 2 3663
+P 15126,17895 2 3664
+Q 19029,18225,4605 2 3665
+R 17565,17895 2 3666
+S 14148,18225,330 2 3667
+T 16587,17895 2 3668
+U 19515,17895,330 2 3669
+V 19029,17895,330 2 3670
+W 24882,17895,330 2 3671
+X 19029,17895 2 3672
+Y 19029,17895 2 3673
+Z 17076,17895 2 3674
+lB 8781,17895,4380 2 3675
+[ "
+rs 8781,18225,330 2 3676
+\ "
+rB 8781,17895,4380 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 8781,18225 2 51808
+` "
+a 11709,12669,330 0 3681
+b 13173,18300,330 2 3682
+c 11709,12669,330 0 3683
+d 13173,18300,330 2 3684
+e 11709,12669,330 0 3685
+f 8781,18300 2 3686
+g 13173,12669,5655 1 3687
+h 13173,18300 2 3688
+i 7317,18534 2 3689
+j 7317,18534,5655 3 3690
+k 13173,18300 2 3691
+l 7317,18300 2 3692
+m 20490,12669 0 3693
+n 13173,12669 0 3694
+o 13173,12669,330 0 3695
+p 13173,12669,5655 1 3696
+q 13173,12669,5655 1 3697
+r 9759,12669 0 3698
+s 10245,12669,330 0 3699
+t 7317,15465,330 0 3700
+u 13173,12339,330 0 3701
+v 13173,12339,330 0 3702
+w 19029,12339,330 0 3703
+x 13173,12339 0 3704
+y 13173,12339,5655 1 3705
+z 11709,12339 0 3706
+lC 11709,19935,6210 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 11709,19935,6210 3 3709
+} "
+ti 26346,8952 0 51876
+char192 19029,23955 2 3776
+`A "
+char194 19029,23955 2 3778
+^A "
+char200 16587,23955 2 3784
+`E "
+char202 16587,23955 2 3786
+^E "
+char203 16587,23085 2 3787
+:E "
+char206 8781,23955 2 3790
+^I "
+char207 8781,23085 2 3791
+:I "
+char180 13173,18399 2 3764
+aa "
+ga 13173,18399 2 3680
+a^ 13173,18399 2 3678
+^ "
+char168 13173,17124 2 3752
+ad "
+a~ 13173,17064 2 3710
+~ "
+char217 19515,23955,330 2 3801
+`U "
+char219 19515,23955,330 2 3803
+^U "
+char221 19029,23955 2 3805
+'Y "
+char253 13173,18399,5655 3 3837
+'y "
+char176 13173,18225 2 3760
+de "
+char199 18051,18225,4908 2 3783
+,C "
+char231 11709,12669,4572 0 3815
+,c "
+char209 19515,23034,330 2 3793
+~N "
+char241 13173,17064 2 3825
+~n "
+char161 8781,12783,5772 1 3745
+r! "
+char191 11709,12783,5772 1 3775
+r? "
+char164 13173,15684 0 3748
+Cs "
+char163 13173,18225,330 2 3747
+Po "
+char165 13173,17895 2 3749
+Ye "
+char167 13173,18225,4230 2 3751
+sc "
+Fn 13173,18300,5655 3 51871
+char162 13173,16866 2 3746
+ct "
+char226 11709,18399,330 2 3810
+^a "
+char234 11709,18399,330 2 3818
+^e "
+char244 13173,18399,330 2 3828
+^o "
+char251 13173,18399,330 2 3835
+^u "
+char225 11709,18399,330 2 3809
+'a "
+char233 11709,18399,330 2 3817
+'e "
+char243 13173,18399,330 2 3827
+'o "
+char250 13173,18399,330 2 3834
+'u "
+char224 11709,18399,330 2 3808
+`a "
+char232 11709,18399,330 2 3816
+`e "
+char242 13173,18399,330 2 3826
+`o "
+char249 13173,18399,330 2 3833
+`u "
+char228 11709,17124,330 2 3812
+:a "
+char235 11709,17124,330 2 3819
+:e "
+char246 13173,17124,330 2 3830
+:o "
+char252 13173,17124,330 2 3836
+:u "
+char197 19029,23865 2 3781
+oA "
+char238 7317,18399 2 3822
+^i "
+char216 19029,18225,339 2 3800
+/O "
+char198 23418,17895 2 3782
+AE "
+char229 11709,18309,330 2 3813
+oa "
+char237 7317,18399 2 3821
+'i "
+char248 13173,12765,330 0 3832
+/o "
+char230 17565,12669,330 0 3814
+ae "
+char196 19029,23085 2 3780
+:A "
+char236 7317,18399 2 3820
+`i "
+char214 19029,23085,330 2 3798
+:O "
+char220 19515,23085,330 2 3804
+:U "
+char201 16587,23955 2 3785
+'E "
+char239 7317,17124 2 3823
+:i "
+char223 13173,18300,330 2 3807
+ss "
+char212 19029,23955,330 2 3796
+^O "
+char193 19029,23955 2 3777
+'A "
+char195 19029,23034 2 3779
+~A "
+char227 11709,17064,330 2 3811
+~a "
+char208 19515,17895 2 3792
+-D "
+char240 13173,18456,330 2 3824
+Sd "
+char205 8781,23955 2 3789
+'I "
+char204 8781,23955 2 3788
+`I "
+char211 19029,23955,330 2 3795
+'O "
+char210 19029,23955,330 2 3794
+`O "
+char213 19029,23034,330 2 3797
+~O "
+char245 13173,17064,330 2 3829
+~o "
+vS 14148,23955,330 2 51795
+vs 10245,18399,330 2 51827
+char218 19515,23955,330 2 3802
+'U "
+:Y 19029,23085 2 51801
+char255 13173,17124,5655 3 3839
+:y "
+char222 15126,17895 2 3806
+TP "
+char254 13173,18300,5655 3 3838
+Tp "
+char181 14637,10800,5595 1 3765
+char182 13173,19635,4200 2 3766
+ps "
+char190 23418,18225,330 2 3774
+34 "
+\- 23418,8610 0 51757
+char188 23418,18225,330 2 3772
+14 "
+char189 23418,18225,330 2 3773
+12 "
+char170 13173,18225 2 3754
+Of "
+char186 13173,18225 2 3770
+Om "
+char171 10734,10095 0 3755
+Fo "
+char187 10734,10095 0 3771
+Fc "
+char177 23418,15750,2625 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19725 2 3753
+co "
+char172 23418,12165 0 3756
+no "
+char174 13173,19725 2 3758
+rg "
+char178 9270,18060 2 3762
+S2 "
+char179 9270,18060 2 3763
+S3 "
+char184 13173,258,4572 0 3768
+ac "
+char185 9270,18060 2 3769
+S1 "
+char215 23418,15117 0 3799
+char247 23418,14010 0 3831
+char183 8781,10407 0 3767
+fm 8781,18225 2 51873
+sd 13173,18225 2 51874
+dg 13173,18225,4200 2 51755
+tm 16101,17550 2 51796
+ah 13173,18399 2 51935
+ao 13173,18309 2 51930
+f/ 3423,18225,330 2 51759
+em 23418,6900 0 51789
+en 13173,6900 0 51790
+dd 13173,18225,4200 2 51773
+.i 7317,12669 0 51957
+aq 8781,18225 2 3623
+bu 13173,14226 0 51889
+'C 18051,23955,330 2 20166
+'c 11709,18399,330 2 20198
+lq 13662,18231 2 51838
+rq 13662,18225 2 51746
+Bq 13662,3009,3576 0 51772
+vz 11709,18399 2 51834
+fi 14637,18300 2 51881
+fl 14637,18300 2 51882
+ff 15612,18300 2 51883
+Fi 21954,18300 2 51884
+Fl 21954,18300 2 51885
+ij 14637,18534,5655 3 51958
+bq 8781,3009,3561 0 51756
+%0 31713,18894,1026 2 51901
+char175 13173,16539 0 3759
+a- "
+ab 13173,17769 2 51926
+a. 13173,17124 2 51927
+oe 19029,12669,330 0 51823
+OE 23418,18225,330 2 51791
+fo 6831,10095 0 51886
+fc 6831,10095 0 51887
+sq 19029,15624 0 51899
+/L 16587,17895 2 51944
+/l 7317,18300 2 51960
+a" 13173,18399 2 51933
+ho 13173,750,3165 0 51934
+vZ 17076,23955 2 51802
+IJ 19245,17895,330 2 51942
diff --git a/devlj4/UB b/devlj4/UB
new file mode 100644
index 000000000..554e71be1
--- /dev/null
+++ b/devlj4/UB
@@ -0,0 +1,809 @@
+name UB
+spacewidth 8781
+pcltypeface 4148
+pclproportional 1
+pclweight 3
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -3414
+P . -4878
+P , -4878
+V A -3414
+A V -3414
+T o -4389
+T r -4389
+T c -4389
+T e -4389
+T d -4389
+T s -4389
+T y -4389
+T a -4389
+T w -4389
+T u -4389
+T J -4389
+L T -4389
+L Y -3903
+Y o -3903
+Y e -3903
+Y a -3414
+Y J -3903
+A W -2439
+W A -2439
+T A -3414
+V o -2925
+V e -2925
+V a -2439
+Y A -3414
+F A -1950
+F . -3903
+F , -3903
+A T -3414
+A Y -3414
+v . -2439
+v , -2439
+y . -2439
+y , -2439
+T . -3903
+T , -3903
+L W -2439
+P A -2439
+V J -3414
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -1950
+W e -1950
+W a -1950
+W . -2925
+W , -2925
+r . -2439
+r , -2439
+w . -2439
+w , -2439
+Y u -2439
+A v -1950
+A y -1950
+A w -1950
+o . -1950
+o , -1950
+p . -1461
+p , -1461
+e . -1461
+e , -1461
+b . -1461
+b , -1461
+O T -1950
+O V -1461
+O Y -1950
+O . -2439
+O , -2439
+L y -1950
+L O -975
+L G -975
+L C -975
+L Q -975
+P J -1950
+V y -1461
+V u -1461
+V O -1461
+V G -1461
+V C -1461
+V Q -1461
+D T -2439
+D V -1461
+D Y -2439
+D . -2925
+D , -2925
+Y O -1950
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -486
+F e -486
+F a -486
+c . -1461
+c , -1461
+O A -1461
+O W -975
+L U -975
+R T -1461
+R V -1461
+R Y -1461
+R W -975
+G T -1461
+P o -1461
+P g -1461
+P e -1461
+P a -975
+C A -1461
+C . -1950
+C , -1950
+D A -1461
+D W -975
+B T -1461
+B Y -1461
+B . -1461
+B , -1461
+F J -975
+A O -1461
+A G -1461
+A C -1461
+A U -1461
+A Q -1461
+W r -975
+W y -975
+W u -975
+W O -975
+W G -975
+W C -975
+W J -2439
+W Q -975
+J A -1461
+J . -1950
+J , -1950
+U A -1461
+U . -2439
+U , -2439
+Q W -975
+f . -486
+f , -486
+T O -1950
+T G -1950
+T C -1950
+T Q -1950
+O X -1461
+L o -975
+L e -975
+L q -975
+G V -1461
+G Y -1461
+G W -975
+G . -1461
+G , -1461
+P T -975
+P V -975
+P Y -975
+C T -1461
+C V -1461
+C Y -1461
+D X -1461
+B V -1461
+B X -975
+B A -975
+B W -975
+S . -1950
+S , -1950
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1461
+A e -1461
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -975
+o y -975
+o x -975
+o w -975
+h v -975
+h y -975
+n v -975
+n y -975
+m v -975
+m y -975
+g . -486
+g , -486
+p v -975
+p y -975
+p x -975
+c v -975
+c y -975
+c w -975
+v o -975
+v g -975
+v c -975
+v d -975
+v a -975
+v q -975
+e v -975
+e y -975
+b v -975
+b y -975
+b w -975
+s . -975
+s , -975
+y o -975
+y g -975
+y c -975
+y d -975
+y a -975
+y q -975
+x o -975
+x c -975
+x e -975
+x d -975
+x a -486
+x q -975
+a v -975
+a y -975
+a w -975
+w o -975
+w g -975
+w c -975
+w d -975
+w a -975
+w q -975
+T S -1461
+L a -486
+L S -975
+G X -975
+G A -975
+P s -486
+P Z -975
+P X -975
+P W -975
+C X -1461
+C W -975
+C J -486
+V S -1461
+S T -1461
+S V -1461
+S Y -1461
+S X -1461
+S A -1461
+S W -975
+Y S -1461
+X a -486
+X u -975
+X S -975
+A t -486
+A c -1461
+A d -975
+A a -486
+A u -975
+A q -975
+A S -975
+W S -975
+K c -1461
+K u -975
+K S -975
+t . -486
+t , -486
+o f -486
+h w -975
+h . -486
+h , -486
+n w -975
+n . -486
+n , -486
+m w -975
+m . -486
+m , -486
+l . -486
+l , -486
+i . -486
+i , -486
+p f -486
+p w -975
+c f -486
+c x -975
+v e -975
+v s -486
+e f -486
+e x -975
+e w -975
+z . -486
+z , -486
+d . -486
+d , -486
+b f -486
+s v -486
+s y -486
+s f -486
+s x -486
+s w -486
+y e -975
+y s -486
+x s -486
+x . -486
+x , -486
+a . -486
+a , -486
+w e -975
+w s -486
+j . -486
+j , -486
+u . -486
+k o -975
+k c -975
+k e -975
+k d -975
+k a -486
+k q -975
+k . -486
+k , -486
+O Z -975
+O J -486
+H . -486
+H , -486
+N . -486
+N , -486
+M . -486
+M , -486
+L . -486
+L , -486
+R . -486
+R , -486
+G Z -975
+I . -486
+I , -486
+C Z -975
+E . -486
+E , -486
+Z o -975
+Z e -975
+Z d -975
+Z s -486
+Z y -975
+Z a -486
+Z w -975
+Z u -975
+Z O -975
+Z G -975
+Z C -975
+Z S -975
+Z Q -975
+Z . -486
+Z , -486
+D Z -975
+D J -486
+B Z -975
+B J -486
+S Z -975
+S J -486
+X . -486
+X , -486
+A s -486
+A . -486
+A , -486
+J J -486
+U J -486
+K a -486
+K . -486
+K , -486
+h f -486
+n f -486
+m f -486
+a f -486
+k s -486
+G J -486
+A f -486
+L ' -6342
+T char173 -4389
+T hy -4389
+T - -4389
+T en -4389
+T em -4389
+A ' -2439
+char173 T -4389
+hy T -4389
+- T -4389
+en T -4389
+em T -4389
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -1461
+c ' -975
+e ' -1461
+b ' -1461
+a ' -975
+V char173 -1461
+V hy -1461
+V - -1461
+V en -1461
+V em -1461
+h ' -975
+n ' -975
+m ' -975
+W char173 -975
+W hy -975
+W - -975
+W en -975
+W em -975
+' d -2439
+s ' -486
+L char173 -975
+L hy -975
+L - -975
+L en -975
+L em -975
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1461
+A hy -1461
+A - -1461
+A en -1461
+A em -1461
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -1950
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1461
+hy A -1461
+- A -1461
+en X -1461
+en A -1461
+em X -1461
+b f -486
+Z char173 -975
+Z hy -975
+Z - -975
+Z en -975
+Z em -975
+' n -1461
+' m -1461
+' r -1461
+' v -1461
+charset
+! 8781,18165 2 3617
+" 13662,18135 2 3618
+sh 16587,18105 2 3619
+# "
+Do 16587,18750,645 2 3620
+$ "
+% 26346,18720,840 2 3621
+& 20004,18495 2 3622
+' 8781,18135 2 51751
+( 8781,18135,2355 2 3624
+) 8781,18135,2355 2 3625
+* 16587,18495 2 3626
++ 26346,14940 0 3627
+, 8781,3390,2355 0 3628
+char173 8781,7875 0 3629
+hy "
+- "
+. 8781,3390 0 3630
+sl 8781,18495,885 2 3631
+/ "
+0 16587,18465,360 2 3632
+1 16587,18105 2 3633
+2 16587,18465 2 3634
+3 16587,18465,360 2 3635
+4 16587,18105 2 3636
+5 16587,18105,360 2 3637
+6 16587,18465,360 2 3638
+7 16587,18105 2 3639
+8 16587,18465,360 2 3640
+9 16587,18465,360 2 3641
+: 8781,12627 0 3642
+; 8781,12627,2355 0 3643
+< 26346,16068 0 3644
+= 26346,10563 0 3645
+> 26346,16068 0 3646
+? 13662,18315 2 3647
+at 26346,21057,2679 2 3648
+@ "
+A 19515,18135 2 3649
+B 16587,18135 2 3650
+C 18540,18495,360 2 3651
+D 19029,18135 2 3652
+E 15126,18135 2 3653
+F 14637,18135 2 3654
+G 19515,18495,360 2 3655
+H 19029,18135 2 3656
+I 7317,18135 2 3657
+J 14637,18135,360 2 3658
+K 17565,18135 2 3659
+L 14148,18135 2 3660
+M 23907,18135 2 3661
+N 19029,18135 2 3662
+O 20004,18495,360 2 3663
+P 15612,18135 2 3664
+Q 20490,18495,360 2 3665
+R 17076,18135 2 3666
+S 17076,18495,360 2 3667
+T 16587,18135 2 3668
+U 19029,18135,360 2 3669
+V 19029,18135 2 3670
+W 26346,18135 2 3671
+X 19029,18135 2 3672
+Y 18051,18135 2 3673
+Z 16101,18135 2 3674
+lB 8781,18135,2355 2 3675
+[ "
+rs 8781,18495,885 2 3676
+\ "
+rB 8781,18135,2355 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 8781,18135 2 51808
+` "
+a 14148,12990,360 0 3681
+b 15126,18165,360 2 3682
+c 14148,12990,360 0 3683
+d 15126,18165,360 2 3684
+e 14148,12990,360 0 3685
+f 9759,18315 2 3686
+g 15126,12990,5313 1 3687
+h 15126,18165 2 3688
+i 6342,18165 2 3689
+j 6342,18165,4995 3 3690
+k 14148,18165 2 3691
+l 6342,18165 2 3692
+m 22932,12990 0 3693
+n 15126,12990 0 3694
+o 15126,12990,360 0 3695
+p 15126,12990,4680 0 3696
+q 15126,12990,4680 0 3697
+r 9270,13005 0 3698
+s 13173,12990,360 0 3699
+t 9759,16110,360 0 3700
+u 15126,12630,360 0 3701
+v 14637,12630 0 3702
+w 22932,12630 0 3703
+x 14637,12630 0 3704
+y 14637,12630,4680 0 3705
+z 12684,12630 0 3706
+lC 13173,20130,6075 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 13173,20130,6075 3 3709
+} "
+ti 26346,9435 0 51876
+char192 19515,23130 2 3776
+`A "
+char194 19515,23130 2 3778
+^A "
+char200 15126,23130 2 3784
+`E "
+char202 15126,23130 2 3786
+^E "
+char203 15126,23040 2 3787
+:E "
+char206 7317,23130 2 3790
+^I "
+char207 7317,23040 2 3791
+:I "
+char180 16587,18090 2 3764
+aa "
+ga 16587,18090 2 3680
+a^ 16587,18090 2 3678
+^ "
+char168 16587,17910 2 3752
+ad "
+a~ 16587,17946 2 3710
+~ "
+char217 19029,23130,360 2 3801
+`U "
+char219 19029,23130,360 2 3803
+^U "
+char221 18051,23130 2 3805
+'Y "
+char253 14637,18090,4680 2 3837
+'y "
+char176 16587,18465 2 3760
+de "
+char199 18540,18495,5175 3 3783
+,C "
+char231 14148,12990,5160 1 3815
+,c "
+char209 19029,23130 2 3793
+~N "
+char241 15126,17946 2 3825
+~n "
+char161 8781,12645,5520 1 3745
+r! "
+char191 13662,12480,5835 1 3775
+r? "
+char164 16587,15834 0 3748
+Cs "
+char163 16587,18465 2 3747
+Po "
+char165 16587,18105 2 3749
+Ye "
+char167 16587,18495,360 2 3751
+sc "
+Fn 16587,18315 2 51871
+char162 16587,18750,645 2 3746
+ct "
+char226 14148,18090,360 2 3810
+^a "
+char234 14148,18090,360 2 3818
+^e "
+char244 15126,18090,360 2 3828
+^o "
+char251 15126,18090,360 2 3835
+^u "
+char225 14148,18090,360 2 3809
+'a "
+char233 14148,18090,360 2 3817
+'e "
+char243 15126,18090,360 2 3827
+'o "
+char250 15126,18090,360 2 3834
+'u "
+char224 14148,18090,360 2 3808
+`a "
+char232 14148,18090,360 2 3816
+`e "
+char242 15126,18090,360 2 3826
+`o "
+char249 15126,18090,360 2 3833
+`u "
+char228 14148,17910,360 2 3812
+:a "
+char235 14148,17910,360 2 3819
+:e "
+char246 15126,17910,360 2 3830
+:o "
+char252 15126,17910,360 2 3836
+:u "
+char197 19515,25830 2 3781
+oA "
+char238 6342,18090 2 3822
+^i "
+char216 20004,18495,366 2 3800
+/O "
+char198 25857,18135 2 3782
+AE "
+char229 14148,20100,360 2 3813
+oa "
+char237 6342,18090 2 3821
+'i "
+char248 15126,13047,360 0 3832
+/o "
+char230 22443,12990,360 0 3814
+ae "
+char196 19515,23040 2 3780
+:A "
+char236 6342,18090 2 3820
+`i "
+char214 20004,23040,360 2 3798
+:O "
+char220 19029,23040,360 2 3804
+:U "
+char201 15126,23130 2 3785
+'E "
+char239 6342,17910 2 3823
+:i "
+char223 16101,17790,360 2 3807
+ss "
+char212 20004,23130,360 2 3796
+^O "
+char193 19515,23130 2 3777
+'A "
+char195 19515,23130 2 3779
+~A "
+char227 14148,17946,360 2 3811
+~a "
+char208 19029,18135 2 3792
+-D "
+char240 15126,18747,360 2 3824
+Sd "
+char205 7317,23130 2 3789
+'I "
+char204 7317,23130 2 3788
+`I "
+char211 20004,23130,360 2 3795
+'O "
+char210 20004,23130,360 2 3794
+`O "
+char213 20004,23130,360 2 3797
+~O "
+char245 15126,17946,360 2 3829
+~o "
+vS 17076,23130,360 2 51795
+vs 13173,18090,360 2 51827
+char218 19029,23130,360 2 3802
+'U "
+:Y 18051,23040 2 51801
+char255 14637,17910,4680 2 3839
+:y "
+char222 15612,18135 2 3806
+TP "
+char254 15126,18165,4680 2 3838
+Tp "
+char181 15612,12630,4680 0 3765
+char182 16590,19635,4200 2 3766
+ps "
+char190 26346,18465,900 2 3774
+34 "
+\- 26346,8445 0 51757
+char188 26346,18465,900 2 3772
+14 "
+char189 26346,18465,900 2 3773
+12 "
+char170 10734,18465 2 3754
+Of "
+char186 10734,18465 2 3770
+Om "
+char171 14637,11250 0 3755
+Fo "
+char187 14637,11250 0 3771
+Fc "
+char177 26346,14670 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 26346,11787 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 10245,18465 2 3762
+S2 "
+char179 10245,18465 2 3763
+S3 "
+char184 16587,195033,5160 3 3768
+ac "
+char185 10245,18345 2 3769
+S1 "
+char215 26346,14154 0 3799
+char247 26346,12870 0 3831
+char183 8781,10740 0 3767
+fm 8781,18054 2 51873
+sd 16587,18054 2 51874
+dg 16587,18135 2 51755
+tm 16128,17850 2 51796
+ah 16587,18090 2 51935
+ao 16587,20100 2 51930
+f/ 1464,18465,900 2 51759
+em 26346,7650 0 51789
+en 16587,7650 0 51790
+dd 16587,18135 2 51773
+.i 6342,12630 0 51957
+aq 8781,18135 2 3623
+bu 13173,14226 0 51889
+'C 18540,23130,360 2 20166
+'c 14148,18090,360 2 20198
+lq 13173,18135 2 51838
+rq 13173,18135 2 51746
+Bq 13173,3348,2292 0 51772
+vz 12684,18090 2 51834
+fi 16101,18315 2 51881
+fl 16101,18315 2 51882
+ff 18051,18315 2 51883
+Fi 24396,18315 2 51884
+Fl 24396,18315 2 51885
+ij 12684,18165,4995 3 51958
+bq 8781,3348,2307 0 51756
+%0 26346,18720,840 2 51901
+char175 16587,16950 2 3759
+a- "
+ab 16587,18147 2 51926
+a. 16587,18405 2 51927
+oe 23907,12990,360 0 51823
+OE 26346,18270,135 2 51791
+fo 9759,11277 0 51886
+fc 9759,11277 0 51887
+sq 19029,15624 0 51899
+/L 14148,18135 2 51944
+/l 7320,18165 2 51960
+a" 16587,18090 2 51933
+ho 16587,1197,4299 0 51934
+vZ 16101,23130 2 51802
+IJ 21954,18135,360 2 51942
diff --git a/devlj4/UBI b/devlj4/UBI
new file mode 100644
index 000000000..3c3b77e47
--- /dev/null
+++ b/devlj4/UBI
@@ -0,0 +1,759 @@
+name UBI
+spacewidth 8781
+slant 16.750000
+pcltypeface 4148
+pclproportional 1
+pclweight 3
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2925
+P . -4389
+P , -4389
+V A -2439
+A V -2925
+T o -3903
+T r -2925
+T c -3414
+T e -3414
+T d -3414
+T s -2925
+T y -3414
+T a -3414
+T w -3414
+T u -2925
+T J -2925
+L T -3414
+L Y -3903
+Y o -3414
+Y e -3414
+Y a -3414
+Y J -2925
+A W -2925
+W A -975
+T A -2925
+V o -1950
+V e -1950
+V a -1950
+Y A -2925
+F A -1950
+F . -1950
+F , -1950
+A T -3414
+A Y -3414
+v . -1950
+v , -1950
+y . -1461
+y , -1461
+T . -2925
+T , -2925
+L W -2925
+P A -1950
+V J -1950
+V . -2439
+V , -2439
+Y . -2925
+Y , -2925
+W o -1461
+W e -975
+W a -975
+W . -975
+W , -975
+r . -1461
+r , -1461
+w . -1461
+w , -1461
+Y u -2439
+A v -1461
+A y -1461
+A w -1461
+o . -975
+o , -975
+p . -975
+p , -975
+e . -975
+e , -975
+b . -975
+b , -975
+O T -2925
+O V -1950
+O Y -1950
+O . -1950
+O , -1950
+L y -1461
+L O -2925
+L G -2925
+L C -2925
+L Q -2925
+P J -1461
+V y -1461
+V u -975
+V O -975
+V G -975
+V C -975
+V Q -975
+D T -2925
+D V -1950
+D Y -1950
+D . -2439
+D , -2439
+Y O -1950
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -975
+F e -975
+F a -975
+c . -975
+c , -975
+O A -975
+O W -1461
+L U -2439
+R T -975
+R V -975
+R Y -975
+R W -975
+G T -2439
+P o -975
+P g -486
+P e -975
+P a -975
+C A -975
+C . -1461
+C , -1461
+D A -1461
+D W -1461
+B T -2439
+B Y -1950
+B . -486
+B , -486
+F J -975
+A O -1950
+A G -1950
+A C -1950
+A U -1950
+A Q -1950
+W r -486
+W y -975
+W u -486
+W O -486
+W G -486
+W C -486
+W J -975
+W Q -486
+U A -975
+U . -1950
+U , -1950
+Q W -1461
+T O -1950
+T G -1950
+T C -1950
+T Q -1950
+O X -1461
+L o -1461
+L e -1461
+L q -1461
+G V -1950
+G Y -1950
+G W -1461
+P T -1950
+P V -1950
+P Y -1950
+C T -1950
+C V -1950
+C Y -1950
+D X -1461
+B V -1950
+B X -486
+B A -486
+B W -1461
+S . -975
+S , -975
+F y -486
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1461
+A e -1461
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -975
+o y -1461
+o x -975
+o w -1461
+h v -486
+h y -975
+n v -486
+n y -975
+m v -486
+m y -975
+p v -486
+p y -975
+p x -975
+c v -486
+c y -975
+c w -975
+v o -975
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -486
+e y -975
+b v -975
+b y -1461
+b w -1461
+y o -975
+y g -486
+y c -975
+y d -975
+y a -975
+y q -975
+x o -975
+x c -975
+x e -975
+x d -975
+x a -975
+x q -975
+a v -486
+a y -975
+a w -975
+w o -975
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T S -975
+L a -975
+L S -1461
+R o -486
+R y -486
+P Z -1461
+P X -1461
+P W -1461
+C X -1461
+C W -1461
+V S -975
+S T -1461
+S V -1461
+S Y -1461
+S X -975
+S A -975
+S W -1461
+Y S -975
+X a -975
+X u -975
+X S -975
+A t -1461
+A c -1461
+A d -975
+A a -975
+A u -975
+A q -1461
+A S -1461
+W S -486
+J y -486
+K c -1461
+K u -975
+K S -975
+o f -486
+h w -975
+n w -975
+m w -975
+r o -486
+p w -975
+c x -975
+v e -486
+e x -975
+e w -975
+b f -486
+s v -486
+s y -975
+s w -975
+y e -975
+f o -486
+w e -486
+k o -975
+k c -486
+k v -486
+k e -486
+k d -486
+k y -486
+k a -486
+k w -486
+k q -486
+O Z -486
+P y -486
+C Z -486
+E o -486
+E v -486
+E y -486
+E w -486
+Z o -975
+Z e -975
+Z d -975
+Z y -486
+Z a -975
+Z w -486
+D Z -975
+D J -486
+B Z -486
+S Z -486
+A s -486
+J o -486
+K a -975
+t o -486
+o t -486
+o g -486
+o z -486
+o j -486
+g o -486
+v y -486
+v w -486
+z o -486
+b t -486
+b g -486
+b z -486
+b j -486
+y v -486
+y y -486
+y w -486
+x v -486
+x y -486
+x w -486
+w v -486
+w y -486
+w w -486
+C o -486
+C y -486
+B o -486
+B y -486
+U o -486
+U v -486
+U y -486
+U w -486
+L ' -6342
+T char173 -2925
+T hy -2925
+T - -2925
+T en -2925
+T em -2925
+A ' -2439
+char173 T -3414
+hy T -3414
+- T -3414
+en T -3414
+em T -3414
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -975
+c ' -1461
+e ' -1461
+b ' -1461
+a ' -1461
+V char173 -975
+V hy -975
+V - -975
+V en -975
+V em -975
+h ' -1461
+n ' -975
+m ' -975
+W char173 -486
+W hy -486
+W - -486
+W en -486
+W em -486
+' d -2439
+s ' -486
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1950
+A hy -1950
+A - -1950
+A en -1950
+A em -1950
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -1461
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -975
+hy A -975
+- A -975
+en X -1461
+en A -975
+em X -1461
+b f -486
+' n -1461
+' m -1461
+' r -1461
+' v -1950
+charset
+! 8781,18165,0,2643,33,1012 2 3617
+" 14148,18135,0,1890,-3297,1012 2 3618
+sh 16587,18105,0,1677,-99,1012 2 3619
+# "
+Do 16587,18738,630,495,-1428,495 2 3620
+$ "
+% 26346,18720,840,0,-2070 2 3621
+& 20004,18495,360,54,-231,54 2 3622
+' 8781,18135,0,3414,-2601,1012 2 51751
+( 8781,18135,2445,3198,-834,1012 2 3624
+) 8781,18135,2445,180,2184,180 2 3625
+* 16587,18582,0,0,-3291 2 3626
++ 26346,14940,0,0,-4728 0 3627
+, 8781,3255,2580,0,1794 0 3628
+char173 8781,7737,0,624,270,624 0 3629
+hy "
+- "
+. 8781,3255,0,0,453 0 3630
+sl 8781,18135,1470,4308,2982,1012 2 3631
+/ "
+0 16587,18465,360,1398,-357,1012 2 3632
+1 16587,18105,0,0,-3771 2 3633
+2 16587,18465,0,984,414,984 2 3634
+3 16587,18465,360,1794,363,1012 2 3635
+4 16587,18105,0,1389,1245,1012 2 3636
+5 16587,18105,360,2424,-39,1012 2 3637
+6 16587,18465,360,2316,-345,1012 2 3638
+7 16587,18105,0,1770,-1455,1012 2 3639
+8 16587,18465,360,1776,435,1012 2 3640
+9 16587,18465,360,1464,369,1012 2 3641
+: 8781,12612,0,540,453,540 0 3642
+; 8781,12612,2580,732,1794,732 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 26346,10563,0,0,-5079 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 13662,18315,0,1908,-951,1012 2 3647
+at 26346,21057,2679,1164,-888,1012 2 3648
+@ "
+A 19515,18135,0,0,2535 2 3649
+B 16587,18135,0,1848,1233,1012 2 3650
+C 18540,18495,360,1737,-633,1012 2 3651
+D 19029,18135,0,924,1227,924 2 3652
+E 15126,18135,0,3285,1188,1012 2 3653
+F 14637,18135,0,3723,1200,1012 2 3654
+G 19515,18495,360,1380,-786,1012 2 3655
+H 19029,18135,0,2856,1161,1012 2 3656
+I 7317,18135,0,3219,1521,1012 2 3657
+J 14637,18135,360,3054,1341,1012 2 3658
+K 17565,18135,0,3273,534,1012 2 3659
+L 14148,18135,0,0,1185 2 3660
+M 23907,18135,0,2730,1281,1012 2 3661
+N 19029,18135,0,2883,1248,1012 2 3662
+O 20004,18495,360,969,-705,969 2 3663
+P 15612,18135,0,2871,1203,1012 2 3664
+Q 20490,18495,360,531,-714,531 2 3665
+R 17076,18135,0,2247,1200,1012 2 3666
+S 17076,18495,360,1797,117,1012 2 3667
+T 16587,18135,0,3990,-2166,1012 2 3668
+U 19029,18135,360,2898,-384,1012 2 3669
+V 19029,18135,0,4005,-2604,1012 2 3670
+W 26346,18135,0,3900,-2478,1012 2 3671
+X 19029,18135,0,3222,1893,1012 2 3672
+Y 18051,18135,0,3942,-2616,1012 2 3673
+Z 16101,18135,0,3348,1491,1012 2 3674
+lB 8781,18135,2445,4068,1977,1012 2 3675
+[ "
+rs 8781,18135,1470,540,-1632,540 2 3676
+\ "
+rB 8781,18135,2445,2919,3126,1012 2 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,1012 3 3679
+oq 8781,18135,0,2880,-2067,1012 2 51808
+` "
+a 14148,12990,360,651,978,651 0 3681
+b 15126,18165,360,498,1566,498 2 3682
+c 14148,12990,360,903,411,903 0 3683
+d 15126,18165,360,3291,477,1012 2 3684
+e 14148,12990,360,924,600,924 0 3685
+f 9759,18315,0,4158,297,1012 2 3686
+g 15126,12990,5187,1683,2037,1012 1 3687
+h 15126,18165,0,684,1527,684 2 3688
+i 6342,18165,0,3591,1872,1012 2 3689
+j 6342,18165,4995,3681,5787,1012 3 3690
+k 14148,18165,0,2109,1359,1012 2 3691
+l 6342,18165,0,3579,1839,1012 2 3692
+m 22932,12990,0,609,1551,609 0 3693
+n 15126,12990,0,729,1482,729 0 3694
+o 15126,12990,360,492,465,492 0 3695
+p 15126,12990,4680,531,2868,531 1 3696
+q 15126,12990,4680,1671,471,1012 1 3697
+r 9270,12990,0,2751,1533,1012 0 3698
+s 13173,12990,360,984,1026,984 0 3699
+t 9759,16146,360,2166,-522,1012 0 3700
+u 15126,12630,360,1557,666,1012 0 3701
+v 14637,12630,0,2502,-837,1012 0 3702
+w 22932,12630,0,2004,-1311,1012 0 3703
+x 14637,12630,0,2088,2364,1012 0 3704
+y 14637,12630,4680,2472,-528,1012 1 3705
+z 12684,12630,0,1701,1482,1012 0 3706
+lC 13173,20130,6075,3600,-1356,1012 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 13173,20130,6075,0,3360 3 3709
+} "
+ti 26346,9435,0,0,-4029 0 51876
+char192 19515,23220,0,0,2535 2 3776
+`A "
+char194 19515,23220,0,0,2535 2 3778
+^A "
+char200 15126,23220,0,3285,1188,1012 2 3784
+`E "
+char202 15126,23220,0,3285,1188,1012 2 3786
+^E "
+char203 15126,22830,0,3285,1188,1012 2 3787
+:E "
+char206 7317,23220,0,5631,1521,1012 2 3790
+^I "
+char207 7317,22830,0,6792,1521,1012 2 3791
+:I "
+char180 16587,18105,0,360,-7359,360 2 3764
+aa "
+ga 16587,18105,0,0,-6009 2 3680
+a^ 16587,18105,0,0,-4518 2 3678
+^ "
+char168 16587,18180,0,693,-5457,693 2 3752
+ad "
+a~ 16587,17994,0,771,-5169,771 2 3710
+~ "
+char217 19029,23220,360,2898,-384,1012 2 3801
+`U "
+char219 19029,23220,360,2898,-384,1012 2 3803
+^U "
+char221 18051,23220,0,3942,-2616,1012 2 3805
+'Y "
+char253 14637,18105,4680,2472,-528,1012 3 3837
+'y "
+char176 16587,18465,0,0,-3642 2 3760
+de "
+char199 18540,18495,5409,1737,-633,1012 3 3783
+,C "
+char231 14148,12990,5046,903,411,903 1 3815
+,c "
+char209 19029,23124,0,2883,1248,1012 2 3793
+~N "
+char241 15126,17994,0,1503,1482,1012 2 3825
+~n "
+char161 8781,12651,5514,432,2244,432 1 3745
+r! "
+char191 13662,12486,5829,0,1398 1 3775
+r? "
+char164 16587,15834,0,753,-774,753 0 3748
+Cs "
+char163 16587,18465,0,2046,663,1012 2 3747
+Po "
+char165 16587,18105,0,4872,-30,1012 2 3749
+Ye "
+char167 16587,18495,360,0,-2661 2 3751
+sc "
+Fn 16587,18315,0,1008,-3099,1008 2 51871
+char162 16587,18750,630,678,-1458,678 2 3746
+ct "
+char226 14148,18105,360,651,978,651 2 3810
+^a "
+char234 14148,18105,360,924,600,924 2 3818
+^e "
+char244 15126,18105,360,492,465,492 2 3828
+^o "
+char251 15126,18105,360,1557,666,1012 2 3835
+^u "
+char225 14148,18105,360,1581,978,1012 2 3809
+'a "
+char233 14148,18105,360,1581,600,1012 2 3817
+'e "
+char243 15126,18105,360,1092,465,1012 2 3827
+'o "
+char250 15126,18105,360,1557,666,1012 2 3834
+'u "
+char224 14148,18105,360,651,978,651 2 3808
+`a "
+char232 14148,18105,360,924,600,924 2 3816
+`e "
+char242 15126,18105,360,492,465,492 2 3826
+`o "
+char249 15126,18105,360,1557,666,1012 2 3833
+`u "
+char228 14148,18180,360,1914,978,1012 2 3812
+:a "
+char235 14148,18180,360,1914,600,1012 2 3819
+:e "
+char246 15126,18180,360,1425,465,1012 2 3830
+:o "
+char252 15126,18180,360,1557,666,1012 2 3836
+:u "
+char197 19515,25830,0,0,2535 2 3781
+oA "
+char238 6342,18105,0,4479,1860,1012 2 3822
+^i "
+char216 20004,18495,360,2802,1200,1012 2 3800
+/O "
+char198 25857,18135,0,3294,2781,1012 2 3782
+AE "
+char229 14148,20100,360,651,978,651 2 3813
+oa "
+char237 6342,18105,0,5484,1860,1012 2 3821
+'i "
+char248 15126,12990,360,1764,1686,1012 0 3832
+/o "
+char230 22443,12990,360,840,906,840 0 3814
+ae "
+char196 19515,22830,0,693,2535,693 2 3780
+:A "
+char236 6342,18105,0,2136,1860,1012 2 3820
+`i "
+char214 20004,22830,360,969,-705,969 2 3798
+:O "
+char220 19029,22830,360,2898,-384,1012 2 3804
+:U "
+char201 15126,23220,0,3285,1188,1012 2 3785
+'E "
+char239 6342,18180,0,5817,1860,1012 2 3823
+:i "
+char223 16101,18315,360,795,1515,795 2 3807
+ss "
+char212 20004,23220,360,969,-705,969 2 3796
+^O "
+char193 19515,23220,0,0,2535 2 3777
+'A "
+char195 19515,23124,0,1020,2535,1012 2 3779
+~A "
+char227 14148,17994,360,1992,978,1012 2 3811
+~a "
+char208 19029,18135,0,924,1227,924 2 3792
+-D "
+char240 15126,18693,360,492,465,492 2 3824
+Sd "
+char205 7317,23220,0,5907,1521,1012 2 3789
+'I "
+char204 7317,23220,0,3219,1521,1012 2 3788
+`I "
+char211 20004,23220,360,969,-705,969 2 3795
+'O "
+char210 20004,23220,360,969,-705,969 2 3794
+`O "
+char213 20004,23124,360,969,-705,969 2 3797
+~O "
+char245 15126,17994,360,1503,465,1012 2 3829
+~o "
+vS 17076,23220,360,2220,117,1012 2 51795
+vs 13173,18105,360,2985,1026,1012 2 51827
+char218 19029,23220,360,2898,-384,1012 2 3802
+'U "
+:Y 18051,22830,0,3942,-2616,1012 2 51801
+char255 14637,18180,4680,2472,-528,1012 3 3839
+:y "
+char222 15612,18135,0,1857,1209,1012 2 3806
+TP "
+char254 15126,18165,4680,516,2856,516 3 3838
+Tp "
+char181 15612,12630,4680,1422,2907,1012 1 3765
+char182 16590,19635,4200,0,-2529 2 3766
+ps "
+char190 26346,18465,990,0,-2625 2 3774
+34 "
+\- 26346,8445,0,0,-4746 0 51757
+char188 26346,18465,990,0,-2682 2 3772
+14 "
+char189 26346,18465,990,0,-3168 2 3773
+12 "
+char170 10734,18465,0,2211,-1464,1012 2 3754
+Of "
+char186 10734,18465,0,2520,-1473,1012 2 3770
+Om "
+char171 14637,11115,0,1530,180,1012 0 3755
+Fo "
+char187 14637,11115,0,243,1467,243 0 3771
+Fc "
+char177 26346,14670,0,0,-4695 0 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19635,0,4881,-3090,1012 2 3753
+co "
+char172 26346,11787,0,0,-4329 0 3756
+no "
+char174 13173,19635,0,4881,-3090,1012 2 3758
+rg "
+char178 10245,18465,0,2217,-933,1012 2 3762
+S2 "
+char179 10245,18465,0,2439,-957,1012 2 3763
+S3 "
+char184 16587,195102,5046,0,-1809 3 3768
+ac "
+char185 10245,18345,0,1083,-2880,1012 2 3769
+S1 "
+char215 26346,14154,0,0,-5958 0 3799
+char247 26346,12870,0,0,-4767 0 3831
+char183 8781,10692,0,276,-2055,276 0 3767
+fm 8781,18105,0,2145,-2916,1012 2 51873
+sd 16587,18105,0,0,-2916 2 51874
+dg 16587,18135,0,0,-2718 2 51755
+tm 16101,17850,0,2421,-2958,1012 2 51796
+ah 16587,18105,0,1278,-6441,1012 2 51935
+ao 16587,20100,0,0,-7413 2 51930
+f/ 2439,18465,990,9276,7884,1012 2 51759
+em 26346,7620,0,0,-2226 0 51789
+en 16587,7620,0,72,-372,72 0 51790
+dd 16587,18135,0,0,-2718 2 51773
+.i 6342,12630,0,1857,1860,1012 0 51957
+aq 8781,18135,0,2100,-3297,1012 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 18540,23220,360,1737,-633,1012 2 20166
+'c 14148,18105,360,1581,411,1012 2 20198
+lq 13173,18135,0,3480,-1524,1012 2 51838
+rq 13173,18135,0,4002,-2046,1012 2 51746
+Bq 13173,3234,2241,0,2283 0 51772
+vz 12684,18105,0,3231,1482,1012 2 51834
+fi 16101,18315,0,3693,-33,1012 2 51881
+fl 16101,18315,0,3678,-132,1012 2 51882
+ff 18051,18315,0,4557,-114,1012 2 51883
+Fi 24396,18315,0,3795,-126,1012 2 51884
+Fl 24396,18315,0,3666,-42,1012 2 51885
+ij 12684,18165,4995,3681,1872,1012 3 51958
+bq 8781,3234,2241,0,1878 0 51756
+%0 26346,18720,840,696,51,696 2 51901
+char175 16587,17778,0,102,-5931,102 2 3759
+a- "
+ab 16587,18147,0,771,-5874,771 2 51926
+a. 16587,18222,0,0,-7887 2 51927
+oe 23907,12990,360,525,258,525 0 51823
+OE 26346,18270,135,3186,-819,1012 2 51791
+fo 9759,11142,0,1299,-1029,1012 0 51886
+fc 9759,11142,0,27,243,27 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 14148,18135,0,0,1692 2 51944
+/l 7320,18165,0,3519,1320,1012 2 51960
+a" 16587,18105,0,3672,-5376,1012 2 51933
+ho 16587,279,4248,0,-6180 0 51934
+vZ 16101,23220,0,3348,1491,1012 2 51802
+IJ 21954,18135,360,3054,1521,1012 2 51942
diff --git a/devlj4/UCB b/devlj4/UCB
new file mode 100644
index 000000000..c67dc51bd
--- /dev/null
+++ b/devlj4/UCB
@@ -0,0 +1,774 @@
+name UCB
+spacewidth 5856
+pcltypeface 4148
+pclproportional 1
+pclweight 3
+pclstyle 4
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2925
+P . -4389
+P , -4389
+V A -1950
+A V -1950
+T o -2925
+T r -2925
+T c -2925
+T e -2925
+T d -2925
+T s -2925
+T y -2925
+T a -2925
+T w -2925
+T u -2925
+T J -3414
+L T -2925
+L Y -2925
+Y o -2925
+Y e -2925
+Y a -2439
+Y J -3414
+A W -1461
+W A -1461
+T A -2439
+V o -1461
+V e -1461
+V a -1461
+Y A -2439
+F A -1461
+F . -2925
+F , -2925
+A T -2439
+A Y -2439
+v . -1461
+v , -1461
+y . -1461
+y , -1461
+T . -2925
+T , -2925
+L W -1461
+P A -1461
+V J -1950
+V . -2925
+V , -2925
+Y . -2925
+Y , -2925
+W o -975
+W e -975
+W a -975
+W . -1461
+W , -1461
+r . -1461
+r , -1461
+w . -975
+w , -975
+Y u -1461
+A v -1461
+A y -975
+A w -975
+o . -1461
+o , -1461
+p . -975
+p , -975
+e . -975
+e , -975
+b . -975
+b , -975
+O T -1461
+O V -486
+O Y -1461
+O . -1461
+O , -1461
+L y -975
+L O -1461
+L G -1950
+L C -1461
+L Q -1461
+P J -1950
+V y -486
+V u -486
+V O -486
+V G -486
+V C -486
+V Q -486
+D T -1950
+D V -486
+D Y -1461
+D . -1950
+D , -1950
+Y O -1461
+Y G -1461
+Y C -1461
+Y Q -1461
+F o -975
+F e -975
+F a -975
+c . -975
+c , -975
+O A -975
+O W -486
+L U -1461
+R T -975
+R V -486
+R Y -975
+R W -486
+G T -1461
+P o -1461
+P g -1461
+P e -1461
+P a -975
+C A -975
+C . -1461
+C , -1461
+D A -975
+D W -486
+B T -1461
+B Y -1461
+B . -1461
+B , -1461
+F J -1461
+A O -975
+A G -975
+A C -975
+A U -975
+A Q -975
+W r -486
+W y -486
+W u -486
+W O -486
+W G -486
+W C -486
+W J -1461
+W Q -486
+J A -975
+J . -1461
+J , -1461
+U A -975
+U . -1461
+U , -1461
+Q W -486
+f . -486
+f , -486
+T O -1461
+T G -1950
+T C -1461
+T Q -1461
+O X -1461
+L o -1461
+L e -1461
+L q -975
+G V -486
+G Y -1461
+G W -486
+P T -975
+P V -486
+P Y -975
+C T -1461
+C V -486
+C Y -1461
+D X -1461
+B V -486
+B X -1461
+B A -975
+B W -486
+S . -975
+S , -975
+X o -1461
+X e -1461
+X y -975
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -975
+A e -975
+K o -1461
+K e -1461
+K y -975
+K w -975
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -486
+o y -486
+o x -486
+o w -486
+h v -486
+h y -486
+n v -486
+n y -486
+m v -486
+m y -486
+r g -486
+p v -486
+p y -486
+p x -486
+c v -486
+c y -486
+c w -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -486
+e y -486
+b v -486
+b y -486
+b w -486
+s . -486
+s , -486
+y o -486
+y g -486
+y c -486
+y d -486
+y a -486
+y q -486
+f g -486
+x o -486
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+a v -486
+a y -486
+a w -486
+w o -486
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T S -975
+L a -486
+L S -975
+P s -975
+P Z -975
+P X -975
+P W -486
+C X -1461
+C W -486
+C J -486
+V S -486
+S T -975
+S V -486
+S Y -975
+S X -975
+S A -975
+S W -486
+Y S -975
+X a -486
+X u -975
+X S -975
+A t -975
+A c -975
+A d -975
+A a -486
+A u -975
+A q -975
+A S -975
+W S -486
+K c -1461
+K u -975
+K S -975
+o f -486
+h w -486
+n w -486
+m w -486
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+p f -486
+p w -486
+c f -486
+c x -486
+v e -486
+v s -486
+e f -486
+e x -486
+e w -486
+b f -486
+s v -486
+s y -486
+s f -486
+s x -486
+s w -486
+y e -486
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+x s -486
+w e -486
+w s -486
+k o -975
+k c -975
+k e -975
+k d -975
+k a -486
+k q -975
+O Z -486
+O J -486
+L J -486
+C Z -486
+E J -486
+Z o -1461
+Z e -1461
+Z d -975
+Z s -975
+Z y -486
+Z a -486
+Z w -486
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z J -486
+Z Q -486
+D Z -486
+D J -486
+B Z -486
+B J -486
+S Z -486
+S J -486
+X J -486
+A s -975
+A J -486
+J J -486
+U J -486
+K a -486
+K J -486
+h f -486
+n f -486
+m f -486
+r s -486
+a f -486
+k s -975
+R J -486
+G J -486
+A f -486
+L ' -4389
+T char173 -2925
+T hy -2925
+T - -2925
+T en -2925
+T em -2925
+A ' -1461
+char173 T -2925
+hy T -2925
+- T -2925
+en T -2925
+em T -2925
+Y char173 -1461
+Y hy -1461
+Y - -1461
+Y en -1461
+Y em -1461
+p ' -1461
+c ' -975
+e ' -1461
+b ' -1461
+a ' -975
+V char173 -486
+V hy -486
+V - -486
+V en -486
+V em -486
+h ' -975
+n ' -975
+m ' -975
+W char173 -486
+W hy -486
+W - -486
+W en -486
+W em -486
+' d -975
+s ' -975
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -975
+A hy -975
+A - -975
+A en -975
+A em -975
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -975
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -975
+hy A -975
+- A -975
+en X -1461
+en A -975
+em X -1461
+b f -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+charset
+! 7806,18135 2 3617
+" 10734,18135 2 3618
+sh 12684,18360,825 2 3619
+# "
+Do 12684,18705,765 2 3620
+$ "
+% 17565,18765,900 2 3621
+& 16587,18390,255 2 3622
+' 5856,18135 2 51751
+( 5856,18135,2430 2 3624
+) 5856,18135,2430 2 3625
+* 12684,18495 2 3626
++ 17565,12810 0 3627
+, 5856,3465,2430 0 3628
+char173 5856,7710 0 3629
+hy "
+- "
+. 5856,3330 0 3630
+sl 5856,18165,2430 2 3631
+/ "
+0 12684,18360,255 2 3632
+1 12684,18105 2 3633
+2 12684,18360 2 3634
+3 12684,18360,255 2 3635
+4 12684,18105 2 3636
+5 12684,18105,255 2 3637
+6 12684,18360,255 2 3638
+7 12684,18105 2 3639
+8 12684,18360,255 2 3640
+9 12684,18360,255 2 3641
+: 5856,12378 0 3642
+; 5856,12378,2430 0 3643
+< 26346,16068 0 3644
+= 17565,9792 0 3645
+> 26346,16068 0 3646
+? 11709,18390 2 3647
+at 17565,18357,3219 2 3648
+@ "
+A 14637,18135 2 3649
+B 14148,18135 2 3650
+C 13662,18390,255 2 3651
+D 14637,18135 2 3652
+E 12198,18135 2 3653
+F 11709,18135 2 3654
+G 14637,18390,255 2 3655
+H 14637,18135 2 3656
+I 6831,18135 2 3657
+J 12684,18135,255 2 3658
+K 14148,18135 2 3659
+L 11220,18135 2 3660
+M 19515,18135 2 3661
+N 15126,18135 2 3662
+O 14637,18390,255 2 3663
+P 13662,18135 2 3664
+Q 15126,18390,255 2 3665
+R 13662,18135 2 3666
+S 14148,18390,255 2 3667
+T 13173,18135 2 3668
+U 14637,18135,255 2 3669
+V 13662,18135 2 3670
+W 20490,18135 2 3671
+X 14637,18135 2 3672
+Y 13662,18135 2 3673
+Z 12198,18135 2 3674
+lB 5856,18135,2430 2 3675
+[ "
+rs 5856,18165,2430 2 3676
+\ "
+rB 5856,18135,2430 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 5856,18135 2 51808
+` "
+a 11709,12885,255 0 3681
+b 11709,18165,255 2 3682
+c 10734,12885,255 0 3683
+d 11709,18165,255 2 3684
+e 11220,12885,255 0 3685
+f 8295,18315 2 3686
+g 11709,12885,4995 1 3687
+h 12198,18165 2 3688
+i 6342,18165 2 3689
+j 6342,18165,4995 3 3690
+k 11709,18165 2 3691
+l 6342,18165 2 3692
+m 17565,12885 0 3693
+n 12198,12885 0 3694
+o 11709,12885,255 0 3695
+p 11709,12885,4995 1 3696
+q 11709,12885,4995 1 3697
+r 8781,12885 0 3698
+s 10734,12885,255 0 3699
+t 8295,16086,255 0 3700
+u 12198,12630,255 0 3701
+v 11709,12630 0 3702
+w 18540,12630 0 3703
+x 11709,12630 0 3704
+y 11709,12630,4680 1 3705
+z 9759,12630 0 3706
+lC 13173,20130,6075 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 13173,20130,6075 3 3709
+} "
+ti 26346,9435 0 51876
+char192 14637,23130 2 3776
+`A "
+char194 14637,23130 2 3778
+^A "
+char200 12198,23130 2 3784
+`E "
+char202 12198,23130 2 3786
+^E "
+char203 12198,22815 2 3787
+:E "
+char206 6831,23130 2 3790
+^I "
+char207 6831,22815 2 3791
+:I "
+char180 12684,18285 2 3764
+aa "
+ga 12684,18285 2 3680
+a^ 12684,18285 2 3678
+^ "
+char168 12684,18225 2 3752
+ad "
+a~ 12684,17874 2 3710
+~ "
+char217 14637,23130,255 2 3801
+`U "
+char219 14637,23130,255 2 3803
+^U "
+char221 13662,23130 2 3805
+'Y "
+char253 11709,18285,4680 3 3837
+'y "
+char176 12684,18360 2 3760
+de "
+char199 13662,18390,5580 3 3783
+,C "
+char231 10734,12885,5190 1 3815
+,c "
+char209 15126,23031 2 3793
+~N "
+char241 12198,17874 2 3825
+~n "
+char161 7806,12630,5505 1 3745
+r! "
+char191 11709,12576,5814 1 3775
+r? "
+char164 12684,15834 0 3748
+Cs "
+char163 12684,18360 2 3747
+Po "
+char165 12684,18105 2 3749
+Ye "
+char167 12684,18495,600 2 3751
+sc "
+Fn 12684,18315 2 51871
+char162 12684,18705,765 2 3746
+ct "
+char226 11709,18285,255 2 3810
+^a "
+char234 11220,18285,255 2 3818
+^e "
+char244 11709,18285,255 2 3828
+^o "
+char251 12198,18285,255 2 3835
+^u "
+char225 11709,18285,255 2 3809
+'a "
+char233 11220,18285,255 2 3817
+'e "
+char243 11709,18285,255 2 3827
+'o "
+char250 12198,18285,255 2 3834
+'u "
+char224 11709,18285,255 2 3808
+`a "
+char232 11220,18285,255 2 3816
+`e "
+char242 11709,18285,255 2 3826
+`o "
+char249 12198,18285,255 2 3833
+`u "
+char228 11709,18225,255 2 3812
+:a "
+char235 11220,18225,255 2 3819
+:e "
+char246 11709,18225,255 2 3830
+:o "
+char252 12198,18225,255 2 3836
+:u "
+char197 14637,25080 2 3781
+oA "
+char238 6342,18285 2 3822
+^i "
+char216 14637,19890,2019 2 3800
+/O "
+char198 20490,18135 2 3782
+AE "
+char229 11709,19455,255 2 3813
+oa "
+char237 6342,18285 2 3821
+'i "
+char248 11709,14256,2172 0 3832
+/o "
+char230 17565,12885,255 0 3814
+ae "
+char196 14637,22815 2 3780
+:A "
+char236 6342,18285 2 3820
+`i "
+char214 14637,22815,255 2 3798
+:O "
+char220 14637,22815,255 2 3804
+:U "
+char201 12198,23130 2 3785
+'E "
+char239 6342,18225 2 3823
+:i "
+char223 13173,18315,255 2 3807
+ss "
+char212 14637,23130,255 2 3796
+^O "
+char193 14637,23130 2 3777
+'A "
+char195 14637,23031 2 3779
+~A "
+char227 11709,17874,255 2 3811
+~a "
+char208 14637,18135 2 3792
+-D "
+char240 11709,18573,255 2 3824
+Sd "
+char205 6831,23130 2 3789
+'I "
+char204 6831,23130 2 3788
+`I "
+char211 14637,23130,255 2 3795
+'O "
+char210 14637,23130,255 2 3794
+`O "
+char213 14637,23031,255 2 3797
+~O "
+char245 11709,17874,255 2 3829
+~o "
+vS 14148,23130,255 2 51795
+vs 10734,18285,255 2 51827
+char218 14637,23130,255 2 3802
+'U "
+:Y 13662,22815 2 51801
+char255 11709,18225,4680 3 3839
+:y "
+char222 13662,18135 2 3806
+TP "
+char254 11709,18165,4995 3 3838
+Tp "
+char181 15612,12630,4680 1 3765
+char182 12684,19635,4200 2 3766
+ps "
+char190 17565,18765,900 2 3774
+34 "
+\- 17565,7740 0 51757
+char188 17565,18765,900 2 3772
+14 "
+char189 17565,18765,900 2 3773
+12 "
+char170 10734,18360 2 3754
+Of "
+char186 10734,18360 2 3770
+Om "
+char171 11709,11070 0 3755
+Fo "
+char187 11709,11070 0 3771
+Fc "
+char177 17565,12810,2520 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 17565,10320 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 8295,18465 2 3762
+S2 "
+char179 8295,18465 2 3763
+S3 "
+char184 12684,195258,5190 3 3768
+ac "
+char185 8295,18345 2 3769
+S1 "
+char215 17565,12345 0 3799
+char247 17565,12015 0 3831
+char183 5856,10251 0 3767
+fm 5856,18105 2 51873
+sd 12684,18105 2 51874
+dg 12684,18135 2 51755
+tm 16101,17850 2 51796
+ah 12684,18285 2 51935
+ao 12684,19455 2 51930
+f/ 2928,18765,900 2 51759
+em 17565,7530 0 51789
+en 12684,7530 0 51790
+dd 12684,18135 2 51773
+.i 6342,12630 0 51957
+aq 5856,18135 2 3623
+bu 13173,14226 0 51889
+'C 13662,23130,255 2 20166
+'c 10734,18285,255 2 20198
+lq 10245,18135 2 51838
+rq 10245,18135 2 51746
+Bq 10245,3513,2382 0 51772
+vz 9759,18285 2 51834
+fi 14148,18315 2 51881
+fl 14148,18315 2 51882
+ff 15126,18315 2 51883
+Fi 20979,18315 2 51884
+Fl 20979,18315 2 51885
+ij 12684,18165,4995 3 51958
+bq 5856,3513,2382 0 51756
+%0 26346,18765,900 2 51901
+char175 12684,17595 2 3759
+a- "
+ab 12684,18285 2 51926
+a. 12684,18345 2 51927
+oe 17565,12885,255 0 51823
+OE 20490,18270,135 2 51791
+fo 6342,11070 0 51886
+fc 6342,11070 0 51887
+sq 19029,15624 0 51899
+/L 11709,18135 2 51944
+/l 6831,18165 2 51960
+a" 12684,18285 2 51933
+ho 12684,300,4335 0 51934
+vZ 12198,23130 2 51802
+IJ 18540,18135,255 2 51942
diff --git a/devlj4/UCBI b/devlj4/UCBI
new file mode 100644
index 000000000..ceef7343e
--- /dev/null
+++ b/devlj4/UCBI
@@ -0,0 +1,683 @@
+name UCBI
+spacewidth 5856
+slant 16.500000
+pcltypeface 4148
+pclproportional 1
+pclweight 3
+pclstyle 5
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2439
+P . -4389
+P , -4389
+V A -1461
+A V -1950
+T o -2439
+T r -1950
+T c -2439
+T e -2439
+T d -2439
+T s -1950
+T y -1950
+T a -2439
+T w -1950
+T u -1950
+T J -1950
+L T -2439
+L Y -2925
+Y o -1950
+Y e -1461
+Y a -1461
+Y J -1950
+A W -1461
+W A -975
+T A -1950
+V o -975
+V e -975
+V a -975
+Y A -1950
+F A -975
+F . -3414
+F , -3414
+A T -2439
+A Y -2439
+v . -975
+v , -975
+y . -975
+y , -975
+T . -1950
+T , -1950
+L W -1461
+P A -1461
+V J -975
+V . -1950
+V , -1950
+Y . -1950
+Y , -1950
+W o -975
+W e -975
+W a -975
+W . -975
+W , -975
+r . -1461
+r , -1461
+w . -975
+w , -975
+Y u -975
+A v -486
+A y -975
+A w -486
+o . -975
+o , -975
+p . -975
+p , -975
+e . -486
+e , -486
+b . -975
+b , -975
+O T -1950
+O V -486
+O Y -975
+O . -1461
+O , -1461
+L y -1461
+L O -1950
+L G -1950
+L C -1950
+L Q -1950
+P J -1461
+V y -486
+V u -486
+V O -486
+V G -486
+V C -486
+V Q -486
+D T -1461
+D V -486
+D Y -975
+D . -1950
+D , -1950
+Y O -975
+Y G -975
+Y C -975
+Y Q -975
+F o -486
+F e -486
+F a -486
+c . -486
+c , -486
+O A -486
+O W -486
+L U -1461
+R T -1461
+R V -486
+R Y -975
+R W -486
+G T -1461
+P o -975
+P g -486
+P e -486
+P a -486
+C A -486
+C . -1461
+C , -1461
+D A -486
+D W -486
+B T -1950
+B Y -975
+B . -486
+B , -486
+F J -486
+A O -486
+A G -486
+A C -486
+A U -486
+A Q -486
+W r -486
+W y -486
+W u -486
+W O -486
+W G -486
+W C -486
+W J -975
+W Q -486
+U A -486
+U . -975
+U , -975
+Q W -486
+T O -1461
+T G -1461
+T C -1461
+T Q -1461
+O X -975
+L o -1461
+L e -1461
+L q -1461
+G V -486
+G Y -975
+G W -486
+P T -1461
+P V -486
+P Y -975
+C T -1950
+C V -486
+C Y -975
+D X -975
+B V -486
+B X -486
+B A -486
+B W -486
+S . -486
+S , -486
+X o -975
+X e -975
+X y -975
+X O -975
+X G -975
+X C -975
+X Q -975
+A o -486
+A e -486
+K o -975
+K e -975
+K y -975
+K w -975
+K O -975
+K G -975
+K C -975
+K Q -975
+o y -486
+o x -975
+h y -486
+n y -486
+m y -486
+r g -486
+p y -486
+p x -975
+c y -486
+e y -486
+b y -486
+x o -975
+x c -975
+x e -486
+x d -975
+x a -486
+x q -975
+a y -486
+T S -486
+L a -486
+L S -975
+P Z -486
+P X -975
+P W -486
+C X -975
+C W -486
+V S -486
+S T -975
+S V -486
+S Y -975
+S X -486
+S A -486
+S W -486
+Y S -486
+X a -486
+X u -975
+X S -486
+A t -486
+A c -486
+A d -486
+A a -486
+A u -486
+A q -486
+A S -486
+W S -486
+K c -975
+K u -975
+K S -486
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+c x -486
+e x -486
+s y -486
+k o -486
+k c -486
+k e -486
+k d -486
+k a -486
+k q -486
+O Z -486
+C Z -486
+Z o -486
+Z e -486
+Z d -486
+Z s -486
+Z y -486
+Z a -486
+Z w -486
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z Q -486
+D Z -486
+B Z -486
+S Z -486
+A s -486
+K a -486
+L ' -3903
+T char173 -1950
+T hy -1950
+T - -1950
+T en -1950
+T em -1950
+A ' -1461
+char173 T -2439
+hy T -2439
+- T -2439
+en T -2439
+em T -2439
+Y char173 -975
+Y hy -975
+Y - -975
+Y en -975
+Y em -975
+p ' -975
+c ' -975
+e ' -1461
+b ' -1461
+a ' -975
+V char173 -486
+V hy -486
+V - -486
+V en -486
+V em -486
+h ' -1461
+n ' -975
+m ' -975
+W char173 -486
+W hy -486
+W - -486
+W en -486
+W em -486
+' d -975
+s ' -486
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -975
+X hy -975
+X - -975
+X en -975
+X em -975
+A char173 -486
+A hy -486
+A - -486
+A en -486
+A em -486
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+char173 X -975
+hy X -975
+- X -975
+char173 A -486
+hy A -486
+- A -486
+en X -975
+en A -486
+em X -975
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+charset
+! 7806,18135,0,2628,993,994 2 3617
+" 10734,18135,0,3669,-2133,994 2 3618
+sh 12684,18360,825,2676,684,994 2 3619
+# "
+Do 12684,18840,570,1326,-291,994 2 3620
+$ "
+% 17565,18465,1050,1386,228,994 2 3621
+& 16587,18390,255,609,471,609 2 3622
+' 5856,18135,0,4215,-1392,994 2 51751
+( 5856,18135,2430,4416,744,994 2 3624
+) 5856,18135,2430,1812,3348,994 2 3625
+* 12684,18390,0,1635,-3465,994 2 3626
++ 17565,12810,0,0,-1431 0 3627
+, 5856,3465,2370,0,3042 0 3628
+char173 5856,7785,0,726,585,726 0 3629
+hy "
+- "
+. 5856,3465,0,0,1917 0 3630
+sl 5856,18165,2430,4518,3396,994 2 3631
+/ "
+0 12684,18360,255,2343,627,994 2 3632
+1 12684,18105,0,1020,-2307,994 2 3633
+2 12684,18360,0,2235,1779,994 2 3634
+3 12684,18360,255,2184,687,994 2 3635
+4 12684,18105,0,2082,1284,994 2 3636
+5 12684,18105,255,2490,525,994 2 3637
+6 12684,18360,255,2397,546,994 2 3638
+7 12684,18105,0,3309,315,994 2 3639
+8 12684,18360,255,2274,600,994 2 3640
+9 12684,18360,255,2289,819,994 2 3641
+: 5856,12570,0,1947,1917,994 0 3642
+; 5856,12570,2370,1836,3042,994 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 17565,9792,0,0,-1455 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 11709,18390,0,2205,-738,994 2 3647
+at 17565,18372,3231,2163,1152,994 2 3648
+@ "
+A 14637,18135,0,0,2460 2 3649
+B 14148,18135,0,1668,1362,994 2 3650
+C 13662,18390,255,2247,375,994 2 3651
+D 14637,18135,0,1851,1398,994 2 3652
+E 12198,18135,0,3423,1440,994 2 3653
+F 11709,18135,0,3855,1584,994 2 3654
+G 14637,18390,255,1926,117,994 2 3655
+H 14637,18135,0,3243,1542,994 2 3656
+I 6831,18135,0,3342,1641,994 2 3657
+J 12684,18135,255,3231,1059,994 2 3658
+K 14148,18135,0,3366,1374,994 2 3659
+L 11220,18135,0,0,1488 2 3660
+M 19515,18135,0,2958,1551,994 2 3661
+N 15126,18135,0,3003,1431,994 2 3662
+O 14637,18390,255,1872,204,994 2 3663
+P 13662,18135,0,2412,1506,994 2 3664
+Q 15126,18390,255,1449,189,994 2 3665
+R 13662,18135,0,1968,1545,994 2 3666
+S 14148,18390,255,2079,495,994 2 3667
+T 13173,18135,0,3891,-1554,994 2 3668
+U 14637,18135,255,3147,72,994 2 3669
+V 13662,18135,0,4206,-1620,994 2 3670
+W 20490,18135,0,3927,-699,994 2 3671
+X 14637,18135,0,3828,2505,994 2 3672
+Y 13662,18135,0,4230,-1767,994 2 3673
+Z 12198,18135,0,3639,2217,994 2 3674
+lB 5856,18135,2430,4086,2592,994 2 3675
+[ "
+rs 8295,18165,2430,534,-1680,534 2 3676
+\ "
+rB 5856,18135,2430,3555,3123,994 2 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,994 3 3679
+oq 5856,18135,0,3957,-1134,994 2 51808
+` "
+a 11709,12885,255,999,1161,994 0 3681
+b 11709,18165,255,1164,1920,994 2 3682
+c 10734,12885,255,1290,990,994 0 3683
+d 11709,18165,255,3657,1038,994 2 3684
+e 11220,12885,255,1140,1023,994 0 3685
+f 8295,18315,0,4233,960,994 2 3686
+g 11709,12885,4995,2007,2487,994 1 3687
+h 12198,18165,0,987,1677,987 2 3688
+i 6342,18165,0,3393,1722,994 2 3689
+j 6342,18165,4995,3432,4620,994 3 3690
+k 11709,18165,0,2241,1605,994 2 3691
+l 6342,18165,0,3426,1746,994 2 3692
+m 17565,12885,0,1053,1842,994 0 3693
+n 12198,12885,0,915,1734,915 0 3694
+o 11709,12885,255,990,927,990 0 3695
+p 11709,12885,4680,1098,3417,994 1 3696
+q 11709,12885,4680,1926,1122,994 1 3697
+r 8781,12885,0,2637,1686,994 0 3698
+s 10734,12885,255,1116,1380,994 0 3699
+t 8295,15693,255,2280,354,994 0 3700
+u 12198,12630,255,1764,849,994 0 3701
+v 11709,12630,0,2337,-546,994 0 3702
+w 18540,12630,0,2337,-171,994 0 3703
+x 11709,12630,0,2193,2526,994 0 3704
+y 11709,12630,4680,2457,1983,994 1 3705
+z 9759,12630,0,1977,2220,994 0 3706
+lC 13173,20130,6075,3150,-906,994 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 13173,20130,6075,0,3510 3 3709
+} "
+ti 26346,9435,0,0,-4029 0 51876
+char192 14637,23100,0,0,2460 2 3776
+`A "
+char194 14637,23100,0,1626,2460,994 2 3778
+^A "
+char200 12198,23100,0,3423,1440,994 2 3784
+`E "
+char202 12198,23100,0,3423,1440,994 2 3786
+^E "
+char203 12198,23265,0,3948,1440,994 2 3787
+:E "
+char206 6831,23100,0,5529,1641,994 2 3790
+^I "
+char207 6831,23265,0,6630,1641,994 2 3791
+:I "
+char180 12684,18225,0,1785,-5265,994 2 3764
+aa "
+ga 12684,18225,0,0,-5271 2 3680
+a^ 12684,18225,0,702,-3897,702 2 3678
+^ "
+char168 12684,18120,0,2067,-3990,994 2 3752
+ad "
+a~ 12684,17811,0,1560,-3786,994 2 3710
+~ "
+char217 14637,23100,255,3147,72,994 2 3801
+`U "
+char219 14637,23100,255,3147,72,994 2 3803
+^U "
+char221 13662,23100,0,4230,-1767,994 2 3805
+'Y "
+char253 11709,18225,4680,2457,1983,994 3 3837
+'y "
+char176 12684,18360,0,1377,-3201,994 2 3760
+de "
+char199 13662,18390,5295,2247,375,994 3 3783
+,C "
+char231 10734,12885,5205,1290,1419,994 1 3815
+,c "
+char209 15126,22833,0,3003,1431,994 2 3793
+~N "
+char241 12198,17811,0,1803,1734,994 2 3825
+~n "
+char161 7806,12615,5520,936,2685,936 1 3745
+r! "
+char191 11709,12600,5790,0,2256 1 3775
+r? "
+char164 12684,15834,0,2757,1125,994 0 3748
+Cs "
+char163 12684,18360,0,2571,1257,994 2 3747
+Po "
+char165 12684,18105,0,4791,834,994 2 3749
+Ye "
+char167 12684,18390,255,174,-1545,174 2 3751
+sc "
+Fn 12684,18315,0,2196,-1392,994 2 51871
+char162 12684,18840,570,1299,-636,994 2 3746
+ct "
+char226 11709,18225,255,1188,1161,994 2 3810
+^a "
+char234 11220,18225,255,1434,1023,994 2 3818
+^e "
+char244 11709,18225,255,1188,927,994 2 3828
+^o "
+char251 12198,18225,255,1764,849,994 2 3835
+^u "
+char225 11709,18225,255,2271,1161,994 2 3809
+'a "
+char233 11220,18225,255,2517,1023,994 2 3817
+'e "
+char243 11709,18225,255,2271,927,994 2 3827
+'o "
+char250 12198,18225,255,2028,849,994 2 3834
+'u "
+char224 11709,18225,255,999,1161,994 2 3808
+`a "
+char232 11220,18225,255,1140,1023,994 2 3816
+`e "
+char242 11709,18225,255,990,927,990 2 3826
+`o "
+char249 12198,18225,255,1764,849,994 2 3833
+`u "
+char228 11709,18120,255,2553,1161,994 2 3812
+:a "
+char235 11220,18120,255,2799,1023,994 2 3819
+:e "
+char246 11709,18120,255,2553,927,994 2 3830
+:o "
+char252 12198,18120,255,2310,849,994 2 3836
+:u "
+char197 14637,25164,0,1713,2460,994 2 3781
+oA "
+char238 6342,18225,0,3873,1713,994 2 3822
+^i "
+char216 14637,19854,1755,1872,204,994 2 3800
+/O "
+char198 20490,18135,0,2688,3147,994 2 3782
+AE "
+char229 11709,19089,255,1488,1161,994 2 3813
+oa "
+char237 6342,18225,0,5760,1713,994 2 3821
+'i "
+char248 11709,14208,1830,993,927,993 0 3832
+/o "
+char230 17565,12885,255,924,966,924 0 3814
+ae "
+char196 14637,23265,0,2727,2460,994 2 3780
+:A "
+char236 6342,18225,0,2367,1713,994 2 3820
+`i "
+char214 14637,23265,255,2727,204,994 2 3798
+:O "
+char220 14637,23265,255,3147,72,994 2 3804
+:U "
+char201 12198,23100,0,3660,1440,994 2 3785
+'E "
+char239 6342,18120,0,5238,1713,994 2 3823
+:i "
+char223 13173,18165,0,1956,1704,994 2 3807
+ss "
+char212 14637,23100,255,1872,204,994 2 3796
+^O "
+char193 14637,23100,0,2439,2460,994 2 3777
+'A "
+char195 14637,22833,0,2379,2460,994 2 3779
+~A "
+char227 11709,17811,255,2046,1161,994 2 3811
+~a "
+char208 14637,18135,0,1851,1398,994 2 3792
+-D "
+char240 11709,18756,255,1419,936,994 2 3824
+Sd "
+char205 6831,23100,0,6342,1641,994 2 3789
+'I "
+char204 6831,23100,0,3732,1641,994 2 3788
+`I "
+char211 14637,23100,255,2439,204,994 2 3795
+'O "
+char210 14637,23100,255,1872,204,994 2 3794
+`O "
+char213 14637,22833,255,2379,204,994 2 3797
+~O "
+char245 11709,17811,255,2046,927,994 2 3829
+~o "
+vS 14148,23100,255,2754,495,994 2 51795
+vs 10734,18225,255,2754,1380,994 2 51827
+char218 14637,23100,255,3147,72,994 2 3802
+'U "
+:Y 13662,23265,0,4230,-1767,994 2 51801
+char255 11709,18120,4680,2553,1983,994 3 3839
+:y "
+char222 13662,18135,0,1518,1470,994 2 3806
+TP "
+char254 11709,18165,4680,1098,3417,994 3 3838
+Tp "
+char181 15612,12630,4680,1422,2907,994 1 3765
+char182 12684,19635,4200,2046,-1215,994 2 3766
+ps "
+char190 17565,18465,1050,1788,-174,994 2 3774
+34 "
+\- 17565,7740,0,0,-1455 0 51757
+char188 17565,18345,1050,639,975,639 2 3772
+14 "
+char189 17565,18345,1050,165,1449,165 2 3773
+12 "
+char170 10734,18360,0,1965,-2322,994 2 3754
+Of "
+char186 10734,18360,0,1956,-2496,994 2 3770
+Om "
+char171 11709,10965,0,1749,306,994 0 3755
+Fo "
+char187 11709,10965,0,219,1836,219 0 3771
+Fc "
+char177 17565,12810,2520,0,-1431 0 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19635,0,4629,-2838,994 2 3753
+co "
+char172 17565,10320,0,0,-1455 0 3756
+no "
+char174 13173,19635,0,4629,-2838,994 2 3758
+rg "
+char178 8295,18465,0,2814,-432,994 2 3762
+S2 "
+char179 8295,18465,0,2817,-1047,994 2 3763
+S3 "
+char184 12684,195183,5205,0,444 3 3768
+ac "
+char185 8295,18345,0,1920,-2586,994 2 3769
+S1 "
+char215 17565,12345,0,0,-2448 0 3799
+char247 17565,12015,0,0,-1446 0 3831
+char183 5856,10671,0,1371,-189,994 0 3767
+fm 5856,18105,0,3432,-2124,994 2 51873
+sd 12684,18105,0,1554,-2124,994 2 51874
+dg 12684,18135,0,318,-1353,318 2 51755
+tm 16101,17850,0,2169,-2706,994 2 51796
+ah 12684,18225,0,1779,-4974,994 2 51935
+ao 12684,19089,0,1002,-4803,994 2 51930
+f/ 2928,18345,1050,8775,7476,994 2 51759
+em 17565,7605,0,426,354,426 0 51789
+en 12684,7605,0,753,546,753 0 51790
+dd 12684,18135,0,399,-1434,399 2 51773
+.i 6342,12630,0,1770,1713,994 0 51957
+aq 5856,18135,0,3546,-2133,994 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 13662,23100,255,3378,375,994 2 20166
+'c 10734,18225,255,2910,990,994 2 20198
+lq 10245,18135,0,3945,-1131,994 2 51838
+rq 10245,18135,0,4314,-1500,994 2 51746
+Bq 10245,3459,2376,0,3000 0 51772
+vz 9759,18225,0,3240,2220,994 2 51834
+fi 14148,18315,0,3318,981,994 2 51881
+fl 14148,18315,0,3378,978,994 2 51882
+ff 15126,18315,0,4389,963,994 2 51883
+Fi 20979,18315,0,3477,981,994 2 51884
+Fl 20979,18315,0,3537,978,994 2 51885
+ij 12684,18165,4995,3432,1722,994 3 51958
+bq 5856,3459,2376,57,2766,57 0 51756
+%0 26346,18465,1050,450,-201,450 2 51901
+char175 12684,16386,0,927,-4566,927 0 3759
+a- "
+ab 12684,18195,0,1674,-4344,994 2 51926
+a. 12684,18120,0,0,-5505 2 51927
+oe 17565,12885,255,903,948,903 0 51823
+OE 20490,18270,135,2994,153,994 2 51791
+fo 6342,10965,0,1878,399,994 0 51886
+fc 6342,10965,0,453,1824,453 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 13173,18135,0,951,96,951 2 51944
+/l 8781,18165,0,2745,807,994 2 51960
+a" 12684,18225,0,4065,-4167,994 2 51933
+ho 12684,918,4755,0,-2397 1 51934
+vZ 12198,23100,0,3729,2217,994 2 51802
+IJ 19515,18135,255,3231,1641,994 2 51942
diff --git a/devlj4/UCI b/devlj4/UCI
new file mode 100644
index 000000000..9e26536f7
--- /dev/null
+++ b/devlj4/UCI
@@ -0,0 +1,822 @@
+name UCI
+spacewidth 5856
+slant 16.500000
+pcltypeface 4148
+pclproportional 1
+pclweight 0
+pclstyle 5
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2925
+P . -5364
+P , -5364
+V A -1950
+A V -1950
+T o -3414
+T r -3414
+T c -3414
+T e -3414
+T d -3414
+T s -3903
+T y -3414
+T a -3414
+T w -3414
+T u -3414
+T J -3414
+L T -3414
+L Y -2925
+Y o -2925
+Y e -2925
+Y a -2439
+Y J -2925
+A W -1950
+W A -1950
+T A -2925
+V o -1950
+V e -1950
+V a -1461
+Y A -2925
+F A -1461
+F . -3903
+F , -3903
+A T -2925
+A Y -2925
+v . -1950
+v , -1950
+y . -2439
+y , -2439
+T . -3414
+T , -3414
+L W -1950
+P A -1461
+V J -1950
+V . -2925
+V , -2925
+Y . -2925
+Y , -2925
+W o -1461
+W e -1461
+W a -1461
+W . -1950
+W , -1950
+r . -1461
+r , -1461
+w . -1950
+w , -1950
+Y u -1461
+A v -975
+A y -975
+A w -975
+o . -486
+o , -486
+p . -486
+p , -486
+e . -486
+e , -486
+b . -486
+b , -486
+O T -1461
+O V -486
+O Y -1461
+O . -975
+O , -975
+L y -2439
+L O -1461
+L G -1461
+L C -1461
+L Q -1461
+P J -1950
+V y -486
+V u -486
+V O -486
+V G -486
+V C -486
+V Q -486
+D T -1461
+D V -486
+D Y -1461
+D . -975
+D , -975
+Y O -975
+Y G -975
+Y C -975
+Y Q -975
+F o -975
+F e -975
+F a -975
+c . -486
+c , -486
+O A -486
+O W -486
+L U -1461
+R T -1461
+R V -486
+R Y -1461
+R W -486
+G T -1461
+P o -1461
+P g -1461
+P e -1461
+P a -975
+C A -975
+C . -975
+C , -975
+D A -486
+D W -486
+B T -1461
+B Y -1461
+B . -975
+B , -975
+F J -975
+A O -486
+A G -486
+A C -486
+A U -486
+A Q -486
+W r -486
+W y -486
+W u -486
+W O -486
+W G -486
+W C -486
+W J -1461
+W Q -486
+J A -486
+J . -1461
+J , -1461
+U A -486
+U . -975
+U , -975
+Q W -486
+f . -975
+f , -975
+T O -975
+T G -975
+T C -975
+T Q -975
+O X -486
+L o -1950
+L e -1950
+L q -1950
+G V -486
+G Y -1461
+G W -486
+P T -1461
+P V -486
+P Y -1461
+C T -1461
+C V -975
+C Y -1461
+D X -486
+B V -486
+B X -486
+B A -486
+B W -486
+S . -486
+S , -486
+X o -486
+X e -486
+X y -486
+X O -486
+X G -486
+X C -486
+X Q -486
+A o -486
+A e -486
+K o -975
+K e -975
+K y -975
+K w -975
+K O -975
+K G -975
+K C -975
+K Q -975
+o v -486
+o y -486
+o x -486
+o w -486
+h v -486
+h y -486
+n v -486
+n y -486
+m v -486
+m y -486
+r g -486
+p v -486
+p y -486
+p x -486
+c v -486
+c y -486
+c w -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -486
+e y -486
+b v -486
+b y -486
+b w -486
+s . -486
+s , -486
+y o -486
+y g -486
+y c -486
+y d -486
+y a -486
+y q -486
+f g -486
+x o -486
+x g -486
+x c -486
+x e -486
+x d -486
+x a -486
+x q -486
+a v -486
+a y -486
+a w -486
+w o -486
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T i -486
+T S -486
+L a -1461
+L S -975
+P s -486
+P Z -486
+P X -486
+P W -486
+C X -975
+C W -975
+C J -486
+V i -486
+V S -486
+S T -975
+S V -486
+S Y -975
+S X -486
+S A -486
+S W -486
+Y i -486
+Y S -486
+X a -486
+X u -486
+X S -486
+A t -486
+A g -486
+A c -486
+A d -486
+A a -486
+A u -486
+A q -486
+A S -486
+W i -486
+W S -486
+K c -975
+K u -975
+K S -486
+h w -486
+n w -486
+m w -486
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+p w -486
+c x -486
+v e -486
+v s -975
+e x -486
+e w -486
+s v -486
+s y -486
+s x -486
+s w -486
+y e -486
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+x s -486
+w e -486
+w s -486
+k o -486
+k g -486
+k c -486
+k e -486
+k d -486
+k a -486
+k q -486
+O Z -486
+L J -975
+C Z -975
+Z o -486
+Z e -486
+Z d -486
+Z s -975
+Z y -486
+Z a -486
+Z w -486
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z J -486
+Z Q -486
+D Z -486
+B Z -486
+S Z -486
+X J -486
+A s -975
+A J -486
+K a -975
+K J -975
+t s -486
+r s -486
+g s -486
+v t -486
+v h -486
+v n -486
+v m -486
+v r -486
+v i -486
+v p -486
+v z -486
+v b -486
+v y -486
+v f -486
+v x -486
+v w -486
+v j -486
+v u -486
+v k -486
+z s -486
+k s -486
+C t -486
+C o -486
+C h -486
+C l -486
+C r -486
+C i -486
+C e -486
+C y -486
+C a -486
+C u -486
+C O -486
+C H -486
+C N -486
+C M -486
+C L -486
+C R -486
+C G -486
+C I -486
+C P -486
+C C -486
+C E -486
+C D -486
+C B -486
+C S -486
+C F -486
+C U -486
+C Q -486
+C K -486
+E s -486
+U s -486
+L ' -3414
+T char173 -3414
+T hy -3414
+T - -3414
+T en -3414
+T em -3414
+A ' -1461
+char173 T -3414
+hy T -3414
+- T -3414
+en T -3414
+em T -3414
+Y char173 -1461
+Y hy -1461
+Y - -1461
+Y en -1461
+Y em -1461
+p ' -1950
+c ' -1950
+e ' -1950
+b ' -1950
+a ' -1950
+V char173 -486
+V hy -486
+V - -486
+V en -486
+V em -486
+h ' -1461
+n ' -1461
+m ' -1461
+W char173 -486
+W hy -486
+W - -486
+W en -486
+W em -486
+' d -486
+s ' -975
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -486
+X hy -486
+X - -486
+X en -486
+X em -486
+A char173 -486
+A hy -486
+A - -486
+A en -486
+A em -486
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+' s -486
+char173 X -486
+hy X -486
+- X -486
+char173 A -486
+hy A -486
+- A -486
+en X -486
+en A -486
+em X -486
+v ' -486
+C ' -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+v char173 -486
+v hy -486
+v - -486
+v en -486
+v em -486
+C char173 -486
+C hy -486
+C - -486
+C en -486
+C em -486
+charset
+! 7806,18135,0,2241,591,996 2 3617
+" 9759,18135,0,3060,-2391,996 2 3618
+sh 12198,18360,975,1389,3,996 2 3619
+# "
+Do 12198,18465,630,843,-735,843 2 3620
+$ "
+% 17565,18675,975,576,-672,576 2 3621
+& 16101,18390,255,210,177,210 2 3622
+' 5856,18135,0,3690,-1482,996 2 51751
+( 5856,18135,2325,3999,699,996 2 3624
+) 5856,18135,2325,1524,3174,996 2 3625
+* 12198,18390,0,1251,-3045,996 2 3626
++ 17565,12495,0,0,-2097 0 3627
+, 5856,2970,2730,0,2856 0 3628
+char173 5856,7560,0,534,348,534 0 3629
+hy "
+- "
+. 5856,2970,0,0,1347 0 3630
+sl 5856,18165,1980,4254,3456,996 2 3631
+/ "
+0 12198,18360,255,2505,636,996 2 3632
+1 12198,18105,0,309,-2085,309 2 3633
+2 12198,18360,0,1968,1710,996 2 3634
+3 12198,18360,255,2127,735,996 2 3635
+4 12198,18105,0,3057,699,996 2 3636
+5 12198,18105,255,3717,123,996 2 3637
+6 12198,18360,255,3078,21,996 2 3638
+7 12198,18105,0,3684,138,996 2 3639
+8 12198,18360,255,3024,132,996 2 3640
+9 12198,18360,255,2850,480,996 2 3641
+: 5856,12621,0,1656,1347,996 0 3642
+; 5856,12621,2730,1737,2856,996 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 17565,9375,0,0,-2115 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 11220,18390,0,2100,-609,996 2 3647
+at 17565,18357,3849,1746,1029,996 2 3648
+@ "
+A 13662,18135,0,0,2325 2 3649
+B 13173,18135,0,1743,1536,996 2 3650
+C 13173,18390,255,1860,513,996 2 3651
+D 13662,18135,0,1749,1557,996 2 3652
+E 11220,18135,0,3267,1563,996 2 3653
+F 10734,18135,0,3414,1449,996 2 3654
+G 13662,18390,255,1893,333,996 2 3655
+H 13662,18135,0,2958,1509,996 2 3656
+I 5856,18135,0,3066,1566,996 2 3657
+J 11220,18135,255,2781,1866,996 2 3658
+K 13173,18135,0,2982,1341,996 2 3659
+L 10245,18135,0,0,1506 2 3660
+M 18051,18135,0,2886,1590,996 2 3661
+N 14148,18135,0,3030,1638,996 2 3662
+O 13662,18390,255,1875,447,996 2 3663
+P 12198,18135,0,2514,1401,996 2 3664
+Q 13662,18390,255,1773,495,996 2 3665
+R 13173,18135,0,2247,1515,996 2 3666
+S 12684,18390,255,2274,978,996 2 3667
+T 12684,18135,0,3735,-1890,996 2 3668
+U 13662,18135,255,2892,363,996 2 3669
+V 12198,18135,0,4140,-1263,996 2 3670
+W 18051,18135,0,3870,-1209,996 2 3671
+X 13662,18135,0,3108,2223,996 2 3672
+Y 12198,18135,0,4026,-1473,996 2 3673
+Z 12198,18135,0,3390,2130,996 2 3674
+lB 5856,18135,2325,4227,2679,996 2 3675
+[ "
+rs 7806,18165,1980,420,-1230,420 2 3676
+\ "
+rB 5856,18135,2325,3114,3792,996 2 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,996 3 3679
+oq 5856,18135,0,3690,-1482,996 2 51808
+` "
+a 10734,12885,255,918,1242,918 0 3681
+b 10734,18165,255,1200,1791,996 2 3682
+c 10245,12885,255,1047,816,996 0 3683
+d 10734,18165,255,3501,1155,996 2 3684
+e 10245,12885,255,1245,1065,996 0 3685
+f 7806,18315,0,3972,753,996 2 3686
+g 10734,12885,4995,1737,2589,996 1 3687
+h 10734,18165,0,1167,1812,996 2 3688
+i 4878,18165,0,3690,1905,996 2 3689
+j 4878,18165,4995,3777,5010,996 3 3690
+k 10734,18165,0,2250,1443,996 2 3691
+l 4878,18165,0,3627,1932,996 2 3692
+m 16101,12885,0,1227,1803,996 0 3693
+n 10734,12885,0,1218,1824,996 0 3694
+o 10734,12885,255,1047,825,996 0 3695
+p 10734,12885,4680,972,3273,972 1 3696
+q 10734,12885,4680,1965,1020,996 1 3697
+r 7317,12885,0,2601,1803,996 0 3698
+s 9759,12885,255,1320,1314,996 0 3699
+t 7806,15879,255,1989,144,996 0 3700
+u 10734,12630,255,1800,1011,996 0 3701
+v 10245,12630,0,2412,-423,996 0 3702
+w 17076,12630,0,2343,-369,996 0 3703
+x 10245,12630,0,2328,2280,996 0 3704
+y 10734,12630,4680,2364,1923,996 1 3705
+z 8781,12630,0,2136,2154,996 0 3706
+lC 11709,20130,6075,2865,-1290,996 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 11709,20130,6075,0,2577 3 3709
+} "
+ti 26346,8952,0,0,-4029 0 51876
+char192 13662,23640,0,0,2325 2 3776
+`A "
+char194 13662,23415,0,1611,2325,996 2 3778
+^A "
+char200 11220,23640,0,3267,1563,996 2 3784
+`E "
+char202 11220,23415,0,3267,1563,996 2 3786
+^E "
+char203 11220,22560,0,3693,1563,996 2 3787
+:E "
+char206 5856,23415,0,5514,1566,996 2 3790
+^I "
+char207 5856,22560,0,6375,1566,996 2 3791
+:I "
+char180 12198,18165,0,1326,-5685,996 2 3764
+aa "
+ga 12198,18165,0,0,-4539 2 3680
+a^ 12198,17940,0,795,-3729,795 2 3678
+^ "
+char168 12198,17355,0,1464,-3699,996 2 3752
+ad "
+a~ 12198,17652,0,1776,-3729,996 2 3710
+~ "
+char217 13662,23640,255,2892,363,996 2 3801
+`U "
+char219 13662,23415,255,2892,363,996 2 3803
+^U "
+char221 12198,23640,0,4026,-1473,996 2 3805
+'Y "
+char253 10734,18165,4680,2364,1923,996 3 3837
+'y "
+char176 12198,18360,0,1284,-2982,996 2 3760
+de "
+char199 13173,18390,4995,1860,540,996 3 3783
+,C "
+char231 10245,12885,4995,1047,2838,996 1 3815
+,c "
+char209 14148,22743,0,3030,1638,996 2 3793
+~N "
+char241 10734,17652,0,2508,1824,996 2 3825
+~n "
+char161 7806,13041,5094,861,1971,861 1 3745
+r! "
+char191 11220,12591,5799,0,2016 1 3775
+r? "
+char164 12198,15684,0,2514,468,996 0 3748
+Cs "
+char163 12198,18360,0,2223,522,996 2 3747
+Po "
+char165 12198,18105,0,4137,1266,996 2 3749
+Ye "
+char167 12198,18390,255,96,-1509,96 2 3751
+sc "
+Fn 12198,18315,0,1662,-1329,996 2 51871
+char162 12198,18465,630,873,-1005,873 2 3746
+ct "
+char226 10734,17940,255,1527,1242,996 2 3810
+^a "
+char234 10245,17940,255,1770,1065,996 2 3818
+^e "
+char244 10734,17940,255,1527,825,996 2 3828
+^o "
+char251 10734,17940,255,1800,1011,996 2 3835
+^u "
+char225 10734,18165,255,2058,1242,996 2 3809
+'a "
+char233 10245,18165,255,2301,1065,996 2 3817
+'e "
+char243 10734,18165,255,2058,825,996 2 3827
+'o "
+char250 10734,18165,255,2058,1011,996 2 3834
+'u "
+char224 10734,18165,255,918,1242,918 2 3808
+`a "
+char232 10245,18165,255,1245,1065,996 2 3816
+`e "
+char242 10734,18165,255,1047,825,996 2 3826
+`o "
+char249 10734,18165,255,1800,1011,996 2 3833
+`u "
+char228 10734,17355,255,2478,1242,996 2 3812
+:a "
+char235 10245,17355,255,2721,1065,996 2 3819
+:e "
+char246 10734,17355,255,2478,825,996 2 3830
+:o "
+char252 10734,17355,255,2478,1011,996 2 3836
+:u "
+char197 13662,24480,0,1125,2325,996 2 3781
+oA "
+char238 5856,17940,0,3966,1425,996 2 3822
+^i "
+char216 13662,19944,1833,1989,555,996 2 3800
+/O "
+char198 18540,18135,0,2904,2310,996 2 3782
+AE "
+char229 10734,19005,255,918,1242,918 2 3813
+oa "
+char237 5856,18165,0,4779,1425,996 2 3821
+'i "
+char248 10734,14238,1866,1050,930,996 0 3832
+/o "
+char230 16587,12885,255,681,957,681 0 3814
+ae "
+char196 13662,22560,0,2472,2325,996 2 3780
+:A "
+char236 5856,18165,0,1461,1425,996 2 3820
+`i "
+char214 13662,22560,255,2472,447,996 2 3798
+:O "
+char220 13662,22560,255,2892,363,996 2 3804
+:U "
+char201 11220,23640,0,3267,1563,996 2 3785
+'E "
+char239 5856,17355,0,5118,1425,996 2 3823
+:i "
+char223 11709,18315,255,1839,1917,996 2 3807
+ss "
+char212 13662,23415,255,1875,447,996 2 3796
+^O "
+char193 13662,23640,0,1884,2325,996 2 3777
+'A "
+char195 13662,22743,0,2355,2325,996 2 3779
+~A "
+char227 10734,17652,255,2508,1242,996 2 3811
+~a "
+char208 13662,18135,0,1749,1557,996 2 3792
+-D "
+char240 10734,18579,255,2247,927,996 2 3824
+Sd "
+char205 5856,23640,0,6393,1566,996 2 3789
+'I "
+char204 5856,23640,0,3258,1566,996 2 3788
+`I "
+char211 13662,23640,255,1884,447,996 2 3795
+'O "
+char210 13662,23640,255,1875,447,996 2 3794
+`O "
+char213 13662,22743,255,2355,447,996 2 3797
+~O "
+char245 10734,17652,255,2508,825,996 2 3829
+~o "
+vS 12684,23415,255,3015,978,996 2 51795
+vs 9759,17940,255,2751,1314,996 2 51827
+char218 13662,23640,255,2892,363,996 2 3802
+'U "
+:Y 12198,22560,0,4026,-1473,996 2 51801
+char255 10734,17355,4680,2364,1923,996 3 3839
+:y "
+char222 12198,18135,0,1260,1407,996 2 3806
+TP "
+char254 10734,18165,4680,969,3273,969 3 3838
+Tp "
+char181 14637,12630,4350,1122,2931,996 0 3765
+char182 12198,19635,4200,1923,-606,996 2 3766
+ps "
+char190 17565,18675,918,891,-987,891 2 3774
+34 "
+\- 17565,8175,0,0,-2097 0 51757
+char188 17565,18675,918,183,-279,183 2 3772
+14 "
+char189 17565,18675,918,0,156 2 3773
+12 "
+char170 7806,18360,0,3285,-1188,996 2 3754
+Of "
+char186 7806,18360,0,3303,-1197,996 2 3770
+Om "
+char171 11709,11160,0,741,-426,741 0 3755
+Fo "
+char187 11709,11160,0,0,777 0 3771
+Fc "
+char177 17565,12210,213,0,-2133 0 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19635,0,4470,-2679,996 2 3753
+co "
+char172 17565,10185,0,0,-2097 0 3756
+no "
+char174 13173,19635,0,4470,-2679,996 2 3758
+rg "
+char178 7317,18465,0,3258,-300,996 2 3762
+S2 "
+char179 7317,18465,0,3042,-957,996 2 3763
+S3 "
+char184 12198,195108,4995,0,1860 3 3768
+ac "
+char185 7317,18345,0,2562,-2493,996 2 3769
+S1 "
+char215 17565,12216,0,0,-2850 0 3799
+char247 17565,11610,0,0,-2667 0 3831
+char183 5856,10578,0,1095,-723,996 0 3767
+fm 5856,18105,0,3918,-1725,996 2 51873
+sd 12198,18105,0,2577,-2925,996 2 51874
+dg 12198,18135,0,315,-1854,315 2 51755
+tm 16101,17850,0,2010,-2547,996 2 51796
+ah 12198,17940,0,1533,-4467,996 2 51935
+ao 12198,19005,0,114,-4878,114 2 51930
+f/ 2928,18675,918,8010,6531,996 2 51759
+em 17565,7350,0,423,330,423 0 51789
+en 12198,7350,0,936,786,936 0 51790
+dd 12198,18135,0,315,-1854,315 2 51773
+.i 5856,12630,0,1461,1425,996 0 51957
+aq 5856,18135,0,3051,-2388,996 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 13173,23640,255,2427,513,996 2 20166
+'c 10245,18165,255,2301,816,996 2 20198
+lq 9270,18135,0,4254,-1485,996 2 51838
+rq 9270,18135,0,4254,-1485,996 2 51746
+Bq 9270,2916,2784,0,3018 0 51772
+vz 8781,17940,0,3240,2154,996 2 51834
+fi 12684,18315,0,2934,795,996 2 51881
+fl 12684,18315,0,2949,744,996 2 51882
+ff 13662,18315,0,3921,888,996 2 51883
+Fi 18540,18315,0,2892,921,996 2 51884
+Fl 18540,18315,0,2928,849,996 2 51885
+ij 9759,18165,4995,3777,1905,996 3 51958
+bq 5856,2916,2784,0,3330 0 51756
+%0 22443,18675,975,1293,267,996 2 51901
+char175 12198,16434,0,1257,-3453,996 0 3759
+a- "
+ab 12198,17940,0,1890,-4329,996 2 51926
+a. 12198,17355,0,0,-6069 2 51927
+oe 16587,12885,255,912,783,912 0 51823
+OE 18051,18270,135,3174,363,996 2 51791
+fo 6342,11160,0,1608,-186,996 0 51886
+fc 6342,11160,0,537,885,537 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 10245,18135,0,0,1620 2 51944
+/l 4878,18165,0,3627,1932,996 2 51960
+a" 12198,18165,0,3174,-3894,996 2 51933
+ho 12198,879,4716,0,-2142 1 51934
+vZ 12198,23415,0,3390,2130,996 2 51802
+IJ 17076,18135,255,2781,1566,996 2 51942
diff --git a/devlj4/UCR b/devlj4/UCR
new file mode 100644
index 000000000..6684eae2c
--- /dev/null
+++ b/devlj4/UCR
@@ -0,0 +1,742 @@
+name UCR
+spacewidth 5856
+pcltypeface 4148
+pclproportional 1
+pclweight 0
+pclstyle 4
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -2439
+P . -4878
+P , -4878
+V A -1950
+A V -1950
+T o -3414
+T r -3414
+T c -3414
+T e -3414
+T d -3414
+T s -3414
+T y -3414
+T a -3414
+T w -3414
+T u -3414
+T J -3414
+L T -3414
+L Y -2925
+Y o -1950
+Y e -1950
+Y a -2439
+Y J -2925
+A W -1461
+W A -1461
+T A -2439
+V o -1461
+V e -1461
+V a -1461
+Y A -2439
+F A -975
+F . -2925
+F , -2925
+A T -2439
+A Y -2439
+v . -1950
+v , -1950
+y . -1950
+y , -1950
+T . -3414
+T , -3414
+L W -1461
+P A -1461
+V J -1461
+V . -2439
+V , -2439
+Y . -2925
+Y , -2925
+W o -975
+W e -975
+W a -975
+W . -1461
+W , -1461
+r . -1461
+r , -1461
+w . -1950
+w , -1950
+Y u -975
+A v -975
+A y -975
+A w -975
+o . -975
+o , -975
+p . -975
+p , -975
+e . -975
+e , -975
+b . -975
+b , -975
+O T -1461
+O V -486
+O Y -975
+O . -1461
+O , -1461
+L y -1950
+L O -1461
+L G -1461
+L C -1461
+L Q -1461
+P J -1461
+V y -486
+V u -486
+V O -486
+V G -486
+V C -486
+V Q -486
+D T -1461
+D V -486
+D Y -975
+D . -1461
+D , -1461
+Y O -975
+Y G -975
+Y C -975
+Y Q -975
+F o -486
+F e -486
+F a -486
+c . -975
+c , -975
+O A -486
+O W -486
+L U -1461
+R T -1461
+R V -486
+R Y -975
+R W -486
+G T -1461
+P o -975
+P g -1461
+P e -975
+P a -1461
+C A -486
+C . -1461
+C , -1461
+D A -486
+D W -486
+B T -1461
+B Y -975
+B . -1461
+B , -1461
+F J -486
+A O -486
+A G -486
+A C -486
+A U -486
+A Q -486
+W r -486
+W y -486
+W u -486
+W O -486
+W G -486
+W C -486
+W J -975
+W Q -486
+J A -486
+J . -486
+J , -486
+U A -486
+U . -1461
+U , -1461
+Q W -486
+f . -975
+f , -975
+T O -1461
+T G -1461
+T C -1461
+T Q -1461
+O X -486
+L o -975
+L e -975
+L q -1950
+G V -486
+G Y -975
+G W -486
+P T -975
+P V -486
+P Y -975
+C T -1461
+C V -486
+C Y -975
+D X -486
+B V -486
+B X -486
+B A -486
+B W -486
+S . -486
+S , -486
+X o -486
+X e -486
+X y -486
+X O -486
+X G -486
+X C -486
+X Q -486
+A o -486
+A e -486
+K o -975
+K e -975
+K y -975
+K w -975
+K O -975
+K G -975
+K C -975
+K Q -975
+o v -486
+o y -486
+o w -486
+h v -486
+h y -486
+n v -486
+n y -486
+m v -486
+m y -486
+r g -486
+p v -486
+p y -486
+c v -486
+c y -486
+c w -486
+v o -486
+v g -486
+v c -486
+v d -486
+v a -486
+v q -486
+e v -486
+e y -486
+b v -486
+b y -486
+b w -486
+s . -486
+s , -486
+y o -486
+y g -486
+y c -486
+y d -486
+y a -486
+y q -486
+a v -486
+a y -486
+a w -486
+w o -486
+w g -486
+w c -486
+w d -486
+w a -486
+w q -486
+T S -486
+L a -486
+L S -486
+P s -486
+P Z -486
+P X -486
+P W -486
+C X -486
+C W -486
+V S -486
+S T -486
+S V -486
+S Y -486
+S X -486
+S A -486
+S W -486
+Y S -486
+X a -486
+X u -486
+X S -486
+A t -486
+A g -486
+A c -486
+A d -486
+A a -486
+A u -486
+A q -486
+A S -486
+W S -486
+K c -975
+K u -975
+K S -975
+h w -486
+n w -486
+m w -486
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+p w -486
+v e -486
+v s -486
+e w -486
+s v -486
+s y -486
+s w -486
+y e -486
+y s -486
+w e -486
+w s -486
+k o -486
+k g -486
+k c -486
+k e -486
+k d -486
+k a -486
+k q -486
+O Z -486
+L J -486
+C Z -486
+Z o -486
+Z e -486
+Z d -486
+Z s -486
+Z y -486
+Z a -486
+Z w -486
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z J -486
+Z Q -486
+D Z -486
+B Z -486
+S Z -486
+X J -486
+A s -486
+A J -486
+K a -975
+K J -975
+K . -486
+K , -486
+r s -486
+k s -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -5364
+T char173 -3414
+T hy -3414
+T - -3414
+T en -3414
+T em -3414
+A ' -1461
+char173 T -3414
+hy T -3414
+- T -3414
+en T -3414
+em T -3414
+Y char173 -975
+Y hy -975
+Y - -975
+Y en -975
+Y em -975
+p ' -975
+c ' -975
+e ' -975
+b ' -975
+a ' -1461
+V char173 -486
+V hy -486
+V - -486
+V en -486
+V em -486
+h ' -1461
+n ' -1461
+m ' -1461
+W char173 -486
+W hy -486
+W - -486
+W en -486
+W em -486
+' d -1950
+s ' -486
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -486
+X hy -486
+X - -486
+X en -486
+X em -486
+A char173 -486
+A hy -486
+A - -486
+A en -486
+A em -486
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+' s -486
+char173 X -486
+hy X -486
+- X -486
+char173 A -486
+hy A -486
+- A -486
+en X -486
+en A -486
+em X -486
+K ' -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+charset
+! 7806,18135 2 3617
+" 9759,18135 2 3618
+sh 12198,18360,975 2 3619
+# "
+Do 12198,18360,630 2 3620
+$ "
+% 17565,18675,975 2 3621
+& 16101,18390,255 2 3622
+' 5856,18135 2 51751
+( 5856,18135,2520 2 3624
+) 5856,18135,2520 2 3625
+* 12198,18390 2 3626
++ 17565,12495 0 3627
+, 5856,2970,2730 0 3628
+char173 5856,7560 0 3629
+hy "
+- "
+. 5856,2760 0 3630
+sl 5856,18165,1980 2 3631
+/ "
+0 12198,18360,255 2 3632
+1 12198,18105 2 3633
+2 12198,18360 2 3634
+3 12198,18360,255 2 3635
+4 12198,18105 2 3636
+5 12198,18105,255 2 3637
+6 12198,18360,255 2 3638
+7 12198,18105 2 3639
+8 12198,18360,255 2 3640
+9 12198,18360,255 2 3641
+: 5856,12333 0 3642
+; 5856,12333,2730 0 3643
+< 26346,16068 0 3644
+= 17565,9570 0 3645
+> 26346,16068 0 3646
+? 11220,18390 2 3647
+at 17565,18438,3246 2 3648
+@ "
+A 13662,18135 2 3649
+B 13173,18135 2 3650
+C 13173,18390,255 2 3651
+D 13662,18135 2 3652
+E 11220,18135 2 3653
+F 10734,18135 2 3654
+G 13662,18390,255 2 3655
+H 13662,18135 2 3656
+I 5856,18135 2 3657
+J 11220,18135,255 2 3658
+K 13173,18135 2 3659
+L 10245,18135 2 3660
+M 18051,18135 2 3661
+N 14148,18135 2 3662
+O 13662,18390,255 2 3663
+P 12198,18135 2 3664
+Q 13662,18390,255 2 3665
+R 13173,18135 2 3666
+S 12684,18390,255 2 3667
+T 12684,18135 2 3668
+U 13662,18135,255 2 3669
+V 12198,18135 2 3670
+W 18051,18135 2 3671
+X 13662,18135 2 3672
+Y 12198,18135 2 3673
+Z 12198,18135 2 3674
+lB 5856,18135,2520 2 3675
+[ "
+rs 5856,18165,1980 2 3676
+\ "
+rB 5856,18135,2520 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 5856,18135 2 51808
+` "
+a 10734,12885,255 0 3681
+b 10734,18165,255 2 3682
+c 10245,12885,255 0 3683
+d 10734,18165,255 2 3684
+e 10245,12885,255 0 3685
+f 7806,18315 2 3686
+g 10734,12885,4995 1 3687
+h 10734,18165 2 3688
+i 4878,18165 2 3689
+j 4878,18165,4995 3 3690
+k 10734,18165 2 3691
+l 4878,18165 2 3692
+m 16101,12885 0 3693
+n 10734,12885 0 3694
+o 10734,12885,255 0 3695
+p 10734,12885,4680 1 3696
+q 10734,12885,4680 1 3697
+r 7317,12885 0 3698
+s 9759,12885,255 0 3699
+t 7806,15954,255 0 3700
+u 10734,12630,255 0 3701
+v 10245,12630 0 3702
+w 17076,12630 0 3703
+x 10245,12630 0 3704
+y 10734,12630,4680 1 3705
+z 8781,12630 0 3706
+lC 11709,20130,6075 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 11709,20130,6075 3 3709
+} "
+ti 26346,8952 0 51876
+char192 13662,23640 2 3776
+`A "
+char194 13662,23415 2 3778
+^A "
+char200 11220,23640 2 3784
+`E "
+char202 11220,23415 2 3786
+^E "
+char203 11220,22710 2 3787
+:E "
+char206 5856,23415 2 3790
+^I "
+char207 5856,22710 2 3791
+:I "
+char180 12198,18165 2 3764
+aa "
+ga 12198,18165 2 3680
+a^ 12198,17940 2 3678
+^ "
+char168 12198,17355 2 3752
+ad "
+a~ 12198,17844 2 3710
+~ "
+char217 13662,23640,255 2 3801
+`U "
+char219 13662,23415,255 2 3803
+^U "
+char221 12198,23640 2 3805
+'Y "
+char253 10734,18165,4680 3 3837
+'y "
+char176 12198,18360 2 3760
+de "
+char199 13173,18390,4755 3 3783
+,C "
+char231 10245,12885,4755 1 3815
+,c "
+char209 14148,23121 2 3793
+~N "
+char241 10734,17844 2 3825
+~n "
+char161 7806,12591,5544 1 3745
+r! "
+char191 11220,12480,5910 1 3775
+r? "
+char164 12198,15684 0 3748
+Cs "
+char163 12198,18360 2 3747
+Po "
+char165 12198,18105 2 3749
+Ye "
+char167 12198,18390,255 2 3751
+sc "
+Fn 12198,18315 2 51871
+char162 12198,18360,630 2 3746
+ct "
+char226 10734,17940,255 2 3810
+^a "
+char234 10245,17940,255 2 3818
+^e "
+char244 10734,17940,255 2 3828
+^o "
+char251 10734,17940,255 2 3835
+^u "
+char225 10734,18165,255 2 3809
+'a "
+char233 10245,18165,255 2 3817
+'e "
+char243 10734,18165,255 2 3827
+'o "
+char250 10734,18165,255 2 3834
+'u "
+char224 10734,18165,255 2 3808
+`a "
+char232 10245,18165,255 2 3816
+`e "
+char242 10734,18165,255 2 3826
+`o "
+char249 10734,18165,255 2 3833
+`u "
+char228 10734,17355,255 2 3812
+:a "
+char235 10245,17355,255 2 3819
+:e "
+char246 10734,17355,255 2 3830
+:o "
+char252 10734,17355,255 2 3836
+:u "
+char197 13662,24480 2 3781
+oA "
+char238 5856,17940 2 3822
+^i "
+char216 13662,19767,1851 2 3800
+/O "
+char198 18540,18135 2 3782
+AE "
+char229 10734,19005,255 2 3813
+oa "
+char237 5856,18165 2 3821
+'i "
+char248 10734,14274,2115 0 3832
+/o "
+char230 16587,12885,255 0 3814
+ae "
+char196 13662,22710 2 3780
+:A "
+char236 5856,18165 2 3820
+`i "
+char214 13662,22710,255 2 3798
+:O "
+char220 13662,22710,255 2 3804
+:U "
+char201 11220,23640 2 3785
+'E "
+char239 5856,17355 2 3823
+:i "
+char223 11709,18315,255 2 3807
+ss "
+char212 13662,23415,255 2 3796
+^O "
+char193 13662,23640 2 3777
+'A "
+char195 13662,23121 2 3779
+~A "
+char227 10734,17844,255 2 3811
+~a "
+char208 13662,18135 2 3792
+-D "
+char240 10734,18531,255 2 3824
+Sd "
+char205 5856,23640 2 3789
+'I "
+char204 5856,23640 2 3788
+`I "
+char211 13662,23640,255 2 3795
+'O "
+char210 13662,23640,255 2 3794
+`O "
+char213 13662,23121,255 2 3797
+~O "
+char245 10734,17844,255 2 3829
+~o "
+vS 12684,23415,255 2 51795
+vs 9759,17940,255 2 51827
+char218 13662,23640,255 2 3802
+'U "
+:Y 12198,22710 2 51801
+char255 10734,17355,4680 3 3839
+:y "
+char222 12198,18135 2 3806
+TP "
+char254 10734,18165,4680 3 3838
+Tp "
+char181 14637,12630,4350 0 3765
+char182 12198,19635,4200 2 3766
+ps "
+char190 17565,18675,975 2 3774
+34 "
+\- 17565,8175 0 51757
+char188 17565,18675,975 2 3772
+14 "
+char189 17565,18675,975 2 3773
+12 "
+char170 7317,18360 2 3754
+Of "
+char186 7317,18360 2 3770
+Om "
+char171 11709,11010 0 3755
+Fo "
+char187 11709,11010 0 3771
+Fc "
+char177 17565,12210,213 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 17565,10185 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 7317,18465 2 3762
+S2 "
+char179 7317,18465 2 3763
+S3 "
+char184 12198,195348,4755 3 3768
+ac "
+char185 7317,18345 2 3769
+S1 "
+char215 17565,12216 0 3799
+char247 17565,11610 0 3831
+char183 5856,10755 0 3767
+fm 5856,18105 2 51873
+sd 12198,18105 2 51874
+dg 12198,18135 2 51755
+tm 16101,17850 2 51796
+ah 12198,17940 2 51935
+ao 12198,19005 2 51930
+f/ 2439,18675,975 2 51759
+em 17565,7350 0 51789
+en 12198,7350 0 51790
+dd 12198,18135 2 51773
+.i 5856,12630 0 51957
+aq 5856,18135 2 3623
+bu 13173,14226 0 51889
+'C 13173,23640,255 2 20166
+'c 10245,18165,255 2 20198
+lq 9270,18135 2 51838
+rq 9270,18135 2 51746
+Bq 9270,3006,2694 0 51772
+vz 8781,17940 2 51834
+fi 12198,18315 2 51881
+fl 12684,18315 2 51882
+ff 13662,18315 2 51883
+Fi 17826,18315 2 51884
+Fl 17694,18315 2 51885
+ij 9759,18165,4995 3 51958
+bq 5856,3006,2694 0 51756
+%0 22443,18675,975 2 51901
+char175 12198,16440 0 3759
+a- "
+ab 12198,17940 2 51926
+a. 12198,17700 2 51927
+oe 16587,12885,255 0 51823
+OE 18051,18270,135 2 51791
+fo 6342,11010 0 51886
+fc 6342,11010 0 51887
+sq 19029,15624 0 51899
+/L 10245,18135 2 51944
+/l 4878,18165 2 51960
+a" 12198,18165 2 51933
+ho 12198,363,4077 0 51934
+vZ 12198,23415 2 51802
+IJ 17076,18135,255 2 51942
diff --git a/devlj4/UI b/devlj4/UI
new file mode 100644
index 000000000..00b953c7e
--- /dev/null
+++ b/devlj4/UI
@@ -0,0 +1,917 @@
+name UI
+spacewidth 8781
+slant 16.500000
+pcltypeface 4148
+pclproportional 1
+pclweight 0
+pclstyle 1
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -5853
+P . -5364
+P , -5364
+V A -3414
+A V -4389
+T o -4389
+T r -4389
+T c -4389
+T e -4389
+T d -4389
+T s -4389
+T y -4389
+T a -4389
+T w -4389
+T u -4389
+T J -4389
+L T -4389
+L Y -4878
+Y o -3903
+Y e -3903
+Y a -3414
+Y J -3903
+A W -3903
+W A -1950
+T A -3414
+V o -2439
+V e -2439
+V a -2439
+Y A -3414
+F A -2925
+F . -3903
+F , -3903
+A T -4389
+A Y -4389
+v . -3903
+v , -3903
+y . -3903
+y , -3903
+T . -3903
+T , -3903
+L W -3903
+P A -2439
+V J -2439
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -975
+W e -975
+W a -975
+W . -2925
+W , -2925
+r . -2439
+r , -2439
+w . -3414
+w , -3414
+Y u -2439
+A v -2925
+A y -2439
+A w -2439
+o . -2439
+o , -2439
+p . -2439
+p , -2439
+e . -1950
+e , -1950
+b . -2439
+b , -2439
+O T -2439
+O V -1950
+O Y -2439
+O . -1950
+O , -1950
+L y -2925
+L O -2439
+L G -1950
+L C -1950
+L Q -1461
+P J -975
+V y -1461
+V u -1461
+V O -975
+V G -975
+V C -975
+V Q -975
+D T -2439
+D V -1950
+D Y -2439
+D . -1950
+D , -1950
+Y O -975
+Y G -975
+Y C -975
+Y Q -975
+F o -1461
+F e -1461
+F a -975
+c . -1950
+c , -1950
+O A -975
+O W -975
+L U -1461
+R T -1461
+R V -1461
+R Y -1461
+R W -975
+G T -1950
+P o -975
+P g -975
+P e -975
+P a -975
+C A -975
+C . -1950
+C , -1950
+D A -975
+D W -975
+B T -1461
+B Y -1461
+B . -1950
+B , -1950
+F J -1461
+A O -1461
+A G -1461
+A C -1461
+A U -1461
+A Q -1461
+W r -486
+W y -486
+W u -486
+W O -486
+W G -486
+W C -486
+W J -975
+W Q -486
+J A -1461
+J . -2439
+J , -2439
+U A -975
+U . -1950
+U , -1950
+Q W -975
+f . -1950
+f , -1950
+T O -975
+T G -975
+T C -975
+T Q -975
+O X -975
+L o -1950
+L e -1950
+L q -1950
+G V -1950
+G Y -1950
+G W -975
+G . -1461
+G , -1461
+P T -1461
+P V -1461
+P Y -1461
+C T -1461
+C V -1461
+C Y -1461
+D X -975
+B V -1461
+B X -975
+B A -975
+B W -975
+S . -1950
+S , -1950
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1461
+A e -1461
+K o -975
+K e -975
+K y -975
+K w -975
+K O -975
+K G -975
+K C -975
+K Q -975
+o v -1461
+o y -975
+o x -1461
+o w -975
+h v -1461
+h y -975
+n v -1461
+n y -975
+m v -1461
+m y -975
+r g -486
+g . -975
+g , -975
+p v -1461
+p y -975
+p x -1461
+c v -1461
+c y -975
+c w -975
+v o -975
+v g -975
+v c -975
+v d -975
+v a -975
+v q -975
+e v -1461
+e y -975
+b v -1461
+b y -975
+b w -975
+s . -1461
+s , -1461
+y o -975
+y g -975
+y c -975
+y d -975
+y a -975
+y q -975
+f g -486
+x o -1461
+x g -1461
+x c -1461
+x e -1461
+x d -1461
+x a -1461
+x q -1461
+a v -1461
+a y -975
+a w -975
+w o -975
+w g -975
+w c -975
+w d -975
+w a -975
+w q -975
+T i -975
+T S -975
+L a -1461
+L S -1461
+G X -486
+G A -486
+P s -486
+P Z -975
+P X -1461
+P W -975
+C X -975
+C W -975
+V i -975
+V S -975
+S T -1461
+S V -1461
+S Y -1461
+S X -975
+S A -975
+S W -975
+Y i -975
+Y S -975
+X a -1461
+X u -1461
+X S -1461
+A t -975
+A g -1461
+A c -1461
+A d -1461
+A a -1461
+A u -1461
+A q -1461
+A S -1461
+W i -486
+W S -486
+K c -975
+K u -975
+K S -975
+t g -486
+t . -975
+t , -975
+h w -975
+h . -975
+h , -975
+n w -975
+n . -975
+n , -975
+m w -975
+m . -975
+m , -975
+l . -975
+l , -975
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+i . -975
+i , -975
+p w -975
+c x -975
+v e -975
+v s -486
+e x -975
+e w -975
+z . -975
+z , -975
+d . -975
+d , -975
+s v -975
+s y -975
+s x -486
+s w -975
+y e -975
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+x s -975
+x . -975
+x , -975
+a . -975
+a , -975
+w e -975
+w s -486
+j . -975
+j , -975
+u . -975
+k o -486
+k g -486
+k c -486
+k e -486
+k d -486
+k a -486
+k q -486
+k . -975
+k , -975
+O Z -975
+H . -975
+H , -975
+N . -975
+N , -975
+M . -975
+M , -975
+L J -975
+L . -975
+L , -975
+R . -975
+R , -975
+G Z -486
+I . -975
+I , -975
+C Z -975
+E . -975
+E , -975
+Z o -975
+Z e -975
+Z d -975
+Z s -975
+Z y -975
+Z a -975
+Z w -975
+Z u -975
+Z O -975
+Z G -975
+Z C -975
+Z S -975
+Z J -975
+Z Q -975
+Z . -975
+Z , -975
+D Z -975
+B Z -975
+S Z -975
+X J -975
+X . -975
+X , -975
+A s -975
+A J -975
+A . -975
+A , -975
+K a -975
+K J -975
+K . -975
+K , -975
+t o -486
+t c -486
+t e -486
+t d -486
+t s -486
+t a -486
+t q -486
+o t -486
+o z -486
+h t -486
+n t -486
+m t -486
+r s -486
+p t -486
+p z -486
+c t -486
+c z -486
+e t -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z s -486
+z a -486
+z q -486
+b t -486
+b z -486
+s t -486
+s z -486
+x t -486
+x v -486
+x y -486
+x w -486
+x u -486
+a t -486
+k s -486
+X T -486
+X V -486
+X Y -486
+X W -486
+X U -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -7317
+T char173 -4389
+T hy -4389
+T - -4389
+T en -4389
+T em -4389
+A ' -3903
+char173 T -4389
+hy T -4389
+- T -4389
+en T -4389
+em T -4389
+Y char173 -2439
+Y hy -2439
+Y - -2439
+Y en -2439
+Y em -2439
+p ' -2925
+c ' -2925
+e ' -2925
+b ' -2925
+a ' -2925
+V char173 -1461
+V hy -1461
+V - -1461
+V en -1461
+V em -1461
+h ' -2439
+n ' -2439
+m ' -2439
+R ' -975
+W char173 -486
+W hy -486
+W - -486
+W en -486
+W em -486
+' d -2925
+s ' -1950
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1461
+A hy -1461
+A - -1461
+A en -1461
+A em -1461
+K char173 -975
+K hy -975
+K - -975
+K en -975
+K em -975
+' s -1950
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1461
+hy A -1461
+- A -1461
+en X -1461
+en A -1461
+em X -1461
+x ' -1461
+X ' -1461
+K ' -1461
+t g -486
+t ' -975
+l ' -975
+r ' -975
+g ' -975
+i ' -975
+v ' -975
+z ' -975
+d ' -975
+y ' -975
+f ' -975
+w ' -975
+j ' -975
+u ' -975
+k ' -975
+T ' -975
+O ' -975
+H ' -975
+N ' -975
+M ' -975
+G ' -975
+I ' -975
+P ' -975
+C ' -975
+V ' -975
+E ' -975
+Z ' -975
+Z char173 -975
+Z hy -975
+Z - -975
+Z en -975
+Z em -975
+D ' -975
+B ' -975
+S ' -975
+Y ' -975
+F ' -975
+W ' -975
+J ' -975
+U ' -975
+' t -1461
+' n -1461
+' m -1461
+' l -975
+' r -1461
+' v -1461
+' T -975
+' N -975
+' M -975
+' L -975
+' R -975
+' D -975
+x char173 -486
+x hy -486
+x - -486
+x en -486
+x em -486
+charset
+! 8781,18165,0,1956,81,1000 2 3617
+" 13173,18246,0,2049,-4233,1000 2 3618
+sh 16587,18105,0,1020,-1137,1000 2 3619
+# "
+Do 16587,18750,765,0,-2391 2 3620
+$ "
+% 26346,18720,840,0,-3195 2 3621
+& 20004,18495,360,0,-942 2 3622
+' 8781,18135,0,3114,-2751,1000 2 51751
+( 8781,18135,2397,2823,-1443,1000 2 3624
+) 8781,18135,2397,0,1764 2 3625
+* 16587,18495,0,0,-4155 2 3626
++ 26346,14745,105,0,-4860 0 3627
+, 8781,3000,3135,0,1794 0 3628
+char173 8781,7680,0,561,147,561 0 3629
+hy "
+- "
+. 8781,2970,0,0,192 0 3630
+sl 8781,18135,1500,4326,3072,1000 2 3631
+/ "
+0 16587,18465,360,1602,-243,1000 2 3632
+1 16587,18105,0,0,-4467 2 3633
+2 16587,18465,0,540,78,540 2 3634
+3 16587,18465,360,1374,-354,1000 2 3635
+4 16587,18105,0,843,609,843 2 3636
+5 16587,18105,360,1494,-396,1000 2 3637
+6 16587,18465,360,1632,-966,1000 2 3638
+7 16587,18105,0,1188,-2583,1000 2 3639
+8 16587,18465,360,1356,-177,1000 2 3640
+9 16587,18465,360,630,171,630 2 3641
+: 8781,12615,0,330,192,330 0 3642
+; 8781,12615,3135,405,1794,405 0 3643
+< 26346,16068,0,0,-3981 0 3644
+= 26346,10500,0,0,-4950 0 3645
+> 26346,16068,0,0,-3981 0 3646
+? 13662,18315,0,1380,-1017,1000 2 3647
+at 26349,21030,2745,243,-1713,243 2 3648
+@ "
+A 19515,18135,0,0,2400 2 3649
+B 16587,18135,0,1641,684,1000 2 3650
+C 18540,18495,360,1554,-990,1000 2 3651
+D 19029,18135,0,477,804,477 2 3652
+E 15126,18135,0,3099,699,1000 2 3653
+F 14637,18135,0,3549,702,1000 2 3654
+G 19515,18495,360,1095,-1047,1000 2 3655
+H 19029,18135,0,2322,852,1000 2 3656
+I 7317,18135,0,2439,852,1000 2 3657
+J 14637,18135,360,2559,1242,1000 2 3658
+K 17565,18135,0,2910,417,1000 2 3659
+L 14148,18135,0,0,693 2 3660
+M 23907,18135,0,2115,669,1000 2 3661
+N 19029,18135,0,2688,750,1000 2 3662
+O 20004,18495,360,582,-948,582 2 3663
+P 15612,18135,0,2715,708,1000 2 3664
+Q 20490,18495,360,168,-1080,168 2 3665
+R 17076,18135,0,1728,729,1000 2 3666
+S 17076,18495,360,1455,-21,1000 2 3667
+T 16587,18135,0,3801,-2427,1000 2 3668
+U 19029,18135,360,2250,-801,1000 2 3669
+V 19029,18135,0,3789,-2919,1000 2 3670
+W 26346,18135,0,4122,-2541,1000 2 3671
+X 19029,18135,0,3081,1605,1000 2 3672
+Y 18051,18135,0,3720,-2763,1000 2 3673
+Z 16101,18135,0,2598,1719,1000 2 3674
+lB 8781,18135,2397,3690,1038,1000 2 3675
+[ "
+rs 8781,18135,1500,0,-2547 2 3676
+\ "
+rB 8781,18135,2397,2013,2715,1000 2 3677
+] "
+ha 13173,19758,0,36,36,36 2 51875
+_ 13173,191367,6588,1317,1317,1000 3 3679
+oq 8781,18135,0,2658,-2295,1000 2 51808
+` "
+a 14148,12990,360,87,729,87 0 3681
+b 15126,18165,360,129,1092,129 2 3682
+c 14148,12990,360,534,114,534 0 3683
+d 15126,18165,360,2658,144,1000 2 3684
+e 14148,12990,360,567,153,567 0 3685
+f 9759,18315,0,3546,-33,1000 2 3686
+g 15126,12990,5169,1059,1470,1000 1 3687
+h 15126,18165,0,126,1185,126 2 3688
+i 6342,18165,0,3060,1143,1000 2 3689
+j 6342,18165,4995,2970,4578,1000 3 3690
+k 14148,18165,0,1248,1092,1000 2 3691
+l 6342,18165,0,2937,1137,1000 2 3692
+m 22932,12990,0,363,1182,363 0 3693
+n 15126,12990,0,117,1182,117 0 3694
+o 15126,12990,360,12,261,12 0 3695
+p 15126,12990,4680,9,2592,9 1 3696
+q 15126,12990,4680,1146,132,1000 1 3697
+r 9270,12990,0,2499,1026,1000 0 3698
+s 13173,12990,360,579,960,579 0 3699
+t 9759,15843,360,2022,-864,1000 0 3700
+u 15126,12630,360,1023,261,1000 0 3701
+v 14637,12630,0,1902,-1086,1000 0 3702
+w 22932,12630,0,1953,-1578,1000 0 3703
+x 14637,12630,0,1035,1767,1000 0 3704
+y 14637,12630,4680,1992,-963,1000 1 3705
+z 12684,12630,0,1344,1365,1000 0 3706
+lC 11709,20130,6075,3315,-1740,1000 3 3707
+{ "
+ba 13173,19758,6588,0,-4596 3 3708
+| "
+rC 11709,20130,6075,0,3183 3 3709
+} "
+ti 26346,8952,0,0,-4029 0 51876
+char192 19515,23100,0,0,2400 2 3776
+`A "
+char194 19515,23085,0,0,2400 2 3778
+^A "
+char200 15126,23100,0,3099,699,1000 2 3784
+`E "
+char202 15126,23085,0,3099,699,1000 2 3786
+^E "
+char203 15126,22638,0,3099,699,1000 2 3787
+:E "
+char206 7317,23085,0,5385,852,1000 2 3790
+^I "
+char207 7317,22638,0,6231,852,1000 2 3791
+:I "
+char180 16587,17970,0,0,-7479 2 3764
+aa "
+ga 16587,17970,0,0,-6621 2 3680
+a^ 16587,18105,0,0,-5334 2 3678
+^ "
+char168 16587,17943,0,174,-6261,174 2 3752
+ad "
+a~ 16587,17724,0,312,-5604,312 2 3710
+~ "
+char217 19029,23100,360,2250,-801,1000 2 3801
+`U "
+char219 19029,23085,360,2250,-801,1000 2 3803
+^U "
+char221 18051,23100,0,3720,-2763,1000 2 3805
+'Y "
+char253 14637,17970,4680,1992,-963,1000 3 3837
+'y "
+char176 16587,18465,0,0,-4104 2 3760
+de "
+char199 18540,18495,4875,1554,-990,1000 3 3783
+,C "
+char231 14148,12990,4875,534,114,534 1 3815
+,c "
+char209 19029,23019,0,2688,750,1000 2 3793
+~N "
+char241 15126,17724,0,1044,1182,1000 2 3825
+~n "
+char161 8781,12576,5589,54,1983,54 1 3745
+r! "
+char191 13662,12573,5742,0,921 1 3775
+r? "
+char164 16587,15684,0,126,-1533,126 0 3748
+Cs "
+char163 16587,18465,0,2265,291,1000 2 3747
+Po "
+char165 16587,18105,0,4818,-1089,1000 2 3749
+Ye "
+char167 16587,18495,360,0,-3750 2 3751
+sc "
+Fn 16587,18315,0,330,-3528,330 2 51871
+char162 16587,18750,765,0,-2322 2 3746
+ct "
+char226 14148,18105,360,711,729,711 2 3810
+^a "
+char234 14148,18105,360,711,153,711 2 3818
+^e "
+char244 15126,18105,360,222,261,222 2 3828
+^o "
+char251 15126,18105,360,1023,261,1000 2 3835
+^u "
+char225 14148,17970,360,690,729,690 2 3809
+'a "
+char233 14148,17970,360,690,153,690 2 3817
+'e "
+char243 15126,17970,360,201,261,201 2 3827
+'o "
+char250 15126,17970,360,1023,261,1000 2 3834
+'u "
+char224 14148,17970,360,87,729,87 2 3808
+`a "
+char232 14148,17970,360,567,153,567 2 3816
+`e "
+char242 15126,17970,360,12,261,12 2 3826
+`o "
+char249 15126,17970,360,1023,261,1000 2 3833
+`u "
+char228 14148,17943,360,1395,729,1000 2 3812
+:a "
+char235 14148,17943,360,1395,153,1000 2 3819
+:e "
+char246 15126,17943,360,906,261,906 2 3830
+:o "
+char252 15126,17943,360,1023,261,1000 2 3836
+:u "
+char197 19515,25923,0,0,2400 2 3781
+oA "
+char238 6342,18105,0,4614,1155,1000 2 3822
+^i "
+char216 20004,18495,360,2847,1161,1000 2 3800
+/O "
+char198 25857,18135,0,3231,2919,1000 2 3782
+AE "
+char229 14148,20490,360,87,729,87 2 3813
+oa "
+char237 6342,17970,0,4593,1155,1000 2 3821
+'i "
+char248 15126,12990,360,1242,1386,1000 0 3832
+/o "
+char230 22443,12990,360,165,384,165 0 3814
+ae "
+char196 19515,22638,0,132,2400,132 2 3780
+:A "
+char236 6342,17970,0,1737,1155,1000 2 3820
+`i "
+char214 20004,22638,360,582,-948,582 2 3798
+:O "
+char220 19029,22638,360,2250,-801,1000 2 3804
+:U "
+char201 15126,23100,0,3099,699,1000 2 3785
+'E "
+char239 6342,17943,0,5298,1155,1000 2 3823
+:i "
+char223 16101,18315,360,1320,939,1000 2 3807
+ss "
+char212 20004,23085,360,582,-948,582 2 3796
+^O "
+char193 19515,23100,0,0,2400 2 3777
+'A "
+char195 19515,23019,0,936,2400,936 2 3779
+~A "
+char227 14148,17724,360,1533,729,1000 2 3811
+~a "
+char208 19029,18135,0,477,804,477 2 3792
+-D "
+char240 15126,18315,360,357,108,357 2 3824
+Sd "
+char205 7317,23100,0,5619,852,1000 2 3789
+'I "
+char204 7317,23100,0,2787,852,1000 2 3788
+`I "
+char211 20004,23100,360,582,-948,582 2 3795
+'O "
+char210 20004,23100,360,582,-948,582 2 3794
+`O "
+char213 20004,23019,360,693,-948,693 2 3797
+~O "
+char245 15126,17724,360,1044,261,1000 2 3829
+~o "
+vS 17076,23085,360,1629,-21,1000 2 51795
+vs 13173,18234,360,2241,960,1000 2 51827
+char218 19029,23100,360,2250,-801,1000 2 3802
+'U "
+:Y 18051,22638,0,3720,-2763,1000 2 51801
+char255 14637,17943,4680,1992,-963,1000 3 3839
+:y "
+char222 15612,18135,0,1692,717,1000 2 3806
+TP "
+char254 15126,18165,4680,9,2592,9 3 3838
+Tp "
+char181 14637,12630,4350,1122,2931,1000 0 3765
+char182 16590,19635,4200,0,-2379 2 3766
+ps "
+char190 26346,18465,945,0,-3291 2 3774
+34 "
+\- 26346,8070,0,0,-4869 0 51757
+char188 26346,18465,945,0,-3621 2 3772
+14 "
+char189 26346,18465,945,0,-3087 2 3773
+12 "
+char170 10734,18465,0,1791,-1671,1000 2 3754
+Of "
+char186 10734,18465,0,2232,-1599,1000 2 3770
+Om "
+char171 14637,11046,0,468,-876,468 0 3755
+Fo "
+char187 14637,11046,0,0,537 0 3771
+Fc "
+char177 26346,14910,0,0,-4770 0 3761
+char166 13173,19083,5916,0,-4596 3 3750
+bb "
+char169 13173,19635,0,4683,-2892,1000 2 3753
+co "
+char172 26346,11697,0,0,-4425 0 3756
+no "
+char174 13173,19635,0,4683,-2892,1000 2 3758
+rg "
+char178 10245,18465,0,1800,-1065,1000 2 3762
+S2 "
+char179 10245,18465,0,1941,-1134,1000 2 3763
+S3 "
+char184 16587,195048,4875,0,-1797 3 3768
+ac "
+char185 10245,18345,0,693,-3387,693 2 3769
+S1 "
+char215 26346,14010,0,0,-6081 0 3799
+char247 26346,12255,0,0,-4845 0 3831
+char183 8781,10935,0,0,-2136 0 3767
+fm 8781,18105,0,1911,-3000,1000 2 51873
+sd 16587,18105,0,0,-3000 2 51874
+dg 16587,18135,0,0,-2772 2 51755
+tm 16128,17850,0,2196,-2760,1000 2 51796
+ah 16587,18234,0,534,-6378,534 2 51935
+ao 16587,20490,0,0,-6318 2 51930
+f/ 2439,18465,945,8739,7344,1000 2 51759
+em 26346,7380,0,0,-2343 0 51789
+en 16587,7470,0,24,-378,24 0 51790
+dd 16587,18135,0,0,-2799 2 51773
+.i 6342,12630,0,1374,1155,1000 0 51957
+aq 8781,18246,0,2136,-4233,1000 2 3623
+bu 13173,14226,0,0,-498 0 51889
+'C 18540,23100,360,1554,-990,1000 2 20166
+'c 14148,17970,360,690,114,690 2 20198
+lq 13173,18135,0,3186,-2322,1000 2 51838
+rq 13173,18135,0,3246,-2382,1000 2 51746
+Bq 13173,2925,3150,0,1596 0 51772
+vz 12684,18234,0,2487,1365,1000 2 51834
+fi 16101,18315,0,2976,-249,1000 2 51881
+fl 16101,18315,0,2811,-216,1000 2 51882
+ff 18051,18315,0,3666,-165,1000 2 51883
+Fi 24396,18315,0,2886,-174,1000 2 51884
+Fl 24396,18315,0,2748,-168,1000 2 51885
+ij 12684,18165,4995,2970,1143,1000 3 51958
+bq 8781,2925,3150,0,2349 0 51756
+%0 26346,18720,840,426,-315,426 2 51901
+char175 16587,17040,0,327,-5010,327 2 3759
+a- "
+ab 16587,17937,0,0,-5469 2 51926
+a. 16587,17943,0,0,-8355 2 51927
+oe 23907,12990,360,141,-243,141 0 51823
+OE 26346,18270,135,3102,-987,1000 2 51791
+fo 9759,11046,0,438,-1293,438 0 51886
+fc 9759,11046,0,0,-363 0 51887
+sq 19029,15624,0,0,-2022 0 51899
+/L 14148,18135,0,0,693 2 51944
+/l 6342,18165,0,2937,1122,1000 2 51960
+a" 16587,17970,0,2460,-5865,1000 2 51933
+ho 16587,696,4458,0,-6957 0 51934
+vZ 16101,23085,0,2598,1719,1000 2 51802
+IJ 20976,18135,360,2559,852,1000 2 51942
diff --git a/devlj4/UR b/devlj4/UR
new file mode 100644
index 000000000..a4cf9ff7b
--- /dev/null
+++ b/devlj4/UR
@@ -0,0 +1,858 @@
+name UR
+spacewidth 8781
+pcltypeface 4148
+pclproportional 1
+pclweight 0
+pclstyle 0
+ligatures fi fl ff ffi ffl 0
+kernpairs
+L V -3903
+P . -4389
+P , -4389
+V A -3903
+A V -3903
+T o -4878
+T r -4878
+T c -4878
+T e -4878
+T d -4878
+T s -4878
+T y -4878
+T a -4878
+T w -4878
+T u -4878
+T J -4878
+L T -4878
+L Y -4389
+Y o -4389
+Y e -4389
+Y a -4389
+Y J -4389
+A W -2439
+W A -2439
+T A -4389
+V o -2925
+V e -2925
+V a -2925
+Y A -4389
+F A -2925
+F . -3903
+F , -3903
+A T -4389
+A Y -4389
+v . -3903
+v , -3903
+y . -3903
+y , -3903
+T . -3903
+T , -3903
+L W -2439
+P A -2925
+V J -3903
+V . -3903
+V , -3903
+Y . -3903
+Y , -3903
+W o -1950
+W e -1950
+W a -1950
+W . -3414
+W , -3414
+r . -2439
+r , -2439
+w . -3414
+w , -3414
+Y u -2925
+A v -2439
+A y -1950
+A w -2439
+o . -2925
+o , -2925
+p . -2925
+p , -2925
+e . -2925
+e , -2925
+b . -2925
+b , -2925
+O T -1950
+O V -1461
+O Y -1950
+O . -2925
+O , -2925
+L y -2439
+L O -1950
+L G -1950
+L C -1950
+L Q -1950
+P J -2439
+V y -1461
+V u -1461
+V O -1461
+V G -1461
+V C -1461
+V Q -1461
+D T -1950
+D V -1461
+D Y -1950
+D . -2925
+D , -2925
+Y O -1950
+Y G -1950
+Y C -1950
+Y Q -1950
+F o -1461
+F e -1461
+F a -1461
+c . -2439
+c , -2439
+O A -1461
+O W -975
+L U -1461
+R T -1461
+R V -1461
+R Y -1461
+R W -975
+G T -1461
+P o -1461
+P g -1461
+P e -1461
+P a -1461
+C A -1461
+C . -2439
+C , -2439
+D A -1461
+D W -975
+B T -1461
+B Y -1461
+B . -1950
+B , -1950
+F J -2439
+A O -1461
+A G -1461
+A C -1461
+A U -1461
+A Q -1461
+W r -975
+W y -975
+W u -975
+W O -975
+W G -975
+W C -975
+W J -2439
+W Q -975
+J A -1461
+J . -2439
+J , -2439
+U A -1461
+U . -2439
+U , -2439
+Q W -975
+f . -1950
+f , -1950
+T O -1950
+T G -1950
+T C -1950
+T Q -1950
+O X -1461
+L o -1950
+L e -1950
+L q -1950
+G V -1461
+G Y -1461
+G W -975
+G . -975
+G , -975
+P T -486
+P V -486
+P Y -486
+C T -1461
+C V -1461
+C Y -1461
+D X -1461
+B V -1461
+B X -975
+B A -975
+B W -975
+S . -1950
+S , -1950
+X o -1461
+X e -1461
+X y -1461
+X O -1461
+X G -1461
+X C -1461
+X Q -1461
+A o -1461
+A e -1461
+K o -1461
+K e -1461
+K y -1461
+K w -1461
+K O -1461
+K G -1461
+K C -1461
+K Q -1461
+o v -975
+o y -486
+o x -975
+o w -975
+h v -975
+h y -486
+n v -975
+n y -486
+m v -975
+m y -486
+r g -486
+g . -975
+g , -975
+p v -975
+p y -486
+p x -975
+c v -975
+c y -486
+c w -975
+v o -975
+v g -975
+v c -975
+v d -975
+v a -975
+v q -975
+e v -975
+e y -486
+b v -975
+b y -486
+b w -975
+s . -1461
+s , -1461
+y o -975
+y g -975
+y c -975
+y d -975
+y a -975
+y q -975
+f g -486
+x o -975
+x g -975
+x c -975
+x e -975
+x d -975
+x a -975
+x q -975
+a v -975
+a y -486
+a w -975
+w o -975
+w g -975
+w c -975
+w d -975
+w a -975
+w q -975
+T i -975
+T S -975
+L a -975
+L S -975
+P s -486
+P Z -486
+P X -486
+P W -486
+C X -1461
+C W -975
+C J -975
+V i -975
+V S -975
+S T -975
+S V -975
+S Y -975
+S X -975
+S A -975
+S W -975
+Y i -975
+Y S -975
+X a -975
+X u -1461
+X S -975
+A t -975
+A g -1461
+A c -1461
+A d -1461
+A a -975
+A u -1461
+A q -1461
+A S -975
+W i -975
+W S -975
+K c -1461
+K u -1461
+K S -975
+t g -486
+t . -975
+t , -975
+o f -486
+h w -975
+h . -975
+h , -975
+n w -975
+n . -975
+n , -975
+m w -975
+m . -975
+m , -975
+l . -975
+l , -975
+r o -486
+r c -486
+r e -486
+r d -486
+r a -486
+r q -486
+i . -975
+i , -975
+p f -486
+p w -975
+c f -486
+c x -975
+v e -975
+v s -486
+e f -486
+e x -975
+e w -975
+z . -975
+z , -975
+d . -975
+d , -975
+b f -486
+s v -486
+s y -486
+s f -486
+s x -486
+s w -486
+y e -975
+y s -486
+f o -486
+f c -486
+f e -486
+f d -486
+f s -486
+f a -486
+f q -486
+x s -486
+x . -975
+x , -975
+a . -975
+a , -975
+w e -975
+w s -486
+j . -975
+j , -975
+u . -975
+k o -975
+k g -975
+k c -975
+k e -975
+k d -975
+k a -975
+k q -975
+k . -975
+k , -975
+O Z -486
+O J -975
+H . -975
+H , -975
+N . -975
+N , -975
+M . -975
+M , -975
+L . -975
+L , -975
+R . -975
+R , -975
+I . -975
+I , -975
+C Z -486
+E . -975
+E , -975
+Z o -486
+Z e -486
+Z d -486
+Z s -486
+Z y -486
+Z a -486
+Z w -486
+Z u -486
+Z O -486
+Z G -486
+Z C -486
+Z S -486
+Z Q -486
+Z . -975
+Z , -975
+D Z -486
+D J -975
+B Z -486
+B J -975
+S Z -486
+S J -975
+X . -975
+X , -975
+A s -486
+A . -975
+A , -975
+J J -975
+U J -975
+K a -975
+K . -975
+K , -975
+t o -486
+t c -486
+t e -486
+t d -486
+t s -486
+t a -486
+t q -486
+o z -486
+h f -486
+n f -486
+m f -486
+r s -486
+p z -486
+c z -486
+e z -486
+z o -486
+z g -486
+z c -486
+z e -486
+z d -486
+z s -486
+z a -486
+z q -486
+b z -486
+s z -486
+a f -486
+k s -486
+A f -486
+K T -486
+K V -486
+K Y -486
+K W -486
+K U -486
+L ' -6342
+T char173 -4878
+T hy -4878
+T - -4878
+T en -4878
+T em -4878
+A ' -2925
+char173 T -4878
+hy T -4878
+- T -4878
+en T -4878
+em T -4878
+Y char173 -2925
+Y hy -2925
+Y - -2925
+Y en -2925
+Y em -2925
+p ' -1950
+c ' -1461
+e ' -1950
+b ' -1950
+a ' -1461
+V char173 -1461
+V hy -1461
+V - -1461
+V en -1461
+V em -1461
+h ' -1461
+n ' -1461
+m ' -1461
+W char173 -975
+W hy -975
+W - -975
+W en -975
+W em -975
+' d -3414
+s ' -486
+L char173 -1950
+L hy -1950
+L - -1950
+L en -1950
+L em -1950
+X char173 -1461
+X hy -1461
+X - -1461
+X en -1461
+X em -1461
+A char173 -1461
+A hy -1461
+A - -1461
+A en -1461
+A em -1461
+K char173 -1461
+K hy -1461
+K - -1461
+K en -1461
+K em -1461
+' s -1950
+char173 X -1461
+hy X -1461
+- X -1461
+char173 A -1461
+hy A -1461
+- A -1461
+en X -1461
+en A -1461
+em X -1461
+K ' -486
+t g -486
+b f -486
+Z char173 -486
+Z hy -486
+Z - -486
+Z en -486
+Z em -486
+' t -975
+' n -1461
+' m -1461
+' r -1461
+' v -1461
+charset
+! 8781,18165 2 3617
+" 13173,18237 2 3618
+sh 16587,18105 2 3619
+# "
+Do 16587,18825,720 2 3620
+$ "
+% 26346,18720,840 2 3621
+& 20004,18495,360 2 3622
+' 8781,18135 2 51751
+( 8781,18135,2550 2 3624
+) 8781,18135,2550 2 3625
+* 16587,18495 2 3626
++ 26346,14775,105 0 3627
+, 8781,3030,3075 0 3628
+char173 8781,7755 0 3629
+hy "
+- "
+. 8781,3030 0 3630
+sl 8781,18135,1380 2 3631
+/ "
+0 16587,18465,360 2 3632
+1 16587,18105 2 3633
+2 16587,18465 2 3634
+3 16587,18465,360 2 3635
+4 16587,18105 2 3636
+5 16587,18105,360 2 3637
+6 16587,18465,360 2 3638
+7 16587,18105 2 3639
+8 16587,18465,360 2 3640
+9 16587,18465,360 2 3641
+: 8781,12630 0 3642
+; 8781,12630,3075 0 3643
+< 26346,16068 0 3644
+= 26346,10566 0 3645
+> 26346,16068 0 3646
+? 13662,18315 2 3647
+at 26352,21030,2745 2 3648
+@ "
+A 19515,18135 2 3649
+B 16587,18135 2 3650
+C 18540,18495,360 2 3651
+D 19029,18135 2 3652
+E 15126,18135 2 3653
+F 14637,18135 2 3654
+G 19515,18495,360 2 3655
+H 19029,18135 2 3656
+I 7317,18135 2 3657
+J 14637,18135,360 2 3658
+K 17565,18135 2 3659
+L 14148,18135 2 3660
+M 23907,18135 2 3661
+N 19029,18135 2 3662
+O 20004,18495,360 2 3663
+P 15612,18135 2 3664
+Q 20490,18495,360 2 3665
+R 17076,18135 2 3666
+S 17076,18495,360 2 3667
+T 16587,18135 2 3668
+U 19029,18135,360 2 3669
+V 19029,18135 2 3670
+W 26346,18135 2 3671
+X 19029,18135 2 3672
+Y 18051,18135 2 3673
+Z 16101,18135 2 3674
+lB 8781,18135,2370 2 3675
+[ "
+rs 8781,18135,1380 2 3676
+\ "
+rB 8781,18135,2370 2 3677
+] "
+ha 13173,19758 2 51875
+_ 13173,191367,6588 3 3679
+oq 8781,18135 2 51808
+` "
+a 14148,12990,360 0 3681
+b 15126,18165,360 2 3682
+c 14148,12990,360 0 3683
+d 15126,18165,360 2 3684
+e 14148,12990,360 0 3685
+f 9759,18315 2 3686
+g 15126,12990,5088 1 3687
+h 15126,18165 2 3688
+i 6342,18165 2 3689
+j 6342,18165,4995 3 3690
+k 14148,18165 2 3691
+l 6342,18165 2 3692
+m 22932,12990 0 3693
+n 15126,12990 0 3694
+o 15126,12990,360 0 3695
+p 15126,12990,4680 1 3696
+q 15126,12990,4680 1 3697
+r 9270,12990 0 3698
+s 13173,12990,360 0 3699
+t 9759,15963,360 0 3700
+u 15126,12630,360 0 3701
+v 14637,12630 0 3702
+w 22932,12630 0 3703
+x 14637,12630 0 3704
+y 14637,12630,4680 1 3705
+z 12684,12630 0 3706
+lC 11712,20130,6075 3 3707
+{ "
+ba 13173,19758,6588 3 3708
+| "
+rC 11712,20130,6075 3 3709
+} "
+ti 26346,8952 0 51876
+char192 19515,23085 2 3776
+`A "
+char194 19515,23085 2 3778
+^A "
+char200 15126,23085 2 3784
+`E "
+char202 15126,23085 2 3786
+^E "
+char203 15126,22755 2 3787
+:E "
+char206 7317,23085 2 3790
+^I "
+char207 7317,22755 2 3791
+:I "
+char180 16587,18075 2 3764
+aa "
+ga 16587,18075 2 3680
+a^ 16587,17985 2 3678
+^ "
+char168 16587,17775 2 3752
+ad "
+a~ 16587,18294 2 3710
+~ "
+char217 19029,23085,360 2 3801
+`U "
+char219 19029,23085,360 2 3803
+^U "
+char221 18051,23085 2 3805
+'Y "
+char253 14637,18075,4680 3 3837
+'y "
+char176 16587,18465 2 3760
+de "
+char199 18540,18495,5025 3 3783
+,C "
+char231 14148,12990,5025 1 3815
+,c "
+char209 19029,22959 2 3793
+~N "
+char241 15126,18294 2 3825
+~n "
+char161 8781,12645,5520 1 3745
+r! "
+char191 13662,12516,5799 1 3775
+r? "
+char164 16587,15684 0 3748
+Cs "
+char163 16587,18465 2 3747
+Po "
+char165 16587,18105 2 3749
+Ye "
+char167 16587,18495,360 2 3751
+sc "
+Fn 16587,18315 2 51871
+char162 16587,18825,720 2 3746
+ct "
+char226 14148,17985,360 2 3810
+^a "
+char234 14148,17985,360 2 3818
+^e "
+char244 15126,17985,360 2 3828
+^o "
+char251 15126,17985,360 2 3835
+^u "
+char225 14148,18075,360 2 3809
+'a "
+char233 14148,18075,360 2 3817
+'e "
+char243 15126,18075,360 2 3827
+'o "
+char250 15126,18075,360 2 3834
+'u "
+char224 14148,18075,360 2 3808
+`a "
+char232 14148,18075,360 2 3816
+`e "
+char242 15126,18075,360 2 3826
+`o "
+char249 15126,18075,360 2 3833
+`u "
+char228 14148,17775,360 2 3812
+:a "
+char235 14148,17775,360 2 3819
+:e "
+char246 15126,17775,360 2 3830
+:o "
+char252 15126,17775,360 2 3836
+:u "
+char197 19515,25923 2 3781
+oA "
+char238 6342,17985 2 3822
+^i "
+char216 20004,18495,375 2 3800
+/O "
+char198 25857,18165 2 3782
+AE "
+char229 14148,20412,360 2 3813
+oa "
+char237 6342,18075 2 3821
+'i "
+char248 15126,13008,408 0 3832
+/o "
+char230 22443,12990,360 0 3814
+ae "
+char196 19515,22755 2 3780
+:A "
+char236 6342,18075 2 3820
+`i "
+char214 20004,22755,360 2 3798
+:O "
+char220 19029,22755,360 2 3804
+:U "
+char201 15126,23085 2 3785
+'E "
+char239 6342,17775 2 3823
+:i "
+char223 16101,18165,360 2 3807
+ss "
+char212 20004,23085,360 2 3796
+^O "
+char193 19515,23085 2 3777
+'A "
+char195 19515,22959 2 3779
+~A "
+char227 14148,18294,360 2 3811
+~a "
+char208 19029,18135 2 3792
+-D "
+char240 15126,18315,360 2 3824
+Sd "
+char205 7317,23085 2 3789
+'I "
+char204 7317,23085 2 3788
+`I "
+char211 20004,23085,360 2 3795
+'O "
+char210 20004,23085,360 2 3794
+`O "
+char213 20004,22959,360 2 3797
+~O "
+char245 15126,18294,360 2 3829
+~o "
+vS 17076,23085,360 2 51795
+vs 13173,17985,360 2 51827
+char218 19029,23085,360 2 3802
+'U "
+:Y 18051,22755 2 51801
+char255 14637,17775,4680 3 3839
+:y "
+char222 15612,18135 2 3806
+TP "
+char254 15126,18165,4680 3 3838
+Tp "
+char181 14637,12630,4350 0 3765
+char182 16587,19635,4200 2 3766
+ps "
+char190 26346,18465,1020 2 3774
+34 "
+\- 26346,8100 0 51757
+char188 26346,18465,1020 2 3772
+14 "
+char189 26346,18465,1020 2 3773
+12 "
+char170 10734,18465 2 3754
+Of "
+char186 10734,18465 2 3770
+Om "
+char171 14637,11085 0 3755
+Fo "
+char187 14637,11085 0 3771
+Fc "
+char177 26346,14985 0 3761
+char166 13173,19083,5916 3 3750
+bb "
+char169 13173,19635 2 3753
+co "
+char172 26346,11607 0 3756
+no "
+char174 13173,19635 2 3758
+rg "
+char178 10245,18465 2 3762
+S2 "
+char179 10245,18465 2 3763
+S3 "
+char184 16587,194958,5025 3 3768
+ac "
+char185 10245,18345 2 3769
+S1 "
+char215 26346,14010 0 3799
+char247 26346,12315 0 3831
+char183 8781,10509 0 3767
+fm 8781,18105 2 51873
+sd 16587,18105 2 51874
+dg 16587,18135 2 51755
+tm 16128,17850 2 51796
+ah 16587,17985 2 51935
+ao 16587,20412 2 51930
+f/ 1464,18465,1020 2 51759
+em 26346,7425 0 51789
+en 16587,7425 0 51790
+dd 16587,18135 2 51773
+.i 6342,12630 0 51957
+aq 8781,18237 2 3623
+bu 13173,14226 0 51889
+'C 18540,23085,360 2 20166
+'c 14148,18075,360 2 20198
+lq 13173,18135 2 51838
+rq 13173,18135 2 51746
+Bq 13173,3015,3060 0 51772
+vz 12684,17985 2 51834
+fi 16101,18315 2 51881
+fl 16101,18315 2 51882
+ff 18051,18315 2 51883
+Fi 24396,18315 2 51884
+Fl 24396,18315 2 51885
+ij 12684,18165,4995 3 51958
+bq 8781,3015,3060 0 51756
+%0 26346,18720,840 2 51901
+char175 16587,16845 2 3759
+a- "
+ab 16587,17985 2 51926
+a. 16587,17775 2 51927
+oe 23907,12990,360 0 51823
+OE 26346,18270,135 2 51791
+fo 9759,11085 0 51886
+fc 9759,11085 0 51887
+sq 19029,15624 0 51899
+/L 14148,18135 2 51944
+/l 6342,18165 2 51960
+a" 16587,18075 2 51933
+ho 16587,1425,4704 1 51934
+vZ 16101,23085 2 51802
+IJ 21354,18135,360 2 51942
diff --git a/devlj4/generate/Makefile b/devlj4/generate/Makefile
new file mode 100644
index 000000000..09c6ac0a6
--- /dev/null
+++ b/devlj4/generate/Makefile
@@ -0,0 +1,163 @@
+#Copyright (C) 1994 Free Software Foundation, Inc.
+# Written by James Clark (jjc@jclark.com)
+#
+#This file is part of groff.
+#
+#groff is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+#
+#groff is distributed in the hope that it will be useful, but WITHOUT ANY
+#WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
+#
+#You should have received a copy of the GNU General Public License along
+#with groff; see the file COPYING. If not, write to the Free Software
+#Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Directory containing Autofont TFM files.
+# The TFM files I used are available for ftp as
+# ftp-boi.external.hp.com:/pub/printers/laserjet/win.dos/tfmlj4p.exe
+# This is a self-extracting MS-DOS archive.
+AUTOFONT=/u/jjc/autofont
+HPFTODIT=hpftodit
+# .05 em
+IFLAG=-i 439
+SFLAG=-s
+srcdir=.
+TEXTMAP=$(srcdir)/text.map
+SPECIALMAP=$(srcdir)/special.map
+
+FONTS=\
+ ALBB ALBR \
+ AOB AOI AOR \
+ CB CBI CI CR \
+ GB GBI GI GR \
+ LGB LGI LGR \
+ OB OBI OI OR \
+ TB TBI TI TR \
+ UB UBI UI UR \
+ UCB UCBI UCI UCR \
+ CLARENDON CORONET MARIGOLD S
+
+all: $(FONTS)
+
+TR: $(AUTOFONT)/9nb00086.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $@
+
+TI: $(AUTOFONT)/9nb00084.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $@
+
+TB: $(AUTOFONT)/9nb00083.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $@
+
+TBI: $(AUTOFONT)/9nb00085.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $@
+
+CR: $(AUTOFONT)/9nb00064.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $@
+
+CI: $(AUTOFONT)/9nb00062.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $@
+
+CB: $(AUTOFONT)/9nb00061.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $@
+
+CBI: $(AUTOFONT)/9nb00063.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $@
+
+GR: $(AUTOFONT)/9nb00068.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $@
+
+GI: $(AUTOFONT)/9nb00066.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $@
+
+GB: $(AUTOFONT)/9nb00065.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $@
+
+GBI: $(AUTOFONT)/9nb00067.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $@
+
+OR: $(AUTOFONT)/9nb00076.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $@
+
+OI: $(AUTOFONT)/9nb00074.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $@
+
+OB: $(AUTOFONT)/9nb00073.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $@
+
+OBI: $(AUTOFONT)/9nb00075.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $@
+
+UR: $(AUTOFONT)/9nb00094.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $@
+
+UI: $(AUTOFONT)/9nb00092.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $@
+
+UB: $(AUTOFONT)/9nb00088.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $@
+
+UBI: $(AUTOFONT)/9nb00093.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $@
+
+UCR: $(AUTOFONT)/9nb00089.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $@
+
+UCI: $(AUTOFONT)/9nb00087.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $@
+
+UCB: $(AUTOFONT)/9nb00090.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $@
+
+UCBI: $(AUTOFONT)/9nb00091.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $@
+
+ALBR: $(AUTOFONT)/9nb00052.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $@
+
+ALBB: $(AUTOFONT)/9nb00051.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $@
+
+LGR: $(AUTOFONT)/9nb00071.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $@
+
+LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@
+
+LGI: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+AOR: $(AUTOFONT)/9nb00055.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $@
+
+AOI: $(AUTOFONT)/9nb00054.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $@
+
+AOB: $(AUTOFONT)/9nb00053.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $@
+
+MARIGOLD: $(AUTOFONT)/9nb00072.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $@
+
+CORONET: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+CLARENDON: $(AUTOFONT)/9nb00060.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $@
+
+S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP)
+ $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $@
+
+clean:
+
+realclean:
+ -rm -f $(FONTS)
+
+extraclean: realclean
+ -rm -f core *~ \#*
+
+.PHONY: clean realclean extraclean all
diff --git a/devlj4/generate/Makefile.~1~ b/devlj4/generate/Makefile.~1~
new file mode 100644
index 000000000..26ed7dba7
--- /dev/null
+++ b/devlj4/generate/Makefile.~1~
@@ -0,0 +1,73 @@
+groff-src=/u/jjc/groff
+groff-build=/u/jjc/groff-build
+DEV=lj4
+#DEVDIR=$(groff-src)/dev$(DEV)
+DEVDIR=./dev$(DEV)
+AUTOFONT=/u/jjc/autofont
+INCLUDES=-I$(groff-src)/include
+XLIBS=$(groff-build)/libgroff/libgroff.a
+
+CXX=cygnus-gcc
+CXXFLAGS=-g -Wall
+LIBS=-lm
+PROG=autodit
+OBJS=autodit.o
+IFLAG=-i 436
+SFLAG=-s
+TEXTMAP=text.map
+SPECIALMAP=special.map
+
+.SUFFIXES: .cc
+
+.cc.o:
+ $(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
+
+all: $(PROG)
+
+$(PROG): $(OBJS) $(XLIBS)
+ $(CXX) $(CXXFLAGS) -o $(PROG) $(OBJS) $(XLIBS) -lm
+
+# TFM files are available as
+# ftp-boi.external.hp.com:/pub/printers/laserjet/win.dos/tfmlj4p.exe
+# This is a self-extracting MS-DOS archive.
+
+fonts: FORCE $(PROG) $(TEXTMAP) $(SPECIALMAP)
+ test -d $(DEVDIR) || mkdir $(DEVDIR)
+ ./$(PROG) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $(DEVDIR)/TR
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $(DEVDIR)/TI
+ ./$(PROG) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $(DEVDIR)/TB
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $(DEVDIR)/TBI
+ ./$(PROG) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $(DEVDIR)/CR
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $(DEVDIR)/CI
+ ./$(PROG) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $(DEVDIR)/CB
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $(DEVDIR)/CBI
+ ./$(PROG) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $(DEVDIR)/GR
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $(DEVDIR)/GI
+ ./$(PROG) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $(DEVDIR)/GB
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $(DEVDIR)/GBI
+ ./$(PROG) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $(DEVDIR)/OR
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $(DEVDIR)/OI
+ ./$(PROG) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $(DEVDIR)/OB
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $(DEVDIR)/OBI
+ ./$(PROG) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $(DEVDIR)/UR
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $(DEVDIR)/UI
+ ./$(PROG) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $(DEVDIR)/UB
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $(DEVDIR)/UBI
+ ./$(PROG) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $(DEVDIR)/UCR
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $(DEVDIR)/UCI
+ ./$(PROG) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $(DEVDIR)/UCB
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $(DEVDIR)/UCBI
+ ./$(PROG) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $(DEVDIR)/ALBR
+ ./$(PROG) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $(DEVDIR)/ALBB
+ ./$(PROG) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $(DEVDIR)/LGR
+ ./$(PROG) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $(DEVDIR)/LGB
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $(DEVDIR)/LGI
+ ./$(PROG) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $(DEVDIR)/AOR
+ ./$(PROG) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $(DEVDIR)/AOI
+ ./$(PROG) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $(DEVDIR)/AOB
+ ./$(PROG) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $(DEVDIR)/MARIGOLD
+ ./$(PROG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $(DEVDIR)/CORONET
+ ./$(PROG) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $(DEVDIR)/CLARENDON
+ ./$(PROG) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $(DEVDIR)/S
+
+FORCE:
diff --git a/devlj4/generate/Makefile.~2~ b/devlj4/generate/Makefile.~2~
new file mode 100644
index 000000000..752215886
--- /dev/null
+++ b/devlj4/generate/Makefile.~2~
@@ -0,0 +1,159 @@
+#Copyright (C) 1994 Free Software Foundation, Inc.
+# Written by James Clark (jjc@jclark.com)
+#
+#This file is part of groff.
+#
+#groff is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+#
+#groff is distributed in the hope that it will be useful, but WITHOUT ANY
+#WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
+#
+#You should have received a copy of the GNU General Public License along
+#with groff; see the file COPYING. If not, write to the Free Software
+#Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Directory containing Autofont TFM files.
+HPFTODIT=hpftodit
+AUTOFONT=/u/jjc/autofont
+IFLAG=-i 436
+SFLAG=-s
+srcdir=.
+TEXTMAP=$(srcdir)/text.map
+SPECIALMAP=$(srcdir)/special.map
+
+FONTS=\
+ ALBB ALBR \
+ AOB AOI AOR \
+ CB CBI CI CR \
+ GB GBI GI GR \
+ LGB LGI LGR \
+ OB OBI OI OR \
+ TB TBI TI TR \
+ UB UBI UI UR \
+ UCB UCBI UCI UCR \
+ CLARENDON CORONET MARIGOLD S
+
+all: $(FONTS)
+
+TR: $(AUTOFONT)/9nb00086.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $@
+
+TI: $(AUTOFONT)/9nb00084.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $@
+
+TB: $(AUTOFONT)/9nb00083.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $@
+
+TBI: $(AUTOFONT)/9nb00085.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $@
+
+CR: $(AUTOFONT)/9nb00064.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $@
+
+CI: $(AUTOFONT)/9nb00062.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $@
+
+CB: $(AUTOFONT)/9nb00061.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $@
+
+CBI: $(AUTOFONT)/9nb00063.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $@
+
+GR: $(AUTOFONT)/9nb00068.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $@
+
+GI: $(AUTOFONT)/9nb00066.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $@
+
+GB: $(AUTOFONT)/9nb00065.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $@
+
+GBI: $(AUTOFONT)/9nb00067.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $@
+
+OR: $(AUTOFONT)/9nb00076.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $@
+
+OI: $(AUTOFONT)/9nb00074.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $@
+
+OB: $(AUTOFONT)/9nb00073.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $@
+
+OBI: $(AUTOFONT)/9nb00075.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $@
+
+UR: $(AUTOFONT)/9nb00094.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $@
+
+UI: $(AUTOFONT)/9nb00092.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $@
+
+UB: $(AUTOFONT)/9nb00088.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $@
+
+UBI: $(AUTOFONT)/9nb00093.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $@
+
+UCR: $(AUTOFONT)/9nb00089.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $@
+
+UCI: $(AUTOFONT)/9nb00087.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $@
+
+UCB: $(AUTOFONT)/9nb00090.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $@
+
+UCBI: $(AUTOFONT)/9nb00091.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $@
+
+ALBR: $(AUTOFONT)/9nb00052.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $@
+
+ALBB: $(AUTOFONT)/9nb00051.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $@
+
+LGR: $(AUTOFONT)/9nb00071.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $@
+
+LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@
+
+LGI: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+AOR: $(AUTOFONT)/9nb00055.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $@
+
+AOI: $(AUTOFONT)/9nb00054.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $@
+
+AOB: $(AUTOFONT)/9nb00053.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $@
+
+MARIGOLD: $(AUTOFONT)/9nb00072.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $@
+
+CORONET: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+CLARENDON: $(AUTOFONT)/9nb00060.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $@
+
+S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP)
+ $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $@
+
+clean:
+
+realclean:
+ -rm -f $(FONTS)
+
+extraclean: realclean
+ -rm -f core *~ \#*
+
+.PHONY: clean realclean extraclean all
diff --git a/devlj4/generate/Makefile.~2~~ b/devlj4/generate/Makefile.~2~~
new file mode 100644
index 000000000..88bc47f5c
--- /dev/null
+++ b/devlj4/generate/Makefile.~2~~
@@ -0,0 +1,159 @@
+#Copyright (C) 1994 Free Software Foundation, Inc.
+# Written by James Clark (jjc@jclark.com)
+#
+#This file is part of groff.
+#
+#groff is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+#
+#groff is distributed in the hope that it will be useful, but WITHOUT ANY
+#WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
+#
+#You should have received a copy of the GNU General Public License along
+#with groff; see the file COPYING. If not, write to the Free Software
+#Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Directory containing Autofont TFM files.
+HPFTODIT=hpftodit
+AUTOFONT=/u/jjc/autofont
+IFLAG=-i 436
+SFLAG=-s
+srcdir=.
+TEXTMAP=$(srcdir)/text.map
+SPECIALMAP=$(srcdir)/special.map
+
+FONTS=\
+ ALBB ALBR \
+ AOB AOI AOR \
+ CB CBI CI CR \
+ GB GBI GI GR \
+ LGB LGI LGR \
+ OB OBI OI OR \
+ TB TBI TI TR \
+ UB UBI UI UR \
+ UCB UCBI UCI UCR \
+ CLARENDON CORONET MARIGOLD S
+
+all: $(FONTS)
+
+TR: $(AUTOFONT)/9nb00086.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $@
+
+TI: $(AUTOFONT)/9nb00084.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $@
+
+TB: $(AUTOFONT)/9nb00083.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $@
+
+TBI: $(AUTOFONT)/9nb00085.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $@
+
+CR: $(AUTOFONT)/9nb00064.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $@
+
+CI: $(AUTOFONT)/9nb00062.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $@
+
+CB: $(AUTOFONT)/9nb00061.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $@
+
+CBI: $(AUTOFONT)/9nb00063.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $@
+
+GR: $(AUTOFONT)/9nb00068.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $@
+
+GI: $(AUTOFONT)/9nb00066.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $@
+
+GB: $(AUTOFONT)/9nb00065.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $@
+
+GBI: $(AUTOFONT)/9nb00067.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $@
+
+OR: $(AUTOFONT)/9nb00076.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $@
+
+OI: $(AUTOFONT)/9nb00074.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $@
+
+OB: $(AUTOFONT)/9nb00073.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $@
+
+OBI: $(AUTOFONT)/9nb00075.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $@
+
+UR: $(AUTOFONT)/9nb00094.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $@
+
+UI: $(AUTOFONT)/9nb00092.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $@
+
+UB: $(AUTOFONT)/9nb00088.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $@
+
+UBI: $(AUTOFONT)/9nb00093.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $@
+
+UCR: $(AUTOFONT)/9nb00089.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $@
+
+UCI: $(AUTOFONT)/9nb00087.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $@
+
+UCB: $(AUTOFONT)/9nb00090.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $@
+
+UCBI: $(AUTOFONT)/9nb00091.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $@
+
+ALBR: $(AUTOFONT)/9nb00052.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $@
+
+ALBB: $(AUTOFONT)/9nb00051.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $@
+
+LGR: $(AUTOFONT)/9nb00071.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $@
+
+LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@
+
+LGI: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+AOR: $(AUTOFONT)/9nb00055.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $@
+
+AOI: $(AUTOFONT)/9nb00054.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $@
+
+AOB: $(AUTOFONT)/9nb00053.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $@
+
+MARIGOLD: $(AUTOFONT)/9nb00072.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $@
+
+CORONET: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+CLARENDON: $(AUTOFONT)/9nb00060.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $@
+
+S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP)
+ $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $@
+
+clean:
+
+realclean:
+ -rm -f $(FONTS)
+
+extraclean: realclean
+ -rm -f core *~ \#*
+
+.PHONY: clean realclean extraclean all
diff --git a/devlj4/generate/Makefile.~3~ b/devlj4/generate/Makefile.~3~
new file mode 100644
index 000000000..99d704022
--- /dev/null
+++ b/devlj4/generate/Makefile.~3~
@@ -0,0 +1,162 @@
+#Copyright (C) 1994 Free Software Foundation, Inc.
+# Written by James Clark (jjc@jclark.com)
+#
+#This file is part of groff.
+#
+#groff is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+#
+#groff is distributed in the hope that it will be useful, but WITHOUT ANY
+#WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
+#
+#You should have received a copy of the GNU General Public License along
+#with groff; see the file COPYING. If not, write to the Free Software
+#Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Directory containing Autofont TFM files.
+# The TFM files I used are available for ftp as
+# ftp-boi.external.hp.com:/pub/printers/laserjet/win.dos/tfmlj4p.exe
+# This is a self-extracting MS-DOS archive.
+AUTOFONT=/u/jjc/autofont
+HPFTODIT=hpftodit
+IFLAG=-i 436
+SFLAG=-s
+srcdir=.
+TEXTMAP=$(srcdir)/text.map
+SPECIALMAP=$(srcdir)/special.map
+
+FONTS=\
+ ALBB ALBR \
+ AOB AOI AOR \
+ CB CBI CI CR \
+ GB GBI GI GR \
+ LGB LGI LGR \
+ OB OBI OI OR \
+ TB TBI TI TR \
+ UB UBI UI UR \
+ UCB UCBI UCI UCR \
+ CLARENDON CORONET MARIGOLD S
+
+all: $(FONTS)
+
+TR: $(AUTOFONT)/9nb00086.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $@
+
+TI: $(AUTOFONT)/9nb00084.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $@
+
+TB: $(AUTOFONT)/9nb00083.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $@
+
+TBI: $(AUTOFONT)/9nb00085.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $@
+
+CR: $(AUTOFONT)/9nb00064.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $@
+
+CI: $(AUTOFONT)/9nb00062.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $@
+
+CB: $(AUTOFONT)/9nb00061.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $@
+
+CBI: $(AUTOFONT)/9nb00063.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $@
+
+GR: $(AUTOFONT)/9nb00068.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $@
+
+GI: $(AUTOFONT)/9nb00066.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $@
+
+GB: $(AUTOFONT)/9nb00065.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $@
+
+GBI: $(AUTOFONT)/9nb00067.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $@
+
+OR: $(AUTOFONT)/9nb00076.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $@
+
+OI: $(AUTOFONT)/9nb00074.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $@
+
+OB: $(AUTOFONT)/9nb00073.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $@
+
+OBI: $(AUTOFONT)/9nb00075.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $@
+
+UR: $(AUTOFONT)/9nb00094.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $@
+
+UI: $(AUTOFONT)/9nb00092.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $@
+
+UB: $(AUTOFONT)/9nb00088.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $@
+
+UBI: $(AUTOFONT)/9nb00093.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $@
+
+UCR: $(AUTOFONT)/9nb00089.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $@
+
+UCI: $(AUTOFONT)/9nb00087.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $@
+
+UCB: $(AUTOFONT)/9nb00090.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $@
+
+UCBI: $(AUTOFONT)/9nb00091.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $@
+
+ALBR: $(AUTOFONT)/9nb00052.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $@
+
+ALBB: $(AUTOFONT)/9nb00051.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $@
+
+LGR: $(AUTOFONT)/9nb00071.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $@
+
+LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@
+
+LGI: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+AOR: $(AUTOFONT)/9nb00055.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $@
+
+AOI: $(AUTOFONT)/9nb00054.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $@
+
+AOB: $(AUTOFONT)/9nb00053.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $@
+
+MARIGOLD: $(AUTOFONT)/9nb00072.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $@
+
+CORONET: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+CLARENDON: $(AUTOFONT)/9nb00060.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $@
+
+S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP)
+ $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $@
+
+clean:
+
+realclean:
+ -rm -f $(FONTS)
+
+extraclean: realclean
+ -rm -f core *~ \#*
+
+.PHONY: clean realclean extraclean all
diff --git a/devlj4/generate/Makefile.~3~~ b/devlj4/generate/Makefile.~3~~
new file mode 100644
index 000000000..1b9b750a3
--- /dev/null
+++ b/devlj4/generate/Makefile.~3~~
@@ -0,0 +1,162 @@
+#Copyright (C) 1994 Free Software Foundation, Inc.
+# Written by James Clark (jjc@jclark.com)
+#
+#This file is part of groff.
+#
+#groff is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+#
+#groff is distributed in the hope that it will be useful, but WITHOUT ANY
+#WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
+#
+#You should have received a copy of the GNU General Public License along
+#with groff; see the file COPYING. If not, write to the Free Software
+#Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Directory containing Autofont TFM files.
+# The TFM files I used are available for ftp as
+# ftp-boi.external.hp.com:/pub/printers/laserjet/win.dos/tfmlj4p.exe
+# This is a self-extracting MS-DOS archive.
+AUTOFONT=/u/jjc/autofont
+HPFTODIT=hpftodit
+IFLAG=-i 436
+SFLAG=-s
+srcdir=.
+TEXTMAP=$(srcdir)/text.map
+SPECIALMAP=$(srcdir)/special.map
+
+FONTS=\
+ ALBB ALBR \
+ AOB AOI AOR \
+ CB CBI CI CR \
+ GB GBI GI GR \
+ LGB LGI LGR \
+ OB OBI OI OR \
+ TB TBI TI TR \
+ UB UBI UI UR \
+ UCB UCBI UCI UCR \
+ CLARENDON CORONET MARIGOLD S
+
+all: $(FONTS)
+
+TR: $(AUTOFONT)/9nb00086.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $@
+
+TI: $(AUTOFONT)/9nb00084.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $@
+
+TB: $(AUTOFONT)/9nb00083.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $@
+
+TBI: $(AUTOFONT)/9nb00085.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $@
+
+CR: $(AUTOFONT)/9nb00064.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $@
+
+CI: $(AUTOFONT)/9nb00062.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $@
+
+CB: $(AUTOFONT)/9nb00061.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $@
+
+CBI: $(AUTOFONT)/9nb00063.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $@
+
+GR: $(AUTOFONT)/9nb00068.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $@
+
+GI: $(AUTOFONT)/9nb00066.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $@
+
+GB: $(AUTOFONT)/9nb00065.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $@
+
+GBI: $(AUTOFONT)/9nb00067.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $@
+
+OR: $(AUTOFONT)/9nb00076.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $@
+
+OI: $(AUTOFONT)/9nb00074.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $@
+
+OB: $(AUTOFONT)/9nb00073.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $@
+
+OBI: $(AUTOFONT)/9nb00075.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $@
+
+UR: $(AUTOFONT)/9nb00094.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $@
+
+UI: $(AUTOFONT)/9nb00092.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $@
+
+UB: $(AUTOFONT)/9nb00088.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $@
+
+UBI: $(AUTOFONT)/9nb00093.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $@
+
+UCR: $(AUTOFONT)/9nb00089.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $@
+
+UCI: $(AUTOFONT)/9nb00087.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $@
+
+UCB: $(AUTOFONT)/9nb00090.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $@
+
+UCBI: $(AUTOFONT)/9nb00091.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $@
+
+ALBR: $(AUTOFONT)/9nb00052.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $@
+
+ALBB: $(AUTOFONT)/9nb00051.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $@
+
+LGR: $(AUTOFONT)/9nb00071.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $@
+
+LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@
+
+LGI: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+AOR: $(AUTOFONT)/9nb00055.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $@
+
+AOI: $(AUTOFONT)/9nb00054.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $@
+
+AOB: $(AUTOFONT)/9nb00053.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $@
+
+MARIGOLD: $(AUTOFONT)/9nb00072.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $@
+
+CORONET: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+CLARENDON: $(AUTOFONT)/9nb00060.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $@
+
+S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP)
+ $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $@
+
+clean:
+
+realclean:
+ -rm -f $(FONTS)
+
+extraclean: realclean
+ -rm -f core *~ \#*
+
+.PHONY: clean realclean extraclean all
diff --git a/devlj4/generate/Makefile.~4~ b/devlj4/generate/Makefile.~4~
new file mode 100644
index 000000000..723a66957
--- /dev/null
+++ b/devlj4/generate/Makefile.~4~
@@ -0,0 +1,163 @@
+#Copyright (C) 1994 Free Software Foundation, Inc.
+# Written by James Clark (jjc@jclark.com)
+#
+#This file is part of groff.
+#
+#groff is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+#
+#groff is distributed in the hope that it will be useful, but WITHOUT ANY
+#WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
+#
+#You should have received a copy of the GNU General Public License along
+#with groff; see the file COPYING. If not, write to the Free Software
+#Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Directory containing Autofont TFM files.
+# The TFM files I used are available for ftp as
+# ftp-boi.external.hp.com:/pub/printers/laserjet/win.dos/tfmlj4p.exe
+# This is a self-extracting MS-DOS archive.
+AUTOFONT=/u/jjc/autofont
+HPFTODIT=hpftodit
+# .05 em
+IFLAG=-i 439
+SFLAG=-s
+srcdir=.
+TEXTMAP=$(srcdir)/text.map
+SPECIALMAP=$(srcdir)/special.map
+
+FONTS=\
+ ALBB ALBR \
+ AOB AOI AOR \
+ CB CBI CI CR \
+ GB GBI GI GR \
+ LGB LGI LGR \
+ OB OBI OI OR \
+ TB TBI TI TR \
+ UB UBI UI UR \
+ UCB UCBI UCI UCR \
+ CLARENDON CORONET MARIGOLD S
+
+all: $(FONTS)
+
+TR: $(AUTOFONT)/9nb00086.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $@
+
+TI: $(AUTOFONT)/9nb00084.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $@
+
+TB: $(AUTOFONT)/9nb00083.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $@
+
+TBI: $(AUTOFONT)/9nb00085.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $@
+
+CR: $(AUTOFONT)/9nb00064.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $@
+
+CI: $(AUTOFONT)/9nb00062.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $@
+
+CB: $(AUTOFONT)/9nb00061.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $@
+
+CBI: $(AUTOFONT)/9nb00063.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $@
+
+GR: $(AUTOFONT)/9nb00068.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $@
+
+GI: $(AUTOFONT)/9nb00066.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $@
+
+GB: $(AUTOFONT)/9nb00065.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $@
+
+GBI: $(AUTOFONT)/9nb00067.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $@
+
+OR: $(AUTOFONT)/9nb00076.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $@
+
+OI: $(AUTOFONT)/9nb00074.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $@
+
+OB: $(AUTOFONT)/9nb00073.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $@
+
+OBI: $(AUTOFONT)/9nb00075.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $@
+
+UR: $(AUTOFONT)/9nb00094.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $@
+
+UI: $(AUTOFONT)/9nb00092.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $@
+
+UB: $(AUTOFONT)/9nb00088.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $@
+
+UBI: $(AUTOFONT)/9nb00093.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $@
+
+UCR: $(AUTOFONT)/9nb00089.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $@
+
+UCI: $(AUTOFONT)/9nb00087.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $@
+
+UCB: $(AUTOFONT)/9nb00090.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $@
+
+UCBI: $(AUTOFONT)/9nb00091.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $@
+
+ALBR: $(AUTOFONT)/9nb00052.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $@
+
+ALBB: $(AUTOFONT)/9nb00051.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $@
+
+LGR: $(AUTOFONT)/9nb00071.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $@
+
+LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@
+
+LGI: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+AOR: $(AUTOFONT)/9nb00055.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $@
+
+AOI: $(AUTOFONT)/9nb00054.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $@
+
+AOB: $(AUTOFONT)/9nb00053.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $@
+
+MARIGOLD: $(AUTOFONT)/9nb00072.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $@
+
+CORONET: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+CLARENDON: $(AUTOFONT)/9nb00060.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $@
+
+S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP)
+ $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $@
+
+clean:
+
+realclean:
+ -rm -f $(FONTS)
+
+extraclean: realclean
+ -rm -f core *~ \#*
+
+.PHONY: clean realclean extraclean all
diff --git a/devlj4/generate/special.map b/devlj4/generate/special.map
new file mode 100644
index 000000000..ea23337b4
--- /dev/null
+++ b/devlj4/generate/special.map
@@ -0,0 +1,178 @@
+# Map MSL numbers to troff names for a special font.
+12 pl
+30 eq
+34 *A
+35 *B
+38 *E
+41 *Y
+42 *I
+44 *K
+46 *M
+47 *N
+48 *O
+49 *R
+53 *T
+57 *X
+59 *Z
+94 or
+96 ap
+183 mi
+191 +-
+194 no
+201 mu
+202 di
+206 DI
+207 CL
+205 HE
+208 SP
+220 va
+224 ua
+225 da
+226 ->
+227 <-
+229 <>
+292 if
+295 ca
+296 ==
+297 >=
+298 <=
+301 ~~
+302 md
+500 sr
+501 pt
+503 +e
+504 3d
+504 tf
+505 *G
+506 *D
+507 *H
+508 *L
+509 *C
+510 *P
+511 *S
+512 *U
+513 *F
+514 *Q
+515 *W
+516 gr
+517 pd
+518 ts
+519 !=
+522 *a
+523 *b
+524 *g
+525 *d
+526 *e
+527 *z
+528 *y
+529 *h
+530 *i
+531 *k
+532 *l
+533 *m
+534 *n
+535 *c
+536 *o
+537 *p
+538 *r
+539 *s
+540 *t
+541 *u
+542 *f
+543 *x
+544 *q
+545 *w
+546 +h
+547 +f
+548 +p
+549 ~=
+550 ne
+551 arrowverttp
+551 uA
+552 rA
+552 rh
+553 arrowvertbt
+553 dA
+554 lA
+554 lh
+555 vA
+556 hA
+560 radicalex
+561 fa
+562 te
+564 pp
+565 cu
+566 mo
+568 nm
+569 sb
+570 sp
+571 nb
+572 nc
+573 ib
+574 ip
+575 c+
+577 c*
+580 AN
+581 OR
+584 ci
+587 is
+589 /_
+590 es
+591 Ah
+595 Im
+596 Re
+598 bracketlefttp
+598 lc
+599 bracketleftbt
+599 lf
+600 bracelefttp
+600 parenlefttp
+600 lt
+601 braceleftmid
+601 lk
+602 braceleftbt
+602 parenleftbt
+602 lb
+605 arrowvertex
+608 bracketrighttp
+608 rc
+609 bracketrightbt
+609 rf
+610 bracerighttp
+610 parenrighttp
+610 rt
+611 bracerightmid
+611 rk
+612 bracerightbt
+612 parenrightbt
+612 rb
+613 braceleftex
+613 bracerightex
+613 bv
+614 barex
+614 bracketleftex
+614 bracketrightex
+614 parenleftex
+614 parenrightex
+620 -+
+621 la
+622 ra
+624 =~
+633 <<
+634 >>
+638 -h
+641 wp
+654 lz
+663 st
+664 **
+665 an
+680 AN
+1099 CR
+
+#637 digamma
+#655 parenrighttp
+#656 parenrightbt
+#642 sum
+#644 bardblex
+#646 parenlefttp
+#647 parenleftbt
diff --git a/devlj4/generate/special.map.~1~ b/devlj4/generate/special.map.~1~
new file mode 100644
index 000000000..980e90378
--- /dev/null
+++ b/devlj4/generate/special.map.~1~
@@ -0,0 +1,176 @@
+12 pl
+30 eq
+34 *A
+35 *B
+38 *E
+41 *Y
+42 *I
+44 *K
+46 *M
+47 *N
+48 *O
+49 *R
+53 *T
+57 *X
+59 *Z
+94 or
+96 ap
+183 mi
+191 +-
+194 no
+201 mu
+202 di
+206 DI
+207 CL
+205 HE
+208 SP
+220 va
+224 ua
+225 da
+226 ->
+227 <-
+229 <>
+292 if
+295 ca
+296 ==
+297 >=
+298 <=
+301 ~~
+302 md
+500 sr
+501 pt
+503 +e
+504 3d
+504 tf
+505 *G
+506 *D
+507 *H
+508 *L
+509 *C
+510 *P
+511 *S
+512 *U
+513 *F
+514 *Q
+515 *W
+516 gr
+517 pd
+518 ts
+519 !=
+522 *a
+523 *b
+524 *g
+525 *d
+526 *e
+527 *z
+528 *y
+529 *h
+530 *i
+531 *k
+532 *l
+533 *m
+534 *n
+535 *c
+536 *o
+537 *p
+538 *r
+539 *s
+540 *t
+541 *u
+542 *f
+543 *x
+544 *q
+545 *w
+546 +h
+547 +f
+548 +p
+549 ~=
+550 ne
+551 arrowverttp
+551 uA
+552 rA
+552 rh
+553 arrowvertbt
+553 dA
+554 lA
+554 lh
+555 vA
+556 hA
+560 radicalex
+561 fa
+562 te
+564 pp
+565 cu
+566 mo
+568 nm
+569 sb
+570 sp
+572 nc
+573 ib
+574 ip
+575 c+
+577 c*
+580 AN
+581 OR
+584 ci
+587 is
+589 /_
+590 es
+591 Ah
+595 Im
+596 Re
+598 bracketlefttp
+598 lc
+599 bracketleftbt
+599 lf
+600 bracelefttp
+600 parenlefttp
+600 lt
+601 braceleftmid
+601 lk
+602 braceleftbt
+602 parenleftbt
+602 lb
+605 arrowvertex
+608 bracketrighttp
+608 rc
+609 bracketrightbt
+609 rf
+610 bracerighttp
+610 parenrighttp
+610 rt
+611 bracerightmid
+611 rk
+612 bracerightbt
+612 parenrightbt
+612 rb
+613 braceleftex
+613 bracerightex
+613 bv
+614 barex
+614 bracketleftex
+614 bracketrightex
+614 parenleftex
+614 parenrightex
+620 -+
+621 la
+622 ra
+624 =~
+633 <<
+634 >>
+638 -h
+641 wp
+654 lz
+663 st
+664 **
+665 an
+680 AN
+1099 CR
+
+#637 digamma
+#655 parenrighttp
+#656 parenrightbt
+#642 sum
+#644 bardblex
+#646 parenlefttp
+#647 parenleftbt
diff --git a/devlj4/generate/special.map.~2~ b/devlj4/generate/special.map.~2~
new file mode 100644
index 000000000..74c8d8847
--- /dev/null
+++ b/devlj4/generate/special.map.~2~
@@ -0,0 +1,177 @@
+# Map MSL numbers to troff names for a special font.
+12 pl
+30 eq
+34 *A
+35 *B
+38 *E
+41 *Y
+42 *I
+44 *K
+46 *M
+47 *N
+48 *O
+49 *R
+53 *T
+57 *X
+59 *Z
+94 or
+96 ap
+183 mi
+191 +-
+194 no
+201 mu
+202 di
+206 DI
+207 CL
+205 HE
+208 SP
+220 va
+224 ua
+225 da
+226 ->
+227 <-
+229 <>
+292 if
+295 ca
+296 ==
+297 >=
+298 <=
+301 ~~
+302 md
+500 sr
+501 pt
+503 +e
+504 3d
+504 tf
+505 *G
+506 *D
+507 *H
+508 *L
+509 *C
+510 *P
+511 *S
+512 *U
+513 *F
+514 *Q
+515 *W
+516 gr
+517 pd
+518 ts
+519 !=
+522 *a
+523 *b
+524 *g
+525 *d
+526 *e
+527 *z
+528 *y
+529 *h
+530 *i
+531 *k
+532 *l
+533 *m
+534 *n
+535 *c
+536 *o
+537 *p
+538 *r
+539 *s
+540 *t
+541 *u
+542 *f
+543 *x
+544 *q
+545 *w
+546 +h
+547 +f
+548 +p
+549 ~=
+550 ne
+551 arrowverttp
+551 uA
+552 rA
+552 rh
+553 arrowvertbt
+553 dA
+554 lA
+554 lh
+555 vA
+556 hA
+560 radicalex
+561 fa
+562 te
+564 pp
+565 cu
+566 mo
+568 nm
+569 sb
+570 sp
+572 nc
+573 ib
+574 ip
+575 c+
+577 c*
+580 AN
+581 OR
+584 ci
+587 is
+589 /_
+590 es
+591 Ah
+595 Im
+596 Re
+598 bracketlefttp
+598 lc
+599 bracketleftbt
+599 lf
+600 bracelefttp
+600 parenlefttp
+600 lt
+601 braceleftmid
+601 lk
+602 braceleftbt
+602 parenleftbt
+602 lb
+605 arrowvertex
+608 bracketrighttp
+608 rc
+609 bracketrightbt
+609 rf
+610 bracerighttp
+610 parenrighttp
+610 rt
+611 bracerightmid
+611 rk
+612 bracerightbt
+612 parenrightbt
+612 rb
+613 braceleftex
+613 bracerightex
+613 bv
+614 barex
+614 bracketleftex
+614 bracketrightex
+614 parenleftex
+614 parenrightex
+620 -+
+621 la
+622 ra
+624 =~
+633 <<
+634 >>
+638 -h
+641 wp
+654 lz
+663 st
+664 **
+665 an
+680 AN
+1099 CR
+
+#637 digamma
+#655 parenrighttp
+#656 parenrightbt
+#642 sum
+#644 bardblex
+#646 parenlefttp
+#647 parenleftbt
diff --git a/devlj4/generate/text.map b/devlj4/generate/text.map
new file mode 100644
index 000000000..fc70b63db
--- /dev/null
+++ b/devlj4/generate/text.map
@@ -0,0 +1,341 @@
+# Map MSL numbers to troff names for a text font.
+1 !
+2 "
+3 #
+3 sh
+4 $
+4 Do
+5 %
+6 &
+8 '
+9 (
+10 )
+11 *
+12 +
+13 ,
+14 -
+14 hy
+14 char173
+15 .
+16 /
+16 sl
+17 0
+18 1
+19 2
+20 3
+21 4
+22 5
+23 6
+24 7
+25 8
+26 9
+27 :
+28 ;
+29 <
+30 =
+31 >
+32 ?
+33 @
+33 at
+34 A
+35 B
+36 C
+37 D
+38 E
+39 F
+40 G
+41 H
+42 I
+43 J
+44 K
+45 L
+46 M
+47 N
+48 O
+49 P
+50 Q
+51 R
+52 S
+53 T
+54 U
+55 V
+56 W
+57 X
+58 Y
+59 Z
+60 [
+60 lB
+61 \
+61 rs
+62 ]
+62 rB
+63 ha
+64 _
+66 `
+66 oq
+67 a
+68 b
+69 c
+70 d
+71 e
+72 f
+73 g
+74 h
+75 i
+76 j
+77 k
+78 l
+79 m
+80 n
+81 o
+82 p
+83 q
+84 r
+85 s
+86 t
+87 u
+88 v
+89 w
+90 x
+91 y
+92 z
+93 {
+93 lC
+94 |
+94 ba
+95 }
+95 rC
+96 ti
+99 `A
+99 char192
+100 ^A
+100 char194
+101 `E
+101 char200
+102 ^E
+102 char202
+103 :E
+103 char203
+104 ^I
+104 char206
+105 :I
+105 char207
+106 aa
+106 char180
+107 ga
+108 ^
+108 a^
+109 ad
+109 char168
+110 ~
+110 a~
+111 `U
+111 char217
+112 ^U
+112 char219
+114 'Y
+114 char221
+115 'y
+115 char253
+116 de
+116 char176
+117 ,C
+117 char199
+118 ,c
+118 char231
+119 ~N
+119 char209
+120 ~n
+120 char241
+121 r!
+121 char161
+122 r?
+122 char191
+123 Cs
+123 char164
+124 Po
+124 char163
+125 Ye
+125 char165
+126 sc
+126 char167
+127 Fn
+128 ct
+128 char162
+129 ^a
+129 char226
+130 ^e
+130 char234
+131 ^o
+131 char244
+132 ^u
+132 char251
+133 'a
+133 char225
+134 'e
+134 char233
+135 'o
+135 char243
+136 'u
+136 char250
+137 `a
+137 char224
+138 `e
+138 char232
+139 `o
+139 char242
+140 `u
+140 char249
+141 :a
+141 char228
+142 :e
+142 char235
+143 :o
+143 char246
+144 :u
+144 char252
+145 oA
+145 char197
+146 ^i
+146 char238
+147 /O
+147 char216
+148 AE
+148 char198
+149 oa
+149 char229
+150 'i
+150 char237
+151 /o
+151 char248
+152 ae
+152 char230
+153 :A
+153 char196
+154 `i
+154 char236
+155 :O
+155 char214
+156 :U
+156 char220
+157 'E
+157 char201
+158 :i
+158 char239
+159 ss
+159 char223
+160 ^O
+160 char212
+161 'A
+161 char193
+162 ~A
+162 char195
+163 ~a
+163 char227
+164 -D
+164 char208
+165 Sd
+165 char240
+166 'I
+166 char205
+167 `I
+167 char204
+168 'O
+168 char211
+169 `O
+169 char210
+170 ~O
+170 char213
+171 ~o
+171 char245
+172 vS
+173 vs
+174 'U
+174 char218
+175 :Y
+176 :y
+176 char255
+177 TP
+177 char222
+178 Tp
+178 char254
+180 char181
+181 ps
+181 char182
+182 34
+182 char190
+183 \-
+184 14
+184 char188
+185 12
+185 char189
+186 Of
+186 char170
+187 Om
+187 char186
+188 Fo
+188 char171
+190 Fc
+190 char187
+191 char177
+192 bb
+192 char166
+193 co
+193 char169
+194 no
+194 char172
+196 rg
+196 char174
+197 S2
+197 char178
+198 S3
+198 char179
+199 ac
+199 char184
+200 S1
+200 char185
+201 char215
+202 char247
+302 char183
+310 fm
+311 sd
+312 dg
+313 tm
+315 ah
+316 ao
+324 f/
+325 em
+326 en
+327 dd
+328 .i
+329 aq
+331 bu
+406 'C
+407 'c
+1017 lq
+1018 rq
+1019 Bq
+1031 vz
+1040 fi
+1041 fl
+1042 ff
+1043 Fi
+1044 Fl
+1047 ij
+1067 bq
+1068 %0
+1084 a-
+1084 char175
+1086 ab
+1088 a.
+1090 oe
+1091 OE
+1092 fo
+1093 fc
+1094 sq
+1095 /L
+1096 /l
+1097 a"
+1098 ho
+1106 vZ
+1107 IJ
diff --git a/devlj4/generate/text.map.~1~ b/devlj4/generate/text.map.~1~
new file mode 100644
index 000000000..600745675
--- /dev/null
+++ b/devlj4/generate/text.map.~1~
@@ -0,0 +1,340 @@
+1 !
+2 "
+3 #
+3 sh
+4 $
+4 Do
+5 %
+6 &
+8 '
+9 (
+10 )
+11 *
+12 +
+13 ,
+14 -
+14 hy
+14 char173
+15 .
+16 /
+16 sl
+17 0
+18 1
+19 2
+20 3
+21 4
+22 5
+23 6
+24 7
+25 8
+26 9
+27 :
+28 ;
+29 <
+30 =
+31 >
+32 ?
+33 @
+33 at
+34 A
+35 B
+36 C
+37 D
+38 E
+39 F
+40 G
+41 H
+42 I
+43 J
+44 K
+45 L
+46 M
+47 N
+48 O
+49 P
+50 Q
+51 R
+52 S
+53 T
+54 U
+55 V
+56 W
+57 X
+58 Y
+59 Z
+60 [
+60 lB
+61 \
+61 rs
+62 ]
+62 rB
+63 ha
+64 _
+66 `
+66 oq
+67 a
+68 b
+69 c
+70 d
+71 e
+72 f
+73 g
+74 h
+75 i
+76 j
+77 k
+78 l
+79 m
+80 n
+81 o
+82 p
+83 q
+84 r
+85 s
+86 t
+87 u
+88 v
+89 w
+90 x
+91 y
+92 z
+93 {
+93 lC
+94 |
+94 ba
+95 }
+95 rC
+96 ti
+99 `A
+99 char192
+100 ^A
+100 char194
+101 `E
+101 char200
+102 ^E
+102 char202
+103 :E
+103 char203
+104 ^I
+104 char206
+105 :I
+105 char207
+106 aa
+106 char180
+107 ga
+108 ^
+108 a^
+109 ad
+109 char168
+110 ~
+110 a~
+111 `U
+111 char217
+112 ^U
+112 char219
+114 'Y
+114 char221
+115 'y
+115 char253
+116 de
+116 char176
+117 ,C
+117 char199
+118 ,c
+118 char231
+119 ~N
+119 char209
+120 ~n
+120 char241
+121 r!
+121 char161
+122 r?
+122 char191
+123 Cs
+123 char164
+124 Po
+124 char163
+125 Ye
+125 char165
+126 sc
+126 char167
+127 Fn
+128 ct
+128 char162
+129 ^a
+129 char226
+130 ^e
+130 char234
+131 ^o
+131 char244
+132 ^u
+132 char251
+133 'a
+133 char225
+134 'e
+134 char233
+135 'o
+135 char243
+136 'u
+136 char250
+137 `a
+137 char224
+138 `e
+138 char232
+139 `o
+139 char242
+140 `u
+140 char249
+141 :a
+141 char228
+142 :e
+142 char235
+143 :o
+143 char246
+144 :u
+144 char252
+145 oA
+145 char197
+146 ^i
+146 char238
+147 /O
+147 char216
+148 AE
+148 char198
+149 oa
+149 char229
+150 'i
+150 char237
+151 /o
+151 char248
+152 ae
+152 char230
+153 :A
+153 char196
+154 `i
+154 char236
+155 :O
+155 char214
+156 :U
+156 char220
+157 'E
+157 char201
+158 :i
+158 char239
+159 ss
+159 char223
+160 ^O
+160 char212
+161 'A
+161 char193
+162 ~A
+162 char195
+163 ~a
+163 char227
+164 -D
+164 char208
+165 Sd
+165 char240
+166 'I
+166 char205
+167 `I
+167 char204
+168 'O
+168 char211
+169 `O
+169 char210
+170 ~O
+170 char213
+171 ~o
+171 char245
+172 vS
+173 vs
+174 'U
+174 char218
+175 :Y
+176 :y
+176 char255
+177 TP
+177 char222
+178 Tp
+178 char254
+180 char181
+181 ps
+181 char182
+182 34
+182 char190
+183 \-
+184 14
+184 char188
+185 12
+185 char189
+186 Of
+186 char170
+187 Om
+187 char186
+188 Fo
+188 char171
+190 Fc
+190 char187
+191 char177
+192 bb
+192 char166
+193 co
+193 char169
+194 no
+194 char172
+196 rg
+196 char174
+197 S2
+197 char178
+198 S3
+198 char179
+199 ac
+199 char184
+200 S1
+200 char185
+201 char215
+202 char247
+302 char183
+310 fm
+311 sd
+312 dg
+313 tm
+315 ah
+316 ao
+324 f/
+325 em
+326 en
+327 dd
+328 .i
+329 aq
+331 bu
+406 'C
+407 'c
+1017 lq
+1018 rq
+1019 Bq
+1031 vz
+1040 fi
+1041 fl
+1042 ff
+1043 Fi
+1044 Fl
+1047 ij
+1067 bq
+1068 %0
+1084 a-
+1084 char175
+1086 ab
+1088 a.
+1090 oe
+1091 OE
+1092 fo
+1093 fc
+1094 sq
+1095 /L
+1096 /l
+1097 a"
+1098 ho
+1106 vZ
+1107 IJ
diff --git a/devps/S b/devps/S
index 2a4c0e725..56fbaaa7a 100644
--- a/devps/S
+++ b/devps/S
@@ -146,7 +146,7 @@ di "
~= "
--- 1000,95,17 3 0274 ellipsis
arrowvertex 603,1010,120 3 0275 arrowvertex
---- 1000,276 3 0276 arrowhorizex
+an 1000,276 3 0276 arrowhorizex
CR 658,629,16 3 0277 carriagereturn
Ah 823,658,18 3 0300 aleph
Im 686,740,53 3 0301 Ifraktur
@@ -159,7 +159,7 @@ ca 768,509 3 0307 intersection
cu 768,492,17 3 0310 union
sp 713,470 3 0311 propersuperset
ip 713,470,125 3 0312 reflexsuperset
---- 713,540,70 3 0313 notsubset
+nb 713,540,70 3 0313 notsubset
sb 713,470 3 0314 propersubset
ib 713,470,125 3 0315 reflexsubset
mo 713,468 3 0316 element
diff --git a/devps/generate/Makefile b/devps/generate/Makefile
index 3382cc60a..f62c29296 100644
--- a/devps/generate/Makefile
+++ b/devps/generate/Makefile
@@ -15,7 +15,7 @@
#
#You should have received a copy of the GNU General Public License along
#with groff; see the file COPYING. If not, write to the Free Software
-#Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# This is set up so you can do
# make -f generate/Makefile
diff --git a/devps/generate/textmap b/devps/generate/textmap
index a4b51a3ec..bcf3ad7b8 100644
--- a/devps/generate/textmap
+++ b/devps/generate/textmap
@@ -224,6 +224,7 @@ notelement nm
notequal !=
notequivalence ne
notpropersuperset nc
+notsubset nb
ntilde ~n
numbersign #
numbersign sh
diff --git a/devps/prologue.ps b/devps/prologue.ps
index 3c238bcbf..b7bad1c5b 100644
--- a/devps/prologue.ps
+++ b/devps/prologue.ps
@@ -57,6 +57,13 @@
/PL 0 def
/LS 0 def
+% Enable manual feed.
+% MANUAL -
+
+/MANUAL {
+ statusdict begin /manualfeed true store end
+} bind def
+
% Guess the page length.
% This assumes that the imageable area is vertically centered on the page.
% PLG - length
diff --git a/devps/psstrip.sed b/devps/psstrip.sed
index 8c9e90cb6..3e61775af 100644
--- a/devps/psstrip.sed
+++ b/devps/psstrip.sed
@@ -1,6 +1,7 @@
/^%[%!]/b
+s/%.*//
s/^[ ][ ]*//
s/[ ][ ]*$//
-s/%.*//
/^$/d
-s|[ ]*\([][}{/]\)[ ]*|\1|g
+s|[ ]*\([][}{/]\)|\1|g
+s|\([][}{/]\)[ ]*|\1|g
diff --git a/devps/symbolmap b/devps/symbolmap
index 63e9c06ad..82827c89f 100644
--- a/devps/symbolmap
+++ b/devps/symbolmap
@@ -224,6 +224,7 @@ notelement nm
notequal !=
notequivalence ne
notpropersuperset nc
+notsubset nb
ntilde ~n
numbersign #
numbersign sh
@@ -430,7 +431,7 @@ bracketrighttp bracketrighttp
bracketrightbt bracketrightbt
bracketrightex bracketrightex
radical sr
-radicalex rn
+radicalex radicalex
approxequal ~=
bracketlefttp lc
bracketleftbt lf
@@ -446,6 +447,7 @@ bracerightbt rb
summation sum
product product
arrowvertex arrowvertex
+arrowhorizex an
plus pl
minus mi
plusminus +-
diff --git a/doc/Makefile b/doc/Makefile
index 0d4088dec..563f0be77 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -15,7 +15,7 @@
#
#You should have received a copy of the GNU General Public License along
#with groff; see the file COPYING. If not, write to the Free Software
-#Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
FFLAG=-F..
TROFF=../troff/troff -M../tmac $(FFLAG)
diff --git a/eqn/Makefile.dep b/eqn/Makefile.dep
index 4fccfeec5..2e0e9f158 100644
--- a/eqn/Makefile.dep
+++ b/eqn/Makefile.dep
@@ -1,31 +1,31 @@
-main.o : main.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h ../include/stringclass.h \
- ../include/device.h ../include/searchpath.h ../include/macropath.h
-lex.o : lex.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h eqn.cc \
- ../include/stringclass.h ../include/ptable.h
-box.o : box.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-limit.o : limit.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-list.o : list.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-over.o : over.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-text.o : text.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h ../include/ptable.h
-script.o : script.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-mark.o : mark.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-other.o : other.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-delim.o : delim.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-sqrt.o : sqrt.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-pile.o : pile.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-special.o : special.cc eqn.h ../include/cset.h ../include/errarg.h \
- ../include/error.h ../include/lib.h box.h pbox.h
-eqn.o : eqn.cc ../include/lib.h box.h
+main.o: main.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h ../include/stringclass.h \
+ ../include/device.h ../include/searchpath.h ../include/macropath.h
+lex.o: lex.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h eqn.cc \
+ ../include/stringclass.h ../include/ptable.h
+box.o: box.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+limit.o: limit.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+list.o: list.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+over.o: over.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+text.o: text.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h ../include/ptable.h
+script.o: script.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+mark.o: mark.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+other.o: other.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+delim.o: delim.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+sqrt.o: sqrt.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+pile.o: pile.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+special.o: special.cc eqn.h ../include/cset.h ../include/errarg.h \
+ ../include/error.h ../include/lib.h box.h pbox.h
+eqn.o: eqn.cc ../include/lib.h box.h
diff --git a/eqn/TODO b/eqn/TODO
index 81793575b..210d0ab06 100644
--- a/eqn/TODO
+++ b/eqn/TODO
@@ -39,3 +39,11 @@ Smash.
Provide a variant of vec that extends over the length of the accentee.
Support vertical arrow delimiters.
+
+Make the following work:
+.EQ
+delim @@
+.EN
+.EQ @<-@
+some equation
+.EN
diff --git a/eqn/box.cc b/eqn/box.cc
index 3a17cdf45..e0ae1c0b6 100644
--- a/eqn/box.cc
+++ b/eqn/box.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/eqn/box.h b/eqn/box.h
index a6da83eca..01bfe96a4 100644
--- a/eqn/box.h
+++ b/eqn/box.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct list_box;
diff --git a/eqn/delim.cc b/eqn/delim.cc
index 4fc4d5050..29deded38 100644
--- a/eqn/delim.cc
+++ b/eqn/delim.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
@@ -276,7 +276,8 @@ static void define_extensible_string(char *delim, int uid,
printf(".ds " DELIM_STRING "\n");
delimiter *d = delim_table;
int delim_len = strlen(delim);
- for (int i = 0; i < DELIM_TABLE_SIZE; i++, d++)
+ int i;
+ for (i = 0; i < DELIM_TABLE_SIZE; i++, d++)
if (strncmp(delim, d->name, delim_len) == 0
&& (left_or_right & d->flags) != 0)
break;
diff --git a/eqn/eqn.cc b/eqn/eqn.cc
index 744a7555a..1fdda6112 100644
--- a/eqn/eqn.cc
+++ b/eqn/eqn.cc
@@ -1,8 +1,27 @@
+#if defined(__STDC__) || defined(__cplusplus)
+#define YYCONST const
+#define YYPARAMS(x) x
+#define YYDEFUN(name, arglist, args) name(args)
+#define YYAND ,
+#define YYPTR void *
+#else
+#define YYCONST
+#define YYPARAMS(x) ()
+#define YYDEFUN(name, arglist, args) name arglist args;
+#define YYAND ;
+#define YYPTR char *
+#endif
#ifndef lint
-static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/90";
+YYCONST static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley +Cygnus.28) 01/20/91";
#endif
#define YYBYACC 1
-#line 20 "/u/jjc/groff/eqn/eqn.y"
+#ifndef YYDONT_INCLUDE_STDIO
+#include <stdio.h>
+#endif
+#ifdef __cplusplus
+#include <stdlib.h> /* for malloc/realloc/free */
+#endif
+#line 20 "eqn.y"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
@@ -13,7 +32,7 @@ extern int non_empty_flag;
char *strsave(const char *);
int yylex();
void yyerror(const char *);
-#line 32 "/u/jjc/groff/eqn/eqn.y"
+#line 32 "eqn.y"
typedef union {
char *str;
box *b;
@@ -22,7 +41,7 @@ typedef union {
int n;
column *col;
} YYSTYPE;
-#line 26 "y.tab.c"
+#line 45 "y.tab.c"
#define OVER 257
#define SMALLOVER 258
#define SQRT 259
@@ -82,7 +101,7 @@ typedef union {
#define GRFONT 313
#define GBFONT 314
#define YYERRCODE 256
-short yylhs[] = { -1,
+static YYCONST short yylhs[] = { -1,
0, 0, 6, 6, 1, 1, 1, 2, 2, 2,
2, 2, 3, 3, 3, 3, 4, 4, 7, 7,
7, 5, 5, 5, 5, 5, 5, 5, 5, 5,
@@ -92,7 +111,7 @@ short yylhs[] = { -1,
13, 16, 16, 15, 15, 14, 14, 14, 14, 9,
9, 10, 10, 10,
};
-short yylen[] = { 2,
+static YYCONST short yylen[] = { 2,
0, 1, 1, 2, 1, 2, 2, 1, 3, 3,
5, 5, 1, 2, 3, 3, 1, 3, 1, 3,
5, 1, 1, 2, 2, 1, 1, 1, 3, 2,
@@ -102,7 +121,7 @@ short yylen[] = { 2,
2, 1, 3, 3, 4, 2, 2, 2, 2, 1,
1, 1, 1, 1,
};
-short yydefred[] = { 0,
+static YYCONST short yydefred[] = { 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 22, 23, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 26, 27, 28, 0,
@@ -118,11 +137,11 @@ short yydefred[] = { 0,
69, 34, 61, 0, 0, 0, 0, 59, 35, 0,
0, 0, 11, 12, 21, 0, 64, 0, 0, 65,
};
-short yydgoto[] = { 31,
+static YYCONST short yydgoto[] = { 31,
32, 33, 34, 35, 36, 84, 38, 43, 44, 52,
85, 45, 98, 99, 118, 131,
};
-short yysindex[] = { 1488,
+static YYCONST short yysindex[] = { 1488,
1527, -120, -120, -120, -120, -123, -249, -249, 1566, 1566,
1566, 1566, 0, 0, -249, -249, -249, -249, -115, 1488,
1488, -249, 1566, -256, -251, -249, 0, 0, 0, 1488,
@@ -138,7 +157,7 @@ short yysindex[] = { 1488,
0, 0, 0, 1527, 1527, 1566, 1488, 0, 0, 1488,
-105, 1488, 0, 0, 0, 1488, 0, -104, 1488, 0,
};
-short yyrindex[] = { 41,
+static YYCONST short yyrindex[] = { 41,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -154,12 +173,12 @@ short yyrindex[] = { 41,
0, 0, 0, 0, 0, 0, -102, 0, 0, -101,
0, 0, 0, 0, 0, 0, 0, 0, -99, 0,
};
-short yygindex[] = { 0,
+static YYCONST short yygindex[] = { 0,
-7, -69, 3, -66, 458, 9, -26, 52, 27, -63,
-32, 54, 0, -35, 2, -59,
};
#define YYTABLESIZE 1865
-short yytable[] = { 49,
+static YYCONST short yytable[] = { 49,
8, 50, 42, 39, 105, 116, 122, 63, 37, 8,
109, 113, 64, 65, 94, 95, 96, 97, 128, 137,
140, 56, 57, 62, 68, 63, 76, 77, 69, 83,
@@ -348,7 +367,7 @@ short yytable[] = { 49,
18, 19, 0, 0, 0, 0, 0, 0, 22, 23,
0, 24, 25, 0, 26,
};
-short yycheck[] = { 123,
+static YYCONST short yycheck[] = { 123,
0, 125, 123, 1, 74, 123, 125, 123, 0, 9,
77, 125, 20, 21, 287, 288, 289, 290, 125, 125,
125, 125, 125, 125, 281, 125, 260, 261, 280, 37,
@@ -543,7 +562,7 @@ short yycheck[] = { 123,
#endif
#define YYMAXTOKEN 314
#if YYDEBUG
-char *yyname[] = {
+static YYCONST char *YYCONST yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,"'\\t'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -558,7 +577,7 @@ char *yyname[] = {
"UACCENT","SPECIAL","SPACE","GFONT","GSIZE","DEFINE","NDEFINE","TDEFINE",
"SDEFINE","UNDEF","IFDEF","INCLUDE","DELIM","CHARTYPE","SET","GRFONT","GBFONT",
};
-char *yyrule[] = {
+static YYCONST char *YYCONST yyrule[] = {
"$accept : top",
"top :",
"top : equation",
@@ -636,41 +655,58 @@ char *yyrule[] = {
"delim : '}'",
};
#endif
-#define yyclearin (yychar=(-1))
+#define YYLEX yylex()
+#define YYEMPTY -1
+#define yyclearin (yychar=(YYEMPTY))
#define yyerrok (yyerrflag=0)
+#ifndef YYINITDEPTH
+#define YYINITDEPTH 200
+#endif
#ifdef YYSTACKSIZE
-#ifndef YYMAXDEPTH
+#undef YYMAXDEPTH
#define YYMAXDEPTH YYSTACKSIZE
-#endif
#else
#ifdef YYMAXDEPTH
#define YYSTACKSIZE YYMAXDEPTH
#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
+#define YYSTACKSIZE 10000
+#define YYMAXDEPTH 10000
#endif
#endif
int yydebug;
int yynerrs;
int yyerrflag;
int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
YYSTYPE yyval;
YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
-#define yystacksize YYSTACKSIZE
+static short *yyss;
+static YYSTYPE *yyvs;
+static int yystacksize;
+static int yygrow ();
+static YYPTR yymalloc YYPARAMS((unsigned));
+static YYPTR yyrealloc YYPARAMS((YYPTR, unsigned));
+#define yyfree(x) free(x)
#define YYABORT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
+
+#if YYDEBUG
+#ifdef __cplusplus
+extern "C" char *getenv();
+#else
+extern char *getenv();
+#endif
+#endif
+
int
yyparse()
{
register int yym, yyn, yystate;
+ register YYSTYPE *yyvsp;
+ register short *yyssp;
+ short *yysse;
#if YYDEBUG
- register char *yys;
- extern char *getenv();
+ register YYCONST char *yys;
if (yys = getenv("YYDEBUG"))
{
@@ -684,6 +720,20 @@ yyparse()
yyerrflag = 0;
yychar = (-1);
+ if (yyss == 0)
+ {
+ yyss = (short *) yymalloc (YYINITDEPTH * sizeof (short));
+ if (yyss == 0)
+ goto yyabort;
+ yyvs = (YYSTYPE *) yymalloc (YYINITDEPTH * sizeof (YYSTYPE));
+ if (yyvs == 0)
+ {
+ yyfree (yyss);
+ goto yyabort;
+ }
+ yystacksize = YYINITDEPTH;
+ }
+ yysse = yyss + yystacksize - 1;
yyssp = yyss;
yyvsp = yyvs;
*yyssp = yystate = 0;
@@ -712,9 +762,15 @@ yyloop:
printf("yydebug: state %d, shifting to state %d\n",
yystate, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ /* FIXME: Rework so there's only one of these. */
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
@@ -753,9 +809,14 @@ yyinrecovery:
printf("yydebug: state %d, error recovery shifting\
to state %d\n", *yyssp, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
@@ -801,15 +862,15 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 126 "/u/jjc/groff/eqn/eqn.y"
+#line 126 "eqn.y"
{ yyvsp[0].b->top_level(); non_empty_flag = 1; }
break;
case 3:
-#line 131 "/u/jjc/groff/eqn/eqn.y"
+#line 131 "eqn.y"
{ yyval.b = yyvsp[0].b; }
break;
case 4:
-#line 133 "/u/jjc/groff/eqn/eqn.y"
+#line 133 "eqn.y"
{
list_box *lb = yyvsp[-1].b->to_list_box();
if (!lb)
@@ -819,207 +880,207 @@ case 4:
}
break;
case 5:
-#line 144 "/u/jjc/groff/eqn/eqn.y"
+#line 144 "eqn.y"
{ yyval.b = yyvsp[0].b; }
break;
case 6:
-#line 146 "/u/jjc/groff/eqn/eqn.y"
+#line 146 "eqn.y"
{ yyval.b = make_mark_box(yyvsp[0].b); }
break;
case 7:
-#line 148 "/u/jjc/groff/eqn/eqn.y"
+#line 148 "eqn.y"
{ yyval.b = make_lineup_box(yyvsp[0].b); }
break;
case 8:
-#line 153 "/u/jjc/groff/eqn/eqn.y"
+#line 153 "eqn.y"
{ yyval.b = yyvsp[0].b; }
break;
case 9:
-#line 155 "/u/jjc/groff/eqn/eqn.y"
+#line 155 "eqn.y"
{ yyval.b = make_limit_box(yyvsp[-2].b, 0, yyvsp[0].b); }
break;
case 10:
-#line 157 "/u/jjc/groff/eqn/eqn.y"
+#line 157 "eqn.y"
{ yyval.b = make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0); }
break;
case 11:
-#line 159 "/u/jjc/groff/eqn/eqn.y"
+#line 159 "eqn.y"
{ yyval.b = make_limit_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); }
break;
case 12:
-#line 161 "/u/jjc/groff/eqn/eqn.y"
+#line 161 "eqn.y"
{ yyval.b = make_limit_box(yyvsp[-4].b, make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0), 0); }
break;
case 13:
-#line 166 "/u/jjc/groff/eqn/eqn.y"
+#line 166 "eqn.y"
{ yyval.b = yyvsp[0].b; }
break;
case 14:
-#line 168 "/u/jjc/groff/eqn/eqn.y"
+#line 168 "eqn.y"
{ yyval.b = make_sqrt_box(yyvsp[0].b); }
break;
case 15:
-#line 170 "/u/jjc/groff/eqn/eqn.y"
+#line 170 "eqn.y"
{ yyval.b = make_over_box(yyvsp[-2].b, yyvsp[0].b); }
break;
case 16:
-#line 172 "/u/jjc/groff/eqn/eqn.y"
+#line 172 "eqn.y"
{ yyval.b = make_small_over_box(yyvsp[-2].b, yyvsp[0].b); }
break;
case 17:
-#line 177 "/u/jjc/groff/eqn/eqn.y"
+#line 177 "eqn.y"
{ yyval.b = yyvsp[0].b; }
break;
case 18:
-#line 179 "/u/jjc/groff/eqn/eqn.y"
+#line 179 "eqn.y"
{ yyval.b = make_script_box(yyvsp[-2].b, 0, yyvsp[0].b); }
break;
case 19:
-#line 184 "/u/jjc/groff/eqn/eqn.y"
+#line 184 "eqn.y"
{ yyval.b = yyvsp[0].b; }
break;
case 20:
-#line 186 "/u/jjc/groff/eqn/eqn.y"
+#line 186 "eqn.y"
{ yyval.b = make_script_box(yyvsp[-2].b, yyvsp[0].b, 0); }
break;
case 21:
-#line 188 "/u/jjc/groff/eqn/eqn.y"
+#line 188 "eqn.y"
{ yyval.b = make_script_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); }
break;
case 22:
-#line 193 "/u/jjc/groff/eqn/eqn.y"
+#line 193 "eqn.y"
{ yyval.b = split_text(yyvsp[0].str); }
break;
case 23:
-#line 195 "/u/jjc/groff/eqn/eqn.y"
+#line 195 "eqn.y"
{ yyval.b = new quoted_text_box(yyvsp[0].str); }
break;
case 24:
-#line 197 "/u/jjc/groff/eqn/eqn.y"
+#line 197 "eqn.y"
{ yyval.b = split_text(yyvsp[0].str); }
break;
case 25:
-#line 199 "/u/jjc/groff/eqn/eqn.y"
+#line 199 "eqn.y"
{ yyval.b = new quoted_text_box(yyvsp[0].str); }
break;
case 26:
-#line 201 "/u/jjc/groff/eqn/eqn.y"
+#line 201 "eqn.y"
{ yyval.b = new half_space_box; }
break;
case 27:
-#line 203 "/u/jjc/groff/eqn/eqn.y"
+#line 203 "eqn.y"
{ yyval.b = new space_box; }
break;
case 28:
-#line 205 "/u/jjc/groff/eqn/eqn.y"
+#line 205 "eqn.y"
{ yyval.b = new tab_box; }
break;
case 29:
-#line 207 "/u/jjc/groff/eqn/eqn.y"
+#line 207 "eqn.y"
{ yyval.b = yyvsp[-1].b; }
break;
case 30:
-#line 209 "/u/jjc/groff/eqn/eqn.y"
+#line 209 "eqn.y"
{ yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; }
break;
case 31:
-#line 211 "/u/jjc/groff/eqn/eqn.y"
+#line 211 "eqn.y"
{ yyvsp[0].pb->set_alignment(LEFT_ALIGN); yyval.b = yyvsp[0].pb; }
break;
case 32:
-#line 213 "/u/jjc/groff/eqn/eqn.y"
+#line 213 "eqn.y"
{ yyvsp[0].pb->set_alignment(RIGHT_ALIGN); yyval.b = yyvsp[0].pb; }
break;
case 33:
-#line 215 "/u/jjc/groff/eqn/eqn.y"
+#line 215 "eqn.y"
{ yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; }
break;
case 34:
-#line 217 "/u/jjc/groff/eqn/eqn.y"
+#line 217 "eqn.y"
{ yyval.b = yyvsp[-1].mb; }
break;
case 35:
-#line 219 "/u/jjc/groff/eqn/eqn.y"
+#line 219 "eqn.y"
{ yyval.b = make_delim_box(yyvsp[-3].str, yyvsp[-2].b, yyvsp[0].str); }
break;
case 36:
-#line 221 "/u/jjc/groff/eqn/eqn.y"
+#line 221 "eqn.y"
{ yyval.b = make_delim_box(yyvsp[-1].str, yyvsp[0].b, 0); }
break;
case 37:
-#line 223 "/u/jjc/groff/eqn/eqn.y"
+#line 223 "eqn.y"
{ yyval.b = make_overline_box(yyvsp[-1].b); }
break;
case 38:
-#line 225 "/u/jjc/groff/eqn/eqn.y"
+#line 225 "eqn.y"
{ yyval.b = make_underline_box(yyvsp[-1].b); }
break;
case 39:
-#line 227 "/u/jjc/groff/eqn/eqn.y"
+#line 227 "eqn.y"
{ yyval.b = make_prime_box(yyvsp[-1].b); }
break;
case 40:
-#line 229 "/u/jjc/groff/eqn/eqn.y"
+#line 229 "eqn.y"
{ yyval.b = make_accent_box(yyvsp[-2].b, yyvsp[0].b); }
break;
case 41:
-#line 231 "/u/jjc/groff/eqn/eqn.y"
+#line 231 "eqn.y"
{ yyval.b = make_uaccent_box(yyvsp[-2].b, yyvsp[0].b); }
break;
case 42:
-#line 233 "/u/jjc/groff/eqn/eqn.y"
+#line 233 "eqn.y"
{ yyval.b = new font_box(strsave(get_grfont()), yyvsp[0].b); }
break;
case 43:
-#line 235 "/u/jjc/groff/eqn/eqn.y"
+#line 235 "eqn.y"
{ yyval.b = new font_box(strsave(get_gbfont()), yyvsp[0].b); }
break;
case 44:
-#line 237 "/u/jjc/groff/eqn/eqn.y"
+#line 237 "eqn.y"
{ yyval.b = new font_box(strsave(get_gfont()), yyvsp[0].b); }
break;
case 45:
-#line 239 "/u/jjc/groff/eqn/eqn.y"
+#line 239 "eqn.y"
{ yyval.b = new fat_box(yyvsp[0].b); }
break;
case 46:
-#line 241 "/u/jjc/groff/eqn/eqn.y"
+#line 241 "eqn.y"
{ yyval.b = new font_box(yyvsp[-1].str, yyvsp[0].b); }
break;
case 47:
-#line 243 "/u/jjc/groff/eqn/eqn.y"
+#line 243 "eqn.y"
{ yyval.b = new size_box(yyvsp[-1].str, yyvsp[0].b); }
break;
case 48:
-#line 245 "/u/jjc/groff/eqn/eqn.y"
+#line 245 "eqn.y"
{ yyval.b = new hmotion_box(yyvsp[-1].n, yyvsp[0].b); }
break;
case 49:
-#line 247 "/u/jjc/groff/eqn/eqn.y"
+#line 247 "eqn.y"
{ yyval.b = new hmotion_box(-yyvsp[-1].n, yyvsp[0].b); }
break;
case 50:
-#line 249 "/u/jjc/groff/eqn/eqn.y"
+#line 249 "eqn.y"
{ yyval.b = new vmotion_box(yyvsp[-1].n, yyvsp[0].b); }
break;
case 51:
-#line 251 "/u/jjc/groff/eqn/eqn.y"
+#line 251 "eqn.y"
{ yyval.b = new vmotion_box(-yyvsp[-1].n, yyvsp[0].b); }
break;
case 52:
-#line 253 "/u/jjc/groff/eqn/eqn.y"
+#line 253 "eqn.y"
{ yyvsp[0].b->set_spacing_type(yyvsp[-1].str); yyval.b = yyvsp[0].b; }
break;
case 53:
-#line 255 "/u/jjc/groff/eqn/eqn.y"
+#line 255 "eqn.y"
{ yyval.b = new vcenter_box(yyvsp[0].b); }
break;
case 54:
-#line 257 "/u/jjc/groff/eqn/eqn.y"
+#line 257 "eqn.y"
{ yyval.b = make_special_box(yyvsp[-1].str, yyvsp[0].b); }
break;
case 55:
-#line 262 "/u/jjc/groff/eqn/eqn.y"
+#line 262 "eqn.y"
{
int n;
if (sscanf(yyvsp[0].str, "%d", &n) == 1)
@@ -1028,82 +1089,82 @@ case 55:
}
break;
case 56:
-#line 272 "/u/jjc/groff/eqn/eqn.y"
+#line 272 "eqn.y"
{ yyval.pb = new pile_box(yyvsp[0].b); }
break;
case 57:
-#line 274 "/u/jjc/groff/eqn/eqn.y"
+#line 274 "eqn.y"
{ yyvsp[-2].pb->append(yyvsp[0].b); yyval.pb = yyvsp[-2].pb; }
break;
case 58:
-#line 279 "/u/jjc/groff/eqn/eqn.y"
+#line 279 "eqn.y"
{ yyval.pb = yyvsp[-1].pb; }
break;
case 59:
-#line 281 "/u/jjc/groff/eqn/eqn.y"
+#line 281 "eqn.y"
{ yyvsp[-1].pb->set_space(yyvsp[-3].n); yyval.pb = yyvsp[-1].pb; }
break;
case 60:
-#line 286 "/u/jjc/groff/eqn/eqn.y"
+#line 286 "eqn.y"
{ yyval.mb = new matrix_box(yyvsp[0].col); }
break;
case 61:
-#line 288 "/u/jjc/groff/eqn/eqn.y"
+#line 288 "eqn.y"
{ yyvsp[-1].mb->append(yyvsp[0].col); yyval.mb = yyvsp[-1].mb; }
break;
case 62:
-#line 293 "/u/jjc/groff/eqn/eqn.y"
+#line 293 "eqn.y"
{ yyval.col = new column(yyvsp[0].b); }
break;
case 63:
-#line 295 "/u/jjc/groff/eqn/eqn.y"
+#line 295 "eqn.y"
{ yyvsp[-2].col->append(yyvsp[0].b); yyval.col = yyvsp[-2].col; }
break;
case 64:
-#line 300 "/u/jjc/groff/eqn/eqn.y"
+#line 300 "eqn.y"
{ yyval.col = yyvsp[-1].col; }
break;
case 65:
-#line 302 "/u/jjc/groff/eqn/eqn.y"
+#line 302 "eqn.y"
{ yyvsp[-1].col->set_space(yyvsp[-3].n); yyval.col = yyvsp[-1].col; }
break;
case 66:
-#line 307 "/u/jjc/groff/eqn/eqn.y"
+#line 307 "eqn.y"
{ yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; }
break;
case 67:
-#line 309 "/u/jjc/groff/eqn/eqn.y"
+#line 309 "eqn.y"
{ yyvsp[0].col->set_alignment(LEFT_ALIGN); yyval.col = yyvsp[0].col; }
break;
case 68:
-#line 311 "/u/jjc/groff/eqn/eqn.y"
+#line 311 "eqn.y"
{ yyvsp[0].col->set_alignment(RIGHT_ALIGN); yyval.col = yyvsp[0].col; }
break;
case 69:
-#line 313 "/u/jjc/groff/eqn/eqn.y"
+#line 313 "eqn.y"
{ yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; }
break;
case 70:
-#line 317 "/u/jjc/groff/eqn/eqn.y"
+#line 317 "eqn.y"
{ yyval.str = yyvsp[0].str; }
break;
case 71:
-#line 319 "/u/jjc/groff/eqn/eqn.y"
+#line 319 "eqn.y"
{ yyval.str = yyvsp[0].str; }
break;
case 72:
-#line 324 "/u/jjc/groff/eqn/eqn.y"
+#line 324 "eqn.y"
{ yyval.str = yyvsp[0].str; }
break;
case 73:
-#line 326 "/u/jjc/groff/eqn/eqn.y"
+#line 326 "eqn.y"
{ yyval.str = strsave("{"); }
break;
case 74:
-#line 328 "/u/jjc/groff/eqn/eqn.y"
+#line 328 "eqn.y"
{ yyval.str = strsave("}"); }
break;
-#line 1107 "y.tab.c"
+#line 1168 "y.tab.c"
}
yyssp -= yym;
yystate = *yyssp;
@@ -1146,9 +1207,14 @@ break;
printf("yydebug: after reduction, shifting from state %d \
to state %d\n", *yyssp, yystate);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate;
*++yyvsp = yyval;
@@ -1160,3 +1226,52 @@ yyabort:
yyaccept:
return (0);
}
+
+static int
+yygrow ()
+{
+ int old_stacksize = yystacksize;
+ short *new_yyss;
+ YYSTYPE *new_yyvs;
+
+ if (yystacksize >= YYMAXDEPTH)
+ return (1);
+ yystacksize *= 2;
+ if (yystacksize > YYMAXDEPTH)
+ yystacksize = YYMAXDEPTH;
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: growing stack size from %d to %d\n",
+ old_stacksize, yystacksize);
+#endif
+ new_yyss = (short *) yyrealloc (yyss, yystacksize * sizeof (short));
+ if (new_yyss == 0)
+ return (1);
+ new_yyvs = (YYSTYPE *) yyrealloc (yyvs, yystacksize * sizeof (YYSTYPE));
+ if (new_yyvs == 0)
+ {
+ yyfree (new_yyss);
+ return (1);
+ }
+ yyss = new_yyss;
+ yyvs = new_yyvs;
+ return (0);
+}
+
+static YYPTR
+YYDEFUN (yymalloc, (bytes), unsigned bytes)
+{
+ YYPTR ptr = (YYPTR) malloc (bytes);
+ if (ptr != 0) return (ptr);
+ yyerror ("yyparse: memory exhausted");
+ return (0);
+}
+
+static YYPTR
+YYDEFUN (yyrealloc, (old, bytes), YYPTR old YYAND unsigned bytes)
+{
+ YYPTR ptr = (YYPTR) realloc (old, bytes);
+ if (ptr != 0) return (ptr);
+ yyerror ("yyparse: memory exhausted");
+ return (0);
+}
diff --git a/eqn/eqn.h b/eqn/eqn.h
index e854a6be2..70b19271c 100644
--- a/eqn/eqn.h
+++ b/eqn/eqn.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
diff --git a/eqn/eqn.man b/eqn/eqn.man
index 81b684259..8c67b911e 100644
--- a/eqn/eqn.man
+++ b/eqn/eqn.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.ie \n(.V<\n(.v .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
.el .ds tx TeX
.\" Like TP, but if specified indent is more than half
diff --git a/eqn/eqn.y b/eqn/eqn.y
index 28011fbd9..833a0f010 100644
--- a/eqn/eqn.y
+++ b/eqn/eqn.y
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
%{
#include <stdio.h>
#include <string.h>
diff --git a/eqn/lex.cc b/eqn/lex.cc
index 5537f9130..c0430bc58 100644
--- a/eqn/lex.cc
+++ b/eqn/lex.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "eqn.tab.h"
@@ -251,7 +251,8 @@ static struct {
void init_table(const char *device)
{
- for (int i = 0; i < sizeof(token_table)/sizeof(token_table[0]); i++) {
+ int i;
+ for (i = 0; i < sizeof(token_table)/sizeof(token_table[0]); i++) {
definition *def = new definition;
def->is_macro = 0;
def->tok = token_table[i].token;
@@ -472,7 +473,8 @@ argument_macro_input::argument_macro_input(const char *body, int ac,
char **av, input *x)
: input(x), argc(ac), ap(0)
{
- for (int i = 0; i < argc; i++)
+ int i;
+ for (i = 0; i < argc; i++)
argv[i] = av[i];
p = s = strsave(body);
int j = 0;
@@ -687,7 +689,8 @@ void interpolate_macro_with_args(const char *body)
{
char *argv[9];
int argc = 0;
- for (int i = 0; i < 9; i++)
+ int i;
+ for (i = 0; i < 9; i++)
argv[i] = 0;
int level = 0;
int c;
@@ -731,7 +734,9 @@ int get_token(int lookup_flag = 0)
c = get_char();
switch (c) {
case EOF:
- add_context("end of input");
+ {
+ add_context("end of input");
+ }
return 0;
case '"':
{
@@ -984,7 +989,7 @@ void do_space()
char *ptr;
long n = strtol(token_buffer.contents(), &ptr, 10);
if (n == 0 && ptr == token_buffer.contents())
- lex_error("bad argument `%1' to space command");
+ lex_error("bad argument `%1' to space command", token_buffer.contents());
else
set_space(int(n));
}
diff --git a/eqn/limit.cc b/eqn/limit.cc
index 04abced89..046885d2a 100644
--- a/eqn/limit.cc
+++ b/eqn/limit.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/eqn/list.cc b/eqn/list.cc
index 7c8d1d617..68d96db1e 100644
--- a/eqn/list.cc
+++ b/eqn/list.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
@@ -174,7 +174,8 @@ int list_box::compute_metrics(int style)
void list_box::compute_sublist_width(int n)
{
int total_spacing = 0;
- for (int i = 1; i < n + 1 && i < list.len; i++)
+ int i;
+ for (i = 1; i < n + 1 && i < list.len; i++)
total_spacing += compute_spacing(is_script, list.p[i-1]->spacing_type,
list.p[i]->spacing_type);
printf(".nr " TEMP_REG " %dM", total_spacing);
diff --git a/eqn/main.cc b/eqn/main.cc
index 534b7f86d..60a4e8dce 100644
--- a/eqn/main.cc
+++ b/eqn/main.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "stringclass.h"
diff --git a/eqn/mark.cc b/eqn/mark.cc
index fa5916d3d..99d1b75f2 100644
--- a/eqn/mark.cc
+++ b/eqn/mark.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/eqn/other.cc b/eqn/other.cc
index 5b8b9c269..3f624f95f 100644
--- a/eqn/other.cc
+++ b/eqn/other.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/eqn/over.cc b/eqn/over.cc
index 5ea0121eb..d92e6b8cb 100644
--- a/eqn/over.cc
+++ b/eqn/over.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/eqn/pbox.h b/eqn/pbox.h
index adee780cf..d1f16ac48 100644
--- a/eqn/pbox.h
+++ b/eqn/pbox.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
extern int fat_offset;
diff --git a/eqn/pile.cc b/eqn/pile.cc
index 9aa43068c..0df5241f0 100644
--- a/eqn/pile.cc
+++ b/eqn/pile.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
// piles and matrices
#include "eqn.h"
diff --git a/eqn/script.cc b/eqn/script.cc
index 3ee83ba52..7c2e6c258 100644
--- a/eqn/script.cc
+++ b/eqn/script.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/eqn/special.cc b/eqn/special.cc
index be7354365..64ee5530f 100644
--- a/eqn/special.cc
+++ b/eqn/special.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/eqn/sqrt.cc b/eqn/sqrt.cc
index 3488d0311..6109ffeaf 100644
--- a/eqn/sqrt.cc
+++ b/eqn/sqrt.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/eqn/text.cc b/eqn/text.cc
index ee6618f8c..a236e9a97 100644
--- a/eqn/text.cc
+++ b/eqn/text.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "eqn.h"
#include "pbox.h"
diff --git a/grodvi/Makefile.dep b/grodvi/Makefile.dep
index 6f9489e31..d9a8734ac 100644
--- a/grodvi/Makefile.dep
+++ b/grodvi/Makefile.dep
@@ -1,2 +1,3 @@
-dvi.o : dvi.cc ../include/driver.h ../include/errarg.h ../include/error.h \
- ../include/font.h ../include/printer.h ../include/lib.h
+dvi.o: dvi.cc ../include/driver.h ../include/errarg.h \
+ ../include/error.h ../include/font.h ../include/printer.h \
+ ../include/lib.h
diff --git a/grodvi/dvi.cc b/grodvi/dvi.cc
index 6064143de..50fb8bfc4 100644
--- a/grodvi/dvi.cc
+++ b/grodvi/dvi.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "driver.h"
@@ -305,7 +305,8 @@ void dvi_printer::set_char(int index, font *f, const environment *env, int w)
if (env->size != cur_point_size || f != cur_font) {
cur_font = f;
cur_point_size = env->size;
- for (int i = 0;; i++) {
+ int i;
+ for (i = 0;; i++) {
if (i >= FONTS_MAX) {
fatal("too many output fonts required");
}
diff --git a/grodvi/grodvi.man b/grodvi/grodvi.man
index f51f3e7a8..aeb894cd4 100644
--- a/grodvi/grodvi.man
+++ b/grodvi/grodvi.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
.el .ds tx TeX
.\" Like TP, but if specified indent is more than half
diff --git a/groff/Makefile.dep b/groff/Makefile.dep
index e333ea276..61fd92d45 100644
--- a/groff/Makefile.dep
+++ b/groff/Makefile.dep
@@ -1,4 +1,5 @@
-groff.o : groff.cc ../include/lib.h ../include/assert.h ../include/errarg.h \
- ../include/error.h ../include/stringclass.h ../include/cset.h \
- ../include/font.h ../include/device.h pipeline.h ../include/defs.h
-pipeline.o : pipeline.c pipeline.h
+groff.o: groff.cc ../include/lib.h ../include/assert.h \
+ ../include/errarg.h ../include/error.h ../include/stringclass.h \
+ ../include/cset.h ../include/font.h ../include/device.h pipeline.h \
+ ../include/defs.h
+pipeline.o: pipeline.c pipeline.h
diff --git a/groff/groff.cc b/groff/groff.cc
index 8ef9262ba..d4bb8033a 100644
--- a/groff/groff.cc
+++ b/groff/groff.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
// A front end for groff.
@@ -74,6 +74,7 @@ public:
void set_name(const char *, const char *);
const char *get_name();
void append_arg(const char *, const char * = 0);
+ void insert_arg(const char *);
void clear_args();
char **get_argv();
void print(int is_last, FILE *fp);
@@ -90,7 +91,7 @@ void print_commands();
void append_arg_to_string(const char *arg, string &str);
void handle_unknown_desc_command(const char *command, const char *arg,
const char *filename, int lineno);
-const char *basename(const char *);
+const char *xbasename(const char *);
void usage();
void help();
@@ -112,7 +113,7 @@ int main(int argc, char **argv)
command_prefix = PROG_PREFIX;
commands[TROFF_INDEX].set_name(command_prefix, "troff");
while ((opt = getopt(argc, argv,
- "itpeRszavVhblCENXZF:m:T:f:w:W:M:d:r:n:o:P:L:"))
+ "itpeRsSzavVhblCENXZF:m:T:f:w:W:M:d:r:n:o:P:L:"))
!= EOF) {
char buf[3];
buf[0] = '-';
@@ -168,6 +169,10 @@ int main(int argc, char **argv)
case 'b':
commands[TROFF_INDEX].append_arg(buf);
break;
+ case 'S':
+ commands[PIC_INDEX].append_arg(buf);
+ commands[TROFF_INDEX].insert_arg("-msafer");
+ break;
case 'T':
if (strcmp(optarg, "Xps") == 0) {
warning("-TXps option is obsolete: use -X -Tps instead");
@@ -231,7 +236,7 @@ int main(int argc, char **argv)
}
if (driver)
commands[POST_INDEX].set_name(driver);
- int gxditview_flag = driver && strcmp(basename(driver), GXDITVIEW) == 0;
+ int gxditview_flag = driver && strcmp(xbasename(driver), GXDITVIEW) == 0;
if (gxditview_flag && argc - optind == 1) {
commands[POST_INDEX].append_arg("-title");
commands[POST_INDEX].append_arg(argv[optind]);
@@ -279,7 +284,8 @@ int main(int argc, char **argv)
commands[TROFF_INDEX].append_arg("-T", device);
commands[EQN_INDEX].append_arg("-T", device);
- for (int first_index = 0; first_index < TROFF_INDEX; first_index++)
+ int first_index;
+ for (first_index = 0; first_index < TROFF_INDEX; first_index++)
if (commands[first_index].get_name() != 0)
break;
if (optind < argc) {
@@ -310,7 +316,7 @@ int main(int argc, char **argv)
return run_commands();
}
-const char *basename(const char *s)
+const char *xbasename(const char *s)
{
if (!s)
return 0;
@@ -347,7 +353,8 @@ void handle_unknown_desc_command(const char *command, const char *arg,
void print_commands()
{
- for (int last = SPOOL_INDEX; last >= 0; last--)
+ int last;
+ for (last = SPOOL_INDEX; last >= 0; last--)
if (commands[last].get_name() != 0)
break;
for (int i = 0; i <= last; i++)
@@ -410,6 +417,14 @@ void possible_command::append_arg(const char *s, const char *t)
args += '\0';
}
+void possible_command::insert_arg(const char *s)
+{
+ string str(s);
+ str += '\0';
+ str += args;
+ args = str;
+}
+
void possible_command::build_argv()
{
if (argv)
@@ -461,7 +476,8 @@ void append_arg_to_string(const char *arg, string &str)
str += ' ';
int needs_quoting = 0;
int contains_single_quote = 0;
- for (const char *p = arg; *p != '\0'; p++)
+ const char*p;
+ for (p = arg; *p != '\0'; p++)
switch (*p) {
case ';':
case '&':
@@ -518,7 +534,7 @@ char **possible_command::get_argv()
void synopsis()
{
fprintf(stderr,
-"usage: %s [-abehilpstvzCENRVXZ] [-Fdir] [-mname] [-Tdev] [-ffam] [-wname]\n"
+"usage: %s [-abehilpstvzCENRSVXZ] [-Fdir] [-mname] [-Tdev] [-ffam] [-wname]\n"
" [-Wname] [ -Mdir] [-dcs] [-rcn] [-nnum] [-olist] [-Parg] [-Larg]\n"
" [files...]\n",
program_name);
@@ -559,6 +575,7 @@ void help()
"-Parg\tpass arg to the postprocessor\n"
"-Larg\tpass arg to the spooler\n"
"-N\tdon't allow newlines within eqn delimiters\n"
+"-S\tenable safer mode\n"
"\n",
stderr);
exit(0);
diff --git a/groff/groff.man b/groff/groff.man
index a1a337ac0..f47618106 100644
--- a/groff/groff.man
+++ b/groff/groff.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.de TQ
.br
.ns
@@ -16,7 +33,7 @@ groff \- front end for the groff document formatting system
.SH SYNOPSIS
.B groff
[
-.B \-tpeszaivhblCENRVXZ
+.B \-tpeszaivhblCENRSVXZ
]
[
.BI \-w name
@@ -204,6 +221,18 @@ The default device is
Preview with
.B gxditview
instead of using the usual postprocessor.
+.B Groff
+passes
+.B gxditview
+a
+.B -printCommand
+option which will make the
+.B Print
+action do what
+.B groff
+would have done if the
+.B -l
+option had been given.
This is unlikely to produce good results except with
.BR \-Tps .
.TP
@@ -214,6 +243,16 @@ This is the same as the
option in
.BR @g@eqn .
.TP
+.B \-S
+Safer mode. Pass the
+.B \-S
+option to
+.B @g@pic
+and use the
+.B \%\-msafer
+macros with
+.BR @g@troff .
+.TP
.B \-a
.TQ
.B \-b
@@ -338,7 +377,7 @@ for more details.
.LP
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.SH AVAILABILITY
The most recent released version of groff is always available for
anonymous ftp from prep.ai.mit.edu (18.71.0.38) in the directory
@@ -358,5 +397,6 @@ pub/gnu.
.BR groff_font (@MAN5EXT@),
.BR groff_out (@MAN5EXT@),
.BR groff_ms (@MAN7EXT@),
-.BR groff_me (@MAN7EXT@),
-.BR groff_char (@MAN7EXT@)
+.BR me (@MAN7EXT@),
+.BR groff_char (@MAN7EXT@),
+.BR msafer (@MAN7EXT@)
diff --git a/groff/pipeline.c b/groff/pipeline.c
index 1203638b3..9f444d014 100644
--- a/groff/pipeline.c
+++ b/groff/pipeline.c
@@ -15,15 +15,14 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/*
Compile options are:
-DWCOREFLAG=0200 (or whatever)
--DHAVE_VFORK_H
--Dvfork=fork
-DHAVE_SYS_SIGLIST
+-DSYS_SIGLIST_DECLARED
-DHAVE_UNISTD_H
*/
@@ -34,9 +33,6 @@ Compile options are:
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
-#ifdef HAVE_VFORK_H
-#include <vfork.h>
-#endif
#ifndef errno
extern int errno;
@@ -90,14 +86,15 @@ extern char *strerror();
#define P(parms) parms
#else
#define P(parms) ()
+#define const /* as nothing */
#endif
#define error c_error
-extern void error P((char *, char *, char *, char *));
-extern void c_fatal P((char *, char *, char *, char *));
+extern void error P((const char *, const char *, const char *, const char *));
+extern void c_fatal P((const char *, const char *, const char *, const char *));
-static void sys_fatal P((char *));
-static char *xstrsignal P((int));
+static void sys_fatal P((const char *));
+static const char *xstrsignal P((int));
static char *itoa P((int));
int run_pipeline(ncommands, commands)
@@ -117,7 +114,7 @@ int run_pipeline(ncommands, commands)
if (pipe(pdes) < 0)
sys_fatal("pipe");
}
- pid = vfork();
+ pid = fork();
if (pid < 0)
sys_fatal("fork");
if (pid == 0) {
@@ -214,7 +211,7 @@ int run_pipeline(ncommands, commands)
}
static void sys_fatal(s)
- char *s;
+ const char *s;
{
c_fatal("%1: %2", s, strerror(errno), (char *)0);
}
@@ -227,15 +224,16 @@ static char *itoa(n)
return buf;
}
-static char *xstrsignal(n)
+static const char *xstrsignal(n)
int n;
{
static char buf[sizeof("Signal ") + 1 + sizeof(int)*3];
-#ifdef HAVE_SYS_SIGLIST
- extern char *sys_siglist[];
+#ifdef NSIG
+#ifdef SYS_SIGLIST_DECLARED
if (n >= 0 && n < NSIG && sys_siglist[n] != 0)
return sys_siglist[n];
-#endif /* HAVE_SYS_SIGLIST */
+#endif /* SYS_SIGLIST_DECLARED */
+#endif /* NSIG */
sprintf(buf, "Signal %d", n);
return buf;
}
diff --git a/groff/pipeline.h b/groff/pipeline.h
index 032b0bba6..72c4daced 100644
--- a/groff/pipeline.h
+++ b/groff/pipeline.h
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef __cplusplus
extern "C" {
diff --git a/grog/grog.man b/grog/grog.man
index 82641654e..8e9265730 100644
--- a/grog/grog.man
+++ b/grog/grog.man
@@ -1,3 +1,21 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH GROG @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
grog \- guess options for groff command
diff --git a/grog/grog.sh b/grog/grog.sh
index 755c891ce..631b356aa 100644
--- a/grog/grog.sh
+++ b/grog/grog.sh
@@ -74,5 +74,5 @@ END {
printf "%s", opts
if (files != "")
printf " %s", files
- print
+ print ""
}' "opts=$opts" "files=$*" -
diff --git a/grolj4/Makefile.dep b/grolj4/Makefile.dep
new file mode 100644
index 000000000..3fa1d22f8
--- /dev/null
+++ b/grolj4/Makefile.dep
@@ -0,0 +1,3 @@
+lj4.o: lj4.cc ../include/driver.h ../include/errarg.h \
+ ../include/error.h ../include/font.h ../include/printer.h \
+ ../include/lib.h
diff --git a/grolj4/Makefile.sub b/grolj4/Makefile.sub
new file mode 100644
index 000000000..83b571275
--- /dev/null
+++ b/grolj4/Makefile.sub
@@ -0,0 +1,6 @@
+PROG=grolj4
+MAN1=grolj4.n
+XLIBS=$(LIBDRIVER) $(LIBGROFF)
+MLIB=$(LIBM)
+OBJS=lj4.o
+CCSRCS=lj4.cc
diff --git a/grolj4/grolj4.man b/grolj4/grolj4.man
new file mode 100644
index 000000000..d4b35617f
--- /dev/null
+++ b/grolj4/grolj4.man
@@ -0,0 +1,109 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH GROLJ4 @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
+.SH NAME
+grolj4 \- groff driver for HP Laserjet 4 family
+.SH SYNOPSIS
+.B grolj4
+[
+.B \-lv
+] [
+.BI \-c n
+] [
+.BI \-p paper_size
+] [
+.BI \-w n
+] [
+.BI \-F dir
+] [
+.IR files \|.\|.\|.
+]
+.SH DESCRIPTION
+.B grolj4
+is a driver for
+.B groff
+that produces output in PCL5 format suitable for an HP Laserjet 4 printer.
+.LP
+There is an additional drawing command available:
+.TP
+.BI \eD'R\ dh\ dv '
+Draw a rule (solid black rectangle), with one corner
+at the current position, and the diagonally opposite corner
+at the current position
+.RI +( dh , dv ).
+Afterwards the current position will be at the opposite corner. This
+generates a PCL fill rectangle command, and so will work on
+printers that do not support HPGL/2 unlike the other
+.B \eD
+commands.
+.SH OPTIONS
+.TP
+.BI \-c n
+Print
+.I n
+copies of each page.
+.TP
+.B \-l
+Print the document with a landscape orientation.
+.TP
+.BI \-p size
+Set the paper size to
+.IR size ,
+which must be one of
+letter, legal, executive, a4, com10, monarch, c5, b5, dl.
+.TP
+.B \-v
+Print the version number.
+.TP
+.BI \-w n
+Set the default line thickness to
+.I n
+thousandths of an em.
+.TP
+.BI \-F dir
+Search directory
+.IB dir /devlj4
+for font and device description files.
+.SH FILES
+.TP
+.B @FONTDIR@/devlj4/DESC
+Device description file.
+.TP
+.B @FONTDIR@/devlj4/ F
+Font description file for font
+.IR F .
+.TP
+.B @MACRODIR@/tmac.lj4
+Macros for use with
+.BR grolj4 .
+.SH BUGS
+Small dots.
+.SH "SEE ALSO"
+.BR groff (@MAN1EXT@),
+.BR @g@troff (@MAN1EXT@),
+.BR @g@eqn (@MAN1EXT@),
+.BR groff_out (@MAN5EXT@),
+.BR groff_font (@MAN5EXT@),
+.BR groff_char (@MAN7EXT@),
diff --git a/grolj4/lj4.cc b/grolj4/lj4.cc
new file mode 100644
index 000000000..8856f7582
--- /dev/null
+++ b/grolj4/lj4.cc
@@ -0,0 +1,675 @@
+// -*- C++ -*-
+/* Copyright (C) 1994 Free Software Foundation, Inc.
+ Written by James Clark (jjc@jclark.com)
+
+This file is part of groff.
+
+groff is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+groff is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License along
+with groff; see the file COPYING. If not, write to the Free Software
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+/*
+TODO
+
+option to use beziers for circle/ellipse/arc
+option to use lines for spline (for LJ3)
+duplex option
+duplex short/long edge options
+left/top offset registration
+output bin selection option
+paper source option
+output non-integer parameters using fixed point numbers
+X command to insert contents of file
+X command to specify inline escape sequence (how to specify unprintable chars?)
+X command to include bitmap graphics
+*/
+
+#include "driver.h"
+
+static struct {
+ const char *name;
+ int code;
+ // at 300dpi
+ int x_offset_portrait;
+ int x_offset_landscape;
+} paper_table[] = {
+ { "letter", 2, 75, 60 },
+ { "legal", 3, 75, 60 },
+ { "executive", 1, 75, 60 },
+ { "a4", 26, 71, 59 },
+ { "com10", 81, 75, 60 },
+ { "monarch", 80, 75, 60 },
+ { "c5", 91, 71, 59 },
+ { "b5", 100, 71, 59 },
+ { "dl", 90, 71, 59 },
+};
+
+static int paper_size = -1;
+static int landscape_flag = 0;
+
+// An upper limit on the paper size in centipoints,
+// used for setting HPGL picture frame.
+#define MAX_PAPER_WIDTH (12*720)
+#define MAX_PAPER_HEIGHT (17*720)
+
+// Dotted lines that are thinner than this don't work right.
+#define MIN_DOT_PEN_WIDTH .351
+
+#ifndef DEFAULT_LINE_WIDTH_FACTOR
+// in ems/1000
+#define DEFAULT_LINE_WIDTH_FACTOR 40
+#endif
+
+const int DEFAULT_HPGL_UNITS = 1016;
+int line_width_factor = DEFAULT_LINE_WIDTH_FACTOR;
+unsigned ncopies = 0; // 0 means don't send ncopies command
+
+class lj4_font : public font {
+public:
+ ~lj4_font();
+ void handle_unknown_font_command(const char *command, const char *arg,
+ const char *filename, int lineno);
+ static lj4_font *load_lj4_font(const char *);
+ int weight;
+ int style;
+ int proportional;
+ int typeface;
+private:
+ lj4_font(const char *);
+};
+
+lj4_font::lj4_font(const char *nm)
+: font(nm), weight(0), style(0), proportional(0), typeface(0)
+{
+}
+
+lj4_font::~lj4_font()
+{
+}
+
+lj4_font *lj4_font::load_lj4_font(const char *s)
+{
+ lj4_font *f = new lj4_font(s);
+ if (!f->load()) {
+ delete f;
+ return 0;
+ }
+ return f;
+}
+
+static struct {
+ const char *s;
+ int lj4_font::*ptr;
+ int min;
+ int max;
+} command_table[] = {
+ { "pclweight", &lj4_font::weight, -7, 7 },
+ { "pclstyle", &lj4_font::style, 0, 32767 },
+ { "pclproportional", &lj4_font::proportional, 0, 1 },
+ { "pcltypeface", &lj4_font::typeface, 0, 65535 },
+};
+
+void lj4_font::handle_unknown_font_command(const char *command,
+ const char *arg,
+ const char *filename, int lineno)
+{
+ for (int i = 0; i < sizeof(command_table)/sizeof(command_table[0]); i++) {
+ if (strcmp(command, command_table[i].s) == 0) {
+ if (arg == 0)
+ fatal_with_file_and_line(filename, lineno,
+ "`%1' command requires an argument",
+ command);
+ char *ptr;
+ long n = strtol(arg, &ptr, 10);
+ if (n == 0 && ptr == arg)
+ fatal_with_file_and_line(filename, lineno,
+ "`%1' command requires numeric argument",
+ command);
+ if (n < command_table[i].min) {
+ error_with_file_and_line(filename, lineno,
+ "argument for `%1' command must not be less than %2",
+ command, command_table[i].min);
+ n = command_table[i].min;
+ }
+ else if (n > command_table[i].max) {
+ error_with_file_and_line(filename, lineno,
+ "argument for `%1' command must not be greater than %2",
+ command, command_table[i].max);
+ n = command_table[i].max;
+ }
+ this->*command_table[i].ptr = int(n);
+ break;
+ }
+ }
+}
+
+class lj4_printer : public printer {
+public:
+ lj4_printer();
+ ~lj4_printer();
+ void set_char(int, font *, const environment *, int);
+ void draw(int code, int *p, int np, const environment *env);
+ void begin_page(int);
+ void end_page(int page_length);
+ font *make_font(const char *);
+ void end_of_line();
+private:
+ void set_line_thickness(int size, int dot = 0);
+ void hpgl_init();
+ void hpgl_start();
+ void hpgl_end();
+ int moveto(int hpos, int vpos);
+ int moveto1(int hpos, int vpos);
+
+ int cur_hpos;
+ int cur_vpos;
+ lj4_font *cur_font;
+ int cur_size;
+ unsigned short cur_symbol_set;
+ int x_offset;
+ int line_thickness;
+ double pen_width;
+ double hpgl_scale;
+ int hpgl_inited;
+};
+
+inline
+int lj4_printer::moveto(int hpos, int vpos)
+{
+ if (cur_hpos != hpos || cur_vpos != vpos || cur_hpos < 0)
+ return moveto1(hpos, vpos);
+ else
+ return 1;
+}
+
+inline
+void lj4_printer::hpgl_start()
+{
+ fputs("\033%1B", stdout);
+}
+
+inline
+void lj4_printer::hpgl_end()
+{
+ fputs(";\033%0A", stdout);
+}
+
+lj4_printer::lj4_printer()
+: cur_hpos(-1),
+ cur_font(0),
+ cur_size(0),
+ cur_symbol_set(0),
+ line_thickness(-1),
+ pen_width(-1.0),
+ hpgl_inited(0)
+{
+ if (7200 % font::res != 0)
+ fatal("invalid resolution %1: resolution must be a factor of 7200",
+ font::res);
+ fputs("\033E", stdout); // reset
+ if (font::res != 300)
+ printf("\033&u%dD", font::res); // unit of measure
+ if (ncopies > 0)
+ printf("\033&l%uX", ncopies);
+ if (paper_size < 0)
+ paper_size = 0; // default to letter
+ printf("\033&l%dA" // paper size
+ "\033&l%dO" // orientation
+ "\033&l0E", // no top margin
+ paper_table[paper_size].code,
+ landscape_flag != 0);
+ if (landscape_flag)
+ x_offset = paper_table[paper_size].x_offset_landscape;
+ else
+ x_offset = paper_table[paper_size].x_offset_portrait;
+ x_offset = (x_offset * font::res) / 300;
+}
+
+lj4_printer::~lj4_printer()
+{
+ fputs("\033E", stdout);
+}
+
+void lj4_printer::begin_page(int)
+{
+}
+
+void lj4_printer::end_page(int)
+{
+ putchar('\f');
+ cur_hpos = -1;
+}
+
+void lj4_printer::end_of_line()
+{
+ cur_hpos = -1; // force absolute motion
+}
+
+inline
+int is_unprintable(unsigned char c)
+{
+ return c < 32 && (c == 0 || (7 <= c && c <= 15) || c == 27);
+}
+
+void lj4_printer::set_char(int index, font *f, const environment *env, int w)
+{
+ int code = f->get_code(index);
+
+ unsigned char ch = code & 0xff;
+ unsigned short symbol_set = code >> 8;
+ if (symbol_set != cur_symbol_set) {
+ printf("\033(%d%c", symbol_set/32, (symbol_set & 31) + 64);
+ cur_symbol_set = symbol_set;
+ }
+ if (f != cur_font) {
+ lj4_font *psf = (lj4_font *)f;
+ // FIXME only output those that are needed
+ printf("\033(s%dp%ds%db%dT",
+ psf->proportional,
+ psf->style,
+ psf->weight,
+ psf->typeface);
+ if (!psf->proportional || !cur_font || !cur_font->proportional)
+ cur_size = 0;
+ cur_font = psf;
+ }
+ if (env->size != cur_size) {
+ if (cur_font->proportional) {
+ static const char *quarters[] = { "", ".25", ".5", ".75" };
+ printf("\033(s%d%sV", env->size/4, quarters[env->size & 3]);
+ }
+ else {
+ double pitch = double(font::res)/w;
+ // PCL uses the next largest pitch, so round it down.
+ pitch = floor(pitch*100.0)/100.0;
+ printf("\033(s%.2fH", pitch);
+ }
+ cur_size = env->size;
+ }
+ if (!moveto(env->hpos, env->vpos))
+ return;
+ if (is_unprintable(ch))
+ fputs("\033&p1X", stdout);
+ putchar(ch);
+ cur_hpos += w;
+}
+
+int lj4_printer::moveto1(int hpos, int vpos)
+{
+ if (hpos < x_offset || vpos < 0)
+ return 0;
+ fputs("\033*p", stdout);
+ if (cur_hpos < 0)
+ printf("%dx%dY", hpos - x_offset, vpos);
+ else {
+ if (cur_hpos != hpos)
+ printf("%s%d%c", hpos > cur_hpos ? "+" : "",
+ hpos - cur_hpos, vpos == cur_vpos ? 'X' : 'x');
+ if (cur_vpos != vpos)
+ printf("%s%dY", vpos > cur_vpos ? "+" : "", vpos - cur_vpos);
+ }
+ cur_hpos = hpos;
+ cur_vpos = vpos;
+ return 1;
+}
+
+void lj4_printer::draw(int code, int *p, int np, const environment *env)
+{
+ switch (code) {
+ case 'R':
+ {
+ if (np != 2) {
+ error("2 arguments required for rule");
+ break;
+ }
+ int hpos = env->hpos;
+ int vpos = env->vpos;
+ int hsize = p[0];
+ int vsize = p[1];
+ if (hsize < 0) {
+ hpos += hsize;
+ hsize = -hsize;
+ }
+ if (vsize < 0) {
+ vpos += vsize;
+ vsize = -vsize;
+ }
+ if (!moveto(hpos, vpos))
+ return;
+ printf("\033*c%da%db0P", hsize, vsize);
+ break;
+ }
+ case 'l':
+ if (np != 2) {
+ error("2 arguments required for line");
+ break;
+ }
+ hpgl_init();
+ if (!moveto(env->hpos, env->vpos))
+ return;
+ hpgl_start();
+ set_line_thickness(env->size, p[0] == 0 && p[1] == 0);
+ printf("PD%d,%d", p[0], p[1]);
+ hpgl_end();
+ break;
+ case 'p':
+ case 'P':
+ {
+ if (np & 1) {
+ error("even number of arguments required for polygon");
+ break;
+ }
+ if (np == 0) {
+ error("no arguments for polygon");
+ break;
+ }
+ hpgl_init();
+ if (!moveto(env->hpos, env->vpos))
+ return;
+ hpgl_start();
+ if (code == 'p')
+ set_line_thickness(env->size);
+ printf("PMPD%d", p[0]);
+ for (int i = 1; i < np; i++)
+ printf(",%d", p[i]);
+ printf("PM2%cP", code == 'p' ? 'E' : 'F');
+ hpgl_end();
+ break;
+ }
+ case '~':
+ {
+ if (np & 1) {
+ error("even number of arguments required for spline");
+ break;
+ }
+ if (np == 0) {
+ error("no arguments for spline");
+ break;
+ }
+ hpgl_init();
+ if (!moveto(env->hpos, env->vpos))
+ return;
+ hpgl_start();
+ set_line_thickness(env->size);
+ printf("PD%d,%d", p[0]/2, p[1]/2);
+ const int tnum = 2;
+ const int tden = 3;
+ if (np > 2) {
+ fputs("BR", stdout);
+ for (int i = 0; i < np - 2; i += 2) {
+ if (i != 0)
+ putchar(',');
+ printf("%d,%d,%d,%d,%d,%d",
+ (p[i]*tnum)/(2*tden),
+ (p[i + 1]*tnum)/(2*tden),
+ p[i]/2 + (p[i + 2]*(tden - tnum))/(2*tden),
+ p[i + 1]/2 + (p[i + 3]*(tden - tnum))/(2*tden),
+ (p[i] - p[i]/2) + p[i + 2]/2,
+ (p[i + 1] - p[i + 1]/2) + p[i + 3]/2);
+ }
+ }
+ printf("PR%d,%d", p[np - 2] - p[np - 2]/2, p[np - 1] - p[np - 1]/2);
+ hpgl_end();
+ break;
+ }
+ case 'c':
+ case 'C':
+ // troff adds an extra argument to C
+ if (np != 1 && !(code == 'C' && np == 2)) {
+ error("1 argument required for circle");
+ break;
+ }
+ hpgl_init();
+ if (!moveto(env->hpos + p[0]/2, env->vpos))
+ return;
+ hpgl_start();
+ if (code == 'c') {
+ set_line_thickness(env->size);
+ printf("CI%d", p[0]/2);
+ }
+ else
+ printf("WG%d,0,360", p[0]/2);
+ hpgl_end();
+ break;
+ case 'e':
+ case 'E':
+ if (np != 2) {
+ error("2 arguments required for ellipse");
+ break;
+ }
+ hpgl_init();
+ if (!moveto(env->hpos + p[0]/2, env->vpos))
+ return;
+ hpgl_start();
+ printf("SC0,%.4f,0,-%.4f,2", hpgl_scale * double(p[0])/p[1], hpgl_scale);
+ if (code == 'e') {
+ set_line_thickness(env->size);
+ printf("CI%d", p[1]/2);
+ }
+ else
+ printf("WG%d,0,360", p[1]/2);
+ printf("SC0,%.4f,0,-%.4f,2", hpgl_scale, hpgl_scale);
+ hpgl_end();
+ break;
+ case 'a':
+ {
+ if (np != 4) {
+ error("4 arguments required for arc");
+ break;
+ }
+ hpgl_init();
+ if (!moveto(env->hpos, env->vpos))
+ return;
+ hpgl_start();
+ set_line_thickness(env->size);
+ double c[2];
+ if (adjust_arc_center(p, c)) {
+ double sweep = ((atan2(p[1] + p[3] - c[1], p[0] + p[2] - c[0])
+ - atan2(-c[1], -c[0]))
+ * 180.0/PI);
+ if (sweep > 0.0)
+ sweep -= 360.0;
+ printf("PDAR%d,%d,%f", int(c[0]), int(c[1]), sweep);
+ }
+ else
+ printf("PD%d,%d", p[0] + p[2], p[1] + p[3]);
+ hpgl_end();
+ }
+ break;
+ case 'f':
+ if (np != 1 && np != 2) {
+ error("1 argument required for fill");
+ break;
+ }
+ hpgl_init();
+ hpgl_start();
+ if (p[0] >= 0 && p[0] <= 1000)
+ printf("FT10,%d", p[0]/10);
+ hpgl_end();
+ break;
+ case 't':
+ {
+ if (np == 0) {
+ line_thickness = -1;
+ }
+ else {
+ // troff gratuitously adds an extra 0
+ if (np != 1 && np != 2) {
+ error("0 or 1 argument required for thickness");
+ break;
+ }
+ line_thickness = p[0];
+ }
+ break;
+ }
+ default:
+ error("unrecognised drawing command `%1'", char(code));
+ break;
+ }
+}
+
+void lj4_printer::hpgl_init()
+{
+ if (hpgl_inited)
+ return;
+ hpgl_inited = 1;
+ hpgl_scale = double(DEFAULT_HPGL_UNITS)/font::res;
+ printf("\033&f0S" // push position
+ "\033*p0x0Y" // move to 0,0
+ "\033*c%dx%dy0T" // establish picture frame
+ "\033%%1B" // switch to HPGL
+ "SP1SC0,%.4f,0,-%.4f,2IR0,100,0,100" // set up scaling
+ "LA1,4,2,4" // round line ends and joins
+ "PR" // relative plotting
+ "TR0" // opaque
+ ";\033%%1A" // back to PCL
+ "\033&f1S", // pop position
+ MAX_PAPER_WIDTH, MAX_PAPER_HEIGHT,
+ hpgl_scale, hpgl_scale);
+}
+
+void lj4_printer::set_line_thickness(int size, int dot)
+{
+ double pw;
+ if (line_thickness < 0)
+ pw = (size * (line_width_factor * 25.4))/(font::sizescale * 72000.0);
+ else
+ pw = line_thickness*25.4/font::res;
+ if (dot && pw < MIN_DOT_PEN_WIDTH)
+ pw = MIN_DOT_PEN_WIDTH;
+ if (pw != pen_width) {
+ printf("PW%f", pw);
+ pen_width = pw;
+ }
+}
+
+font *lj4_printer::make_font(const char *nm)
+{
+ return lj4_font::load_lj4_font(nm);
+}
+
+printer *make_printer()
+{
+ return new lj4_printer;
+}
+
+static
+int lookup_paper_size(const char *s)
+{
+ for (int i = 0; i < sizeof(paper_table)/sizeof(paper_table[0]); i++)
+ // FIXME Do this case-insensitively.
+ // Perhaps allow unique prefix.
+ if (strcmp(s, paper_table[i].name) == 0)
+ return i;
+ return -1;
+}
+
+static
+void handle_unknown_desc_command(const char *command, const char *arg,
+ const char *filename, int lineno)
+{
+ if (strcmp(command, "papersize") == 0) {
+ if (arg == 0)
+ error_with_file_and_line(filename, lineno,
+ "`papersize' command requires an argument");
+ else if (paper_size < 0) {
+ int n = lookup_paper_size(arg);
+ if (n < 0)
+ error_with_file_and_line(filename, lineno,
+ "unknown paper size `%1'", arg);
+ else
+ paper_size = n;
+ }
+ }
+}
+
+static void usage();
+
+int main(int argc, char **argv)
+{
+ program_name = argv[0];
+ static char stderr_buf[BUFSIZ];
+ setbuf(stderr, stderr_buf);
+ font::set_unknown_desc_command_handler(handle_unknown_desc_command);
+ int c;
+ while ((c = getopt(argc, argv, "F:p:lvw:c:")) != EOF)
+ switch(c) {
+ case 'l':
+ landscape_flag = 1;
+ break;
+ case 'p':
+ {
+ int n = lookup_paper_size(optarg);
+ if (n < 0)
+ error("unknown paper size `%1'", optarg);
+ else
+ paper_size = n;
+ break;
+ }
+ case 'v':
+ {
+ extern const char *version_string;
+ fprintf(stderr, "grolj4 version %s\n", version_string);
+ fflush(stderr);
+ break;
+ }
+ case 'F':
+ font::command_line_font_dir(optarg);
+ break;
+ case 'c':
+ {
+ char *ptr;
+ long n = strtol(optarg, &ptr, 10);
+ if (n == 0 && ptr == optarg)
+ error("argument for -c must be a positive integer");
+ else if (n <= 0 || n > 32767)
+ error("out of range argument for -c");
+ else
+ ncopies = unsigned(n);
+ break;
+ }
+ case 'w':
+ {
+ char *ptr;
+ long n = strtol(optarg, &ptr, 10);
+ if (n == 0 && ptr == optarg)
+ error("argument for -w must be a non-negative integer");
+ else if (n < 0 || n > INT_MAX)
+ error("out of range argument for -w");
+ else
+ line_width_factor = int(n);
+ break;
+ }
+ case '?':
+ usage();
+ break;
+ default:
+ assert(0);
+ }
+ if (optind >= argc)
+ do_file("-");
+ else {
+ for (int i = optind; i < argc; i++)
+ do_file(argv[i]);
+ }
+ delete pr;
+ return 0;
+}
+
+static void usage()
+{
+ fprintf(stderr,
+ "usage: %s [-lv] [-c n] [-p paper_size] [-w n] [-F dir] [files ...]\n",
+ program_name);
+ exit(1);
+}
diff --git a/grops/Makefile.dep b/grops/Makefile.dep
index 2320a9ecd..94e343401 100644
--- a/grops/Makefile.dep
+++ b/grops/Makefile.dep
@@ -1,6 +1,6 @@
-ps.o : ps.cc ../include/driver.h ../include/errarg.h ../include/error.h \
- ../include/font.h ../include/printer.h ../include/lib.h \
- ../include/stringclass.h ../include/cset.h ps.h
-psrm.o : psrm.cc ../include/driver.h ../include/errarg.h ../include/error.h \
- ../include/font.h ../include/printer.h ../include/lib.h \
- ../include/stringclass.h ../include/cset.h ps.h
+ps.o: ps.cc ../include/driver.h ../include/errarg.h ../include/error.h \
+ ../include/font.h ../include/printer.h ../include/lib.h \
+ ../include/stringclass.h ../include/cset.h ps.h
+psrm.o: psrm.cc ../include/driver.h ../include/errarg.h \
+ ../include/error.h ../include/font.h ../include/printer.h \
+ ../include/lib.h ../include/stringclass.h ../include/cset.h ps.h
diff --git a/grops/grops.man b/grops/grops.man
index 7a2d0bd90..6ac082f36 100644
--- a/grops/grops.man
+++ b/grops/grops.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
@@ -11,7 +28,7 @@ grops \- PostScript driver for groff
.SH SYNOPSIS
.B grops
[
-.B \-glv
+.B \-glmv
] [
.BI \-b n
] [
@@ -123,9 +140,12 @@ centered on the page.
This option allows you to generate documents that can be printed
both on letter (8.5\(mu11) paper and on A4 paper without change.
.TP
-.BI \-l
+.B \-l
Print the document in landscape format.
.TP
+.B \-m
+Turn manual feed on for the document.
+.TP
.BI \-F dir
Search the directory
.IB dir /dev name
@@ -519,8 +539,8 @@ is run by the groff command) include a
macro which allows a picture to be easily imported.
This has the format
.IP
-\&\fB.PSPIC\fP \fI\|file\fP [ \fB\-L\fP | \fB-R\fP | \fB\-I\fP \fIn\fP ]\
-[ \fIwidth\fP [ \fIheight\fP ]]
+\&\fB.PSPIC\fP [ \fB\-L\fP | \fB-R\fP | \fB\-I\fP \fIn\fP ]\ \"
+\fI\|file\fP [ \fIwidth\fP [ \fIheight\fP ]]
.LP
.I file
is the name of the file containing the illustration;
diff --git a/grops/ps.cc b/grops/ps.cc
index 2a78981d5..49ed9d4a5 100644
--- a/grops/ps.cc
+++ b/grops/ps.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "driver.h"
#include "stringclass.h"
@@ -26,6 +26,7 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <time.h>
static int landscape_flag = 0;
+static int manual_feed_flag = 0;
static int ncopies = 1;
static int linewidth = -1;
// Non-zero means generate PostScript code that guesses the paper
@@ -183,7 +184,8 @@ ps_output &ps_output::put_delimiter(char c)
ps_output &ps_output::put_string(const char *s, int n)
{
int len = 0;
- for (int i = 0; i < n; i++) {
+ int i;
+ for (i = 0; i < n; i++) {
char c = s[i];
if (is_ascii(c) && csprint(c)) {
if (c == '(' || c == ')' || c == '\\')
@@ -647,7 +649,8 @@ const char *const WS = " \t\n\r";
void ps_printer::define_encoding(const char *encoding, int encoding_index)
{
char *vec[256];
- for (int i = 0; i < 256; i++)
+ int i;
+ for (i = 0; i < 256; i++)
vec[i] = 0;
char *path;
FILE *fp = font::open_file(encoding, &path);
@@ -1178,6 +1181,14 @@ ps_printer::~ps_printer()
out.put_literal_symbol("LS")
.put_symbol(landscape_flag ? "true" : "false")
.put_symbol("def");
+ if (manual_feed_flag) {
+ out.begin_comment("BeginFeature:")
+ .comment_arg("*ManualFeed")
+ .comment_arg("True")
+ .end_comment()
+ .put_symbol("MANUAL")
+ .simple_comment("EndFeature");
+ }
encode_fonts();
out.simple_comment((broken_flags & NO_SETUP_SECTION)
? "EndProlog"
@@ -1202,7 +1213,8 @@ void ps_printer::special(char *arg, const environment *env)
{ "invis", &ps_printer::do_invis },
{ "endinvis", &ps_printer::do_endinvis },
};
- for (char *p = arg; *p == ' ' || *p == '\n'; p++)
+ char *p;
+ for (p = arg; *p == ' ' || *p == '\n'; p++)
;
char *tag = p;
for (; *p != '\0' && *p != ':' && *p != ' ' && *p != '\n'; p++)
@@ -1349,7 +1361,8 @@ void ps_printer::do_import(char *arg, const environment *env)
flush_sbuf();
while (*arg == ' ' || *arg == '\n')
arg++;
- for (char *p = arg; *p != '\0' && *p != ' ' && *p != '\n'; p++)
+ char *p;
+ for (p = arg; *p != '\0' && *p != ' ' && *p != '\n'; p++)
;
if (*p != '\0')
*p++ = '\0';
@@ -1456,7 +1469,7 @@ int main(int argc, char **argv)
static char stderr_buf[BUFSIZ];
setbuf(stderr, stderr_buf);
int c;
- while ((c = getopt(argc, argv, "F:glc:w:vb:")) != EOF)
+ while ((c = getopt(argc, argv, "F:glmc:w:vb:")) != EOF)
switch(c) {
case 'v':
{
@@ -1477,12 +1490,15 @@ int main(int argc, char **argv)
case 'l':
landscape_flag = 1;
break;
+ case 'm':
+ manual_feed_flag = 1;
+ break;
case 'F':
font::command_line_font_dir(optarg);
break;
case 'w':
if (sscanf(optarg, "%d", &linewidth) != 1 || linewidth < 0) {
- error("bad linewidth `%s'", optarg);
+ error("bad linewidth `%1'", optarg);
linewidth = -1;
}
break;
@@ -1510,7 +1526,7 @@ int main(int argc, char **argv)
static void usage()
{
- fprintf(stderr, "usage: %s [-glv] [-b n] [-c n] [-w n] [-F dir] [files ...]\n",
+ fprintf(stderr, "usage: %s [-glmv] [-b n] [-c n] [-w n] [-F dir] [files ...]\n",
program_name);
exit(1);
}
diff --git a/grops/ps.h b/grops/ps.h
index 50be4e8ba..6e78597d1 100644
--- a/grops/ps.h
+++ b/grops/ps.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class ps_output {
public:
diff --git a/grops/psrm.cc b/grops/psrm.cc
index 95492c7a1..3030aef88 100644
--- a/grops/psrm.cc
+++ b/grops/psrm.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "driver.h"
#include "stringclass.h"
@@ -121,7 +121,8 @@ resource *resource_manager::lookup_resource(resource_type type,
string &version,
unsigned revision)
{
- for (resource *r = resource_list; r; r = r->next)
+ resource *r;
+ for (r = resource_list; r; r = r->next)
if (r->type == type
&& r->name == name
&& r->version == version
@@ -137,7 +138,8 @@ resource *resource_manager::lookup_resource(resource_type type,
resource *resource_manager::lookup_font(const char *name)
{
- for (resource *r = resource_list; r; r = r->next)
+ resource *r;
+ for (r = resource_list; r; r = r->next)
if (r->type == RESOURCE_FONT
&& strlen(name) == r->name.length()
&& memcmp(name, r->name.contents(), r->name.length()) == 0)
@@ -159,14 +161,16 @@ typedef resource *Presource; // Work around g++ bug.
void resource_manager::document_setup(ps_output &out)
{
int nranks = 0;
- for (resource *r = resource_list; r; r = r->next)
+ resource *r;
+ for (r = resource_list; r; r = r->next)
if (r->rank >= nranks)
nranks = r->rank + 1;
if (nranks > 0) {
// Sort resource_list in reverse order of rank.
Presource *head = new Presource[nranks + 1];
Presource **tail = new Presource *[nranks + 1];
- for (int i = 0; i < nranks + 1; i++) {
+ int i;
+ for (i = 0; i < nranks + 1; i++) {
head[i] = 0;
tail[i] = &head[i];
}
@@ -510,7 +514,8 @@ resource *resource_manager::read_resource_arg(const char **ptr)
error("missing resource type");
return 0;
}
- for (int ri = 0; ri < NRESOURCES; ri++)
+ int ri;
+ for (ri = 0; ri < NRESOURCES; ri++)
if (strlen(resource_table[ri]) == *ptr - name
&& memcmp(resource_table[ri], name, *ptr - name) == 0)
break;
@@ -833,7 +838,8 @@ static unsigned parse_extensions(const char *ptr)
do {
++ptr;
} while (*ptr != '\0' && !white_space(*ptr));
- for (int i = 0; i < NEXTENSIONS; i++)
+ int i;
+ for (i = 0; i < NEXTENSIONS; i++)
if (strlen(extension_table[i]) == ptr - name
&& memcmp(extension_table[i], name, ptr - name) == 0) {
flags |= (1 << i);
@@ -932,7 +938,8 @@ void resource_manager::process_file(int rank, FILE *fp, const char *filename,
if (buf[0] == '%') {
if (buf[1] == '%') {
const char *ptr;
- for (int i = 0; i < NCOMMENTS; i++)
+ int i;
+ for (i = 0; i < NCOMMENTS; i++)
if (ptr = matches_comment(buf, comment_table[i].name)) {
copy_this_line
= (this->*(comment_table[i].proc))(ptr, rank, fp, outfp);
@@ -1028,7 +1035,8 @@ static void print_ps_string(const string &s, FILE *outfp)
return;
}
int level = 0;
- for (int i = 0; i < len; i++)
+ int i;
+ for (i = 0; i < len; i++)
if (str[i] == '(')
level++;
else if (str[i] == ')' && --level < 0)
diff --git a/grotty/Makefile.dep b/grotty/Makefile.dep
index eca128ef1..59390586d 100644
--- a/grotty/Makefile.dep
+++ b/grotty/Makefile.dep
@@ -1,2 +1,3 @@
-tty.o : tty.cc ../include/driver.h ../include/errarg.h ../include/error.h \
- ../include/font.h ../include/printer.h ../include/lib.h
+tty.o: tty.cc ../include/driver.h ../include/errarg.h \
+ ../include/error.h ../include/font.h ../include/printer.h \
+ ../include/lib.h
diff --git a/grotty/grotty.man b/grotty/grotty.man
index 6b7e7471d..d8d6ebdeb 100644
--- a/grotty/grotty.man
+++ b/grotty/grotty.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH GROTTY @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
grotty \- groff driver for typewriter-like devices
diff --git a/grotty/tty.cc b/grotty/tty.cc
index 087c19c1b..3ac46aa71 100644
--- a/grotty/tty.cc
+++ b/grotty/tty.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "driver.h"
@@ -218,7 +218,8 @@ void tty_printer::add_char(unsigned char c, int h, int v, unsigned char mode)
// characters before normal characters at each hpos, and otherwise
// in order of occurrence.
- for (glyph **pp = lines + (vpos - 1); *pp; pp = &(*pp)->next)
+ glyph **pp;
+ for (pp = lines + (vpos - 1); *pp; pp = &(*pp)->next)
if ((*pp)->hpos < hpos
|| ((*pp)->hpos == hpos && (*pp)->draw_mode() >= g->draw_mode()))
break;
@@ -270,7 +271,8 @@ void tty_printer::end_page(int page_length)
if (page_length % font::vert != 0)
error("vertical position at end of page not multiple of vertical resolution");
int lines_per_page = page_length / font::vert;
- for (int last_line = nlines; last_line > 0; last_line--)
+ int last_line;
+ for (last_line = nlines; last_line > 0; last_line--)
if (lines[last_line - 1])
break;
#if 0
diff --git a/hpftodit/Makefile.dep b/hpftodit/Makefile.dep
new file mode 100644
index 000000000..5239b9d7b
--- /dev/null
+++ b/hpftodit/Makefile.dep
@@ -0,0 +1,3 @@
+hpftodit.o: hpftodit.cc ../include/assert.h ../include/lib.h \
+ ../include/posix.h ../include/errarg.h ../include/error.h \
+ ../include/cset.h
diff --git a/hpftodit/Makefile.sub b/hpftodit/Makefile.sub
new file mode 100644
index 000000000..16744d9f5
--- /dev/null
+++ b/hpftodit/Makefile.sub
@@ -0,0 +1,6 @@
+PROG=hpftodit
+MAN1=hpftodit.n
+XLIBS=$(LIBGROFF)
+MLIB=$(LIBM)
+OBJS=hpftodit.o
+CCSRCS=hpftodit.cc
diff --git a/hpftodit/hpftodit.cc b/hpftodit/hpftodit.cc
new file mode 100644
index 000000000..c11f8cbb1
--- /dev/null
+++ b/hpftodit/hpftodit.cc
@@ -0,0 +1,779 @@
+// -*- C++ -*-
+/* Copyright (C) 1994 Free Software Foundation, Inc.
+ Written by James Clark (jjc@jclark.com)
+
+This file is part of groff.
+
+groff is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+groff is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License along
+with groff; see the file COPYING. If not, write to the Free Software
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+/*
+TODO
+put human readable font name in device file
+devise new names for useful characters
+use --- for unnamed characters
+option to specify symbol sets to look in
+make it work with TrueType fonts
+put filename in error messages (or fix lib)
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#include <errno.h>
+#include "assert.h"
+#include "lib.h"
+#include "posix.h"
+#include "errarg.h"
+#include "error.h"
+#include "cset.h"
+
+#define SIZEOF(v) (sizeof(v)/sizeof(v[0]))
+
+const int MULTIPLIER = 3;
+
+inline
+int scale(int n)
+{
+ return n * MULTIPLIER;
+}
+
+// tags in TFM file
+
+enum tag_type {
+ min_tag = 400,
+ type_tag = 400,
+ symbol_set_tag = 404,
+ msl_tag = 403,
+ inches_per_point_tag = 406,
+ design_units_per_em_tag = 408,
+ posture_tag = 409,
+ stroke_weight_tag = 411,
+ spacing_tag = 412,
+ slant_tag = 413,
+ appearance_width_tag = 414,
+ word_spacing_tag = 421,
+ x_height_tag = 424,
+ lower_ascent_tag = 427,
+ lower_descent_tag = 428,
+ width_tag = 433,
+ left_extent_tag = 435,
+ right_extent_tag = 436,
+ ascent_tag = 437,
+ descent_tag = 438,
+ pair_kern_tag = 439,
+ typeface_tag = 442,
+ max_tag = 443
+ };
+
+// types in TFM file
+
+enum {
+ ENUM_TYPE = 1,
+ BYTE_TYPE = 2,
+ USHORT_TYPE = 3,
+ FLOAT_TYPE = 5,
+ SIGNED_SHORT_TYPE = 17
+ };
+
+
+typedef unsigned char byte;
+typedef unsigned short uint16;
+typedef short int16;
+typedef unsigned int uint32;
+
+class File {
+public:
+ File(const char *);
+ void skip(int n);
+ byte get_byte();
+ uint16 get_uint16();
+ uint32 get_uint32();
+ void seek(uint32 n);
+private:
+ unsigned char *buf_;
+ const unsigned char *ptr_;
+ const unsigned char *end_;
+};
+
+struct entry {
+ char present;
+ uint16 type;
+ uint32 count;
+ uint32 value;
+ entry() : present(0) { }
+};
+
+struct char_info {
+ uint16 msl;
+ uint16 width;
+ uint16 ascent;
+ int16 descent;
+ int16 left_extent;
+ uint16 right_extent;
+ uint16 symbol_set;
+ unsigned char code;
+};
+
+const uint16 NO_SYMBOL_SET = 0;
+
+struct name_list {
+ char *name;
+ name_list *next;
+ name_list(const char *s, name_list *p) : name(strsave(s)), next(p) { }
+ ~name_list() { a_delete name; }
+};
+
+struct symbol_set {
+ uint16 select;
+ uint16 index[256];
+};
+
+#define SYMBOL_SET(n, c) ((n) * 32 + ((c) - 64))
+
+uint16 text_symbol_sets[] = {
+ SYMBOL_SET(0, 'N'), // Latin 1
+ SYMBOL_SET(6, 'J'), // Microsoft Publishing
+ SYMBOL_SET(2, 'N'), // Latin 2
+ 0
+ };
+
+uint16 special_symbol_sets[] = {
+ SYMBOL_SET(8, 'M'),
+ SYMBOL_SET(5, 'M'),
+ SYMBOL_SET(15, 'U'),
+ 0
+ };
+
+entry tags[max_tag + 1 - min_tag];
+
+char_info *char_table;
+uint32 nchars;
+
+int msl_name_table_size = 0;
+name_list **msl_name_table = 0;
+
+int n_symbol_sets;
+symbol_set *symbol_set_table;
+
+static int special_flag = 0;
+static int italic_flag = 0;
+static int italic_sep;
+
+static void usage();
+static const char *xbasename(const char *);
+static void read_tags(File &);
+static void check_type();
+static void check_units(File &);
+static int read_map(const char *);
+static void require_tag(tag_type);
+static void dump_tags(File &f);
+static void output_spacewidth();
+static void output_pclweight();
+static void output_pclproportional();
+static void read_and_output_pcltypeface(File &);
+static void output_pclstyle();
+static void output_slant();
+static void output_ligatures();
+static void read_symbol_sets(File &);
+static void read_and_output_kernpairs(File &);
+static void output_charset();
+static void read_char_table(File &f);
+
+inline
+entry &tag_info(tag_type t)
+{
+ return tags[t - min_tag];
+}
+
+int main(int argc, char **argv)
+{
+ program_name = argv[0];
+
+ int opt;
+ int debug_flag = 0;
+
+ while ((opt = getopt(argc, argv, "dsvi:")) != EOF) {
+ switch (opt) {
+ case 'd':
+ debug_flag = 1;
+ break;
+ case 's':
+ special_flag = 1;
+ break;
+ case 'i':
+ italic_flag = 1;
+ italic_sep = atoi(optarg);
+ break;
+ case 'v':
+ {
+ extern const char *version_string;
+ fprintf(stderr, "hpftodit version %s\n", version_string);
+ fflush(stderr);
+ break;
+ }
+ break;
+ case '?':
+ usage();
+ default:
+ assert(0);
+ }
+ }
+ if (argc - optind != 3)
+ usage();
+ File f(argv[optind]);
+ if (!read_map(argv[optind + 1]))
+ exit(1);
+ current_filename = 0;
+ current_lineno = -1; // no line numbers
+ if (freopen(argv[optind + 2], "w", stdout) == 0)
+ fatal("cannot open `%1': %2", argv[optind + 2], strerror(errno));
+ current_filename = argv[optind];
+ printf("name %s\n", xbasename(argv[optind + 2]));
+ if (special_flag)
+ printf("special\n");
+ read_tags(f);
+ check_type();
+ check_units(f);
+ if (debug_flag)
+ dump_tags(f);
+ read_char_table(f);
+ output_spacewidth();
+ output_slant();
+ read_and_output_pcltypeface(f);
+ output_pclproportional();
+ output_pclweight();
+ output_pclstyle();
+ read_symbol_sets(f);
+ output_ligatures();
+ read_and_output_kernpairs(f);
+ output_charset();
+ return 0;
+}
+
+static
+void usage()
+{
+ fprintf(stderr, "usage: %s [-s] [-i n] tfm_file map_file output_font\n",
+ program_name);
+ exit(1);
+}
+
+File::File(const char *s)
+{
+ int fd = open(s, O_RDONLY);
+ if (fd < 0)
+ fatal("cannot open `%1': %2", s, strerror(errno));
+ current_filename = s;
+ struct stat sb;
+ if (fstat(fd, &sb) < 0)
+ fatal("cannot stat: %1", strerror(errno));
+ if (!S_ISREG(sb.st_mode))
+ fatal("not a regular file");
+ buf_ = new unsigned char[sb.st_size];
+ long nread = read(fd, buf_, sb.st_size);
+ if (nread < 0)
+ fatal("read error: %1", strerror(errno));
+ if (nread != sb.st_size)
+ fatal("read unexpected number of bytes");
+ ptr_ = buf_;
+ end_ = buf_ + sb.st_size;
+}
+
+void File::skip(int n)
+{
+ if (end_ - ptr_ < n)
+ fatal("unexpected end of file");
+ ptr_ += n;
+}
+
+void File::seek(uint32 n)
+{
+ if (end_ - buf_ < n)
+ fatal("unexpected end of file");
+ ptr_ = buf_ + n;
+}
+
+byte File::get_byte()
+{
+ if (ptr_ >= end_)
+ fatal("unexpected end of file");
+ return *ptr_++;
+}
+
+uint16 File::get_uint16()
+{
+ if (end_ - ptr_ < 2)
+ fatal("unexpected end of file");
+ uint16 n = *ptr_++;
+ return n + (*ptr_++ << 8);
+}
+
+uint32 File::get_uint32()
+{
+ if (end_ - ptr_ < 4)
+ fatal("unexpected end of file");
+ uint32 n = *ptr_++;
+ for (int i = 0; i < 3; i++)
+ n += *ptr_++ << (i + 1)*8;
+ return n;
+}
+
+static
+void read_tags(File &f)
+{
+ if (f.get_byte() != 'I' || f.get_byte() != 'I')
+ fatal("not an Intel format TFM file");
+ f.skip(6);
+ uint16 ntags = f.get_uint16();
+ entry dummy;
+ for (uint16 i = 0; i < ntags; i++) {
+ uint16 tag = f.get_uint16();
+ entry *p;
+ if (min_tag <= tag && tag <= max_tag)
+ p = tags + (tag - min_tag);
+ else
+ p = &dummy;
+ p->present = 1;
+ p->type = f.get_uint16();
+ p->count = f.get_uint32();
+ p->value = f.get_uint32();
+ }
+}
+
+static
+void check_type()
+{
+ require_tag(type_tag);
+ if (tag_info(type_tag).value != 0) {
+ if (tag_info(type_tag).value == 2)
+ fatal("cannot handle TrueType tfm files");
+ fatal("unknown type tag %1", int(tag_info(type_tag).value));
+ }
+}
+
+static
+void check_units(File &f)
+{
+ require_tag(design_units_per_em_tag);
+ f.seek(tag_info(design_units_per_em_tag).value);
+ uint32 num = f.get_uint32();
+ uint32 den = f.get_uint32();
+ if (num != 8782 || den != 1)
+ fatal("design units per em != 8782/1");
+ require_tag(inches_per_point_tag);
+ f.seek(tag_info(inches_per_point_tag).value);
+ num = f.get_uint32();
+ den = f.get_uint32();
+ if (num != 100 || den != 7231)
+ fatal("inches per point not 100/7231");
+}
+
+static
+void require_tag(tag_type t)
+{
+ if (!tag_info(t).present)
+ fatal("tag %1 missing", int(t));
+}
+
+static
+void output_spacewidth()
+{
+ require_tag(word_spacing_tag);
+ printf("spacewidth %d\n", scale(tag_info(word_spacing_tag).value));
+}
+
+static
+void read_symbol_sets(File &f)
+{
+ uint32 symbol_set_dir_length = tag_info(symbol_set_tag).count;
+ n_symbol_sets = symbol_set_dir_length/14;
+ symbol_set_table = new symbol_set[n_symbol_sets];
+ int i;
+ for (i = 0; i < n_symbol_sets; i++) {
+ f.seek(tag_info(symbol_set_tag).value + i*14);
+ (void)f.get_uint32();
+ uint32 off1 = f.get_uint32();
+ uint32 off2 = f.get_uint32();
+ (void)f.get_uint16(); // what's this for?
+ f.seek(off1);
+ int j;
+ uint16 kind = 0;
+ for (j = 0; j < off2 - off1; j++) {
+ unsigned char c = f.get_byte();
+ if ('0' <= c && c <= '9')
+ kind = kind*10 + (c - '0');
+ else if ('A' <= c && c <= 'Z')
+ kind = kind*32 + (c - 64);
+ }
+ symbol_set_table[i].select = kind;
+ for (j = 0; j < 256; j++)
+ symbol_set_table[i].index[j] = f.get_uint16();
+ }
+ for (i = 0; i < nchars; i++)
+ char_table[i].symbol_set = NO_SYMBOL_SET;
+
+ uint16 *symbol_set_selectors = (special_flag
+ ? special_symbol_sets
+ : text_symbol_sets);
+ for (i = 0; symbol_set_selectors[i] != 0; i++) {
+ int j;
+ for (j = 0; j < n_symbol_sets; j++)
+ if (symbol_set_table[j].select == symbol_set_selectors[i])
+ break;
+ if (j < n_symbol_sets) {
+ for (int k = 0; k < 256; k++) {
+ uint16 index = symbol_set_table[j].index[k];
+ if (index != 0xffff
+ && char_table[index].symbol_set == NO_SYMBOL_SET) {
+ char_table[index].symbol_set = symbol_set_table[j].select;
+ char_table[index].code = k;
+ }
+ }
+ }
+ }
+}
+
+static
+void read_char_table(File &f)
+{
+ require_tag(msl_tag);
+ nchars = tag_info(msl_tag).count;
+ char_table = new char_info[nchars];
+
+ f.seek(tag_info(msl_tag).value);
+ uint32 i;
+ for (i = 0; i < nchars; i++)
+ char_table[i].msl = f.get_uint16();
+
+ require_tag(width_tag);
+ f.seek(tag_info(width_tag).value);
+ for (i = 0; i < nchars; i++)
+ char_table[i].width = f.get_uint16();
+
+ require_tag(ascent_tag);
+ f.seek(tag_info(ascent_tag).value);
+ for (i = 0; i < nchars; i++) {
+ char_table[i].ascent = f.get_uint16();
+ }
+
+ require_tag(descent_tag);
+ f.seek(tag_info(descent_tag).value);
+ for (i = 0; i < nchars; i++) {
+ char_table[i].descent = f.get_uint16();
+ if (char_table[i].descent > 0)
+ char_table[i].descent = 0;
+ }
+
+ require_tag(left_extent_tag);
+ f.seek(tag_info(left_extent_tag).value);
+ for (i = 0; i < nchars; i++)
+ char_table[i].left_extent = int16(f.get_uint16());
+
+ require_tag(right_extent_tag);
+ f.seek(tag_info(right_extent_tag).value);
+ for (i = 0; i < nchars; i++)
+ char_table[i].right_extent = f.get_uint16();
+}
+
+static
+void output_pclweight()
+{
+ require_tag(stroke_weight_tag);
+ int stroke_weight = tag_info(stroke_weight_tag).value;
+ int pcl_stroke_weight;
+ if (stroke_weight < 128)
+ pcl_stroke_weight = -3;
+ else if (stroke_weight == 128)
+ pcl_stroke_weight = 0;
+ else if (stroke_weight <= 145)
+ pcl_stroke_weight = 1;
+ else if (stroke_weight <= 179)
+ pcl_stroke_weight = 3;
+ else
+ pcl_stroke_weight = 4;
+ printf("pclweight %d\n", pcl_stroke_weight);
+}
+
+static
+void output_pclproportional()
+{
+ require_tag(spacing_tag);
+ printf("pclproportional %d\n", tag_info(spacing_tag).value == 0);
+}
+
+static
+void read_and_output_pcltypeface(File &f)
+{
+ printf("pcltypeface ");
+ require_tag(typeface_tag);
+ f.seek(tag_info(typeface_tag).value);
+ for (uint32 i = 0; i < tag_info(typeface_tag).count; i++) {
+ unsigned char c = f.get_byte();
+ if (c == '\0')
+ break;
+ putchar(c);
+ }
+ printf("\n");
+}
+
+static
+void output_pclstyle()
+{
+ unsigned pcl_style = 0;
+ // older tfms don't have the posture tag
+ if (tag_info(posture_tag).present) {
+ if (tag_info(posture_tag).value)
+ pcl_style |= 1;
+ }
+ else {
+ require_tag(slant_tag);
+ if (tag_info(slant_tag).value != 0)
+ pcl_style |= 1;
+ }
+ require_tag(appearance_width_tag);
+ if (tag_info(appearance_width_tag).value < 100) // guess
+ pcl_style |= 4;
+ printf("pclstyle %d\n", pcl_style);
+}
+
+static
+void output_slant()
+{
+ require_tag(slant_tag);
+ int slant = int16(tag_info(slant_tag).value);
+ if (slant != 0)
+ printf("slant %f\n", slant/100.0);
+}
+
+static
+void output_ligatures()
+{
+ // don't use ligatures for fixed space font
+ require_tag(spacing_tag);
+ if (tag_info(spacing_tag).value != 0)
+ return;
+ static const char *ligature_names[] = {
+ "fi", "fl", "ff", "ffi", "ffl"
+ };
+
+ static const char *ligature_chars[] = {
+ "fi", "fl", "ff", "Fi", "Fl"
+ };
+
+ unsigned ligature_mask = 0;
+ int i;
+ for (i = 0; i < nchars; i++) {
+ uint16 msl = char_table[i].msl;
+ if (msl < msl_name_table_size
+ && char_table[i].symbol_set != NO_SYMBOL_SET) {
+ for (name_list *p = msl_name_table[msl]; p; p = p->next)
+ for (int j = 0; j < SIZEOF(ligature_chars); j++)
+ if (strcmp(p->name, ligature_chars[j]) == 0) {
+ ligature_mask |= 1 << j;
+ break;
+ }
+ }
+ }
+ if (ligature_mask) {
+ printf("ligatures");
+ for (i = 0; i < SIZEOF(ligature_names); i++)
+ if (ligature_mask & (1 << i))
+ printf(" %s", ligature_names[i]);
+ printf(" 0\n");
+ }
+}
+
+static
+void read_and_output_kernpairs(File &f)
+{
+ if (tag_info(pair_kern_tag).present) {
+ printf("kernpairs\n");
+ f.seek(tag_info(pair_kern_tag).value);
+ uint16 n_pairs = f.get_uint16();
+ for (int i = 0; i < n_pairs; i++) {
+ uint16 i1 = f.get_uint16();
+ uint16 i2 = f.get_uint16();
+ int16 val = int16(f.get_uint16());
+ if (char_table[i1].symbol_set != NO_SYMBOL_SET
+ && char_table[i2].symbol_set != NO_SYMBOL_SET
+ && char_table[i1].msl < msl_name_table_size
+ && char_table[i2].msl < msl_name_table_size) {
+ for (name_list *p = msl_name_table[char_table[i1].msl];
+ p;
+ p = p->next)
+ for (name_list *q = msl_name_table[char_table[i2].msl];
+ q;
+ q = q->next)
+ printf("%s %s %d\n", p->name, q->name, scale(val));
+ }
+ }
+ }
+}
+
+static
+void output_charset()
+{
+ require_tag(slant_tag);
+ double slant_angle = int16(tag_info(slant_tag).value)*PI/18000.0;
+ double slant = sin(slant_angle)/cos(slant_angle);
+
+ require_tag(x_height_tag);
+ require_tag(lower_ascent_tag);
+ require_tag(lower_descent_tag);
+
+ printf("charset\n");
+ int i;
+ for (i = 0; i < nchars; i++) {
+ uint16 msl = char_table[i].msl;
+ if (msl < msl_name_table_size
+ && msl_name_table[msl]) {
+ if (char_table[i].symbol_set != NO_SYMBOL_SET) {
+ printf("%s\t%d,%d",
+ msl_name_table[msl]->name,
+ scale(char_table[i].width),
+ scale(char_table[i].ascent));
+ int depth = scale(- char_table[i].descent);
+ if (depth < 0)
+ depth = 0;
+ int italic_correction = 0;
+ int left_italic_correction = 0;
+ int subscript_correction = 0;
+ if (italic_flag) {
+ italic_correction = scale(char_table[i].right_extent
+ - char_table[i].width
+ + italic_sep);
+ if (italic_correction < 0)
+ italic_correction = 0;
+ subscript_correction = int((tag_info(x_height_tag).value
+ * slant * .8) + .5);
+ if (subscript_correction > italic_correction)
+ subscript_correction = italic_correction;
+ left_italic_correction = scale(italic_sep
+ - char_table[i].left_extent);
+ }
+ if (subscript_correction != 0)
+ printf(",%d,%d,%d,%d",
+ depth, italic_correction, left_italic_correction,
+ subscript_correction);
+ else if (left_italic_correction != 0)
+ printf(",%d,%d,%d", depth, italic_correction, left_italic_correction);
+ else if (italic_correction != 0)
+ printf(",%d,%d", depth, italic_correction);
+ else if (depth != 0)
+ printf(",%d", depth);
+ // This is fairly arbitrary. Fortunately it doesn't much matter.
+ unsigned type = 0;
+ if (char_table[i].ascent > (tag_info(lower_ascent_tag).value*9)/10)
+ type |= 2;
+ if (char_table[i].descent < (int16(tag_info(lower_descent_tag).value)*9)/10)
+ type |= 1;
+ printf("\t%d\t%d\n",
+ type,
+ char_table[i].symbol_set*256 + char_table[i].code);
+ for (name_list *p = msl_name_table[msl]->next; p; p = p->next)
+ printf("%s\t\"\n", p->name);
+ }
+ else
+ warning("MSL %1 not in any of the searched symbol sets", msl);
+ }
+ }
+}
+
+static
+void dump_tags(File &f)
+{
+ int i;
+ for (i = min_tag; i <= max_tag; i++) {
+ enum tag_type t = tag_type(i);
+ if (tag_info(t).present) {
+ fprintf(stderr,
+ "%d %d %d %d\n", i, tag_info(t).type, tag_info(t).count,
+ tag_info(t).value);
+ if (tag_info(t).type == FLOAT_TYPE
+ && tag_info(t).count == 1) {
+ f.seek(tag_info(t).value);
+ uint32 num = f.get_uint32();
+ uint32 den = f.get_uint32();
+ fprintf(stderr, "(%u/%u = %g)\n", num, den, (double)num/den);
+ }
+ }
+ }
+}
+
+static
+int read_map(const char *file)
+{
+ errno = 0;
+ FILE *fp = fopen(file, "r");
+ if (!fp) {
+ error("can't open `%1': %2", file, strerror(errno));
+ return 0;
+ }
+ current_filename = file;
+ char buf[512];
+ current_lineno = 0;
+ while (fgets(buf, int(sizeof(buf)), fp)) {
+ current_lineno++;
+ char *ptr = buf;
+ while (csspace(*ptr))
+ ptr++;
+ if (*ptr == '\0' || *ptr == '#')
+ continue;
+ ptr = strtok(ptr, " \n\t");
+ if (!ptr)
+ continue;
+ int n;
+ if (sscanf(ptr, "%d", &n) != 1) {
+ error("bad map file");
+ fclose(fp);
+ return 0;
+ }
+ if (n < 0) {
+ error("negative code");
+ fclose(fp);
+ return 0;
+ }
+ if (n >= msl_name_table_size) {
+ size_t old_size = msl_name_table_size;
+ name_list **old_table = msl_name_table;
+ msl_name_table_size = n + 256;
+ msl_name_table = new name_list *[msl_name_table_size];
+ if (old_table) {
+ memcpy(msl_name_table, old_table, old_size*sizeof(name_list *));
+ a_delete old_table;
+ }
+ for (size_t i = old_size; i < msl_name_table_size; i++)
+ msl_name_table[i] = 0;
+ }
+ ptr = strtok(0, " \n\t");
+ if (!ptr) {
+ error("missing names");
+ fclose(fp);
+ return 0;
+ }
+ for (; ptr; ptr = strtok(0, " \n\t"))
+ msl_name_table[n] = new name_list(ptr, msl_name_table[n]);
+ }
+ fclose(fp);
+ return 1;
+}
+
+static
+const char *xbasename(const char *s)
+{
+ const char *b = strrchr(s, '/');
+ return b ? b + 1 : s;
+}
diff --git a/hpftodit/hpftodit.man b/hpftodit/hpftodit.man
new file mode 100644
index 000000000..75af154e2
--- /dev/null
+++ b/hpftodit/hpftodit.man
@@ -0,0 +1,151 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH HPFTODIT @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
+.SH NAME
+hpftodit \- create font description files for use with groff \-Tlj4
+.SH SYNOPSIS
+.B hpftodit
+[
+.B \-sv
+]
+[
+.BI \-i n
+]
+.I tfm_file
+.I map_file
+.I font
+.SH DESCRIPTION
+.B hpftodit
+creates a font file for use with
+.B
+groff \-Tlj4\fR
+from an HP tagged font metric file.
+.I tfm_file
+is the name of the tagged font metric file for the font.
+.I map_file
+is a file giving the groff names for characters in the font;
+this file should consist of a sequence of lines of the form:
+.IP
+.I
+n c1 c2 \fR.\|.\|.
+.LP
+where
+.I n
+is a decimal integer giving the MSL number of the character,
+and
+.IR c1 ,
+.IR c2 ,.\|.\|.
+are the groff names of the character.
+.I font
+is the name of the groff font file.
+The groff font file is written to
+.IR font .
+.LP
+The
+.B \-s
+option should be given if the font is special
+(a font is
+.I special
+if
+.B troff
+should search it whenever
+a character is not found in the current font.)
+If the font is special,
+it should be listed in the
+.B fonts
+command in the DESC file;
+if it is not special, there is no need to list it, since
+.B troff
+can automatically mount it when it's first used.
+.LP
+If the
+.B \-i
+option is used,
+.B hpftodit
+will automatically generate an italic correction,
+a left italic correction and a subscript correction
+for each character
+(the significance of these parameters is explained in
+.BR groff_font (@MAN5EXT@)).
+.SH OPTIONS
+.TP
+.B \-v
+Print the version number.
+.TP
+.B \-s
+The font is special.
+The effect of this option is to add the
+.B special
+command to the font file.
+.TP
+.BI \-i n
+Generate an italic correction for each character so that
+the character's width plus the character's italic correction
+is equal to
+.I n
+design units
+plus the amount by which the right edge of the character's bounding
+is to the right of the character's origin.
+If this would result in a negative italic correction, use a zero
+italic correction instead.
+There are 8782 design units per em for Intellifont fonts.
+.IP
+Also generate a subscript correction equal to the
+product of the tangent of the slant of the font and
+four fifths of the x-height of the font.
+If this would result in a subscript correction greater than the italic
+correction, use a subscript correction equal to the italic correction
+instead.
+.IP
+Also generate a left italic correction for each character
+equal to
+.I n
+design units
+plus the amount by which the left edge of the character's bounding box
+is to the left of the character's origin.
+The left italic correction may be negative.
+.IP
+This option is normally needed only with italic (or oblique) fonts.
+.SH FILES
+.Tp \w'\fB@FONTDIR@/devlj4/DESC'u+2n
+.B @FONTDIR@/devlj4/DESC
+Device description file.
+.TP
+.BI @FONTDIR@/devlj4/ F
+Font description file for font
+.IR F .
+.SH BUGS
+.LP
+This program was written without the benefit of complete, official
+documentation on the tagged font metric format.
+It is therefore likely that it will fail to work on tfm files that are
+dissimilar to those for the internal fonts on the Laserjet 4,
+with which it was tested:
+.LP
+TrueType tfm files are not supported.
+.SH "SEE ALSO"
+.BR groff (@MAN1EXT@),
+.BR grolj4 (@MAN1EXT@),
+.BR groff_font (@MAN5EXT@)
diff --git a/include/assert.h b/include/assert.h
index fe988ee3e..18d9c2623 100644
--- a/include/assert.h
+++ b/include/assert.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef ASSERT_H
#define ASSERT_H
diff --git a/include/cmap.h b/include/cmap.h
index 18c88fb26..1537d4627 100644
--- a/include/cmap.h
+++ b/include/cmap.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef UCHAR_MAX
#define UCHAR_MAX 255
diff --git a/include/cset.h b/include/cset.h
index f454cc511..b3a1a9761 100644
--- a/include/cset.h
+++ b/include/cset.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CC_LIMITS_H
#include <limits.h>
diff --git a/include/device.h b/include/device.h
index 76be13341..341af8d2a 100644
--- a/include/device.h
+++ b/include/device.h
@@ -16,6 +16,6 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
extern const char *device;
diff --git a/include/driver.h b/include/driver.h
index be7a6dc6a..c18cdd422 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
diff --git a/include/errarg.h b/include/errarg.h
index 2f5ea5fc9..0c7957c85 100644
--- a/include/errarg.h
+++ b/include/errarg.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class errarg {
enum { EMPTY, STRING, CHAR, INTEGER, DOUBLE } type;
diff --git a/include/error.h b/include/error.h
index 7a687127a..d26e2c70f 100644
--- a/include/error.h
+++ b/include/error.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
extern void fatal_with_file_and_line(const char *filename, int lineno,
const char *format,
diff --git a/include/font.h b/include/font.h
index 6470b65a4..e981bc1d0 100644
--- a/include/font.h
+++ b/include/font.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
typedef void (*FONT_COMMAND_HANDLER)(const char *, const char *,
const char *, int);
diff --git a/include/index.h b/include/index.h
index 719b0266b..7e6081381 100644
--- a/include/index.h
+++ b/include/index.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define INDEX_MAGIC 0x23021964
#define INDEX_VERSION 1
diff --git a/include/lib.h b/include/lib.h
index 3ca1557bd..1c46089ac 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
extern "C" {
#ifndef strerror
@@ -36,7 +36,7 @@ extern "C" {
#include <unistd.h>
#else /* not UNISTD_H_DECLARES_GETOPT */
extern "C" {
- int getopt(int, char **, const char *);
+ int getopt(int, char *const *, const char *);
}
#endif /* not UNISTD_H_DECLARES_GETOPT */
diff --git a/include/macropath.h b/include/macropath.h
index 0b0f5c307..4aa2f00c5 100644
--- a/include/macropath.h
+++ b/include/macropath.h
@@ -16,6 +16,6 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
extern search_path macro_path;
diff --git a/include/posix.h b/include/posix.h
index d3ff8f552..312e49b7f 100644
--- a/include/posix.h
+++ b/include/posix.h
@@ -16,15 +16,15 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <sys/types.h>
#include <sys/stat.h>
-#include <fcntl.h>
#ifdef HAVE_CC_OSFCN_H
#include <osfcn.h>
#else
+#include <fcntl.h>
#include <unistd.h>
#endif
diff --git a/include/printer.h b/include/printer.h
index d517addb7..38b6e5b12 100644
--- a/include/printer.h
+++ b/include/printer.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct environment {
int fontno;
diff --git a/include/ptable.h b/include/ptable.h
index 0e7c1996a..dc56add0f 100644
--- a/include/ptable.h
+++ b/include/ptable.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <assert.h>
#include <string.h>
@@ -93,7 +93,8 @@ void PTABLE(T)::define(const char *key, T *val) \
{ \
assert(key != 0); \
unsigned long h = hash_string(key); \
- for (unsigned n = unsigned(h % size); \
+ unsigned n; \
+ for (n = unsigned(h % size); \
v[n].key != 0; \
n = (n == 0 ? size - 1 : n - 1)) \
if (strcmp(v[n].key, key) == 0) { \
@@ -113,7 +114,8 @@ void PTABLE(T)::define(const char *key, T *val) \
if (oldv[i].val == 0) \
a_delete oldv[i].key; \
else { \
- for (unsigned j = unsigned(hash_string(oldv[i].key) % size); \
+ unsigned j; \
+ for (j = unsigned(hash_string(oldv[i].key) % size); \
v[j].key != 0; \
j = (j == 0 ? size - 1 : j - 1)) \
; \
diff --git a/include/refid.h b/include/refid.h
index a0e86a31f..605427e9a 100644
--- a/include/refid.h
+++ b/include/refid.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class reference_id {
int filename_id;
diff --git a/include/search.h b/include/search.h
index e1fdb8453..260410e23 100644
--- a/include/search.h
+++ b/include/search.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct search_item;
struct search_item_iterator;
diff --git a/include/searchpath.h b/include/searchpath.h
index 14a74f672..d1cb2eeee 100644
--- a/include/searchpath.h
+++ b/include/searchpath.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class search_path {
char *dirs;
diff --git a/include/stringclass.h b/include/stringclass.h
index cf4da4bac..be3a044fb 100644
--- a/include/stringclass.h
+++ b/include/stringclass.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <string.h>
#include <stdio.h>
@@ -132,18 +132,26 @@ inline string operator+(const string &s1, const string &s2)
inline string operator+(const string &s1, const char *s2)
{
+#ifdef __GNUG__
if (s2 == 0)
return s1;
else
return string(s1.ptr, s1.len, s2, strlen(s2));
+#else
+ return s2 == 0 ? s1 : string(s1.ptr, s1.len, s2, strlen(s2));
+#endif
}
inline string operator+(const char *s1, const string &s2)
{
+#ifdef __GNUG__
if (s1 == 0)
return s2;
else
return string(s1, strlen(s1), s2.ptr, s2.len);
+#else
+ return s1 == 0 ? s2 : string(s1, strlen(s1), s2.ptr, s2.len);
+#endif
}
inline string operator+(const string &s, char c)
diff --git a/indxbib/Makefile.dep b/indxbib/Makefile.dep
index 0b1d96902..dec439efe 100644
--- a/indxbib/Makefile.dep
+++ b/indxbib/Makefile.dep
@@ -1,5 +1,6 @@
-indxbib.o : indxbib.cc ../include/posix.h ../include/lib.h \
- ../include/errarg.h ../include/error.h ../include/stringclass.h \
- ../include/cset.h ../include/cmap.h ../include/defs.h ../include/index.h
-dirnamemax.o : dirnamemax.c
-signal.o : signal.c
+indxbib.o: indxbib.cc ../include/posix.h ../include/lib.h \
+ ../include/errarg.h ../include/error.h ../include/stringclass.h \
+ ../include/cset.h ../include/cmap.h ../include/defs.h \
+ ../include/index.h
+dirnamemax.o: dirnamemax.c
+signal.o: signal.c
diff --git a/indxbib/indxbib.cc b/indxbib/indxbib.cc
index c69142cfc..fe310c35b 100644
--- a/indxbib/indxbib.cc
+++ b/indxbib/indxbib.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <stdlib.h>
@@ -242,7 +242,8 @@ int main(int argc, char **argv)
string path;
int lineno = 1;
for (;;) {
- for (int c = getc(fp); c != '\n' && c != EOF; c = getc(fp)) {
+ int c;
+ for (c = getc(fp); c != '\n' && c != EOF; c = getc(fp)) {
if (c == '\0')
error_with_file_and_line(foption, lineno,
"nul character in pathname ignored");
diff --git a/indxbib/indxbib.man b/indxbib/indxbib.man
index 984cf79bd..914cb6980 100644
--- a/indxbib/indxbib.man
+++ b/indxbib/indxbib.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH @G@INDXBIB @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
@g@indxbib \- make inverted index for bibliographic databases
diff --git a/indxbib/signal.c b/indxbib/signal.c
index 7c81f9157..8078472f9 100644
--- a/indxbib/signal.c
+++ b/indxbib/signal.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Unfortunately vendors seem to have problems writing a <signal.h>
that is correct for C++, so we implement all signal handling in C. */
diff --git a/install-sh b/install-sh
new file mode 100755
index 000000000..89fc9b098
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,238 @@
+#! /bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+#
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+tranformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+else
+ true
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d $dst ]; then
+ instcmd=:
+ else
+ instcmd=mkdir
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f $src -o -d $src ]
+ then
+ true
+ else
+ echo "install: $src does not exist"
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "install: no destination specified"
+ exit 1
+ else
+ true
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d $dst ]
+ then
+ dst="$dst"/`basename $src`
+ else
+ true
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp="${pathcomp}${1}"
+ shift
+
+ if [ ! -d "${pathcomp}" ] ;
+ then
+ $mkdirprog "${pathcomp}"
+ else
+ true
+ fi
+
+ pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd $dst &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ dstfile=`basename $dst $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ true
+ fi
+
+# Make a temp file name in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd $src $dsttmp &&
+
+ trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+
+fi &&
+
+
+exit 0
diff --git a/libbib/Makefile.dep b/libbib/Makefile.dep
index 906a38ad7..8c4974853 100644
--- a/libbib/Makefile.dep
+++ b/libbib/Makefile.dep
@@ -1,12 +1,12 @@
-common.o : common.cc
-index.o : index.cc ../include/posix.h ../include/lib.h ../include/cset.h \
- ../include/cmap.h ../include/errarg.h ../include/error.h \
- ../include/refid.h ../include/search.h ../include/index.h \
- ../include/defs.h
-linear.o : linear.cc ../include/posix.h ../include/lib.h \
- ../include/errarg.h ../include/error.h ../include/cset.h \
- ../include/cmap.h ../include/refid.h ../include/search.h
-search.o : search.cc ../include/posix.h ../include/lib.h \
- ../include/errarg.h ../include/error.h ../include/refid.h \
- ../include/search.h
-map.o : map.c
+common.o: common.cc
+index.o: index.cc ../include/posix.h ../include/lib.h \
+ ../include/cset.h ../include/cmap.h ../include/errarg.h \
+ ../include/error.h ../include/refid.h ../include/search.h \
+ ../include/index.h ../include/defs.h
+linear.o: linear.cc ../include/posix.h ../include/lib.h \
+ ../include/errarg.h ../include/error.h ../include/cset.h \
+ ../include/cmap.h ../include/refid.h ../include/search.h
+search.o: search.cc ../include/posix.h ../include/lib.h \
+ ../include/errarg.h ../include/error.h ../include/refid.h \
+ ../include/search.h
+map.o: map.c
diff --git a/libbib/common.cc b/libbib/common.cc
index 25f4078b8..4b2bcca23 100644
--- a/libbib/common.cc
+++ b/libbib/common.cc
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
unsigned hash(const char *s, int len)
{
diff --git a/libbib/index.cc b/libbib/index.cc
index 1766849d5..2c11f06cd 100644
--- a/libbib/index.cc
+++ b/libbib/index.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
@@ -41,7 +41,10 @@ extern "C" {
int unmap(void *, int len);
}
-const int minus_one = -1;
+#if 0
+const
+#endif
+int minus_one = -1;
int verify_flag = 0;
@@ -510,7 +513,8 @@ const int *index_search_item::search(const char *ptr, int length,
return first_list;
if (*second_list < 0)
return second_list;
- for (const int *p = first_list; *p >= 0; p++)
+ const int *p;
+ for (p = first_list; *p >= 0; p++)
;
int len = p - first_list;
for (p = second_list; *p >= 0; p++)
@@ -590,7 +594,8 @@ void index_search_item::read_common_words_file()
void index_search_item::add_out_of_date_file(int fd, const char *filename,
int fid)
{
- for (search_item **pp = &out_of_date_files; *pp; pp = &(*pp)->next)
+ search_item **pp;
+ for (pp = &out_of_date_files; *pp; pp = &(*pp)->next)
if ((*pp)->is_named(filename))
return;
*pp = make_linear_search_item(fd, filename, fid);
diff --git a/libbib/linear.cc b/libbib/linear.cc
index 2aa0584b7..3d2729af1 100644
--- a/libbib/linear.cc
+++ b/libbib/linear.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <string.h>
@@ -58,7 +58,8 @@ static map_init the_map_init;
map_init::map_init()
{
- for (int i = 0; i < 256; i++)
+ int i;
+ for (i = 0; i < 256; i++)
map[i] = csalnum(i) ? cmlower(i) : '\0';
for (i = 0; i < 256; i++) {
if (cslower(i)) {
@@ -175,7 +176,8 @@ static const char *skip_field(const char *end, const char *p)
if (*p++ == '\n') {
if (p == end || *p == '%')
break;
- for (const char *q = p; *q == ' ' || *q == '\t'; q++)
+ const char *q;
+ for (q = p; *q == ' ' || *q == '\t'; q++)
;
if (*q == '\n')
break;
@@ -190,7 +192,8 @@ static const char *find_end(const char *bufend, const char *p)
if (*p++ == '\n') {
if (p == bufend)
break;
- for (const char *q = p; *q == ' ' || *q == '\t'; q++)
+ const char *q;
+ for (q = p; *q == ' ' || *q == '\t'; q++)
;
if (*q == '\n')
break;
@@ -262,7 +265,8 @@ int linear_searcher::check_match(const char *buf, const char *bufend,
*start = p + 1;
return 1;
}
- for (const char *q = p - 1; *q == ' ' || *q == '\t'; q--)
+ const char *q;
+ for (q = p - 1; *q == ' ' || *q == '\t'; q--)
;
if (*q == '\n') {
if (start)
@@ -392,7 +396,8 @@ int linear_searcher::search(const char *buffer, const char *bufend,
if (!found)
break;
const char *refend = find_end(bufend, found + keys[0]->length());
- for (int i = 1; i < nkeys; i++)
+ int i;
+ for (i = 1; i < nkeys; i++)
if (!search_and_check(keys[i], refstart, refend))
break;
if (i >= nkeys) {
diff --git a/libbib/map.c b/libbib/map.c
index 9d0f13f89..3632a11ef 100644
--- a/libbib/map.c
+++ b/libbib/map.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_MMAP
diff --git a/libbib/search.cc b/libbib/search.cc
index ffdd87212..b5363b02d 100644
--- a/libbib/search.cc
+++ b/libbib/search.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdlib.h>
#include <string.h>
@@ -62,7 +62,8 @@ void search_list::add_file(const char *filename, int silent)
p = make_linear_search_item(fd, filename, next_fid);
}
if (p) {
- for (search_item **pp = &list; *pp; pp = &(*pp)->next)
+ search_item **pp;
+ for (pp = &list; *pp; pp = &(*pp)->next)
;
*pp = p;
next_fid = p->next_filename_id();
diff --git a/libdriver/Makefile.dep b/libdriver/Makefile.dep
index 0a675855c..cf2a6959b 100644
--- a/libdriver/Makefile.dep
+++ b/libdriver/Makefile.dep
@@ -1,6 +1,6 @@
-input.o : input.cc ../include/driver.h ../include/errarg.h \
- ../include/error.h ../include/font.h ../include/printer.h \
- ../include/lib.h ../include/device.h
-printer.o : printer.cc ../include/driver.h ../include/errarg.h \
- ../include/error.h ../include/font.h ../include/printer.h \
- ../include/lib.h
+input.o: input.cc ../include/driver.h ../include/errarg.h \
+ ../include/error.h ../include/font.h ../include/printer.h \
+ ../include/lib.h ../include/device.h ../include/cset.h
+printer.o: printer.cc ../include/driver.h ../include/errarg.h \
+ ../include/error.h ../include/font.h ../include/printer.h \
+ ../include/lib.h
diff --git a/libdriver/input.cc b/libdriver/input.cc
index c44fdbee6..6d77b5e6e 100644
--- a/libdriver/input.cc
+++ b/libdriver/input.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "driver.h"
#include "device.h"
@@ -269,7 +269,8 @@ void do_file(const char *filename)
int n;
int *p = 0;
int szp = 0;
- for (int np = 0; possibly_get_integer(&n); np++) {
+ int np;
+ for (np = 0; possibly_get_integer(&n); np++) {
if (np >= szp) {
if (szp == 0) {
szp = 16;
@@ -291,7 +292,8 @@ void do_file(const char *filename)
env.hpos += p[0];
}
else {
- for (int i = 0; i < np/2; i++) {
+ int i;
+ for (i = 0; i < np/2; i++) {
env.hpos += p[i*2];
env.vpos += p[i*2 + 1];
}
diff --git a/libdriver/printer.cc b/libdriver/printer.cc
index f7e0b5fc4..e7547deee 100644
--- a/libdriver/printer.cc
+++ b/libdriver/printer.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "driver.h"
@@ -64,7 +64,8 @@ void printer::load_font(int n, const char *nm)
if (n >= nfonts)
nfonts = n + 1;
font_table = new font *[nfonts];
- for (int i = 0; i < old_nfonts; i++)
+ int i;
+ for (i = 0; i < old_nfonts; i++)
font_table[i] = old_font_table[i];
for (i = old_nfonts; i < nfonts; i++)
font_table[i] = 0;
diff --git a/libgroff/Makefile.dep b/libgroff/Makefile.dep
index f135af7dd..2ddf64057 100644
--- a/libgroff/Makefile.dep
+++ b/libgroff/Makefile.dep
@@ -1,39 +1,39 @@
-assert.o : assert.cc ../include/assert.h
-change_lf.o : change_lf.cc
-cmap.o : cmap.cc ../include/cmap.h
-cset.o : cset.cc ../include/cset.h
-device.o : device.cc ../include/device.h ../include/defs.h
-errarg.o : errarg.cc ../include/assert.h ../include/errarg.h
-error.o : error.cc ../include/errarg.h ../include/error.h
-fatal.o : fatal.cc
-filename.o : filename.cc
-font.o : font.cc ../include/errarg.h ../include/error.h ../include/cset.h \
- ../include/font.h ../include/lib.h
-fontfile.o : fontfile.cc ../include/font.h ../include/lib.h \
- ../include/searchpath.h ../include/device.h ../include/defs.h
-lf.o : lf.cc ../include/cset.h ../include/stringclass.h
-lineno.o : lineno.cc
-macropath.o : macropath.cc ../include/lib.h ../include/searchpath.h \
- ../include/macropath.h ../include/defs.h
-nametoindex.o : nametoindex.cc ../include/lib.h ../include/errarg.h \
- ../include/error.h ../include/font.h ../include/ptable.h
-new.o : new.cc ../include/posix.h
-prime.o : prime.cc
-progname.o : progname.cc
-ptable.o : ptable.cc ../include/ptable.h ../include/errarg.h \
- ../include/error.h
-searchpath.o : searchpath.cc ../include/lib.h ../include/searchpath.h
-string.o : string.cc ../include/stringclass.h ../include/lib.h
-strsave.o : strsave.cc
-tmpfile.o : tmpfile.cc ../include/posix.h ../include/lib.h \
- ../include/errarg.h ../include/error.h
-version.o : version.cc
-illegal.o : illegal.cc ../include/lib.h
-fmod.o : fmod.c
-getcwd.o : getcwd.c
-iftoa.o : iftoa.c
-itoa.o : itoa.c
-matherr.o : matherr.c
-strerror.o : strerror.c
-strtol.o : strtol.c
-putenv.o : putenv.c
+assert.o: assert.cc ../include/assert.h
+change_lf.o: change_lf.cc
+cmap.o: cmap.cc ../include/cmap.h
+cset.o: cset.cc ../include/cset.h
+device.o: device.cc ../include/device.h ../include/defs.h
+errarg.o: errarg.cc ../include/assert.h ../include/errarg.h
+error.o: error.cc ../include/errarg.h ../include/error.h
+fatal.o: fatal.cc
+filename.o: filename.cc
+font.o: font.cc ../include/errarg.h ../include/error.h \
+ ../include/cset.h ../include/font.h ../include/lib.h
+fontfile.o: fontfile.cc ../include/font.h ../include/lib.h \
+ ../include/searchpath.h ../include/device.h ../include/defs.h
+lf.o: lf.cc ../include/cset.h ../include/stringclass.h
+lineno.o: lineno.cc
+macropath.o: macropath.cc ../include/lib.h ../include/searchpath.h \
+ ../include/macropath.h ../include/defs.h
+nametoindex.o: nametoindex.cc ../include/lib.h ../include/errarg.h \
+ ../include/error.h ../include/font.h ../include/ptable.h
+new.o: new.cc ../include/posix.h
+prime.o: prime.cc
+progname.o: progname.cc
+ptable.o: ptable.cc ../include/ptable.h ../include/errarg.h \
+ ../include/error.h
+searchpath.o: searchpath.cc ../include/lib.h ../include/searchpath.h
+string.o: string.cc ../include/stringclass.h ../include/lib.h
+strsave.o: strsave.cc
+tmpfile.o: tmpfile.cc ../include/posix.h ../include/lib.h \
+ ../include/errarg.h ../include/error.h
+version.o: version.cc
+illegal.o: illegal.cc ../include/lib.h
+fmod.o: fmod.c
+getcwd.o: getcwd.c
+iftoa.o: iftoa.c
+itoa.o: itoa.c
+matherr.o: matherr.c
+strerror.o: strerror.c
+strtol.o: strtol.c
+putenv.o: putenv.c
diff --git a/libgroff/assert.cc b/libgroff/assert.cc
index ed39dbad7..89742e32c 100644
--- a/libgroff/assert.cc
+++ b/libgroff/assert.cc
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <stdlib.h>
diff --git a/libgroff/change_lf.cc b/libgroff/change_lf.cc
index cc0fb927c..2e44af1d5 100644
--- a/libgroff/change_lf.cc
+++ b/libgroff/change_lf.cc
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <string.h>
diff --git a/libgroff/cmap.cc b/libgroff/cmap.cc
index ce834cca0..4b75d06f1 100644
--- a/libgroff/cmap.cc
+++ b/libgroff/cmap.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <ctype.h>
#include "cmap.h"
diff --git a/libgroff/cset.cc b/libgroff/cset.cc
index fcba1642e..e4845c110 100644
--- a/libgroff/cset.cc
+++ b/libgroff/cset.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <ctype.h>
#include "cset.h"
diff --git a/libgroff/device.cc b/libgroff/device.cc
index b86ef1e35..7efbfef25 100644
--- a/libgroff/device.cc
+++ b/libgroff/device.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdlib.h>
#include "device.h"
diff --git a/libgroff/errarg.cc b/libgroff/errarg.cc
index 995d55d2a..ea30c370b 100644
--- a/libgroff/errarg.cc
+++ b/libgroff/errarg.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include "assert.h"
diff --git a/libgroff/error.cc b/libgroff/error.cc
index f0c69980a..53fd62984 100644
--- a/libgroff/error.cc
+++ b/libgroff/error.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <stdlib.h>
diff --git a/libgroff/fatal.cc b/libgroff/fatal.cc
index 2087a84ff..42560dcaf 100644
--- a/libgroff/fatal.cc
+++ b/libgroff/fatal.cc
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdlib.h>
diff --git a/libgroff/fmod.c b/libgroff/fmod.c
index 74c5c36b6..818f946ed 100644
--- a/libgroff/fmod.c
+++ b/libgroff/fmod.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <math.h>
diff --git a/libgroff/font.cc b/libgroff/font.cc
index 55c772d2c..95da6b799 100644
--- a/libgroff/font.cc
+++ b/libgroff/font.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
@@ -246,7 +246,8 @@ int font::get_width(int c, int point_size)
if (!widths_cache)
widths_cache = new font_widths_cache(point_size, ch_size);
else if (widths_cache->point_size != point_size) {
- for (font_widths_cache **p = &widths_cache; *p; p = &(*p)->next)
+ font_widths_cache **p;
+ for (p = &widths_cache; *p; p = &(*p)->next)
if ((*p)->point_size == point_size)
break;
if (*p) {
@@ -398,7 +399,8 @@ void font::extend_ch()
void font::compact()
{
- for (int i = nindices - 1; i >= 0; i--)
+ int i;
+ for (i = nindices - 1; i >= 0; i--)
if (ch_index[i] >= 0)
break;
i++;
@@ -728,7 +730,8 @@ int font::load_desc()
while (t.next()) {
char *p = strtok(t.buf, WS);
int found = 0;
- for (int i = 0; !found && i < sizeof(table)/sizeof(table[0]); i++)
+ int i;
+ for (i = 0; !found && i < sizeof(table)/sizeof(table[0]); i++)
if (strcmp(table[i].command, p) == 0)
found = 1;
if (found) {
@@ -830,7 +833,8 @@ int font::load_desc()
else if (strcmp("styles", p) == 0) {
int style_table_size = 5;
style_table = (const char **)new char *[style_table_size];
- for (int j = 0; j < style_table_size; j++)
+ int j;
+ for (j = 0; j < style_table_size; j++)
style_table[j] = 0;
int i = 0;
for (;;) {
diff --git a/libgroff/fontfile.cc b/libgroff/fontfile.cc
index 5353958db..e86579aee 100644
--- a/libgroff/fontfile.cc
+++ b/libgroff/fontfile.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
diff --git a/libgroff/iftoa.c b/libgroff/iftoa.c
index ac37183a4..75cd5e44d 100644
--- a/libgroff/iftoa.c
+++ b/libgroff/iftoa.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define INT_DIGITS 19 /* enough for 64-bit integer */
diff --git a/libgroff/itoa.c b/libgroff/itoa.c
index e10d9dcfb..69f21cc88 100644
--- a/libgroff/itoa.c
+++ b/libgroff/itoa.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define INT_DIGITS 19 /* enough for 64 bit integer */
diff --git a/libgroff/lf.cc b/libgroff/lf.cc
index 9f1a84882..34272c7d0 100644
--- a/libgroff/lf.cc
+++ b/libgroff/lf.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <string.h>
#include <ctype.h>
@@ -45,7 +45,8 @@ int interpret_lf_args(const char *p)
change_lineno(ln);
return 1;
}
- for (const char *q = p;
+ const char *q;
+ for (q = p;
*q != '\0' && *q != ' ' && *q != '\n' && *q != '\\';
q++)
;
diff --git a/libgroff/macropath.cc b/libgroff/macropath.cc
index d6e6774fe..4fd22a30a 100644
--- a/libgroff/macropath.cc
+++ b/libgroff/macropath.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "lib.h"
#include "searchpath.h"
diff --git a/libgroff/matherr.c b/libgroff/matherr.c
index 1f334f405..b0097b8b5 100644
--- a/libgroff/matherr.c
+++ b/libgroff/matherr.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <math.h>
#include <errno.h>
diff --git a/libgroff/nametoindex.cc b/libgroff/nametoindex.cc
index 827e15a1e..694cab94b 100644
--- a/libgroff/nametoindex.cc
+++ b/libgroff/nametoindex.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
@@ -51,7 +51,8 @@ private:
character_indexer::character_indexer()
: next_index(0)
{
- for (int i = 0; i < 256; i++)
+ int i;
+ for (i = 0; i < 256; i++)
ascii_index[i] = -1;
for (i = 0; i < NSMALL; i++)
small_number_index[i] = -1;
diff --git a/libgroff/new.cc b/libgroff/new.cc
index 21b533e49..d26db2f5a 100644
--- a/libgroff/new.cc
+++ b/libgroff/new.cc
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stddef.h>
#include <stdlib.h>
diff --git a/libgroff/ptable.cc b/libgroff/ptable.cc
index a6086de99..76735c242 100644
--- a/libgroff/ptable.cc
+++ b/libgroff/ptable.cc
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ptable.h"
#include "errarg.h"
@@ -44,7 +44,8 @@ static const unsigned table_sizes[] = {
unsigned next_ptable_size(unsigned n)
{
- for (const unsigned *p = table_sizes; *p <= n; p++)
+ const unsigned *p;
+ for (p = table_sizes; *p <= n; p++)
if (*p == 0)
fatal("cannot expand table");
return *p;
diff --git a/libgroff/searchpath.cc b/libgroff/searchpath.cc
index eb7a6690c..730b5d996 100644
--- a/libgroff/searchpath.cc
+++ b/libgroff/searchpath.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
diff --git a/libgroff/strerror.c b/libgroff/strerror.c
index de42b8384..63ef056cf 100644
--- a/libgroff/strerror.c
+++ b/libgroff/strerror.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
diff --git a/libgroff/string.cc b/libgroff/string.cc
index e20e24906..7d1471a7c 100644
--- a/libgroff/string.cc
+++ b/libgroff/string.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include "stringclass.h"
@@ -281,7 +281,8 @@ char *string::extract() const
char *p = ptr;
int n = len;
int nnuls = 0;
- for (int i = 0; i < n; i++)
+ int i;
+ for (i = 0; i < n; i++)
if (p[i] == '\0')
nnuls++;
char *q = new char[n + 1 - nnuls];
diff --git a/libgroff/strsave.cc b/libgroff/strsave.cc
index 5a4b5da82..dfd2b6f40 100644
--- a/libgroff/strsave.cc
+++ b/libgroff/strsave.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <string.h>
diff --git a/libgroff/strtol.c b/libgroff/strtol.c
index ffe354ed8..071bade8d 100644
--- a/libgroff/strtol.c
+++ b/libgroff/strtol.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <string.h>
#include <ctype.h>
diff --git a/libgroff/tmpfile.cc b/libgroff/tmpfile.cc
index bd6f8ad69..280d87c5e 100644
--- a/libgroff/tmpfile.cc
+++ b/libgroff/tmpfile.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <errno.h>
diff --git a/lkbib/Makefile.dep b/lkbib/Makefile.dep
index b6845ea50..19d441a24 100644
--- a/lkbib/Makefile.dep
+++ b/lkbib/Makefile.dep
@@ -1,2 +1,3 @@
-lkbib.o : lkbib.cc ../include/lib.h ../include/errarg.h ../include/error.h \
- ../include/defs.h ../include/refid.h ../include/search.h
+lkbib.o: lkbib.cc ../include/lib.h ../include/errarg.h \
+ ../include/error.h ../include/defs.h ../include/refid.h \
+ ../include/search.h
diff --git a/lkbib/lkbib.cc b/lkbib/lkbib.cc
index 74459b730..6cba5e58e 100644
--- a/lkbib/lkbib.cc
+++ b/lkbib/lkbib.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdlib.h>
#include <stdio.h>
@@ -96,7 +96,8 @@ int main(int argc, char **argv)
if (list.nfiles() == 0)
fatal("no databases");
int total_len = 0;
- for (int i = optind; i < argc; i++)
+ int i;
+ for (i = optind; i < argc; i++)
total_len += strlen(argv[i]);
total_len += argc - optind - 1 + 1; // for spaces and '\0'
char *buffer = new char[total_len];
@@ -110,7 +111,8 @@ int main(int argc, char **argv)
search_list_iterator iter(&list, buffer);
const char *start;
int len;
- for (int count = 0; iter.next(&start, &len); count++) {
+ int count;
+ for (count = 0; iter.next(&start, &len); count++) {
if (fwrite(start, 1, len, stdout) != len)
fatal("write error on stdout: %1", strerror(errno));
// Can happen for last reference in file.
diff --git a/lkbib/lkbib.man b/lkbib/lkbib.man
index 6450764c3..f16a77ec6 100644
--- a/lkbib/lkbib.man
+++ b/lkbib/lkbib.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.ds g \" empty
.ds G \" empty
.\" Like TP, but if specified indent is more than half
diff --git a/lookbib/Makefile.dep b/lookbib/Makefile.dep
index e6597d4ea..341a3b973 100644
--- a/lookbib/Makefile.dep
+++ b/lookbib/Makefile.dep
@@ -1,2 +1,3 @@
-lookbib.o : lookbib.cc ../include/errarg.h ../include/error.h \
- ../include/lib.h ../include/cset.h ../include/refid.h ../include/search.h
+lookbib.o: lookbib.cc ../include/errarg.h ../include/error.h \
+ ../include/lib.h ../include/cset.h ../include/refid.h \
+ ../include/search.h
diff --git a/lookbib/lookbib.cc b/lookbib/lookbib.cc
index e721e9454..7154a0178 100644
--- a/lookbib/lookbib.cc
+++ b/lookbib/lookbib.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <stdlib.h>
@@ -106,7 +106,8 @@ int main(int argc, char **argv)
search_list_iterator iter(&list, line);
const char *start;
int len;
- for (int count = 0; iter.next(&start, &len); count++) {
+ int count;
+ for (count = 0; iter.next(&start, &len); count++) {
if (fwrite(start, 1, len, stdout) != len)
fatal("write error on stdout: %1", strerror(errno));
// Can happen for last reference in file.
diff --git a/lookbib/lookbib.man b/lookbib/lookbib.man
index 641f5bc3c..465990bae 100644
--- a/lookbib/lookbib.man
+++ b/lookbib/lookbib.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH @G@LOOKBIB @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
@g@lookbib \- search bibliographic databases
diff --git a/man/groff_char.man b/man/groff_char.man
index b722f9138..18085dce7 100644
--- a/man/groff_char.man
+++ b/man/groff_char.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.\" For best results, print this with groff.
.ds aq \(aq
.ie !\n(.g .if '\(aq'' .ds aq \'
@@ -503,6 +520,7 @@ Output Input Input PostScript Notes
.C2 md dotmath
.C2 mo element
.C2 mu multiply
+.C2 nb notsubset
.C2 nc notpropersuperset
.C2 ne notequivalence
.C2 nm notelement
diff --git a/man/groff_font.man b/man/groff_font.man
index a0b0cf481..97b648027 100644
--- a/man/groff_font.man
+++ b/man/groff_font.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.de TQ
.br
.ns
diff --git a/man/groff_out.man b/man/groff_out.man
index 209ee3d80..ccc59ab95 100644
--- a/man/groff_out.man
+++ b/man/groff_out.man
@@ -1,5 +1,22 @@
'\" e
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.\" This man page must be preprocessed with eqn.
.ie \n(.g .ds ic \/
.el .ds ic \^
diff --git a/mm/ChangeLog b/mm/ChangeLog
index 1eb5be4fd..5320294ae 100644
--- a/mm/ChangeLog
+++ b/mm/ChangeLog
@@ -1,3 +1,62 @@
+Tue Jan 10 07:51:37 1995 Jörgen Hägg (jh at axis.se)
+
+ * version 1.27
+ * Manual updated
+ * More bugs fixed in DS/DF
+ * added alias for :g
+ * LC can now be used without argument (as the manual says. :-)
+ * Register :R now supported (RS/RF)
+ * footnote line was printed even if there was no room for
+ any footnotes. Fixed.
+ * Fixed 1C so that it can be used without page eject
+ * Added support for EOP (TPs twin)
+ * Hyphenation turned off by default. (Hy == 0)
+
+Fri Nov 4 08:14:50 1994 Jörgen Hägg (jh at axis.se)
+
+ * version 1.25
+ * DS/DF separated and several bugs fixed. Watch out for new though. :-)
+ * string DT was emptied by mistake in the previous version.
+ * RD made prettier.
+ * typo in AV and let@print-head fixed.
+
+Mon Oct 31 08:19:24 1994 Jörgen Hägg (jh at axis.se)
+
+ * version 1.24
+ * Bug fixed and format extended in .SG and .FC.
+ * date is always printed unless .ND without argument is used.
+ (I wonder what's the right thing to do, this might change.)
+ * Swedish letter-standards implemented in tmac.mse.
+ * .ND can be used to turn off the date. (Empty argument)
+
+Mon Oct 31 08:14:09 1994 Jörgen Hägg (jh at axis.se)
+
+ * version 1.23
+ * An attempt to get in sync with RCS. This is the distributed
+ version.
+
+Thu Oct 27 08:29:34 1994 Jörgen Hägg (jh at axis.se)
+
+ * version 1.22
+ * (version 1.21 lost... :-)
+ * Letter macros added!!
+ * The following macros are added:
+ * AV, FC, IA ,IE, LT, LO, NE, NS, SG, WA, WE
+ * nP also added.
+
+Tue Dec 14 16:26:36 1993 Joergen Haegg (jh at efd.lth.se)
+
+ * version 1.20
+ * spelling-corrections
+ * Makefile.sim updated to the correct version, and a uninstall
+ target added.
+ * @cur-lib removed from tmac.m (obsolete)
+ * fixed check for references i .TC, .RP now resets the flag correctly.
+ * floating display should now be printed if there is space.
+ * first version using RCS. I've been avoiding version control until it
+ became necessary.
+ * WC WD now works in two-column-mode.
+
Tue Sep 7 08:37:00 1993 Jörgen Hägg (jh at efd.lth.se)
* version 1.19
diff --git a/mm/Makefile.sub b/mm/Makefile.sub
index 25b5ba05a..60307cd1b 100644
--- a/mm/Makefile.sub
+++ b/mm/Makefile.sub
@@ -1,4 +1,6 @@
#
+# $Id: Makefile.sub,v 1.27 1995/04/24 05:37:46 jh Exp $
+#
MAN7=groff_mm.n groff_mmse.n
FILES=0.MT 5.MT 4.MT ms.cov se_ms.cov
# Local configuration files with default values.
@@ -18,10 +20,10 @@ install_mm: install_m
install_m:
-test -d $(tmacdir) || mkdir $(tmacdir)
- -rm -f $(tmacdir)/tmac.$(tmac_m)
- $(INSTALL_DATA) $(srcdir)/tmac.m $(tmacdir)/tmac.$(tmac_m)
- @sed -e "s;^.mso tmac.m;.mso $(tmac_m);g" $(srcdir)/tmac.mse \
- > $(tmacdir)/tmac.$(tmac_m)se
+ -rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m
+ $(INSTALL_DATA) $(srcdir)/tmac.m $(tmacdir)/tmac.$(tmac_m_prefix)m
+ @sed -e "s;^.mso tmac.m;.mso $(tmac_m_prefix)m;g" $(srcdir)/tmac.mse \
+ > $(tmacdir)/tmac.$(tmac_m_prefix)mse
@@ -30,6 +32,6 @@ uninstall_sub:
-for f in $(LOCALE); do \
test -s $(tmacdir)/mm/$$f || rm -f $(tmacdir)/mm/$$f; \
done
- -rm -f $(tmacdir)/tmac.$(tmac_m)
- -rm -f $(tmacdir)/tmac.$(tmac_m)se
+ -rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m
+ -rm -f $(tmacdir)/tmac.$(tmac_m_prefix)mse
-rmdir $(tmacdir)/mm
diff --git a/mm/NOTES b/mm/NOTES
index ee258d349..43794a29c 100644
--- a/mm/NOTES
+++ b/mm/NOTES
@@ -1,4 +1,6 @@
######################################################################
+Beware!
+This may be old information. Trust only the source. :-)
Implementation notes. (Or how to make your own national mm)
diff --git a/mm/README b/mm/README
index 54b32d211..f08f68d48 100644
--- a/mm/README
+++ b/mm/README
@@ -1,9 +1,10 @@
+
This is mgm, a macro package for groff.
It is supposed to be compatible with the DWB mm macros,
and has several extensions.
-Send bug reports to jh@efd.lth.se with a description of the problem
+Send bug reports to jh@axis.se with a description of the problem
and a sample of text which reproduces the error.
Don't forget to mention the version of mgm (look in the beginning
@@ -23,4 +24,4 @@ This README should be bigger :-)
Jörgen.
-Thanks to everyone who have send me bug-reports and fixes.
+Thanks to everyone who have sent me bug-reports and fixes.
diff --git a/mm/groff_mm.man b/mm/groff_mm.man
index 0ef488bdb..a2ae4af55 100644
--- a/mm/groff_mm.man
+++ b/mm/groff_mm.man
@@ -1,9 +1,41 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1991-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" $Id: groff_mm.man,v 1.27 1995/04/24 05:37:46 jh Exp $
+.\"
+.de T2
+.ne 2v
+.ti -.5i
+\\$1
+.sp -1
+..
+.de T3
+.ne 2v
+.ti -.5i
+\fB\\$1\fP
+.br
+..
.TH GROFF_MM @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
groff_mm \- groff mm macros
.SH SYNOPSIS
.B groff
-.B \-m@TMAC_M@
+.B \-m@TMAC_M_PREFIX@m
[
.IR options .\|.\|.
]
@@ -15,9 +47,6 @@ The groff mm macros are intended to be compatible with the DWB mm macros
with the following limitations:
.TP
.B \(bu
-no letter macros implemented (yet).
-.TP
-.B \(bu
no Bell Labs localisms implemented.
.TP
.B \(bu
@@ -26,14 +55,108 @@ the macros OK and PM is not implemented.
.B \(bu
groff mm does not support cut marks
.LP
-\fBm@TMAC_M@\fP is intended to be international. Therefore it is
+\fBm@TMAC_M_PREFIX@m\fP is intended to be international. Therefore it is
possible to write short national macrofiles which change all
-english text to the preferred language. Use \fBm@TMAC_M@se\fP as an example.
+english text to the preferred language. Use \fBm@TMAC_M_PREFIX@mse\fP as an example.
+.LP
+New macros: \fBAPP\fP, \fBAPPSK\fP, \fBB1\fP, \fBB2\fP, \fBBVL\fP,
+\fBCOVER\fP, \fBCOVEND\fP, \fBGETHN\fP, \fBGETPN\fP, \fBGETR\fP,
+\fBGETST\fP, \fBINITR\fP, \fBMC\fP, \fBMOVE\fP, \fBMULB\fP,
+\fBMULN\fP, \fBMULE\fP, \fBPGFORM\fP, \fBPGNH\fP, \fBSETR\fP,
+\fBTAB\fP, \fBVERBON\fP, \fBVERBOFF\fP.
.LP
-Groff mm has several extensions:
+.\"########################################################################
+.LP
+A file called \fBlocale\fP or \fIlang\fP\fB_locale\fP is read
+after the initiation of the global variables. It is therefore
+possible to localize the macros with companyname and so on.
+.sp
+In this manual square brackets is used to show optional arguments.
+.sp 3
+\fBNumber registers and strings\fP
+.br
+Many macros can be controlled by number registers and strings.
+A number register is assigned with the \fBnr\fP command:
+.br
+\fB\&.nr\fP \fIXXX\fP \fI[+-]n [i]\fP
+.br
+\fBXXX\fP is the name of the register, \fBn\fP is the value to
+be assigned, and \fBi\fP is increment value for auto-increment.
+\fBn\fP can have a plus or minus sign as prefix if an increment
+or decrement of the current value is wanted. (Auto-increment or decrement
+occurs if the number register is used with a plus or minus sign,
+\fB\en+[XXX]\fP or \fB\en-[XXX]\fP.)
+.sp
+Strings is defined with \fBds\fP.
+.br
+\fB\&.ds\fP \fIYYY string\fP
+.br
+The string is assigned everything to the end of the line, even blanks.
+Initial blanks in \fIstring\fP should be prefixed with
+a double-quote. (Strings are used in the text as \fB\e*[YYY]\fP.)
+.sp
+\fBSpecial formatting of number registers\fP
+A number register is printed with normal digits if no format has been
+given.
+Set the format with \fBaf\fP:
+.br
+\fB\&.af\fP \fIR c\fP
+.br
+\fIR\fP is the name of the register, \fIc\fP is the format.
+.in +.5i
+.T2 \fBForm\fP
+\fBSequence\fP
+.T2 1
+0, 1, 2, 3, ...
+.T2 001
+000, 001, 002, 003, ...
+.T2 i
+0, i, ii, iii, iv, ...
+.T2 I
+0, I, II, III, IV, ...
+.T2 a
+0, a, b, c, ..., z, aa, ab, ...
+.T2 A
+0, A, B, C, ..., Z, AA, AB, ...
+.in
+
+.LP
+\fBMacros:\fP
.TP
.B "1C [1]"
-Begin one column processing. An \fB1\fP as argmunet disabled the page-break.
+Begin one column processing. An \fB1\fP as argument disables the page-break.
+Use wide footnotes, small footnotes may be overprinted.
+.TP
+.B 2C
+Begin two column processing. Splits the page in two columns. It is
+a special case of \fBMC\fP. See also \fB1C\fP.
+.TP
+.B AE
+Abstract end, see \fBAS\fP.
+.TP
+.B "AF [name of firm]"
+Authors firm, should be called before \fBAU\fP, see also \fBCOVER\fP.
+.TP
+.B "AL [type [text-indent [1]]]]"
+Start autoincrement list. Items are numbered beginning on one.
+The \fItype\fP argument controls the type of numbers.
+.in +.5i
+.T2 Arg
+Description
+.T2 1
+Arabic (the default)
+.T2 A
+Upper-case letters (A-Z)
+.T2 a
+Lower-case letters (a-z)
+.T2 I
+Upper-case roman
+.T2 i
+Lower-case roman
+.in
+\fIText-indent\fP sets the indent and overrides \fBLi\fP.
+A third argument will prohibit printing of a blank line before each
+item.
.TP
.B "APP name text"
Begin an appendix with name \fIname\fP. Automatic naming occurs if
@@ -49,17 +172,94 @@ Same as \fB.APP\fP, but the pagenr is incremented with \fIpages\fP.
This is used when diagrams or other non-formatted documents are
included as appendixes.
.TP
+.B "AS [arg [indent]]"
+Abstract start. Indent is specified in 'ens', but scaling is allowed.
+Argument \fIarg\fP controls where the abstract is printed.
+.in +.5i
+.T2 Arg
+Placement
+.T2 0
+Abstract will be printed on page 1 and con the cover sheet if
+used in the released-paper style (\fBMT 4\fP), otherwise
+it will be printed on page 1 without a cover sheet.
+.T2 1
+Abstract will only be printed on page 1 (\fBMT 4\fP only).
+.T2 2
+Abstract will be printed only on the cover sheet. The cover sheet
+is printed without need for \fBCS\fP.
+.in
+Abstract is not printed at all in external letters (\fBMT 5\fP).
+The \fIindent\fP controls the indentation of both margins, otherwise
+will normal text indent be used.
+.TP
+.B "AST [title]"
+Abstract title. Default is \fBABSTRACT\fP.
+Sets the text above the abstract text.
+.TP
+.B "AT title1 [title2 ...]"
+Authors title. \fBAT\fP must appear just after each \fBAU\fP.
+The title will show up after the name in the signature block.
+.TP
+.B "AU name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]"
+Author information, specifies the author of the memo or paper, and
+will be printed on the cover sheet and on other similar places.
+\fBAU\fP must appear before \fBTL\fP. The author information
+can contain intials, location, department, telephone extension,
+room number or name and up to three extra arguments.
+.TP
+.B "AV [name [1]]"
+Approval signature, generates an approval line with place for
+signature and date. The string \fBAPPROVED:\fP can be changed
+with variable \fBLetapp\fP, and the string \fBDate\fP in \fBLetdate\fP.
+.TP
+.B "B [bold-text [prev-font-tex [bold...]]]"
+Begin boldface
+No limit on the number of arguments.
+All arguments will be concatenated to one word, the first, third and so
+on will be printed in boldface.
+.TP
.B B1
Begin box (as the ms macro)
-Draws a box around the text.
+Draws a box around the text. The text will be indented one character,
+and the right margin will be one character shorter.
.TP
.B B2
-End box. Finish the box.
+End box. Finish the box started by \fBB1\fP.
+.TP
+.B BE
+End bottom block, see \fBBS\fP.
+.TP
+.B "BI [bold-text [italic-text [bold-text [...]]]"
+Bold-italic.
+No limit on the number of arguments, see \fBB\fP.
+.TP
+.B "BL [text-indent [1]]"
+Start bullet list, initialize a list with a bullet and a space
+in the beginning of each list item (see \fBLI\fP).
+\fIText-indent\fP
+overrides the default indentation of the list items set by
+number register \fBPi\fP.
+A third argument will prohibit printing of a blank line before each
+item.
+.TP
+.B "BR [bold-text [roman-text [bold-text [...]]]"
+Bold-roman.
+No limit on the number of arguments.
+.TP
+.B BS
+Bottom block start. Begins the definition of a text block wich is
+printed at the bottom of each page. Block ends with \fBBE\fP.
.TP
.B BVL
Start of
broken variable-item list.
-As VL but text begins always at the next line
+Broken variable-item list has no fixed mark, it assumes that
+every \fBLI\fP has a mark instead.
+The text will always begin at the next line after the mark.
+\fIText-indent\fP sets the indent to the text, and \fImark-indent\fP
+the distance from the current indent to the mark.
+A third argument will prohibit printing of a blank line before each
+item.
.TP
.B "COVER [arg]"
\&\fBCOVER\fP begins a coversheet definition. It is important
@@ -86,316 +286,214 @@ However, only \fB.TL\fP and \fB.AU\fP are required.
This finish the cover description and prints the cover-page.
It is defined in the cover file.
.TP
-.B "GETHN refname [varname]"
-Includes the headernumber where the corresponding \fBSETR\fP \fIrefname\fP
-was placed. Will be X.X.X. in pass 1. See \fBINITR\fP.
-If varname is used, \fBGETHN\fP sets the stringvariable \fIvarname\fP to the
-headernumber.
-.TP
-.B "GETPN refname [varname]"
-Includes the pagenumber where the corresponding \fBSETR\fP \fIrefname\fP
-was placed. Will be 9999 in pass 1. See \fBINITR\fP.
-If varname is used, \fBGETPN\fP sets the stringvariable \fIvarname\fP
-to the pagenumber.
-.TP
-.B "GETR refname"
-Combines \fBGETHN\fP and \fBGETPN\fP with the text 'chapter' and ', page'.
-The string \fIQrf\fP contains the text for reference:
-.ti +.5i
-\&.ds Qrf See chapter \e\e*[Qrfh], page \e\e*[Qrfp].
-.br
-\fIQrf\fP may be changed to support other languages.
-Strings \fIQrfh\fP and \fIQrfp\fP are set by \fBGETR\fP
-and contains the page and headernumber.
-.TP
-.B "GETST refname [varname]"
-Includes the string saved with the second argument to \fB.SETR\fP.
-Will be dummystring in pass 1.
-If varname is used, \fBGETST\fP sets the stringvariable \fIvarname\fP to the
-saved string. See \fBINITR\fP.
-.TP
-.B "INITR filename"
-Initialize the refencemacros. References will be written to
-\fIfilename.tmp\fP and \fIfilename.qrf\fP. Requires two passes with groff.
-The first looks for references and the second includes them.
-\fBINITR\fP can be used several times, but it is only the first
-occurrence of \fBINITR\fP that is active.
-See also \fBSETR\fP, \fBGETPN\fP and \fBGETHN\fP.
-.TP
-.B "MC column-size [column-separation] "
-Begin multiple columns. Return to normal with 1C.
-.TP
-.B "MT [arg [addressee]]"
-Memorandum type.
-The \fIarg\fP is part of a filename in \fI@TMAC_MDIR@/*.MT\fP.
-Memorandum type 0 thru 5 are supported, including \fI"string"\fP.
-\fIAddresse\fP just sets a variable, used in the AT&T macros.
-.TP
-.B "MOVE y-pos [x-pos [line-length]]"
-Move to a position, pageoffset set to \fIx-pos\fP.
-If \fIline-length\fP is not given, the difference between
-current and new pageoffset is used.
-Use \fBPGFORM\fP without arguments to return to normal.
-.TP
-.B "MULB cw1 space1 [cw2 space2 [cw3 ...]]"
-Begin a special multi-column mode. Every columns width must be specified.
-Also the space between the columns must be specified. The last column
-does not need any space-definition. MULB starts a diversion and MULE
-ends the diversion and prints the columns.
-The unit for width and space is 'n', but MULB accepts all
-normal unitspecifications like 'c' and 'i'.
-MULB operates in a separate environment.
-.TP
-.B "MULN"
-Begin the next column. This is the only way to switch column.
-.TP
-.B "MULE"
-End the multi-column mode and print the columns.
-.TP
-.B "PGFORM [linelength [pagelength [pageoffset [1]]]]"
-Sets linelength, pagelength and/or pageoffset.
-This macro can be used for special formatting, like letterheads
-and other.
-\fBPGFORM\fP can be used without arguments
-to reset everything after a \fBMOVE\fP.
-A line-break is done unless the fourth argument is given.
-This can be used to avoid the pagenumber on the first page while setting
-new width and length.
-.TP
-.B PGNH
-No header is printed on the next page. Used to get rid off
-the header in letters or other special texts
-This macro must be used before any text to inhibit the pageheader
-on the first page.
-.TP
-.B "SETR refname [string]"
-Remember the current header and page-number as refname.
-Saves \fIstring\fP if \fIstring\fP is defined. \fIstring\fP is retrieved
-with \fB.GETST\fP.
-See \fBINITR\fP.
-.TP
-.B TAB
-reset tabs to every 5n. Normally used to reset any previous tabpositions.
+.B DE
+Display end. Ends a block of text, display, that begins
+with \fBDS\fP or \fBDF\fP.
.TP
-.B VERBON [flag [pointsize [font]]]
-Begin verbatim output using courier font.
-Usually for printing programs.
-All character has equal width.
-The pointsize can be changed with
-the second argument. By specifying the font-argument
-it is possible to use another font instead of courier.
-\fIflag\fP control several special features.
-It contains the sum of all wanted features.
+.B "DF [format [fill [rindent]]]"
+Begin floating display (no nesting allowed).
+A floating display is saved in a queue and is printed in the
+order entered. \fIFormat\fP, \fIfill\fP and \fIrindent\fP is the same
+as in \fBDS\fP.
+Floating displays are controlled by the two number registers \fBDe\fP
+and \fBDf\fP.
+.sp
+\fBDe register\fP
.in +.5i
-.ti -.5i
-Value
-.sp -1
-Description
-.ti -.5i
-1
-.sp -1
-Disable the escape-character (\e). This is normally turned on during
-verbose output.
-.ti -.5i
-2
-.sp -1
-Add en empty line before the verbose text.
-.ti -.5i
-4
-.sp -1
-Add en empty line after the verbose text.
-.ti -.5i
-8
-.sp -1
-Print the verbose text with numbered lines. This adds four digitsized
-spaces in the beginning of each line. Finer control is available with
-the string-variable \fBVerbnm\fP. It contains all arguments to the
-\fBtroff\fP-command \fB.nm\fP, normally '1'.
-.ti -.5i
-16
-.sp -1
-Indent the verbose text with five 'n':s. This is controlled by the
-number-variable \fBVerbin\fP (in units).
+.T2 0
+Nothing special, this is the default.
+.T2 1
+A page eject will occur after each printed display, giving only
+one display per page and no text following it.
.in
-.TP
-.B VERBOFF
-End verbatim output.
.sp
-.LP
-.\"########################################################################
-New variables in m@TMAC_M@:
-.TP
-.B App
-A string containing the word "APPENDIX".
-.TP
-.B Aph
-Print an appendix-page for every new appendix
-if this numbervariable is non-zero.
-No output will occur if \fBAph\fP is zero, but there will always
-be an appendix-entry in the 'List of contents'.
-.TP
-.B Hps
-Numbervariable with the heading pre-space level. If the heading-level
-is less than or equal to \fBHps\fP, then two lines will precede the
-section heading instead of one. Default is first level only.
-The real amount of lines is controlled by the variables \fBHps1\fP and
-\fBHps2\fP.
-.TP
-.B Hps1
-This is the number of lines preceding \fB.H\fP when the heading-level
-is greater than \fBHps\fP. Value is in units, normally 0.5v.
-.TP
-.B Hps2
-This is the number of lines preceding \fB.H\fP when the heading-level
-is less than or equal to \fBHps\fP. Value is in units, normally 1v.
-.TP
-.B Lifg
-String containing \fIFigure\fP.
-.TP
-.B Litb
-String containing \fITABLE\fP.
-.TP
-.B Liex
-String containing \fIExhibit\fP.
-.TP
-.B Liec
-String containing \fIEquation\fP.
-.TP
-.B Licon
-String containing \fICONTENTS\fP.
-.TP
-.B Lsp
-.TP
-The size of an empty line. Normally 0.5v, but it is 1v
-if \fBn\fP is set (\fB.nroff\fP).
-.B "MO1 - MO12"
-Strings containing \fIJanuary\fI to \fIDecember\fP.
-.TP
-.B Qrf
-String containing "See chapter \e\e*[Qrfh], page \e\en[Qrfp].".
-.TP
-.B Pgps
-Controls whether header and footer pointsize should follow the current
-setting or just change when the header and footer is defined.
+\fBDf register\fP
.in +.5i
-.ti -.5i
-Value
-.sp -1
-Description
-.ti -.5i
-0
-.sp -1
-Pointsize will only change to the current setting when \fB.PH\fP, \fB.PF\fP,
-\&\fB.OH\fP, \fP.EH\fP, \fB.OF\fP or \fB.OE\fP is executed.
-.ti -.5i
-1
-.sp -1
-Pointsize will change after every \fB.S\fP. This is the default.
-.ti -.5i
+.T2 0
+Displays are printed at the end of each section (when section-page
+numbering is active) or at the end of the document.
+.T2 1
+A new display will be printed on the current page is there is enough
+space, otherwise it will be printed at the end of the document.
+.T2 2
+One display will be printed at the top of each page or column
+(in multi-column mode).
+.T2 3
+Print one display if there is enough space for it, otherwise it will
+be printed at the top of the next page or column.
+.T2 4
+Print as many displays that will fit in a new page or column.
+A page break will occur between each display if \fBDe\fP is not zero.
+.T2 5
+Fill the current page with displays and the rest beginning at a new page
+or column. (This is the default.)
+A page break will occur between each display
+if \fBDe\fP is not zero.
.in
.TP
-.B Sectf
-Flag controlling "section-figures". A non-zero value enables this.
-Se also register N.
-.TP
-.B Sectp
-Flag controlling "section-page-numbers". A non-zero value enables this.
-Se also register N.
-.TP
-.B .mgm
-Always 1.
-.\"########################################################################
-.LP
-A file called \fBlocale\fP or \fIlang\fP\fB_locale\fP is read
-after the initiation of the global variables. It is therefore
-possible to localize the macros with companyname and so on.
-.sp 3
-.LP
-The following standard macros are implemented:
-.TP
-.B 2C
-Begin two column processing
-.TP
-.B AE
-Abstract end
-.TP
-.B "AF [name of firm]"
-Authors firm
-.TP
-.B "AL [type [text-indent [1]]]]"
-Start autoincrement list
-.TP
-.B "AS [arg [indent]]"
-Abstract start. Indent is specified in 'ens', but scaling is allowed.
-.TP
-.B "AST [title]"
-Abstract title. Default is 'ABSTRACT'.
-.TP
-.B "AT title1 [title2 ...]"
-Authors title
-.TP
-.B "AU name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]"
-Author information
-.TP
-.B "B [bold-text [prev-font-tex [...]]]"
-Begin boldface
-No limit on the number of arguments.
-.TP
-.B BE
-End bottom block
-.TP
-.B "BI [bold-text [italic-text [bold-text [...]]]"
-Bold-italic.
-No limit on the number of arguments.
-.TP
-.B "BL [text-indent [1]]"
-Start bullet list
-.TP
-.B "BR [bold-text [roman-text [bold-text [...]]]"
-Bold-roman.
-No limit on the number of arguments.
-.TP
-.B BS
-Bottom block start
-.TP
-.B DE
-Display end
-.TP
-.B "DF [format [fill [rindent]]]"
-Begin floating display (no nesting allowed)
-.TP
.B "DL [text-indent [1]]"
-Dash list start
+Dash list start. Begins a list where each item is printed
+after a dash. \fIText-indent\fP changes the default indentation
+of the list items set by
+number register \fBPi\fP.
+A third argument will prohibit printing of a blank line before each
+item.
+A second argument prevents the empty line between each list item
+to be printed. See \fBLI\fP.
.TP
.B "DS [format [fill [rindent]]]"
Static display start.
-Can now have unlimited nesting. Also
-right adjusted text and block may be used (R or RB as \fIformat\fP).
+Begins collection of text until \fBDE\fP.
+The text is printed together on the same page, unless it is longer
+than the height of the page.
+\fBDS\fP can be nested to a unlimited depth (reasonably :-).
+.sp
+\fBformat\fP
+.in +.5i
+.ds x "
+.T2 """"""
+No indentation.
+.T2 none
+No indentation.
+.T2 L
+No indentation.
+.T2 I
+Indent text with the value of number register \fBSi\fP.
+.T2 C
+Center each line
+.T2 CB
+Center the whole display as a block.
+.T2 R
+Right adjust the lines.
+.T2 RB
+Right adjust the whole display as a block
+.in
+.sp
+L, I, C and CB can also be specified as 0, 1, 2 or 3 for compatibility
+reasons. (Don't use it. :-)
+.sp
+\fBfill\fP
+.in +.5i
+.T2 """"""
+Line-filling turned off.
+.T2 none
+Line-filling turned off.
+.T2 N
+Line-filling turned off.
+.T2 F
+Line-filling turned on.
+.in
+.sp
+N and F can also be specified as 0 or 1.
+An empty line will normally be printed before and after the
+display. Setting number register \fBDs\fP to 0 will prevent this.
+\fIRindent\fP shortens the line length by that amount.
.TP
.B "EC [title [override [flag [refname]]]]"
Equation title.
+Sets a title for an equation. The \fIoverride\fP argument
+change the numbering.
+.sp
+\fBflag\fP
+.in +.5i
+.T2 none
+\fIoverride\fP is a prefix to the number.
+.T2 0
+\fIoverride\fP is a prefix to the number.
+.T2 1
+\fIoverride\fP is a suffix to the number.
+.T2 2
+\fIoverride\fP replaces the number.
+.in
+\fBEC\fP uses the number register \fBEc\fP as counter.
+It is possible to use \fB.af\fP to change the format of the number.
+If number register \fBOf\fP is 1, then the format of title
+will use a dash instead of a dot after the number.
+The string \fBLe\fP controls the title of the
+List of Equations, default is \fILIST OF EQUATIONS\fP.
+The string \fBLiec\fP contains the word \fIEquation\fP, wich
+is printed before the number.
If \fIrefname\fP is used, then the equationnumber is saved with
\&\fB.SETR\fP, and can be retrieved with \fB.GETST\fP \fIrefname\fP.
.TP
.B "EF [arg]"
-Even-page footer.
+Even-page footer, printed just above the normal page footer
+on even pages, see \fBPF\fP.
.TP
.B "EH [arg]"
-Even-page header.
+Even-page header, printed just below the normal page header
+on even pages, see \fBPH\fP.
.TP
.B EN
-Equation end.
+Equation end, see \fBEQ\fP.
+.TP
+.B EOP
+End of page user-defined macro. This macro will be called
+instead of the normal printing of the footer. The macro
+will be executed in a separate environment, without any
+trap active. See \fBTP\fP.
+.sp
+\fBStrings available to EOP\fP
+.in +.5i
+.T2 EOPf
+Argument from \fBPF\fP.
+.T2 EOPef
+Argument from \fBEF\fP.
+.T2 EOPof
+Argument from \fBOF\fP.
+.in
.TP
.B "EQ [label]"
Equation start.
+\fBEQ\fP/\fBEN\fP are the delimiters for equations written for \fBeqn\fP.
+\fBEQ\fP/\fBEN\fP must be inside a \fBDS\fP/\fBDE\fP-pair, except
+when \fBEQ\fP is only used to set options in \fBeqn\fP.
+The \fIlabel\fP will appear at the right margin of the equation, unless
+number register \fBEq\fP is 1. Then the label will appear at the
+left margin.
.TP
.B "EX [title [override [flag [refname]]]]"
-Exhibit title.
+Exhibit title, arguments are the same as for \fBEC\fP
+\fBEX\fP uses the number register \fBEx\fP as counter.
+The string \fBLx\fP controls the title of the
+List of Exhibits, default is \fILIST OF EXHIBITS\fP.
+The string \fBLiex\fP contains the word \fIExhibit\fP, wich
+is printed before the number.
If \fIrefname\fP is used, then the exhibitnumber is saved with
\&\fB.SETR\fP, and can be retrieved with \fB.GETST\fP \fIrefname\fP.
.TP
+.B "FC [closing]"
+Prints \fIYours\ very\ truly,\fP as a formal closing of a letter or
+memorandum. The argument replaces the defualt string.
+The default is stored in string variable \fBLetfc\fP.
+.TP
.B "FD [arg [1]]"
Footnote default format.
+Controls the hyphenation (hyphen), right margin justification (adjust),
+indentation of footnote text (indent). It can also change the label
+justification (ljust).
+.sp
+.ne 14v
+.nf
+.ta .5i +.8i +.8i +.8i +.8i
+\fBarg hyphen adjust indent ljust\fP
+0 no yes yes left
+1 yes yes yes left
+2 no no yes left
+3 yes no yes left
+4 no yes no left
+5 yes yes no left
+6 no no no left
+7 yes no no left
+8 no yes yes right
+9 yes yes yes right
+10 no no yes right
+11 yes no yes right
+.sp
+.fi
+.DT
+Argument greater than or equal to 11 is considered as arg 0.
+Default for m@TMAC_M_PREFIX@mm is 10.
.TP
.B FE
Footnote end.
@@ -405,114 +503,667 @@ Figure title.
If \fIrefname\fP is used, then the figurenumber is saved with
\&\fB.SETR\fP, and can be retrieved with \fB.GETST\fP \fIrefname\fP.
.TP
-.B FS
+.B "FS [label]"
Footnote start.
+The footnote is ended by \fBFE\fP. Footnotes is normally automatically
+numbered, the number is available in string \fBF\fP.
+Just add \fB\e*F\fP in the text. By adding \fIlabel\fP, it is possible
+to have other number or names on the footnotes.
Footnotes in displays is now possible.
+An empty line separates footnotes, the height of the line
+is controlled by number register \fBFs\fP, default value is 1.
+.TP
+.B "GETHN refname [varname]"
+Includes the headernumber where the corresponding \fBSETR\fP \fIrefname\fP
+was placed. Will be X.X.X. in pass 1. See \fBINITR\fP.
+If varname is used, \fBGETHN\fP sets the stringvariable \fIvarname\fP to the
+headernumber.
+.TP
+.B "GETPN refname [varname]"
+Includes the pagenumber where the corresponding \fBSETR\fP \fIrefname\fP
+was placed. Will be 9999 in pass 1. See \fBINITR\fP.
+If varname is used, \fBGETPN\fP sets the stringvariable \fIvarname\fP
+to the pagenumber.
+.TP
+.B "GETR refname"
+Combines \fBGETHN\fP and \fBGETPN\fP with the text 'chapter' and ', page'.
+The string \fIQrf\fP contains the text for reference:
+.ti +.5i
+\&.ds Qrf See chapter \e\e*[Qrfh], page \e\e*[Qrfp].
+.br
+\fIQrf\fP may be changed to support other languages.
+Strings \fIQrfh\fP and \fIQrfp\fP are set by \fBGETR\fP
+and contains the page and headernumber.
+.TP
+.B "GETST refname [varname]"
+Includes the string saved with the second argument to \fB.SETR\fP.
+Will be dummystring in pass 1.
+If varname is used, \fBGETST\fP sets the stringvariable \fIvarname\fP to the
+saved string. See \fBINITR\fP.
.TP
.B "H level [heading-text [heading-suffix]]"
-Numbered heading.
+Numbered section heading.
+Section headers can have a level between 1 and 7, level 1 is the
+top level. The text is given in \fIheading-text\fP, and must be
+surrounded by double quotes if it contains spaces.
+\fBHeading-suffix\fP is added to the header in the text but not in
+the table of contents. This is normally used for footnote marks
+and similar things. Don't use \fB\e*F\fP in \fIheading-suffix\fP, it won't
+work. A manual label must be used, see \fBFS\fP.
+.sp
+An eventual paragraph, \fBP\fP, directly after \fBH\fP will be
+ignored, \fBH\fP is taking care of spacing and indentation.
+.sp
+\fBPage ejection before heading\fP
+.br
+Number register \fBEj\fP controls page ejection before the heading.
+Normally, a level one heading gets two blank lines before it, higher levels
+gets only one. A new page is ejected before each
+first-level heading if number register \fBEj\fP is 1.
+All levels below or equal the value of \fBEj\fP gets a new page.
+Default value for \fBEj\fP is 0.
+.sp
+\fBHeading break level\fP
+.br
+A line break occurs after the heading if the heading level is less
+or equal to number register \fBHb\fP.
+Default value 2.
+.sp
+\fBHeading space level\fP
+.br
+A blank line is inserted after the heading if the heading level is less
+or equal to number register \fBHs\fP.
+Default value 2.
+.sp
+Text will follow the heading on the same line if the level is greater
+than both \fBHb\fP and \fBHs\fP.
+.sp
+\fBPost-heading indent\fP
+.br
+Indentation of the text after the heading is controlled by number
+register \fBHi\fP, default value 0.
+\fBHi\fP
+.in +.5i
+.T2 0
+The text will be left-justified.
+.T2 1
+Indentation of the text will follow the value of number register \fBPt\fP,
+see \fBP\fP.
+.T2 2
+The text will be lined up with the first word of the heading.
+.in
+.sp
+\fBCentered section headings\fP
+.br
+All headings whose level is equal or below number register \fBHc\fP
+and also less than or equal to \fBHb\fP or \fBHs\fP
+is centerered.
+.sp
+\fBFont control of the heading\fP
+.br
+The font of each heading level is controlled by string \fBHF\fP.
+It contains a fontnumber or fontnam for each level. Default
+is \fB2\ 2\ 2\ 2\ 2\ 2\ 2\fP (all headings in italic).
+Could also be written as \fBI\ I\ I\ I\ I\ I\ I\fP.
+All omitted values are presumed to be a 1.
+.sp
+\fBPoint size control\fP.
+.br
+String \fBHP\fP controls the pointsize of each heading, in the
+same way as \fBHF\fP controls the font.
+A value of 0 selects the default point size.
+Default value is \fB0\ 0\ 0\ 0\ 0\ 0\ 0\fP. Beware that only the
+point size changes, not the vertical size.
+That can be controlled by the user specified macro \fBHX\fP and/or
+\fBHZ\fP.
+.sp
+\fBHeading counters\fP
+.br
+Seven number registers, named \fBH1\fP thru \fBH7\fP contains
+the counter for each heading level.
+The values are printed using arabic numerals, this can be changed
+with the macro \fBHM\fP (see below).
+All marks ar concatenated before printing. To avoid this, set
+number register \fBHt\fP to 1. That will only print the current
+heading counter at each heading.
+.sp
+\fBAutomatic table of contents\fP
+.br
+All headings whose level is equal or below number register \fBCl\fP
+is saved to be printed in the table of contents. Default value is 2.
+.sp
+\fBSpecial control of the heading, user-defined macros\fP.
+.br
+These macros can be defined by the user to get a finer control
+of vertical spacing, fonts or other features.
+Argument \fIlevel\fP is the level-argument to \fBH\fP, but
+0 for unnumbered headings (see \fBHU\fP).
+Argument \fIrlevel\fP is the real level, it is
+set to number register \fBHu\fP for unnumbered headings.
+Argument \fIheading-text\fP is the text argument to \fBH\fP and \fBHU\fP.
+.sp
+\fBHX\ \fP\fIlevel\ rlevel\ heading-text\fP
+.br
+\fBHX\fP is called just before the printing of the heading.
+The following register is available for \fBHX\fP.
+\fBHX\fP may alter \fB}0\fP, \fB}2\fP and \fB;3\fP.
+.in +.5i
+.T3 "string }0"
+Contains the heading mark plus two spaces if \fIrlevel\fP is non-zero,
+otherwise empty.
+.T3 "register ;0"
+Contains the position of the text after the heading.
+0 means that the text should follow the heading on the same line, 1
+means that a line break should occur before the text and
+2 means that a blank line should separate the heading and the text.
+.T3 "string }2"
+Contains two spaces if register \fB;0\fP is 0. It is used to
+separate the heading from the text. The string
+is empty if \fB;0\fP is non-zero.
+.T3 "register ;3"
+Contains the needed space in units after the heading.
+Default is 2v.
+
+Can be used to change things like numbering (\fB}0\fP),
+vertical spacing (\fB}2\fP)
+and the needed space after the heading.
+.in
+.sp
+\fBHY\ \fP\fIdlevel\ rlevel\ heading-text\fP
+.br
+\fBHY\fP is called after size and font calculations and
+might be used to change indentation.
+.sp
+\fBHZ\ \fP\fIdlevel\ rlevel\ heading-text\fP
+\fBHZ\fP is called after the printing of the heading, just before
+\fBH\fP or \fBHU\fP exits.
+Could be used to change the page header according to the section heading.
.TP
.B "HC [hyphenation-character]"
Set hyphenation character.
+Default value is \e%.
+Resets to the default if called without argument.
+Hyphenation can be turned by setting number
+register \fBHy\fP to 0 in the beginning of the file.
.TP
.B "HM [arg1 [arg2 [... [arg7]]]]"
Heading mark style.
+Controls the type of marking for printing of the heading counters.
+Default is 1 for all levels.
+.sp
+\fBArgument\fP
+.in +.5i
+.T2 1
+Arabic numerals.
+.T2 0001
+Arabic numerals with leading zeroes, one or more.
+.T2 A
+Upper-case alphabetic
+.T2 a
+Lower-case alphabetic
+.T2 I
+Upper-case roman numerals
+.T2 i
+lower-case roman numerals
+.T2 \fIempty\fP
+Arabic numerals.
+.in
.TP
.B "HU heading-text"
-Unnumbered header.
+Unnumbered section header.
+\fBHU\fP behavies like \fBH\fP at the level in number register \fBHu\fP.
+See \fBH\fP.
.TP
.B "HX dlevel rlevel heading-text"
Userdefined heading exit.
Called just before printing the header.
+See \fBH\fP.
.TP
.B "HY dlevel rlevel heading-text"
Userdefined heading exit.
Called just before printing the header.
+See \fBH\fP.
.TP
.B "HZ dlevel rlevel heading-text"
Userdefined heading exit.
Called just after printing the header.
+See \fBH\fP.
.TP
.B "I [italic-text [prev-font-text [italic-text [...]]]"
Italic.
+Changes the font to italic if called without arguments.
+With one argument it will set the word in italic.
+With two argument it will concatenate them and set the first
+word in italic and the second in the previous font.
+There is no limit on the number of argument, all will be concatenated.
+.TP
+.B "IA [addressee-name [title]]
+Begins specification of the addressee and addressee's address in
+letter style.
+Several names can be specified with empty \fBIA\fP/\fBIE\fP-pairs, but
+only one address.
+See \fBLT\fP.
.TP
.B "IB [italic-text [bold-text [italic-text [...]]]"
Italic-bold
+Even arguments is printed in italic, odd in boldface.
+See \fBI\fP.
+.TP
+.B IE
+Ends the address-specification after \fPIA\fP.
+.TP
+.B "INITR filename"
+Initialize the refencemacros. References will be written to
+\fIfilename.tmp\fP and \fIfilename.qrf\fP. Requires two passes with groff.
+The first looks for references and the second includes them.
+\fBINITR\fP can be used several times, but it is only the first
+occurrence of \fBINITR\fP that is active.
+See also \fBSETR\fP, \fBGETPN\fP and \fBGETHN\fP.
.TP
.B "IR [italic-text [roman-text [italic-text [...]]]"
Italic-roman
+Even arguments is printed in italic, odd in roman.
+See \fBI\fP.
.TP
.B "LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]"
List begin macro.
+This is the common macro used for all lists.
+\fIText-indent\fP is the number of spaces to indent the text from the
+current indent.
+.sp
+\fIPad\fP and \fImark-indent\fP controls where to put the mark.
+The mark is placed within the mark area, and \fImark-indent\fP
+sets the number of spaces before this area. It is normally 0.
+The mark area ends where the text begins. The start of the text
+is still controlled by \fItext-indent\fP.
+.sp
+The mark is left justified whitin the mark area if \fIpad\fP is 0.
+If \fIpad\fP is greater than 0, then \fImark-indent\fP is ignored, and
+the mark is placed \fIpad\fP spaces before the text.
+This will right justify the mark.
+.sp
+If \fItype\fP is 0 the list will have either a hanging indent or, if
+argument \fImark\fP is given, the string \fImark\fP as mark.
+.sp
+If \fItype\fP is greater than 0 automatic numbering will occur, arabic
+if \fImark\fP is empty. \fIMark\fP can then be any of \fB1\fP, \fBA\fP,
+\fBa\fP, \fBI\fP or \fBi\fP.
+.sp
+\fIType\fP selects one of six possible ways to display the mark.
+.br
+\fBtype\fP
+.in +.6i
+.T2 1
+x.
+.T2 2
+x)
+.T2 3
+(x)
+.T2 4
+[x]
+.T2 5
+<x>
+.T2 6
+{x}
+.in
+.sp
+Every item in the list will get \fILI-space\fP number of blank lines
+before them. Default is 1.
+.sp
+\fBLB\fP itself will print \fILB-space\fP blank lines. Default is 0.
.TP
-.B "LC [list level]"
+.B "LC [list-level]"
List-status clear
+Terminates all current active lists down to \fIlist-level\fP, or 0
+if no argmuent is given. This is used by \fBH\fP to clear any
+active list.
.TP
-.B LE
+.B "LE [1]"
List end.
+Terminate the current list. \fBLE\fP outputs a blank line
+if an argument is given.
.TP
.B "LI [mark [1]]"
-List item
+List item precedes every item in a list. Without argument \fBLS\fP
+will print the mark determined by the current list type. By giving
+\fBLI\fP one argument, it will use that as the mark instead.
+Two arguments to \fBLI\fP will make \fImark\fP a prefix to
+the current mark. A zero length \fImark\fP will make a hanging
+indent instead.
+.sp
+A blank line is normally printed before the list item. This behaviour
+can be controlled by number register \fBLs\fP. Pre-spacing
+will occur for each list-level less than or equal to \fBLs\fP.
+Default value is 99. (Nesting of lists is unlimited. :-)
+.sp
+The indentation can be changed thru number register \fBLi\fP.
+Default is 6.
+.sp
+All lists begins with a list initialization macro, \fBLB\fP.
+There are, however, seven predefined listtypes to
+make lists easier to use. They all call \fBLB\fP with different
+default values.
+.in +.5i
+.T2 \fBAL\fP
+Automatically Incremented List
+.T2 \fBML\fP
+Marked List
+.T2 \fBVL\fP
+Variable-Item List
+.T2 \fBBL\fP
+Bullet List
+.T2 \fBDL\fP
+Dash List
+.T2 \fBRL\fP
+Reference List
+.T2 \fBBVL\fP
+Broken Varable List.
+.in
+These lists are described at other places in this manual. See also \fBLB\fP.
.TP
-.B "ML mark [text-indent]"
-Marked list start
+.B "LT [arg]"
+Formats a letter in one of four different styles depending
+on the argument.
+See also \fBINTERNALS\fP.
+.in +.5i
+.T2 \fBArg
+Style\fP
+.T2 BL
+Blocked. Date line, return address, writer's address and closing
+begins at the center of the line. All other lines begins at the left margin.
+.T2 SB
+Semi-blocked. Same as blocked, except that the first line in every
+paragraph is indented five spaces.
+.T2 FB
+Full-blocked. All lines begin at the left margin.
+.T2 SP
+Simplified. Almost the same as the full-blocked style. Subject and
+the writer'sidentification is printed in all-capital.
+.in
+.TP
+.B "LO type [arg]"
+Specify options in letter (see \fB.LT\fP).
+This is a list of the standard options:
+.in +.5i
+.T2 CN
+Confidential notation. Prints \fBRESTRICTED\fP on the second line
+below the date line. Any argument replaces \fBRESTRICTED\fP.
+See also string variable \fBLetCN\fP.
+.T2 RN
+Reference notation. Prints \fBIn reference to:\fP and the argument
+two lines below the date line.
+See also string variable \fBLetRN\fP.
+.T2 AT
+Attention. Prints \fBATTENTION:\fP and the argument below the inside address.
+See also string variable \fBLetAT\fP.
+.T2 SA
+Salutation. Prints \fBTo Whom It May Concern:\fP or the argument if
+it was present. The salutation is printed two lines below the inside address.
+See also string variable \fBLetSA\fP.
+.T2 SJ
+Subject line. Prints the argument as subject prefixed with \fBSUBJECT:\fP
+two lines below the inside address, except in letter type \fBSP\fP.
+Then the subject is printed in all-captial without any prefix.
+See also string variable \fBLetSJ\fP.
+.in
+.TP
+.B "MC column-size [column-separation] "
+Begin multiple columns. Return to normal with \fB1C\fP.
+\fBMC\fP will create as many columns as the current line length permits.
+\fIColumn-size\fP is the width of each column, and \fIcolumn-separation\fP
+is the space between two columns. Default separation is the
+column-size/15.
+See also \fB1C\fP.
+.TP
+.B "ML mark [text-indent [1]]"
+Marked list start. The \fImark\fP argument will be printed before
+each list item.
+\fIText-indent\fP sets the indent and overrides \fBLi\fP.
+A third argument will prohibit printing of a blank line before each
+item.
.TP
.B "MT [arg [addressee]]"
-Memorandum type. See above note about MT.
+Memorandum type.
+The \fIarg\fP is part of a filename in \fI@TMAC_MDIR@/*.MT\fP.
+Memorandum type 0 thru 5 are supported, including \fI"string"\fP.
+\fIAddresse\fP just sets a variable, used in the AT&T macros.
+.br
+\fBarg\fP
+.in +.5i
+.T2 0
+Normal memorandum, no type printed
+.T2 1
+Memorandum with \fIMEMORANDUM FOR FILE\fP printed
+.T2 2
+Memorandum with \fIPROGRAMMER'S NOTES\fP printed
+.T2 3
+Memorandum with \fIENGINEER'S NOTES\fP printed
+.T2 4
+Released paper style
+.T2 5
+External letter style
+.in
+See also \fBCOVER\fP/\fBCOVEND\fP, a more flexible type of front page.
+.TP
+.B "MOVE y-pos [x-pos [line-length]]"
+Move to a position, pageoffset set to \fIx-pos\fP.
+If \fIline-length\fP is not given, the difference between
+current and new pageoffset is used.
+Use \fBPGFORM\fP without arguments to return to normal.
+.TP
+.B "MULB cw1 space1 [cw2 space2 [cw3 ...]]"
+Begin a special multi-column mode. Every columns width must be specified.
+Also the space between the columns must be specified. The last column
+does not need any space-definition. MULB starts a diversion and MULE
+ends the diversion and prints the columns.
+The unit for width and space is 'n', but MULB accepts all
+normal unitspecifications like 'c' and 'i'.
+MULB operates in a separate environment.
+.TP
+.B "MULN"
+Begin the next column. This is the only way to switch column.
+.TP
+.B "MULE"
+End the multi-column mode and print the columns.
+.TP
+.B "nP [type]"
+Print numbered paragraph with header level two. Se \fB.P\fP.
+.TP
+.B "NS [arg [1]]"
+Prints different types of notations. The argument selects between
+the predefined type of notations. If the second argument is available,
+then the argument becomes the entire notation.
+If the argument doesn't exist in the predefined, it will be
+printed as \fBCopy (\fP\fIarg\fP\fB) to\fP.
+It is possible to add more standard notations, see the string variable
+\fBLetns\fP and \fBLetnsdef\fP.
+.nf
+.in +.5i
+.T2 \fBArg
+Notation\fP
+.T2 \fInone\fP
+Copy To
+.T2 """""
+Copy To
+.T2 1
+Copy To (with att.) to
+.T2 2
+Copy To (without att.) to
+.T2 3
+Att.
+.T2 4
+Atts.
+.T2 5
+Enc.
+.T2 6
+Encs.
+.T2 7
+Under separate cover
+.T2 8
+Letter to
+.T2 9
+Memorandum to
+.T2 10
+Copy (with atts.) to
+.T2 11
+Copy (without atts.) to
+.T2 12
+Abstract Only to
+.T2 13
+Complete Memorandum to
+.T2 14
+CC
+.in
+.fi
.TP
.B "ND new-date"
-New date.
+New date. Override the current date. Date is not
+printed if \fInew-date\fP is an empty string.
.TP
.B "OF [arg]"
-Odd-page footer
+Odd-page footer, a line printed just above the normal footer.
+See \fBEF\fP and \fBPF\fP.
.TP
.B "OH [arg]"
-Odd-page header
+Odd-page header, a line printed just below the normal header.
+See \fBEH\fP and \fBPH\fP.
.TP
.B OP
-Skip to odd page.
+Make sure that the following text is printed at the top
+of an odd-numbered page. Will not output an empty page
+if currently at the top of an odd page.
.TP
.B "P [type]"
Begin new paragraph.
+\fBP\fP without argument will produce left justified text, even
+the first line of the paragraph. This is the same as setting
+\fItype\fP to 0. If the argument is 1, then the first line
+of text following \fBP\fP will be indented by the number of
+spaces in number register \fBPi\fP, normally 5.
+.sp
+Instead of giving 1 as argument to \fBP\fP it is possible to set the
+paragraph type in number register \fBPt\fP. Using 0 and 1
+will be the same as adding that value to \fBP\fP.
+A value of 2 will indent all paragraphs, except after
+headings, lists and displays.
+.sp
+The space between two paragraphs is controlled by number register \fBPs\fP,
+and is 1 by default (one blank line).
+.TP
+.B "PGFORM [linelength [pagelength [pageoffset [1]]]]"
+Sets linelength, pagelength and/or pageoffset.
+This macro can be used for special formatting, like letterheads
+and other.
+It is normally the first command in a file, though it's not necessary.
+\fBPGFORM\fP can be used without arguments
+to reset everything after a \fBMOVE\fP.
+A line-break is done unless the fourth argument is given.
+This can be used to avoid the pagenumber on the first page while setting
+new width and length.
+.TP
+.B PGNH
+No header is printed on the next page. Used to get rid off
+the header in letters or other special texts
+This macro must be used before any text to inhibit the pageheader
+on the first page.
.TP
.B PE
Picture end.
+Ends a picture for \fB@g@pic\fP, see the manual for \fB@g@pic\fP.
.TP
.B "PF [arg]"
-Page footer
+Page footer.
+\fBPF\fP sets the line to be printed at the bottom of each page.
+Normally empty. See \fBPH\fP for the argument specification.
.TP
.B "PH [arg]"
-Page header
+Page header, a line printed at the top of each page.
+The argument should be specified as "'left-part'center-part'right-part'",
+where left-, center- and right-part is printed left-justified, centered
+and right justified. The character \fB%\fP is changed to the current
+page number. The default page-header is "''- % -''", the page
+number between two dashes.
.TP
.B PS
-Picture start (from pic)
+Picture start (from pic). Begins a picture for \fB@TMAC@pic\fP, see
+the manual.
.TP
.B PX
Page-header user-defined exit.
+\fBPX\fP is called just after the printing of the page header
+in \fIno-space\fP mode.
.TP
.B R
Roman.
+Return to roman font, see also \fBI\fP.
.TP
.B "RB [roman-text [bold-text [roman-text [...]]]"
Roman-bold.
+Even arguments is printed in roman, odd in boldface.
+See \fBI\fP.
.TP
.B "RD [prompt [diversion [string]]]"
-Read to diversion and/or string.
+Read from standard input to diversion and/or string.
+The text will be saved in a diversion named \fIdiversion\fP.
+Recall the text by writing the name of the diversion after a dot
+on an empty line. A string will also be defined if
+\fIstring\fP is given. \fIDiversion\fP and/or \fIprompt\fP can
+be empty ("").
.TP
.B RF
-Reference end
+Reference end. Ends a reference definition and returns to normal
+processing. See \fBRS\fP.
.TP
.B "RI [roman-text [italic-text [roman-text [...]]]"
-Roman-italic.
+Even arguments is printed in roman, odd in italic.
+See \fBI\fP.
.TP
.B "RL [text-indent [1]]"
Reference list start
+Begins a list where each item is preceded with a automatically
+incremented number between
+square brackets.
+\fIText-indent\fP changes the default indentation
.TP
-.B "RP [arg [arg]]"
+.B "RP [arg1 [arg2]]"
Produce reference page.
+\fBRP\fP can be used if a reference page is wanted somewhere in the
+document. It is not needed if \fBTC\fP is used to produce
+a table of content. The reference page will then be printed automatically.
+.sp
+The reference counter will not be resetted if \fIarg1\fP is 1.
+.sp
+\fIArg2\fP tells \fBRP\fP whether to eject a page or not.
+.br
+\fBArg2\fP
+.in +.5i
+.T2 0
+The reference page will be printed on a separate page.
+This is
+the default.
+.T2 1
+Do not eject page after the list.
+.T2 2
+Do not eject page before the list.
+.T2 3
+Do not eject page before and after the list.
+.in
+The reference items will be separated by a blank line.
+Setting number register \fBLs\fP to 0 will suppress the line.
+.sp
+The string \fBRp\fP contains the reference page title and
+is normally set to \fIREFERENCES\fP.
.TP
.B "RS [string-name]"
-Reference start.
+\fBRS\fP begins an automatically numbered reference definition.
+Put the string \fB\e*(Rf\fP where the reference mark
+should be and write the reference between \fBRS\fP/\fBRF\fP
+at next new line after the reference mark. The reference number
+is stored in number register \fB:R\fP.
+If \fIstring-name\fP is given, a string with that name
+will be defined and contain the current reference mark.
+The string can be referenced as \fB\e*[\fIstring-name\fP]\fP later in
+the text.
.TP
.B "S [size [spacing]]"
Set point size and vertical spacing. If any argument is equal 'P', then
@@ -521,17 +1172,48 @@ If '+' or '-' is used before the value, then increment or decrement of
the current value will be done.
.TP
.B "SA [arg]"
-Set adjustment.
+Set right-margin justification.
+Justification is normally turned on.
+No argumenent or \fB0\fP turns off justification, a \fB1\fP turns on
+justification.
+.TP
+.B "SETR refname [string]"
+Remember the current header and page-number as refname.
+Saves \fIstring\fP if \fIstring\fP is defined. \fIstring\fP is retrieved
+with \fB.GETST\fP.
+See \fBINITR\fP.
+.TP
+.B "SG [arg [1]]"
+Signature line. Prints the authors name(s) after the formal closing.
+The argument will be appended to the reference data, printed
+at either the first or last author. The reference data is the location,
+department and initials specified with \fB.AU\fP.
+It will be printed at the first author, otherwise at the last.
+No reference data will be printed if the author(s) is specifed
+thru \fB.WA\fP/\fB.WE\fP.
+See \fBLetter internals\fP.
.TP
.B "SK [pages]"
Skip pages.
+If \fIpages\fP is \fB0\fP or omitted, a skip to the next page
+will occur unless it is already at the top of a page.
+Otherwise it will skip \fIpages\fP pages.
.TP
.B "SM string1 [string2 [string3]]"
Make a string smaller.
+If \fIstring2\fP is given, \fIstring1\fP will be smaller and \fIstring2\fP
+normal, concatenated with \fIstring1\fP. With three argument, all is
+concatenated, but only \fIstring2\fP is made smaller.
.TP
.B "SP [lines]"
Space vertically. \fIlines\fP can have any scalingfactor, like \fI3i\fP or
-\fI8v\fP.
+\fI8v\fP. Several \fBSP\fP in a line will only produce the
+maximum number of lines, not the sum. \fBSP\fP will also be ignored
+until the first textline in a page. Add a \fB\e&\fP before \fBSP\fP
+to avoid this.
+.TP
+.B TAB
+reset tabs to every 5n. Normally used to reset any previous tabpositions.
.TP
.B "TB [title [override [flag [refname]]]]"
Table title.
@@ -540,19 +1222,50 @@ If \fIrefname\fP is used, then the tablenumber is saved with
.TP
.B "TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]"
Table of contents.
+This macro is normally used at the last line of the document.
+It generates a table of contents with headings up to the level
+controlled by number register \fBCl\fP. Note that \fBCl\fP controls
+the saving of headings, it has nothing to do with \fBTC\fP.
+Headings with level less than or equal to \fIslevel\fP will get
+\fIspacing\fP number of lines before them.
+Headings with level less than or equal to \fItlevel\fP will have
+their page numbers right justified with dots or spaces separating
+the text and the page number. Spaces is used if \fItab\fP
+is greater than zero, otherwise dots.
+Other headings will have the
+page number directly at the end of the heading text (\fIragged right\fP).
+.sp
+The rest of the arguments will be printed, centered, before the
+table of contents.
+.sp
+The user-defined macros \fBTX\fP and \fBTY\fP are used if \fBTC\fP is called
+with at most four arguments. \fBRX\fP is called before the printing
+of \fICONTENTS\fP, and \fBTY\fP is called instead of printing \fICONTENTS\fP.
+.sp
+String \fBCi\fP can be set to control the indentations for each heading-level.
+It must be scaled, like \fB.ds\ Ci\ .25i\ .5i\ .75i\ 1i\ 1i\fP.
+The indentation is normally controlled by the maxlength of headings
+in each level.
+.sp
All texts can be redefined, new stringvariables
\fILifg\fP, \fILitb\fP, \fILiex\fP, \fILiec\fP and \fILicon\fP contains
"Figure", "TABLE", "Exhibit", "Equation" and "CONTENTS".
These can be redefined to other languages.
.TP
.B TE
-Table end.
+Table end. See \fBTS\fP.
.TP
.B "TH [N]"
-Table header.
+Table header. See \fBTS\fP.
+\fBTH\fP ends the header of the table. This header will
+be printed again if a page-break occurs.
+Argument \fIN\fP isn't implemented yet.
.TP
-.B TL
+.B TL [charging-case number(s) [filing-case number(s)]
Begin title of memorandum.
+All text up to the next \fBAU\fP is included in the title.
+\fICharging-case number\fP and \fIfiling-case\fP is saved
+for use in the front page processing.
.TP
.B TM [num1 [num2 [...]]]
Technical memorandumnumbers used in \fB.MT\fP. Unlimited number
@@ -560,29 +1273,109 @@ of arguments may be given.
.TP
.B TP
Top of page user-defined macro.
+This macro is called instead of the normal page header. It is
+possible to get complete control over the header.
Note that header and footer is printed in a separate environment.
Linelength is preserved though.
.TP
.B "TS [H]"
-Table start
+Table start. This is the start of a table specification
+to \fB@TMAC@tbl\fP. See separate manual for \fB@TMAC@tbl\fP.
+\fBTS\fP ends with \fBTE\fP.
+Argument \fIH\fP tells \fBm@TMAC@m\fP that the table
+has a header. See \fBTH\fP.
.TP
.B TX
Userdefined table of contents exit.
+This macro is called just before \fBTC\fP prints the word \fICONTENTS\fP.
+See \fBTC\fP.
.TP
.B TY
-Userdefined tbale of contents exit (no "CONTENTS").
+Userdefined table of contents exit (no "CONTENTS").
+This macro is called instead of printing \fICONTENTS\fP.
+See \fBTC\fP.
.TP
-.B "VL [text-indent [mark-indent [1]]]"
-Variable-item list start
+.B VERBON [flag [pointsize [font]]]
+Begin verbatim output using courier font.
+Usually for printing programs.
+All character has equal width.
+The pointsize can be changed with
+the second argument. By specifying the font-argument
+it is possible to use another font instead of courier.
+\fIflag\fP control several special features.
+It contains the sum of all wanted features.
+.in +.5i
+.T2 Value
+Description
+.T2 1
+Disable the escape-character (\e). This is normally turned on during
+verbose output.
+.T2 2
+Add en empty line before the verbose text.
+.T2 4
+Add en empty line after the verbose text.
+.T2 8
+Print the verbose text with numbered lines. This adds four digitsized
+spaces in the beginning of each line. Finer control is available with
+the string-variable \fBVerbnm\fP. It contains all arguments to the
+\fBtroff\fP-command \fB.nm\fP, normally '1'.
+.T2 16
+Indent the verbose text with five 'n':s. This is controlled by the
+number-variable \fBVerbin\fP (in units).
+.in
+.TP
+.B VERBOFF
+End verbatim output.
+.TP
+.B "VL text-indent [mark-indent [1]]"
+Variable-item list has no fixed mark, it assumes that
+every \fBLI\fP have a mark instead.
+\fIText-indent\fP sets the indent to the text, and \fImark-indent\fP
+the distance from the current indent to the mark.
+A third argument will prohibit printing of a blank line before each
+item.
.TP
.B "VM [top [bottom]]"
Vertical margin.
.TP
+.B "WA [writer-name [title]]
+Begins specification of the writer and writer's address.
+Several names can be specified with empty \fBWA\fP/\fBWE\fP-pairs, but
+only one address.
+.TP
+.B WE
+Ends the address-specification after \fP.WA\fP.
+.TP
.B "WC [format]"
Footnote and display width control.
+.in +.5i
+.T2 N
+Set default mode, \fB-WF\fP, \fB-FF\fP, \fB-WD\fP and \fBFB\fP.
+.T2 WF
+Wide footnotes, wide also in two-column mode.
+.T2 -WF
+Normal footnote width, follow column mode.
+.T2 FF
+All footnotes gets the same width as the first footnote encountered.
+.T2 -FF
+Normal footnotes, width follows \fBWF\fP and \fB-WF\fP.
+.T2 WD
+Wide displays, wide also in two-column mode.
+.T2 -WD
+Normal display width, follow column mode.
+.T2 FB
+Floating displays generates a line break when printed on the current page.
+.T2 -FB
+Floating displays does not generate line break.
+.in
.sp 3
.LP
-Strings used in m@TMAC_M@:
+.\"########################################################################
+.LP
+.B "Strings used in m@TMAC_M_PREFIX@m:"
+.TP
+.B App
+A string containing the word "APPENDIX".
.TP
.B "EM"
Em dash string
@@ -595,6 +1388,21 @@ Nonnumeric fontnames may also be used.
Pointsize list for headings. Normally "0 0 0 0 0 0 0" which is the same as
"10 10 10 10 10 10 10".
.TP
+.B Lifg
+String containing \fIFigure\fP.
+.TP
+.B Litb
+String containing \fITABLE\fP.
+.TP
+.B Liex
+String containing \fIExhibit\fP.
+.TP
+.B Liec
+String containing \fIEquation\fP.
+.TP
+.B Licon
+String containing \fICONTENTS\fP.
+.TP
.B Lf
Contains "LIST OF FIGURES".
.TP
@@ -607,145 +1415,306 @@ Contains "LIST OF EXHIBITS".
.B Le
Contains "LIST OF EQUATIONS".
.TP
+.B Letfc
+Contains "Yours very truly,", used in \fB.FC\fP.
+.TP
+.B Letapp
+Contains "APPROVED:", used in \fB.AV.\fP.
+.TP
+.B Letdate
+Contains "Date", used in \fB.AV.\fP.
+.TP
+.B LetCN
+Contains "CONFIDENTIAL", used in \fB.LO CN\fP.
+.TP
+.B LetSA
+Contains "To Whom It May Concern:", used in \fB.LO SA\fP.
+.TP
+.B LetAT
+Contains "ATTENTION:", used in \fB.LO AT\fP.
+.TP
+.B LetSJ
+Contains "SUBJECT:", used in \fB.LO SJ\fP.
+.TP
+.B LetRN
+Contains "In reference to:", used in \fB.LO RN\fP.
+.TP
+.B Letns
+is an array containing the different strings used in \fB.NS\fP.
+It is really a number of stringvariables prefixed with \fBLetns!\fP.
+If the argument doesn't exist, it will be included
+between \fB()\fP with \fBLetns!copy\fP as prefix and \fBLetns!to\fP as suffix.
+Observe the space after \fBcopy\fP and before \fBto\fP.
+.nf
+.ta 1.5i
+\fBName Value\fP
+Letns!0 Copy to
+Letns!1 Copy (with att.) to
+Letns!2 Copy (without att.) to
+Letns!3 Att.
+Letns!4 Atts.
+Letns!5 Enc.
+Letns!6 Encs.
+Letns!7 Under separate cover
+Letns!8 Letter to
+Letns!9 Memorandum to
+Letns!10 Copy (with atts.) to
+Letns!11 Copy (without atts.) to
+Letns!12 Abstract Only to
+Letns!13 Complete Memorandum to
+Letns!14 CC
+Letns!copy Copy "
+Letns!to " to
+.fi
+.TP
+.B Letnsdef
+Defines the standard-notation used when no argument is given
+to \fB.NS\fP. Default is \fB0\fP.
+.TP
+.B "MO1 - MO12"
+Strings containing \fIJanuary\fP thru \fIDecember\fP.
+.TP
+.B Qrf
+String containing "See chapter \e\e*[Qrfh], page \e\en[Qrfp].".
+.TP
.B Rp
Contains "REFERENCES".
.TP
.B Tm
Contains \e(tm, trade mark.
+.TP
+.B Verbnm
+Argument to \fB.nm\fP in \fB.VERBON\fP, default: \fB1\fP.
.\"-----------------------------------
.LP
-Number variables used in m@TMAC_M@:
+.B "Number variables used in m@TMAC_M_PREFIX@m:"
+.TP
+.B Aph
+Print an appendix-page for every new appendix
+if this numbervariable is non-zero.
+No output will occur if \fBAph\fP is zero, but there will always
+be an appendix-entry in the 'List of contents'.
.TP
-.B Cl=2
-Contents level [0:7], contents saved if heading level <= Cl
+.B Cl
+Contents level [0:7], contents saved if heading level <= Cl, default 2.
.TP
-.B Cp=0
-Eject page between LIST OF XXXX if Cp == 0
+.B Cp
+Eject page between LIST OF XXXX if Cp == 0, default 0.
.TP
-.B D=0
+.B D
Debugflag, values >0 produces varying degree of debug. A value of 1
-gives information about the progress of formatting.
+gives information about the progress of formatting, default 0.
.TP
-.B De=0
-Eject after floating display is output [0:1]
+.B De
+Eject after floating display is output [0:1], default 0.
.TP
-.B Df=5
-Floating keep output [0:5]
+.B Df
+Floating keep output [0:5], default 5.
.TP
-.B Ds=1
-space before and after display if == 1 [0:1]
+.B Ds
+space before and after display if == 1 [0:1], default 1.
.TP
-.B Ej=0
-Eject page
+.B Ej
+Eject page, default 0.
.TP
-.B Eq=0
-Equation lable adjust 0=left, 1=right
+.B Eq
+Equation lable adjust 0=left, 1=right. Default 0.
.TP
-.B Fs=1
-Footnote spacing
+.B Fs
+Footnote spacing, default 1.
.TP
.B "H1-H7"
Heading counters
.TP
-.B Hb=2
-Heading break level [0:7]
+.B Hb
+Heading break level [0:7], default 2.
.TP
-.B Hc=0
-Heading centering level, [0:7]
+.B Hc
+Heading centering level, [0:7]. Default 0.
.TP
-.B Hi=1
-Heading temporary indent [0:2]
-0 -> 0 indent, left margin
+.B Hi
+Heading temporary indent [0:2], default 1.
.br
-1 -> indent to right , like .P 1
+0\ ->\ 0 indent, left margin
.br
-2 -> indent to line up with text part of preceding heading
+1\ ->\ indent to right , like .P 1
+.br
+2\ ->\ indent to line up with text part of preceding heading
.TP
-.B Hs=2
-Heading space level [0:7]
+.B Hps
+Numbervariable with the heading pre-space level. If the heading-level
+is less than or equal to \fBHps\fP, then two lines will precede the
+section heading instead of one. Default is first level only.
+The real amount of lines is controlled by the variables \fBHps1\fP and
+\fBHps2\fP.
+.TP
+.B Hps1
+This is the number of lines preceding \fB.H\fP when the heading-level
+is greater than \fBHps\fP. Value is in units, normally 0.5v.
.TP
-.B Ht=0
-Heading numbering type
+.B Hps2
+This is the number of lines preceding \fB.H\fP when the heading-level
+is less than or equal to \fBHps\fP. Value is in units, normally 1v.
+.TP
+.B Hs
+Heading space level [0:7], default 2.
+.TP
+.B Ht
+Heading numbering type, default 0.
0 -> multiple (1.1.1 ...)
.br
1 -> single
.TP
-.B Hu=2
-Unnumbered heading level
+.B Hu
+Unnumbered heading level, default 2.
.TP
-.B Hy=1
-Hyphenation in body
-0 -> no hyphenation
+.B Hy
+Hyphenation in body, default 1.
.br
-1 -> hyphenation 14 on
+0\ ->\ no hyphenation
+.br
+1\ ->\ hyphenation 14 on
+.TP
+.B Letwam
+Max lines in return-address, used in \fB.WA\fP/\fB.WE\fP. Default 14.
.TP
-.B "Lf=1, Lt=1, Lx=1, Le=0"
+.B "Lf, Lt, Lx, Le"
Enables (1) or disables (0) the printing of List of figures,
List of tables, List of exhibits and List of equations.
+Default: Lf=1, Lt=1, Lx=1, Le=0.
.TP
-.B Li=6
-List indent, used by .AL
+.B Li
+List indent, used by .AL, default 6.
.TP
-.B Ls=99
+.B Ls
List space, if current listlevel > Ls then no spacing will occur around lists.
+Default 99.
.TP
-.B N=0
-Numbering style [0:5]
-0 == (default) normal header for all pages.
+.B Lsp
+.TP
+The size of an empty line. Normally 0.5v, but it is 1v
+if \fBn\fP is set (\fB.nroff\fP).
+.TP
+.B N
+Numbering style [0:5], default 0.
+.br
+0\ ==\ (default) normal header for all pages.
.br
-1 == header replaces footer on first page, header is empty.
+1\ ==\ header replaces footer on first page, header is empty.
.br
-2 == page header is removed on the first page.
+2\ ==\ page header is removed on the first page.
.br
-3 == "section-page" numbering enabled.
+3\ ==\ "section-page" numbering enabled.
.br
-4 == page header is removed on the first page.
+4\ ==\ page header is removed on the first page.
.br
-5 == "section-page" and "section-figure" numbering enabled.
+5\ ==\ "section-page" and "section-figure" numbering enabled.
Se also the number-register Sectf and Sectp.
.TP
-.B Np=0
-Numbered paragraphs.
+.B Np
+Numbered paragraphs, default 0.
.br
-0 == not numbered
+0\ ==\ not numbered
.br
-1 == numbered in first level headings.
+1\ ==\ numbered in first level headings.
.TP
-.B Of=0
-Format of figure,table,exhibit,equation titles.
+.B Of
+Format of figure,table,exhibit,equation titles, default 0.
.br
-0= ". "
+0\ =\ ". "
.br
-1= " - "
+1\ =\ " - "
.TP
.B P
Current page-number, normally the same as % unless "section-page" numbering
is enabled.
.TP
-.B Pi=5
-paragraph indent
+.B Pi
+paragraph indent, default 5.
+.TP
+.B Pgps
+Controls whether header and footer pointsize should follow the current
+setting or just change when the header and footer is defined.
+.in +.5i
+.ti -.5i
+.T2 Value
+Description
+.T2 0
+Pointsize will only change to the current setting when \fB.PH\fP, \fB.PF\fP,
+\&\fB.OH\fP, \fP.EH\fP, \fB.OF\fP or \fB.OE\fP is executed.
+.T2 1
+Pointsize will change after every \fB.S\fP. This is the default.
+.in
.TP
-.B Ps=1
-paragraph spacing
+.B Ps
+paragraph spacing, default 1.
.TP
-.B Pt=0
-Paragraph type.
+.B Pt
+Paragraph type, default 0.
.br
-0 == left-justified
+0\ ==\ left-justified
.br
-1 == indented .P
+1\ ==\ indented .P
.br
-2 == indented .P except after .H, .DE or .LE.
+2\ ==\ indented .P except after .H, .DE or .LE.
.TP
-.B Si=5
-Display indent.
+.B Sectf
+Flag controlling "section-figures". A non-zero value enables this.
+Se also register N.
+.TP
+.B Sectp
+Flag controlling "section-page-numbers". A non-zero value enables this.
+Se also register N.
+.TP
+.B Si
+Display indent, default 5.
+.TP
+.B Verbin
+Indent for \fB.VERBON\fP, default 5n.
+.TP
+.B .mgm
+Always 1.
+.LP
+.SH INTERNALS
+The letter macros is using different submacros depending on
+the letter type. The name of the submacro has the letter type
+as suffix. It is therefore possible to define other letter types, either
+in the national macro-file, or as local additions.
+\&\fB.LT\fP will set the number variables \fBPt\fP and \fBPi\fP to 5 and 0.
+The following strings and macros must be defined for a new letter type:
+.TP
+\fBlet@init_\fP\fItype\fP
+This macro is called directly by \fB.LT\fP. It is supposed to initialize
+variables and other stuff.
+.TP
+\fBlet@head_\fP\fItype\fP
+This macro prints the letter head, and is called instead of the
+normal page header. It is supposed to remove the alias \fBlet@header\fP,
+otherwise it will be called for all pages.
+.TP
+\fBlet@sg_\fP\fItype\ name\ title\ n\ flag\ [arg1\ [arg2\ [...]]]\fP
+\&\fB.SG\fP is calling this macro only for letters, memorandums has
+its own processing. \fIname\fP and \fItitle\fP is specified
+thru \fB.WA\fP/\fB.WB\fP. \fIn\fP is the counter, 1-max, and
+\fIflag\fP is true for the last name. Any other argument to \fB.SG\fP
+is appended.
+.TP
+\fBlet@fc_\fP\fItype\ closing\fP
+This macro is called by \fB.FC\fP, and has the
+formal closing as argument.
+.LP
+\&\fB.LO\fP is implemented as a general option-macro. \fB.LO\fP demands
+that a string named \fBLet\fP\fItype\fP is defined, where \fItype\fP
+is the letter type.
+\&\fB.LO\fP will then assign the argument to the string
+variable \fBlet*lo-\fP\fItype\fP.
.LP
.\".SH BUGS
.SH AUTHOR
-Jörgen Hägg, Lund Institute of Technology, Sweden <jh@efd.lth.se>
+Jörgen Hägg, Lund, Sweden <jh@axis.se>.
.SH FILES
.TP
-.B @MACRODIR@/tmac.@TMAC_M@
+.B @MACRODIR@/tmac.@TMAC_M_PREFIX@m
.TP
.B @TMAC_MDIR@/*.cov
.TP
@@ -760,4 +1729,4 @@ Jörgen Hägg, Lund Institute of Technology, Sweden <jh@efd.lth.se>
.BR @g@eqn (@MAN1EXT@)
.br
.BR mm (@MAN7EXT@)
-.BR m@TMAC_M@se (@MAN7EXT@)
+.BR m@TMAC_M_PREFIX@mse (@MAN7EXT@)
diff --git a/mm/groff_mmse.man b/mm/groff_mmse.man
index 5f79c01b2..5d5469b57 100644
--- a/mm/groff_mmse.man
+++ b/mm/groff_mmse.man
@@ -1,4 +1,5 @@
-.\"
+.\" -*- nroff -*-
+.\" $Id: groff_mmse.man,v 1.27 1995/04/24 05:37:46 jh Exp $
.\" Skrivet av Jörgen Hägg, Lund, Sverige
.\"
.TH GROFF_MMSE @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
@@ -6,7 +7,7 @@
groff_mmse \- svenska mm makro för groff
.SH SYNTAX
.B groff
-.B \-m@TMAC_M@se
+.B \-m@TMAC_M_PREFIX@mse
[
.IR flaggor .\|.\|.
]
@@ -14,17 +15,62 @@ groff_mmse \- svenska mm makro för groff
.IR filer .\|.\|.
]
.SH BESKRIVNING
-\fBm@TMAC_M@se\fP är en svensk variant av \fBm@TMAC_M@\fP. Alla texter
+\fBm@TMAC_M_PREFIX@mse\fP är en svensk variant av \fBm@TMAC_M_PREFIX@m\fP. Alla texter
är översatta. En A4 sida får text som är 13 cm bred, 3.5 cm indragning
samt är 28.5 cm hög.
+Det finns stöd för brevuppställning enligt svensk standard
+för vänster och högerjusterad text.
.LP
\fBCOVER\fP kan använda \fIse_ms\fP som argument. Detta ger ett
svenskt försättsblad.
Se \fBgroff_mm(@MAN7EXT@)\fP för övriga detaljer.
+.SH BREV
+Tillgängliga brevtyper:
+.TP
+.B ".LT SVV"
+Vänsterställd löptext med adressat i position T0 (vänsterställt).
+.TP
+.B ".LT SVH"
+Högerställd löptext med adressat i position T4 (passar
+fönsterkuvert).
+.LP
+Följande extra LO-variabler används.
+.TP
+.B ".LO DNAMN\fI namn\fP"
+Anger dokumentets namn.
+.TP
+.br
+.B ".LO MDAT\fI datum\fP"
+Mottagarens datum, anges under \fBErt datum:\fP (\fBLetMDAT\fP).
+.TP
+.br
+.B ".LO BIL\fI sträng\fP"
+Anger bilaga, nummer eller sträng med \fBBilaga\fP (\fBLetBIL\fP)
+som prefix.
+.TP
+.br
+.B ".LO KOMP\fI text\fP"
+Anger kompletteringsuppgift.
+.TP
+.br
+.B ".LO DBET\fI beteckning\fP"
+Anger dokumentbeteckning eller dokumentnummer.
+.TP
+.br
+.B ".LO BET\fI beteckning\fP"
+Anger beteckning (ärendebeteckning i form av diarienummer eller liknande).
+.TP
+.br
+.B ".LO SIDOR\fI antal\fP"
+Anger totala antalet sidor och skrivs ut efter sidnumret inom
+parenteser.
+.LP
+Om makrot \fB.TP\fP är definierat anropas det efter utskrift av brevhuvudet.
+Där lägger man lämpligen in postadress och annat som brevfot.
.SH "SKRIVET AV"
-Jörgen Hägg, Lunds Tekniska Högskola <jh@efd.lth.se>
+Jörgen Hägg, Lund, Sweden <jh@axis.se>
.SH FILER
-.B @MACRODIR@/tmac.@TMAC_M@se
+.B @MACRODIR@/tmac.@TMAC_M_PREFIX@mse
.B @TMAC_MDIR@/se_*.cov
.SH "SE OCKSÅ"
.BR groff (@MAN1EXT@),
@@ -33,4 +79,4 @@ Jörgen Hägg, Lunds Tekniska Högskola <jh@efd.lth.se>
.BR @g@pic (@MAN1EXT@),
.BR @g@eqn (@MAN1EXT@)
.br
-.BR m@TMAC_M@ (@MAN7EXT@)
+.BR m@TMAC_M_PREFIX@m (@MAN7EXT@)
diff --git a/mm/mm/0.MT b/mm/mm/0.MT
index 02a423e1b..5f1fa7770 100644
--- a/mm/mm/0.MT
+++ b/mm/mm/0.MT
@@ -1,4 +1,5 @@
.\"------------
+.\" $Id: 0.MT,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" Cover sheet. Memorandum type 0-3 and "string".
.\"------------
.if !r Au .nr Au 1
diff --git a/mm/mm/4.MT b/mm/mm/4.MT
index e36113247..90f3a6895 100644
--- a/mm/mm/4.MT
+++ b/mm/mm/4.MT
@@ -1,7 +1,9 @@
.\"------------
+.\" $Id: 4.MT,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" Cover sheet. Memorandum type 4
.\"------------
.de cov@print-title
+.if !d cov*title .@error title (.TL) not defined!
.MOVE 2.4c
.S 12
.ad c
@@ -29,6 +31,7 @@
..
.\"------------
.de cov@print-firm
+.if !d cov*firm .@error firm (.AF) not defined!
.SP 0.5
.ce
\\*[cov*firm]
diff --git a/mm/mm/5.MT b/mm/mm/5.MT
index 654fc95f2..d803c8b9d 100644
--- a/mm/mm/5.MT
+++ b/mm/mm/5.MT
@@ -1,4 +1,5 @@
.\"------------
+.\" $Id: 5.MT,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" Cover sheet. Memorandum type 5
.\"------------
.nr cov*mt0-ind 1.1c
diff --git a/mm/mm/ms.cov b/mm/mm/ms.cov
index 1c6621571..6de13faff 100644
--- a/mm/mm/ms.cov
+++ b/mm/mm/ms.cov
@@ -1,4 +1,5 @@
.\"------------
+.\" $Id: ms.cov,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" Cover sheet. Mostly like ms cover.
.\"------------
.de cov@print-title
diff --git a/mm/mm/se_ms.cov b/mm/mm/se_ms.cov
index e6431f25e..351b05aa4 100644
--- a/mm/mm/se_ms.cov
+++ b/mm/mm/se_ms.cov
@@ -1,2 +1,3 @@
+.\" $Id: se_ms.cov,v 1.27 1995/04/24 05:37:50 jh Exp $
.mso mm/ms.cov
.nr cur*abstract-ll 11c
diff --git a/mm/tmac.m b/mm/tmac.m
index 8c86a6074..c6c7970a4 100644
--- a/mm/tmac.m
+++ b/mm/tmac.m
@@ -1,9 +1,14 @@
-.\" Version:
-.ds RE 1.19
+.\"
+.de @revision
+.ds RE \\$2
+..
+.\"
+.\" $Id: tmac.m,v 1.27 1995/04/24 05:37:46 jh Exp $
+.@revision $Revision: 1.27 $
.ig
-Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
-mgm is written by Jörgen Hägg (jh@efd.lth.se)
+Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+mgm is written by Jörgen Hägg <jh@axis.se>
mgm is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
@@ -17,13 +22,13 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Almost complete. The letter format is not included.
Maybe as a separate package.
Should be better as time goes.
-Please send bugreports with examples to jh@efd.lth.se.
+Please send bugreports with examples to jh@axis.se.
Naming convention stolen from mgs.
Local names module*name
@@ -32,7 +37,7 @@ Env.var environ:name
Index array!index
..
.warn
-.\" ####### init ######
+.\" ######## init #######
.\" Contents level [0:7], contents saved if heading level <= Cl
.nr Cl 2
.\" Eject page between LIST OF XXXX if Cp == 0
@@ -85,7 +90,7 @@ Index array!index
.\" hyphenation in body
.\" 0 -> no hyphenation
.\" 1 -> hyphenation 14 on
-.nr Hy 1
+.nr Hy 0
.\" text for toc, selfexplanatory. Look in the new variable section
.ds Lf LIST OF FIGURES
.nr Lf 1
@@ -129,9 +134,7 @@ Index array!index
.\"---------------------------------------------
.\" Internal global variables
.\"
-.\" These two are for cover macro .MT
-.\" Change @langage in the national file.
-.ds @cur-lib /usr/local/lib/groff/tmac
+.\" This is for cover macro .MT
.\" .ds @language
.\"
.\" Current pointsize and vertical space, always in points.
@@ -231,6 +234,44 @@ Index array!index
.\" indent for VERBON
.nr Verbin 5n
.\"
+.\" Letter section
+.\" Formal closing (.FC)
+.ds Letfc Yours very truly,
+.\"
+.\" Approval line
+.ds Letapp APPROVED:
+.\" Approval date-string
+.ds Letdate Date
+.\"
+.ds LetCN CONFIDENTIAL\" Confidential default
+.ds LetSA To Whom It May Concern:\" Salutation default
+.ds LetAT ATTENTION:\" Attention string
+.ds LetSJ SUBJECT:\" Subject string
+.ds LetRN In reference to:\" Reference string
+.\"
+.\" Copy to (.NS)
+.ds Letnsdef 0
+.ds Letns!copy Copy \" space!
+.ds Letns!to " to
+.ds Letns!0 Copy to
+.ds Letns!1 Copy (with att.) to
+.ds Letns!2 Copy (without att.) to
+.ds Letns!3 Att.
+.ds Letns!4 Atts.
+.ds Letns!5 Enc.
+.ds Letns!6 Encs.
+.ds Letns!7 Under separate cover
+.ds Letns!8 Letter to
+.ds Letns!9 Memorandum to
+.ds Letns!10 Copy (with atts.) to
+.ds Letns!11 Copy (without atts.) to
+.ds Letns!12 Abstract Only to
+.ds Letns!13 Complete Memorandum to
+.ds Letns!14 CC:
+.\"
+.\" Max lines in return address
+.nr Letwam 14
+.\"--------------------------
.\" test for mgm macro. This can be used if the text must test
.\" what macros is used.
.nr .mgm 1
@@ -253,24 +294,35 @@ Index array!index
'ps \\n[@ps]
'vs \\n[@vs]
..
+.de @warning
+'tm WARNING:(\\n[.F]) input line \\n[.c]:\\$*
+.if \\n[D] .backtrace
+..
.de @error
-.tm ******************
-.tm ERROR:(\\n[.F]) input line \\n[.c]:\\$*
+'tm ******************
+'tm ERROR:(\\n[.F]) input line \\n[.c]:\\$*
.if \\n[D] .backtrace
-.tm ******************
+'tm ******************
.ab "Input aborted, syntax error"
..
+.de misc@toupper
+.tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
+.br
+\\$1
+.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
+.br
+..
.\" ####### module debug #################################
.de debug
-.tm \\$1:\\n[.F]:\\n[c.] ll=\\n[.l] vs=\\n[.v] ps=\\n[.s],\\n[.ps] \
+'tm \\$1:\\n[.F]:\\n[c.] ll=\\n[.l] vs=\\n[.v] ps=\\n[.s],\\n[.ps] \
in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
..
.de debug-all
.nr debug*n 1n
.nr debug*m 1m
-.tm \\$1:\\n[.F]:\\n[c.] ll=\\n[.l] vs=\\n[.v] ps=\\n[.s] in=\\n[.i]\
+'tm \\$1:\\n[.F]:\\n[c.] ll=\\n[.l] vs=\\n[.v] ps=\\n[.s] in=\\n[.i]\
ad=\\n[.j] fi=\\n[.u] pl=\\n[.p] page=\\n[%] .o=\\n[.o]
-.tm _______ .d=\\n[.d] .f=\\n[.f] .h=\\n[.h] .k=\\n[.k] .n=\\n[.n]\
+'tm _______ .d=\\n[.d] .f=\\n[.f] .h=\\n[.h] .k=\\n[.k] .n=\\n[.n]\
.p=\\n[.p] .t=\\n[.t] .z=\\n[.z] nl=\\n[nl] dn=\\n[dn] n=\\n[debug*n]
..
.\" ####### module par #################################
@@ -279,6 +331,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.nr hd*last-hpos -1
.nr par*number 0 1
.af par*number 01
+.nr par*number2 0 1
+.af par*number2 01
.nr par*num-count 0 1
.af par*num-count 01
.\" reset numbered paragraphs, arg1 = headerlevel
@@ -293,13 +347,31 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.ie !((\\n[nl]=\\n[hd*last-pos]):(\\n[nl]=(\\n[hd*last-pos]-.5v))) \{\
. if \\n[D]>2 .tm Paragraph
. par@doit \\$*
+. if \\n[Np] \\n[H1].\\n+[par*number]\ \ \c
.\}
.el .if !(\\n[hd*last-hpos]=\\n[.k]) \{\
. if \\n[D]>2 .tm Paragraph
. par@doit \\$*
+. if \\n[Np] \\n[H1].\\n+[par*number]\ \ \c
.\}
.nr par@ind-flag 1
..
+.\"------------
+.de nP
+.\" skip P if previous heading
+.ie !((\\n[nl]=\\n[hd*last-pos]):(\\n[nl]=(\\n[hd*last-pos]-.5v))) \{\
+. if \\n[D]>2 .tm Paragraph
+. par@doit \\$*
+\\n[H2].\\n+[par*number2]\ \ \c
+.\}
+.el .if !(\\n[hd*last-hpos]=\\n[.k]) \{\
+. if \\n[D]>2 .tm Paragraph
+. par@doit \\$*
+\\n[H2].\\n+[par*number2]\ \ \c
+.\}
+.nr par@ind-flag 1
+..
+.\"------------
.de par@doit
.SP (u;\\n[Ps]*\\n[Lsp])
.ie \\n[.$] \{\
@@ -309,10 +381,6 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
. if \\n[Pt]=1 .ti +\\n[Pi]n
. if (\\n[Pt]=2)&\\n[par@ind-flag] .ti +\\n[Pi]n
.\}
-.if \\n[Np] \{\
-\\n[H1].\\n+[par*number]\ \ \c
-.\" $$$ 'br
-.\}
..
.\" ####### module line #######################################
.de SP
@@ -500,7 +568,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.de RD
.di misc*rd
'fl
-.rd \\$1
+.rd \\$1\t
.br
.di
.ie !''\\$3' \{\
@@ -572,10 +640,10 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" ######## module uni #################
.\" unimplemented macros
.de OK
-.tm "OK: not implemented"
+'tm "OK: not implemented"
..
.de PM
-.tm "PM: not implemented"
+'tm "PM: not implemented"
..
.\" ######## module hd #################
.\" support for usermacro
@@ -603,9 +671,9 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.de H
.if !r hd*cur-bline .nr hd*cur-bline \\n[nl]
.br
-.ds@print-float 2\" $$$ could be wrong...
+.df@print-float 2\" $$$ could be wrong...
.\" terminate all lists
-.LC 0
+.LC
.init@reset
.nr hd*level 0\\$1
.nr hd*arg1 0\\$1
@@ -804,7 +872,9 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" footer traps: set, enable and disable
.de pg@set-new-trap
.nr pg*foot-trap \\n[@pl]u-(\\n[pg*block-size]u+\\n[ft*note-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]v+\\n[pg*extra-footer-size]u)
+.\"
.if \\n[D]>2 .tm pg*foot-trap \\n[@pl]u-(\\n[pg*block-size]u+\\n[ft*note-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]v) = \\n[pg*foot-trap]
+.\"
.\" last-pos points to the position of the footer and bottom
.\" block below foot-notes.
.nr pg*last-pos \\n[@pl]u-(\\n[pg*block-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]v)
@@ -846,10 +916,17 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" .pg@footer
..
.\"-------------------------
-.\" support for PX and TP
+.\" support for PX, TP and EOP.
.als }t pg*header
.als }e pg*even-header
.als }o pg*odd-header
+.als TPh pg*header
+.als TPeh pg*even-header
+.als TPoh pg*odd-header
+.\"
+.als EOPf pg*footer
+.als EOPef pg*even-footer
+.als EOPof pg*odd-footer
.\"------------------------------------------------------------
.\" HEADER
.de pg@header
@@ -862,19 +939,24 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\"
.\" suppress pageheader if pagenumber == 1 and N == [124]
.if \\n[pg*top-enabled] \{\
+.\" must be fixed!!
+.\". pg@disable-top-trap
. if \\n[pg*extra-header-size] 'sp \\n[pg*extra-header-size]u
. if \\n[pg*top-margin] 'sp \\n[pg*top-margin]u
. ev pg*tl-ev
. pg@set-env
-. ie !d TP \{\
-' sp 3
-. ie ((\\n[%]=1)&((\\n[N]=1):(\\n[N]=2))) .sp
-. el .tl \\*[pg*header]
-. ie o .tl \\*[pg*odd-header]
-. el .tl \\*[pg*even-header]
-' sp 2
+. ie d let@header .let@header
+. el \{\
+. ie d TP .TP
+. el \{\
+' sp 3
+. ie ((\\n[%]=1)&((\\n[N]=1):(\\n[N]=2))) .sp
+. el .tl \\*[pg*header]
+. ie o .tl \\*[pg*odd-header]
+. el .tl \\*[pg*even-header]
+' sp 2
+. \}
. \}
-. el .TP
. ev
. \" why no-space??
. if d PX \{\
@@ -889,11 +971,13 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
. pg@enable-trap
. \" mark for multicolumn
. nr pg*head-mark \\n[nl]u
+. \" reset NCOL pointer at each new page.
+. nr pg*last-ncol 0
. \" set multicolumn
. \"
. pg@set-po
. \" print floating displays
-. ds@print-float 4
+. df@print-float 4
. tbl@top-hook
. ns
.\}
@@ -933,12 +1017,18 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" print the footer and eject new page
.ev pg*tl-ev
.pg@set-env
-.ie o .tl \\*[pg*odd-footer]
-.el .tl \\*[pg*even-footer]
-.ie (\\n[%]=1)&(\\n[N]=1) .tl \\*[pg*header]
-.el .tl \\*[pg*footer]
+.\" user defined end-of-page macro
+.ie d EOP .EOP
+.el \{\
+. ie o .tl \\*[pg*odd-footer]
+. el .tl \\*[pg*even-footer]
+. ie (\\n[%]=1)&(\\n[N]=1) .tl \\*[pg*header]
+. el .tl \\*[pg*footer]
+.\}
.ev
-.ie (\\n[ds*fnr]>=\\n[ds*o-fnr]):\\n[ft*exist] \{\
+.\" be sure that floating displays and footnotes will be
+.\" printed at the end of the document.
+.ie (\\n[df*fnr]>=\\n[df*o-fnr]):\\n[ft*exist] \{\
. ev ne
' bp
. ev
@@ -1041,7 +1131,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" print out all pending text
.de pg@end-of-text
.if \\n[D]>2 .tm ---------- End of text processing ----------------
-.ds@eot-print
+.df@eot-print
.ref@eot-print
..
.\"-------------------------
@@ -1089,10 +1179,22 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.nr pg*cols-per-page 1
.nr pg*column-sep 0
.nr pg*column-size \\n[@ll]
+.nr pg*ncol-i \\n[pg*cur-column]\" temp variable
.nr pg*cur-column 0 1
.nr pg*cur-po \\n[@po]u
.PGFORM
-.if !'\\$1'1' .SK
+.ie !'\\$1'1' .SK
+.el \{\
+. if d ft*div \{\
+. if \\n[pg*ncol-i]>0 \{\
+. @warning 1C: footnotes will be messy
+. \}
+. \}
+. if \\n[pg*last-ncol]>0 \{\
+. sp |\\n[pg*last-ncol]u
+. nr pg*last-ncol 0
+. \}
+.\}
..
.de 2C
.br
@@ -1125,6 +1227,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" begin a new column
.de NCOL
.br
+.if \\n[nl]>\\n[pg*last-ncol] .nr pg*last-ncol \\n[nl]
.pg@footer
..
.\" skip pages
@@ -1268,10 +1371,21 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
. if '\\*[ft*x]'WF' .nr ft*wide 1
. if '\\*[ft*x]'-FF' .nr ft*first-fn 0
. if '\\*[ft*x]'FF' .nr ft*first-fn 1
-. if '\\*[ft*x]'-WD' .nr ds*wide 0
-. if '\\*[ft*x]'WD' .nr ds*wide 1
+. if '\\*[ft*x]'-WD' \{\
+. nr ds*wide 0
+. if r ft*df-save \{\
+. nr Df \\n[ft*df-save]
+. rm ft*df-save
+. \}
+. \}
+. if '\\*[ft*x]'WD' \{\
+. nr ds*wide 1
+. nr ft*df-save \\n[Df]
+. nr Df 4
+. \}
. if '\\*[ft*x]'-FB' .nr ds*float-break 0
. if '\\*[ft*x]'FB' .nr ds*float-break 1
+. if \\n[D]>1 .tm WC WF=\\n[ft*wide] WD=\\n[ds*wide]
.\}
..
.\"-----------------
@@ -1282,7 +1396,6 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.ev ft*ev
.ft@init
.if !\\n[ft*wide] .pg@set-po
-.if !d ft*div .ft@init-footnote
.di ft*tmp-div
.nr ft*space (u;\\n[Fs]*\\n[Lsp])
.sp \\n[ft*space]u
@@ -1319,6 +1432,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
. di
.\}
.el \{\
+. if !d ft*div .ft@init-footnote
. da ft*div
. ft*tmp-div
. di
@@ -1363,196 +1477,88 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
..
.\"########### module display ###################
.nr ds*wide 0\" >0 if wide displays wanted
-.nr ds*fnr 0 1\" floating display counter
-.nr ds*o-fnr 1\" floating display counter, already printed
+.nr df*fnr 0 1\" floating display counter
+.nr df*o-fnr 1\" floating display counter, already printed
.nr ds*snr 0 1\" static display counter
.nr ds*lvl 0 1\" display level
.nr ds*float-busy 0\" >0 if printing float
-.nr ds*ffloat 0\" >0 if DF, 0 if DS
-.\" static display start
-.\" nested DS/DE is allowed. No limit on depth.
-.de DS
-.br
-.ds@start 0 DS \\$@
+.nr df*float 0 >0 if previous display was floating
+.\"--------------------------------------------
+.de DE
+.ie \\n[df*float] .df@end \\$@
+.el .ds@end \\$@
..
+.\"--------------------------------------------
.\" floating display start
.\" nested DF/DE is not allowed.
.de DF
-.if \\n[ds*lvl] .@error "DF:nested floating is not allowed. Use DS."
-.ds@start 1 DF \\$@
-..
-.\"---------------
-.nr ds*format 0\" dummy value for .En/.EQ
-.nr ds*format! 0\" no indent
-.nr ds*format!0 0\" no indent
-.nr ds*format!L 0\" no indent
-.nr ds*format!I 1\" indent
-.nr ds*format!1 1\" indent
-.nr ds*format!C 2\" center each line
-.nr ds*format!2 2\" center each line
-.nr ds*format!CB 3\" center as block
-.nr ds*format!3 3\" center as block
-.nr ds*format!R 4\" right justify each line
-.nr ds*format!4 4\" right justify each line
-.nr ds*format!RB 5\" right justify as block
-.nr ds*format!5 5\" right justify as block
-.\"---------------
-.nr ds*fill! 0\" no fill
-.nr ds*fill!N 0\" no fill
-.nr ds*fill!0 0\" no fill
-.nr ds*fill!F 1\" fill on
-.nr ds*fill!1 1\" fill on
-.\"---------------
-.de ds@start
-.nr ds*ffloat \\$1
-.ds ds*type \\$2
-.shift 2
-.nr ds*lvl +1
-.\" get format of the display
-.ie \\n[.$] \{\
-. ie r ds*format!\\$1 .nr ds*format \\n[ds*format!\\$1]
-. el .@error "\\*[ds*type]:wrong format:\\$1"
-.\}
-.el .nr ds*format 0
-.\" fill or not to fill, that is the...
-.nr ds*fill 0
-.ie \\n[.$]>1 \{\
-. ie r ds*fill!\\$2 .nr ds*fill \\n[ds*fill!\\$2]
-. el .@error "\\*[ds*type]:wrong fill:\\$2"
-.\}
-.nr ds*rindent 0
-.if \\n[.$]>2 .nr ds*rindent \\$3
+.if \\n[df*float] .@error "DF:nested floating is not allowed. Use DS."
+.ds@set-format \\$@
.\"
-.\"---------------
-.nr ds*old-ll \\n[.l]
-.misc@push ds-ll \\n[.l]
-.misc@push ds-form \\n[ds*format]
-.misc@push ds-ffloat \\n[ds*ffloat]
+.nr df*old-ll \\n[.l]
.nr ds*i \\n[.i]
.nr ds*ftmp \\n[.f]
-.misc@ev-keep ds*ev!\\n+[ds*snr]
+.misc@ev-keep df*ev
.ft \\n[ds*ftmp]
.\"
.init@reset
+.di df*div
'in \\n[ds*i]u
-.di ds*div!\\n[ds*snr]
.\"
-.ll \\n[ds*old-ll]u
-.lt \\n[ds*old-ll]u
-.if \\n[ds*rindent] \{\
-. ll -\\n[ds*rindent]n
-. lt -\\n[ds*rindent]n
-.\}
-.if \\n[ds*wide] \{\
-. ll \\n[@ll]u
-. lt \\n[@ll]u
-.\}
-.\"
-.ie \\n[ds*fill] 'fi
-.el 'nf
-.\"
-.if \\n[ds*format]=1 \{\
-. ll -\\n[Si]n
-. lt -\\n[Si]n
-' in +\\n[Si]n
-.\}
-.if (\\n[ds*format]=3):(\\n[ds*format]=5) 'in 0
+.ds@set-new-ev \\n[df*old-ll]
+.SP \\n[Lsp]u
+.nr df*float 1
..
-.\"---------------
-.de DE
-.if \\n-[ds*lvl]<0 .@error "DE: no corresponding DS or DF"
+.\"--------------------------------------------
+.de df@end
.br
-.if \\n[ds*ffloat] .SP \\n[Lsp]u
-.di
-.\" find out the real size of the diversion
-.di ds*test
-.ds*div!\\n[ds*snr]
+.SP \\n[Lsp]u
.di
-.nr ds*width \\n[dl]
-.nr ds*height \\n[dn]
-.rm ds*test
-.misc@pop-nr ds-ll ds*old-ll
-.misc@pop-nr ds-form ds*format
-.misc@pop-nr ds-ffloat ds*ffloat
-.if (\\n[ds*format]>=2)&(\\n[ds*width]>\\n[ds*old-ll]) \{\
-. @error "DE: display too wide for current line-length"
-.\}
-.\" prepare copy to floating display
-.if \\n[ds*ffloat] .di ds*fdiv!\\n+[ds*fnr]
-.\"
-'in 0
-'nf
-.if \\n[ds*format]=2 'ce 9999
-.if \\n[ds*format]=3 'in (u;(\\n[ds*old-ll]-\\n[ds*width])/2)
-.if \\n[ds*format]=4 'rj 9999
-.if \\n[ds*format]=5 'in (u;\\n[ds*old-ll]-\\n[ds*width])
+.nr df*width!\\n+[df*fnr] \\n[dl]
+.nr df*height!\\n[df*fnr] \\n[dn]
+.nr df*wide!\\n[df*fnr] \\n[ds*wide]
+.nr df*format!\\n[df*fnr] \\n[ds*format]
+.ev
+.if \\n[D]>2 .tm DF:fnr=\\n[df*fnr] w=\\n[dl] h=\\n[dn] wide=\\n[ds*wide] \
+ form=\\n[ds*format]
+.\" move div to the floating display list
+.rn df*div df*fdiv!\\n[df*fnr]
.\"
-.ie !\\n[ds*ffloat] \{\
-. \"
-. \" Print static display
-. \" Eject page if display will fit one page and
-. \" there are less than half of the page left.
-. nr ds*i \\n[pg*foot-trap]-\\n[pg*header-size]v-\\n[pg*extra-header-size]v
-. if (\\n[ds*height]>\\n[ds*i])&(\\n[.t]<(\\n[ds*i]/2)) \{\
-. ne \\n[.t]u+1v
-. \}
-. if (\\n[ds*height]<\\n[ds*i])&(\\n[.t]<(\\n[ds*height])) \{\
-. ne \\n[.t]u+1v
-. \}
-. if \\n[Ds] .SP \\n[Lsp]u
-.\}
-.el .SP \\n[Lsp]u
-.ds*div!\\n[ds*snr]
-.ie !\\n[ds*ffloat] .if \\n[Ds] .SP \\n[Lsp]u
-.el \{\
-. SP \\n[Lsp]u
-. di
-.\}
-.if \\n[ds*format]=2 'ce 0
-.if \\n[ds*format]=4 'rj 0
-.rm ds*div!\\n[ds*snr]
-.nr ds*snr -1
.nr par@ind-flag 0
-.\" move div to the floating display list
-.ev
-.if \\n[ds*ffloat] \{\
-. nr ds*fsize!\\n[ds*fnr] \\n[dn]
-. \" print float if queue is empty and the display fits into
-. \" the current page
-. if ((\\n[ds*fnr]>\\n[ds*o-fnr])&(\\n[ds*height]<\\n[.t])) \{\
-. ds@print-float 1
-. \}
-.\}
+.\" print float if queue is empty and the display fits into
+.\" the current page
+.if ((\\n[df*fnr]>=\\n[df*o-fnr])&(\\n[dn]<\\n[.t])) .df@print-float 1
+.nr df*float 0
..
.\"-------------
.\" called by end-of-text
-.de ds@eot-print
-.if \\n[ds*o-fnr]<=\\n[ds*fnr] \{\
+.de df@eot-print
+.if \\n[df*o-fnr]<=\\n[df*fnr] \{\
. if \\n[D]>2 .tm Print remaining displays.
.\" still some floats left, make non-empty environment
. misc@ev-keep ne
. init@reset
\c
-. ds@print-float 3
+. df@print-float 3
. ev
.\}
..
.\"---------------
.\" print according to Df and De.
-.\" .ds@print-float type
+.\" .df@print-float type
.\" type called from
.\" 1 .DE
.\" 2 end of section
.\" 3 end of document
.\" 4 beginning of new page
.\"
-.de ds@print-float
+.de df@print-float
.if \\n[Df]>5 .@error "Df=\\n[Df], max value is 5"
.if !\\n[ds*float-busy] \{\
. nr ds*float-busy 1
.\" at .DE
. if (\\$1=1)&((\\n[Df]%2)=1) \{\
-. if \\n[.t]>\\n[ds*fsize!\\n[ds*o-fnr]] \{\
+. if \\n[.t]>\\n[df*height!\\n[df*o-fnr]] \{\
. \" Df = 1,3 or 5
. ds@print-one-float
. \}
@@ -1576,21 +1582,34 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\"---------------
.\" print a floating diversion
.de ds@output-div
+.nr df*old-ll \\n[.l]
.ev ds*fev
.in 0
.nf
-.ds*fdiv!\\n[ds*o-fnr]
+.nr df*i \\n[df*o-fnr]
+.nr df*f \\n[df*format!\\n[df*i]]
+.\"
+.if \\n[df*f]=2 'ce 9999
+.if \\n[df*f]=3 'in (u;(\\n[df*old-ll]-\\n[df*width!\\n[df*i]])/2)
+.if \\n[df*f]=4 'rj 9999
+.if \\n[df*f]=5 'in (u;\\n[df*old-ll]-\\n[df*width!\\n[df*i]])
+.\"
+.df*fdiv!\\n[df*o-fnr]
+.\"
+.if \\n[df*f]=2 'ce 0
+.if \\n[df*f]=4 'rj 0
.ev
-.rm ds*fdiv!\\n[ds*o-fnr]
-.rm ds*fsize!\\n[ds*o-fnr]
-.rm ds*fformat!\\n[ds*o-fnr]
-.nr ds*o-fnr +1
+.rm df*fdiv!\\n[df*i]
+.rm df*height!\\n[df*i]
+.rm df*format!\\n[df*i]
+.if \\n[df*wide!\\n[df*i]] .nr pg*head-mark \\n[nl]u
+.nr df*o-fnr +1
..
.\"---------------
.\" print one floating display if there is one.
.de ds@print-one-float
-.if \\n[ds*o-fnr]<=\\n[ds*fnr] \{\
-. if \\n[.t]<\\n[ds*fsize!\\n[ds*o-fnr]] .pg@next-page
+.if \\n[df*o-fnr]<=\\n[df*fnr] \{\
+. if \\n[.t]<\\n[df*height!\\n[df*o-fnr]] .pg@next-page
. ds@output-div
. if \\n[De] .pg@next-page
.\}
@@ -1599,8 +1618,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" print all queued floats.
.\" if De>0 do a page eject between the floats.
.de ds@print-all-floats
-.while \\n[ds*o-fnr]<=\\n[ds*fnr] \{\
-. if \\n[.t]<\\n[ds*fsize!\\n[ds*o-fnr]] .pg@next-page
+.while \\n[df*o-fnr]<=\\n[df*fnr] \{\
+. if \\n[.t]<\\n[df*height!\\n[df*o-fnr]] .pg@next-page
. ds@output-div
. if \\n[De] .pg@next-page
.\}
@@ -1608,11 +1627,136 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\"---------------
.\" print as many floats as will fit on the current page
.de ds@print-this-page
-.while \\n[ds*o-fnr]<=\\n[ds*fnr] \{\
-. if \\n[.t]<\\n[ds*fsize!\\n[ds*o-fnr]] .break
+.while \\n[df*o-fnr]<=\\n[df*fnr] \{\
+. if \\n[.t]<\\n[df*height!\\n[df*o-fnr]] .break
. ds@output-div
.\}
..
+.\"---------------------------------------------------
+.\" get format of the display
+.de ds@set-format
+.ie \\n[.$] \{\
+. ie r ds*format!\\$1 .nr ds*format \\n[ds*format!\\$1]
+. el .@error "DS/DF:wrong format:\\$1"
+.\}
+.el .nr ds*format 0
+.if \\n[D]>2 .tm set format=\\n[ds*format]
+.\" fill or not to fill, that is the...
+.nr ds*fill 0
+.ie \\n[.$]>1 \{\
+. ie r ds*fill!\\$2 .nr ds*fill \\n[ds*fill!\\$2]
+. el .@error "\\*[ds*type]:wrong fill:\\$2"
+.\}
+.if \\n[D]>2 .tm set fill=\\n[ds*fill]
+.nr ds*rindent 0
+.if \\n[.$]>2 .nr ds*rindent \\$3
+.if \\n[D]>2 .tm set indent=\\n[ds*rindent]
+..
+.\"-----------------------------
+.\" .ds@set-new-ev previous-line-length
+.de ds@set-new-ev
+.ll \\$1u
+.lt \\$1u
+.if \\n[ds*rindent] \{\
+. ll -\\n[ds*rindent]n
+. lt -\\n[ds*rindent]n
+.\}
+.if \\n[ds*wide] \{\
+. ll \\n[@ll]u
+. lt \\n[@ll]u
+.\}
+.\"
+.ie \\n[ds*fill] 'fi
+.el 'nf
+.\"
+.if \\n[ds*format]=1 \{\
+. ll -\\n[Si]n
+. lt -\\n[Si]n
+' in +\\n[Si]n
+.\}
+.if (\\n[ds*format]=3):(\\n[ds*format]=5) 'in 0
+..
+.\"--------------------------------------------------------
+.nr ds*format 0\" dummy value for .En/.EQ
+.nr ds*format! 0\" no indent
+.nr ds*format!0 0\" no indent
+.nr ds*format!L 0\" no indent
+.nr ds*format!I 1\" indent
+.nr ds*format!1 1\" indent
+.nr ds*format!C 2\" center each line
+.nr ds*format!2 2\" center each line
+.nr ds*format!CB 3\" center as block
+.nr ds*format!3 3\" center as block
+.nr ds*format!R 4\" right justify each line
+.nr ds*format!4 4\" right justify each line
+.nr ds*format!RB 5\" right justify as block
+.nr ds*format!5 5\" right justify as block
+.\"---------------
+.nr ds*fill! 0\" no fill
+.nr ds*fill!N 0\" no fill
+.nr ds*fill!0 0\" no fill
+.nr ds*fill!F 1\" fill on
+.nr ds*fill!1 1\" fill on
+.\"--------------------------------------------
+.\" static display start
+.\" nested DS/DE is allowed. No limit on depth.
+.de DS
+.br
+.nr ds*lvl +1
+.ds@set-format \\$@
+.\"
+.nr ds*old-ll \\n[.l]
+.misc@push ds-ll \\n[.l]
+.misc@push ds-form \\n[ds*format]
+.nr ds*i \\n[.i]
+.nr ds*ftmp \\n[.f]
+.misc@ev-keep ds*ev!\\n+[ds*snr]
+.ft \\n[ds*ftmp]
+.\"
+.init@reset
+'in \\n[ds*i]u
+.di ds*div!\\n[ds*snr]
+.\"
+.ds@set-new-ev \\n[ds*old-ll]
+.nr df*float 0
+..
+.\"--------------------------------------------
+.de ds@end
+.if \\n-[ds*lvl]<0 .@error "DE: no corresponding DS"
+.br
+.di
+.nr ds*width \\n[dl]
+.nr ds*height \\n[dn]
+.misc@pop-nr ds-ll ds*old-ll
+.misc@pop-nr ds-form ds*format
+.if (\\n[ds*format]>=2)&(\\n[ds*width]>\\n[ds*old-ll]) \{\
+. @error "DE: display too wide for current line-length"
+.\}
+.\"
+'in 0
+'nf
+.if \\n[ds*format]=2 'ce 9999
+.if \\n[ds*format]=3 'in (u;(\\n[ds*old-ll]-\\n[ds*width])/2)
+.if \\n[ds*format]=4 'rj 9999
+.if \\n[ds*format]=5 'in (u;\\n[ds*old-ll]-\\n[ds*width])
+.\"
+.\" Print static display
+.\" Eject page if display will fit one page and
+.\" there are less than half of the page left.
+.nr ds*i \\n[pg*foot-trap]-\\n[pg*header-size]v-\\n[pg*extra-header-size]v
+.if (\\n[ds*height]>\\n[ds*i])&(\\n[.t]<(\\n[ds*i]/2)) .ne \\n[.t]u+1v
+.if (\\n[ds*height]<\\n[ds*i])&(\\n[.t]<(\\n[ds*height])) .ne \\n[.t]u+1v
+.if \\n[Ds] .SP \\n[Lsp]u
+.ds*div!\\n[ds*snr]
+.if \\n[Ds] .SP \\n[Lsp]u
+.\"
+.if \\n[ds*format]=2 'ce 0
+.if \\n[ds*format]=4 'rj 0
+.rm ds*div!\\n[ds*snr]
+.nr ds*snr -1
+.nr par@ind-flag 0
+.ev
+..
.\"########### module list ###################
.\" .LI text-indent mark-indent pad type [mark [LI-space [LB-space] ] ]
.\"
@@ -1623,6 +1767,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.ds li*mark 0
.nr li*li-spc 0
.nr li*lvl 0 1
+.aln :g li*lvl
.nr li*cur-vpos 0
.\"--------------------------
.\" the major list-begin macro.
@@ -1709,10 +1854,12 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
..
.\"-------------
.\" list status clear.
+.\" terminate all lists to level i
.de LC
-.if !\\n[.$]=1 .@error "LC: no argument"
-.if \\$1>\\n[li*lvl] .@error "LC: incorrect argument: \\$1 (too big)"
-.while \\n[li*lvl]>\\$1 .li@pop
+.ie \\n[.$]<1 .nr li*i 0
+.el .nr li*i \\$1
+.if \\n[li*i]>\\n[li*lvl] .@error "LC: incorrect argument: \\n[li*i] (too big)"
+.while \\n[li*lvl]>\\n[li*i] .li@pop
.nr par@ind-flag 0
..
.\"-------------
@@ -1821,6 +1968,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.nr tbl*header-written 1
..
.de TH
+.if '\\$1'N' @error TH: N not implemented yet. Sorry.
.ie '\\n[.z]'tbl*header-div' \{\
. nr T. 0
. T#
@@ -1928,7 +2076,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.de TC
.br
.\" print any pending displays and references
-.ds@print-float 3
+.df@print-float 3
.if \\n[ref*flag] .RP 0 1
.\"
.if \w@\\$1@>0 .nr toc*slevel \\$1
@@ -2252,6 +2400,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
..
.\"########################### module ref ############################
.nr ref*nr 0 1
+.aln :R ref*nr
.nr ref*nr-width 5n
.nr ref*flag 0 \" for end-of-text
.ds Rf \v'-.4m'\s-3[\\n+[ref*nr]]\s0\v'.4m'
@@ -2259,7 +2408,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" start reference
.\"------------
.de RS
-.if !''\\$1' .ds \\$1 \\n[ref*nr]
+.if !''\\$1' .ds \\$1 \v'-.4m'\s-3[\\n[ref*nr]]\s0\v'.4m'
.nr ref*flag 1
.am ref*mac
.ref@start-print \\n[ref*nr]
@@ -2334,6 +2483,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.in
.rm ref*mac
.ev
+.nr ref*flag 0 1
..
.\"########################### module app ############################
.\"
@@ -2411,6 +2561,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\"
.nr cov*au 0
.de TL
+.rm IA IE WA WE LO LT
.if \\n[.$]>0 .ds cov*title-charge-case \\$1
.if \\n[.$]>1 .ds cov*title-file-case \\$2
.pg@disable-top-trap
@@ -2473,7 +2624,6 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.el .ds cov*new-date \\*[MO\\n[mo]] \\n[dy], 19\\n[yr]
.als DT cov*new-date
.de ND
-.\" don't remember why I did this: .pg@disable-top-trap
.ds cov*new-date \\$1
..
.\"-------------------
@@ -2633,3 +2783,304 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
. \}
.\}
..
+.\"########################### module let ############################
+.\" Letter macros
+.\"------------------------
+.\" Formal closing
+.de FC
+.df@print-float 3
+.ie \\n[.$] .ds let*i \\$1
+.el .ds let*i \\*[Letfc]
+.ie d let*type .let@fc_\\*[let*type] "\\*[let*i]" \\$@
+.el .let@mt-closing "\\*[let*i]" \\$@
+..
+.\"-------
+.de let@mt-closing
+.ne 5v
+.in (u;\\n[.l]/2)
+.sp
+\\$1
+.in
+..
+.\"------------------------
+.\" Signature line
+.de SG
+.ie d let*type .let*lt-sign \\$@
+.el .let*mt-sign \\$@
+..
+.\"------------------------
+.de let*lt-sign
+.if !d let@sg_\\*[let*type] .@error "SG: letter type \\*[let*type] undefined"
+.df@print-float 3
+.nr let*i 0 1
+.nr let*j 0
+.while \\n+[let*i]<=\\n[let*wa-n] \{\
+.if \\n[let*i]=\\n[let*wa-n] .nr let*j 1
+.let@sg_\\*[let*type] "\\*[let*wa-name!\\n[let*i]]" "\\*[let*wa-title!\\n[let*i]]" \\n[let*i] \\n[let*j] \\$@
+.\}
+..
+.\"------------------------
+.\" Memorandum signature
+.de let*mt-sign
+.df@print-float 3
+.ne \\n[cov*au]u*4v
+.ie \\n[.$]>1 .nr let*k 1
+.el .nr let*k \\n[cov*au]
+.ds let*tmp \\*[cov*au!\\n[let*k]!3]-\\*[cov*au!\\n[let*k]!4]-
+.nr let*i 0 1
+.while \\n+[let*i]<=\\n[cov*au] \{\
+. if \\n[let*i]>1 .as let*tmp /
+. as let*tmp \\*[cov*au!\\n[let*k]!2]
+.\}
+.if !''\\$1' .as let*tmp -\\$1
+.in (u;\\n[.l]/2)
+.nf
+.nr let*i 0 1
+.while \\n+[let*i]<=\\n[cov*au] \{\
+. SP 3v
+. if \\n[let*i]=\\n[let*k] \{\
+\Z'\h'-(u;\\n[.l]/2)'\\*[let*tmp]'\c
+. \}
+\\*[cov*au!\\n[let*i]!1]
+.\}
+.fi
+.in
+..
+.\"------------------------
+.\" Approval signature
+.de AV
+.ne 6v
+.nf
+.sp
+.ie \\n[.$]<2 \\*[Letapp]
+.el .sp
+.sp 2
+.ie n ______________________________ ______________
+.el \D'l 25m 0'\h'4m'\D'l 12m 0'
+\Z'\\$1'\h'29m'\\*[Letdate]
+.fi
+..
+.\"------------------------
+.\" Letter type
+.\" let@header is called from the header. It is supposed
+.\" to remove the alias itself.
+.de LT
+.rm AF AS AE AT AU CS OK TL MT
+.ds let*type BL
+.nr Pi 5
+.nr Pt 0
+.if !''\\$1' .ds let*type \\$1
+.if !d let@head_\\*[let*type] .@error "LT: unknown letter type \\$1"
+.shift
+.als let@header let@head_\\*[let*type]
+.let@init_\\*[let*type] \\$@
+.if \n[D]>1 .tm Letter type \\*[let*type]
+..
+.\"-----------
+.\" Blocked letter
+.de let@init_BL
+..
+.de let@head_BL
+.rm let@header
+.let@print-head 1
+..
+.de let@sg_BL
+.ne 5v
+.nf
+.in (u;\\n[.l]/2)
+.sp 3v
+\\$1
+\\$2
+.in
+.if \\$4 .sp
+.if \w'\\$5'&\\$4 \\$5
+.fi
+..
+.als let@fc_BL let@mt-closing
+.\"-----------
+.\" Semiblocked letter
+.de let@init_SB
+.nr Pt 1
+..
+.de let@head_SB
+.rm let@header
+.let@print-head 1
+..
+.als let@sg_SB let@sg_BL
+.als let@fc_SB let@mt-closing
+.\"-----------
+.\" Full-blocked letter
+.de let@init_FB
+..
+.de let@head_FB
+.rm let@header
+.let@print-head
+..
+.de let@sg_FB
+.ne 5v
+.nf
+.sp 3v
+\\$1
+\\$2
+.if \\$4 .sp
+.if \w'\\$5'&\\$4 \\$5
+.fi
+..
+.de let@fc_FB
+.ne 5v
+.sp
+\\$1
+..
+.\"-----------
+.\" Simplified letter
+.de let@init_SP
+..
+.de let@head_SP
+.rm let@header
+.let@print-head
+..
+.de let@sg_SP
+.nf
+.if \\$3=1 .sp
+.sp
+.misc@toupper "\\$1, \\$2"
+.if \\$4 .sp
+.if \w'\\$5'&\\$4 \\$5
+.fi
+..
+.de let@fc_SP
+.sp 2
+..
+.\"--------------------------------------
+.\" Print the letter-head
+.de let@print-head
+.nf
+.sp |11
+.if '1'\\$1' .in (u;\\n[.l]/2)
+.\" ---- WA
+.ie d let@wa-div .let@wa-div
+.el .sp 3
+.\" ---- datum
+\\*[cov*new-date]
+.sp
+.if '1'\\$1' .if !d let*lo-CN .if !d let*lo-RN .sp 2
+.\" ---- Confidential
+.if d let*lo-CN \{\
+. ti 0
+. ie !''\\*[let*lo-CN]' \\*[let*lo-CN]
+. el \\*[LetCN]
+. sp
+.\}
+.\" ---- Reference
+.if d let*lo-RN \{\
+\\*[LetRN] \\*[let*lo-RN]
+. sp
+.\}
+.\" ---- IA
+.sp
+.in 0
+.nr let*i 0 1
+.while \\n+[let*i]<=\\n[let*ia-n] \{\
+\\*[let*ia-name!\\n[let*i]]
+\\*[let*ia-title!\\n[let*i]]
+.\}
+.if d let@ia-div .let@ia-div
+.\" ---- Attention
+.if d let*lo-AT \{\
+. sp
+\\*[LetAT] \\*[let*lo-AT]
+.\}
+.\" ---- Salutation
+.if !'\\*[let*type]'SP' .if d let*lo-SA \{\
+. sp
+. ti 0
+. ie !''\\*[let*lo-SA]' \\*[let*lo-SA]
+. el \\*[LetSA]
+.\}
+.\" ---- Subject
+.if d let*lo-SJ \{\
+. ie '\\*[let*type]'SP' \{\
+. sp 2
+. misc@toupper \\*[let*lo-SJ]
+. sp
+. \}
+. el \{\
+. sp
+. if '\\*[let*type]'SB' .ti +5m
+\\*[LetSJ] \\*[let*lo-SJ]
+. \}
+.\}
+..
+.\"-------------------
+.\" .IA [name [title]]
+.nr let*ia-n 0 1
+.de IA
+.if \\n[.$] .ds let*ia-name!\\n+[let*ia-n] \\$1
+.if \\n[.$]>1 .ds let*ia-title!\\n[let*ia-n] \\$2
+.ev let@ev
+'nf
+.di let@ia-div
+.eo
+..
+.de IE
+.di
+.ec
+.ev
+..
+.\"-------------------
+.\" .WA [name [title]]
+.nr let*wa-n 0 1
+.de WA
+.if \\n[.$] .ds let*wa-name!\\n+[let*wa-n] \\$1
+.if \\n[.$]>1 .ds let*wa-title!\\n[let*wa-n] \\$2
+.ev let@ev
+'nf
+.di let@wa-div
+.it \\n[Letwam] let@wa-drain
+.eo
+..
+.\"------
+.de let@wa-drain
+.it
+.di
+.di let@wa-junk
+..
+.\"------
+.de WE
+.it
+.ec
+.di
+.ev
+.if d let@wa-junk .rm let@wa-junk
+..
+.\"-------------------
+.\" Copy to
+.de NS
+.sp
+.ie !''\\$2' .ds let*str \\$1
+.el \{\
+. ie \\n[.$]>0 \{\
+. ie !\w'\\$1' .ds let*str \\*[Letns!\\*[Letnsdef]]
+. el \{\
+. ie d Letns!\\$1 .ds let*str \\*[Letns!\\$1]
+. el .ds let*str \\*[Letns!copy](\\$1)\\*[Letns!to]
+. \}
+. \}
+. el .ds let*str \\*[Letns!\\*[Letnsdef]]
+.\}
+.ne 2
+.nf
+\\*[let*str]
+..
+.de NE
+.fi
+..
+.\"-------------------
+.\" Letter options
+.de LO
+.rm AF AS AE AT AU CS OK TL MT
+.if ''\\$1' .@error "LO: missing option"
+.if !d Let\\$1 .@error "LO: unknown option (\\$1)"
+.ds let*lo-\\$1 \\$2
+.if \n[D]>1 .tm Letter option \\$1 \\$2
+..
diff --git a/mm/tmac.mse b/mm/tmac.mse
index e84babfd9..b9daec026 100644
--- a/mm/tmac.mse
+++ b/mm/tmac.mse
@@ -1,3 +1,5 @@
+.\" $Id: tmac.mse,v 1.27 1995/04/24 05:37:46 jh Exp $
+.\"
.\" swedish version of mm
.\" See tmac.m for version-information.
.mso tmac.m
@@ -24,6 +26,32 @@
.ds Licon Innehållsförteckning
.ds Qrf Se kapitel \\*[Qrfh], sidan \\*[Qrfp].
.ds Rp Referenser
+.ds Letfc Vänliga hälsningar
+.ds Letapp Godkänd av:
+.ds Letdate datum
+.ds Letconf KONFIDENTIELLT
+.ds Letsal Till vederbörande:
+.ds Letatt ATTENTION:
+.ds Letsubj Innehåll:
+.ds Letref Refererande till:
+.\"
+.ds Letns!copy Kopia \" space!
+.ds Letns!to " till
+.ds Letns!0 Kopia till
+.ds Letns!1 Kopia (med att.) till
+.ds Letns!2 Kopia (utan att.) till
+.ds Letns!3 Att.
+.ds Letns!4 Atts.
+.ds Letns!5 Enc.
+.ds Letns!6 Encs.
+.ds Letns!7 Under separate cover
+.ds Letns!8 Brev till
+.ds Letns!9 Dokument till
+.ds Letns!10 Kopia (med atts.) till
+.ds Letns!11 Kopia (utan atts.) till
+.ds Letns!12 Endast abstract till
+.ds Letns!13 Hela dokumentet till
+.ds Letns!14 CC:
.\"
.ds MO1 januari
.ds MO2 februari
@@ -40,3 +68,117 @@
.ie \\n[yr]<50 .ds cov*new-date \\n[dy] \\*[MO\\n[mo]] 20\\n[yr]
.el .ds cov*new-date \\n[dy] \\*[MO\\n[mo]] 19\\n[yr]
.nr pg*footer-size 4\" 1v+footer+even/odd footer+1v
+.\"------------------------------------------------
+.\" Dokumentnamn
+.ds LetDNAMN
+.\" Mottagarens datum
+.ds LetMDAT Ert datum:
+.\" Bilaga
+.ds LetBIL Bilaga \"
+.\" Kompletteringsuppgift
+.ds LetKOMP
+.\" Dokumentbeteckning eller dokumentnummer
+.ds LetDBET
+.\" Beteckning (ärendebeteckning i form av diarienummer e.d.
+.ds LetBET Beteckning:
+.\" Mottagarens beteckning.
+.ds LetMBET Er beteckning:
+.\" Antal sidor
+.ds LetSIDOR
+.\" Svensk standard med högerställd löptext. ---------------------
+.de let@init_SVH
+.in 4.57c
+.ll 17.57c
+..
+.de let@head_SVH
+.rm let@header
+.let@print_SV H
+..
+.de let@sg_SVH
+..
+.de let@fc_SVH
+..
+.\" Svensk standard med vänsterställd löptext. ---------------------
+.de let@init_SVV
+..
+.de let@head_SVV
+.rm let@header
+.let@print_SV V
+..
+.de let@sg_SVV
+..
+.de let@fc_SVV
+..
+.\"--------------------------------
+.de let@print_SV
+.nf
+.\" pos T0 -----------------------------------
+.in 0
+.sp |3
+.if d let@wa-div .let@wa-div
+.\"----- addressat
+.if '\\$1'V' .if d let@ia-div \{\
+. sp |10
+. let@ia-div
+.\}
+.\" pos T4 -----------------------------------
+.in 9.14c
+.\"----- kompletteringsuppgift
+.if d let*lo-KOMP \{\
+. sp |2
+\\*[let*lo-KOMP]
+.\}
+.\"----- dokumentnamn
+.if d let*lo-DNAMN \{\
+. sp |3
+\\*[let*lo-DNAMN]
+.\}
+.\"----- datum
+.if d cov*new-date \{\
+. sp |5
+Datum:
+\\*[cov*new-date]
+.\}
+.\"----- mottagarens datum
+.if d let*lo-MDAT \{\
+. sp |7
+\\*[LetMDAT]
+\\*[let*lo-MDAT]
+.\}
+.\"----- addressat
+.if '\\$1'H' .if d let@ia-div \{\
+. sp |10
+. let@ia-div
+.\}
+.\" pos T6 -----------------------------------
+.in 13.72c
+.\"----- mottagarens beteck.
+.if d let*lo-MBET \{\
+. sp |7
+\\*[LetMBET]
+\\*[let*lo-MBET]
+.\}
+.\"----- dokumentbeteck.
+.if d let*lo-BET \{\
+. sp |3
+\\*[LetBET]
+\\*[let*lo-BET]
+.\}
+.\" pos T7 -----------------------------------
+.in 16c
+.\"----- bilaga
+.if d let*lo-BIL \{\
+. sp |2
+\\*[LetBIL]\\*[let*lo-BIL]
+.\}
+.\"
+.\"----- sidnummer
+.sp |3
+.ie d let*lo-SIDOR \\n[%] (\\*[let*lo-SIDOR])
+.el \\n[%]
+.\"
+.\" Ta hand om special
+.if d TP .TP
+.sp |17
+..
+.\" -----------------------------------
diff --git a/nroff/conftest.sh b/nroff/conftest.sh
deleted file mode 100755
index 71d21b982..000000000
--- a/nroff/conftest.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/csh
-true || exit 0
-export PATH || exit 0
-exit 1
diff --git a/nroff/nroff.man b/nroff/nroff.man
index 6f937d974..38ae083b8 100644
--- a/nroff/nroff.man
+++ b/nroff/nroff.man
@@ -1,3 +1,21 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH @G@NROFF @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
@g@nroff \- emulate nroff command with groff
diff --git a/nroff/nroff.sh b/nroff/nroff.sh
index 7cc992feb..793302556 100755
--- a/nroff/nroff.sh
+++ b/nroff/nroff.sh
@@ -3,7 +3,12 @@
prog="$0"
# Default device.
-T=-Tascii
+if test "X$LC_CTYPE" = "Xiso_8859_1" || test "X$LESSCHARSET" = "Xlatin1"
+then
+ T=-Tlatin1
+else
+ T=-Tascii
+fi
opts=
for i
diff --git a/pfbtops/Makefile.dep b/pfbtops/Makefile.dep
index 2cc41ed5a..f601c366a 100644
--- a/pfbtops/Makefile.dep
+++ b/pfbtops/Makefile.dep
@@ -1 +1 @@
-pfbtops.o : pfbtops.c
+pfbtops.o: pfbtops.c
diff --git a/pfbtops/pfbtops.man b/pfbtops/pfbtops.man
index 6e8f5e474..cfef3e0a1 100644
--- a/pfbtops/pfbtops.man
+++ b/pfbtops/pfbtops.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH PFBTOPS @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
pfbtops \- translate a PostScript font in .pfb format to ASCII
diff --git a/pic/Makefile.dep b/pic/Makefile.dep
index f16199cdc..1e0787489 100644
--- a/pic/Makefile.dep
+++ b/pic/Makefile.dep
@@ -1,22 +1,24 @@
-lex.o : lex.cc pic.h ../include/assert.h ../include/cset.h ../include/lib.h \
- ../include/stringclass.h ../include/errarg.h ../include/error.h \
- position.h text.h output.h ../include/ptable.h object.h pic.cc
-main.o : main.cc pic.h ../include/assert.h ../include/cset.h \
- ../include/lib.h ../include/stringclass.h ../include/errarg.h \
- ../include/error.h position.h text.h output.h
-object.o : object.cc pic.h ../include/assert.h ../include/cset.h \
- ../include/lib.h ../include/stringclass.h ../include/errarg.h \
- ../include/error.h position.h text.h output.h ../include/ptable.h \
- object.h
-common.o : common.cc pic.h ../include/assert.h ../include/cset.h \
- ../include/lib.h ../include/stringclass.h ../include/errarg.h \
- ../include/error.h position.h text.h output.h common.h
-troff.o : troff.cc pic.h ../include/assert.h ../include/cset.h \
- ../include/lib.h ../include/stringclass.h ../include/errarg.h \
- ../include/error.h position.h text.h output.h common.h
-tex.o : tex.cc pic.h ../include/assert.h ../include/cset.h ../include/lib.h \
- ../include/stringclass.h ../include/errarg.h ../include/error.h \
- position.h text.h output.h common.h
-pic.o : pic.cc pic.h ../include/assert.h ../include/cset.h ../include/lib.h \
- ../include/stringclass.h ../include/errarg.h ../include/error.h \
- position.h text.h output.h ../include/ptable.h object.h
+lex.o: lex.cc pic.h ../include/assert.h ../include/cset.h \
+ ../include/lib.h ../include/stringclass.h ../include/errarg.h \
+ ../include/error.h position.h text.h output.h ../include/ptable.h \
+ object.h pic.cc
+main.o: main.cc pic.h ../include/assert.h ../include/cset.h \
+ ../include/lib.h ../include/stringclass.h ../include/errarg.h \
+ ../include/error.h position.h text.h output.h
+object.o: object.cc pic.h ../include/assert.h ../include/cset.h \
+ ../include/lib.h ../include/stringclass.h ../include/errarg.h \
+ ../include/error.h position.h text.h output.h ../include/ptable.h \
+ object.h
+common.o: common.cc pic.h ../include/assert.h ../include/cset.h \
+ ../include/lib.h ../include/stringclass.h ../include/errarg.h \
+ ../include/error.h position.h text.h output.h common.h
+troff.o: troff.cc pic.h ../include/assert.h ../include/cset.h \
+ ../include/lib.h ../include/stringclass.h ../include/errarg.h \
+ ../include/error.h position.h text.h output.h common.h
+tex.o: tex.cc pic.h ../include/assert.h ../include/cset.h \
+ ../include/lib.h ../include/stringclass.h ../include/errarg.h \
+ ../include/error.h position.h text.h output.h common.h
+pic.o: pic.cc pic.h ../include/assert.h ../include/cset.h \
+ ../include/lib.h ../include/stringclass.h ../include/errarg.h \
+ ../include/error.h position.h text.h output.h ../include/ptable.h \
+ object.h
diff --git a/pic/common.cc b/pic/common.cc
index 817f1a988..e83ef3122 100644
--- a/pic/common.cc
+++ b/pic/common.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "pic.h"
#include "common.h"
diff --git a/pic/common.h b/pic/common.h
index 47560ce1c..25a6e10c6 100644
--- a/pic/common.h
+++ b/pic/common.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class common_output : public output {
private:
diff --git a/pic/lex.cc b/pic/lex.cc
index 33e243e14..920938d53 100644
--- a/pic/lex.cc
+++ b/pic/lex.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "pic.h"
#include "ptable.h"
@@ -361,7 +361,8 @@ void interpolate_macro_with_args(const char *body)
{
char *argv[9];
int argc = 0;
- for (int i = 0; i < 9; i++)
+ int i;
+ for (i = 0; i < 9; i++)
argv[i] = 0;
int level = 0;
int c;
diff --git a/pic/main.cc b/pic/main.cc
index 7b82ec7a5..87beb5dc2 100644
--- a/pic/main.cc
+++ b/pic/main.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "pic.h"
@@ -29,11 +29,15 @@ int zero_length_line_flag = 0;
// Non-zero means we're using a groff driver.
int driver_extension_flag = 1;
int compatible_flag = 0;
+int safer_flag = 0;
int command_char = '.'; // the character that introduces lines
// that should be passed through tranparently
static int lf_flag = 1; // non-zero if we should attempt to understand
// lines beginning with `.lf'
+// Non-zero means a parse error was encountered.
+static int had_parse_error = 0;
+
void do_file(const char *filename);
class top_input : public input {
@@ -273,8 +277,10 @@ void do_picture(FILE *fp)
out->set_desired_width_height(wid, ht);
out->set_args(start_line.contents());
lex_init(new top_input(fp));
- if (yyparse())
+ if (yyparse()) {
+ had_parse_error = 1;
lex_error("giving up on this picture");
+ }
parse_cleanup();
lex_cleanup();
@@ -451,7 +457,8 @@ void do_whole_file(const char *filename)
fatal("can't open `%1': %2", filename, strerror(errno));
}
lex_init(new file_input(fp, filename));
- yyparse();
+ if (yyparse())
+ had_parse_error = 1;
parse_cleanup();
lex_cleanup();
}
@@ -511,7 +518,7 @@ int main(int argc, char **argv)
int whole_file_flag = 0;
int fig_flag = 0;
#endif
- while ((opt = getopt(argc, argv, "T:CDtcvnxzpf")) != EOF)
+ while ((opt = getopt(argc, argv, "T:CDStcvnxzpf")) != EOF)
switch (opt) {
case 'C':
compatible_flag = 1;
@@ -519,6 +526,9 @@ int main(int argc, char **argv)
case 'D':
case 'T':
break;
+ case 'S':
+ safer_flag = 1;
+ break;
case 'f':
#ifdef FIG_SUPPORT
whole_file_flag++;
@@ -606,6 +616,6 @@ int main(int argc, char **argv)
delete out;
if (ferror(stdout) || fflush(stdout) < 0)
fatal("output error");
- return 0;
+ return had_parse_error;
}
diff --git a/pic/make-dos-dist b/pic/make-dos-dist
deleted file mode 100755
index 9f546a091..000000000
--- a/pic/make-dos-dist
+++ /dev/null
@@ -1,299 +0,0 @@
-#! /bin/sh
-
-# This creates a compressed (14 bits) tar file that can be copied to a DOS
-# machine, unpacked and compiled with Borland C++ 2.0.
-
-# This is for groff version 1.04. It will probably need work for
-# other versions.
-
-# The grammar is yacced here, because I don't have a yacc on my DOS
-# machine. The resulting .tab.c file is split up; I found the
-# compiler ran out of memory otherwise. The sed command that does the
-# splitting assumes you're using the SunOS 4.1.1 yacc.
-# (Bison-generated parsers need alloca() which Borland C++ does not
-# have.) You'll need to tweak it for other yaccs: in particular you'll
-# need to change the `tabs' variable, so that it matches the names of
-# the external arrays of ints generated by your version yacc: it is
-# these that are split off into another file. You may also need to
-# change tabtype to `short' if the tables are arrays of shorts.
-
-picdir=`pwd`
-tarfile=pic_tar
-tabs="yyexca yyact yypact yypgo yyr1 yyr2 yychk yydef"
-tabtype=int
-file1=pic_tab1.c
-file2=pic_tab2.c
-
-rm -fr temp
-mkdir temp
-cd temp
-
-
-yacc -d $picdir/pic.y
-
-for tab in $tabs; do echo "/$tabtype $tab\\[]/i\\
-extern $tabtype $tab[];
-/$tabtype $tab\\[]/,/;/{
-w $file2
-d
-}"; done >split.sed
-
-sed -f split.sed y.tab.c >$file1
-
-rm -f split.sed y.tab.c
-
-mv y.tab.h pic_tab.h
-
-libfiles="change_lf.c cset.c cset.h errarg.c errarg.h error.c error.h \
-fatal.c filename.c version.c lf.c lib.h lineno.c new.c string.c \
-stringclass.h progname.c strerror.c strsave.c ptable.c ptable.h"
-
-picfiles="common.c common.h lex.c main.c object.c object.h output.h \
-pic.h position.h tex.c text.h troff.c"
-
-for file in $picfiles
-do
- sed -e '/^#include/s/pic\.tab\.h/pic_tab.h/' $picdir/$file >$file
-done
-
-for file in $libfiles; do cp $picdir/../lib/$file $file; done
-
-mv stringclass.h stringcl.h
-mv change_lf.c changelf.c
-
-cat >makefile <<'EOF'
-# Makefile for pic with Borland C++ 2.0.
-CC=bcc -P -V
-OLDCC=bcc -V
-MODEL=l
-WARN=
-DEBUG=
-MAP=-M
-CFLAGS=-m$(MODEL) $(WARN) $(DEBUG) -I. -DSWITCHAR
-LDFLAGS=-m$(MODEL) $(DEBUG) $(MAP)
-
-OBJS=changelf.obj \
-common.obj \
-cset.obj \
-errarg.obj \
-error.obj \
-fatal.obj \
-filename.obj \
-lex.obj \
-lf.obj \
-lineno.obj \
-main.obj \
-new.obj \
-object.obj \
-pic_tab1.obj \
-pic_tab2.obj \
-progname.obj \
-ptable.obj \
-string.obj \
-strsave.obj \
-tex.obj \
-troff.obj \
-version.obj \
-getopt.obj \
-strerror.obj
-
-PROG=pic
-
-.c.obj:
- $(CC) -c $(CFLAGS) {$< }
-
-$(PROG).exe: $(OBJS)
- $(CC) $(LDFLAGS) -e$(PROG) @&&!
-$(OBJS)
-!
-
-strerror.obj: strerror.c
- $(OLDCC) -c $(CFLAGS) strerror.c
-
-getopt.obj: getopt.c
- $(OLDCC) -c $(CFLAGS) getopt.c
-
-# Enable auto-dependency checking.
-.autodepend
-EOF
-
-cat >osfcn.h <<'EOF'
-#include <io.h>
-
-extern "C" {
- int getopt(int, char **, const char *);
- extern int optind;
- extern int opterr;
-}
-EOF
-
-cat >getopt.c <<'EOF'
-/* getopt() for those systems that don't have it. */
-/* Derived from comp.sources.unix/volume3/att_getopt. */
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-
-#ifdef SWITCHAR
-#include <dos.h>
-#endif
-
-int opterr = 1;
-int optind = 1;
-int optopt;
-char *optarg;
-
-#ifndef OPTION_CHAR
-#define OPTION_CHAR '-'
-#endif
-
-#ifdef isascii
-#define ISASCII(c) isascii(c)
-#else
-#define ISASCII(c) (1)
-#endif
-
-int getopt(argc, argv, opts)
-int argc;
-char **argv;
-char *opts;
-{
-#ifdef SWITCHAR
- union REGS regs;
- static char switchar = '\0';
-#endif
- static int sp = 1;
- register int c;
- register char *cp;
- char *message;
-#ifdef SWITCHAR
- if (switchar == '\0') {
- regs.x.ax = 0x3700;
- intdos(&regs, &regs);
- if (!regs.x.cflag)
- switchar = regs.h.dl;
- else
- switchar = '/';
- }
-#endif
- if (sp == 1) {
- if (optind >= argc)
- return EOF;
- if ((
-#ifdef SWITCHAR
- argv[optind][0] != switchar &&
-#endif
- argv[optind][0] != OPTION_CHAR) || argv[optind][1] == '\0') {
-#ifdef REORDER_ARGS
- int i;
- for (i = optind; i < argc; i++)
- if ((
-#ifdef SWITCHAR
- argv[i][0] == switchar ||
-#endif
- argv[i][0] == OPTION_CHAR) && argv[i][1] != '\0')
- break;
- if (i < argc) {
- c = argv[i][1];
-#ifdef CASE_INSENSITIVE_OPTIONS
- if (isupper(c))
- c = tolower(c);
-#endif
- if (c != ':' && c != OPTION_CHAR && (cp = strchr(opts, c)) != NULL
- && cp[1] == ':' && argv[i][2] == 0 && i < argc - 1) {
- int j;
- char *temp1 = argv[i];
- char *temp2 = argv[i+1];
- for (j = i - 1; j >= optind; j--)
- argv[j+2] = argv[j];
- argv[optind] = temp1;
- argv[optind+1] = temp2;
- }
- else {
- int j;
- char *temp = argv[i];
- for (j = i - 1; j >= optind; j--)
- argv[j+1] = argv[j];
- argv[optind] = temp;
- }
- }
- else
-#endif
- return EOF;
- }
- if ((argv[optind][0] == OPTION_CHAR && argv[optind][1] == OPTION_CHAR
- && argv[optind][2] == '\0')
-#ifdef SWITCHAR
- || (argv[optind][0] == switchar && argv[optind][1] == switchar
- && argv[optind][2] == '\0')
-#endif
- ) {
- optind++;
- return(EOF);
- }
- }
- optopt = c = (unsigned char)argv[optind][sp];
-#ifdef CASE_INSENSITIVE_OPTIONS
- if (ISASCII(c) && isupper(c))
- optopt = c = tolower(c);
-#endif
- if (c == ':' || (cp = strchr(opts, c)) == NULL) {
- if (argv[optind][++sp] == '\0') {
- optind++;
- sp = 1;
- }
- message = ": illegal option -- ";
- goto bad;
- }
- if (*++cp == ':') {
- if (argv[optind][sp+1] != '\0')
- optarg = &argv[optind++][sp+1];
- else if (++optind >= argc) {
- sp = 1;
- message = ": option requires an argument -- ";
- goto bad;
- }
- else
- optarg = argv[optind++];
- sp = 1;
- }
- else {
- if (argv[optind][++sp] == '\0') {
- sp = 1;
- optind++;
- }
- optarg = NULL;
- }
- return c;
-bad:
- if (opterr) {
- fputs(argv[0], stderr);
- fputs(message, stderr);
- fputc(optopt, stderr);
- fputc('\n', stderr);
- }
- return '?';
-}
-
-/*
-Local Variables:
-c-indent-level: 4
-c-continued-statement-offset: 4
-c-brace-offset: 4
-c-argdecl-indent: 4
-c-label-offset: -4
-tab-width: 4
-End:
-*/
-EOF
-
-for file in *; do sed -e 's/$/ /' $file >temp; mv temp $file; done
-
-tar cf ../$tarfile *
-cd ..
-compress -b14 $tarfile
-rm -fr temp
-
-echo Now move $tarfile.Z to a MSDOS machine with Borland C++ 2.0,
-echo unpack and compile with make -S.
diff --git a/pic/object.cc b/pic/object.cc
index b5fbf59a8..860e1bc64 100644
--- a/pic/object.cc
+++ b/pic/object.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "pic.h"
#include "ptable.h"
@@ -512,7 +512,8 @@ void object_list::append(object *obj)
void object_list::wrap_up_block(object_list *ol)
{
- for (object *p = tail; p && p->type() != MARK_OBJECT; p = p->prev)
+ object *p;
+ for (p = tail; p && p->type() != MARK_OBJECT; p = p->prev)
;
assert(p != 0);
ol->head = p->next;
@@ -595,7 +596,8 @@ void graphic_object::add_text(text_item *t, int a)
{
aligned = a;
int len = 0;
- for (text_item *p = t; p; p = p->next)
+ text_item *p;
+ for (p = t; p; p = p->next)
len++;
if (len == 0)
text = 0;
@@ -1341,7 +1343,8 @@ linear_object *object_spec::make_line(position *curpos, direction *dirp)
// Absolutise all movements
position endpos = startpos;
int nsegments = 0;
- for (segment *s = segment_list; s; s = s->next, nsegments++)
+ segment *s;
+ for (s = segment_list; s; s = s->next, nsegments++)
if (s->is_absolute)
endpos = s->pos;
else {
@@ -1740,12 +1743,12 @@ place and follow the path through the place to place within the place.
Note that `.A.B.C.sw' will work. */
path::path(corner c)
-: label_list(0), crn(c)
+: label_list(0), crn(c), ypath(0)
{
}
path::path(char *l, corner c)
-: crn(c)
+: crn(c), ypath(0)
{
label_list = new string_list(l);
}
@@ -1757,6 +1760,7 @@ path::~path()
label_list = label_list->next;
delete tem;
}
+ delete ypath;
}
void path::append(corner c)
@@ -1767,11 +1771,17 @@ void path::append(corner c)
void path::append(char *s)
{
- for (string_list **p = &label_list; *p; p = &(*p)->next)
+ string_list **p;
+ for (p = &label_list; *p; p = &(*p)->next)
;
*p = new string_list(s);
}
+void path::set_ypath(path *p)
+{
+ ypath = p;
+}
+
// return non-zero for success
int path::follow(const place &pl, place *result) const
@@ -1790,6 +1800,14 @@ int path::follow(const place &pl, place *result) const
result->y = pos.y;
result->obj = 0;
}
+ if (ypath) {
+ place tem;
+ if (!ypath->follow(pl, &tem))
+ return 0;
+ result->y = tem.y;
+ if (result->obj != tem.obj)
+ result->obj = 0;
+ }
return 1;
}
diff --git a/pic/object.h b/pic/object.h
index fe3dd7657..2748e81e8 100644
--- a/pic/object.h
+++ b/pic/object.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct place;
@@ -78,12 +78,14 @@ struct string_list;
class path {
corner crn;
string_list *label_list;
+ path *ypath;
public:
path(corner = 0);
path(char *, corner = 0);
~path();
void append(corner);
void append(char *);
+ void set_ypath(path *);
int follow(const place &, place *) const;
};
diff --git a/pic/output.h b/pic/output.h
index ddcc4b5bf..ac490db46 100644
--- a/pic/output.h
+++ b/pic/output.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct line_type {
enum { invisible, solid, dotted, dashed } type;
diff --git a/pic/pic.cc b/pic/pic.cc
index a85ff8ba1..9e9e9f1ec 100644
--- a/pic/pic.cc
+++ b/pic/pic.cc
@@ -1,8 +1,27 @@
+#if defined(__STDC__) || defined(__cplusplus)
+#define YYCONST const
+#define YYPARAMS(x) x
+#define YYDEFUN(name, arglist, args) name(args)
+#define YYAND ,
+#define YYPTR void *
+#else
+#define YYCONST
+#define YYPARAMS(x) ()
+#define YYDEFUN(name, arglist, args) name arglist args;
+#define YYAND ;
+#define YYPTR char *
+#endif
#ifndef lint
-static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/90";
+YYCONST static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley +Cygnus.28) 01/20/91";
#endif
#define YYBYACC 1
-#line 20 "/u/jjc/groff/pic/pic.y"
+#ifndef YYDONT_INCLUDE_STDIO
+#include <stdio.h>
+#endif
+#ifdef __cplusplus
+#include <stdlib.h> /* for malloc/realloc/free */
+#endif
+#line 20 "pic.y"
#include "pic.h"
#include "ptable.h"
#include "object.h"
@@ -53,7 +72,7 @@ const char *object_type_name(object_type type);
char *format_number(const char *form, double n);
char *do_sprintf(const char *form, const double *v, int nv);
-#line 73 "/u/jjc/groff/pic/pic.y"
+#line 73 "pic.y"
typedef union {
char *str;
int n;
@@ -72,7 +91,7 @@ typedef union {
graphics_state state;
object_type obtype;
} YYSTYPE;
-#line 76 "y.tab.c"
+#line 95 "y.tab.c"
#define LABEL 257
#define VARIABLE 258
#define NUMBER 259
@@ -184,7 +203,7 @@ typedef union {
#define DEFINE 365
#define UNDEF 366
#define YYERRCODE 256
-short yylhs[] = { -1,
+static YYCONST short yylhs[] = { -1,
0, 0, 16, 17, 17, 28, 28, 29, 29, 30,
30, 30, 30, 30, 30, 30, 30, 30, 31, 30,
30, 32, 33, 30, 34, 35, 30, 36, 30, 30,
@@ -202,15 +221,15 @@ short yylhs[] = { -1,
13, 13, 13, 13, 13, 14, 14, 14, 22, 22,
21, 21, 8, 8, 20, 20, 20, 20, 20, 20,
20, 20, 20, 11, 11, 12, 12, 12, 10, 10,
- 10, 10, 10, 9, 9, 9, 9, 9, 9, 9,
+ 10, 10, 10, 10, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 9, 9, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1,
};
-short yylen[] = { 2,
+static YYCONST short yylen[] = { 2,
1, 1, 3, 1, 3, 0, 1, 1, 2, 3,
4, 1, 1, 1, 1, 1, 2, 2, 0, 3,
2, 0, 0, 7, 0, 0, 6, 0, 10, 1,
@@ -227,25 +246,25 @@ short yylen[] = { 2,
1, 3, 3, 5, 5, 6, 1, 4, 3, 3,
1, 2, 2, 3, 1, 1, 1, 3, 1, 3,
1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
- 1, 2, 1, 2, 3, 1, 1, 2, 1, 4,
- 3, 3, 2, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 2, 2, 1, 1, 2, 2, 2, 2, 1, 1,
- 1, 1, 1, 2, 2, 2, 2, 2, 3, 3,
- 3, 3, 3, 3, 2, 3, 4, 4, 6, 4,
- 4, 4, 6, 6, 4, 4, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 2,
+ 1, 2, 1, 2, 3, 1, 1, 2, 1, 5,
+ 4, 3, 3, 2, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 1, 1, 2, 2, 2, 2, 1,
+ 1, 1, 1, 1, 2, 2, 2, 2, 2, 3,
+ 3, 3, 3, 3, 3, 2, 3, 4, 4, 6,
+ 4, 4, 4, 6, 6, 4, 4, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 2,
};
-short yydefred[] = { 0,
+static YYCONST short yydefred[] = { 0,
8, 0, 2, 0, 0, 0, 0, 125, 16, 12,
13, 14, 15, 71, 72, 73, 74, 75, 76, 77,
78, 0, 19, 0, 0, 0, 0, 0, 0, 0,
65, 82, 0, 4, 0, 0, 79, 68, 0, 9,
- 0, 0, 0, 0, 25, 0, 146, 202, 203, 149,
- 151, 187, 188, 145, 174, 175, 176, 177, 178, 179,
- 180, 181, 182, 183, 184, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 185, 186, 0, 0, 193,
- 194, 199, 201, 200, 0, 0, 0, 0, 0, 131,
+ 0, 0, 0, 0, 25, 0, 146, 203, 204, 149,
+ 151, 188, 189, 145, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 186, 187, 0, 0, 194,
+ 195, 200, 202, 201, 0, 0, 0, 0, 0, 131,
129, 147, 0, 0, 0, 0, 0, 0, 41, 0,
38, 0, 0, 0, 0, 0, 0, 0, 0, 35,
0, 0, 0, 0, 0, 31, 3, 0, 113, 114,
@@ -253,470 +272,450 @@ short yydefred[] = { 0,
0, 0, 0, 0, 102, 0, 0, 0, 111, 112,
119, 120, 121, 122, 116, 117, 0, 0, 124, 0,
118, 36, 0, 0, 10, 0, 22, 0, 20, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 189,
- 191, 195, 197, 190, 192, 196, 198, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 190,
+ 192, 196, 198, 191, 193, 197, 199, 0, 0, 0,
0, 0, 0, 0, 0, 137, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 204, 205, 206, 207, 208, 0,
+ 0, 0, 0, 0, 205, 206, 207, 208, 209, 0,
142, 0, 0, 163, 155, 156, 157, 158, 159, 160,
161, 0, 154, 152, 153, 39, 0, 0, 57, 0,
0, 0, 43, 0, 0, 0, 0, 81, 127, 0,
0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 166, 100, 0, 169, 0, 0, 101, 0, 0, 0,
- 0, 0, 37, 0, 0, 0, 0, 0, 0, 62,
- 0, 11, 0, 26, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 227, 0, 216, 140, 0, 150, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 148, 132,
- 133, 162, 0, 0, 53, 0, 0, 0, 0, 0,
- 51, 0, 0, 50, 49, 0, 66, 83, 32, 173,
- 0, 0, 0, 164, 0, 168, 0, 0, 23, 0,
- 217, 218, 0, 220, 221, 222, 0, 0, 225, 226,
- 0, 0, 0, 0, 0, 44, 0, 126, 0, 0,
- 172, 171, 165, 0, 0, 27, 0, 0, 0, 134,
- 138, 0, 0, 0, 0, 70, 67, 170, 24, 46,
- 219, 223, 224, 136, 0, 0, 0, 0, 28, 0,
- 0, 29,
+ 0, 166, 100, 0, 169, 0, 0, 101, 0, 0,
+ 0, 0, 0, 37, 0, 0, 0, 0, 0, 0,
+ 62, 0, 11, 0, 26, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 228, 0, 217, 140, 0, 150,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
+ 132, 133, 162, 0, 0, 53, 0, 0, 0, 0,
+ 0, 51, 0, 0, 50, 49, 0, 66, 83, 32,
+ 174, 0, 0, 0, 0, 164, 0, 168, 0, 0,
+ 23, 0, 218, 219, 0, 221, 222, 223, 0, 0,
+ 226, 227, 0, 0, 0, 0, 0, 44, 0, 126,
+ 0, 0, 173, 172, 0, 165, 0, 0, 27, 0,
+ 0, 0, 134, 138, 0, 0, 0, 0, 70, 67,
+ 171, 0, 24, 46, 220, 224, 225, 136, 0, 0,
+ 170, 0, 0, 28, 0, 0, 29,
};
-short yydgoto[] = { 2,
- 105, 179, 107, 396, 90, 91, 33, 92, 93, 262,
- 263, 264, 108, 95, 34, 3, 35, 36, 96, 223,
- 97, 98, 376, 336, 109, 100, 101, 241, 5, 38,
- 46, 283, 374, 158, 350, 401, 243, 39, 329, 114,
- 387, 369, 115, 202,
+static YYCONST short yydgoto[] = { 2,
+ 105, 179, 107, 400, 90, 91, 33, 92, 93, 263,
+ 264, 265, 108, 95, 34, 3, 35, 36, 96, 223,
+ 97, 98, 379, 337, 109, 100, 101, 241, 5, 38,
+ 46, 284, 377, 158, 352, 406, 243, 39, 330, 114,
+ 390, 371, 115, 202,
};
-short yysindex[] = { -52,
- 0, 0, 0, 5088, -25, -11, 21, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -243, 0,10878, -206,11047, -204,11505, 19,10878,
- 0, 0, -275, 0, -52,10742, 0, 0, -42, 0,
- -52,11047, 16, -239, 0, -165, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 71, 93, 98, 106, 108,
- 120, 139, 147, 153, 156, 0, 0, -110, 44, 0,
- 0, 0, 0, 0,11177,11047,11505,11505, 1055, 0,
- 0, 0, -45, -61, 2441, -19, 747, 312, 0,10878,
- 0, 152,11047,11047, 1515, -89, -228, -61, -98, 0,
- 637, -38,10878, -52, -52, 0, 0, 9673, 0, 0,
- 0,11829,11829,11829,11829,11505,11505,11505,11505,11621,
-11621,11621, 2099,11726, 0,11829,11829,11829, 0, 0,
- 0, 0, 0, 0, 0, 0,11505,11829, 0, 1527,
- 0, 0, -41,10520, 0,11047, 0, -32, 0,11047,
-11047,11047,11047,11047,11047,11047,11047,11047, 9002, 0,
- 0, 0, 0, 0, 0, 0, 0, 1494, 183, 187,
- -4, -30, 143, 143, -53, 0,11505,11505,11505,11505,
-11505,11505,11505,11621,11505,11505,11505,11505,11505,11505,
-11505,11621, -43, 199, 0, 0, 0, 0, 0, -17,
- 0,11726,11726, 0, 0, 0, 0, 0, 0, 0,
- 0, 168, 0, 0, 0, 0,11505, 143, 0,11047,
-11047,11505, 0,11047,11047, -229, -229, 0, 0, 148,
- 5088, 171, 15, 0, 1527, 1527, 1527, 1527, 1527, 1527,
- 1527, 1527, 1055, -19, -19, -19, 1989, 699, 747, 23,
- 0, 0, 2428, 0,11284, 648, 0, 1527, 1527, 1527,
- 1527, 1527, 0, -11, 21, 0, 0, 0, -61, 0,
- -19, 0, 17, 0, 240, 244, 242, 249, 255, 257,
- 256, 258, 260, 0, 262, 0, 0,11621, 0, -9,
- -27, 184, 252, 252, 1, 1, 1527, -34, 40, 1,
- 155, 155, 143, 143, 143, 143, -22, 199, 0, 0,
- 0, 0, 1088, -27, 0, 1048, -40, 1, 42, -27,
- 0, 1048, -40, 0, 0, 47, 0, 0, 0, 0,
- 747, 1989, 1989, 0, 48, 0, 1076, 187, 0, -51,
- 0, 0,11047, 0, 0, 0,11047,11047, 0, 0,
- 100, 5,11621,11621,11505, 0,11505, 0, 5088, 1989,
- 0, 0, 0, -51, 49, 0, 272, 284, 287, 0,
- 0, 30, -19, 1487, 1527, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,11385, -14,11505, 1527, 0, 1527,
- 72, 0,
+static YYCONST short yysindex[] = { -52,
+ 0, 0, 0, 5205, -46, 7, -12, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -249, 0,10894, -198,11035, -186,11441, 51,10894,
+ 0, 0, -251, 0, -52,10595, 0, 0, -42, 0,
+ -52,11035, 35, -236, 0, -145, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 79, 80, 85, 87, 91,
+ 94, 98, 101, 102, 107, 0, 0, -126, -67, 0,
+ 0, 0, 0, 0,11136,11035,11441,11441, 1187, 0,
+ 0, 0, -71, -250, 2230, -10, 575, 426, 0,10894,
+ 0, 71,11035,11035, 1220, -141, -305, -250, -291, 0,
+ -28, -101,10894, -52, -52, 0, 0, 9974, 0, 0,
+ 0,11746,11746,11746,11746,11441,11441,11441,11441,11542,
+11542,11542, 4851,11645, 0,11746,11746,11746, 0, 0,
+ 0, 0, 0, 0, 0, 0,11441,11746, 0, 1647,
+ 0, 0, -98,10233, 0,11035, 0, -100, 0,11035,
+11035,11035,11035,11035,11035,11035,11035,11035,10736, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1626, 141, 146,
+ 42, -73, 99, 99, -105, 0,11441,11441,11441,11441,
+11441,11441,11441,11542,11441,11441,11441,11441,11441,11441,
+11441,11542, -18, 152, 0, 0, 0, 0, 0, -56,
+ 0,11645,11645, 0, 0, 0, 0, 0, 0, 0,
+ 0, 120, 0, 0, 0, 0,11441, 99, 0,11035,
+11035,11441, 0,11035,11035, -242, -242, 0, 0, 89,
+ 5205, 125, -41, 0, 1647, 1647, 1647, 1647, 1647, 1647,
+ 1647, 1647, 1187, -10, -10, -10, 2121, 455, 575, 2121,
+ -33, 0, 0, 2134, 0,11237, 781, 0, 1647, 1647,
+ 1647, 1647, 1647, 0, 7, -12, 0, 0, 0, -250,
+ 0, -10, 0, -32, 0, 202, 203, 189, 207, 208,
+ 210, 209, 217, 235, 0, 243, 0, 0,11542, 0,
+ -1, 1117, 1180, 739, 739, 357, 357, 1647, -21, 192,
+ 357, 46, 46, 99, 99, 99, 99, -35, 152, 0,
+ 0, 0, 0, 1076, 1117, 0, 1659, -44, 357, 47,
+ 1117, 0, 1659, -44, 0, 0, 10, 0, 0, 0,
+ 0, 575, 2121, 2121, 264, 0, 67, 0, 1208, 146,
+ 0, -27, 0, 0,11035, 0, 0, 0,11035,11035,
+ 0, 0, 2, 13,11542,11542,11441, 0,11441, 0,
+ 5205, 2121, 0, 0, 2121, 0, -27, 65, 0, 285,
+ 292, 293, 0, 0, -14, -10, 1619, 1647, 0, 0,
+ 0, 299, 0, 0, 0, 0, 0, 0,11340, 1,
+ 0,11441, 1647, 0, 1647, 86, 0,
};
-short yyrindex[] = { 219,
- 0, 0, 0, 344, 109, 0, 0, 0, 0, 0,
+static YYCONST short yyrindex[] = { 20,
+ 0, 0, 0, 347, 150, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 57, 0, 65, 58, 0, 0, 390, 0,
-10629, 0, 0, 412, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 23, 0, 0, 0,
+ 0, 0, 59, 0, 109, 212, 0, 0, 268, 0,
+10487, 0, 0, 287, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 9146, 0,
- 0, 0, 0, 4421, 8691, 9247, 0, 0, 0, 500,
- 0, 0, 0, 0, 411, 0, 564, 0, 0, 0,
-10123, 0, 508, 5512, 5512, 0, 0, 122, 0, 0,
- 0, 66, 9595, 9353, 9486, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 9700, 9804, 9909, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,10013, 0, 4967,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8932, 0,
+ 0, 0, 0, 4221, 8476, 9124, 0, 0, 0, 589,
+ 0, 0, 0, 0, 181, 0, 721, 0, 0, 0,
+10102, 0, 615, 5629, 5629, 0, 0, 122, 0, 0,
+ 0, 9441, 9481, 9223, 9331, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 9580, 9690, 9789, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 9829, 0, 4977,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 304, 0, 227,
- 0, 0, 469, 577, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 308, 0, 213,
+ 0, 0, 270, 602, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3104, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2904, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,10455, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 8437, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5284, 5391, 5708, 5815, 6132, 6239,
- 6556, 6663, 0, 6980, 7087, 7404, 0, 0, 0, 0,
- 0, 0, 8873, 0, 0, 0, 0, 7511, 7828, 7935,
- 8252, 8359, 0,10222, 1933, 1729, 3046, 919, 947, 0,
+ 0, 0, 0, 0, 5084, 5401, 5508, 5825, 5932, 6249,
+ 6356, 6673, 0, 6780, 7097, 7204, 0, 0, 0, 0,
+ 0, 0, 0, 8782, 0, 0, 0, 0, 7521, 7628,
+ 7945, 8052, 8369, 0,10163, 2065, 135, 1861, 36, 591,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3982, 4089, 3211, 3543, 2226, 2333, 4860, 8766, 0, 2665,
- 1787, 1894, 909, 1016, 1348, 1455, 0, 3650, 0, 0,
- 0, 0, 0, 8845, 0, 27, 28, 2772, 0, 140,
- 0, 194, 195, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 304, 0, 0, 547,
+ 0, 3782, 4114, 3236, 3343, 2026, 2358, 4660, 8825, 0,
+ 2465, 1587, 1919, 709, 1041, 1148, 1480, 0, 3675, 0,
+ 0, 0, 0, 0, 390, 0, 8929, 179, 2797, 0,
+ 92, 0, 614, 720, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 308, 0,
+ 0, 652, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 575, 0,
- 0, 0, 0, 547, 0, 0, 0, 0, 0, 0,
- 0, 0, 4528, 33, 52, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 50, 0, 51,
- 0, 0,
+ 679, 0, 0, 0, 0, 0, 652, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4553, 8, 11, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 12, 0, 14, 0, 0,
};
-short yygindex[] = { 0,
- -24, 498, -99, 0, -56, 237, 0, 0, -59, 0,
- 0, -215, 515, -74, -117, 161, 0, 0, 1810, -73,
- 0, 0, 18, 0, 26, 368, -68, 14, 364, 0,
+static YYCONST short yygindex[] = { 0,
+ -24, 627, -77, 0, -57, 196, 0, 0, -5, 0,
+ 0, 265, 1084, -88, -117, -40, 0, 0, 134, -59,
+ 0, 0, -23, 0, 26, 323, -60, 3, 325, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
-#define YYTABLESIZE 12185
-short yytable[] = { 89,
- 244, 153, 200, 111, 229, 89, 1, 198, 196, 200,
- 197, 150, 199, 4, 198, 196, 44, 197, 204, 199,
- 212, 34, 213, 212, 225, 213, 235, 56, 180, 37,
- 8, 226, 232, 40, 195, 211, 280, 200, 212, 298,
- 213, 340, 198, 196, 226, 197, 41, 199, 117, 99,
- 86, 102, 86, 110, 154, 99, 30, 61, 112, 201,
- 178, 151, 183, 184, 6, 89, 201, 235, 56, 116,
- 235, 56, 212, 261, 213, 89, 156, 267, 43, 228,
- 34, 42, 212, 363, 213, 235, 56, 368, 89, 45,
- 367, 394, 128, 157, 201, 128, 159, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 253, 253, 7, 266,
- 160, 268, 269, 270, 34, 30, 61, 234, 235, 235,
- 56, 7, 271, 272, 89, 99, 371, 372, 318, 253,
- 325, 327, 161, 29, 331, 333, 238, 162, 99, 52,
- 380, 7, 212, 37, 213, 163, 34, 164, 7, 30,
- 61, 235, 56, 7, 388, 320, 321, 6, 89, 165,
- 170, 171, 301, 302, 303, 304, 305, 306, 307, 308,
- 310, 311, 312, 313, 314, 315, 316, 253, 166, 37,
- 52, 30, 61, 52, 342, 343, 167, 266, 266, 6,
- 89, 200, 168, 55, 54, 169, 198, 261, 52, 7,
- 233, 199, 323, 346, 7, 324, 326, 328, 348, 330,
- 332, 47, 227, 47, 7, 152, 273, 50, 6, 50,
- 200, 239, 51, 296, 51, 198, 196, 297, 197, 284,
- 199, 7, 52, 299, 55, 54, 201, 55, 54, 319,
- 347, 172, 173, 232, 210, 195, 7, 300, 201, 236,
- 237, 386, 55, 54, 203, 205, 206, 207, 208, 209,
- 322, 334, 335, 338, 52, 185, 37, 370, 186, 131,
- 131, 131, 337, 253, 240, 242, 339, 201, 349, 344,
- 351, 364, 261, 261, 352, 353, 55, 54, 200, 354,
- 235, 56, 362, 198, 196, 355, 197, 356, 199, 357,
- 359, 358, 360, 366, 373, 234, 375, 381, 390, 6,
- 261, 232, 391, 195, 174, 175, 235, 56, 55, 54,
- 189, 190, 191, 192, 392, 89, 235, 393, 399, 235,
- 89, 89, 89, 402, 89, 89, 89, 89, 253, 253,
- 384, 6, 385, 1, 47, 201, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 7, 7, 7, 7, 7,
- 398, 7, 400, 235, 56, 58, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 33,
- 278, 389, 59, 60, 37, 176, 177, 113, 118, 0,
- 0, 0, 222, 52, 0, 89, 89, 0, 0, 0,
- 47, 21, 0, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 89, 89, 89, 89, 52,
+#define YYTABLESIZE 12102
+static YYCONST short yytable[] = { 89,
+ 244, 153, 4, 111, 204, 89, 1, 212, 200, 213,
+ 44, 150, 40, 198, 196, 200, 197, 8, 199, 6,
+ 198, 196, 34, 197, 86, 199, 229, 180, 212, 37,
+ 213, 232, 212, 195, 213, 63, 281, 117, 225, 226,
+ 234, 235, 383, 154, 212, 43, 213, 398, 42, 99,
+ 370, 128, 226, 369, 128, 99, 236, 237, 30, 102,
+ 178, 151, 183, 184, 41, 201, 205, 206, 207, 208,
+ 209, 110, 201, 240, 242, 89, 268, 86, 129, 228,
+ 129, 34, 200, 45, 212, 299, 213, 198, 89, 211,
+ 112, 52, 199, 116, 63, 156, 157, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 253, 253, 6, 267,
+ 6, 269, 270, 271, 319, 34, 159, 30, 160, 161,
+ 29, 7, 272, 273, 162, 99, 163, 262, 63, 253,
+ 164, 227, 52, 165, 14, 52, 238, 166, 99, 201,
+ 167, 168, 6, 37, 170, 171, 169, 34, 233, 7,
+ 52, 30, 326, 328, 321, 322, 332, 334, 239, 274,
+ 63, 285, 302, 303, 304, 305, 306, 307, 308, 309,
+ 311, 312, 313, 314, 315, 316, 317, 253, 56, 37,
+ 47, 297, 7, 30, 52, 47, 298, 267, 267, 7,
+ 300, 50, 201, 14, 7, 301, 51, 210, 343, 344,
+ 320, 6, 324, 174, 175, 325, 327, 329, 350, 331,
+ 333, 61, 323, 338, 7, 152, 52, 339, 181, 56,
+ 340, 47, 56, 346, 47, 172, 173, 14, 203, 351,
+ 188, 8, 355, 6, 212, 365, 213, 56, 47, 47,
+ 7, 349, 353, 354, 50, 7, 7, 356, 357, 51,
+ 358, 262, 359, 389, 262, 131, 131, 131, 348, 14,
+ 360, 335, 336, 254, 255, 256, 37, 33, 366, 216,
+ 61, 56, 7, 47, 253, 361, 6, 6, 185, 6,
+ 6, 186, 372, 362, 176, 177, 21, 282, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 364, 234, 216, 56, 61, 47, 216, 375, 368, 216,
+ 216, 216, 216, 216, 216, 384, 216, 187, 188, 189,
+ 190, 191, 192, 376, 394, 395, 33, 310, 216, 216,
+ 378, 216, 396, 397, 29, 318, 61, 262, 262, 401,
+ 253, 253, 387, 404, 388, 21, 1, 407, 47, 279,
+ 58, 6, 113, 393, 59, 52, 60, 6, 6, 118,
+ 33, 6, 216, 6, 0, 216, 262, 0, 0, 262,
+ 0, 0, 0, 0, 403, 0, 6, 405, 6, 21,
+ 0, 52, 6, 6, 0, 0, 0, 0, 0, 235,
+ 0, 188, 33, 200, 216, 0, 37, 188, 198, 196,
+ 0, 197, 188, 199, 0, 0, 7, 7, 7, 7,
+ 7, 21, 7, 0, 0, 0, 0, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 0, 7, 7, 7, 7, 7, 7, 33, 0,
- 7, 47, 7, 0, 47, 0, 0, 55, 54, 0,
- 7, 7, 7, 7, 7, 7, 0, 7, 215, 47,
- 21, 7, 7, 0, 0, 6, 6, 0, 6, 6,
- 0, 0, 33, 55, 54, 52, 52, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 18,
- 0, 215, 0, 47, 21, 215, 0, 17, 215, 215,
- 215, 215, 215, 215, 33, 215, 0, 0, 0, 0,
- 0, 0, 0, 106, 0, 0, 0, 215, 215, 187,
- 215, 189, 190, 191, 192, 47, 21, 0, 94, 155,
- 55, 54, 0, 0, 94, 0, 45, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 6, 6, 18, 0,
- 6, 215, 6, 48, 215, 0, 17, 0, 0, 0,
- 0, 214, 0, 0, 69, 6, 236, 6, 0, 224,
- 0, 6, 6, 182, 215, 216, 217, 218, 219, 220,
- 0, 221, 18, 215, 0, 0, 0, 0, 0, 94,
- 17, 191, 192, 0, 48, 45, 0, 48, 0, 236,
- 0, 0, 0, 236, 94, 0, 236, 236, 236, 236,
- 236, 236, 48, 236, 18, 0, 0, 94, 0, 0,
- 0, 0, 17, 69, 0, 236, 236, 0, 236, 45,
- 0, 0, 0, 0, 94, 94, 94, 0, 0, 0,
- 0, 0, 0, 282, 0, 0, 48, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 295, 69, 279, 236,
- 0, 45, 236, 200, 47, 0, 0, 0, 198, 196,
- 0, 197, 0, 199, 200, 0, 0, 0, 48, 198,
- 196, 193, 197, 0, 199, 0, 232, 0, 195, 69,
- 47, 236, 0, 0, 0, 0, 0, 232, 94, 195,
- 0, 0, 0, 0, 0, 0, 94, 0, 0, 0,
- 0, 0, 0, 0, 0, 215, 215, 215, 215, 0,
- 201, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 201, 0, 0, 0, 0, 0, 0, 0, 215,
- 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 215, 215, 215, 215, 215, 215, 0,
- 0, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 215, 215, 0, 0, 0, 0, 222,
- 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 0, 0, 215, 215, 215, 215, 0, 0, 215, 215,
- 0, 215, 94, 0, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 215, 215, 0, 0, 48, 215, 215,
- 215, 215, 0, 236, 236, 236, 236, 222, 0, 236,
- 236, 236, 236, 236, 236, 236, 236, 236, 236, 0,
- 377, 0, 0, 48, 378, 379, 0, 236, 236, 236,
- 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
- 236, 236, 236, 236, 236, 236, 236, 94, 94, 236,
- 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
- 236, 236, 236, 0, 0, 0, 8, 0, 236, 236,
- 236, 236, 236, 236, 236, 236, 236, 236, 211, 0,
- 236, 236, 236, 236, 0, 0, 236, 236, 63, 236,
- 0, 0, 236, 236, 236, 236, 236, 236, 236, 236,
- 236, 236, 236, 0, 0, 0, 236, 236, 236, 236,
- 0, 211, 0, 0, 0, 211, 64, 0, 211, 211,
- 211, 211, 211, 211, 0, 211, 0, 0, 214, 0,
- 0, 129, 0, 129, 0, 0, 341, 211, 211, 0,
- 211, 215, 216, 217, 218, 219, 220, 63, 221, 0,
- 0, 0, 187, 188, 189, 190, 191, 192, 0, 130,
- 0, 130, 0, 187, 188, 189, 190, 191, 192, 29,
- 0, 211, 0, 0, 211, 64, 214, 0, 0, 0,
- 0, 63, 0, 0, 0, 212, 0, 0, 0, 215,
- 216, 217, 218, 219, 220, 0, 221, 0, 0, 0,
- 0, 0, 0, 211, 0, 0, 0, 0, 0, 64,
- 0, 0, 0, 63, 0, 0, 0, 0, 212, 0,
- 0, 0, 212, 0, 0, 212, 212, 212, 212, 212,
- 212, 0, 212, 0, 0, 0, 0, 0, 0, 0,
- 0, 64, 0, 0, 212, 212, 0, 212, 0, 0,
- 0, 0, 0, 0, 200, 0, 0, 0, 0, 198,
- 196, 200, 197, 0, 199, 0, 198, 196, 193, 197,
- 0, 199, 0, 0, 0, 0, 0, 232, 212, 195,
- 0, 212, 200, 0, 194, 0, 195, 198, 196, 193,
- 197, 0, 199, 0, 200, 0, 0, 0, 0, 198,
- 196, 0, 197, 0, 199, 232, 0, 195, 0, 0,
- 212, 201, 0, 0, 0, 0, 0, 232, 201, 195,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 211, 211, 211, 211, 201,
- 0, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 201, 0, 0, 0, 0, 0, 0, 0, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 0,
- 0, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 0, 0, 0, 0, 0,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 0, 0, 211, 211, 211, 211, 0, 0, 211, 211,
- 0, 211, 0, 0, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 0, 0, 0, 211, 211,
- 211, 211, 212, 212, 212, 212, 0, 0, 212, 212,
- 212, 212, 212, 212, 212, 212, 212, 212, 0, 0,
- 0, 0, 0, 0, 0, 0, 212, 212, 212, 212,
+ 235, 0, 363, 235, 188, 0, 0, 52, 52, 0,
+ 0, 0, 56, 0, 47, 0, 0, 0, 235, 0,
+ 201, 0, 0, 0, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 0, 0, 56, 0,
+ 47, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 235, 7, 7, 7, 7, 7, 7, 0,
+ 0, 7, 0, 7, 0, 0, 0, 0, 385, 386,
+ 0, 7, 7, 7, 7, 7, 7, 0, 7, 0,
+ 0, 0, 7, 7, 235, 0, 222, 0, 0, 0,
+ 0, 341, 0, 0, 345, 56, 216, 216, 216, 216,
+ 0, 0, 216, 216, 216, 216, 216, 216, 216, 216,
+ 216, 216, 0, 0, 0, 222, 0, 0, 0, 0,
+ 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+ 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+ 0, 0, 216, 216, 216, 216, 216, 216, 216, 216,
+ 216, 216, 216, 216, 216, 216, 0, 0, 18, 0,
+ 64, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+ 216, 237, 0, 216, 216, 216, 216, 373, 374, 216,
+ 216, 0, 216, 55, 17, 216, 216, 216, 216, 216,
+ 216, 216, 216, 216, 216, 216, 0, 0, 0, 216,
+ 216, 216, 216, 130, 237, 130, 391, 0, 237, 392,
+ 0, 237, 237, 237, 237, 237, 237, 18, 237, 64,
+ 0, 45, 106, 235, 55, 0, 0, 55, 0, 0,
+ 237, 237, 0, 237, 0, 222, 0, 0, 155, 0,
+ 0, 0, 55, 17, 0, 0, 0, 0, 69, 235,
+ 0, 18, 0, 64, 0, 214, 0, 0, 0, 235,
+ 0, 0, 235, 224, 237, 0, 0, 237, 215, 216,
+ 217, 218, 219, 220, 0, 221, 55, 17, 212, 0,
+ 45, 0, 182, 18, 214, 64, 0, 0, 0, 54,
+ 48, 0, 342, 0, 0, 0, 237, 215, 216, 217,
+ 218, 219, 220, 0, 221, 235, 235, 69, 55, 17,
+ 0, 212, 0, 0, 45, 212, 0, 0, 212, 212,
+ 212, 212, 212, 212, 0, 212, 0, 0, 0, 0,
+ 54, 48, 0, 54, 48, 0, 0, 212, 212, 0,
+ 212, 69, 0, 0, 0, 200, 45, 0, 54, 48,
+ 198, 196, 283, 197, 0, 199, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 296, 0, 0, 232, 0,
+ 195, 212, 0, 69, 212, 0, 0, 0, 0, 0,
+ 0, 0, 54, 48, 0, 0, 0, 200, 0, 0,
+ 0, 0, 198, 196, 193, 197, 0, 199, 0, 0,
+ 0, 0, 201, 212, 214, 0, 0, 0, 0, 0,
+ 232, 0, 195, 0, 54, 48, 0, 215, 216, 217,
+ 218, 219, 220, 0, 221, 0, 0, 0, 237, 237,
+ 237, 237, 0, 0, 237, 237, 237, 237, 237, 237,
+ 237, 237, 237, 237, 201, 0, 0, 55, 0, 0,
+ 0, 0, 237, 237, 237, 237, 237, 237, 237, 237,
+ 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+ 237, 237, 0, 55, 237, 237, 237, 237, 237, 237,
+ 237, 237, 237, 237, 237, 237, 237, 237, 0, 0,
+ 0, 0, 0, 237, 237, 237, 237, 237, 237, 237,
+ 237, 237, 237, 0, 0, 237, 237, 237, 237, 0,
+ 0, 237, 237, 0, 237, 0, 0, 237, 237, 237,
+ 237, 237, 237, 237, 237, 237, 237, 237, 0, 0,
+ 55, 237, 237, 237, 237, 212, 212, 212, 212, 0,
+ 0, 212, 212, 212, 212, 212, 212, 212, 212, 212,
+ 212, 380, 0, 54, 48, 381, 382, 0, 0, 212,
212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
- 212, 212, 212, 212, 212, 212, 0, 0, 212, 212,
+ 212, 212, 212, 212, 212, 212, 212, 212, 212, 54,
+ 48, 212, 212, 212, 212, 212, 212, 212, 212, 212,
+ 212, 212, 212, 212, 212, 0, 0, 0, 0, 0,
212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
- 212, 212, 0, 0, 0, 0, 0, 212, 212, 212,
- 212, 212, 212, 212, 212, 212, 212, 213, 0, 212,
- 212, 212, 212, 0, 185, 212, 212, 186, 212, 0,
- 0, 212, 212, 212, 212, 212, 212, 212, 212, 212,
- 212, 212, 0, 365, 0, 212, 212, 212, 212, 0,
- 213, 0, 0, 0, 213, 0, 0, 213, 213, 213,
- 213, 213, 213, 230, 213, 189, 190, 191, 192, 0,
- 187, 188, 189, 190, 191, 192, 213, 213, 0, 213,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 230, 231, 189, 190, 191, 192, 0, 0, 0,
- 0, 0, 0, 187, 188, 189, 190, 191, 192, 0,
- 213, 0, 0, 213, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 214, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 213, 0, 0, 0, 0, 0, 0, 0,
+ 213, 0, 212, 212, 212, 212, 0, 0, 212, 212,
+ 0, 212, 0, 0, 212, 212, 212, 212, 212, 212,
+ 212, 212, 212, 212, 212, 0, 54, 0, 212, 212,
+ 212, 212, 0, 213, 0, 0, 0, 213, 0, 0,
+ 213, 213, 213, 213, 213, 213, 0, 213, 191, 192,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 213,
+ 213, 0, 213, 0, 0, 0, 0, 94, 0, 0,
+ 0, 0, 200, 94, 0, 0, 0, 198, 196, 0,
+ 197, 0, 199, 0, 0, 0, 187, 188, 189, 190,
+ 191, 192, 0, 213, 0, 232, 213, 195, 0, 0,
0, 0, 0, 0, 0, 0, 0, 214, 0, 0,
- 0, 214, 0, 0, 214, 214, 214, 214, 214, 214,
- 0, 214, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 214, 214, 0, 214, 0, 0, 0,
0, 0, 0, 200, 0, 0, 0, 0, 198, 196,
- 200, 197, 0, 199, 0, 198, 196, 193, 197, 0,
- 199, 0, 0, 0, 0, 0, 232, 214, 195, 0,
- 214, 200, 0, 194, 0, 195, 198, 196, 0, 197,
- 0, 199, 0, 200, 0, 0, 0, 0, 198, 196,
- 0, 197, 0, 199, 232, 0, 195, 0, 0, 214,
- 201, 0, 0, 0, 0, 0, 232, 201, 195, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 213, 213, 213, 213, 201, 0,
+ 0, 197, 0, 199, 0, 213, 0, 0, 94, 201,
+ 0, 0, 0, 0, 0, 0, 232, 0, 195, 0,
+ 214, 0, 0, 94, 214, 0, 0, 214, 214, 214,
+ 214, 214, 214, 0, 214, 0, 94, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 214, 214, 0, 214,
+ 201, 0, 0, 94, 94, 94, 200, 0, 0, 0,
+ 0, 198, 196, 200, 197, 0, 199, 0, 198, 196,
+ 193, 197, 0, 199, 0, 0, 0, 280, 0, 232,
+ 214, 195, 0, 214, 200, 0, 194, 0, 195, 198,
+ 196, 193, 197, 0, 199, 0, 200, 0, 0, 0,
+ 0, 198, 196, 0, 197, 0, 199, 232, 0, 195,
+ 0, 0, 214, 201, 0, 0, 0, 94, 0, 232,
+ 201, 195, 0, 0, 0, 94, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 213, 213, 213,
+ 213, 201, 0, 213, 213, 213, 213, 213, 213, 213,
+ 213, 213, 213, 201, 0, 0, 0, 0, 0, 0,
+ 0, 213, 213, 213, 213, 213, 213, 213, 213, 213,
213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 201, 0, 0, 0, 0, 0, 0, 0, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 0, 0,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 0, 0, 0, 0, 0, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 0,
- 0, 213, 213, 213, 213, 0, 0, 213, 213, 0,
213, 0, 0, 213, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 0, 0, 0, 213, 213, 213,
- 213, 214, 214, 214, 214, 0, 0, 214, 214, 214,
- 214, 214, 214, 214, 214, 214, 214, 0, 14, 0,
- 0, 0, 0, 0, 0, 214, 214, 214, 214, 214,
+ 213, 213, 213, 213, 213, 213, 213, 0, 0, 0,
+ 0, 367, 213, 213, 213, 213, 213, 213, 213, 213,
+ 213, 213, 0, 0, 213, 213, 213, 213, 0, 0,
+ 213, 213, 94, 213, 0, 0, 213, 213, 213, 213,
+ 213, 213, 213, 213, 213, 213, 213, 0, 0, 0,
+ 213, 213, 213, 213, 214, 214, 214, 214, 0, 0,
214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
- 214, 214, 214, 214, 214, 0, 0, 214, 214, 214,
+ 0, 187, 188, 189, 190, 191, 192, 0, 214, 214,
214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
- 214, 0, 0, 0, 0, 395, 214, 214, 214, 214,
- 214, 214, 214, 214, 214, 214, 209, 14, 214, 214,
- 214, 214, 0, 185, 214, 214, 186, 214, 0, 0,
+ 214, 214, 214, 214, 214, 214, 214, 214, 94, 94,
214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
- 214, 0, 0, 0, 214, 214, 214, 214, 0, 209,
- 0, 14, 0, 0, 187, 0, 209, 209, 0, 209,
- 209, 209, 187, 188, 189, 190, 191, 192, 0, 230,
- 231, 189, 190, 191, 192, 209, 209, 0, 209, 0,
- 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
- 230, 231, 189, 190, 191, 192, 0, 0, 0, 0,
- 0, 0, 187, 188, 189, 190, 191, 192, 0, 209,
- 0, 0, 209, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 210, 181, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 209, 0, 0, 0, 0, 0, 0, 0, 0,
+ 214, 214, 214, 214, 189, 190, 191, 192, 0, 214,
+ 214, 214, 214, 214, 214, 214, 214, 214, 214, 215,
+ 0, 214, 214, 214, 214, 0, 185, 214, 214, 186,
+ 214, 0, 0, 214, 214, 214, 214, 214, 214, 214,
+ 214, 214, 214, 214, 0, 0, 0, 214, 214, 214,
+ 214, 0, 215, 0, 0, 0, 215, 0, 0, 215,
+ 215, 215, 215, 215, 215, 187, 215, 189, 190, 191,
+ 192, 0, 187, 188, 189, 190, 191, 192, 215, 215,
+ 0, 215, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 230, 231, 189, 190, 191, 192, 0,
+ 0, 0, 0, 0, 0, 230, 231, 189, 190, 191,
+ 192, 0, 215, 0, 0, 215, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 210, 0, 0, 0,
- 0, 0, 0, 210, 210, 0, 210, 210, 210, 254,
- 255, 256, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 210, 210, 0, 210, 0, 0, 0, 0,
- 0, 0, 0, 281, 0, 0, 0, 0, 0, 202,
- 0, 0, 0, 0, 202, 202, 202, 202, 0, 202,
- 0, 0, 0, 0, 0, 187, 210, 0, 0, 210,
- 0, 187, 202, 0, 202, 0, 187, 0, 0, 0,
- 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
- 0, 317, 0, 0, 0, 0, 0, 0, 210, 0,
- 0, 0, 0, 0, 0, 0, 202, 0, 187, 0,
- 0, 0, 0, 0, 260, 0, 0, 0, 0, 0,
- 0, 0, 0, 209, 209, 209, 209, 0, 0, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 0,
- 0, 0, 0, 0, 0, 0, 0, 209, 209, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 209, 209, 209, 209, 0, 0, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 0, 0, 0, 0, 361, 209, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 0, 0,
- 209, 209, 209, 209, 0, 0, 209, 209, 0, 209,
- 0, 0, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 0, 260, 0, 209, 209, 209, 209,
- 210, 210, 210, 210, 0, 0, 210, 210, 210, 210,
- 210, 210, 210, 210, 210, 210, 0, 0, 0, 0,
- 0, 0, 382, 383, 210, 210, 210, 210, 210, 210,
- 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
- 210, 210, 210, 210, 0, 0, 210, 210, 210, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 215, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+ 0, 0, 0, 0, 0, 0, 210, 210, 0, 210,
+ 210, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 210, 210, 0, 210, 0,
+ 0, 0, 0, 0, 0, 200, 0, 0, 0, 0,
+ 198, 196, 200, 197, 0, 199, 0, 198, 196, 193,
+ 197, 0, 199, 0, 0, 0, 0, 0, 232, 210,
+ 195, 0, 210, 200, 0, 194, 0, 195, 198, 196,
+ 0, 197, 0, 199, 0, 200, 0, 0, 0, 0,
+ 198, 196, 0, 197, 0, 199, 232, 0, 195, 0,
+ 0, 210, 201, 0, 0, 0, 0, 0, 232, 201,
+ 195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 215, 215, 215, 215,
+ 201, 0, 215, 215, 215, 215, 215, 215, 215, 215,
+ 215, 215, 201, 0, 0, 0, 0, 0, 0, 0,
+ 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
+ 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
+ 0, 0, 215, 215, 215, 215, 215, 215, 215, 215,
+ 215, 215, 215, 215, 215, 215, 0, 0, 0, 0,
+ 0, 215, 215, 215, 215, 215, 215, 215, 215, 215,
+ 215, 0, 0, 215, 215, 215, 215, 0, 0, 215,
+ 215, 0, 215, 0, 0, 215, 215, 215, 215, 215,
+ 215, 215, 215, 215, 215, 215, 0, 0, 0, 215,
+ 215, 215, 215, 210, 210, 210, 210, 0, 0, 210,
+ 210, 210, 210, 210, 210, 210, 210, 210, 210, 0,
+ 15, 0, 0, 0, 0, 0, 0, 210, 210, 210,
210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
- 0, 0, 0, 0, 0, 210, 210, 210, 210, 210,
- 210, 210, 210, 210, 210, 229, 0, 210, 210, 210,
- 210, 0, 202, 210, 210, 202, 210, 0, 0, 210,
+ 210, 210, 210, 210, 210, 210, 210, 0, 0, 210,
210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
- 0, 0, 0, 210, 210, 210, 210, 0, 229, 52,
- 53, 0, 0, 0, 0, 229, 229, 0, 0, 229,
- 0, 0, 0, 0, 0, 0, 0, 0, 202, 202,
- 202, 202, 202, 202, 229, 229, 0, 229, 0, 0,
- 0, 0, 0, 0, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
- 0, 229, 76, 77, 78, 79, 0, 0, 0, 0,
- 0, 0, 231, 0, 0, 0, 0, 0, 0, 0,
- 80, 81, 82, 83, 84, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 257, 0, 0, 0, 0,
- 0, 258, 0, 0, 0, 231, 259, 0, 0, 52,
- 53, 0, 231, 231, 0, 0, 231, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 231, 231, 0, 231, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 231, 0, 0, 231, 0,
- 0, 0, 76, 77, 78, 79, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 81, 82, 83, 84, 0, 0, 231, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 345, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 229, 229, 229, 210, 0, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 0, 0, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 0, 0, 0, 0, 0, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 0, 0, 229,
- 229, 229, 229, 0, 0, 229, 229, 0, 229, 0,
- 0, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 0, 0, 0, 229, 229, 229, 229, 231,
- 231, 231, 231, 0, 0, 231, 231, 231, 231, 231,
- 231, 231, 231, 231, 231, 0, 0, 0, 0, 0,
- 0, 0, 0, 231, 231, 231, 231, 231, 231, 231,
- 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
- 231, 231, 231, 0, 0, 231, 231, 231, 231, 231,
- 231, 231, 231, 231, 231, 231, 231, 231, 231, 0,
- 0, 0, 0, 0, 231, 231, 231, 231, 231, 231,
- 231, 231, 231, 231, 230, 0, 231, 231, 231, 231,
- 0, 0, 231, 231, 0, 231, 0, 0, 231, 231,
- 231, 231, 231, 231, 231, 231, 231, 231, 231, 0,
- 0, 0, 231, 231, 231, 231, 0, 230, 52, 53,
- 0, 0, 0, 0, 230, 230, 0, 0, 230, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 230, 230, 0, 230, 0, 0, 0,
- 0, 0, 0, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 0, 0, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 230, 0, 0,
- 230, 76, 77, 78, 79, 0, 0, 0, 0, 0,
- 0, 228, 0, 0, 76, 77, 78, 79, 0, 80,
- 81, 82, 83, 84, 0, 0, 0, 0, 0, 230,
- 0, 0, 80, 81, 82, 83, 84, 0, 0, 0,
- 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
- 0, 228, 228, 0, 0, 228, 0, 0, 0, 0,
+ 210, 210, 210, 0, 0, 0, 0, 399, 210, 210,
+ 210, 210, 210, 210, 210, 210, 210, 210, 211, 15,
+ 210, 210, 210, 210, 0, 185, 210, 210, 186, 210,
+ 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+ 210, 210, 210, 0, 0, 0, 210, 210, 210, 210,
+ 0, 211, 0, 15, 0, 0, 189, 0, 211, 211,
+ 0, 211, 211, 211, 187, 188, 189, 190, 191, 192,
+ 0, 230, 231, 189, 190, 191, 192, 211, 211, 0,
+ 211, 0, 0, 0, 0, 15, 0, 0, 0, 0,
+ 0, 0, 187, 188, 189, 190, 191, 192, 0, 0,
+ 0, 0, 0, 0, 230, 0, 189, 190, 191, 192,
+ 0, 211, 0, 0, 211, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 230, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 211, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
+ 0, 0, 0, 0, 0, 230, 230, 0, 0, 230,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 230, 230, 0, 230, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 203, 0, 0, 0, 0, 203, 203, 203, 203,
+ 0, 203, 0, 0, 0, 0, 0, 189, 230, 0,
+ 0, 230, 0, 189, 203, 0, 203, 0, 189, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 230, 0, 0, 0, 0, 0, 0, 0, 203, 0,
+ 189, 0, 0, 0, 0, 0, 261, 0, 0, 0,
+ 0, 0, 0, 0, 0, 211, 211, 211, 211, 347,
+ 0, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 0, 0, 0, 0, 0, 0, 0, 0, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 0,
+ 0, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 0, 0, 0, 0, 0,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 0, 0, 211, 211, 211, 211, 0, 0, 211, 211,
+ 0, 211, 0, 0, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 210, 0, 0, 211, 211,
+ 211, 211, 230, 230, 230, 230, 0, 0, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 230, 0, 0,
+ 0, 0, 0, 0, 0, 0, 230, 230, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 230, 230, 230, 230, 0, 0, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 0, 0, 0, 0, 0, 230, 230, 230,
+ 230, 230, 230, 230, 230, 230, 230, 232, 0, 230,
+ 230, 230, 230, 0, 203, 230, 230, 203, 230, 0,
+ 0, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 0, 0, 0, 230, 230, 230, 230, 0,
+ 232, 52, 53, 0, 0, 0, 0, 232, 232, 0,
+ 0, 232, 0, 0, 52, 53, 0, 0, 0, 0,
+ 203, 203, 203, 203, 203, 203, 232, 232, 0, 232,
+ 0, 0, 0, 0, 0, 0, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 0, 0, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 232, 0, 0, 232, 76, 77, 78, 79, 0, 0,
+ 0, 0, 0, 0, 231, 0, 0, 76, 77, 78,
+ 79, 0, 80, 81, 82, 83, 84, 0, 0, 0,
+ 0, 0, 232, 0, 0, 80, 81, 82, 83, 84,
+ 0, 0, 0, 0, 0, 0, 0, 231, 0, 0,
+ 0, 0, 0, 0, 231, 231, 0, 0, 231, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 228, 228, 0, 228, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 231, 231, 0, 231, 0, 0, 0,
+ 0, 0, 0, 0, 0, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 231, 0, 0,
+ 231, 0, 0, 76, 77, 78, 79, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 80, 81, 82, 83, 84, 0, 0, 0, 231,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 228, 0, 0, 228, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 232, 232, 232, 232, 0, 0,
+ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
+ 0, 0, 0, 0, 0, 0, 0, 0, 232, 232,
+ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 232, 232, 232, 232, 232, 0, 0,
+ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 232, 0, 0, 0, 0, 0, 232,
+ 232, 232, 232, 232, 232, 232, 232, 232, 232, 0,
+ 0, 232, 232, 232, 232, 0, 0, 232, 232, 0,
+ 232, 0, 0, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 232, 0, 0, 0, 232, 232, 232,
+ 232, 231, 231, 231, 231, 0, 0, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 0, 0, 0,
+ 0, 0, 0, 0, 0, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 0, 0, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 0, 0, 0, 0, 0, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 229, 0, 231, 231,
+ 231, 231, 0, 0, 231, 231, 0, 231, 0, 0,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 0, 0, 0, 231, 231, 231, 231, 0, 229,
+ 0, 0, 0, 0, 0, 0, 229, 229, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 229, 229, 0, 229, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 143, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 230, 230, 230, 230, 0, 0, 230, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 0, 0, 0,
- 0, 0, 0, 0, 0, 230, 230, 230, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
- 230, 230, 230, 230, 230, 0, 0, 230, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
- 230, 0, 0, 0, 0, 0, 230, 230, 230, 230,
- 230, 230, 230, 230, 230, 230, 0, 0, 230, 230,
- 230, 230, 0, 0, 230, 230, 0, 230, 0, 0,
- 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
- 230, 0, 0, 0, 230, 230, 230, 230, 228, 228,
- 228, 228, 0, 0, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 0, 15, 0, 0, 0, 0,
- 0, 0, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 0, 0, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 0, 0,
- 0, 0, 0, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 143, 15, 228, 228, 228, 228, 0,
- 0, 228, 228, 0, 228, 0, 0, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 0, 0,
- 0, 228, 228, 228, 228, 0, 143, 0, 15, 0,
- 0, 188, 0, 143, 143, 0, 143, 143, 143, 0,
+ 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 143, 0, 0, 0,
+ 0, 0, 0, 143, 143, 0, 143, 143, 143, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 143, 0, 0, 143, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 143, 0, 0, 143,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 233, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 143, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 233, 0, 0, 0, 0, 0, 0,
- 233, 233, 0, 0, 233, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 233,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 143, 0, 0, 143,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 188, 233, 0, 0, 233, 0, 188, 0,
- 0, 0, 0, 188, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 143, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 233, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 188, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 229, 229, 229, 229, 0, 0, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 0, 0, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 0, 0, 0, 0, 0, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 0, 0,
+ 229, 229, 229, 229, 0, 0, 229, 229, 0, 229,
+ 0, 0, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 0, 0, 0, 229, 229, 229, 229,
143, 143, 143, 143, 0, 0, 143, 0, 143, 143,
143, 143, 143, 143, 143, 143, 0, 0, 0, 0,
0, 0, 0, 0, 143, 143, 143, 143, 143, 143,
@@ -724,131 +723,131 @@ short yytable[] = { 89,
143, 143, 143, 0, 0, 0, 0, 143, 143, 143,
143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
- 143, 143, 143, 143, 143, 0, 0, 143, 143, 143,
+ 143, 143, 143, 143, 143, 234, 0, 143, 143, 143,
143, 0, 0, 143, 143, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 143, 143, 143, 143, 143,
- 0, 0, 0, 143, 143, 143, 143, 233, 233, 233,
- 233, 0, 0, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 0, 0, 0, 0, 0, 0, 0,
- 0, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 0, 0, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 0, 0, 0,
- 0, 0, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 232, 0, 233, 233, 233, 233, 0, 0,
- 233, 233, 0, 233, 0, 0, 233, 233, 233, 233,
- 0, 0, 233, 233, 233, 233, 233, 0, 0, 0,
- 233, 233, 233, 233, 0, 232, 0, 0, 0, 0,
- 0, 0, 232, 232, 0, 0, 232, 0, 0, 0,
+ 0, 0, 0, 143, 143, 143, 143, 0, 234, 0,
+ 0, 0, 0, 0, 0, 234, 234, 0, 0, 234,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 232, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 234, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 232, 0, 0, 232, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 144,
+ 0, 0, 0, 0, 0, 0, 0, 0, 234, 0,
+ 0, 234, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 233, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 232, 0, 0,
+ 234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 233, 0, 0, 0, 0,
+ 0, 0, 233, 233, 0, 0, 233, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 144, 0, 0, 0, 0, 0, 0, 144,
- 144, 0, 144, 144, 144, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 144, 0,
- 0, 144, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 233, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 144, 0, 0, 144, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 233, 0, 0, 233, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 144, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 233, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 232,
- 232, 232, 232, 0, 0, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 0, 0, 0, 0, 0,
- 0, 0, 0, 232, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 0, 0, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 0,
- 0, 0, 0, 0, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 0, 0, 232, 232, 232, 232,
- 0, 0, 232, 232, 0, 232, 0, 0, 232, 232,
- 232, 232, 0, 0, 232, 232, 232, 232, 232, 0,
- 0, 0, 232, 232, 232, 232, 144, 144, 144, 144,
- 0, 0, 144, 0, 144, 144, 144, 144, 144, 144,
- 144, 144, 0, 0, 0, 0, 0, 0, 0, 0,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 0,
- 0, 0, 0, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 234, 0, 144, 144, 144, 144, 0, 0, 144,
- 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 144, 144, 144, 144, 144, 0, 0, 0, 144,
- 144, 144, 144, 0, 234, 0, 0, 0, 0, 0,
- 0, 234, 234, 0, 0, 234, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 234, 234, 234, 234, 0, 0, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 234, 0, 0,
+ 0, 0, 0, 0, 0, 0, 234, 234, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
+ 234, 234, 234, 234, 234, 234, 0, 0, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
+ 234, 234, 0, 0, 0, 0, 0, 234, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 0, 0, 234,
+ 234, 234, 234, 0, 0, 234, 234, 0, 234, 0,
+ 0, 234, 234, 234, 234, 0, 0, 234, 234, 234,
+ 234, 234, 0, 0, 0, 234, 234, 234, 234, 233,
+ 233, 233, 233, 0, 0, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 0, 0, 0, 0, 0,
+ 0, 0, 0, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 0, 0, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 0,
+ 0, 0, 0, 0, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 144, 0, 233, 233, 233, 233,
+ 0, 0, 233, 233, 0, 233, 0, 0, 233, 233,
+ 233, 233, 0, 0, 233, 233, 233, 233, 233, 0,
+ 0, 0, 233, 233, 233, 233, 0, 144, 0, 0,
+ 0, 0, 0, 0, 144, 144, 0, 144, 144, 144,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 144, 0, 0, 144, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 234, 0, 0, 234, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 235, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 234, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 144, 0, 0,
+ 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 144,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 235, 0, 0, 0, 0, 0, 0, 235, 235,
- 0, 0, 235, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
+ 0, 0, 0, 0, 235, 0, 0, 0, 0, 0,
+ 0, 235, 235, 0, 0, 235, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 235, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 235, 0, 0, 235, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 235, 0, 0, 235, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 235, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 235, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 234, 234,
- 234, 234, 0, 0, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 234, 0, 0, 0, 0, 0, 0,
- 0, 0, 234, 234, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
- 234, 234, 0, 0, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 234, 234, 234, 234, 234, 0, 0,
- 0, 0, 0, 234, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 0, 0, 234, 234, 234, 234, 0,
- 0, 234, 234, 0, 234, 0, 0, 234, 234, 0,
- 0, 0, 0, 234, 234, 234, 234, 234, 0, 0,
- 0, 234, 234, 234, 234, 235, 235, 235, 235, 0,
- 0, 235, 235, 235, 235, 235, 235, 235, 235, 235,
- 235, 0, 0, 0, 0, 0, 0, 0, 0, 235,
- 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
- 235, 235, 235, 235, 235, 235, 235, 235, 235, 0,
- 0, 235, 235, 235, 235, 235, 235, 235, 235, 235,
- 235, 235, 235, 235, 235, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 144, 144, 144, 144, 0, 0, 144, 0, 144,
+ 144, 144, 144, 144, 144, 144, 144, 0, 0, 0,
+ 0, 0, 0, 0, 0, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 0, 0, 0, 0, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 0, 0, 144, 144,
+ 144, 144, 0, 0, 144, 144, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 144, 144, 144, 144,
+ 144, 0, 0, 0, 144, 144, 144, 144, 235, 235,
+ 235, 235, 0, 0, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 0, 0, 0, 0, 0, 0,
+ 0, 0, 235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
- 130, 0, 235, 235, 235, 235, 0, 0, 235, 235,
- 0, 235, 0, 0, 0, 235, 0, 0, 0, 0,
- 235, 235, 235, 235, 235, 0, 0, 0, 235, 235,
- 235, 235, 0, 130, 0, 0, 0, 0, 0, 0,
- 130, 130, 0, 130, 130, 130, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
- 0, 0, 130, 0, 0, 0, 0, 0, 0, 0,
+ 235, 235, 0, 0, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235, 0, 0,
+ 0, 0, 0, 235, 235, 235, 235, 235, 235, 235,
+ 235, 235, 235, 236, 0, 235, 235, 235, 235, 0,
+ 0, 235, 235, 0, 235, 0, 0, 235, 235, 0,
+ 0, 0, 0, 235, 235, 235, 235, 235, 0, 0,
+ 0, 235, 235, 235, 235, 0, 236, 0, 0, 0,
+ 0, 0, 0, 236, 236, 0, 0, 236, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 236, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 130, 0, 0, 130, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 135, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 130, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 236, 0, 0, 236,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 135, 0, 0, 0, 0, 0, 0, 135, 135, 0,
- 0, 135, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 135, 0, 0, 135,
+ 130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 236, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 130, 0, 0, 0, 0, 0, 0,
+ 130, 130, 0, 130, 130, 130, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
+ 0, 0, 130, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 135, 0, 0, 135, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 130, 0, 0, 130, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 130, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 135, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 130, 130, 130,
+ 236, 236, 236, 236, 0, 0, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 0, 0, 0, 0,
+ 0, 0, 0, 0, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 0, 0, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 0, 0, 0, 0, 0, 236, 236, 236, 236, 236,
+ 236, 236, 236, 236, 236, 0, 0, 236, 236, 236,
+ 236, 0, 0, 236, 236, 0, 236, 0, 0, 0,
+ 236, 0, 0, 0, 0, 236, 236, 236, 236, 236,
+ 0, 0, 0, 236, 236, 236, 236, 130, 130, 130,
130, 0, 0, 130, 0, 130, 130, 130, 130, 130,
130, 130, 130, 0, 0, 0, 0, 0, 0, 0,
0, 130, 130, 130, 130, 130, 130, 130, 130, 130,
@@ -856,393 +855,414 @@ short yytable[] = { 89,
0, 0, 0, 0, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 0, 0, 0,
0, 0, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 0, 0, 130, 130, 130, 130, 0, 0,
+ 130, 130, 135, 0, 130, 130, 130, 130, 0, 0,
130, 130, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 130, 130, 130, 130, 130, 0, 0, 0,
- 130, 130, 130, 130, 135, 135, 135, 135, 0, 0,
- 135, 0, 135, 135, 135, 135, 135, 135, 135, 135,
- 0, 0, 0, 0, 0, 0, 0, 0, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 0, 0, 0,
- 0, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 0, 0, 0, 0, 0, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 139,
- 0, 135, 135, 135, 135, 0, 0, 135, 135, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 135,
- 135, 135, 135, 135, 0, 0, 0, 135, 135, 135,
- 135, 0, 139, 0, 0, 0, 0, 0, 0, 139,
- 139, 0, 0, 139, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 139, 0,
+ 130, 130, 130, 130, 0, 135, 0, 0, 0, 0,
+ 0, 0, 135, 135, 0, 0, 135, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 135, 0, 0, 135, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 139, 0, 0, 139, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 88, 0, 0, 0,
+ 0, 0, 0, 0, 0, 135, 0, 0, 135, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 139,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 139, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
- 0, 0, 0, 0, 0, 0, 88, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 135, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 88, 0, 0, 0, 0,
+ 0, 0, 139, 0, 0, 0, 0, 0, 0, 139,
+ 139, 0, 0, 139, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 139, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
- 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 139, 0, 0, 139, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 88, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 139, 139, 139, 139,
+ 0, 0, 0, 0, 139, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 135,
+ 135, 135, 135, 0, 0, 135, 0, 135, 135, 135,
+ 135, 135, 135, 135, 135, 0, 0, 0, 0, 0,
+ 0, 0, 0, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 0, 0, 0, 0, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 0,
+ 0, 0, 0, 0, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 0, 0, 135, 135, 135, 135,
+ 260, 0, 135, 135, 0, 0, 261, 0, 0, 0,
+ 0, 0, 0, 0, 135, 135, 135, 135, 135, 0,
+ 0, 0, 135, 135, 135, 135, 139, 139, 139, 139,
0, 0, 139, 0, 139, 139, 139, 139, 139, 139,
139, 139, 0, 0, 0, 0, 0, 0, 0, 0,
139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
139, 139, 139, 139, 139, 139, 139, 139, 139, 0,
0, 0, 0, 139, 139, 139, 139, 139, 139, 139,
- 139, 139, 139, 139, 139, 139, 0, 0, 32, 0,
+ 139, 139, 139, 139, 139, 139, 88, 0, 0, 0,
0, 139, 139, 139, 139, 139, 139, 139, 139, 139,
139, 0, 0, 139, 139, 139, 139, 0, 0, 139,
- 139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 139, 139, 139, 139, 139, 0, 0, 0, 139,
- 139, 139, 139, 88, 88, 88, 88, 0, 0, 88,
- 0, 88, 88, 88, 88, 88, 88, 88, 88, 0,
- 0, 0, 0, 0, 0, 0, 0, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 0, 0, 0, 0,
- 0, 88, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 90, 0, 0, 0, 0, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88, 0, 0,
- 88, 88, 88, 88, 0, 0, 88, 88, 0, 0,
- 0, 0, 0, 0, 0, 0, 90, 0, 88, 88,
- 88, 88, 88, 90, 0, 0, 88, 88, 88, 88,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 90, 0, 6, 7, 0, 8, 9, 0,
- 0, 0, 0, 0, 0, 0, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 0, 0,
- 0, 0, 0, 0, 0, 0, 90, 0, 0, 90,
+ 139, 0, 0, 0, 0, 0, 0, 0, 0, 88,
+ 0, 139, 139, 139, 139, 139, 88, 0, 0, 139,
+ 139, 139, 139, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 88, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 90, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
- 0, 0, 0, 92, 0, 23, 24, 0, 0, 25,
- 92, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 28, 0, 0, 92,
- 29, 30, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
+ 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 90, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 92, 0, 0, 92, 0, 0, 0,
+ 0, 88, 0, 0, 0, 0, 0, 257, 0, 0,
+ 0, 0, 0, 258, 0, 0, 90, 0, 259, 0,
+ 0, 52, 53, 90, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 90, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 90, 0, 0, 90,
+ 0, 0, 0, 0, 76, 77, 78, 79, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 92, 0, 0, 0, 0,
+ 0, 0, 80, 81, 82, 83, 84, 0, 90, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 88, 88, 88, 88, 0, 0, 88,
+ 0, 88, 88, 88, 88, 88, 88, 88, 88, 0,
+ 0, 0, 0, 0, 0, 0, 0, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 0, 0, 0, 0,
+ 0, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 0, 0, 32, 0, 0, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 0, 0,
+ 88, 88, 88, 88, 0, 0, 88, 88, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 31, 88, 88,
+ 88, 88, 88, 0, 0, 0, 88, 88, 88, 88,
90, 90, 90, 90, 0, 0, 90, 0, 90, 90,
90, 90, 90, 90, 90, 90, 0, 0, 0, 0,
0, 0, 0, 0, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 0, 0, 0, 0, 0, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 0, 0, 6, 0, 0, 90, 90, 90, 90, 90,
+ 92, 0, 0, 0, 0, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 0, 0, 90, 90, 90,
90, 0, 0, 90, 90, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 90, 90, 90, 90, 90,
- 0, 0, 0, 90, 90, 90, 90, 92, 92, 92,
+ 0, 0, 0, 92, 0, 90, 90, 90, 90, 90,
+ 92, 0, 0, 90, 90, 90, 90, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 92,
+ 0, 6, 7, 0, 8, 9, 0, 0, 0, 0,
+ 0, 0, 0, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 0, 0, 0, 0, 0,
+ 0, 0, 0, 92, 0, 0, 92, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 92, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
+ 96, 0, 23, 24, 0, 0, 25, 96, 26, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 28, 0, 0, 96, 29, 30, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 96, 0, 0, 96, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 92, 92, 92,
92, 0, 0, 92, 0, 92, 92, 92, 92, 92,
92, 92, 92, 0, 0, 0, 0, 0, 0, 0,
0, 92, 92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
0, 0, 0, 0, 0, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 96, 0, 0,
+ 92, 92, 92, 92, 92, 92, 92, 0, 0, 6,
0, 0, 92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 0, 0, 92, 92, 92, 92, 0, 0,
92, 92, 0, 0, 0, 0, 0, 0, 0, 0,
- 96, 0, 92, 92, 92, 92, 92, 96, 0, 0,
- 92, 92, 92, 92, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 96, 0, 6, 6,
- 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 0, 0, 0, 0, 0, 0, 0, 0,
- 96, 0, 0, 96, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 0, 0, 0, 94, 0, 6,
- 6, 0, 0, 6, 94, 6, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
- 6, 0, 0, 94, 6, 6, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 94, 0, 0,
- 94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 96, 96, 96, 96, 0, 0,
+ 0, 6, 92, 92, 92, 92, 92, 0, 0, 0,
+ 92, 92, 92, 92, 96, 96, 96, 96, 0, 0,
96, 0, 96, 96, 96, 96, 96, 96, 96, 96,
0, 0, 0, 0, 0, 0, 0, 0, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 0, 0, 0,
0, 0, 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 0, 0, 0, 0, 0, 96,
+ 96, 96, 96, 96, 94, 0, 0, 0, 0, 96,
96, 96, 96, 96, 96, 96, 96, 96, 96, 0,
0, 96, 96, 96, 96, 0, 0, 96, 96, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
- 96, 96, 96, 96, 0, 0, 0, 96, 96, 96,
- 96, 94, 94, 94, 94, 0, 0, 94, 0, 94,
+ 0, 0, 0, 0, 0, 0, 0, 94, 0, 96,
+ 96, 96, 96, 96, 94, 0, 0, 96, 96, 96,
+ 96, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 94, 0, 6, 6, 0, 6, 6,
+ 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 0,
+ 0, 0, 0, 0, 0, 0, 0, 94, 0, 0,
+ 94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 84, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 84, 0, 6, 6, 0, 0,
+ 6, 84, 6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 6, 0, 6, 0, 0,
+ 84, 6, 6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 84, 0, 0, 84, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 84, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 94, 94, 94, 94, 0, 0, 94, 0, 94,
94, 94, 94, 94, 94, 94, 94, 0, 0, 0,
0, 0, 0, 0, 0, 94, 94, 94, 94, 94,
94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
94, 94, 94, 94, 0, 0, 0, 0, 0, 94,
94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
- 94, 84, 0, 0, 0, 0, 94, 94, 94, 94,
+ 94, 0, 0, 0, 0, 0, 94, 94, 94, 94,
94, 94, 94, 94, 94, 94, 0, 0, 94, 94,
94, 94, 0, 0, 94, 94, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 0, 94, 94, 94, 94,
- 94, 84, 0, 0, 94, 94, 94, 94, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 94, 94, 94, 94,
+ 94, 0, 0, 0, 94, 94, 94, 94, 84, 84,
+ 84, 84, 0, 0, 84, 0, 84, 84, 84, 84,
+ 84, 84, 84, 84, 0, 0, 0, 0, 0, 0,
+ 0, 0, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 0, 0, 0, 0, 0, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 85, 0,
+ 0, 0, 0, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 0, 0, 84, 84, 84, 84, 0,
+ 0, 84, 84, 0, 0, 0, 0, 0, 0, 0,
+ 0, 85, 0, 84, 84, 84, 84, 84, 85, 0,
+ 0, 84, 84, 84, 84, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 85, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 0, 0, 84, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 84, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 85, 0, 0, 0, 0, 0, 0, 85, 0,
+ 0, 85, 0, 0, 85, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 85, 0, 0,
+ 0, 0, 0, 85, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 86, 0,
+ 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 85, 0, 0, 85, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 86, 0,
+ 0, 86, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 85, 0, 0, 0, 0, 0, 0,
+ 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 84,
- 84, 84, 0, 0, 84, 0, 84, 84, 84, 84,
- 84, 84, 84, 84, 0, 0, 0, 0, 0, 0,
- 0, 0, 84, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
- 84, 0, 0, 0, 0, 0, 84, 84, 84, 84,
- 84, 84, 84, 84, 84, 84, 84, 84, 0, 0,
- 0, 0, 0, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 84, 0, 0, 84, 84, 84, 84, 0,
- 0, 84, 84, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 84, 84, 84, 84, 84, 0, 0,
- 0, 84, 84, 84, 84, 85, 85, 85, 85, 0,
+ 0, 0, 0, 0, 0, 85, 85, 85, 85, 0,
0, 85, 0, 85, 85, 85, 85, 85, 85, 85,
85, 0, 0, 0, 0, 0, 0, 0, 0, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 0, 0,
0, 0, 0, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 86, 0, 0, 0, 0,
+ 85, 85, 85, 85, 85, 0, 0, 0, 0, 0,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
0, 0, 85, 85, 85, 85, 0, 0, 85, 85,
- 0, 0, 0, 0, 0, 0, 0, 0, 86, 0,
- 85, 85, 85, 85, 85, 86, 0, 0, 85, 85,
- 85, 85, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 86, 0,
- 0, 86, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 87, 0, 0, 0, 0,
- 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
+ 85, 85, 85, 85, 85, 0, 0, 0, 85, 85,
+ 85, 85, 86, 86, 86, 86, 0, 0, 86, 0,
+ 86, 86, 86, 86, 86, 86, 86, 86, 0, 0,
+ 0, 0, 0, 0, 0, 0, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 0, 0, 0, 0, 0,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 87, 0, 0, 0, 0, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 0, 0, 86,
+ 86, 86, 86, 0, 0, 86, 86, 0, 0, 0,
+ 0, 0, 0, 0, 0, 87, 0, 86, 86, 86,
+ 86, 86, 87, 0, 0, 86, 86, 86, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 87, 0, 0, 87, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 97, 0, 0, 0, 0, 0, 0, 97,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 86, 86, 86, 86, 0, 0, 86, 0,
- 86, 86, 86, 86, 86, 86, 86, 86, 0, 0,
- 0, 0, 0, 0, 0, 0, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 0, 0, 0, 0, 0,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 0, 0, 0, 0, 0, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 0, 0, 86,
- 86, 86, 86, 0, 0, 86, 86, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 86, 86, 86,
- 86, 86, 0, 0, 0, 86, 86, 86, 86, 87,
+ 0, 0, 0, 0, 0, 0, 0, 0, 97, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 97, 0, 0, 97, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 97, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
87, 87, 87, 0, 0, 87, 0, 87, 87, 87,
87, 87, 87, 87, 87, 0, 0, 0, 0, 0,
0, 0, 0, 87, 87, 87, 87, 87, 87, 87,
87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
87, 87, 0, 0, 0, 0, 0, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 97,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 0,
0, 0, 0, 0, 87, 87, 87, 87, 87, 87,
87, 87, 87, 87, 0, 0, 87, 87, 87, 87,
0, 0, 87, 87, 0, 0, 0, 0, 0, 0,
- 0, 0, 97, 0, 87, 87, 87, 87, 87, 97,
- 0, 0, 87, 87, 87, 87, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 97, 0,
+ 0, 0, 0, 0, 87, 87, 87, 87, 87, 0,
+ 0, 0, 87, 87, 87, 87, 97, 97, 97, 97,
+ 0, 0, 97, 0, 97, 97, 97, 97, 97, 97,
+ 97, 97, 0, 0, 0, 0, 0, 0, 0, 0,
+ 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
+ 97, 97, 97, 97, 97, 97, 97, 97, 97, 0,
+ 0, 0, 0, 0, 97, 97, 97, 97, 97, 97,
+ 97, 97, 97, 97, 97, 97, 98, 0, 0, 0,
+ 0, 97, 97, 97, 97, 97, 97, 97, 97, 97,
+ 97, 0, 0, 97, 97, 97, 97, 0, 0, 97,
+ 97, 0, 0, 0, 0, 0, 0, 0, 0, 98,
+ 0, 97, 97, 97, 97, 97, 98, 0, 0, 97,
+ 97, 97, 97, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 98, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,
+ 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 99, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 97, 0, 0, 97, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
+ 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 99, 0, 0, 0,
+ 0, 0, 0, 99, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 97, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,
- 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
+ 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 98, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 99, 0, 0, 99,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,
- 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 97, 97, 97, 97,
- 0, 0, 97, 0, 97, 97, 97, 97, 97, 97,
- 97, 97, 0, 0, 0, 0, 0, 0, 0, 0,
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 0,
- 0, 0, 0, 0, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 97, 97, 97, 0, 0, 0, 0,
- 0, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 0, 0, 97, 97, 97, 97, 0, 0, 97,
- 97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 97, 97, 97, 97, 97, 0, 0, 0, 97,
- 97, 97, 97, 98, 98, 98, 98, 0, 0, 98,
+ 0, 0, 0, 98, 98, 98, 98, 0, 0, 98,
0, 98, 98, 98, 98, 98, 98, 98, 98, 0,
0, 0, 0, 0, 0, 0, 0, 98, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
98, 98, 98, 98, 98, 98, 0, 0, 0, 0,
0, 98, 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 99, 0, 0, 0, 0, 98, 98,
+ 98, 98, 98, 0, 0, 0, 0, 0, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 0, 0,
98, 98, 98, 98, 0, 0, 98, 98, 0, 0,
- 0, 0, 0, 0, 0, 0, 99, 0, 98, 98,
- 98, 98, 98, 99, 0, 0, 98, 98, 98, 98,
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98,
+ 98, 98, 98, 0, 0, 0, 98, 98, 98, 98,
+ 99, 99, 99, 99, 0, 0, 99, 0, 99, 99,
+ 99, 99, 99, 99, 99, 99, 0, 0, 0, 0,
+ 0, 0, 0, 0, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 0, 0, 0, 0, 0, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 104, 0, 0, 0, 0, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 0, 0, 99, 99, 99,
+ 99, 0, 0, 99, 99, 0, 0, 0, 0, 0,
+ 0, 0, 0, 104, 0, 99, 99, 99, 99, 99,
+ 104, 0, 0, 99, 99, 99, 99, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 99, 0, 0, 99,
+ 0, 0, 0, 104, 0, 0, 104, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
+ 0, 0, 0, 0, 0, 104, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 104, 0, 0, 0, 0, 0, 0,
- 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
+ 106, 0, 0, 0, 0, 0, 0, 106, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 104, 0, 0, 104, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 106, 0, 0, 106, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 104, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 99, 99, 99, 99, 0, 0, 99, 0, 99, 99,
- 99, 99, 99, 99, 99, 99, 0, 0, 0, 0,
- 0, 0, 0, 0, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 0, 0, 0, 0, 0, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
- 0, 0, 0, 0, 0, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 0, 0, 99, 99, 99,
- 99, 0, 0, 99, 99, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 99, 99, 99, 99, 99,
- 0, 0, 0, 99, 99, 99, 99, 104, 104, 104,
+ 0, 0, 0, 0, 0, 0, 0, 104, 104, 104,
104, 0, 0, 104, 0, 104, 104, 104, 104, 104,
104, 104, 104, 0, 0, 0, 0, 0, 0, 0,
0, 104, 104, 104, 104, 104, 104, 104, 104, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
0, 0, 0, 0, 0, 104, 104, 104, 104, 104,
- 104, 104, 104, 104, 104, 104, 104, 106, 0, 0,
+ 104, 104, 104, 104, 104, 104, 104, 0, 0, 0,
0, 0, 104, 104, 104, 104, 104, 104, 104, 104,
104, 104, 0, 0, 104, 104, 104, 104, 0, 0,
104, 104, 0, 0, 0, 0, 0, 0, 0, 0,
- 106, 0, 104, 104, 104, 104, 104, 106, 0, 0,
- 104, 104, 104, 104, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 106, 0, 0, 106, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 110, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 110, 0, 0,
- 0, 0, 0, 0, 110, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 110, 0, 0,
- 110, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 110,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 106, 106, 106, 106, 0, 0,
+ 0, 0, 104, 104, 104, 104, 104, 0, 0, 0,
+ 104, 104, 104, 104, 106, 106, 106, 106, 0, 0,
106, 0, 106, 106, 106, 106, 106, 106, 106, 106,
0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
106, 106, 106, 106, 106, 106, 106, 0, 0, 0,
0, 0, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 0, 0, 0, 0, 0, 106,
+ 106, 106, 106, 106, 110, 0, 0, 0, 0, 106,
106, 106, 106, 106, 106, 106, 106, 106, 106, 0,
0, 106, 106, 106, 106, 0, 0, 106, 106, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 106,
- 106, 106, 106, 106, 0, 0, 0, 106, 106, 106,
- 106, 110, 110, 110, 110, 0, 0, 110, 0, 110,
- 110, 110, 110, 110, 110, 110, 110, 0, 0, 0,
- 0, 0, 0, 0, 0, 110, 110, 110, 110, 110,
- 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
- 110, 110, 110, 110, 0, 0, 0, 0, 0, 110,
- 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
- 110, 123, 0, 0, 0, 0, 110, 110, 110, 110,
- 110, 110, 110, 110, 110, 110, 0, 0, 110, 110,
- 110, 110, 0, 0, 110, 110, 0, 0, 0, 0,
- 0, 0, 0, 0, 123, 0, 110, 110, 110, 110,
- 110, 123, 0, 0, 110, 110, 110, 110, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 123, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 110, 0, 106,
+ 106, 106, 106, 106, 110, 0, 0, 106, 106, 106,
+ 106, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 123, 0, 0, 123, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 123, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 110, 0, 0,
+ 110, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 110,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 108, 0, 0, 0, 0, 0, 0, 108, 0,
+ 0, 0, 0, 0, 123, 0, 0, 0, 0, 0,
+ 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 108, 0, 0,
+ 123, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 123, 0, 0, 123, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 108, 0, 0, 108, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 123, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 108, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 123, 123,
+ 0, 110, 110, 110, 110, 0, 0, 110, 0, 110,
+ 110, 110, 110, 110, 110, 110, 110, 0, 0, 0,
+ 0, 0, 0, 0, 0, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 0, 0, 0, 0, 0, 110,
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 0, 0, 0, 0, 0, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 0, 0, 110, 110,
+ 110, 110, 0, 0, 110, 110, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 110, 110, 110, 110,
+ 110, 0, 0, 0, 110, 110, 110, 110, 123, 123,
123, 123, 0, 0, 123, 0, 123, 123, 123, 123,
123, 123, 123, 123, 0, 0, 0, 0, 0, 0,
0, 0, 123, 123, 123, 123, 123, 123, 123, 123,
123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
123, 0, 0, 0, 0, 0, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 0, 0,
+ 123, 123, 123, 123, 123, 123, 123, 123, 108, 0,
0, 0, 0, 123, 123, 123, 123, 123, 123, 123,
123, 123, 123, 0, 0, 123, 123, 123, 123, 0,
0, 123, 123, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 123, 123, 123, 123, 123, 0, 0,
- 0, 123, 123, 123, 123, 108, 108, 108, 108, 0,
+ 0, 108, 0, 123, 123, 123, 123, 123, 108, 0,
+ 0, 123, 123, 123, 123, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 108, 0, 0,
+ 0, 0, 0, 0, 0, 0, 237, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 108, 0, 0, 108, 0, 0, 0, 0, 0,
+ 0, 0, 0, 237, 0, 141, 0, 237, 237, 237,
+ 237, 237, 0, 237, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 108, 0, 237, 237, 0, 237, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 141, 0,
+ 0, 0, 0, 0, 0, 141, 141, 0, 141, 141,
+ 141, 0, 0, 0, 0, 0, 0, 0, 0, 237,
+ 0, 0, 0, 0, 141, 0, 0, 141, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 237, 0, 0, 0, 0, 0, 0, 141, 0,
+ 0, 141, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 108, 108, 108, 108, 0,
0, 108, 0, 108, 108, 108, 108, 108, 108, 108,
108, 0, 0, 0, 0, 0, 0, 0, 0, 108,
108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
@@ -1250,337 +1270,338 @@ short yytable[] = { 89,
0, 0, 0, 108, 108, 108, 108, 108, 108, 108,
108, 108, 108, 108, 108, 0, 0, 0, 0, 0,
108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
- 141, 0, 108, 108, 108, 108, 0, 0, 108, 108,
+ 237, 0, 108, 108, 108, 108, 0, 0, 108, 108,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 108, 108, 108, 108, 108, 0, 237, 0, 108, 108,
+ 108, 108, 141, 141, 141, 141, 237, 0, 141, 237,
+ 141, 141, 141, 141, 141, 141, 141, 141, 0, 0,
+ 0, 0, 0, 0, 0, 0, 141, 141, 141, 141,
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 141, 0, 0, 0, 0, 141,
+ 141, 167, 237, 237, 237, 237, 237, 237, 0, 0,
+ 0, 0, 141, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 141, 141, 141, 0, 0, 0,
+ 0, 0, 0, 0, 167, 141, 141, 0, 0, 0,
+ 0, 167, 167, 0, 229, 167, 167, 0, 0, 0,
+ 0, 0, 0, 0, 0, 141, 141, 141, 141, 0,
+ 167, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
+ 0, 0, 0, 0, 229, 229, 0, 0, 229, 0,
+ 0, 0, 0, 0, 167, 0, 0, 167, 0, 0,
+ 0, 0, 0, 229, 229, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 167, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 236, 0,
+ 0, 40, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 108, 108, 108, 108, 0, 0, 0, 108, 108,
- 108, 108, 0, 141, 0, 0, 0, 0, 0, 0,
- 141, 141, 0, 141, 141, 141, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 141,
- 0, 0, 141, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 228, 0, 0, 0, 0,
+ 0, 0, 0, 0, 40, 0, 0, 0, 0, 236,
+ 0, 40, 236, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 236, 0, 0,
+ 40, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 141, 0, 0, 141, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
- 0, 0, 0, 0, 0, 228, 228, 0, 0, 228,
- 0, 0, 0, 0, 0, 141, 0, 0, 0, 0,
- 0, 0, 0, 0, 228, 228, 0, 228, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 234, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
- 0, 228, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 167, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 234, 0, 0, 234, 0,
- 228, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 234, 0, 167, 0, 0, 0, 0,
- 0, 0, 167, 0, 0, 0, 0, 167, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 167, 0, 0, 0, 0, 0, 234, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 141, 141, 141,
- 141, 0, 0, 141, 0, 141, 141, 141, 141, 141,
- 141, 141, 141, 0, 0, 167, 0, 0, 167, 234,
- 0, 141, 141, 141, 141, 141, 141, 141, 141, 141,
- 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
- 0, 0, 0, 0, 141, 141, 0, 167, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 141, 141, 141,
- 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
- 141, 141, 228, 228, 228, 228, 0, 0, 228, 0,
- 141, 141, 0, 228, 104, 0, 228, 228, 0, 0,
- 0, 103, 294, 0, 0, 0, 87, 0, 0, 0,
- 141, 141, 141, 141, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 0, 0, 0, 0, 0, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 86, 0, 228,
- 228, 228, 228, 0, 0, 0, 0, 0, 234, 0,
- 0, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 0, 0, 0, 0, 0, 0, 228, 167,
- 167, 167, 167, 0, 234, 167, 0, 167, 167, 167,
- 167, 167, 167, 0, 234, 40, 0, 234, 0, 0,
- 0, 0, 0, 167, 167, 167, 167, 167, 167, 167,
+ 0, 236, 0, 0, 40, 0, 0, 40, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 167, 167,
+ 167, 167, 0, 0, 167, 0, 167, 167, 167, 167,
+ 167, 167, 0, 236, 0, 0, 40, 0, 0, 0,
+ 0, 0, 167, 167, 167, 167, 167, 167, 167, 167,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 0, 0, 0, 0, 0, 167, 40, 0,
- 0, 0, 0, 0, 0, 40, 0, 0, 0, 0,
- 234, 234, 0, 0, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 40, 0, 0, 0, 0, 0,
- 0, 0, 167, 167, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 167, 167, 167, 167, 0, 0, 40, 0,
- 0, 40, 0, 0, 0, 0, 42, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 47, 48,
- 49, 8, 0, 0, 50, 0, 0, 0, 0, 51,
- 40, 0, 52, 53, 0, 0, 0, 0, 0, 42,
- 0, 0, 0, 0, 0, 0, 42, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 42, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 0, 0,
- 0, 0, 0, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 0, 0, 76, 77, 78, 79, 42,
- 0, 0, 42, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 95, 80, 81, 82, 83, 84, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
- 0, 42, 0, 0, 0, 0, 0, 0, 0, 0,
+ 167, 229, 229, 229, 229, 0, 167, 229, 0, 0,
+ 0, 0, 229, 0, 0, 229, 229, 0, 0, 0,
+ 0, 0, 0, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 0, 0, 0, 0, 0, 0, 0,
+ 0, 167, 167, 42, 0, 0, 0, 0, 0, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 167, 167, 167, 167, 0, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 42, 0, 229, 229,
+ 229, 229, 0, 42, 0, 0, 0, 0, 0, 0,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 0, 42, 0, 0, 0, 0, 229, 40, 40,
+ 40, 40, 236, 0, 40, 0, 0, 0, 0, 40,
+ 0, 0, 40, 40, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 42, 0, 236, 42,
+ 0, 0, 95, 0, 0, 0, 0, 0, 236, 0,
+ 0, 236, 0, 0, 0, 0, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 42, 0,
+ 0, 0, 0, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 0, 0, 40, 40, 40, 40, 0,
+ 0, 0, 0, 0, 0, 236, 0, 0, 0, 0,
+ 0, 95, 0, 40, 40, 40, 40, 40, 0, 0,
+ 0, 0, 0, 0, 40, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 40, 40, 40, 40, 0, 0, 40, 0,
- 0, 95, 0, 40, 0, 0, 40, 40, 0, 0,
+ 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 95, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
- 40, 40, 0, 0, 0, 0, 0, 40, 40, 40,
- 40, 40, 40, 40, 40, 40, 40, 95, 0, 40,
- 40, 40, 40, 0, 0, 93, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 40, 40,
- 40, 40, 0, 42, 42, 42, 42, 0, 40, 42,
- 0, 0, 0, 0, 42, 0, 0, 42, 42, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
- 0, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 0, 0, 0, 0, 0, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 93, 0,
- 42, 42, 42, 42, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 91, 0, 0, 0, 42, 42,
- 42, 42, 42, 0, 0, 0, 0, 0, 0, 42,
- 93, 0, 95, 0, 0, 0, 0, 95, 95, 95,
- 0, 95, 95, 95, 95, 0, 0, 0, 0, 0,
- 0, 0, 0, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 187, 91, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 42, 42, 42, 42, 0, 0, 42, 0, 0, 93,
+ 0, 42, 0, 0, 42, 42, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 91, 0, 0,
- 0, 0, 95, 95, 0, 0, 0, 0, 0, 103,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 95, 95, 95, 95, 0, 0, 0, 91,
+ 0, 0, 0, 93, 0, 0, 0, 0, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 89, 0, 0, 0, 0, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 93, 0, 42, 42, 42,
+ 42, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 42, 42, 42, 42, 42,
+ 91, 0, 95, 0, 0, 0, 42, 95, 95, 95,
+ 0, 95, 95, 95, 95, 0, 0, 0, 0, 89,
+ 0, 0, 0, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 188, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 89, 0, 0, 0, 0, 0, 91,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 40, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
- 93, 93, 93, 0, 93, 93, 93, 93, 103, 0,
- 0, 0, 0, 32, 0, 0, 93, 93, 93, 93,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 95, 95, 0, 89, 0, 0, 0, 0,
+ 0, 0, 0, 91, 0, 0, 0, 0, 0, 103,
+ 0, 0, 95, 95, 95, 95, 0, 0, 0, 0,
+ 93, 0, 0, 0, 0, 93, 93, 93, 0, 93,
+ 93, 93, 93, 0, 0, 91, 0, 0, 0, 0,
+ 0, 93, 93, 93, 93, 93, 93, 93, 93, 93,
93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 188, 0, 0, 0, 0,
- 0, 0, 103, 0, 0, 31, 0, 0, 0, 0,
- 0, 0, 0, 105, 0, 0, 0, 0, 0, 0,
+ 189, 0, 0, 0, 0, 0, 0, 0, 103, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 103, 93, 93, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 93, 93, 93, 93, 0,
- 0, 0, 0, 0, 91, 0, 0, 0, 0, 91,
- 91, 91, 105, 91, 91, 91, 91, 0, 0, 0,
- 0, 0, 0, 0, 0, 91, 91, 91, 91, 91,
+ 93, 93, 103, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 105,
+ 93, 93, 93, 93, 0, 0, 0, 0, 0, 0,
+ 89, 0, 0, 0, 103, 89, 89, 89, 0, 89,
+ 89, 89, 89, 0, 0, 0, 0, 0, 0, 0,
+ 0, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 91, 0, 0, 0, 0, 91, 91, 91, 105, 91,
+ 91, 91, 91, 0, 0, 0, 0, 0, 0, 0,
+ 0, 91, 91, 91, 91, 91, 91, 91, 91, 91,
91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 0, 0, 105, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 105, 6,
- 7, 0, 8, 9, 91, 91, 0, 0, 0, 0,
- 0, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 0, 91, 91, 91, 91, 0, 103,
- 0, 0, 0, 0, 103, 103, 103, 109, 103, 103,
+ 89, 89, 105, 0, 0, 0, 0, 0, 109, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 105, 0, 0, 0, 0, 0,
+ 91, 91, 0, 0, 0, 0, 0, 0, 107, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
+ 91, 91, 91, 91, 103, 103, 103, 109, 103, 103,
103, 103, 0, 0, 0, 0, 0, 0, 0, 0,
103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
103, 103, 103, 103, 103, 103, 103, 103, 103, 0,
- 0, 109, 0, 0, 22, 0, 0, 0, 0, 0,
- 23, 24, 107, 0, 25, 0, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
- 0, 28, 0, 109, 0, 29, 30, 0, 0, 103,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
- 103, 103, 103, 105, 0, 0, 0, 0, 105, 105,
- 105, 107, 105, 105, 105, 105, 0, 0, 0, 0,
- 0, 0, 0, 0, 105, 105, 105, 105, 105, 105,
- 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
- 105, 105, 105, 0, 0, 107, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 80, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 107, 0, 0,
- 0, 0, 0, 105, 105, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 80, 0, 0, 0, 0,
- 0, 0, 80, 105, 105, 105, 105, 0, 109, 0,
- 0, 0, 0, 109, 109, 109, 0, 109, 109, 109,
- 109, 80, 0, 0, 0, 0, 0, 0, 0, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 0, 0,
- 0, 0, 0, 0, 0, 80, 0, 0, 80, 0,
- 0, 146, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 109, 0, 0, 0, 0, 0, 107, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 80, 109, 109,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 146, 0, 146, 146, 109, 109,
- 109, 109, 107, 0, 0, 0, 0, 107, 107, 107,
- 146, 107, 107, 107, 107, 0, 0, 0, 0, 0,
- 0, 0, 0, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 0, 0, 146, 0, 0, 0, 0, 0,
+ 0, 0, 0, 109, 0, 0, 0, 0, 0, 103,
+ 103, 107, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
+ 103, 103, 103, 0, 0, 0, 0, 0, 0, 105,
+ 0, 0, 0, 107, 105, 105, 105, 0, 105, 105,
+ 105, 105, 0, 0, 0, 0, 0, 0, 0, 0,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 146, 0, 0, 0,
- 0, 0, 107, 107, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 107, 107, 107, 107, 0, 0, 0, 80,
- 80, 80, 0, 0, 0, 80, 0, 80, 80, 80,
- 80, 80, 80, 80, 80, 0, 0, 0, 0, 0,
- 0, 0, 0, 80, 80, 80, 80, 80, 80, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 105,
+ 105, 0, 40, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 109, 105,
+ 105, 105, 105, 109, 109, 109, 0, 109, 109, 109,
+ 109, 0, 0, 0, 32, 0, 0, 0, 0, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 107, 0,
+ 0, 0, 0, 107, 107, 107, 31, 107, 107, 107,
+ 107, 80, 0, 0, 0, 0, 0, 0, 0, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 109, 109,
+ 0, 0, 0, 0, 80, 0, 0, 0, 0, 0,
+ 0, 80, 0, 0, 0, 0, 0, 0, 109, 109,
+ 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80, 0, 146, 0, 0, 0, 0, 0, 107, 107,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 107, 107,
+ 107, 107, 0, 0, 80, 0, 0, 80, 0, 0,
+ 0, 0, 0, 0, 0, 146, 0, 146, 146, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 146, 0, 0, 0, 0, 80, 0, 0, 0,
+ 6, 7, 0, 8, 9, 0, 0, 0, 0, 0,
+ 0, 0, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 0, 146, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 88, 0, 0, 0, 0,
+ 0, 0, 85, 0, 0, 0, 0, 87, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 146, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 22, 0, 0, 0, 0,
+ 0, 23, 24, 0, 0, 25, 0, 26, 0, 0,
+ 0, 0, 0, 32, 0, 0, 0, 0, 86, 0,
+ 27, 0, 28, 0, 0, 0, 29, 30, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 31, 0, 0, 80, 80,
+ 80, 0, 0, 0, 80, 0, 80, 80, 80, 80,
+ 80, 80, 80, 80, 0, 0, 0, 0, 0, 0,
+ 0, 0, 80, 80, 80, 80, 80, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 0, 0, 0, 0, 0, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 0,
- 0, 0, 0, 0, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 236, 0, 80, 80, 80, 80,
- 0, 0, 80, 80, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 80, 80, 80, 80, 80, 0,
- 0, 0, 80, 80, 80, 0, 0, 0, 0, 0,
- 0, 236, 146, 146, 0, 236, 236, 236, 236, 236,
- 0, 236, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 236, 236, 0, 236, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 146, 146, 146,
+ 80, 0, 0, 0, 0, 0, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 0, 0,
+ 0, 0, 0, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 80, 146, 146, 80, 80, 80, 80, 0,
+ 0, 80, 80, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 80, 80, 80, 80, 80, 0, 0,
+ 0, 80, 80, 80, 0, 0, 0, 0, 146, 146,
146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
- 146, 146, 146, 0, 0, 0, 0, 236, 0, 0,
- 0, 0, 88, 0, 0, 146, 146, 146, 146, 85,
- 0, 0, 0, 0, 87, 0, 0, 0, 0, 0,
- 0, 0, 0, 146, 146, 146, 146, 146, 0, 236,
+ 146, 146, 146, 146, 0, 0, 0, 0, 0, 275,
+ 276, 49, 8, 9, 0, 50, 146, 146, 146, 146,
+ 51, 10, 11, 277, 278, 14, 15, 16, 17, 18,
+ 19, 20, 21, 0, 146, 146, 146, 146, 146, 6,
+ 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
+ 0, 6, 0, 0, 0, 0, 0, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 0,
+ 0, 0, 0, 0, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 22, 0, 76, 77, 78, 79,
+ 23, 24, 0, 0, 25, 0, 26, 6, 0, 0,
+ 0, 0, 6, 0, 80, 81, 82, 83, 84, 27,
+ 0, 28, 0, 0, 0, 29, 30, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 88, 0, 0,
+ 0, 0, 0, 0, 103, 0, 0, 0, 0, 87,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 0, 0, 0, 0, 86, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 6, 0, 0, 0, 0, 0, 0, 6, 0,
- 0, 0, 0, 6, 0, 0, 0, 0, 0, 0,
+ 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 236, 6,
- 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 236, 0, 0, 0, 0, 0,
- 0, 6, 0, 0, 236, 0, 0, 236, 0, 0,
+ 0, 0, 0, 6, 6, 6, 6, 6, 0, 6,
+ 0, 0, 0, 0, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 0, 104, 0,
+ 0, 0, 0, 0, 0, 103, 295, 0, 0, 0,
+ 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 0, 0, 0, 0, 0, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 0,
+ 6, 6, 6, 6, 6, 6, 0, 0, 6, 0,
+ 6, 86, 0, 0, 0, 0, 0, 0, 6, 6,
+ 6, 6, 6, 6, 0, 6, 0, 0, 0, 6,
+ 6, 47, 48, 49, 8, 0, 0, 50, 0, 119,
+ 120, 121, 51, 122, 123, 124, 125, 0, 0, 0,
+ 0, 0, 0, 0, 0, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, 142, 143, 144, 0, 0, 0, 0, 0, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 0, 0, 0, 0, 0, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 88, 0, 76, 77,
+ 78, 79, 0, 85, 145, 146, 0, 0, 87, 0,
+ 0, 0, 0, 0, 0, 0, 80, 81, 82, 83,
+ 84, 0, 0, 0, 147, 148, 149, 29, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 0, 274, 275, 49, 8,
- 9, 103, 50, 0, 0, 0, 87, 51, 10, 11,
- 276, 277, 14, 15, 16, 17, 18, 19, 20, 21,
- 236, 236, 236, 236, 236, 236, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 0, 86, 0, 0,
- 0, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 22, 0, 76, 77, 78, 79, 23, 24, 0,
- 0, 25, 0, 26, 0, 0, 0, 0, 0, 0,
- 0, 80, 81, 82, 83, 84, 27, 0, 28, 0,
- 0, 0, 29, 30, 0, 6, 6, 6, 6, 6,
- 0, 6, 0, 0, 0, 0, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 0,
- 88, 0, 0, 0, 0, 0, 0, 85, 0, 0,
- 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 0, 0, 0, 0, 0,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 0, 6, 6, 6, 6, 6, 6, 0, 0,
- 6, 0, 6, 86, 0, 0, 0, 0, 0, 0,
- 6, 6, 6, 6, 6, 6, 0, 6, 0, 0,
- 0, 6, 6, 0, 0, 0, 0, 0, 47, 48,
- 49, 8, 0, 0, 50, 0, 119, 120, 121, 51,
- 122, 123, 124, 125, 0, 0, 0, 0, 0, 0,
- 0, 0, 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 0, 0, 0, 0, 0, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 0, 0,
- 0, 0, 0, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 0, 0, 76, 77, 78, 79, 104,
- 0, 145, 146, 0, 0, 0, 103, 0, 0, 0,
- 0, 87, 0, 80, 81, 82, 83, 84, 0, 0,
- 0, 147, 148, 149, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
+ 0, 0, 47, 48, 49, 8, 0, 0, 50, 0,
+ 0, 0, 0, 51, 0, 0, 52, 53, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 47, 48, 49, 8, 0, 0,
- 50, 0, 86, 0, 0, 51, 0, 0, 52, 53,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 0, 0, 0, 0, 0, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 104, 0, 76,
+ 77, 78, 79, 0, 103, 0, 0, 0, 0, 87,
+ 0, 0, 0, 0, 0, 0, 0, 80, 81, 82,
+ 83, 84, 0, 0, 0, 0, 0, 0, 29, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 0, 0, 0, 0, 0, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 104,
- 0, 76, 77, 78, 79, 0, 85, 0, 0, 0,
- 0, 87, 0, 0, 0, 0, 0, 0, 0, 80,
- 81, 82, 83, 84, 0, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
+ 47, 48, 49, 8, 0, 0, 50, 0, 0, 0,
+ 0, 51, 0, 0, 52, 53, 0, 0, 104, 0,
+ 0, 0, 0, 0, 0, 85, 0, 0, 0, 0,
+ 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 0, 0, 0, 0, 0, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 0, 0, 76, 77, 78,
+ 79, 86, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 80, 81, 82, 83, 84,
+ 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
+ 0, 0, 0, 0, 0, 0, 266, 0, 0, 0,
+ 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 47, 48, 49, 8, 0, 0, 50, 0, 0,
+ 0, 0, 51, 0, 0, 52, 53, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 47, 48, 49, 8, 0, 0, 50,
- 0, 0, 0, 0, 51, 0, 104, 52, 53, 0,
- 0, 0, 0, 265, 0, 0, 0, 0, 87, 0,
+ 0, 0, 86, 0, 0, 0, 0, 0, 0, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 0, 0, 0, 0, 0, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 0, 0, 76, 77,
+ 78, 79, 88, 0, 0, 0, 0, 0, 0, 103,
+ 0, 402, 0, 0, 87, 0, 80, 81, 82, 83,
+ 84, 0, 47, 48, 49, 8, 0, 29, 50, 0,
+ 0, 0, 0, 51, 0, 0, 52, 53, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 0, 0, 0, 0, 0, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 0, 86,
- 76, 77, 78, 79, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 81,
- 82, 83, 84, 0, 0, 0, 0, 0, 0, 29,
- 0, 0, 0, 0, 0, 0, 0, 88, 0, 0,
- 0, 0, 0, 0, 103, 0, 397, 0, 0, 87,
- 0, 0, 0, 47, 48, 49, 8, 0, 0, 50,
+ 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 0, 0, 0, 0, 0, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 0, 0, 76,
+ 77, 78, 79, 88, 0, 0, 0, 0, 0, 0,
+ 103, 0, 0, 0, 0, 87, 0, 80, 81, 82,
+ 83, 84, 0, 47, 48, 49, 8, 0, 29, 50,
0, 0, 0, 0, 51, 0, 0, 52, 53, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 0, 0, 0, 0, 0, 0, 86, 0, 0, 0,
+ 0, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 0, 0, 0, 0, 0, 66, 67,
68, 69, 70, 71, 72, 73, 74, 75, 0, 0,
- 76, 77, 78, 79, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 81,
- 82, 83, 84, 0, 0, 0, 0, 88, 0, 29,
- 47, 48, 49, 8, 103, 0, 50, 0, 0, 87,
- 0, 51, 0, 0, 52, 53, 0, 0, 0, 0,
+ 76, 77, 78, 79, 88, 0, 0, 0, 0, 0,
+ 0, 85, 0, 0, 0, 0, 87, 0, 80, 81,
+ 82, 83, 84, 0, 0, 0, 47, 48, 49, 29,
+ 0, 0, 50, 0, 0, 0, 0, 51, 0, 0,
+ 52, 53, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 86, 0, 0,
+ 0, 0, 0, 0, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 0, 0, 0, 0,
+ 0, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 0, 0, 76, 77, 78, 79, 88, 0, 0,
+ 0, 0, 0, 0, 266, 0, 0, 0, 0, 87,
+ 0, 80, 81, 82, 83, 84, 0, 47, 48, 49,
+ 0, 0, 0, 50, 0, 0, 0, 0, 51, 0,
+ 0, 52, 53, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 86, 0, 0, 0, 0, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 0, 0, 76, 77, 78,
- 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 80, 81, 82, 83, 84,
- 0, 47, 48, 49, 0, 0, 29, 50, 0, 0,
- 0, 0, 51, 88, 0, 52, 53, 0, 0, 0,
- 85, 0, 0, 0, 0, 87, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 0, 0, 0, 0, 0, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 86, 0, 76, 77,
- 78, 79, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 80, 81, 82, 83,
- 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
- 0, 47, 48, 49, 0, 265, 0, 50, 0, 0,
- 87, 0, 51, 0, 0, 52, 53, 0, 0, 0,
+ 86, 0, 0, 0, 0, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 0, 0, 0,
+ 0, 0, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 0, 0, 76, 77, 78, 79, 88, 0,
+ 0, 0, 0, 0, 0, 103, 0, 0, 0, 0,
+ 87, 0, 80, 81, 82, 83, 84, 0, 47, 48,
+ 49, 0, 0, 0, 50, 0, 0, 0, 0, 51,
+ 0, 0, 52, 53, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 86, 0, 0, 0, 0, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 0, 0,
+ 0, 0, 0, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 0, 0, 76, 77, 78, 79, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 80, 81, 82, 83, 84, 0, 0,
+ 0, 47, 48, 49, 0, 0, 0, 50, 0, 0,
+ 0, 0, 51, 0, 0, 52, 53, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 86, 0, 0, 0, 0, 66, 67, 68, 69,
+ 65, 0, 0, 0, 0, 0, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 0, 0, 76, 77,
78, 79, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 80, 81, 82, 83,
- 84, 88, 0, 0, 0, 0, 0, 0, 103, 0,
- 0, 0, 0, 87, 0, 0, 0, 47, 48, 49,
- 0, 0, 0, 50, 0, 0, 0, 0, 51, 0,
- 0, 52, 53, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 86, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 0, 0, 0,
- 0, 0, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 0, 0, 76, 77, 78, 79, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 80, 81, 82, 83, 84, 0, 0, 0,
- 0, 0, 47, 48, 49, 0, 0, 0, 50, 0,
- 0, 0, 0, 51, 0, 0, 52, 53, 0, 0,
+ 84, 0, 47, 48, 49, 0, 0, 0, 50, 0,
+ 0, 0, 0, 51, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1589,138 +1610,229 @@ short yytable[] = { 89,
69, 70, 71, 72, 73, 74, 75, 0, 0, 76,
77, 78, 79, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 80, 81, 82,
- 83, 84, 0, 0, 0, 47, 48, 49, 0, 0,
- 0, 50, 0, 0, 0, 0, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 0, 0, 0, 0, 0,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 0, 0, 76, 77, 78, 79, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 81, 82, 83, 84,
+ 83, 84,
};
-short yycheck[] = { 24,
- 118, 44, 37, 28, 104, 30, 59, 42, 43, 37,
- 45, 36, 47, 0, 42, 43, 260, 45, 93, 47,
- 43, 0, 45, 43, 98, 45, 0, 0, 85, 4,
- 260, 100, 60, 59, 62, 95, 154, 37, 43, 44,
- 45, 257, 42, 43, 113, 45, 58, 47, 35, 24,
- 96, 258, 96, 258, 41, 30, 0, 0, 40, 94,
- 85, 36, 87, 88, 0, 0, 94, 41, 41, 345,
- 44, 44, 43, 133, 45, 100, 61, 134, 58, 104,
- 59, 61, 43, 44, 45, 59, 59, 41, 113, 333,
- 44, 62, 41, 333, 94, 44, 262, 122, 123, 124,
+static YYCONST short yycheck[] = { 24,
+ 118, 44, 0, 28, 93, 30, 59, 43, 37, 45,
+ 260, 36, 59, 42, 43, 37, 45, 260, 47, 0,
+ 42, 43, 0, 45, 96, 47, 104, 85, 43, 4,
+ 45, 60, 43, 62, 45, 0, 154, 35, 98, 100,
+ 346, 347, 41, 41, 43, 58, 45, 62, 61, 24,
+ 41, 41, 113, 44, 44, 30, 348, 349, 0, 258,
+ 85, 36, 87, 88, 58, 94, 317, 318, 319, 320,
+ 321, 258, 94, 114, 115, 100, 134, 96, 43, 104,
+ 45, 59, 37, 333, 43, 44, 45, 42, 113, 95,
+ 40, 0, 47, 345, 59, 61, 333, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 0, 134,
- 40, 136, 137, 138, 93, 59, 59, 346, 347, 93,
- 93, 0, 147, 148, 59, 100, 342, 343, 203, 154,
- 230, 231, 40, 363, 234, 235, 111, 40, 113, 0,
- 41, 33, 43, 118, 45, 40, 125, 40, 40, 93,
- 93, 125, 125, 45, 370, 212, 213, 93, 93, 40,
- 271, 272, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 40, 154,
- 41, 125, 125, 44, 258, 259, 40, 212, 213, 125,
- 125, 37, 40, 0, 0, 40, 42, 257, 59, 91,
- 290, 47, 227, 263, 96, 230, 231, 232, 265, 234,
- 235, 257, 61, 257, 93, 258, 258, 263, 0, 263,
- 37, 260, 268, 41, 268, 42, 43, 41, 45, 262,
- 47, 123, 93, 264, 41, 41, 94, 44, 44, 257,
- 265, 352, 353, 60, 46, 62, 125, 301, 94, 348,
- 349, 369, 59, 59, 300, 317, 318, 319, 320, 321,
- 93, 236, 237, 93, 125, 300, 241, 341, 303, 43,
- 44, 45, 125, 298, 114, 115, 262, 94, 262, 257,
- 41, 304, 342, 343, 41, 44, 93, 93, 37, 41,
- 264, 264, 302, 42, 43, 41, 45, 41, 47, 44,
- 41, 44, 41, 262, 257, 346, 358, 303, 260, 91,
- 370, 60, 41, 62, 271, 272, 290, 290, 125, 125,
- 348, 349, 350, 351, 41, 260, 300, 41, 343, 303,
- 265, 266, 267, 262, 269, 270, 271, 272, 363, 364,
- 365, 123, 367, 0, 41, 94, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 257, 258, 259, 260, 261,
- 395, 263, 397, 347, 347, 343, 268, 269, 270, 271,
- 272, 273, 274, 275, 276, 277, 278, 279, 280, 0,
- 154, 374, 343, 343, 369, 352, 353, 30, 35, -1,
- -1, -1, 91, 264, -1, 340, 341, -1, -1, -1,
- 0, 0, -1, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, 360, 361, 362, 363, 290,
- 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
- 332, -1, 334, 335, 336, 337, 338, 339, 59, -1,
- 342, 41, 344, -1, 44, -1, -1, 264, 264, -1,
- 352, 353, 354, 355, 356, 357, -1, 359, 0, 59,
- 59, 363, 364, -1, -1, 257, 258, -1, 260, 261,
- -1, -1, 93, 290, 290, 346, 347, 269, 270, 271,
- 272, 273, 274, 275, 276, 277, 278, 279, 280, 0,
- -1, 33, -1, 93, 93, 37, -1, 0, 40, 41,
- 42, 43, 44, 45, 125, 47, -1, -1, -1, -1,
- -1, -1, -1, 26, -1, -1, -1, 59, 60, 346,
- 62, 348, 349, 350, 351, 125, 125, -1, 24, 42,
- 347, 347, -1, -1, 30, -1, 0, -1, -1, -1,
- 332, -1, -1, -1, -1, -1, 338, 339, 59, -1,
- 342, 93, 344, 0, 96, -1, 59, -1, -1, -1,
- -1, 260, -1, -1, 0, 357, 0, 359, -1, 268,
- -1, 363, 364, 86, 273, 274, 275, 276, 277, 278,
- -1, 280, 93, 125, -1, -1, -1, -1, -1, 85,
- 93, 350, 351, -1, 41, 59, -1, 44, -1, 33,
- -1, -1, -1, 37, 100, -1, 40, 41, 42, 43,
- 44, 45, 59, 47, 125, -1, -1, 113, -1, -1,
- -1, -1, 125, 59, -1, 59, 60, -1, 62, 93,
- -1, -1, -1, -1, 130, 131, 132, -1, -1, -1,
- -1, -1, -1, 156, -1, -1, 93, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 93, 154, 93,
- -1, 125, 96, 37, 264, -1, -1, -1, 42, 43,
- -1, 45, -1, 47, 37, -1, -1, -1, 125, 42,
- 43, 44, 45, -1, 47, -1, 60, -1, 62, 125,
- 290, 125, -1, -1, -1, -1, -1, 60, 194, 62,
- -1, -1, -1, -1, -1, -1, 202, -1, -1, -1,
- -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
- 94, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, 94, -1, -1, -1, -1, -1, -1, -1, 281,
+ 91, 136, 137, 138, 203, 93, 262, 59, 40, 40,
+ 363, 0, 147, 148, 40, 100, 40, 133, 93, 154,
+ 40, 61, 41, 40, 0, 44, 111, 40, 113, 94,
+ 40, 40, 123, 118, 271, 272, 40, 125, 290, 0,
+ 59, 93, 230, 231, 212, 213, 234, 235, 260, 258,
+ 125, 262, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 0, 154,
+ 0, 41, 33, 125, 93, 257, 41, 212, 213, 40,
+ 264, 263, 94, 59, 45, 301, 268, 46, 258, 259,
+ 257, 93, 227, 271, 272, 230, 231, 232, 266, 234,
+ 235, 0, 93, 125, 93, 258, 125, 93, 85, 41,
+ 262, 41, 44, 257, 44, 352, 353, 93, 300, 262,
+ 96, 260, 44, 125, 43, 44, 45, 59, 257, 59,
+ 91, 266, 41, 41, 263, 96, 125, 41, 41, 268,
+ 41, 257, 44, 371, 260, 43, 44, 45, 264, 125,
+ 44, 236, 237, 130, 131, 132, 241, 0, 304, 0,
+ 59, 93, 123, 93, 299, 41, 257, 258, 300, 260,
+ 261, 303, 342, 41, 352, 353, 0, 154, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 302, 346, 33, 125, 93, 125, 37, 44, 262, 40,
+ 41, 42, 43, 44, 45, 303, 47, 346, 347, 348,
+ 349, 350, 351, 257, 260, 41, 59, 194, 59, 60,
+ 358, 62, 41, 41, 363, 202, 125, 343, 344, 41,
+ 365, 366, 367, 343, 369, 59, 0, 262, 41, 154,
+ 343, 332, 30, 377, 343, 264, 343, 338, 339, 35,
+ 93, 342, 93, 344, -1, 96, 372, -1, -1, 375,
+ -1, -1, -1, -1, 399, -1, 357, 402, 359, 93,
+ -1, 290, 363, 364, -1, -1, -1, -1, -1, 0,
+ -1, 257, 125, 37, 125, -1, 371, 263, 42, 43,
+ -1, 45, 268, 47, -1, -1, 257, 258, 259, 260,
+ 261, 125, 263, -1, -1, -1, -1, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 41, -1, 299, 44, 300, -1, -1, 346, 347, -1,
+ -1, -1, 264, -1, 264, -1, -1, -1, 59, -1,
+ 94, -1, -1, -1, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, -1, -1, 290, -1,
+ 290, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, 332, 93, 334, 335, 336, 337, 338, 339, -1,
+ -1, 342, -1, 344, -1, -1, -1, -1, 365, 366,
+ -1, 352, 353, 354, 355, 356, 357, -1, 359, -1,
+ -1, -1, 363, 364, 125, -1, 91, -1, -1, -1,
+ -1, 257, -1, -1, 260, 347, 257, 258, 259, 260,
+ -1, -1, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 272, -1, -1, -1, 91, -1, -1, -1, -1,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ -1, -1, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, -1, -1, 0, -1,
+ 0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, 0, -1, 334, 335, 336, 337, 343, 344, 340,
+ 341, -1, 343, 0, 0, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, -1, -1, -1, 360,
+ 361, 362, 363, 43, 33, 45, 372, -1, 37, 375,
+ -1, 40, 41, 42, 43, 44, 45, 59, 47, 59,
+ -1, 0, 26, 264, 41, -1, -1, 44, -1, -1,
+ 59, 60, -1, 62, -1, 91, -1, -1, 42, -1,
+ -1, -1, 59, 59, -1, -1, -1, -1, 0, 290,
+ -1, 93, -1, 93, -1, 260, -1, -1, -1, 300,
+ -1, -1, 303, 268, 93, -1, -1, 96, 273, 274,
+ 275, 276, 277, 278, -1, 280, 93, 93, 0, -1,
+ 59, -1, 86, 125, 260, 125, -1, -1, -1, 0,
+ 0, -1, 268, -1, -1, -1, 125, 273, 274, 275,
+ 276, 277, 278, -1, 280, 346, 347, 59, 125, 125,
+ -1, 33, -1, -1, 93, 37, -1, -1, 40, 41,
+ 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
+ 41, 41, -1, 44, 44, -1, -1, 59, 60, -1,
+ 62, 93, -1, -1, -1, 37, 125, -1, 59, 59,
+ 42, 43, 156, 45, -1, 47, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, -1, -1, 60, -1,
+ 62, 93, -1, 125, 96, -1, -1, -1, -1, -1,
+ -1, -1, 93, 93, -1, -1, -1, 37, -1, -1,
+ -1, -1, 42, 43, 44, 45, -1, 47, -1, -1,
+ -1, -1, 94, 125, 260, -1, -1, -1, -1, -1,
+ 60, -1, 62, -1, 125, 125, -1, 273, 274, 275,
+ 276, 277, 278, -1, 280, -1, -1, -1, 257, 258,
+ 259, 260, -1, -1, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 94, -1, -1, 264, -1, -1,
+ -1, -1, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, -1, 290, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
+ -1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, -1, -1, 334, 335, 336, 337, -1,
+ -1, 340, 341, -1, 343, -1, -1, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
+ 347, 360, 361, 362, 363, 257, 258, 259, 260, -1,
+ -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 355, -1, 264, 264, 359, 360, -1, -1, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
- -1, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, -1, -1, -1, -1, 91,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 290,
+ 290, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
- -1, -1, 334, 335, 336, 337, -1, -1, 340, 341,
- -1, 343, 298, -1, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, -1, -1, 264, 360, 361,
- 362, 363, -1, 257, 258, 259, 260, 91, -1, 263,
+ 0, -1, 334, 335, 336, 337, -1, -1, 340, 341,
+ -1, 343, -1, -1, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, -1, 347, -1, 360, 361,
+ 362, 363, -1, 33, -1, -1, -1, 37, -1, -1,
+ 40, 41, 42, 43, 44, 45, -1, 47, 350, 351,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
+ 60, -1, 62, -1, -1, -1, -1, 24, -1, -1,
+ -1, -1, 37, 30, -1, -1, -1, 42, 43, -1,
+ 45, -1, 47, -1, -1, -1, 346, 347, 348, 349,
+ 350, 351, -1, 93, -1, 60, 96, 62, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
+ -1, -1, -1, 37, -1, -1, -1, -1, 42, 43,
+ -1, 45, -1, 47, -1, 125, -1, -1, 85, 94,
+ -1, -1, -1, -1, -1, -1, 60, -1, 62, -1,
+ 33, -1, -1, 100, 37, -1, -1, 40, 41, 42,
+ 43, 44, 45, -1, 47, -1, 113, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
+ 94, -1, -1, 130, 131, 132, 37, -1, -1, -1,
+ -1, 42, 43, 37, 45, -1, 47, -1, 42, 43,
+ 44, 45, -1, 47, -1, -1, -1, 154, -1, 60,
+ 93, 62, -1, 96, 37, -1, 60, -1, 62, 42,
+ 43, 44, 45, -1, 47, -1, 37, -1, -1, -1,
+ -1, 42, 43, -1, 45, -1, 47, 60, -1, 62,
+ -1, -1, 125, 94, -1, -1, -1, 194, -1, 60,
+ 94, 62, -1, -1, -1, 202, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
+ 260, 94, -1, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 94, -1, -1, -1, -1, -1, -1,
+ -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, -1, -1, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
+ -1, 286, 322, 323, 324, 325, 326, 327, 328, 329,
+ 330, 331, -1, -1, 334, 335, 336, 337, -1, -1,
+ 340, 341, 299, 343, -1, -1, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, -1, -1, -1,
+ 360, 361, 362, 363, 257, 258, 259, 260, -1, -1,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ -1, 346, 347, 348, 349, 350, 351, -1, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 365, 366,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 348, 349, 350, 351, -1, 322,
+ 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
+ -1, 334, 335, 336, 337, -1, 300, 340, 341, 303,
+ 343, -1, -1, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, -1, -1, -1, 360, 361, 362,
+ 363, -1, 33, -1, -1, -1, 37, -1, -1, 40,
+ 41, 42, 43, 44, 45, 346, 47, 348, 349, 350,
+ 351, -1, 346, 347, 348, 349, 350, 351, 59, 60,
+ -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 346, 347, 348, 349, 350, 351, -1,
+ -1, -1, -1, -1, -1, 346, 347, 348, 349, 350,
+ 351, -1, 93, -1, -1, 96, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
+ -1, -1, -1, -1, -1, -1, 40, 41, -1, 43,
+ 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
+ -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
+ 42, 43, 37, 45, -1, 47, -1, 42, 43, 44,
+ 45, -1, 47, -1, -1, -1, -1, -1, 60, 93,
+ 62, -1, 96, 37, -1, 60, -1, 62, 42, 43,
+ -1, 45, -1, 47, -1, 37, -1, -1, -1, -1,
+ 42, 43, -1, 45, -1, 47, 60, -1, 62, -1,
+ -1, 125, 94, -1, -1, -1, -1, -1, 60, 94,
+ 62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
+ 94, -1, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 272, 94, -1, -1, -1, -1, -1, -1, -1,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ -1, -1, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, -1, -1, -1, -1,
+ -1, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, -1, -1, 334, 335, 336, 337, -1, -1, 340,
+ 341, -1, 343, -1, -1, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, -1, -1, -1, 360,
+ 361, 362, 363, 257, 258, 259, 260, -1, -1, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- 353, -1, -1, 290, 357, 358, -1, 281, 282, 283,
+ 0, -1, -1, -1, -1, -1, -1, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, 300, 363, 364, 303,
+ 294, 295, 296, 297, 298, 299, 300, -1, -1, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, -1, -1, -1, 260, -1, 322, 323,
- 324, 325, 326, 327, 328, 329, 330, 331, 0, -1,
- 334, 335, 336, 337, -1, -1, 340, 341, 0, 343,
+ 314, 315, 316, -1, -1, -1, -1, 289, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 0, 59,
+ 334, 335, 336, 337, -1, 300, 340, 341, 303, 343,
-1, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, -1, -1, -1, 360, 361, 362, 363,
- -1, 33, -1, -1, -1, 37, 0, -1, 40, 41,
- 42, 43, 44, 45, -1, 47, -1, -1, 260, -1,
- -1, 43, -1, 45, -1, -1, 268, 59, 60, -1,
- 62, 273, 274, 275, 276, 277, 278, 59, 280, -1,
- -1, -1, 346, 347, 348, 349, 350, 351, -1, 43,
- -1, 45, -1, 346, 347, 348, 349, 350, 351, 363,
- -1, 93, -1, -1, 96, 59, 260, -1, -1, -1,
- -1, 93, -1, -1, -1, 0, -1, -1, -1, 273,
- 274, 275, 276, 277, 278, -1, 280, -1, -1, -1,
- -1, -1, -1, 125, -1, -1, -1, -1, -1, 93,
- -1, -1, -1, 125, -1, -1, -1, -1, 33, -1,
- -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
- -1, 125, -1, -1, 59, 60, -1, 62, -1, -1,
- -1, -1, -1, -1, 37, -1, -1, -1, -1, 42,
- 43, 37, 45, -1, 47, -1, 42, 43, 44, 45,
- -1, 47, -1, -1, -1, -1, -1, 60, 93, 62,
- -1, 96, 37, -1, 60, -1, 62, 42, 43, 44,
- 45, -1, 47, -1, 37, -1, -1, -1, -1, 42,
- 43, -1, 45, -1, 47, 60, -1, 62, -1, -1,
- 125, 94, -1, -1, -1, -1, -1, 60, 94, 62,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 257, 258, 259, 260, 94,
+ -1, 33, -1, 93, -1, -1, 96, -1, 40, 41,
+ -1, 43, 44, 45, 346, 347, 348, 349, 350, 351,
+ -1, 346, 347, 348, 349, 350, 351, 59, 60, -1,
+ 62, -1, -1, -1, -1, 125, -1, -1, -1, -1,
+ -1, -1, 346, 347, 348, 349, 350, 351, -1, -1,
+ -1, -1, -1, -1, 346, -1, 348, 349, 350, 351,
+ -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
+ -1, -1, -1, -1, -1, 40, 41, -1, -1, 44,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 59, 60, -1, 62, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 37, -1, -1, -1, -1, 42, 43, 44, 45,
+ -1, 47, -1, -1, -1, -1, -1, 257, 93, -1,
+ -1, 96, -1, 263, 60, -1, 62, -1, 268, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 125, -1, -1, -1, -1, -1, -1, -1, 94, -1,
+ 300, -1, -1, -1, -1, -1, 46, -1, -1, -1,
+ -1, -1, -1, -1, -1, 257, 258, 259, 260, 46,
-1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, 94, -1, -1, -1, -1, -1, -1, -1, 281,
+ 272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
-1, 303, 304, 305, 306, 307, 308, 309, 310, 311,
@@ -1728,7 +1840,7 @@ short yycheck[] = { 24,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
-1, -1, 334, 335, 336, 337, -1, -1, 340, 341,
-1, 343, -1, -1, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, -1, -1, -1, 360, 361,
+ 352, 353, 354, 355, 356, 46, -1, -1, 360, 361,
362, 363, 257, 258, 259, 260, -1, -1, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
-1, -1, -1, -1, -1, -1, 281, 282, 283, 284,
@@ -1739,32 +1851,32 @@ short yycheck[] = { 24,
325, 326, 327, 328, 329, 330, 331, 0, -1, 334,
335, 336, 337, -1, 300, 340, 341, 303, 343, -1,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, -1, 286, -1, 360, 361, 362, 363, -1,
- 33, -1, -1, -1, 37, -1, -1, 40, 41, 42,
- 43, 44, 45, 346, 47, 348, 349, 350, 351, -1,
+ 355, 356, -1, -1, -1, 360, 361, 362, 363, -1,
+ 33, 271, 272, -1, -1, -1, -1, 40, 41, -1,
+ -1, 44, -1, -1, 271, 272, -1, -1, -1, -1,
346, 347, 348, 349, 350, 351, 59, 60, -1, 62,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 346, 347, 348, 349, 350, 351, -1, -1, -1,
- -1, -1, -1, 346, 347, 348, 349, 350, 351, -1,
- 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 93, -1, -1, 96, 334, 335, 336, 337, -1, -1,
+ -1, -1, -1, -1, 0, -1, -1, 334, 335, 336,
+ 337, -1, 352, 353, 354, 355, 356, -1, -1, -1,
+ -1, -1, 125, -1, -1, 352, 353, 354, 355, 356,
-1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
- -1, 37, -1, -1, 40, 41, 42, 43, 44, 45,
- -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, 41, -1, -1, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 59, 60, -1, 62, -1, -1, -1,
- -1, -1, -1, 37, -1, -1, -1, -1, 42, 43,
- 37, 45, -1, 47, -1, 42, 43, 44, 45, -1,
- 47, -1, -1, -1, -1, -1, 60, 93, 62, -1,
- 96, 37, -1, 60, -1, 62, 42, 43, -1, 45,
- -1, 47, -1, 37, -1, -1, -1, -1, 42, 43,
- -1, 45, -1, 47, 60, -1, 62, -1, -1, 125,
- 94, -1, -1, -1, -1, -1, 60, 94, 62, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 257, 258, 259, 260, 94, -1,
+ -1, -1, -1, -1, -1, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
+ 96, -1, -1, 334, 335, 336, 337, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 352, 353, 354, 355, 356, -1, -1, -1, 125,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 257, 258, 259, 260, -1, -1,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 94, -1, -1, -1, -1, -1, -1, -1, 281, 282,
+ -1, -1, -1, -1, -1, -1, -1, -1, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, -1, -1,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
@@ -1774,83 +1886,83 @@ short yycheck[] = { 24,
343, -1, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, -1, -1, -1, 360, 361, 362,
363, 257, 258, 259, 260, -1, -1, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, 0, -1,
+ 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
-1, -1, -1, -1, -1, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, -1, -1, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, -1, -1, -1, -1, 289, 322, 323, 324, 325,
- 326, 327, 328, 329, 330, 331, 0, 59, 334, 335,
- 336, 337, -1, 300, 340, 341, 303, 343, -1, -1,
+ 316, -1, -1, -1, -1, -1, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 0, -1, 334, 335,
+ 336, 337, -1, -1, 340, 341, -1, 343, -1, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, -1, -1, -1, 360, 361, 362, 363, -1, 33,
- -1, 93, -1, -1, 96, -1, 40, 41, -1, 43,
- 44, 45, 346, 347, 348, 349, 350, 351, -1, 346,
- 347, 348, 349, 350, 351, 59, 60, -1, 62, -1,
- -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
- 346, 347, 348, 349, 350, 351, -1, -1, -1, -1,
- -1, -1, 346, 347, 348, 349, 350, 351, -1, 93,
+ -1, -1, -1, -1, -1, -1, 40, 41, -1, -1,
+ 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
-1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 0, 85, -1, -1, -1, -1, -1,
+ -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 33, -1, -1, -1,
- -1, -1, -1, 40, 41, -1, 43, 44, 45, 130,
- 131, 132, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 59, 60, -1, 62, -1, -1, -1, -1,
- -1, -1, -1, 154, -1, -1, -1, -1, -1, 37,
- -1, -1, -1, -1, 42, 43, 44, 45, -1, 47,
- -1, -1, -1, -1, -1, 257, 93, -1, -1, 96,
- -1, 263, 60, -1, 62, -1, 268, -1, -1, -1,
- -1, -1, -1, 194, -1, -1, -1, -1, -1, -1,
- -1, 202, -1, -1, -1, -1, -1, -1, 125, -1,
- -1, -1, -1, -1, -1, -1, 94, -1, 300, -1,
- -1, -1, -1, -1, 46, -1, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, -1, 43, 44, 45, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 59, -1, -1, 62, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
-1, -1, -1, -1, -1, -1, -1, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, -1, -1, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, -1, -1, -1, -1, 298, 322, 323,
+ 314, 315, 316, -1, -1, -1, -1, -1, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, -1, -1,
334, 335, 336, 337, -1, -1, 340, 341, -1, 343,
-1, -1, 346, 347, 348, 349, 350, 351, 352, 353,
- 354, 355, 356, -1, 46, -1, 360, 361, 362, 363,
- 257, 258, 259, 260, -1, -1, 263, 264, 265, 266,
+ 354, 355, 356, -1, -1, -1, 360, 361, 362, 363,
+ 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
- -1, -1, 363, 364, 281, 282, 283, 284, 285, 286,
+ -1, -1, -1, -1, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, -1, -1, 303, 304, 305, 306,
+ 297, 298, 299, -1, -1, -1, -1, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- -1, -1, -1, -1, -1, 322, 323, 324, 325, 326,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, -1, 334, 335, 336,
- 337, -1, 300, 340, 341, 303, 343, -1, -1, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- -1, -1, -1, 360, 361, 362, 363, -1, 33, 271,
- 272, -1, -1, -1, -1, 40, 41, -1, -1, 44,
- -1, -1, -1, -1, -1, -1, -1, -1, 346, 347,
- 348, 349, 350, 351, 59, 60, -1, 62, -1, -1,
- -1, -1, -1, -1, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
+ 337, -1, -1, 340, 341, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 352, 353, 354, 355, 356,
+ -1, -1, -1, 360, 361, 362, 363, -1, 33, -1,
+ -1, -1, -1, -1, -1, 40, 41, -1, -1, 44,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
- -1, 96, 334, 335, 336, 337, -1, -1, -1, -1,
+ -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
- 352, 353, 354, 355, 356, -1, -1, -1, -1, -1,
- 125, -1, -1, -1, -1, 257, -1, -1, -1, -1,
- -1, 263, -1, -1, -1, 33, 268, -1, -1, 271,
- 272, -1, 40, 41, -1, -1, 44, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 59, 60, -1, 62, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
+ 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 33, -1, -1, -1, -1,
+ -1, -1, 40, 41, -1, -1, 44, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
- -1, -1, 334, 335, 336, 337, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 352, 353, 354, 355, 356, -1, -1, 125, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 46, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, 258, 259, 260, 46, -1, 263, 264,
+ -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 257, 258, 259, 260, -1, -1, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
-1, -1, -1, -1, -1, -1, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
@@ -1859,7 +1971,7 @@ short yycheck[] = { 24,
315, 316, -1, -1, -1, -1, -1, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, -1, -1, 334,
335, 336, 337, -1, -1, 340, 341, -1, 343, -1,
- -1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ -1, 346, 347, 348, 349, -1, -1, 352, 353, 354,
355, 356, -1, -1, -1, 360, 361, 362, 363, 257,
258, 259, 260, -1, -1, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
@@ -1870,22 +1982,22 @@ short yycheck[] = { 24,
-1, -1, -1, -1, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, -1, 334, 335, 336, 337,
-1, -1, 340, 341, -1, 343, -1, -1, 346, 347,
- 348, 349, 350, 351, 352, 353, 354, 355, 356, -1,
- -1, -1, 360, 361, 362, 363, -1, 33, 271, 272,
- -1, -1, -1, -1, 40, 41, -1, -1, 44, -1,
+ 348, 349, -1, -1, 352, 353, 354, 355, 356, -1,
+ -1, -1, 360, 361, 362, 363, -1, 33, -1, -1,
+ -1, -1, -1, -1, 40, 41, -1, 43, 44, 45,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, -1, -1, 62, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
+ 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, 60, -1, 62, -1, -1, -1,
- -1, -1, -1, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, 93, -1, -1,
- 96, 334, 335, 336, 337, -1, -1, -1, -1, -1,
- -1, 0, -1, -1, 334, 335, 336, 337, -1, 352,
- 353, 354, 355, 356, -1, -1, -1, -1, -1, 125,
- -1, -1, 352, 353, 354, 355, 356, -1, -1, -1,
-1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
-1, 40, 41, -1, -1, 44, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, 60, -1, 62, -1, -1, -1, -1, -1, -1,
+ 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
@@ -1894,32 +2006,32 @@ short yycheck[] = { 24,
-1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, 258, 259, 260, -1, -1, 263, 264, 265,
+ -1, 257, 258, 259, 260, -1, -1, 263, -1, 265,
266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
-1, -1, -1, -1, -1, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, 300, -1, -1, 303, 304, 305,
+ 296, 297, 298, 299, -1, -1, -1, -1, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, -1, -1, -1, -1, -1, 322, 323, 324, 325,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, -1, -1, 334, 335,
- 336, 337, -1, -1, 340, 341, -1, 343, -1, -1,
- 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 336, 337, -1, -1, 340, 341, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 352, 353, 354, 355,
356, -1, -1, -1, 360, 361, 362, 363, 257, 258,
259, 260, -1, -1, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, -1, 0, -1, -1, -1, -1,
+ 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
-1, -1, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, -1, -1, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
-1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
- 329, 330, 331, 0, 59, 334, 335, 336, 337, -1,
- -1, 340, 341, -1, 343, -1, -1, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- -1, 360, 361, 362, 363, -1, 33, -1, 93, -1,
- -1, 96, -1, 40, 41, -1, 43, 44, 45, -1,
+ 329, 330, 331, 0, -1, 334, 335, 336, 337, -1,
+ -1, 340, 341, -1, 343, -1, -1, 346, 347, -1,
+ -1, -1, -1, 352, 353, 354, 355, 356, -1, -1,
+ -1, 360, 361, 362, 363, -1, 33, -1, -1, -1,
+ -1, -1, -1, 40, 41, -1, -1, 44, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 59, -1, -1, 62, -1, -1, -1, -1,
- 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1927,42 +2039,42 @@ short yycheck[] = { 24,
-1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 33, -1, -1, -1, -1, -1, -1,
- 40, 41, -1, -1, 44, -1, -1, -1, -1, -1,
+ 40, 41, -1, 43, 44, 45, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
+ -1, -1, 62, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, 93, -1, -1, 96, -1, 263, -1,
- -1, -1, -1, 268, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 300, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 257, 258, 259, 260, -1, -1, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
-1, -1, -1, -1, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, -1, -1, -1, -1, 304, 305, 306,
+ 297, 298, 299, 300, -1, -1, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ -1, -1, -1, -1, -1, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, -1, -1, 334, 335, 336,
- 337, -1, -1, 340, 341, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 352, 353, 354, 355, 356,
+ 337, -1, -1, 340, 341, -1, 343, -1, -1, -1,
+ 347, -1, -1, -1, -1, 352, 353, 354, 355, 356,
-1, -1, -1, 360, 361, 362, 363, 257, 258, 259,
- 260, -1, -1, 263, 264, 265, 266, 267, 268, 269,
+ 260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
-1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, -1, -1, 303, 304, 305, 306, 307, 308, 309,
+ -1, -1, -1, -1, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
-1, -1, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, -1, 334, 335, 336, 337, -1, -1,
- 340, 341, -1, 343, -1, -1, 346, 347, 348, 349,
+ 340, 341, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 352, 353, 354, 355, 356, -1, -1, -1,
360, 361, 362, 363, -1, 33, -1, -1, -1, -1,
-1, -1, 40, 41, -1, -1, 44, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 59, -1, -1, 62, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
@@ -1971,9 +2083,9 @@ short yycheck[] = { 24,
-1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
- 41, -1, 43, 44, 45, -1, -1, -1, -1, -1,
+ 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
- -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
@@ -1982,85 +2094,82 @@ short yycheck[] = { 24,
-1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
- 258, 259, 260, -1, -1, 263, 264, 265, 266, 267,
+ 258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
-1, -1, -1, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, -1, -1, 303, 304, 305, 306, 307,
+ 298, 299, -1, -1, -1, -1, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
-1, -1, -1, -1, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, -1, -1, 334, 335, 336, 337,
- -1, -1, 340, 341, -1, 343, -1, -1, 346, 347,
- 348, 349, -1, -1, 352, 353, 354, 355, 356, -1,
+ 40, -1, 340, 341, -1, -1, 46, -1, -1, -1,
+ -1, -1, -1, -1, 352, 353, 354, 355, 356, -1,
-1, -1, 360, 361, 362, 363, 257, 258, 259, 260,
-1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, -1,
-1, -1, -1, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
- 331, 0, -1, 334, 335, 336, 337, -1, -1, 340,
- 341, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 352, 353, 354, 355, 356, -1, -1, -1, 360,
- 361, 362, 363, -1, 33, -1, -1, -1, -1, -1,
- -1, 40, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
+ 311, 312, 313, 314, 315, 316, 0, -1, -1, -1,
+ -1, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, -1, -1, 334, 335, 336, 337, -1, -1, 340,
+ 341, -1, -1, -1, -1, -1, -1, -1, -1, 33,
+ -1, 352, 353, 354, 355, 356, 40, -1, -1, 360,
+ 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 33, -1, -1, -1, -1, -1, -1, 40, 41,
- -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
+ -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 125, -1, -1, -1, -1, -1, 257, -1, -1,
+ -1, -1, -1, 263, -1, -1, 33, -1, 268, -1,
+ -1, 271, 272, 40, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
+ -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
+ -1, -1, -1, -1, 334, 335, 336, 337, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 352, 353, 354, 355, 356, -1, 125, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
- 259, 260, -1, -1, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
- -1, -1, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, -1, -1, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
- -1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
- 329, 330, 331, -1, -1, 334, 335, 336, 337, -1,
- -1, 340, 341, -1, 343, -1, -1, 346, 347, -1,
- -1, -1, -1, 352, 353, 354, 355, 356, -1, -1,
- -1, 360, 361, 362, 363, 257, 258, 259, 260, -1,
- -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, 300, -1,
- -1, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
- 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
- 0, -1, 334, 335, 336, 337, -1, -1, 340, 341,
- -1, 343, -1, -1, -1, 347, -1, -1, -1, -1,
- 352, 353, 354, 355, 356, -1, -1, -1, 360, 361,
- 362, 363, -1, 33, -1, -1, -1, -1, -1, -1,
- 40, 41, -1, 43, 44, 45, -1, -1, -1, -1,
+ -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
+ -1, 265, 266, 267, 268, 269, 270, 271, 272, -1,
+ -1, -1, -1, -1, -1, -1, -1, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, -1, -1, -1, -1,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, -1, -1, 91, -1, -1, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, -1, -1,
+ 334, 335, 336, 337, -1, -1, 340, 341, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 123, 352, 353,
+ 354, 355, 356, -1, -1, -1, 360, 361, 362, 363,
+ 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
+ 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
+ -1, -1, -1, -1, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, -1, -1, -1, -1, -1, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 0, -1, -1, -1, -1, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, -1, -1, 334, 335, 336,
+ 337, -1, -1, 340, 341, -1, -1, -1, -1, -1,
+ -1, -1, -1, 33, -1, 352, 353, 354, 355, 356,
+ 40, -1, -1, 360, 361, 362, 363, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- -1, -1, 62, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 257, 258, -1, 260, 261, -1, -1, -1, -1,
+ -1, -1, -1, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, -1, -1, -1, -1, -1,
-1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 332, -1, -1, -1,
+ 33, -1, 338, 339, -1, -1, 342, 40, 344, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 33, -1, -1, -1, -1, -1, -1, 40, 41, -1,
- -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, -1, -1, 62,
+ -1, 357, -1, 359, -1, -1, 59, 363, 364, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2074,396 +2183,299 @@ short yycheck[] = { 24,
270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
-1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- -1, -1, -1, -1, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
+ -1, -1, -1, -1, -1, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, 91,
-1, -1, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, -1, -1, 334, 335, 336, 337, -1, -1,
340, 341, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 352, 353, 354, 355, 356, -1, -1, -1,
+ -1, 123, 352, 353, 354, 355, 356, -1, -1, -1,
360, 361, 362, 363, 257, 258, 259, 260, -1, -1,
263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
-1, -1, -1, -1, -1, -1, -1, -1, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, -1, -1, -1,
- -1, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, -1, -1, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
+ -1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 0, -1, -1, -1, -1, 322,
+ 323, 324, 325, 326, 327, 328, 329, 330, 331, -1,
-1, 334, 335, 336, 337, -1, -1, 340, 341, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 352,
- 353, 354, 355, 356, -1, -1, -1, 360, 361, 362,
- 363, -1, 33, -1, -1, -1, -1, -1, -1, 40,
- 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
- -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
- -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
- -1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
- 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, -1,
- -1, -1, -1, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, -1, -1, 91, -1,
- -1, 322, 323, 324, 325, 326, 327, 328, 329, 330,
- 331, -1, -1, 334, 335, 336, 337, -1, -1, 340,
- 341, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 123, 352, 353, 354, 355, 356, -1, -1, -1, 360,
- 361, 362, 363, 257, 258, 259, 260, -1, -1, 263,
- -1, 265, 266, 267, 268, 269, 270, 271, 272, -1,
- -1, -1, -1, -1, -1, -1, -1, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, -1, -1, -1, -1,
- -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, 0, -1, -1, -1, -1, 322, 323,
- 324, 325, 326, 327, 328, 329, 330, 331, -1, -1,
- 334, 335, 336, 337, -1, -1, 340, 341, -1, -1,
- -1, -1, -1, -1, -1, -1, 33, -1, 352, 353,
- 354, 355, 356, 40, -1, -1, 360, 361, 362, 363,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 59, -1, 257, 258, -1, 260, 261, -1,
- -1, -1, -1, -1, -1, -1, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, -1, -1,
- -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 332,
- -1, -1, -1, 33, -1, 338, 339, -1, -1, 342,
- 40, 344, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 357, -1, 359, -1, -1, 59,
- 363, 364, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 33, -1, 352,
+ 353, 354, 355, 356, 40, -1, -1, 360, 361, 362,
+ 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, -1, 257, 258, -1, 260, 261,
+ -1, -1, -1, -1, -1, -1, -1, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
+ 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
- 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
- -1, -1, -1, -1, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, -1, -1, -1, -1, -1, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- -1, -1, 91, -1, -1, 322, 323, 324, 325, 326,
- 327, 328, 329, 330, 331, -1, -1, 334, 335, 336,
- 337, -1, -1, 340, 341, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 123, 352, 353, 354, 355, 356,
- -1, -1, -1, 360, 361, 362, 363, 257, 258, 259,
- 260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
- -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- -1, -1, -1, -1, -1, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, 0, -1, -1,
- -1, -1, 322, 323, 324, 325, 326, 327, 328, 329,
- 330, 331, -1, -1, 334, 335, 336, 337, -1, -1,
- 340, 341, -1, -1, -1, -1, -1, -1, -1, -1,
- 33, -1, 352, 353, 354, 355, 356, 40, -1, -1,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, -1, 257, 258,
- -1, 260, 261, -1, -1, -1, -1, -1, -1, -1,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, -1, -1, -1, -1, -1, -1, -1, -1,
- 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
+ 332, -1, -1, -1, 33, -1, 338, 339, -1, -1,
+ 342, 40, 344, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 357, -1, 359, -1, -1,
+ 59, 363, 364, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 332, -1, -1, -1, 33, -1, 338,
- 339, -1, -1, 342, 40, 344, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 357, -1,
- 359, -1, -1, 59, 363, 364, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
+ -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 257, 258, 259, 260, -1, -1,
- 263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
- -1, -1, -1, -1, -1, -1, -1, -1, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, -1, -1, -1,
- -1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, -1, -1, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 331, -1,
- -1, 334, 335, 336, 337, -1, -1, 340, 341, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 352,
- 353, 354, 355, 356, -1, -1, -1, 360, 361, 362,
- 363, 257, 258, 259, 260, -1, -1, 263, -1, 265,
+ -1, 257, 258, 259, 260, -1, -1, 263, -1, 265,
266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
-1, -1, -1, -1, -1, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, -1, -1, -1, -1, -1, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, 0, -1, -1, -1, -1, 322, 323, 324, 325,
+ 316, -1, -1, -1, -1, -1, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, -1, -1, 334, 335,
336, 337, -1, -1, 340, 341, -1, -1, -1, -1,
- -1, -1, -1, -1, 33, -1, 352, 353, 354, 355,
- 356, 40, -1, -1, 360, 361, 362, 363, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 352, 353, 354, 355,
+ 356, -1, -1, -1, 360, 361, 362, 363, 257, 258,
+ 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
+ 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
+ -1, -1, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, -1, -1, -1, -1, -1, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 0, -1,
+ -1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, -1, -1, 334, 335, 336, 337, -1,
+ -1, 340, 341, -1, -1, -1, -1, -1, -1, -1,
+ -1, 33, -1, 352, 353, 354, 355, 356, 40, -1,
+ -1, 360, 361, 362, 363, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
+ -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
+ -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
+ -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
+ -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
+ 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
- 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
- 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
- -1, -1, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, -1, -1, -1, -1, -1, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
- -1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
- 329, 330, 331, -1, -1, 334, 335, 336, 337, -1,
- -1, 340, 341, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 352, 353, 354, 355, 356, -1, -1,
- -1, 360, 361, 362, 363, 257, 258, 259, 260, -1,
+ -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
-1, 263, -1, 265, 266, 267, 268, 269, 270, 271,
272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, -1, -1,
-1, -1, -1, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, 0, -1, -1, -1, -1,
+ 312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
-1, -1, 334, 335, 336, 337, -1, -1, 340, 341,
- -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
- 352, 353, 354, 355, 356, 40, -1, -1, 360, 361,
- 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
- -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 33, -1, -1, -1, -1,
- -1, -1, 40, -1, -1, -1, -1, -1, -1, -1,
+ 352, 353, 354, 355, 356, -1, -1, -1, 360, 361,
+ 362, 363, 257, 258, 259, 260, -1, -1, 263, -1,
+ 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
+ -1, -1, -1, -1, -1, -1, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, -1, -1, -1, -1, -1,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 0, -1, -1, -1, -1, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, -1, -1, 334,
+ 335, 336, 337, -1, -1, 340, 341, -1, -1, -1,
+ -1, -1, -1, -1, -1, 33, -1, 352, 353, 354,
+ 355, 356, 40, -1, -1, 360, 361, 362, 363, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, 258, 259, 260, -1, -1, 263, -1,
- 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
- -1, -1, -1, -1, -1, -1, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, -1, -1, -1, -1, -1,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, -1, -1, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, -1, -1, 334,
- 335, 336, 337, -1, -1, 340, 341, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 352, 353, 354,
- 355, 356, -1, -1, -1, 360, 361, 362, 363, 257,
+ -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
-1, -1, -1, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, -1, -1, -1, -1, -1, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, 0,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
-1, -1, -1, -1, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, -1, -1, 334, 335, 336, 337,
-1, -1, 340, 341, -1, -1, -1, -1, -1, -1,
- -1, -1, 33, -1, 352, 353, 354, 355, 356, 40,
- -1, -1, 360, 361, 362, 363, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
+ -1, -1, -1, -1, 352, 353, 354, 355, 356, -1,
+ -1, -1, 360, 361, 362, 363, 257, 258, 259, 260,
+ -1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
+ 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, -1,
+ -1, -1, -1, -1, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 0, -1, -1, -1,
+ -1, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, -1, -1, 334, 335, 336, 337, -1, -1, 340,
+ 341, -1, -1, -1, -1, -1, -1, -1, -1, 33,
+ -1, 352, 353, 354, 355, 356, 40, -1, -1, 360,
+ 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
+ -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
+ -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 33, -1, -1, -1,
+ -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
- -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
+ -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
- -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
- -1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
- 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, -1,
- -1, -1, -1, -1, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, -1, -1, -1, -1,
- -1, 322, 323, 324, 325, 326, 327, 328, 329, 330,
- 331, -1, -1, 334, 335, 336, 337, -1, -1, 340,
- 341, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 352, 353, 354, 355, 356, -1, -1, -1, 360,
- 361, 362, 363, 257, 258, 259, 260, -1, -1, 263,
+ -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
-1, 265, 266, 267, 268, 269, 270, 271, 272, -1,
-1, -1, -1, -1, -1, -1, -1, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, -1, -1, -1, -1,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, 0, -1, -1, -1, -1, 322, 323,
+ 314, 315, 316, -1, -1, -1, -1, -1, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, -1, -1,
334, 335, 336, 337, -1, -1, 340, 341, -1, -1,
- -1, -1, -1, -1, -1, -1, 33, -1, 352, 353,
- 354, 355, 356, 40, -1, -1, 360, 361, 362, 363,
+ -1, -1, -1, -1, -1, -1, -1, -1, 352, 353,
+ 354, 355, 356, -1, -1, -1, 360, 361, 362, 363,
+ 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
+ 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
+ -1, -1, -1, -1, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, -1, -1, -1, -1, -1, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 0, -1, -1, -1, -1, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, -1, -1, 334, 335, 336,
+ 337, -1, -1, 340, 341, -1, -1, -1, -1, -1,
+ -1, -1, -1, 33, -1, 352, 353, 354, 355, 356,
+ 40, -1, -1, 360, 361, 362, 363, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
+ -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
+ -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 33, -1, -1, -1, -1, -1, -1,
- 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
+ 33, -1, -1, -1, -1, -1, -1, 40, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
- 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
- -1, -1, -1, -1, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, -1, -1, -1, -1, -1, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- -1, -1, -1, -1, -1, 322, 323, 324, 325, 326,
- 327, 328, 329, 330, 331, -1, -1, 334, 335, 336,
- 337, -1, -1, 340, 341, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 352, 353, 354, 355, 356,
- -1, -1, -1, 360, 361, 362, 363, 257, 258, 259,
+ -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
-1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
-1, -1, -1, -1, -1, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, 0, -1, -1,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
-1, -1, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, -1, -1, 334, 335, 336, 337, -1, -1,
340, 341, -1, -1, -1, -1, -1, -1, -1, -1,
- 33, -1, 352, 353, 354, 355, 356, 40, -1, -1,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
- -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 257, 258, 259, 260, -1, -1,
+ -1, -1, 352, 353, 354, 355, 356, -1, -1, -1,
+ 360, 361, 362, 363, 257, 258, 259, 260, -1, -1,
263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
-1, -1, -1, -1, -1, -1, -1, -1, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, -1, -1, -1,
-1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, -1, -1, 322,
+ 313, 314, 315, 316, 0, -1, -1, -1, -1, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, -1,
-1, 334, 335, 336, 337, -1, -1, 340, 341, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 352,
- 353, 354, 355, 356, -1, -1, -1, 360, 361, 362,
- 363, 257, 258, 259, 260, -1, -1, 263, -1, 265,
- 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
- -1, -1, -1, -1, -1, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, -1, -1, -1, -1, -1, 305,
- 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, 0, -1, -1, -1, -1, 322, 323, 324, 325,
- 326, 327, 328, 329, 330, 331, -1, -1, 334, 335,
- 336, 337, -1, -1, 340, 341, -1, -1, -1, -1,
- -1, -1, -1, -1, 33, -1, 352, 353, 354, 355,
- 356, 40, -1, -1, 360, 361, 362, 363, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 33, -1, 352,
+ 353, 354, 355, 356, 40, -1, -1, 360, 361, 362,
+ 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
+ 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
+ -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
+ -1, 40, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
+ 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
+ -1, 257, 258, 259, 260, -1, -1, 263, -1, 265,
+ 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
+ -1, -1, -1, -1, -1, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, -1, -1, -1, -1, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, -1, -1, -1, -1, -1, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, -1, -1, 334, 335,
+ 336, 337, -1, -1, 340, 341, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 352, 353, 354, 355,
+ 356, -1, -1, -1, 360, 361, 362, 363, 257, 258,
259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
-1, -1, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, -1, -1, -1, -1, -1, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
+ 309, 310, 311, 312, 313, 314, 315, 316, 0, -1,
-1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, -1, -1, 334, 335, 336, 337, -1,
-1, 340, 341, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 352, 353, 354, 355, 356, -1, -1,
- -1, 360, 361, 362, 363, 257, 258, 259, 260, -1,
+ -1, 33, -1, 352, 353, 354, 355, 356, 40, -1,
+ -1, 360, 361, 362, 363, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
+ -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
+ -1, -1, -1, 37, -1, 0, -1, 41, 42, 43,
+ 44, 45, -1, 47, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 125, -1, 59, 60, -1, 62, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
+ -1, -1, -1, -1, -1, 40, 41, -1, 43, 44,
+ 45, -1, -1, -1, -1, -1, -1, -1, -1, 93,
+ -1, -1, -1, -1, 59, -1, -1, 62, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 125, -1, -1, -1, -1, -1, -1, 93, -1,
+ -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
-1, 263, -1, 265, 266, 267, 268, 269, 270, 271,
272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
@@ -2471,337 +2483,338 @@ short yycheck[] = { 24,
-1, -1, -1, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
- 0, -1, 334, 335, 336, 337, -1, -1, 340, 341,
+ 264, -1, 334, 335, 336, 337, -1, -1, 340, 341,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 352, 353, 354, 355, 356, -1, -1, -1, 360, 361,
- 362, 363, -1, 33, -1, -1, -1, -1, -1, -1,
- 40, 41, -1, 43, 44, 45, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- -1, -1, 62, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
- -1, -1, -1, -1, -1, 40, 41, -1, -1, 44,
- -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
- -1, -1, -1, -1, 59, 60, -1, 62, -1, -1,
+ 352, 353, 354, 355, 356, -1, 290, -1, 360, 361,
+ 362, 363, 257, 258, 259, 260, 300, -1, 263, 303,
+ 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
+ -1, -1, -1, -1, -1, -1, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, -1, -1, -1, -1, 304,
+ 305, 0, 346, 347, 348, 349, 350, 351, -1, -1,
+ -1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, -1, -1, -1,
+ -1, -1, -1, -1, 33, 340, 341, -1, -1, -1,
+ -1, 40, 41, -1, 0, 44, 45, -1, -1, -1,
+ -1, -1, -1, -1, -1, 360, 361, 362, 363, -1,
+ 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
+ -1, -1, -1, -1, 40, 41, -1, -1, 44, -1,
+ -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
+ -1, -1, -1, 59, 60, -1, 62, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
- -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
- 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, -1, 33, -1, -1, -1, -1,
- -1, -1, 40, -1, -1, -1, -1, 45, -1, -1,
+ -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
+ 96, -1, -1, -1, -1, -1, -1, -1, 0, -1,
+ -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 59, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- 260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, -1, 93, -1, -1, 96, 125,
- -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- -1, -1, -1, -1, 304, 305, -1, 125, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
- 330, 331, 257, 258, 259, 260, -1, -1, 263, -1,
- 340, 341, -1, 268, 33, -1, 271, 272, -1, -1,
- -1, 40, 41, -1, -1, -1, 45, -1, -1, -1,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 33, -1, -1, -1, -1, 41,
+ -1, 40, 44, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
+ 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, -1, -1, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 96, -1, 334,
- 335, 336, 337, -1, -1, -1, -1, -1, 264, -1,
- -1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, -1, -1, -1, -1, -1, -1, 363, 257,
- 258, 259, 260, -1, 290, 263, -1, 265, 266, 267,
- 268, 269, 270, -1, 300, 0, -1, 303, -1, -1,
- -1, -1, -1, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, -1, -1, -1, -1, -1, 305, 33, -1,
- -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
- 346, 347, -1, -1, 322, 323, 324, 325, 326, 327,
- 328, 329, 330, 331, 59, -1, -1, -1, -1, -1,
- -1, -1, 340, 341, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 360, 361, 362, 363, -1, -1, 93, -1,
- -1, 96, -1, -1, -1, -1, 0, -1, -1, -1,
+ -1, 93, -1, -1, 93, -1, -1, 96, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
- 259, 260, -1, -1, 263, -1, -1, -1, -1, 268,
- 125, -1, 271, 272, -1, -1, -1, -1, -1, 33,
- -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 59, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
+ 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
+ 269, 270, -1, 125, -1, -1, 125, -1, -1, -1,
+ -1, -1, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, 257, 258, 259, 260, -1, 305, 263, -1, -1,
+ -1, -1, 268, -1, -1, 271, 272, -1, -1, -1,
-1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
- 329, 330, 331, -1, -1, 334, 335, 336, 337, 93,
- -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 0, 352, 353, 354, 355, 356, -1, -1,
+ 329, 330, 331, -1, -1, -1, -1, -1, -1, -1,
+ -1, 340, 341, 0, -1, -1, -1, -1, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 360, 361, 362, 363, -1, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 33, -1, 334, 335,
+ 336, 337, -1, 40, -1, -1, -1, -1, -1, -1,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, -1, 59, -1, -1, -1, -1, 363, 257, 258,
+ 259, 260, 264, -1, 263, -1, -1, -1, -1, 268,
+ -1, -1, 271, 272, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 93, -1, 290, 96,
+ -1, -1, 0, -1, -1, -1, -1, -1, 300, -1,
+ -1, 303, -1, -1, -1, -1, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 125, -1,
+ -1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, -1, -1, 334, 335, 336, 337, -1,
+ -1, -1, -1, -1, -1, 347, -1, -1, -1, -1,
+ -1, 59, -1, 352, 353, 354, 355, 356, -1, -1,
-1, -1, -1, -1, 363, -1, -1, -1, -1, -1,
- -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, 258, 259, 260, -1, -1, 263, -1,
- -1, 59, -1, 268, -1, -1, 271, 272, -1, -1,
+ 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, -1, -1, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 125, -1, 334,
- 335, 336, 337, -1, -1, 0, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 352, 353, 354,
- 355, 356, -1, 257, 258, 259, 260, -1, 363, 263,
- -1, -1, -1, -1, 268, -1, -1, 271, 272, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 257, 258, 259, 260, -1, -1, 263, -1, -1, 59,
+ -1, 268, -1, -1, 271, 272, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
- -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, -1, -1, -1, -1, -1, 322, 323,
- 324, 325, 326, 327, 328, 329, 330, 331, 93, -1,
- 334, 335, 336, 337, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, -1, -1, 352, 353,
- 354, 355, 356, -1, -1, -1, -1, -1, -1, 363,
- 125, -1, 260, -1, -1, -1, -1, 265, 266, 267,
- -1, 269, 270, 271, 272, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, -1, -1, -1, -1, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 0, -1, -1, -1, -1, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 125, -1, 334, 335, 336,
+ 337, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 352, 353, 354, 355, 356,
+ 0, -1, 260, -1, -1, -1, 363, 265, 266, 267,
+ -1, 269, 270, 271, 272, -1, -1, -1, -1, 59,
-1, -1, -1, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 59, -1, -1, -1, -1, -1, -1,
+ 298, 299, 300, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, -1, -1, -1, -1, -1, 59,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, 340, 341, -1, -1, -1, -1, -1, 0,
+ -1, -1, 340, 341, -1, 125, -1, -1, -1, -1,
+ -1, -1, -1, 93, -1, -1, -1, -1, -1, 0,
+ -1, -1, 360, 361, 362, 363, -1, -1, -1, -1,
+ 260, -1, -1, -1, -1, 265, 266, 267, -1, 269,
+ 270, 271, 272, -1, -1, 125, -1, -1, -1, -1,
+ -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, -1, -1, -1, -1, -1, -1, -1, 59, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 360, 361, 362, 363, -1, -1, -1, 125,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 260, -1, -1, -1, -1,
- 265, 266, 267, -1, 269, 270, 271, 272, 59, -1,
- -1, -1, -1, 91, -1, -1, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, -1, -1, -1, -1,
- -1, -1, 93, -1, -1, 123, -1, -1, -1, -1,
- -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 125, 340, 341, -1, -1, -1,
+ 340, 341, 93, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
+ 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
+ 260, -1, -1, -1, 125, 265, 266, 267, -1, 269,
+ 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
+ -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 260, -1, -1, -1, -1, 265, 266, 267, 59, 269,
+ 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
+ -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 340, 341, 93, -1, -1, -1, -1, -1, 0, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, 260, -1, -1, -1, -1, 265,
- 266, 267, 59, 269, 270, 271, 272, -1, -1, -1,
- -1, -1, -1, -1, -1, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, -1, -1, 93, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 125, 257,
- 258, -1, 260, 261, 340, 341, -1, -1, -1, -1,
- -1, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, -1, 360, 361, 362, 363, -1, 260,
- -1, -1, -1, -1, 265, 266, 267, 59, 269, 270,
+ 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
+ 340, 341, -1, -1, -1, -1, -1, -1, 0, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 260,
+ 360, 361, 362, 363, 265, 266, 267, 59, 269, 270,
271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, -1,
- -1, 93, -1, -1, 332, -1, -1, -1, -1, -1,
- 338, 339, 0, -1, 342, -1, 344, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 357,
- -1, 359, -1, 125, -1, 363, 364, -1, -1, 340,
- 341, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 360,
- 361, 362, 363, 260, -1, -1, -1, -1, 265, 266,
- 267, 59, 269, 270, 271, 272, -1, -1, -1, -1,
- -1, -1, -1, -1, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, -1, -1, 93, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
- -1, -1, -1, 340, 341, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 33, -1, -1, -1, -1,
- -1, -1, 40, 360, 361, 362, 363, -1, 260, -1,
- -1, -1, -1, 265, 266, 267, -1, 269, 270, 271,
- 272, 59, -1, -1, -1, -1, -1, -1, -1, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, -1, -1,
- -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
- -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 125, 340, 341,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 43, -1, 45, 46, 360, 361,
- 362, 363, 260, -1, -1, -1, -1, 265, 266, 267,
- 59, 269, 270, 271, 272, -1, -1, -1, -1, -1,
- -1, -1, -1, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, -1, -1, 93, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
- -1, -1, 340, 341, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 360, 361, 362, 363, -1, -1, -1, 257,
- 258, 259, -1, -1, -1, 263, -1, 265, 266, 267,
- 268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
- -1, -1, -1, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, -1, -1, -1, -1, -1, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
- -1, -1, -1, -1, 322, 323, 324, 325, 326, 327,
- 328, 329, 330, 331, 0, -1, 334, 335, 336, 337,
- -1, -1, 340, 341, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 352, 353, 354, 355, 356, -1,
- -1, -1, 360, 361, 362, -1, -1, -1, -1, -1,
- -1, 37, 271, 272, -1, 41, 42, 43, 44, 45,
- -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, 60, -1, 62, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, 33, -1, -1, 334, 335, 336, 337, 40,
- -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, 352, 353, 354, 355, 356, -1, 125,
+ -1, 93, -1, -1, -1, -1, -1, 59, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 125, -1, -1, -1, -1, -1, 340,
+ 341, 93, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 360,
+ 361, 362, 363, -1, -1, -1, -1, -1, -1, 260,
+ -1, -1, -1, 125, 265, 266, 267, -1, 269, 270,
+ 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 91, -1, -1, -1, -1, 96, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 123, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
- -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 340,
+ 341, -1, 59, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 260, 360,
+ 361, 362, 363, 265, 266, 267, -1, 269, 270, 271,
+ 272, -1, -1, -1, 91, -1, -1, -1, -1, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 260, -1,
+ -1, -1, -1, 265, 266, 267, 123, 269, 270, 271,
+ 272, 0, -1, -1, -1, -1, -1, -1, -1, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 340, 341,
+ -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
+ -1, 40, -1, -1, -1, -1, -1, -1, 360, 361,
+ 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
+ 59, -1, 0, -1, -1, -1, -1, -1, 340, 341,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 360, 361,
+ 362, 363, -1, -1, 93, -1, -1, 96, -1, -1,
+ -1, -1, -1, -1, -1, 43, -1, 45, 46, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 264, 91,
- -1, -1, -1, -1, 96, -1, -1, -1, -1, -1,
+ -1, 59, -1, -1, -1, -1, 125, -1, -1, -1,
+ 257, 258, -1, 260, 261, -1, -1, -1, -1, -1,
+ -1, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, -1, 93, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 33, -1, -1, -1, -1,
+ -1, -1, 40, -1, -1, -1, -1, 45, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 290, -1, -1, -1, -1, -1,
- -1, 123, -1, -1, 300, -1, -1, 303, -1, -1,
+ -1, -1, -1, -1, -1, 332, -1, -1, -1, -1,
+ -1, 338, 339, -1, -1, 342, -1, 344, -1, -1,
+ -1, -1, -1, 91, -1, -1, -1, -1, 96, -1,
+ 357, -1, 359, -1, -1, -1, 363, 364, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 33, -1, 257, 258, 259, 260,
- 261, 40, 263, -1, -1, -1, 45, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 346, 347, 348, 349, 350, 351, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, -1, 96, -1, -1,
- -1, 322, 323, 324, 325, 326, 327, 328, 329, 330,
- 331, 332, -1, 334, 335, 336, 337, 338, 339, -1,
- -1, 342, -1, 344, -1, -1, -1, -1, -1, -1,
- -1, 352, 353, 354, 355, 356, 357, -1, 359, -1,
- -1, -1, 363, 364, -1, 257, 258, 259, 260, 261,
- -1, 263, -1, -1, -1, -1, 268, 269, 270, 271,
- 272, 273, 274, 275, 276, 277, 278, 279, 280, -1,
- 33, -1, -1, -1, -1, -1, -1, 40, -1, -1,
- -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
- 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
- 332, -1, 334, 335, 336, 337, 338, 339, -1, -1,
- 342, -1, 344, 96, -1, -1, -1, -1, -1, -1,
- 352, 353, 354, 355, 356, 357, -1, 359, -1, -1,
- -1, 363, 364, -1, -1, -1, -1, -1, 257, 258,
- 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
+ -1, -1, -1, -1, -1, 123, -1, -1, 257, 258,
+ 259, -1, -1, -1, 263, -1, 265, 266, 267, 268,
269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
-1, -1, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, -1, -1, -1, -1, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
-1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
- 329, 330, 331, -1, -1, 334, 335, 336, 337, 33,
- -1, 340, 341, -1, -1, -1, 40, -1, -1, -1,
- -1, 45, -1, 352, 353, 354, 355, 356, -1, -1,
- -1, 360, 361, 362, 363, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 329, 330, 331, 271, 272, 334, 335, 336, 337, -1,
+ -1, 340, 341, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 352, 353, 354, 355, 356, -1, -1,
+ -1, 360, 361, 362, -1, -1, -1, -1, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, -1, -1, -1, -1, -1, 257,
+ 258, 259, 260, 261, -1, 263, 334, 335, 336, 337,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, -1, 352, 353, 354, 355, 356, 33,
+ -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
+ -1, 45, -1, -1, -1, -1, -1, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
+ -1, -1, -1, -1, 322, 323, 324, 325, 326, 327,
+ 328, 329, 330, 331, 332, -1, 334, 335, 336, 337,
+ 338, 339, -1, -1, 342, -1, 344, 91, -1, -1,
+ -1, -1, 96, -1, 352, 353, 354, 355, 356, 357,
+ -1, 359, -1, -1, -1, 363, 364, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 257, 258, 259, 260, -1, -1,
- 263, -1, 96, -1, -1, 268, -1, -1, 271, 272,
+ -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
+ -1, -1, -1, -1, 40, -1, -1, -1, -1, 45,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, -1, -1, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 331, 33,
- -1, 334, 335, 336, 337, -1, 40, -1, -1, -1,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, 352,
- 353, 354, 355, 356, -1, -1, -1, -1, -1, -1,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
+ 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
- -1, -1, -1, -1, 268, -1, 33, 271, 272, -1,
- -1, -1, -1, 40, -1, -1, -1, -1, 45, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
+ -1, -1, -1, -1, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, -1, 33, -1,
+ -1, -1, -1, -1, -1, 40, 41, -1, -1, -1,
+ 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, -1, -1, -1, -1, 322, 323,
- 324, 325, 326, 327, 328, 329, 330, 331, -1, 96,
- 334, 335, 336, 337, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 352, 353,
- 354, 355, 356, -1, -1, -1, -1, -1, -1, 363,
- -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
- -1, -1, -1, -1, 40, -1, 42, -1, -1, 45,
- -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
- -1, -1, -1, -1, 268, -1, -1, 271, 272, -1,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, -1,
+ 334, 335, 336, 337, 338, 339, -1, -1, 342, -1,
+ 344, 96, -1, -1, -1, -1, -1, -1, 352, 353,
+ 354, 355, 356, 357, -1, 359, -1, -1, -1, 363,
+ 364, 257, 258, 259, 260, -1, -1, 263, -1, 265,
+ 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
+ -1, -1, -1, -1, -1, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, -1, -1, -1, -1, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, -1, -1, -1, -1, -1, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, 33, -1, 334, 335,
+ 336, 337, -1, 40, 340, 341, -1, -1, 45, -1,
+ -1, -1, -1, -1, -1, -1, 352, 353, 354, 355,
+ 356, -1, -1, -1, 360, 361, 362, 363, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 96,
+ -1, -1, 257, 258, 259, 260, -1, -1, 263, -1,
+ -1, -1, -1, 268, -1, -1, 271, 272, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 96, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, -1, -1, -1, -1, -1, 322, 323,
- 324, 325, 326, 327, 328, 329, 330, 331, -1, -1,
- 334, 335, 336, 337, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 352, 353,
- 354, 355, 356, -1, -1, -1, -1, 33, -1, 363,
- 257, 258, 259, 260, 40, -1, 263, -1, -1, 45,
- -1, 268, -1, -1, 271, 272, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, -1, -1, -1, -1, -1, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 33, -1, 334,
+ 335, 336, 337, -1, 40, -1, -1, -1, -1, 45,
+ -1, -1, -1, -1, -1, -1, -1, 352, 353, 354,
+ 355, 356, -1, -1, -1, -1, -1, -1, 363, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 257, 258, 259, 260, -1, -1, 263, -1, -1, -1,
+ -1, 268, -1, -1, 271, 272, -1, -1, 33, -1,
+ -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
+ 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 96, -1, -1, -1, -1, 322, 323, 324, 325, 326,
+ -1, -1, -1, -1, -1, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, -1, -1, 334, 335, 336,
- 337, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 337, 96, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 352, 353, 354, 355, 356,
- -1, 257, 258, 259, -1, -1, 363, 263, -1, -1,
- -1, -1, 268, 33, -1, 271, 272, -1, -1, -1,
- 40, -1, -1, -1, -1, 45, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 363, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
+ -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
+ -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 257, 258, 259, 260, -1, -1, 263, -1, -1,
+ -1, -1, 268, -1, -1, 271, 272, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 305,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 96, -1, -1, -1, -1, -1, -1, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, -1, -1, -1, -1, 322, 323, 324, 325,
- 326, 327, 328, 329, 330, 331, 96, -1, 334, 335,
- 336, 337, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 352, 353, 354, 355,
- 356, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
- -1, 257, 258, 259, -1, 40, -1, 263, -1, -1,
- 45, -1, 268, -1, -1, 271, 272, -1, -1, -1,
+ 326, 327, 328, 329, 330, 331, -1, -1, 334, 335,
+ 336, 337, 33, -1, -1, -1, -1, -1, -1, 40,
+ -1, 42, -1, -1, 45, -1, 352, 353, 354, 355,
+ 356, -1, 257, 258, 259, 260, -1, 363, 263, -1,
+ -1, -1, -1, 268, -1, -1, 271, 272, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 305,
- 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, 96, -1, -1, -1, -1, 322, 323, 324, 325,
- 326, 327, 328, 329, 330, 331, -1, -1, 334, 335,
- 336, 337, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 352, 353, 354, 355,
- 356, 33, -1, -1, -1, -1, -1, -1, 40, -1,
- -1, -1, -1, 45, -1, -1, -1, 257, 258, 259,
+ -1, -1, -1, -1, -1, 96, -1, -1, -1, -1,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, -1, -1, -1, -1, -1, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, -1, -1, 334,
+ 335, 336, 337, 33, -1, -1, -1, -1, -1, -1,
+ 40, -1, -1, -1, -1, 45, -1, 352, 353, 354,
+ 355, 356, -1, 257, 258, 259, 260, -1, 363, 263,
+ -1, -1, -1, -1, 268, -1, -1, 271, 272, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 96, -1, -1, -1,
+ -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, -1, -1, -1, -1, -1, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, -1, -1,
+ 334, 335, 336, 337, 33, -1, -1, -1, -1, -1,
+ -1, 40, -1, -1, -1, -1, 45, -1, 352, 353,
+ 354, 355, 356, -1, -1, -1, 257, 258, 259, 363,
+ -1, -1, 263, -1, -1, -1, -1, 268, -1, -1,
+ 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 96, -1, -1,
+ -1, -1, -1, -1, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, -1, -1, -1, -1,
+ -1, 322, 323, 324, 325, 326, 327, 328, 329, 330,
+ 331, -1, -1, 334, 335, 336, 337, 33, -1, -1,
+ -1, -1, -1, -1, 40, -1, -1, -1, -1, 45,
+ -1, 352, 353, 354, 355, 356, -1, 257, 258, 259,
-1, -1, -1, 263, -1, -1, -1, -1, 268, -1,
-1, 271, 272, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 96, 305, 306, 307, 308, 309,
+ 96, -1, -1, -1, -1, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
-1, -1, 322, 323, 324, 325, 326, 327, 328, 329,
- 330, 331, -1, -1, 334, 335, 336, 337, -1, -1,
+ 330, 331, -1, -1, 334, 335, 336, 337, 33, -1,
+ -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
+ 45, -1, 352, 353, 354, 355, 356, -1, 257, 258,
+ 259, -1, -1, -1, 263, -1, -1, -1, -1, 268,
+ -1, -1, 271, 272, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 352, 353, 354, 355, 356, -1, -1, -1,
- -1, -1, 257, 258, 259, -1, -1, -1, 263, -1,
- -1, -1, -1, 268, -1, -1, 271, 272, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 96, -1, -1, -1, -1, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
+ -1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, -1, -1, 334, 335, 336, 337, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 352, 353, 354, 355, 356, -1, -1,
+ -1, 257, 258, 259, -1, -1, -1, 263, -1, -1,
+ -1, -1, 268, -1, -1, 271, 272, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, -1, -1, -1, -1, -1, 322, 323, 324, 325,
+ 326, 327, 328, 329, 330, 331, -1, -1, 334, 335,
+ 336, 337, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 352, 353, 354, 355,
+ 356, -1, 257, 258, 259, -1, -1, -1, 263, -1,
+ -1, -1, -1, 268, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2810,17 +2823,7 @@ short yycheck[] = { 24,
325, 326, 327, 328, 329, 330, 331, -1, -1, 334,
335, 336, 337, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 352, 353, 354,
- 355, 356, -1, -1, -1, 257, 258, 259, -1, -1,
- -1, 263, -1, -1, -1, -1, 268, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
- 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
- -1, -1, 334, 335, 336, 337, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 352, 353, 354, 355, 356,
+ 355, 356,
};
#define YYFINAL 2
#ifndef YYDEBUG
@@ -2828,7 +2831,7 @@ short yycheck[] = { 24,
#endif
#define YYMAXTOKEN 366
#if YYDEBUG
-char *yyname[] = {
+static YYCONST char *YYCONST yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
"'!'",0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,0,0,0,
0,0,0,0,0,"':'","';'","'<'","'='","'>'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -2850,7 +2853,7 @@ char *yyname[] = {
"LEFT_CORNER","RIGHT_CORNER","CENTER","END","START","RESET","UNTIL","PLOT",
"THICKNESS","FILL","ALIGNED","SPRINTF","COMMAND","DEFINE","UNDEF",
};
-char *yyrule[] = {
+static YYCONST char *YYCONST yyrule[] = {
"$accept : top",
"top : optional_separator",
"top : element_list",
@@ -3021,6 +3024,7 @@ char *yyrule[] = {
"relative_path : label_path",
"relative_path : label_path corner",
"path : relative_path",
+"path : '(' relative_path ',' relative_path ')'",
"path : ORDINAL LAST object_type relative_path",
"path : LAST object_type relative_path",
"path : ORDINAL object_type relative_path",
@@ -3090,32 +3094,38 @@ char *yyrule[] = {
"expr : '!' expr",
};
#endif
-#define yyclearin (yychar=(-1))
+#define YYLEX yylex()
+#define YYEMPTY -1
+#define yyclearin (yychar=(YYEMPTY))
#define yyerrok (yyerrflag=0)
+#ifndef YYINITDEPTH
+#define YYINITDEPTH 200
+#endif
#ifdef YYSTACKSIZE
-#ifndef YYMAXDEPTH
+#undef YYMAXDEPTH
#define YYMAXDEPTH YYSTACKSIZE
-#endif
#else
#ifdef YYMAXDEPTH
#define YYSTACKSIZE YYMAXDEPTH
#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
+#define YYSTACKSIZE 10000
+#define YYMAXDEPTH 10000
#endif
#endif
int yydebug;
int yynerrs;
int yyerrflag;
int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
YYSTYPE yyval;
YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
-#define yystacksize YYSTACKSIZE
-#line 1514 "/u/jjc/groff/pic/pic.y"
+static short *yyss;
+static YYSTYPE *yyvs;
+static int yystacksize;
+static int yygrow ();
+static YYPTR yymalloc YYPARAMS((unsigned));
+static YYPTR yyrealloc YYPARAMS((YYPTR, unsigned));
+#define yyfree(x) free(x)
+#line 1529 "pic.y"
/* bison defines const to be empty unless __STDC__ is defined, which it
isn't under cfront */
@@ -3383,17 +3393,28 @@ char *do_sprintf(const char *form, const double *v, int nv)
result += '\0';
return strsave(result.contents());
}
-#line 3387 "y.tab.c"
+#line 3397 "y.tab.c"
#define YYABORT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
+
+#if YYDEBUG
+#ifdef __cplusplus
+extern "C" char *getenv();
+#else
+extern char *getenv();
+#endif
+#endif
+
int
yyparse()
{
register int yym, yyn, yystate;
+ register YYSTYPE *yyvsp;
+ register short *yyssp;
+ short *yysse;
#if YYDEBUG
- register char *yys;
- extern char *getenv();
+ register YYCONST char *yys;
if (yys = getenv("YYDEBUG"))
{
@@ -3407,6 +3428,20 @@ yyparse()
yyerrflag = 0;
yychar = (-1);
+ if (yyss == 0)
+ {
+ yyss = (short *) yymalloc (YYINITDEPTH * sizeof (short));
+ if (yyss == 0)
+ goto yyabort;
+ yyvs = (YYSTYPE *) yymalloc (YYINITDEPTH * sizeof (YYSTYPE));
+ if (yyvs == 0)
+ {
+ yyfree (yyss);
+ goto yyabort;
+ }
+ yystacksize = YYINITDEPTH;
+ }
+ yysse = yyss + yystacksize - 1;
yyssp = yyss;
yyvsp = yyvs;
*yyssp = yystate = 0;
@@ -3435,9 +3470,15 @@ yyloop:
printf("yydebug: state %d, shifting to state %d\n",
yystate, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ /* FIXME: Rework so there's only one of these. */
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
@@ -3476,9 +3517,14 @@ yyinrecovery:
printf("yydebug: state %d, error recovery shifting\
to state %d\n", *yyssp, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
@@ -3524,33 +3570,33 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 272 "/u/jjc/groff/pic/pic.y"
+#line 272 "pic.y"
{
if (olist.head)
print_picture(olist.head);
}
break;
case 3:
-#line 281 "/u/jjc/groff/pic/pic.y"
+#line 281 "pic.y"
{ yyval.pl = yyvsp[-1].pl; }
break;
case 4:
-#line 286 "/u/jjc/groff/pic/pic.y"
+#line 286 "pic.y"
{ yyval.pl = yyvsp[0].pl; }
break;
case 5:
-#line 288 "/u/jjc/groff/pic/pic.y"
+#line 288 "pic.y"
{ yyval.pl = yyvsp[-2].pl; }
break;
case 10:
-#line 303 "/u/jjc/groff/pic/pic.y"
+#line 303 "pic.y"
{
define_variable(yyvsp[-2].str, yyvsp[0].x);
a_delete yyvsp[-2].str;
}
break;
case 11:
-#line 308 "/u/jjc/groff/pic/pic.y"
+#line 308 "pic.y"
{
place *p = lookup_label(yyvsp[-3].str);
if (!p) {
@@ -3564,37 +3610,37 @@ case 11:
}
break;
case 12:
-#line 320 "/u/jjc/groff/pic/pic.y"
+#line 320 "pic.y"
{ current_direction = UP_DIRECTION; }
break;
case 13:
-#line 322 "/u/jjc/groff/pic/pic.y"
+#line 322 "pic.y"
{ current_direction = DOWN_DIRECTION; }
break;
case 14:
-#line 324 "/u/jjc/groff/pic/pic.y"
+#line 324 "pic.y"
{ current_direction = LEFT_DIRECTION; }
break;
case 15:
-#line 326 "/u/jjc/groff/pic/pic.y"
+#line 326 "pic.y"
{ current_direction = RIGHT_DIRECTION; }
break;
case 16:
-#line 328 "/u/jjc/groff/pic/pic.y"
+#line 328 "pic.y"
{
olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
yyvsp[0].lstr.lineno));
}
break;
case 17:
-#line 333 "/u/jjc/groff/pic/pic.y"
+#line 333 "pic.y"
{
olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
yyvsp[0].lstr.lineno));
}
break;
case 18:
-#line 338 "/u/jjc/groff/pic/pic.y"
+#line 338 "pic.y"
{
fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
a_delete yyvsp[0].lstr.str;
@@ -3602,19 +3648,22 @@ case 18:
}
break;
case 19:
-#line 344 "/u/jjc/groff/pic/pic.y"
+#line 344 "pic.y"
{ delim_flag = 1; }
break;
case 20:
-#line 346 "/u/jjc/groff/pic/pic.y"
+#line 346 "pic.y"
{
delim_flag = 0;
- system(yyvsp[0].str);
+ if (safer_flag)
+ lex_error("unsafe to run command `%1'", yyvsp[0].str);
+ else
+ system(yyvsp[0].str);
a_delete yyvsp[0].str;
}
break;
case 21:
-#line 352 "/u/jjc/groff/pic/pic.y"
+#line 355 "pic.y"
{
if (yychar < 0)
do_lookahead();
@@ -3623,15 +3672,15 @@ case 21:
}
break;
case 22:
-#line 359 "/u/jjc/groff/pic/pic.y"
+#line 362 "pic.y"
{ delim_flag = 2; }
break;
case 23:
-#line 361 "/u/jjc/groff/pic/pic.y"
+#line 364 "pic.y"
{ delim_flag = 0; }
break;
case 24:
-#line 363 "/u/jjc/groff/pic/pic.y"
+#line 366 "pic.y"
{
if (yychar < 0)
do_lookahead();
@@ -3642,15 +3691,15 @@ case 24:
}
break;
case 25:
-#line 372 "/u/jjc/groff/pic/pic.y"
+#line 375 "pic.y"
{ delim_flag = 2; }
break;
case 26:
-#line 374 "/u/jjc/groff/pic/pic.y"
+#line 377 "pic.y"
{ delim_flag = 0; }
break;
case 27:
-#line 376 "/u/jjc/groff/pic/pic.y"
+#line 379 "pic.y"
{
if (yychar < 0)
do_lookahead();
@@ -3660,11 +3709,11 @@ case 27:
}
break;
case 28:
-#line 384 "/u/jjc/groff/pic/pic.y"
+#line 387 "pic.y"
{ delim_flag = 1; }
break;
case 29:
-#line 386 "/u/jjc/groff/pic/pic.y"
+#line 389 "pic.y"
{
delim_flag = 0;
if (yychar < 0)
@@ -3673,7 +3722,7 @@ case 29:
}
break;
case 30:
-#line 393 "/u/jjc/groff/pic/pic.y"
+#line 396 "pic.y"
{
if (yychar < 0)
do_lookahead();
@@ -3683,11 +3732,11 @@ case 30:
}
break;
case 31:
-#line 401 "/u/jjc/groff/pic/pic.y"
+#line 404 "pic.y"
{ delim_flag = 1; }
break;
case 32:
-#line 403 "/u/jjc/groff/pic/pic.y"
+#line 406 "pic.y"
{
delim_flag = 0;
if (yychar < 0)
@@ -3701,27 +3750,27 @@ case 32:
}
break;
case 34:
-#line 416 "/u/jjc/groff/pic/pic.y"
+#line 419 "pic.y"
{ define_variable("scale", 1.0); }
break;
case 35:
-#line 421 "/u/jjc/groff/pic/pic.y"
+#line 424 "pic.y"
{ reset(yyvsp[0].str); a_delete yyvsp[0].str; }
break;
case 36:
-#line 423 "/u/jjc/groff/pic/pic.y"
+#line 426 "pic.y"
{ reset(yyvsp[0].str); a_delete yyvsp[0].str; }
break;
case 37:
-#line 425 "/u/jjc/groff/pic/pic.y"
+#line 428 "pic.y"
{ reset(yyvsp[0].str); a_delete yyvsp[0].str; }
break;
case 38:
-#line 430 "/u/jjc/groff/pic/pic.y"
+#line 433 "pic.y"
{ yyval.lstr = yyvsp[0].lstr; }
break;
case 39:
-#line 432 "/u/jjc/groff/pic/pic.y"
+#line 435 "pic.y"
{
yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
@@ -3739,7 +3788,7 @@ case 39:
}
break;
case 40:
-#line 451 "/u/jjc/groff/pic/pic.y"
+#line 454 "pic.y"
{
yyval.lstr.str = new char[GDIGITS + 1];
sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
@@ -3748,11 +3797,11 @@ case 40:
}
break;
case 41:
-#line 458 "/u/jjc/groff/pic/pic.y"
+#line 461 "pic.y"
{ yyval.lstr = yyvsp[0].lstr; }
break;
case 42:
-#line 460 "/u/jjc/groff/pic/pic.y"
+#line 463 "pic.y"
{
yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
@@ -3761,31 +3810,31 @@ case 42:
}
break;
case 43:
-#line 469 "/u/jjc/groff/pic/pic.y"
+#line 472 "pic.y"
{ delim_flag = 1; }
break;
case 44:
-#line 471 "/u/jjc/groff/pic/pic.y"
+#line 474 "pic.y"
{ delim_flag = 0; yyval.if_data.x = yyvsp[-3].x; yyval.if_data.body = yyvsp[0].str; }
break;
case 45:
-#line 476 "/u/jjc/groff/pic/pic.y"
+#line 479 "pic.y"
{ yyval.str = 0; }
break;
case 46:
-#line 478 "/u/jjc/groff/pic/pic.y"
+#line 481 "pic.y"
{ yyval.str = yyvsp[0].lstr.str; }
break;
case 47:
-#line 483 "/u/jjc/groff/pic/pic.y"
+#line 486 "pic.y"
{ yyval.x = yyvsp[0].x; }
break;
case 48:
-#line 485 "/u/jjc/groff/pic/pic.y"
+#line 488 "pic.y"
{ yyval.x = yyvsp[0].x; }
break;
case 49:
-#line 490 "/u/jjc/groff/pic/pic.y"
+#line 493 "pic.y"
{
yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
a_delete yyvsp[-2].lstr.str;
@@ -3793,7 +3842,7 @@ case 49:
}
break;
case 50:
-#line 496 "/u/jjc/groff/pic/pic.y"
+#line 499 "pic.y"
{
yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
a_delete yyvsp[-2].lstr.str;
@@ -3801,47 +3850,47 @@ case 50:
}
break;
case 51:
-#line 502 "/u/jjc/groff/pic/pic.y"
+#line 505 "pic.y"
{ yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
break;
case 52:
-#line 504 "/u/jjc/groff/pic/pic.y"
+#line 507 "pic.y"
{ yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
break;
case 53:
-#line 506 "/u/jjc/groff/pic/pic.y"
+#line 509 "pic.y"
{ yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
break;
case 54:
-#line 508 "/u/jjc/groff/pic/pic.y"
+#line 511 "pic.y"
{ yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
break;
case 55:
-#line 510 "/u/jjc/groff/pic/pic.y"
+#line 513 "pic.y"
{ yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
break;
case 56:
-#line 512 "/u/jjc/groff/pic/pic.y"
+#line 515 "pic.y"
{ yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
break;
case 57:
-#line 514 "/u/jjc/groff/pic/pic.y"
+#line 517 "pic.y"
{ yyval.x = (yyvsp[0].x == 0.0); }
break;
case 58:
-#line 520 "/u/jjc/groff/pic/pic.y"
+#line 523 "pic.y"
{ yyval.by.val = 1.0; yyval.by.is_multiplicative = 0; }
break;
case 59:
-#line 522 "/u/jjc/groff/pic/pic.y"
+#line 525 "pic.y"
{ yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 0; }
break;
case 60:
-#line 524 "/u/jjc/groff/pic/pic.y"
+#line 527 "pic.y"
{ yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 1; }
break;
case 61:
-#line 529 "/u/jjc/groff/pic/pic.y"
+#line 532 "pic.y"
{
yyval.pl.obj = yyvsp[0].spec->make_object(&current_position,
&current_direction);
@@ -3857,11 +3906,11 @@ case 61:
}
break;
case 62:
-#line 543 "/u/jjc/groff/pic/pic.y"
+#line 546 "pic.y"
{ yyval.pl = yyvsp[0].pl; define_label(yyvsp[-3].str, & yyval.pl); a_delete yyvsp[-3].str; }
break;
case 63:
-#line 545 "/u/jjc/groff/pic/pic.y"
+#line 548 "pic.y"
{
yyval.pl.obj = 0;
yyval.pl.x = yyvsp[0].pair.x;
@@ -3871,7 +3920,7 @@ case 63:
}
break;
case 64:
-#line 553 "/u/jjc/groff/pic/pic.y"
+#line 556 "pic.y"
{
yyval.pl = yyvsp[0].pl;
define_label(yyvsp[-3].str, & yyval.pl);
@@ -3879,7 +3928,7 @@ case 64:
}
break;
case 65:
-#line 559 "/u/jjc/groff/pic/pic.y"
+#line 562 "pic.y"
{
yyval.state.x = current_position.x;
yyval.state.y = current_position.y;
@@ -3887,7 +3936,7 @@ case 65:
}
break;
case 66:
-#line 565 "/u/jjc/groff/pic/pic.y"
+#line 568 "pic.y"
{
current_position.x = yyvsp[-2].state.x;
current_position.y = yyvsp[-2].state.y;
@@ -3895,13 +3944,13 @@ case 66:
}
break;
case 67:
-#line 571 "/u/jjc/groff/pic/pic.y"
+#line 574 "pic.y"
{
yyval.pl = yyvsp[-3].pl;
}
break;
case 68:
-#line 575 "/u/jjc/groff/pic/pic.y"
+#line 578 "pic.y"
{
yyval.pl.obj = 0;
yyval.pl.x = current_position.x;
@@ -3909,40 +3958,40 @@ case 68:
}
break;
case 69:
-#line 584 "/u/jjc/groff/pic/pic.y"
+#line 587 "pic.y"
{}
break;
case 70:
-#line 586 "/u/jjc/groff/pic/pic.y"
+#line 589 "pic.y"
{}
break;
case 71:
-#line 591 "/u/jjc/groff/pic/pic.y"
+#line 594 "pic.y"
{
yyval.spec = new object_spec(BOX_OBJECT);
}
break;
case 72:
-#line 595 "/u/jjc/groff/pic/pic.y"
+#line 598 "pic.y"
{
yyval.spec = new object_spec(CIRCLE_OBJECT);
}
break;
case 73:
-#line 599 "/u/jjc/groff/pic/pic.y"
+#line 602 "pic.y"
{
yyval.spec = new object_spec(ELLIPSE_OBJECT);
}
break;
case 74:
-#line 603 "/u/jjc/groff/pic/pic.y"
+#line 606 "pic.y"
{
yyval.spec = new object_spec(ARC_OBJECT);
yyval.spec->dir = current_direction;
}
break;
case 75:
-#line 608 "/u/jjc/groff/pic/pic.y"
+#line 611 "pic.y"
{
yyval.spec = new object_spec(LINE_OBJECT);
lookup_variable("lineht", & yyval.spec->segment_height);
@@ -3951,7 +4000,7 @@ case 75:
}
break;
case 76:
-#line 615 "/u/jjc/groff/pic/pic.y"
+#line 618 "pic.y"
{
yyval.spec = new object_spec(ARROW_OBJECT);
lookup_variable("lineht", & yyval.spec->segment_height);
@@ -3960,7 +4009,7 @@ case 76:
}
break;
case 77:
-#line 622 "/u/jjc/groff/pic/pic.y"
+#line 625 "pic.y"
{
yyval.spec = new object_spec(MOVE_OBJECT);
lookup_variable("moveht", & yyval.spec->segment_height);
@@ -3969,7 +4018,7 @@ case 77:
}
break;
case 78:
-#line 629 "/u/jjc/groff/pic/pic.y"
+#line 632 "pic.y"
{
yyval.spec = new object_spec(SPLINE_OBJECT);
lookup_variable("lineht", & yyval.spec->segment_height);
@@ -3978,21 +4027,21 @@ case 78:
}
break;
case 79:
-#line 636 "/u/jjc/groff/pic/pic.y"
+#line 639 "pic.y"
{
yyval.spec = new object_spec(TEXT_OBJECT);
yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
}
break;
case 80:
-#line 641 "/u/jjc/groff/pic/pic.y"
+#line 644 "pic.y"
{
yyval.spec = new object_spec(TEXT_OBJECT);
yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
}
break;
case 81:
-#line 646 "/u/jjc/groff/pic/pic.y"
+#line 649 "pic.y"
{
yyval.spec = new object_spec(TEXT_OBJECT);
yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
@@ -4001,7 +4050,7 @@ case 81:
}
break;
case 82:
-#line 653 "/u/jjc/groff/pic/pic.y"
+#line 656 "pic.y"
{
saved_state *p = new saved_state;
yyval.pstate = p;
@@ -4018,7 +4067,7 @@ case 82:
}
break;
case 83:
-#line 668 "/u/jjc/groff/pic/pic.y"
+#line 671 "pic.y"
{
current_position.x = yyvsp[-2].pstate->x;
current_position.y = yyvsp[-2].pstate->y;
@@ -4032,7 +4081,7 @@ case 83:
}
break;
case 84:
-#line 680 "/u/jjc/groff/pic/pic.y"
+#line 683 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->height = yyvsp[0].x;
@@ -4040,7 +4089,7 @@ case 84:
}
break;
case 85:
-#line 686 "/u/jjc/groff/pic/pic.y"
+#line 689 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->radius = yyvsp[0].x;
@@ -4048,7 +4097,7 @@ case 85:
}
break;
case 86:
-#line 692 "/u/jjc/groff/pic/pic.y"
+#line 695 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->width = yyvsp[0].x;
@@ -4056,7 +4105,7 @@ case 86:
}
break;
case 87:
-#line 698 "/u/jjc/groff/pic/pic.y"
+#line 701 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->radius = yyvsp[0].x/2.0;
@@ -4064,7 +4113,7 @@ case 87:
}
break;
case 88:
-#line 704 "/u/jjc/groff/pic/pic.y"
+#line 707 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= HAS_SEGMENT;
@@ -4085,7 +4134,7 @@ case 88:
}
break;
case 89:
-#line 723 "/u/jjc/groff/pic/pic.y"
+#line 726 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->dir = UP_DIRECTION;
@@ -4094,7 +4143,7 @@ case 89:
}
break;
case 90:
-#line 730 "/u/jjc/groff/pic/pic.y"
+#line 733 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->dir = UP_DIRECTION;
@@ -4103,7 +4152,7 @@ case 90:
}
break;
case 91:
-#line 737 "/u/jjc/groff/pic/pic.y"
+#line 740 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->dir = DOWN_DIRECTION;
@@ -4112,7 +4161,7 @@ case 91:
}
break;
case 92:
-#line 744 "/u/jjc/groff/pic/pic.y"
+#line 747 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->dir = DOWN_DIRECTION;
@@ -4121,7 +4170,7 @@ case 92:
}
break;
case 93:
-#line 751 "/u/jjc/groff/pic/pic.y"
+#line 754 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->dir = RIGHT_DIRECTION;
@@ -4130,7 +4179,7 @@ case 93:
}
break;
case 94:
-#line 758 "/u/jjc/groff/pic/pic.y"
+#line 761 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->dir = RIGHT_DIRECTION;
@@ -4139,7 +4188,7 @@ case 94:
}
break;
case 95:
-#line 765 "/u/jjc/groff/pic/pic.y"
+#line 768 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->dir = LEFT_DIRECTION;
@@ -4148,7 +4197,7 @@ case 95:
}
break;
case 96:
-#line 772 "/u/jjc/groff/pic/pic.y"
+#line 775 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->dir = LEFT_DIRECTION;
@@ -4157,7 +4206,7 @@ case 96:
}
break;
case 97:
-#line 779 "/u/jjc/groff/pic/pic.y"
+#line 782 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->flags |= HAS_FROM;
@@ -4166,7 +4215,7 @@ case 97:
}
break;
case 98:
-#line 786 "/u/jjc/groff/pic/pic.y"
+#line 789 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
if (yyval.spec->flags & HAS_SEGMENT)
@@ -4183,7 +4232,7 @@ case 98:
}
break;
case 99:
-#line 801 "/u/jjc/groff/pic/pic.y"
+#line 804 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->flags |= HAS_AT;
@@ -4197,7 +4246,7 @@ case 99:
}
break;
case 100:
-#line 813 "/u/jjc/groff/pic/pic.y"
+#line 816 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->flags |= HAS_WITH;
@@ -4205,7 +4254,7 @@ case 100:
}
break;
case 101:
-#line 819 "/u/jjc/groff/pic/pic.y"
+#line 822 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->flags |= HAS_SEGMENT;
@@ -4214,7 +4263,7 @@ case 101:
}
break;
case 102:
-#line 826 "/u/jjc/groff/pic/pic.y"
+#line 829 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
if (yyval.spec->flags & HAS_SEGMENT) {
@@ -4228,7 +4277,7 @@ case 102:
}
break;
case 103:
-#line 838 "/u/jjc/groff/pic/pic.y"
+#line 841 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= IS_DOTTED;
@@ -4236,7 +4285,7 @@ case 103:
}
break;
case 104:
-#line 844 "/u/jjc/groff/pic/pic.y"
+#line 847 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->flags |= IS_DOTTED;
@@ -4244,7 +4293,7 @@ case 104:
}
break;
case 105:
-#line 850 "/u/jjc/groff/pic/pic.y"
+#line 853 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= IS_DASHED;
@@ -4252,7 +4301,7 @@ case 105:
}
break;
case 106:
-#line 856 "/u/jjc/groff/pic/pic.y"
+#line 859 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->flags |= IS_DASHED;
@@ -4260,14 +4309,14 @@ case 106:
}
break;
case 107:
-#line 862 "/u/jjc/groff/pic/pic.y"
+#line 865 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= IS_DEFAULT_FILLED;
}
break;
case 108:
-#line 867 "/u/jjc/groff/pic/pic.y"
+#line 870 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->flags |= IS_FILLED;
@@ -4275,7 +4324,7 @@ case 108:
}
break;
case 109:
-#line 873 "/u/jjc/groff/pic/pic.y"
+#line 876 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
/* line chop chop means line chop 0 chop 0*/
@@ -4293,7 +4342,7 @@ case 109:
}
break;
case 110:
-#line 889 "/u/jjc/groff/pic/pic.y"
+#line 892 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
@@ -4312,109 +4361,114 @@ case 110:
}
break;
case 111:
-#line 906 "/u/jjc/groff/pic/pic.y"
+#line 909 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= IS_SAME;
}
break;
case 112:
-#line 911 "/u/jjc/groff/pic/pic.y"
+#line 914 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= IS_INVISIBLE;
}
break;
case 113:
-#line 916 "/u/jjc/groff/pic/pic.y"
+#line 919 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
}
break;
case 114:
-#line 921 "/u/jjc/groff/pic/pic.y"
+#line 924 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
}
break;
case 115:
-#line 926 "/u/jjc/groff/pic/pic.y"
+#line 929 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
}
break;
case 116:
-#line 931 "/u/jjc/groff/pic/pic.y"
+#line 934 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= IS_CLOCKWISE;
}
break;
case 117:
-#line 936 "/u/jjc/groff/pic/pic.y"
+#line 939 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags &= ~IS_CLOCKWISE;
}
break;
case 118:
-#line 941 "/u/jjc/groff/pic/pic.y"
+#line 944 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
- for (text_item **p = & yyval.spec->text; *p; p = &(*p)->next)
+ text_item **p;
+ for (p = & yyval.spec->text; *p; p = &(*p)->next)
;
*p = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
}
break;
case 119:
-#line 948 "/u/jjc/groff/pic/pic.y"
+#line 952 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
if (yyval.spec->text) {
- for (text_item *p = yyval.spec->text; p->next; p = p->next)
+ text_item *p;
+ for (p = yyval.spec->text; p->next; p = p->next)
;
p->adj.h = LEFT_ADJUST;
}
}
break;
case 120:
-#line 957 "/u/jjc/groff/pic/pic.y"
+#line 962 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
if (yyval.spec->text) {
- for (text_item *p = yyval.spec->text; p->next; p = p->next)
+ text_item *p;
+ for (p = yyval.spec->text; p->next; p = p->next)
;
p->adj.h = RIGHT_ADJUST;
}
}
break;
case 121:
-#line 966 "/u/jjc/groff/pic/pic.y"
+#line 972 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
if (yyval.spec->text) {
- for (text_item *p = yyval.spec->text; p->next; p = p->next)
+ text_item *p;
+ for (p = yyval.spec->text; p->next; p = p->next)
;
p->adj.v = ABOVE_ADJUST;
}
}
break;
case 122:
-#line 975 "/u/jjc/groff/pic/pic.y"
+#line 982 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
if (yyval.spec->text) {
- for (text_item *p = yyval.spec->text; p->next; p = p->next)
+ text_item *p;
+ for (p = yyval.spec->text; p->next; p = p->next)
;
p->adj.v = BELOW_ADJUST;
}
}
break;
case 123:
-#line 984 "/u/jjc/groff/pic/pic.y"
+#line 992 "pic.y"
{
yyval.spec = yyvsp[-2].spec;
yyval.spec->flags |= HAS_THICKNESS;
@@ -4422,20 +4476,20 @@ case 123:
}
break;
case 124:
-#line 990 "/u/jjc/groff/pic/pic.y"
+#line 998 "pic.y"
{
yyval.spec = yyvsp[-1].spec;
yyval.spec->flags |= IS_ALIGNED;
}
break;
case 125:
-#line 998 "/u/jjc/groff/pic/pic.y"
+#line 1006 "pic.y"
{
yyval.lstr = yyvsp[0].lstr;
}
break;
case 126:
-#line 1002 "/u/jjc/groff/pic/pic.y"
+#line 1010 "pic.y"
{
yyval.lstr.filename = yyvsp[-2].lstr.filename;
yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
@@ -4445,7 +4499,7 @@ case 126:
}
break;
case 127:
-#line 1013 "/u/jjc/groff/pic/pic.y"
+#line 1021 "pic.y"
{
yyval.dv.v = 0;
yyval.dv.nv = 0;
@@ -4453,7 +4507,7 @@ case 127:
}
break;
case 128:
-#line 1019 "/u/jjc/groff/pic/pic.y"
+#line 1027 "pic.y"
{
yyval.dv = yyvsp[-2].dv;
if (yyval.dv.nv >= yyval.dv.maxv) {
@@ -4474,11 +4528,11 @@ case 128:
}
break;
case 129:
-#line 1041 "/u/jjc/groff/pic/pic.y"
+#line 1049 "pic.y"
{ yyval.pair = yyvsp[0].pair; }
break;
case 130:
-#line 1043 "/u/jjc/groff/pic/pic.y"
+#line 1051 "pic.y"
{
position pos = yyvsp[0].pl;
yyval.pair.x = pos.x;
@@ -4486,58 +4540,58 @@ case 130:
}
break;
case 131:
-#line 1052 "/u/jjc/groff/pic/pic.y"
+#line 1060 "pic.y"
{ yyval.pair = yyvsp[0].pair; }
break;
case 132:
-#line 1054 "/u/jjc/groff/pic/pic.y"
+#line 1062 "pic.y"
{
yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
}
break;
case 133:
-#line 1059 "/u/jjc/groff/pic/pic.y"
+#line 1067 "pic.y"
{
yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
}
break;
case 134:
-#line 1064 "/u/jjc/groff/pic/pic.y"
+#line 1072 "pic.y"
{
yyval.pair.x = yyvsp[-3].pair.x;
yyval.pair.y = yyvsp[-1].pair.y;
}
break;
case 135:
-#line 1069 "/u/jjc/groff/pic/pic.y"
+#line 1077 "pic.y"
{
yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
}
break;
case 136:
-#line 1074 "/u/jjc/groff/pic/pic.y"
+#line 1082 "pic.y"
{
yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
}
break;
case 139:
-#line 1087 "/u/jjc/groff/pic/pic.y"
+#line 1095 "pic.y"
{ yyval.pair.x = yyvsp[-2].x; yyval.pair.y = yyvsp[0].x; }
break;
case 140:
-#line 1089 "/u/jjc/groff/pic/pic.y"
+#line 1097 "pic.y"
{ yyval.pair = yyvsp[-1].pair; }
break;
case 141:
-#line 1094 "/u/jjc/groff/pic/pic.y"
+#line 1102 "pic.y"
{ yyval.pl = yyvsp[0].pl; }
break;
case 142:
-#line 1096 "/u/jjc/groff/pic/pic.y"
+#line 1104 "pic.y"
{
path pth(yyvsp[0].crn);
if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
@@ -4545,7 +4599,7 @@ case 142:
}
break;
case 143:
-#line 1102 "/u/jjc/groff/pic/pic.y"
+#line 1110 "pic.y"
{
path pth(yyvsp[-1].crn);
if (!pth.follow(yyvsp[0].pl, & yyval.pl))
@@ -4553,7 +4607,7 @@ case 143:
}
break;
case 144:
-#line 1108 "/u/jjc/groff/pic/pic.y"
+#line 1116 "pic.y"
{
path pth(yyvsp[-2].crn);
if (!pth.follow(yyvsp[0].pl, & yyval.pl))
@@ -4561,7 +4615,7 @@ case 144:
}
break;
case 145:
-#line 1114 "/u/jjc/groff/pic/pic.y"
+#line 1122 "pic.y"
{
yyval.pl.x = current_position.x;
yyval.pl.y = current_position.y;
@@ -4569,7 +4623,7 @@ case 145:
}
break;
case 146:
-#line 1123 "/u/jjc/groff/pic/pic.y"
+#line 1131 "pic.y"
{
place *p = lookup_label(yyvsp[0].str);
if (!p) {
@@ -4581,13 +4635,13 @@ case 146:
}
break;
case 147:
-#line 1133 "/u/jjc/groff/pic/pic.y"
+#line 1141 "pic.y"
{
yyval.pl.obj = yyvsp[0].obj;
}
break;
case 148:
-#line 1137 "/u/jjc/groff/pic/pic.y"
+#line 1145 "pic.y"
{
path pth(yyvsp[0].str);
if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
@@ -4595,29 +4649,30 @@ case 148:
}
break;
case 149:
-#line 1146 "/u/jjc/groff/pic/pic.y"
+#line 1154 "pic.y"
{ yyval.n = yyvsp[0].n; }
break;
case 150:
-#line 1148 "/u/jjc/groff/pic/pic.y"
+#line 1156 "pic.y"
{
/* XXX Check for overflow (and non-integers?).*/
yyval.n = (int)yyvsp[-1].x;
}
break;
case 151:
-#line 1156 "/u/jjc/groff/pic/pic.y"
+#line 1164 "pic.y"
{ yyval.n = 1; }
break;
case 152:
-#line 1158 "/u/jjc/groff/pic/pic.y"
+#line 1166 "pic.y"
{ yyval.n = yyvsp[-1].n; }
break;
case 153:
-#line 1163 "/u/jjc/groff/pic/pic.y"
+#line 1171 "pic.y"
{
int count = 0;
- for (object *p = olist.head; p != 0; p = p->next)
+ object *p;
+ for (p = olist.head; p != 0; p = p->next)
if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
yyval.obj = p;
break;
@@ -4630,10 +4685,11 @@ case 153:
}
break;
case 154:
-#line 1177 "/u/jjc/groff/pic/pic.y"
+#line 1186 "pic.y"
{
int count = 0;
- for (object *p = olist.tail; p != 0; p = p->prev)
+ object *p;
+ for (p = olist.tail; p != 0; p = p->prev)
if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
yyval.obj = p;
break;
@@ -4646,225 +4702,232 @@ case 154:
}
break;
case 155:
-#line 1194 "/u/jjc/groff/pic/pic.y"
+#line 1204 "pic.y"
{ yyval.obtype = BOX_OBJECT; }
break;
case 156:
-#line 1196 "/u/jjc/groff/pic/pic.y"
+#line 1206 "pic.y"
{ yyval.obtype = CIRCLE_OBJECT; }
break;
case 157:
-#line 1198 "/u/jjc/groff/pic/pic.y"
+#line 1208 "pic.y"
{ yyval.obtype = ELLIPSE_OBJECT; }
break;
case 158:
-#line 1200 "/u/jjc/groff/pic/pic.y"
+#line 1210 "pic.y"
{ yyval.obtype = ARC_OBJECT; }
break;
case 159:
-#line 1202 "/u/jjc/groff/pic/pic.y"
+#line 1212 "pic.y"
{ yyval.obtype = LINE_OBJECT; }
break;
case 160:
-#line 1204 "/u/jjc/groff/pic/pic.y"
+#line 1214 "pic.y"
{ yyval.obtype = ARROW_OBJECT; }
break;
case 161:
-#line 1206 "/u/jjc/groff/pic/pic.y"
+#line 1216 "pic.y"
{ yyval.obtype = SPLINE_OBJECT; }
break;
case 162:
-#line 1208 "/u/jjc/groff/pic/pic.y"
+#line 1218 "pic.y"
{ yyval.obtype = BLOCK_OBJECT; }
break;
case 163:
-#line 1210 "/u/jjc/groff/pic/pic.y"
+#line 1220 "pic.y"
{ yyval.obtype = TEXT_OBJECT; }
break;
case 164:
-#line 1215 "/u/jjc/groff/pic/pic.y"
+#line 1225 "pic.y"
{
yyval.pth = new path(yyvsp[0].str);
}
break;
case 165:
-#line 1219 "/u/jjc/groff/pic/pic.y"
+#line 1229 "pic.y"
{
yyval.pth = yyvsp[-2].pth;
yyval.pth->append(yyvsp[0].str);
}
break;
case 166:
-#line 1227 "/u/jjc/groff/pic/pic.y"
+#line 1237 "pic.y"
{
yyval.pth = new path(yyvsp[0].crn);
}
break;
case 167:
-#line 1234 "/u/jjc/groff/pic/pic.y"
+#line 1244 "pic.y"
{
yyval.pth = yyvsp[0].pth;
}
break;
case 168:
-#line 1238 "/u/jjc/groff/pic/pic.y"
+#line 1248 "pic.y"
{
yyval.pth = yyvsp[-1].pth;
yyval.pth->append(yyvsp[0].crn);
}
break;
case 169:
-#line 1246 "/u/jjc/groff/pic/pic.y"
+#line 1256 "pic.y"
{
yyval.pth = yyvsp[0].pth;
}
break;
case 170:
-#line 1251 "/u/jjc/groff/pic/pic.y"
+#line 1260 "pic.y"
+{
+ yyval.pth = yyvsp[-3].pth;
+ yyval.pth->set_ypath(yyvsp[-1].pth);
+ }
+break;
+case 171:
+#line 1266 "pic.y"
{
lex_warning("`%1%2 last %3' in `with' argument ignored",
yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
yyval.pth = yyvsp[0].pth;
}
break;
-case 171:
-#line 1257 "/u/jjc/groff/pic/pic.y"
+case 172:
+#line 1272 "pic.y"
{
lex_warning("`last %1' in `with' argument ignored",
object_type_name(yyvsp[-1].obtype));
yyval.pth = yyvsp[0].pth;
}
break;
-case 172:
-#line 1263 "/u/jjc/groff/pic/pic.y"
+case 173:
+#line 1278 "pic.y"
{
lex_warning("`%1%2 %3' in `with' argument ignored",
yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
yyval.pth = yyvsp[0].pth;
}
break;
-case 173:
-#line 1269 "/u/jjc/groff/pic/pic.y"
+case 174:
+#line 1284 "pic.y"
{
lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
a_delete yyvsp[-1].str;
yyval.pth = yyvsp[0].pth;
}
break;
-case 174:
-#line 1278 "/u/jjc/groff/pic/pic.y"
+case 175:
+#line 1293 "pic.y"
{ yyval.crn = &object::north; }
break;
-case 175:
-#line 1280 "/u/jjc/groff/pic/pic.y"
+case 176:
+#line 1295 "pic.y"
{ yyval.crn = &object::east; }
break;
-case 176:
-#line 1282 "/u/jjc/groff/pic/pic.y"
+case 177:
+#line 1297 "pic.y"
{ yyval.crn = &object::west; }
break;
-case 177:
-#line 1284 "/u/jjc/groff/pic/pic.y"
+case 178:
+#line 1299 "pic.y"
{ yyval.crn = &object::south; }
break;
-case 178:
-#line 1286 "/u/jjc/groff/pic/pic.y"
+case 179:
+#line 1301 "pic.y"
{ yyval.crn = &object::north_east; }
break;
-case 179:
-#line 1288 "/u/jjc/groff/pic/pic.y"
+case 180:
+#line 1303 "pic.y"
{ yyval.crn = &object:: south_east; }
break;
-case 180:
-#line 1290 "/u/jjc/groff/pic/pic.y"
+case 181:
+#line 1305 "pic.y"
{ yyval.crn = &object::north_west; }
break;
-case 181:
-#line 1292 "/u/jjc/groff/pic/pic.y"
+case 182:
+#line 1307 "pic.y"
{ yyval.crn = &object::south_west; }
break;
-case 182:
-#line 1294 "/u/jjc/groff/pic/pic.y"
+case 183:
+#line 1309 "pic.y"
{ yyval.crn = &object::center; }
break;
-case 183:
-#line 1296 "/u/jjc/groff/pic/pic.y"
+case 184:
+#line 1311 "pic.y"
{ yyval.crn = &object::start; }
break;
-case 184:
-#line 1298 "/u/jjc/groff/pic/pic.y"
+case 185:
+#line 1313 "pic.y"
{ yyval.crn = &object::end; }
break;
-case 185:
-#line 1300 "/u/jjc/groff/pic/pic.y"
+case 186:
+#line 1315 "pic.y"
{ yyval.crn = &object::north; }
break;
-case 186:
-#line 1302 "/u/jjc/groff/pic/pic.y"
+case 187:
+#line 1317 "pic.y"
{ yyval.crn = &object::south; }
break;
-case 187:
-#line 1304 "/u/jjc/groff/pic/pic.y"
+case 188:
+#line 1319 "pic.y"
{ yyval.crn = &object::west; }
break;
-case 188:
-#line 1306 "/u/jjc/groff/pic/pic.y"
+case 189:
+#line 1321 "pic.y"
{ yyval.crn = &object::east; }
break;
-case 189:
-#line 1308 "/u/jjc/groff/pic/pic.y"
+case 190:
+#line 1323 "pic.y"
{ yyval.crn = &object::north_west; }
break;
-case 190:
-#line 1310 "/u/jjc/groff/pic/pic.y"
+case 191:
+#line 1325 "pic.y"
{ yyval.crn = &object::south_west; }
break;
-case 191:
-#line 1312 "/u/jjc/groff/pic/pic.y"
+case 192:
+#line 1327 "pic.y"
{ yyval.crn = &object::north_east; }
break;
-case 192:
-#line 1314 "/u/jjc/groff/pic/pic.y"
+case 193:
+#line 1329 "pic.y"
{ yyval.crn = &object::south_east; }
break;
-case 193:
-#line 1316 "/u/jjc/groff/pic/pic.y"
+case 194:
+#line 1331 "pic.y"
{ yyval.crn = &object::west; }
break;
-case 194:
-#line 1318 "/u/jjc/groff/pic/pic.y"
+case 195:
+#line 1333 "pic.y"
{ yyval.crn = &object::east; }
break;
-case 195:
-#line 1320 "/u/jjc/groff/pic/pic.y"
+case 196:
+#line 1335 "pic.y"
{ yyval.crn = &object::north_west; }
break;
-case 196:
-#line 1322 "/u/jjc/groff/pic/pic.y"
+case 197:
+#line 1337 "pic.y"
{ yyval.crn = &object::south_west; }
break;
-case 197:
-#line 1324 "/u/jjc/groff/pic/pic.y"
+case 198:
+#line 1339 "pic.y"
{ yyval.crn = &object::north_east; }
break;
-case 198:
-#line 1326 "/u/jjc/groff/pic/pic.y"
+case 199:
+#line 1341 "pic.y"
{ yyval.crn = &object::south_east; }
break;
-case 199:
-#line 1328 "/u/jjc/groff/pic/pic.y"
+case 200:
+#line 1343 "pic.y"
{ yyval.crn = &object::center; }
break;
-case 200:
-#line 1330 "/u/jjc/groff/pic/pic.y"
+case 201:
+#line 1345 "pic.y"
{ yyval.crn = &object::start; }
break;
-case 201:
-#line 1332 "/u/jjc/groff/pic/pic.y"
+case 202:
+#line 1347 "pic.y"
{ yyval.crn = &object::end; }
break;
-case 202:
-#line 1337 "/u/jjc/groff/pic/pic.y"
+case 203:
+#line 1352 "pic.y"
{
if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
lex_error("there is no variable `%1'", yyvsp[0].str);
@@ -4873,12 +4936,12 @@ case 202:
a_delete yyvsp[0].str;
}
break;
-case 203:
-#line 1345 "/u/jjc/groff/pic/pic.y"
+case 204:
+#line 1360 "pic.y"
{ yyval.x = yyvsp[0].x; }
break;
-case 204:
-#line 1347 "/u/jjc/groff/pic/pic.y"
+case 205:
+#line 1362 "pic.y"
{
if (yyvsp[-1].pl.obj != 0)
yyval.x = yyvsp[-1].pl.obj->origin().x;
@@ -4886,8 +4949,8 @@ case 204:
yyval.x = yyvsp[-1].pl.x;
}
break;
-case 205:
-#line 1354 "/u/jjc/groff/pic/pic.y"
+case 206:
+#line 1369 "pic.y"
{
if (yyvsp[-1].pl.obj != 0)
yyval.x = yyvsp[-1].pl.obj->origin().y;
@@ -4895,8 +4958,8 @@ case 205:
yyval.x = yyvsp[-1].pl.y;
}
break;
-case 206:
-#line 1361 "/u/jjc/groff/pic/pic.y"
+case 207:
+#line 1376 "pic.y"
{
if (yyvsp[-1].pl.obj != 0)
yyval.x = yyvsp[-1].pl.obj->height();
@@ -4904,8 +4967,8 @@ case 206:
yyval.x = 0.0;
}
break;
-case 207:
-#line 1368 "/u/jjc/groff/pic/pic.y"
+case 208:
+#line 1383 "pic.y"
{
if (yyvsp[-1].pl.obj != 0)
yyval.x = yyvsp[-1].pl.obj->width();
@@ -4913,8 +4976,8 @@ case 207:
yyval.x = 0.0;
}
break;
-case 208:
-#line 1375 "/u/jjc/groff/pic/pic.y"
+case 209:
+#line 1390 "pic.y"
{
if (yyvsp[-1].pl.obj != 0)
yyval.x = yyvsp[-1].pl.obj->radius();
@@ -4922,20 +4985,20 @@ case 208:
yyval.x = 0.0;
}
break;
-case 209:
-#line 1382 "/u/jjc/groff/pic/pic.y"
+case 210:
+#line 1397 "pic.y"
{ yyval.x = yyvsp[-2].x + yyvsp[0].x; }
break;
-case 210:
-#line 1384 "/u/jjc/groff/pic/pic.y"
+case 211:
+#line 1399 "pic.y"
{ yyval.x = yyvsp[-2].x - yyvsp[0].x; }
break;
-case 211:
-#line 1386 "/u/jjc/groff/pic/pic.y"
+case 212:
+#line 1401 "pic.y"
{ yyval.x = yyvsp[-2].x * yyvsp[0].x; }
break;
-case 212:
-#line 1388 "/u/jjc/groff/pic/pic.y"
+case 213:
+#line 1403 "pic.y"
{
if (yyvsp[0].x == 0.0) {
lex_error("division by zero");
@@ -4944,8 +5007,8 @@ case 212:
yyval.x = yyvsp[-2].x/yyvsp[0].x;
}
break;
-case 213:
-#line 1396 "/u/jjc/groff/pic/pic.y"
+case 214:
+#line 1411 "pic.y"
{
if (yyvsp[0].x == 0.0) {
lex_error("modulus by zero");
@@ -4954,8 +5017,8 @@ case 213:
yyval.x = fmod(yyvsp[-2].x, yyvsp[0].x);
}
break;
-case 214:
-#line 1404 "/u/jjc/groff/pic/pic.y"
+case 215:
+#line 1419 "pic.y"
{
errno = 0;
yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
@@ -4969,16 +5032,16 @@ case 214:
}
}
break;
-case 215:
-#line 1417 "/u/jjc/groff/pic/pic.y"
+case 216:
+#line 1432 "pic.y"
{ yyval.x = -yyvsp[0].x; }
break;
-case 216:
-#line 1419 "/u/jjc/groff/pic/pic.y"
+case 217:
+#line 1434 "pic.y"
{ yyval.x = yyvsp[-1].x; }
break;
-case 217:
-#line 1421 "/u/jjc/groff/pic/pic.y"
+case 218:
+#line 1436 "pic.y"
{
errno = 0;
yyval.x = sin(yyvsp[-1].x);
@@ -4988,8 +5051,8 @@ case 217:
}
}
break;
-case 218:
-#line 1430 "/u/jjc/groff/pic/pic.y"
+case 219:
+#line 1445 "pic.y"
{
errno = 0;
yyval.x = cos(yyvsp[-1].x);
@@ -4999,8 +5062,8 @@ case 218:
}
}
break;
-case 219:
-#line 1439 "/u/jjc/groff/pic/pic.y"
+case 220:
+#line 1454 "pic.y"
{
errno = 0;
yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
@@ -5014,8 +5077,8 @@ case 219:
}
}
break;
-case 220:
-#line 1452 "/u/jjc/groff/pic/pic.y"
+case 221:
+#line 1467 "pic.y"
{
errno = 0;
yyval.x = log10(yyvsp[-1].x);
@@ -5025,8 +5088,8 @@ case 220:
}
}
break;
-case 221:
-#line 1461 "/u/jjc/groff/pic/pic.y"
+case 222:
+#line 1476 "pic.y"
{
errno = 0;
yyval.x = pow(10.0, yyvsp[-1].x);
@@ -5036,8 +5099,8 @@ case 221:
}
}
break;
-case 222:
-#line 1470 "/u/jjc/groff/pic/pic.y"
+case 223:
+#line 1485 "pic.y"
{
errno = 0;
yyval.x = sqrt(yyvsp[-1].x);
@@ -5047,67 +5110,67 @@ case 222:
}
}
break;
-case 223:
-#line 1479 "/u/jjc/groff/pic/pic.y"
+case 224:
+#line 1494 "pic.y"
{ yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
break;
-case 224:
-#line 1481 "/u/jjc/groff/pic/pic.y"
+case 225:
+#line 1496 "pic.y"
{ yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
break;
-case 225:
-#line 1483 "/u/jjc/groff/pic/pic.y"
+case 226:
+#line 1498 "pic.y"
{ yyval.x = floor(yyvsp[-1].x); }
break;
-case 226:
-#line 1485 "/u/jjc/groff/pic/pic.y"
+case 227:
+#line 1500 "pic.y"
{ yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
break;
-case 227:
-#line 1487 "/u/jjc/groff/pic/pic.y"
+case 228:
+#line 1502 "pic.y"
{
/* return a random number in the range [0,1) */
/* portable, but not very random */
yyval.x = (rand() & 0x7fff) / double(0x8000);
}
break;
-case 228:
-#line 1493 "/u/jjc/groff/pic/pic.y"
+case 229:
+#line 1508 "pic.y"
{ yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
break;
-case 229:
-#line 1495 "/u/jjc/groff/pic/pic.y"
+case 230:
+#line 1510 "pic.y"
{ yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
break;
-case 230:
-#line 1497 "/u/jjc/groff/pic/pic.y"
+case 231:
+#line 1512 "pic.y"
{ yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
break;
-case 231:
-#line 1499 "/u/jjc/groff/pic/pic.y"
+case 232:
+#line 1514 "pic.y"
{ yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
break;
-case 232:
-#line 1501 "/u/jjc/groff/pic/pic.y"
+case 233:
+#line 1516 "pic.y"
{ yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
break;
-case 233:
-#line 1503 "/u/jjc/groff/pic/pic.y"
+case 234:
+#line 1518 "pic.y"
{ yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
break;
-case 234:
-#line 1505 "/u/jjc/groff/pic/pic.y"
+case 235:
+#line 1520 "pic.y"
{ yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
break;
-case 235:
-#line 1507 "/u/jjc/groff/pic/pic.y"
+case 236:
+#line 1522 "pic.y"
{ yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
break;
-case 236:
-#line 1509 "/u/jjc/groff/pic/pic.y"
+case 237:
+#line 1524 "pic.y"
{ yyval.x = (yyvsp[0].x == 0.0); }
break;
-#line 5111 "y.tab.c"
+#line 5174 "y.tab.c"
}
yyssp -= yym;
yystate = *yyssp;
@@ -5150,9 +5213,14 @@ break;
printf("yydebug: after reduction, shifting from state %d \
to state %d\n", *yyssp, yystate);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate;
*++yyvsp = yyval;
@@ -5164,3 +5232,52 @@ yyabort:
yyaccept:
return (0);
}
+
+static int
+yygrow ()
+{
+ int old_stacksize = yystacksize;
+ short *new_yyss;
+ YYSTYPE *new_yyvs;
+
+ if (yystacksize >= YYMAXDEPTH)
+ return (1);
+ yystacksize *= 2;
+ if (yystacksize > YYMAXDEPTH)
+ yystacksize = YYMAXDEPTH;
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: growing stack size from %d to %d\n",
+ old_stacksize, yystacksize);
+#endif
+ new_yyss = (short *) yyrealloc (yyss, yystacksize * sizeof (short));
+ if (new_yyss == 0)
+ return (1);
+ new_yyvs = (YYSTYPE *) yyrealloc (yyvs, yystacksize * sizeof (YYSTYPE));
+ if (new_yyvs == 0)
+ {
+ yyfree (new_yyss);
+ return (1);
+ }
+ yyss = new_yyss;
+ yyvs = new_yyvs;
+ return (0);
+}
+
+static YYPTR
+YYDEFUN (yymalloc, (bytes), unsigned bytes)
+{
+ YYPTR ptr = (YYPTR) malloc (bytes);
+ if (ptr != 0) return (ptr);
+ yyerror ("yyparse: memory exhausted");
+ return (0);
+}
+
+static YYPTR
+YYDEFUN (yyrealloc, (old, bytes), YYPTR old YYAND unsigned bytes)
+{
+ YYPTR ptr = (YYPTR) realloc (old, bytes);
+ if (ptr != 0) return (ptr);
+ yyerror ("yyparse: memory exhausted");
+ return (0);
+}
diff --git a/pic/pic.h b/pic/pic.h
index 30c2cd5a1..70e95676e 100644
--- a/pic/pic.h
+++ b/pic/pic.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
@@ -99,3 +99,4 @@ extern int command_char;
extern int zero_length_line_flag;
extern int driver_extension_flag;
extern int compatible_flag;
+extern int safer_flag;
diff --git a/pic/pic.man b/pic/pic.man
index 1ace45929..5e2d142f3 100644
--- a/pic/pic.man
+++ b/pic/pic.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
@@ -82,6 +99,12 @@ and
.B .PE
even when followed by a character other than space or newline.
.TP
+.B \-S
+Safer mode; do not execute
+.B sh
+commands.
+This can be useful when operating on untrustworthy input.
+.TP
.B \-n
Don't use the groff extensions to the troff drawing commands.
You should use this if you are using a postprocessor that doesn't support
diff --git a/pic/pic.y b/pic/pic.y
index a572dcedc..6c7f4ae0b 100644
--- a/pic/pic.y
+++ b/pic/pic.y
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
%{
#include "pic.h"
#include "ptable.h"
@@ -345,7 +345,10 @@ placeless_element:
DELIMITED
{
delim_flag = 0;
- system($3);
+ if (safer_flag)
+ lex_error("unsafe to run command `%1'", $3);
+ else
+ system($3);
a_delete $3;
}
| COPY TEXT
@@ -940,7 +943,8 @@ object_spec:
| object_spec text %prec TEXT
{
$$ = $1;
- for (text_item **p = & $$->text; *p; p = &(*p)->next)
+ text_item **p;
+ for (p = & $$->text; *p; p = &(*p)->next)
;
*p = new text_item($2.str, $2.filename, $2.lineno);
}
@@ -948,7 +952,8 @@ object_spec:
{
$$ = $1;
if ($$->text) {
- for (text_item *p = $$->text; p->next; p = p->next)
+ text_item *p;
+ for (p = $$->text; p->next; p = p->next)
;
p->adj.h = LEFT_ADJUST;
}
@@ -957,7 +962,8 @@ object_spec:
{
$$ = $1;
if ($$->text) {
- for (text_item *p = $$->text; p->next; p = p->next)
+ text_item *p;
+ for (p = $$->text; p->next; p = p->next)
;
p->adj.h = RIGHT_ADJUST;
}
@@ -966,7 +972,8 @@ object_spec:
{
$$ = $1;
if ($$->text) {
- for (text_item *p = $$->text; p->next; p = p->next)
+ text_item *p;
+ for (p = $$->text; p->next; p = p->next)
;
p->adj.v = ABOVE_ADJUST;
}
@@ -975,7 +982,8 @@ object_spec:
{
$$ = $1;
if ($$->text) {
- for (text_item *p = $$->text; p->next; p = p->next)
+ text_item *p;
+ for (p = $$->text; p->next; p = p->next)
;
p->adj.v = BELOW_ADJUST;
}
@@ -1162,7 +1170,8 @@ nth_primitive:
ordinal object_type
{
int count = 0;
- for (object *p = olist.head; p != 0; p = p->next)
+ object *p;
+ for (p = olist.head; p != 0; p = p->next)
if (p->type() == $2 && ++count == $1) {
$$ = p;
break;
@@ -1176,7 +1185,8 @@ nth_primitive:
| optional_ordinal_last object_type
{
int count = 0;
- for (object *p = olist.tail; p != 0; p = p->prev)
+ object *p;
+ for (p = olist.tail; p != 0; p = p->prev)
if (p->type() == $2 && ++count == $1) {
$$ = p;
break;
@@ -1246,6 +1256,11 @@ path:
{
$$ = $1;
}
+ | '(' relative_path ',' relative_path ')'
+ {
+ $$ = $2;
+ $$->set_ypath($4);
+ }
/* The rest of these rules are a compatibility sop. */
| ORDINAL LAST object_type relative_path
{
diff --git a/pic/position.h b/pic/position.h
index 6706fb1dd..ab7d5469c 100644
--- a/pic/position.h
+++ b/pic/position.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct place;
struct position {
diff --git a/pic/tex.cc b/pic/tex.cc
index d0fd962a6..531078260 100644
--- a/pic/tex.cc
+++ b/pic/tex.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "pic.h"
diff --git a/pic/troff.cc b/pic/troff.cc
index 6fd561c10..71444cdbf 100644
--- a/pic/troff.cc
+++ b/pic/troff.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "pic.h"
#include "common.h"
diff --git a/psbb/Makefile.dep b/psbb/Makefile.dep
index 640782ea9..51d2bcb11 100644
--- a/psbb/Makefile.dep
+++ b/psbb/Makefile.dep
@@ -1 +1 @@
-psbb.o : psbb.c
+psbb.o: psbb.c
diff --git a/psbb/psbb.c b/psbb/psbb.c
index 4df15621f..3d1f343ed 100644
--- a/psbb/psbb.c
+++ b/psbb/psbb.c
@@ -15,7 +15,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <string.h>
diff --git a/psbb/psbb.man b/psbb/psbb.man
index bc383817d..4c6ac8c16 100644
--- a/psbb/psbb.man
+++ b/psbb/psbb.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH PSBB @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
psbb \- extract bounding box from PostScript document
diff --git a/refer/Makefile.dep b/refer/Makefile.dep
index 6a6c98734..824c0c65e 100644
--- a/refer/Makefile.dep
+++ b/refer/Makefile.dep
@@ -1,17 +1,17 @@
-command.o : command.cc refer.h ../include/errarg.h ../include/error.h \
- ../include/lib.h ../include/stringclass.h ../include/cset.h \
- ../include/cmap.h ../include/defs.h ../include/refid.h \
- ../include/search.h command.h
-ref.o : ref.cc refer.h ../include/errarg.h ../include/error.h \
- ../include/lib.h ../include/stringclass.h ../include/cset.h \
- ../include/cmap.h ../include/defs.h ../include/refid.h ref.h token.h
-refer.o : refer.cc refer.h ../include/errarg.h ../include/error.h \
- ../include/lib.h ../include/stringclass.h ../include/cset.h \
- ../include/cmap.h ../include/defs.h ../include/refid.h ref.h token.h \
- ../include/search.h command.h
-token.o : token.cc refer.h ../include/errarg.h ../include/error.h \
- ../include/lib.h ../include/stringclass.h ../include/cset.h \
- ../include/cmap.h ../include/defs.h token.h
-label.o : label.cc refer.h ../include/errarg.h ../include/error.h \
- ../include/lib.h ../include/stringclass.h ../include/cset.h \
- ../include/cmap.h ../include/defs.h ../include/refid.h ref.h token.h
+command.o: command.cc refer.h ../include/errarg.h ../include/error.h \
+ ../include/lib.h ../include/stringclass.h ../include/cset.h \
+ ../include/cmap.h ../include/defs.h ../include/refid.h \
+ ../include/search.h command.h
+ref.o: ref.cc refer.h ../include/errarg.h ../include/error.h \
+ ../include/lib.h ../include/stringclass.h ../include/cset.h \
+ ../include/cmap.h ../include/defs.h ../include/refid.h ref.h token.h
+refer.o: refer.cc refer.h ../include/errarg.h ../include/error.h \
+ ../include/lib.h ../include/stringclass.h ../include/cset.h \
+ ../include/cmap.h ../include/defs.h ../include/refid.h ref.h token.h \
+ ../include/search.h command.h
+token.o: token.cc refer.h ../include/errarg.h ../include/error.h \
+ ../include/lib.h ../include/stringclass.h ../include/cset.h \
+ ../include/cmap.h ../include/defs.h token.h
+label.o: label.cc refer.h ../include/errarg.h ../include/error.h \
+ ../include/lib.h ../include/stringclass.h ../include/cset.h \
+ ../include/cmap.h ../include/defs.h ../include/refid.h ref.h token.h
diff --git a/refer/command.cc b/refer/command.cc
index ee6062799..004189eeb 100644
--- a/refer/command.cc
+++ b/refer/command.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "refer.h"
#include "refid.h"
diff --git a/refer/command.h b/refer/command.h
index 2b977eae9..c7085db69 100644
--- a/refer/command.h
+++ b/refer/command.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
void process_commands(const char *file);
void process_commands(string &s, const char *file, int lineno);
diff --git a/refer/label.cc b/refer/label.cc
index 44254650d..5d1ae90bb 100644
--- a/refer/label.cc
+++ b/refer/label.cc
@@ -1,8 +1,27 @@
+#if defined(__STDC__) || defined(__cplusplus)
+#define YYCONST const
+#define YYPARAMS(x) x
+#define YYDEFUN(name, arglist, args) name(args)
+#define YYAND ,
+#define YYPTR void *
+#else
+#define YYCONST
+#define YYPARAMS(x) ()
+#define YYDEFUN(name, arglist, args) name arglist args;
+#define YYAND ;
+#define YYPTR char *
+#endif
#ifndef lint
-static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/90";
+YYCONST static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley +Cygnus.28) 01/20/91";
#endif
#define YYBYACC 1
-#line 22 "/u/jjc/groff/refer/label.y"
+#ifndef YYDONT_INCLUDE_STDIO
+#include <stdio.h>
+#endif
+#ifdef __cplusplus
+#include <stdlib.h> /* for malloc/realloc/free */
+#endif
+#line 22 "label.y"
#include "refer.h"
#include "refid.h"
@@ -200,59 +219,59 @@ static expression *parse_result;
string literals;
-#line 221 "/u/jjc/groff/refer/label.y"
+#line 221 "label.y"
typedef union {
int num;
expression *expr;
struct { int ndigits; int val; } dig;
struct { int start; int len; } str;
} YYSTYPE;
-#line 211 "y.tab.c"
+#line 230 "y.tab.c"
#define TOKEN_LETTER 257
#define TOKEN_LITERAL 258
#define TOKEN_DIGIT 259
#define YYERRCODE 256
-short yylhs[] = { -1,
+static YYCONST short yylhs[] = { -1,
0, 1, 1, 6, 6, 2, 2, 2, 3, 3,
5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 9, 9, 7, 7, 8, 8,
10, 10, 10,
};
-short yylen[] = { 2,
+static YYCONST short yylen[] = { 2,
1, 1, 5, 0, 1, 1, 3, 3, 1, 2,
1, 3, 1, 1, 1, 2, 2, 2, 5, 3,
3, 2, 3, 3, 0, 1, 1, 2, 1, 2,
0, 1, 1,
};
-short yydefred[] = { 0,
+static YYCONST short yydefred[] = { 0,
0, 14, 13, 0, 0, 0, 0, 5, 0, 0,
0, 0, 1, 27, 0, 17, 29, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 22, 0, 28,
30, 23, 24, 0, 0, 0, 32, 33, 0, 0,
0, 0, 0, 0, 3, 0, 19,
};
-short yydgoto[] = { 7,
+static YYCONST short yydgoto[] = { 7,
8, 9, 10, 11, 12, 13, 15, 18, 47, 39,
};
-short yysindex[] = { -32,
+static YYCONST short yysindex[] = { -32,
-257, 0, 0, -240, -32, -32, 0, 0, -18, -32,
-36, -114, 0, 0, -246, 0, 0, -241, -14, -39,
-32, -32, -32, -114, -21, -257, -257, 0, -32, 0,
0, 0, 0, -25, -32, -32, 0, 0, -223, -246,
-246, -36, -32, -257, 0, -246, 0,
};
-short yyrindex[] = { 35,
+static YYCONST short yyrindex[] = { 35,
1, 0, 0, 0, -5, -4, 0, 0, 14, 208,
159, 224, 0, 0, 11, 0, 0, 40, 0, 0,
2, 0, 0, 253, -220, 0, 0, 0, 0, 0,
0, 0, 0, 0, 263, 281, 0, 0, 0, 50,
105, 214, 0, 115, 0, 149, 0,
};
-short yygindex[] = { 0,
+static YYCONST short yygindex[] = { 0,
19, 0, 7, 37, -10, 10, -23, 0, 0, 0,
};
#define YYTABLESIZE 511
-short yytable[] = { 24,
+static YYCONST short yytable[] = { 24,
15, 14, 40, 41, 4, 28, 26, 5, 27, 25,
16, 29, 30, 2, 19, 20, 16, 31, 17, 23,
46, 37, 33, 38, 24, 24, 32, 6, 35, 36,
@@ -306,7 +325,7 @@ short yytable[] = { 24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
10,
};
-short yycheck[] = { 10,
+static YYCONST short yycheck[] = { 10,
0, 259, 26, 27, 37, 42, 43, 40, 45, 46,
0, 126, 259, 0, 5, 6, 257, 259, 259, 38,
44, 43, 62, 45, 35, 36, 41, 60, 22, 23,
@@ -366,7 +385,7 @@ short yycheck[] = { 10,
#endif
#define YYMAXTOKEN 259
#if YYDEBUG
-char *yyname[] = {
+static YYCONST char *YYCONST yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'","'.'",0,0,0,0,0,0,0,0,0,0,0,
"':'",0,"'<'",0,"'>'","'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -376,7 +395,7 @@ char *yyname[] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,"TOKEN_LETTER","TOKEN_LITERAL","TOKEN_DIGIT",
};
-char *yyrule[] = {
+static YYCONST char *YYCONST yyrule[] = {
"$accept : expr",
"expr : optional_conditional",
"conditional : alternative",
@@ -413,32 +432,38 @@ char *yyrule[] = {
"flag : '-'",
};
#endif
-#define yyclearin (yychar=(-1))
+#define YYLEX yylex()
+#define YYEMPTY -1
+#define yyclearin (yychar=(YYEMPTY))
#define yyerrok (yyerrflag=0)
+#ifndef YYINITDEPTH
+#define YYINITDEPTH 200
+#endif
#ifdef YYSTACKSIZE
-#ifndef YYMAXDEPTH
+#undef YYMAXDEPTH
#define YYMAXDEPTH YYSTACKSIZE
-#endif
#else
#ifdef YYMAXDEPTH
#define YYSTACKSIZE YYMAXDEPTH
#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
+#define YYSTACKSIZE 10000
+#define YYMAXDEPTH 10000
#endif
#endif
int yydebug;
int yynerrs;
int yyerrflag;
int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
YYSTYPE yyval;
YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
-#define yystacksize YYSTACKSIZE
-#line 397 "/u/jjc/groff/refer/label.y"
+static short *yyss;
+static YYSTYPE *yyvs;
+static int yystacksize;
+static int yygrow ();
+static YYPTR yymalloc YYPARAMS((unsigned));
+static YYPTR yyrealloc YYPARAMS((YYPTR, unsigned));
+#define yyfree(x) free(x)
+#line 397 "label.y"
/* bison defines const to be empty unless __STDC__ is defined, which it
isn't under cfront */
@@ -917,7 +942,8 @@ int reference::merge_labels_by_number(reference **v, int n, label_type type,
if (v[0]->get_number() != num + 1
|| v[1]->get_number() != num + 2)
return 0;
- for (int i = 2; i < n; i++)
+ int i;
+ for (i = 2; i < n; i++)
if (v[i]->get_number() != num + i + 1)
break;
result = get_label(type);
@@ -990,7 +1016,8 @@ label_info *lookup_label(const string &label)
label_table[i] = 0;
}
unsigned h = hash_string(label.contents(), label.length()) % label_table_size;
- for (label_info **ptr = label_table + h;
+ label_info **ptr;
+ for (ptr = label_table + h;
*ptr != 0;
(ptr == label_table)
? (ptr = label_table + label_table_size - 1)
@@ -1015,7 +1042,8 @@ label_info *lookup_label(const string &label)
if (old_table[i]) {
unsigned h = hash_string(label_pool.contents() + old_table[i]->start,
old_table[i]->length);
- for (label_info **p = label_table + (h % label_table_size);
+ label_info **p;
+ for (p = label_table + (h % label_table_size);
*p != 0;
(p == label_table)
? (p = label_table + label_table_size - 1)
@@ -1210,23 +1238,35 @@ int reference::get_nauthors() const
{
if (nauthors < 0) {
const char *dummy;
- for (int na = 0; get_author(na, &dummy) != 0; na++)
+ int na;
+ for (na = 0; get_author(na, &dummy) != 0; na++)
;
((reference *)this)->nauthors = na;
}
return nauthors;
}
-#line 1220 "y.tab.c"
+#line 1249 "y.tab.c"
#define YYABORT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
+
+#if YYDEBUG
+#ifdef __cplusplus
+extern "C" char *getenv();
+#else
+extern char *getenv();
+#endif
+#endif
+
int
yyparse()
{
register int yym, yyn, yystate;
+ register YYSTYPE *yyvsp;
+ register short *yyssp;
+ short *yysse;
#if YYDEBUG
- register char *yys;
- extern char *getenv();
+ register YYCONST char *yys;
if (yys = getenv("YYDEBUG"))
{
@@ -1240,6 +1280,20 @@ yyparse()
yyerrflag = 0;
yychar = (-1);
+ if (yyss == 0)
+ {
+ yyss = (short *) yymalloc (YYINITDEPTH * sizeof (short));
+ if (yyss == 0)
+ goto yyabort;
+ yyvs = (YYSTYPE *) yymalloc (YYINITDEPTH * sizeof (YYSTYPE));
+ if (yyvs == 0)
+ {
+ yyfree (yyss);
+ goto yyabort;
+ }
+ yystacksize = YYINITDEPTH;
+ }
+ yysse = yyss + yystacksize - 1;
yyssp = yyss;
yyvsp = yyvs;
*yyssp = yystate = 0;
@@ -1268,9 +1322,15 @@ yyloop:
printf("yydebug: state %d, shifting to state %d\n",
yystate, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ /* FIXME: Rework so there's only one of these. */
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
@@ -1309,9 +1369,14 @@ yyinrecovery:
printf("yydebug: state %d, error recovery shifting\
to state %d\n", *yyssp, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
@@ -1357,74 +1422,74 @@ yyreduce:
switch (yyn)
{
case 1:
-#line 250 "/u/jjc/groff/refer/label.y"
+#line 250 "label.y"
{ parse_result = (yyvsp[0].expr ? new analyzed_expr(yyvsp[0].expr) : 0); }
break;
case 2:
-#line 255 "/u/jjc/groff/refer/label.y"
+#line 255 "label.y"
{ yyval.expr = yyvsp[0].expr; }
break;
case 3:
-#line 257 "/u/jjc/groff/refer/label.y"
+#line 257 "label.y"
{ yyval.expr = new conditional_expr(yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].expr); }
break;
case 4:
-#line 262 "/u/jjc/groff/refer/label.y"
+#line 262 "label.y"
{ yyval.expr = 0; }
break;
case 5:
-#line 264 "/u/jjc/groff/refer/label.y"
+#line 264 "label.y"
{ yyval.expr = yyvsp[0].expr; }
break;
case 6:
-#line 269 "/u/jjc/groff/refer/label.y"
+#line 269 "label.y"
{ yyval.expr = yyvsp[0].expr; }
break;
case 7:
-#line 271 "/u/jjc/groff/refer/label.y"
+#line 271 "label.y"
{ yyval.expr = new alternative_expr(yyvsp[-2].expr, yyvsp[0].expr); }
break;
case 8:
-#line 273 "/u/jjc/groff/refer/label.y"
+#line 273 "label.y"
{ yyval.expr = new conditional_expr(yyvsp[-2].expr, yyvsp[0].expr, 0); }
break;
case 9:
-#line 278 "/u/jjc/groff/refer/label.y"
+#line 278 "label.y"
{ yyval.expr = yyvsp[0].expr; }
break;
case 10:
-#line 280 "/u/jjc/groff/refer/label.y"
+#line 280 "label.y"
{ yyval.expr = new list_expr(yyvsp[-1].expr, yyvsp[0].expr); }
break;
case 11:
-#line 285 "/u/jjc/groff/refer/label.y"
+#line 285 "label.y"
{ yyval.expr = yyvsp[0].expr; }
break;
case 12:
-#line 287 "/u/jjc/groff/refer/label.y"
+#line 287 "label.y"
{ yyval.expr = new substitute_expr(yyvsp[-2].expr, yyvsp[0].expr); }
break;
case 13:
-#line 292 "/u/jjc/groff/refer/label.y"
+#line 292 "label.y"
{ yyval.expr = new at_expr; }
break;
case 14:
-#line 294 "/u/jjc/groff/refer/label.y"
+#line 294 "label.y"
{
yyval.expr = new literal_expr(literals.contents() + yyvsp[0].str.start,
yyvsp[0].str.len);
}
break;
case 15:
-#line 299 "/u/jjc/groff/refer/label.y"
+#line 299 "label.y"
{ yyval.expr = new field_expr(yyvsp[0].num, 0); }
break;
case 16:
-#line 301 "/u/jjc/groff/refer/label.y"
+#line 301 "label.y"
{ yyval.expr = new field_expr(yyvsp[-1].num, yyvsp[0].num - 1); }
break;
case 17:
-#line 303 "/u/jjc/groff/refer/label.y"
+#line 303 "label.y"
{
switch (yyvsp[0].num) {
case 'I':
@@ -1441,13 +1506,13 @@ case 17:
}
break;
case 18:
-#line 319 "/u/jjc/groff/refer/label.y"
+#line 319 "label.y"
{
yyval.expr = new format_expr('0', yyvsp[0].dig.ndigits, yyvsp[0].dig.val);
}
break;
case 19:
-#line 323 "/u/jjc/groff/refer/label.y"
+#line 323 "label.y"
{
switch (yyvsp[-1].num) {
case 'l':
@@ -1479,62 +1544,62 @@ case 19:
}
break;
case 20:
-#line 354 "/u/jjc/groff/refer/label.y"
+#line 354 "label.y"
{ yyval.expr = new truncate_expr(yyvsp[-2].expr, yyvsp[0].num); }
break;
case 21:
-#line 356 "/u/jjc/groff/refer/label.y"
+#line 356 "label.y"
{ yyval.expr = new truncate_expr(yyvsp[-2].expr, -yyvsp[0].num); }
break;
case 22:
-#line 358 "/u/jjc/groff/refer/label.y"
+#line 358 "label.y"
{ yyval.expr = new star_expr(yyvsp[-1].expr); }
break;
case 23:
-#line 360 "/u/jjc/groff/refer/label.y"
+#line 360 "label.y"
{ yyval.expr = yyvsp[-1].expr; }
break;
case 24:
-#line 362 "/u/jjc/groff/refer/label.y"
+#line 362 "label.y"
{ yyval.expr = new separator_expr(yyvsp[-1].expr); }
break;
case 25:
-#line 367 "/u/jjc/groff/refer/label.y"
+#line 367 "label.y"
{ yyval.num = -1; }
break;
case 26:
-#line 369 "/u/jjc/groff/refer/label.y"
+#line 369 "label.y"
{ yyval.num = yyvsp[0].num; }
break;
case 27:
-#line 374 "/u/jjc/groff/refer/label.y"
+#line 374 "label.y"
{ yyval.num = yyvsp[0].num; }
break;
case 28:
-#line 376 "/u/jjc/groff/refer/label.y"
+#line 376 "label.y"
{ yyval.num = yyvsp[-1].num*10 + yyvsp[0].num; }
break;
case 29:
-#line 381 "/u/jjc/groff/refer/label.y"
+#line 381 "label.y"
{ yyval.dig.ndigits = 1; yyval.dig.val = yyvsp[0].num; }
break;
case 30:
-#line 383 "/u/jjc/groff/refer/label.y"
+#line 383 "label.y"
{ yyval.dig.ndigits = yyvsp[-1].dig.ndigits + 1; yyval.dig.val = yyvsp[-1].dig.val*10 + yyvsp[0].num; }
break;
case 31:
-#line 389 "/u/jjc/groff/refer/label.y"
+#line 389 "label.y"
{ yyval.num = 0; }
break;
case 32:
-#line 391 "/u/jjc/groff/refer/label.y"
+#line 391 "label.y"
{ yyval.num = 1; }
break;
case 33:
-#line 393 "/u/jjc/groff/refer/label.y"
+#line 393 "label.y"
{ yyval.num = -1; }
break;
-#line 1538 "y.tab.c"
+#line 1603 "y.tab.c"
}
yyssp -= yym;
yystate = *yyssp;
@@ -1577,9 +1642,14 @@ break;
printf("yydebug: after reduction, shifting from state %d \
to state %d\n", *yyssp, yystate);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp >= yysse)
{
- goto yyoverflow;
+ int depth = yyssp - yyss;
+ if (yygrow () != 0)
+ goto yyoverflow;
+ yysse = yyss + yystacksize - 1;
+ yyssp = yyss + depth;
+ yyvsp = yyvs + depth;
}
*++yyssp = yystate;
*++yyvsp = yyval;
@@ -1591,3 +1661,52 @@ yyabort:
yyaccept:
return (0);
}
+
+static int
+yygrow ()
+{
+ int old_stacksize = yystacksize;
+ short *new_yyss;
+ YYSTYPE *new_yyvs;
+
+ if (yystacksize >= YYMAXDEPTH)
+ return (1);
+ yystacksize *= 2;
+ if (yystacksize > YYMAXDEPTH)
+ yystacksize = YYMAXDEPTH;
+#if YYDEBUG
+ if (yydebug)
+ printf("yydebug: growing stack size from %d to %d\n",
+ old_stacksize, yystacksize);
+#endif
+ new_yyss = (short *) yyrealloc (yyss, yystacksize * sizeof (short));
+ if (new_yyss == 0)
+ return (1);
+ new_yyvs = (YYSTYPE *) yyrealloc (yyvs, yystacksize * sizeof (YYSTYPE));
+ if (new_yyvs == 0)
+ {
+ yyfree (new_yyss);
+ return (1);
+ }
+ yyss = new_yyss;
+ yyvs = new_yyvs;
+ return (0);
+}
+
+static YYPTR
+YYDEFUN (yymalloc, (bytes), unsigned bytes)
+{
+ YYPTR ptr = (YYPTR) malloc (bytes);
+ if (ptr != 0) return (ptr);
+ yyerror ("yyparse: memory exhausted");
+ return (0);
+}
+
+static YYPTR
+YYDEFUN (yyrealloc, (old, bytes), YYPTR old YYAND unsigned bytes)
+{
+ YYPTR ptr = (YYPTR) realloc (old, bytes);
+ if (ptr != 0) return (ptr);
+ yyerror ("yyparse: memory exhausted");
+ return (0);
+}
diff --git a/refer/label.y b/refer/label.y
index d4b7fd362..474158df0 100644
--- a/refer/label.y
+++ b/refer/label.y
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
%{
@@ -872,7 +872,8 @@ int reference::merge_labels_by_number(reference **v, int n, label_type type,
if (v[0]->get_number() != num + 1
|| v[1]->get_number() != num + 2)
return 0;
- for (int i = 2; i < n; i++)
+ int i;
+ for (i = 2; i < n; i++)
if (v[i]->get_number() != num + i + 1)
break;
result = get_label(type);
@@ -945,7 +946,8 @@ label_info *lookup_label(const string &label)
label_table[i] = 0;
}
unsigned h = hash_string(label.contents(), label.length()) % label_table_size;
- for (label_info **ptr = label_table + h;
+ label_info **ptr;
+ for (ptr = label_table + h;
*ptr != 0;
(ptr == label_table)
? (ptr = label_table + label_table_size - 1)
@@ -970,7 +972,8 @@ label_info *lookup_label(const string &label)
if (old_table[i]) {
unsigned h = hash_string(label_pool.contents() + old_table[i]->start,
old_table[i]->length);
- for (label_info **p = label_table + (h % label_table_size);
+ label_info **p;
+ for (p = label_table + (h % label_table_size);
*p != 0;
(p == label_table)
? (p = label_table + label_table_size - 1)
@@ -1165,7 +1168,8 @@ int reference::get_nauthors() const
{
if (nauthors < 0) {
const char *dummy;
- for (int na = 0; get_author(na, &dummy) != 0; na++)
+ int na;
+ for (na = 0; get_author(na, &dummy) != 0; na++)
;
((reference *)this)->nauthors = na;
}
diff --git a/refer/ref.cc b/refer/ref.cc
index 0b78813ec..9347e9655 100644
--- a/refer/ref.cc
+++ b/refer/ref.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "refer.h"
#include "refid.h"
@@ -54,7 +54,8 @@ reference::reference(const char *start, int len, reference_id *ridp)
: no(-1), field(0), nfields(0), h(0), merged(0), label_ptr(0),
computed_authors(0), last_needed_author(-1), nauthors(-1)
{
- for (int i = 0; i < 256; i++)
+ int i;
+ for (i = 0; i < 256; i++)
field_index[i] = NULL_FIELD_INDEX;
if (ridp)
rid = *ridp;
@@ -199,7 +200,8 @@ void reference::insert_field(unsigned char c, string &s)
string *old_field = field;
field = new string[nfields + 1];
int pos = 0;
- for (int i = 0; i < int(c); i++)
+ int i;
+ for (i = 0; i < int(c); i++)
if (field_index[i] != NULL_FIELD_INDEX)
pos++;
for (i = 0; i < pos; i++)
@@ -222,7 +224,8 @@ void reference::delete_field(unsigned char c)
return;
string *old_field = field;
field = new string[nfields - 1];
- for (int i = 0; i < int(field_index[c]); i++)
+ int i;
+ for (i = 0; i < int(field_index[c]); i++)
field[i].move(old_field[i]);
for (i = field_index[c]; i < nfields - 1; i++)
field[i].move(old_field[i + 1]);
@@ -330,7 +333,8 @@ void sortify_title(const char *s, int len, string &key)
a < ae;
a = strchr(a, '\0') + 1)
if (first_word_len == strlen(a)) {
- for (int j = 0; j < first_word_len; j++)
+ int j;
+ for (j = 0; j < first_word_len; j++)
if (a[j] != cmlower(s[j]))
break;
if (j >= first_word_len) {
@@ -395,7 +399,8 @@ void sortify_label(const char *s, int len, string &key)
{
const char *end = s + len;
for (;;) {
- for (const char *ptr = s;
+ const char *ptr;
+ for (ptr = s;
ptr < end && *ptr != SORT_SUB_SEP && *ptr != SORT_SUB_SUB_SEP;
ptr++)
;
@@ -692,7 +697,8 @@ int join_fields(string &f)
const char *ptr = f.contents();
int len = f.length();
int nfield_seps = 0;
- for (int j = 0; j < len; j++)
+ int j;
+ for (j = 0; j < len; j++)
if (ptr[j] == FIELD_SEPARATOR)
nfield_seps++;
if (nfield_seps == 0)
@@ -831,8 +837,18 @@ void reference::output(FILE *fp)
}
if (i == 'P') {
int multiple_pages = 0;
- if (f.length() > 0 && memchr(f.contents(), '-', f.length()) != 0)
- multiple_pages = 1;
+ const char *s = f.contents();
+ const char *end = f.contents() + f.length();
+ for (;;) {
+ const char *token_start = s;
+ if (!get_token(&s, end))
+ break;
+ const token_info *ti = lookup_token(token_start, s);
+ if (ti->is_hyphen() || ti->is_range_sep()) {
+ multiple_pages = 1;
+ break;
+ }
+ }
fprintf(fp, ".nr [P %d\n", multiple_pages);
}
else if (i == 'E')
diff --git a/refer/ref.h b/refer/ref.h
index 28e498dc5..13a984a4c 100644
--- a/refer/ref.h
+++ b/refer/ref.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct label_info;
diff --git a/refer/refer.cc b/refer/refer.cc
index 0f6641027..08de6703a 100644
--- a/refer/refer.cc
+++ b/refer/refer.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "refer.h"
#include "refid.h"
@@ -179,7 +179,8 @@ int main(int argc, char **argv)
num = opt;
opt = 0;
}
- for (const char *ptr = num; *ptr; ptr++)
+ const char *ptr;
+ for (ptr = num; *ptr; ptr++)
if (!csdigit(*ptr)) {
error("bad character `%1' in argument to -f option", *ptr);
break;
@@ -227,7 +228,8 @@ int main(int argc, char **argv)
break;
case 'a':
{
- for (const char *ptr = ++opt; *ptr; ptr++)
+ const char *ptr;
+ for (ptr = ++opt; *ptr; ptr++)
if (!csdigit(*ptr)) {
error("argument to `a' option not a number");
break;
@@ -697,7 +699,8 @@ static unsigned store_reference(const string &str)
reference *ref = make_reference(str, &flags);
ref->compute_hash_code();
unsigned h = ref->hash();
- for (reference **ptr = reference_hash_table + (h % hash_table_size);
+ reference **ptr;
+ for (ptr = reference_hash_table + (h % hash_table_size);
*ptr != 0;
((ptr == reference_hash_table)
? (ptr = reference_hash_table + hash_table_size - 1)
@@ -727,7 +730,8 @@ static unsigned store_reference(const string &str)
reference_hash_table[i] = 0;
for (i = 0; i < old_size; i++)
if (old_table[i]) {
- for (reference **p = (reference_hash_table
+ reference **p;
+ for (p = (reference_hash_table
+ (old_table[i]->hash() % hash_table_size));
*p;
((p == reference_hash_table)
@@ -785,7 +789,8 @@ static void output_citation_group(reference **v, int n, label_type type,
for (int i = 1; i < n; i++) {
int num = v[i]->get_number();
reference *temp = v[i];
- for (int j = i - 1; j >= 0 && v[j]->get_number() > num; j--)
+ int j;
+ for (j = i - 1; j >= 0 && v[j]->get_number() > num; j--)
v[j + 1] = v[j];
v[j + 1] = temp;
}
@@ -1213,7 +1218,8 @@ int next_size(int n)
16000057, 32000011, 64000031, 128000003, 0
};
- for (const int *p = table_sizes; *p <= n && *p != 0; p++)
+ const int *p;
+ for (p = table_sizes; *p <= n && *p != 0; p++)
;
assert(*p != 0);
return *p;
diff --git a/refer/refer.h b/refer/refer.h
index 932b85536..f0ab3cd70 100644
--- a/refer/refer.h
+++ b/refer/refer.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <stdlib.h>
diff --git a/refer/refer.man b/refer/refer.man
index ed2f2bdbe..6b09c973a 100644
--- a/refer/refer.man
+++ b/refer/refer.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.de TQ
.br
.ns
@@ -357,7 +374,7 @@ For all fields except
.B A
and
.BR E ,
-if there is more than one occurernce of a particular field in a record,
+if there is more than one occurrence of a particular field in a record,
only the last such field will be used.
.LP
If accent strings are used, they should follow the character to be accented.
diff --git a/refer/token.cc b/refer/token.cc
index 1ec7acd16..1cf6890f2 100644
--- a/refer/token.cc
+++ b/refer/token.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "refer.h"
#include "token.h"
@@ -194,7 +194,8 @@ const token_info *lookup_token(const char *start, const char *end)
static void init_ascii()
{
- for (const char *p = "abcdefghijklmnopqrstuvwxyz"; *p; p++) {
+ const char *p;
+ for (p = "abcdefghijklmnopqrstuvwxyz"; *p; p++) {
char buf[2];
buf[0] = *p;
buf[1] = '\0';
@@ -300,7 +301,8 @@ static void init_two_char_letter(char l1, char l2, char u1, char u2,
static void init_special_chars()
{
- for (const char *p = "':^`~"; *p; p++)
+ const char *p;
+ for (p = "':^`~"; *p; p++)
for (const char *q = "aeiouy"; *q; q++) {
// Use a variable to work around bug in gcc 2.0
char c = cmupper(*q);
@@ -325,6 +327,8 @@ static void init_special_chars()
store_token("\\[Sd]", TOKEN_LOWER, "d", "\\[-D]");
store_token("\\(hy", TOKEN_HYPHEN);
store_token("\\[hy]", TOKEN_HYPHEN);
+ store_token("\\(en", TOKEN_RANGE_SEP);
+ store_token("\\[en]", TOKEN_RANGE_SEP);
}
static void init_strings()
diff --git a/refer/token.h b/refer/token.h
index c6445d230..6da430d6a 100644
--- a/refer/token.h
+++ b/refer/token.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
enum token_type {
TOKEN_OTHER,
@@ -24,7 +24,8 @@ enum token_type {
TOKEN_LOWER,
TOKEN_ACCENT,
TOKEN_PUNCT,
- TOKEN_HYPHEN
+ TOKEN_HYPHEN,
+ TOKEN_RANGE_SEP
};
class token_info {
@@ -45,6 +46,7 @@ public:
int is_other() const;
int is_punct() const;
int is_hyphen() const;
+ int is_range_sep() const;
};
inline int token_info::is_upper() const
@@ -77,5 +79,10 @@ inline int token_info::is_hyphen() const
return type == TOKEN_HYPHEN;
}
+inline int token_info::is_range_sep() const
+{
+ return type == TOKEN_RANGE_SEP;
+}
+
int get_token(const char **ptr, const char *end);
const token_info *lookup_token(const char *start, const char *end);
diff --git a/soelim/Makefile.dep b/soelim/Makefile.dep
index 6cfd47546..66f6470ef 100644
--- a/soelim/Makefile.dep
+++ b/soelim/Makefile.dep
@@ -1,2 +1,2 @@
-soelim.o : soelim.cc ../include/lib.h ../include/errarg.h \
- ../include/error.h ../include/stringclass.h
+soelim.o: soelim.cc ../include/lib.h ../include/errarg.h \
+ ../include/error.h ../include/stringclass.h
diff --git a/soelim/soelim.cc b/soelim/soelim.cc
index 405f18408..396b0101b 100644
--- a/soelim/soelim.cc
+++ b/soelim/soelim.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <ctype.h>
diff --git a/soelim/soelim.man b/soelim/soelim.man
index b8c275cc5..d5139ad18 100644
--- a/soelim/soelim.man
+++ b/soelim/soelim.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH @G@SOELIM @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
@g@soelim \- interpret .so requests in groff input
diff --git a/tbl/Makefile.dep b/tbl/Makefile.dep
index 0e6938bed..fd68809e2 100644
--- a/tbl/Makefile.dep
+++ b/tbl/Makefile.dep
@@ -1,6 +1,6 @@
-main.o : main.cc table.h ../include/cset.h ../include/cmap.h \
- ../include/stringclass.h ../include/errarg.h ../include/error.h \
- ../include/lib.h
-table.o : table.cc table.h ../include/cset.h ../include/cmap.h \
- ../include/stringclass.h ../include/errarg.h ../include/error.h \
- ../include/lib.h
+main.o: main.cc table.h ../include/cset.h ../include/cmap.h \
+ ../include/stringclass.h ../include/errarg.h ../include/error.h \
+ ../include/lib.h
+table.o: table.cc table.h ../include/cset.h ../include/cmap.h \
+ ../include/stringclass.h ../include/errarg.h ../include/error.h \
+ ../include/lib.h
diff --git a/tbl/main.cc b/tbl/main.cc
index 0003b8360..0b79bc81e 100644
--- a/tbl/main.cc
+++ b/tbl/main.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "table.h"
@@ -690,7 +690,8 @@ void free_input_entry_format_list(input_entry_format *list)
void input_entry_format::debug_print()
{
- for (int i = 0; i < pre_vline; i++)
+ int i;
+ for (i = 0; i < pre_vline; i++)
putc('|', stderr);
entry_format::debug_print();
if (!width.empty()) {
@@ -765,6 +766,7 @@ format *process_format(table_input &in, options *opt,
t = FORMAT_VSPAN;
break;
case '_':
+ case '-': // tbl also accepts this
got_format = 1;
t = FORMAT_HLINE;
break;
@@ -1174,7 +1176,8 @@ table *process_data(table_input &in, format *f, options *opt)
format_index = f->nrows - 1;
// A format row that is all lines doesn't use up a data line.
while (format_index < f->nrows - 1) {
- for (int c = 0; c < ncolumns; c++) {
+ int c;
+ for (c = 0; c < ncolumns; c++) {
entry_format *e = f->entry[format_index] + c;
if (e->type != FORMAT_HLINE
&& e->type != FORMAT_DOUBLE_HLINE
@@ -1195,6 +1198,7 @@ table *process_data(table_input &in, format *f, options *opt)
}
entry_format *line_format = f->entry[format_index];
int col = 0;
+ int row_comment = 0;
for (;;) {
if (c == tab_char || c == '\n') {
int ln = current_lineno;
@@ -1308,13 +1312,19 @@ table *process_data(table_input &in, format *f, options *opt)
}
if (col >= ncolumns) {
if (!input_entry.empty()) {
- if (c == '\n')
- in.unget(c);
- input_entry += '\0';
- error("excess data entry `%1' discarded",
- input_entry.contents());
- if (c == '\n')
- (void)in.get();
+ if (input_entry.length() >= 2
+ && input_entry[0] == '\\'
+ && input_entry[1] == '"')
+ row_comment = 1;
+ else if (!row_comment) {
+ if (c == '\n')
+ in.unget(c);
+ input_entry += '\0';
+ error("excess data entry `%1' discarded",
+ input_entry.contents());
+ if (c == '\n')
+ (void)in.get();
+ }
}
}
else
@@ -1393,7 +1403,8 @@ table *process_data(table_input &in, format *f, options *opt)
}
// Do this here rather than at the beginning in case continued formats
// change it.
- for (int i = 0; i < ncolumns - 1; i++)
+ int i;
+ for (i = 0; i < ncolumns - 1; i++)
if (f->separation[i] >= 0)
tbl->set_column_separation(i, f->separation[i]);
for (i = 0; i < ncolumns; i++)
@@ -1440,7 +1451,7 @@ int main(int argc, char **argv)
static char stderr_buf[BUFSIZ];
setbuf(stderr, stderr_buf);
int opt;
- while ((opt = getopt(argc, argv, "vC")) != EOF)
+ while ((opt = getopt(argc, argv, "vCT:")) != EOF)
switch (opt) {
case 'C':
compatible_flag = 1;
@@ -1452,6 +1463,9 @@ int main(int argc, char **argv)
fflush(stderr);
break;
}
+ case 'T':
+ // I'm sick of getting bug reports from IRIX users
+ break;
case '?':
usage();
break;
diff --git a/tbl/table.cc b/tbl/table.cc
index 1daa49795..160ff9012 100644
--- a/tbl/table.cc
+++ b/tbl/table.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "table.h"
@@ -142,9 +142,9 @@ friend class table;
int input_lineno;
const char *input_filename;
protected:
- short start_row;
+ int start_row;
+ int end_row;
short start_col;
- short end_row;
short end_col;
const entry_modifier *mod;
public:
@@ -663,7 +663,8 @@ void block_entry::do_divert(int alphabetic, int ncols, const string *mw,
prints(".if \\n[" SAVED_FILL_REG "] .fi\n"
".in 0\n");
prints(".ll ");
- for (int i = start_col; i <= end_col; i++)
+ int i;
+ for (i = start_col; i <= end_col; i++)
if (mw[i].empty())
break;
if (i > end_col) {
@@ -1090,8 +1091,8 @@ int double_hline_stuff::is_double_line()
struct vertical_rule {
vertical_rule *next;
- short start_row;
- short end_row;
+ int start_row;
+ int end_row;
short col;
char is_double;
string top_adjust;
@@ -1275,7 +1276,8 @@ void table::set_equal_column(int c)
void table::add_stuff(stuff *p)
{
- for (stuff **pp = &stuff_list; *pp; pp = &(*pp)->next)
+ stuff **pp;
+ for (pp = &stuff_list; *pp; pp = &(*pp)->next)
;
*pp = p;
}
@@ -1325,7 +1327,8 @@ void table::allocate(int r)
assert(allocated_rows > r);
while (nrows <= r) {
entry[nrows] = new table_entry*[ncolumns];
- for (int i = 0; i < ncolumns; i++)
+ int i;
+ for (i = 0; i < ncolumns; i++)
entry[nrows][i] = 0;
vline[nrows] = new char[ncolumns+1];
for (i = 0; i < ncolumns+1; i++)
@@ -1924,7 +1927,8 @@ void table::divide_span(int start_col, int end_col)
printfs(".nr " NEEDED_REG " \\n[%1]-(\\n[%2]",
span_width_reg(start_col, end_col),
span_width_reg(start_col, start_col));
- for (int i = start_col + 1; i <= end_col; i++) {
+ int i;
+ for (i = start_col + 1; i <= end_col; i++) {
// The column separation may shrink with the expand option.
if (!(flags & EXPAND))
printfs("+%1n", as_string(column_separation[i - 1]));
@@ -1975,7 +1979,8 @@ void table::build_span_list()
table_entry *p = entry_list;
while (p) {
if (p->end_col != p->start_col) {
- for (horizontal_span *q = span_list; q; q = q->next)
+ horizontal_span *q;
+ for (q = span_list; q; q = q->next)
if (q->start_col == p->start_col
&& q->end_col == p->end_col)
break;
@@ -1990,7 +1995,8 @@ void table::build_span_list()
horizontal_span *unsorted = span_list;
span_list = 0;
while (unsorted) {
- for (horizontal_span **pp = &span_list; *pp; pp = &(*pp)->next)
+ horizontal_span **pp;
+ for (pp = &span_list; *pp; pp = &(*pp)->next)
if (unsorted->end_col < (*pp)->end_col
|| (unsorted->end_col == (*pp)->end_col
&& (unsorted->start_col > (*pp)->start_col)))
@@ -2017,7 +2023,8 @@ void table::compute_separation_factor()
}
if (flags & EXPAND) {
int total_sep = left_separation + right_separation;
- for (int i = 0; i < ncolumns - 1; i++)
+ int i;
+ for (i = 0; i < ncolumns - 1; i++)
total_sep += column_separation[i];
if (total_sep != 0) {
// Don't let the separation factor be negative.
@@ -2035,7 +2042,8 @@ void table::compute_column_positions()
printfs(".nr %1 %2*\\n[" SEPARATION_FACTOR_REG "]\n",
column_start_reg(0),
as_string(left_separation));
- for (int i = 1;; i++) {
+ int i;
+ for (i = 1;; i++) {
printfs(".nr %1 \\n[%2]+\\n[%3]\n",
column_end_reg(i-1),
column_start_reg(i-1),
@@ -2066,7 +2074,8 @@ void table::compute_column_positions()
void table::make_columns_equal()
{
int first = -1; // index of first equal column
- for (int i = 0; i < ncolumns; i++)
+ int i;
+ for (i = 0; i < ncolumns; i++)
if (equal[i]) {
if (first < 0) {
printfs(".nr %1 \\n[%1]", span_width_reg(i, i));
@@ -2149,7 +2158,8 @@ void table::print_single_hline(int r)
&& entry[r][start_col] != 0
&& entry[r][start_col]->start_row != r)
start_col++;
- for (int end_col = start_col;
+ int end_col;
+ for (end_col = start_col;
end_col < ncolumns
&& (entry[r][end_col] == 0
|| entry[r][end_col]->start_row == r);
@@ -2197,7 +2207,8 @@ void table::print_double_hline(int r)
&& entry[r][start_col] != 0
&& entry[r][start_col]->start_row != r)
start_col++;
- for (int end_col = start_col;
+ int end_col;
+ for (end_col = start_col;
end_col < ncolumns
&& (entry[r][end_col] == 0
|| entry[r][end_col]->start_row == r);
@@ -2305,7 +2316,8 @@ void table::compute_vrule_bot_adjust(int end_row, int col, string &result)
result = "";
}
else {
- for (stuff *p = stuff_list; p && p->row < end_row + 1; p = p->next)
+ stuff *p;
+ for (p = stuff_list; p && p->row < end_row + 1; p = p->next)
;
if (p && p->row == end_row + 1 && p->is_double_line()) {
result = "-" DOUBLE_LINE_SEP;
@@ -2399,7 +2411,8 @@ void table::build_vrule_list()
&& (end_row == nrows - 1
|| vline[end_row+1][col] != vline[end_row][col]
|| vline_spanned(end_row+1, col))) {
- for (int start_row = end_row - 1;
+ int start_row;
+ for (start_row = end_row - 1;
start_row >= 0
&& vline[start_row][col] == vline[end_row][col]
&& !vline_spanned(start_row, col);
@@ -2498,7 +2511,8 @@ void table::do_row(int r)
if (!(flags & NOKEEP) && row_begins_section(r))
prints("." KEEP_MACRO_NAME "\n");
int had_line = 0;
- for (stuff *p = stuff_list; p && p->row < r; p = p->next)
+ stuff *p;
+ for (p = stuff_list; p && p->row < r; p = p->next)
;
for (stuff *p1 = p; p1 && p1->row == r; p1 = p1->next)
if (!p1->printed && (p1->is_single_line() || p1->is_double_line())) {
diff --git a/tbl/table.h b/tbl/table.h
index f97ab7beb..ca55b8026 100644
--- a/tbl/table.h
+++ b/tbl/table.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <stdlib.h>
diff --git a/tbl/tbl.man b/tbl/tbl.man
index 3fd6881bd..6016ddf35 100644
--- a/tbl/tbl.man
+++ b/tbl/tbl.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH @G@TBL @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
@g@tbl \- format tables for troff
@@ -138,6 +155,24 @@ and use
.B BP
instead of
.BR bp .
+.LP
+Using \ea directly in a table to get leaders will not work.
+This is correct behaviour: \ea is a
+.B uninterpreted
+leader.
+To get leaders use a real leader, either by using a control A or like
+this:
+.IP
+.nf
+.ft B
+\&.ds a \ea
+\&.TS
+tab(;);
+lw(1i) l.
+A\e*a;B
+\&.TE
+.ft
+.fi
.SH "SEE ALSO"
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@)
diff --git a/tfmtodit/Makefile.dep b/tfmtodit/Makefile.dep
index 9e1b9f56c..1d09926e9 100644
--- a/tfmtodit/Makefile.dep
+++ b/tfmtodit/Makefile.dep
@@ -1,2 +1,2 @@
-tfmtodit.o : tfmtodit.cc ../include/lib.h ../include/errarg.h \
- ../include/error.h ../include/assert.h ../include/cset.h
+tfmtodit.o: tfmtodit.cc ../include/lib.h ../include/errarg.h \
+ ../include/error.h ../include/assert.h ../include/cset.h
diff --git a/tfmtodit/tfmtodit.cc b/tfmtodit/tfmtodit.cc
index 407c1994d..ebfb5d56f 100644
--- a/tfmtodit/tfmtodit.cc
+++ b/tfmtodit/tfmtodit.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* I have tried to incorporate the changes needed for TeX 3.0 tfm files,
but I haven't tested them. */
@@ -825,7 +825,8 @@ int main(int argc, char **argv)
m[4] = g.get_left_adjustment(i);
m[5] = g.get_right_adjustment(i);
printf("%s\t%d", p->ch, m[0]*MULTIPLIER);
- for (int j = int(sizeof(m)/sizeof(m[0])) - 1; j > 0; j--)
+ int j;
+ for (j = int(sizeof(m)/sizeof(m[0])) - 1; j > 0; j--)
if (m[j] != 0)
break;
for (int k = 1; k <= j; k++)
diff --git a/tfmtodit/tfmtodit.man b/tfmtodit/tfmtodit.man
index 1b0766823..f17c4414a 100644
--- a/tfmtodit/tfmtodit.man
+++ b/tfmtodit/tfmtodit.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
.el .ds tx TeX
.\" Like TP, but if specified indent is more than half
diff --git a/tmac/Makefile.sub b/tmac/Makefile.sub
index 673a7f2b2..b07cee70f 100644
--- a/tmac/Makefile.sub
+++ b/tmac/Makefile.sub
@@ -1,41 +1,73 @@
-MAN7=groff_ms.n me.n
+MAN7=groff_ms.n me.n msafer.n
-FILES=tmac.an tmac.andoc tmac.pic tmac.ps tmac.psnew tmac.psold tmac.pspic \
+NORMALFILES=tmac.andoc tmac.pic tmac.ps tmac.psnew tmac.psold tmac.pspic \
tmac.psatk tmac.dvi tmac.tty tmac.tty-char tmac.X tmac.Xps tmac.latin1 \
- eqnrc troffrc
+ tmac.lj4 eqnrc troffrc tmac.safer
+SPECIALFILES=tmac.an tmac.s
STRIPFILES=tmac.e tmac.doc tmac.doc.old
MDOCFILES=doc-common doc-ditroff doc-nroff doc-syms
mdocdir=$(tmacdir)/mdoc
-CLEANADD=temp
+CLEANADD=stamp-strip stamp-wrap tmac.e-s tmac.doc-s tmac.doc.old-s \
+ doc-common-s doc-ditroff-s doc-nroff-s doc-syms-s *-wrap
+tmac_s_prefix=
+tmac_an_prefix=
+tmac_wrap=
+sys_tmac_prefix=
-install_data: $(FILES) $(STRIPFILES) $(MDOCFILES) man.local
+all: stamp-strip stamp-wrap
+
+install_data: $(NORMALFILES) $(SPECIALFILES) stamp-wrap stamp-strip man.local
-test -d $(tmacdir) || mkdir $(tmacdir)
- for f in $(FILES); do \
+ if test -n "$(tmac_wrap)"; then \
+ for m in $(tmac_wrap); do \
+ $(INSTALL_DATA) $$m-wrap $(tmacdir)/tmac.$$m; \
+ done; \
+ fi
+ for f in $(NORMALFILES); do \
rm -f $(tmacdir)/$$f; \
$(INSTALL_DATA) $(srcdir)/$$f $(tmacdir)/$$f; \
done
- -rm -f $(tmacdir)/tmac.$(tmac_s)
- cp $(srcdir)/tmac.s $(tmacdir)/tmac.$(tmac_s)
+ -rm -f $(tmacdir)/tmac.$(tmac_s_prefix)s
+ $(INSTALL_DATA) $(srcdir)/tmac.s $(tmacdir)/tmac.$(tmac_s_prefix)s
+ -rm -f $(tmacdir)/tmac.$(tmac_an_prefix)an
+ $(INSTALL_DATA) $(srcdir)/tmac.an $(tmacdir)/tmac.$(tmac_an_prefix)an
for f in $(STRIPFILES); do \
- rm -f temp; \
- sed -f $(srcdir)/strip.sed $(srcdir)/$$f >temp; \
rm -f $(tmacdir)/$$f; \
- $(INSTALL_DATA) temp $(tmacdir)/$$f; \
+ $(INSTALL_DATA) $$f-s $(tmacdir)/$$f; \
done
-test -d $(mdocdir) || mkdir $(mdocdir)
for f in $(MDOCFILES); do \
- rm -f temp; \
- sed -f $(srcdir)/strip.sed $(srcdir)/$$f >temp; \
rm -f $(mdocdir)/$$f; \
- $(INSTALL_DATA) temp $(mdocdir)/$$f; \
+ $(INSTALL_DATA) $$f-s $(mdocdir)/$$f; \
done
-test -f $(tmacdir)/man.local || \
$(INSTALL_DATA) $(srcdir)/man.local $(tmacdir)/man.local
-rm -f temp
+stamp-strip: $(STRIPFILES) $(MDOCFILES)
+ for f in $(STRIPFILES) $(MDOCFILES); do \
+ rm -f $$f-s; \
+ sed -f $(srcdir)/strip.sed $(srcdir)/$$f >$$f-s; \
+ done
+ touch $@
+
+stamp-wrap:
+ if test -n "$(tmac_wrap)"; then \
+ for m in $(tmac_wrap); do \
+ rm -f $$m-wrap; \
+ echo .cp 1 >$$m-wrap; \
+ echo .so $(sys_tmac_prefix)$$m >>$$m-wrap; \
+ done; \
+ fi
+ touch $@
+
uninstall_sub:
- -for f in $(FILES) $(STRIPFILES); do rm -f $(tmacdir)/$$f; done
- -rm -f $(tmacdir)/tmac.$(tmac_s)
+ -if test -n "$(tmac_wrap)"; then \
+ for m in $(tmac_wrap); do rm -f $(tmacdir)/tmac.$$m; done; \
+ fi
+ -for f in $(NORMALFILES) $(STRIPFILES); do rm -f $(tmacdir)/$$f; done
+ -rm -f $(tmacdir)/tmac.$(tmac_s_prefix)s
+ -rm -f $(tmacdir)/tmac.$(tmac_an_prefix)an
-if cmp -s $(tmacdir)/man.local $(srcdir)/man.local; then \
rm -f $(tmacdir)/man.local; \
fi
diff --git a/tmac/groff_ms.man b/tmac/groff_ms.man
index d54e5b0e1..0e1f64c74 100644
--- a/tmac/groff_ms.man
+++ b/tmac/groff_ms.man
@@ -1,10 +1,27 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.TH GROFF_MS @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
groff_ms \- groff ms macros
.SH SYNOPSIS
.B groff
-.B \-m@TMAC_S@
+.B \-m@TMAC_S_PREFIX@s
[
.IR options .\|.\|.
]
@@ -207,7 +224,7 @@ names containing
.IP \(bu
names containing only uppercase letters and digits.
.SH FILES
-.B @MACRODIR@/tmac.@TMAC_S@
+.B @MACRODIR@/tmac.@TMAC_S_PREFIX@s
.SH "SEE ALSO"
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@),
diff --git a/tmac/msafer.man b/tmac/msafer.man
new file mode 100644
index 000000000..057128556
--- /dev/null
+++ b/tmac/msafer.man
@@ -0,0 +1,56 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.TH MSAFER @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
+.SH NAME
+msafer \- groff -msafer macros
+.SH SYNOPSIS
+.B groff
+.B \-msafer
+[
+.IR options .\|.\|.
+]
+[
+.IR files .\|.\|.
+]
+.SH DESCRIPTION
+The -msafer macros remove the
+.BR open ,
+.BR opena ,
+.BR pso ,
+.B sy
+and
+.B pi
+requests.
+These macros should be used when processing input from
+an untrustworthy source.
+For maximum safety,
+they should be the first -m option on the command-line.
+Normally they are invoked using the
+.B \-S
+option of groff, which will also pass
+.B @g@pic
+the
+.B \-S
+flag.
+.SH FILES
+.B @MACRODIR@/tmac.safer
+.SH "SEE ALSO"
+.BR groff (@MAN1EXT@),
+.BR @g@troff (@MAN1EXT@),
+.BR @g@pic (@MAN1EXT@)
diff --git a/tmac/tmac.a4 b/tmac/tmac.a4
new file mode 100644
index 000000000..14a0b4c01
--- /dev/null
+++ b/tmac/tmac.a4
@@ -0,0 +1,3 @@
+.\" Set up groff for A4 paper.
+.pl 29.7c
+.ll 21c-2i
diff --git a/tmac/tmac.an b/tmac/tmac.an
index 017a6a8c0..9f1dba7e4 100644
--- a/tmac/tmac.an
+++ b/tmac/tmac.an
@@ -15,7 +15,7 @@
.\"
.\"You should have received a copy of the GNU General Public License along
.\"with groff; see the file COPYING. If not, write to the Free Software
-.\"Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+.\"Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"
.\" -rC1 => number pages continuously, rather than start each at 1
.\" -rD1 => double-sided printing, ie different odd and even page footers
@@ -224,12 +224,13 @@
.in \\n[an-margin]u+\\n[an-prevailing-indent]u
.ti \\n[an-margin]u
..
+.ds an-empty \" this is referenced to avoid looping on eg .RB ( \\ )
.de RI
.if \\n[.$] \{\
. ds an-result \&\\$1
. shift
. while \\n[.$]>=2 \{\
-. as an-result \,\fI\\$1\fR\/\\$2
+. as an-result \,\fI\\$1\fR\/\\$2\\*[an-empty]
. shift 2
. \}
. if \\n[.$] .as an-result \,\fI\\$1\fR
@@ -253,7 +254,7 @@
. ds an-result \&\fI\\$1
. shift
. while \\n[.$]>=2 \{\
-. as an-result \/\\fB\\$1\fI\,\\$2
+. as an-result \/\\fB\\$1\fI\,\\$2\\*[an-empty]
. shift 2
. \}
. if \\n[.$] .as an-result \/\\fB\\$1
@@ -266,7 +267,7 @@
. ds an-result \&\fB\\$1
. shift
. while \\n[.$]>=2 \{\
-. as an-result \,\fI\\$1\fB\/\\$2
+. as an-result \,\fI\\$1\fB\/\\$2\\*[an-empty]
. shift 2
. \}
. if \\n[.$] .as an-result \,\fI\\$1
@@ -277,7 +278,7 @@
.de RB
.ds an-result \&
.while \\n[.$]>=2 \{\
-. as an-result \fR\\$1\fB\\$2
+. as an-result \fR\\$1\fB\\$2\\*[an-empty]
. shift 2
.\}
.if \\n[.$] .as an-result \fR\\$1
@@ -287,7 +288,7 @@
.de BR
.ds an-result \&
.while \\n[.$]>=2 \{\
-. as an-result \fB\\$1\fR\\$2
+. as an-result \fB\\$1\fR\\$2\\*[an-empty]
. shift 2
.\}
.if \\n[.$] .as an-result \fB\\$1
diff --git a/tmac/tmac.andoc b/tmac/tmac.andoc
index fd1bad062..8cf989c09 100644
--- a/tmac/tmac.andoc
+++ b/tmac/tmac.andoc
@@ -2,11 +2,11 @@
.if !\n(.g .ab These macros require groff.
.de Dd
.rm Dd
-.mso tmac.doc
+.do mso tmac.doc
\\*(Dd\\
..
.de TH
.rm TH
-.mso tmac.an
+.do mso tmac.an
\\*(TH\\
..
diff --git a/tmac/tmac.dvi b/tmac/tmac.dvi
index 73412ac05..59c6df50d 100644
--- a/tmac/tmac.dvi
+++ b/tmac/tmac.dvi
@@ -35,6 +35,7 @@
.if !c\[TP] .char \[TP] I\h'-.25m'\v'-.33m'\s[\En[.s]*6u/10u]\v'.33m'D\
\v'-.33m'\s0\v'.33m'
.if !c\[Tp] .char \[Tp] \zlp
+.if !c\[nb] .char \[nb] \[slashnot]\(sb
.cflags 8 \(an
.if !c\[an] .char \[an] \h'-.167m'\(mi\h'-.167m'
.\" Define some fractions.
diff --git a/tmac/tmac.e b/tmac/tmac.e
index 92fb26484..a7abb0ad0 100644
--- a/tmac/tmac.e
+++ b/tmac/tmac.e
@@ -233,7 +233,7 @@
.if \\n(?T \
\{\
. nr _i \\n(.i
-. in \\n($iu
+. in 0
. |h \" output the table header
. in \\n(_iu
. rr _i
@@ -498,17 +498,26 @@
.if \\n(.$>1 \
. nr _0 \\$2n
.@p \\n(_0u
-.if \\w"\\$1" \
+.nr _I \\n(.iu
+.in 0
+.di |i
+\&\\$1
+.br
+.di
+.in \\n(_Iu
+.ds |j \\*(|i\\
+.if \\w"\\*(|j" \
\{\
. ti -\\n(_0u
-. ie \\w"\\$1">=\\n(_0 \
+. ie \\w"\\*(|j">=\\n(_0 \
\{\
-\&\\$1
+\\*(|j
. br
. \}
-. el \&\\$1\h'|\\n(_0u'\c
+. el \\*(|j\h'|\\n(_0u'\c
.\}
.rr _0
+.rm |i |j
..
.de np \" *** numbered paragraph
.\" use string comparison in case user has changed format of $p
diff --git a/tmac/tmac.lj4 b/tmac/tmac.lj4
new file mode 100644
index 000000000..658b9a7ab
--- /dev/null
+++ b/tmac/tmac.lj4
@@ -0,0 +1,18 @@
+.nr _C \n(.C
+.cp 0
+.ftr CW CR
+.ftr C CR
+.ftr CX CBI
+.ftr H UR
+.ftr HR UR
+.ftr HB UB
+.ftr HBI UBI
+.ftr HI UI
+.ftr HO UI
+.ftr HX UBI
+.\" This is designed so that \(ul, \(rn and \(br form corners.
+.if !c\[br] .char \[br] \Z'\v'.25m'\D'R .04m -1m''
+.if !c\[ru] .char \[ru] \Z'\v'-.02m'\D'R .54m .04m''\h'.5m'
+.if !c\[rn] .char \[rn] \Z'\v'-.77m'\D'R .54m .04m''\h'.5m'
+.if !c\[ul] .char \[ul] \Z'\v'.23m'\D'R .54m .04m''\h'.5m'
+.cp \n(_C
diff --git a/tmac/tmac.pspic b/tmac/tmac.pspic
index a9f53b6c8..b47e4fa4c 100644
--- a/tmac/tmac.pspic
+++ b/tmac/tmac.pspic
@@ -28,6 +28,7 @@
.br
.sy echo .ps-bb `psbb \\$1` >/tmp/psbb\\n[$$]
.so /tmp/psbb\\n[$$]
+.sy rm /tmp/psbb\\n[$$]
.if \\n[ps-nargs]=4 \{\
. nr ps-wid (\\n[ps-urx]-\\n[ps-llx])
. nr ps-ht (\\n[ps-ury]-\\n[ps-lly])
@@ -35,9 +36,13 @@
. if \\n[ps-ht]<0 .nr ps-ht 0-\\n[ps-ht]
. ie \\n[.$]>=2 .nr ps-deswid (i;\\$2)
. el .nr ps-deswid \\n[.l]-\\n[.i]<?\\n[ps-wid]p
-. ie \\n[.$]>=3 .nr ps-desht (i;\\$3)
-. el .nr ps-desht \\n[ps-deswid]*1000+(\\n[ps-wid]/2)/\\n[ps-wid]\
+. nr ps-desht \\n[ps-deswid]*1000+(\\n[ps-wid]/2)/\\n[ps-wid]\
*\\n[ps-ht]+500/1000
+. if \\n[.$]>=3&(\\n[ps-desht]>(i;0\\$3)) \{\
+. nr ps-desht (i;\\$3)
+. nr ps-deswid \\n[ps-desht]*1000+(\\n[ps-ht]/2)/\\n[ps-ht]\
+*\\n[ps-wid]+500/1000
+. \}
. ne \\n[ps-desht]u+1v
. if \\n[ps-offset-mode]=0 .nr ps-offset \\n[.l]-\\n[.i]-\\n[ps-deswid]/2
. if \\n[ps-offset-mode]=1 .nr ps-offset 0
@@ -53,5 +58,4 @@
. br
. sp \\n[ps-desht]u
.\}
-.sy rm /tmp/psbb\\n[$$]
..
diff --git a/tmac/tmac.s b/tmac/tmac.s
index 8807a23ca..547f862b3 100644
--- a/tmac/tmac.s
+++ b/tmac/tmac.s
@@ -17,7 +17,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
..
.if !\n(.g .ab These ms macros require groff.
.if \n(.C \
@@ -210,6 +210,8 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.als IP LP
.als PP LP
.als XP LP
+.als QP LP
+.als RS LP
.als NH LP
.als SH LP
.als MC LP
@@ -233,6 +235,7 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.als MC @MC
.als EQ @EQ
.als EN @EN
+.als TS @TS
.als AB cov*err-not-after-ab
.als AU par@AU
.als AI par@AI
@@ -963,8 +966,24 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.\" ******** module par ********
.\" ****************************
.\" Paragraph-level formatting.
-.nr PS 10
-.nr LL 6i
+.\" Load time initialization.
+.de par@load-init
+.\" PS and VS might have been set on the command-line
+.if !rPS .nr PS 10
+.if !rLL .nr LL 6i
+.ll \\n[LL]u
+.\" don't set LT so that it can be defaulted from LL
+.ie rLT .lt \\n[LT]u
+.el .lt \\n[LL]u
+.ps \\n[PS]
+.\" don't set VS so that it can be defaulted from PS
+.ie rVS .par*vs \\n[VS]
+.el .par*vs \\n[PS]+2
+.if dFAM .fam \\*[FAM]
+.if !rHY .nr HY 14
+.hy \\n[HY]
+.TA
+..
.de par*vs
.\" If it's too big to be in points, treat it as units.
.ie (p;\\$1)>=40p .vs (u;\\$1)
@@ -985,21 +1004,26 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.aln \\n[.ev]:PD PD
.ad \\n[par*adj]
.par@reset-env
-.par@reset
..
.\" happens when the first page begins
.de par@init
.if !rLT .nr LT \\n[LL]
.if !rFL .nr FL \\n[LL]*5/6
.if !rVS .nr VS \\n[PS]+2
-.ps \\n[PS]
.if !rDI .nr DI .5i
+.if !rFPS .nr FPS \\n[PS]-2
+.if !rFVS .nr FVS \\n[FPS]+2
+.\" don't change environment 0
+.ev h
+.ps \\n[PS]
.if !rQI .nr QI 5n
.if !rPI .nr PI 5n
.par*vs \\n[VS]
.if !rPD .nr PD .3v>?\n(.V
.if !rDD .nr DD .5v>?\n(.V
-.if !rHY .nr HY 14
+.if !rFI .nr FI 2n
+.if !rFPD .nr FPD \\n[PD]/2
+.ev
.if !dFAM .ds FAM \\n[.fam]
.nr par*adj \\n[.j]
.par*env-init
@@ -1016,10 +1040,6 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.aln 0:MCLT pg@colw
.aln k:MCLL pg@colw
.aln k:MCLT pg@colw
-.if !rFPS .nr FPS \\n[PS]-2
-.if !rFVS .nr FVS \\n[FPS]+2
-.if !rFI .nr FI 2n
-.if !rFPD .nr FPD \\n[PD]/2
.aln fn:PS FPS
.aln fn:VS FVS
.aln fn:LL FL
@@ -1443,7 +1463,8 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
. el .ds toc*num "\\$1
. \}
. el .ds toc*num \\n[PN]
-. LP
+. br
+. par@reset
. na
. ll -8n
. in (n;0\\$2)
@@ -1546,9 +1567,9 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
\t\\*[eqn*num]
. \}
. sp \\n[DD]u
-. fi
. ta \\*[eqn*tabs]
. \}
+. fi
.\}
..
.\" ****************************
@@ -1556,9 +1577,13 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.\" ****************************
.\" Tbl support.
.nr tbl*have-header 0
+.\" This gets called if TS occurs before the first paragraph.
.de TS
-.\" The break is necessary in the case where the first page has not yet begun.
-.br
+.LP
+.\" cov*ab-init aliases TS to @TS
+\\*[TS]\\
+..
+.de @TS
.sp \\n[DD]u
.if '\\$1'H' .di tbl*header-div
..
@@ -1841,4 +1866,5 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.ds ? \(r?\" upside down ?
.ds ! \(r!\" upside down !
..
+.par@load-init
.\" Make sure that no blank lines creep in at the end of this file.
diff --git a/tmac/tmac.safer b/tmac/tmac.safer
new file mode 100644
index 000000000..be348d5fe
--- /dev/null
+++ b/tmac/tmac.safer
@@ -0,0 +1,10 @@
+.\" remove unsafe requests
+.rm open opena pso sy pi
+.de unsafe
+.tm \\n(.F:\\n(.c: unsafe to execute request `\\$1'
+..
+.als open unsafe
+.als opena unsafe
+.als pso unsafe
+.als sy unsafe
+.als pi unsafe
diff --git a/tmac/tmac.trace b/tmac/tmac.trace
new file mode 100644
index 000000000..2691c46ec
--- /dev/null
+++ b/tmac/tmac.trace
@@ -0,0 +1,10 @@
+.\" Load this before a macro package that you want to trace.
+.rn de !!de
+.!!de de
+.!!de \\$1
+.tm *** trace enter \\$1: \\\\$0 \\\\$@
+\\\\*[!!\\$1]\\\\
+.tm *** trace exit \\$1: \\\\$0 \\\\$@
+\\..
+.!!de !!\\$1 \\$2
+..
diff --git a/tmac/tmac.tty b/tmac/tmac.tty
index 4d5193fe3..419a68532 100644
--- a/tmac/tmac.tty
+++ b/tmac/tmac.tty
@@ -1,9 +1,8 @@
.nr _C \n(.C
.cp 0
.nroff
-.ftr CW B
-.ftr C B
-.ftr CR B
+.\" Don't warn about non-existent fonts.
+.warn \n[.warn]-(\n[.warn]/131072%2*131072)
.po 0
.if c\[char173] .shc \[char173]
.de tty-char
diff --git a/tmac/tmac.tty-char b/tmac/tmac.tty-char
index 9815e6c0f..f66d7a858 100644
--- a/tmac/tmac.tty-char
+++ b/tmac/tmac.tty-char
@@ -93,6 +93,7 @@
.tty-char \(%0 %o
.tty-char \(ao o
.tty-char \(a" """"
+.tty-char \(ab \z'`
.tty-char \(ah v
.tty-char \(ho \(ac
.tty-char \(/_ \z_/
@@ -192,5 +193,6 @@
.tty-char \(Tp \zpb
.tty-char \(:y \z"y
.\"tty-char \(:y \ij
+.tty-char \[arrowvertex] |
.cp \n(_C
.do mso tmac.latin1
diff --git a/tmac/troffrc b/tmac/troffrc
index f3140d8e6..c8d70920a 100644
--- a/tmac/troffrc
+++ b/tmac/troffrc
@@ -12,10 +12,11 @@
.do ds troffrc!X100-12 tmac.X
.do ds troffrc!ascii tmac.tty
.do ds troffrc!latin1 tmac.tty
+.do ds troffrc!lj4 tmac.lj4
.do if d troffrc!\*[.T] \
. do mso \*[troffrc!\*[.T]]
.do rm troffrc!ps troffrc!Xps troffrc!dvi troffrc!X75 troffrc!X75-12 \
-troffrc!X100 troffrc!X100-12
+troffrc!X100 troffrc!X100-12 troffrc!lj4
.do tr \[char160]
.\" Set the hyphenation language to `us'.
.do hla us
diff --git a/troff/Makefile.dep b/troff/Makefile.dep
index b1fd7791e..06f568af0 100644
--- a/troff/Makefile.dep
+++ b/troff/Makefile.dep
@@ -1,34 +1,36 @@
-env.o : env.cc troff.h ../include/lib.h ../include/assert.h \
- ../include/device.h ../include/cset.h ../include/cmap.h \
- ../include/errarg.h ../include/error.h symbol.h dictionary.h hvunits.h \
- env.h request.h node.h token.h div.h reg.h charinfo.h \
- ../include/searchpath.h ../include/macropath.h
-node.o : node.cc troff.h ../include/lib.h ../include/assert.h \
- ../include/device.h ../include/cset.h ../include/cmap.h \
- ../include/errarg.h ../include/error.h symbol.h dictionary.h hvunits.h \
- env.h request.h node.h token.h charinfo.h ../include/font.h reg.h
-input.o : input.cc troff.h ../include/lib.h ../include/assert.h \
- ../include/device.h ../include/cset.h ../include/cmap.h \
- ../include/errarg.h ../include/error.h symbol.h dictionary.h hvunits.h \
- env.h request.h node.h reg.h token.h div.h charinfo.h ../include/font.h \
- ../include/searchpath.h ../include/macropath.h ../include/defs.h \
- ../include/posix.h
-div.o : div.cc troff.h ../include/lib.h ../include/assert.h \
- ../include/device.h ../include/cset.h ../include/cmap.h \
- ../include/errarg.h ../include/error.h symbol.h dictionary.h hvunits.h \
- env.h request.h node.h token.h div.h reg.h
-symbol.o : symbol.cc troff.h ../include/lib.h ../include/assert.h \
- ../include/device.h ../include/cset.h ../include/cmap.h \
- ../include/errarg.h ../include/error.h symbol.h
-dictionary.o : dictionary.cc troff.h ../include/lib.h ../include/assert.h \
- ../include/device.h ../include/cset.h ../include/cmap.h \
- ../include/errarg.h ../include/error.h symbol.h dictionary.h
-reg.o : reg.cc troff.h ../include/lib.h ../include/assert.h \
- ../include/device.h ../include/cset.h ../include/cmap.h \
- ../include/errarg.h ../include/error.h symbol.h dictionary.h token.h \
- request.h reg.h
-number.o : number.cc troff.h ../include/lib.h ../include/assert.h \
- ../include/device.h ../include/cset.h ../include/cmap.h \
- ../include/errarg.h ../include/error.h symbol.h hvunits.h env.h token.h \
- div.h
-majorminor.o : majorminor.cc
+env.o: env.cc troff.h ../include/lib.h ../include/assert.h \
+ ../include/device.h ../include/cset.h ../include/cmap.h \
+ ../include/errarg.h ../include/error.h symbol.h dictionary.h \
+ hvunits.h env.h request.h node.h token.h div.h reg.h charinfo.h \
+ ../include/searchpath.h ../include/macropath.h
+node.o: node.cc troff.h ../include/lib.h ../include/assert.h \
+ ../include/device.h ../include/cset.h ../include/cmap.h \
+ ../include/errarg.h ../include/error.h symbol.h dictionary.h \
+ hvunits.h env.h request.h node.h token.h charinfo.h ../include/font.h \
+ reg.h
+input.o: input.cc troff.h ../include/lib.h ../include/assert.h \
+ ../include/device.h ../include/cset.h ../include/cmap.h \
+ ../include/errarg.h ../include/error.h symbol.h dictionary.h \
+ hvunits.h env.h request.h node.h reg.h token.h div.h charinfo.h \
+ ../include/font.h ../include/searchpath.h ../include/macropath.h \
+ ../include/defs.h ../include/posix.h
+div.o: div.cc troff.h ../include/lib.h ../include/assert.h \
+ ../include/device.h ../include/cset.h ../include/cmap.h \
+ ../include/errarg.h ../include/error.h symbol.h dictionary.h \
+ hvunits.h env.h request.h node.h token.h div.h reg.h
+symbol.o: symbol.cc troff.h ../include/lib.h ../include/assert.h \
+ ../include/device.h ../include/cset.h ../include/cmap.h \
+ ../include/errarg.h ../include/error.h symbol.h
+dictionary.o: dictionary.cc troff.h ../include/lib.h \
+ ../include/assert.h ../include/device.h ../include/cset.h \
+ ../include/cmap.h ../include/errarg.h ../include/error.h symbol.h \
+ dictionary.h
+reg.o: reg.cc troff.h ../include/lib.h ../include/assert.h \
+ ../include/device.h ../include/cset.h ../include/cmap.h \
+ ../include/errarg.h ../include/error.h symbol.h dictionary.h token.h \
+ request.h reg.h
+number.o: number.cc troff.h ../include/lib.h ../include/assert.h \
+ ../include/device.h ../include/cset.h ../include/cmap.h \
+ ../include/errarg.h ../include/error.h symbol.h hvunits.h env.h \
+ token.h div.h
+majorminor.o: majorminor.cc
diff --git a/troff/TODO b/troff/TODO
index c8ee6bceb..7e511235e 100644
--- a/troff/TODO
+++ b/troff/TODO
@@ -134,3 +134,6 @@ More thorough range checking.
Provide syntax for octal and hexadecimal numeric constants. Perhaps
o#100 and x#7f as per Scheme. Or perhaps PostScript 16#7f. Ambiguity
between whether `c' is treated as digit or scaling indicator.
+
+Request to return from a macro (ie ignore the rest of the current
+input level).
diff --git a/troff/charinfo.h b/troff/charinfo.h
index 38e9e8f2d..9979d3775 100644
--- a/troff/charinfo.h
+++ b/troff/charinfo.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class macro;
diff --git a/troff/column.cc b/troff/column.cc
index 230e544e0..fce389db1 100644
--- a/troff/column.cc
+++ b/troff/column.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef COLUMN
diff --git a/troff/dictionary.cc b/troff/dictionary.cc
index 2e6e32dc0..fc71e3c5c 100644
--- a/troff/dictionary.cc
+++ b/troff/dictionary.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "troff.h"
@@ -28,7 +28,8 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
static int is_good_size(int p)
{
const int SMALL = 10;
- for (unsigned i = 2; i <= p/2; i++)
+ unsigned i;
+ for (i = 2; i <= p/2; i++)
if (p % i == 0)
return 0;
for (i = 0x100; i != 0; i <<= 8)
@@ -40,8 +41,6 @@ static int is_good_size(int p)
dictionary::dictionary(int n) : threshold(0.5), factor(1.5), used(0), size(n)
{
table = new association[n];
- for (int i = 0; i < n; i++)
- table[i].v = 0;
}
// see Knuth, Sorting and Searching, p518, Algorithm L
@@ -49,7 +48,8 @@ dictionary::dictionary(int n) : threshold(0.5), factor(1.5), used(0), size(n)
void *dictionary::lookup(symbol s, void *v)
{
- for (int i = int(s.hash() % size);
+ int i;
+ for (i = int(s.hash() % size);
table[i].v != 0;
i == 0 ? i = size - 1: --i)
if (s == table[i].s) {
@@ -96,7 +96,8 @@ void *dictionary::lookup(const char *p)
void *dictionary::remove(symbol s)
{
// this relies on the fact that we are using linear probing
- for (int i = int(s.hash() % size);
+ int i;
+ for (i = int(s.hash() % size);
table[i].v != 0 && s != table[i].s;
i == 0 ? i = size - 1: --i)
;
diff --git a/troff/dictionary.h b/troff/dictionary.h
index 47d6d5992..4f319be49 100644
--- a/troff/dictionary.h
+++ b/troff/dictionary.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
diff --git a/troff/div.cc b/troff/div.cc
index f82d838a5..e5b4b589f 100644
--- a/troff/div.cc
+++ b/troff/div.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
// diversions
@@ -54,16 +54,12 @@ diversion::diversion(symbol s)
struct vertical_size {
vunits pre_extra, post_extra, pre, post;
- vertical_size(vunits vs, int ls);
+ vertical_size(vunits vs, vunits post_vs);
};
-vertical_size::vertical_size(vunits vs, int ls)
-: pre_extra(V0), post_extra(V0), pre(vs)
+vertical_size::vertical_size(vunits vs, vunits post_vs)
+: pre_extra(V0), post_extra(V0), pre(vs), post(post_vs)
{
- if (ls > 1)
- post = vs*(ls - 1);
- else
- post = V0;
}
void node::set_vertical_size(vertical_size *)
@@ -222,9 +218,9 @@ void macro_diversion::transparent_output(node *n)
}
void macro_diversion::output(node *nd, int retain_size,
- vunits vs, int ls, hunits width)
+ vunits vs, vunits post_vs, hunits width)
{
- vertical_size v(vs, ls);
+ vertical_size v(vs, post_vs);
while (nd != 0) {
nd->set_vertical_size(&v);
node *temp = nd;
@@ -243,7 +239,7 @@ void macro_diversion::output(node *nd, int retain_size,
last_post_line_extra_space = v.post_extra.to_units();
if (!retain_size) {
v.pre = vs;
- v.post = (ls > 1) ? vs*(ls - 1) : V0;
+ v.post = post_vs;
}
if (width > max_width)
max_width = width;
@@ -332,21 +328,21 @@ vunits top_level_diversion::distance_to_next_trap()
}
void top_level_diversion::output(node *nd, int retain_size,
- vunits vs, int ls, hunits /*width*/)
+ vunits vs, vunits post_vs, hunits /*width*/)
{
no_space_mode = 0;
vunits next_trap_pos;
trap *next_trap = find_next_trap(&next_trap_pos);
if (before_first_page && begin_page())
fatal("sorry, I didn't manage to begin the first page in time: use an explicit .br request");
- vertical_size v(vs, ls);
+ vertical_size v(vs, post_vs);
for (node *tem = nd; tem != 0; tem = tem->next)
tem->set_vertical_size(&v);
if (!v.post_extra.is_zero())
last_post_line_extra_space = v.post_extra.to_units();
if (!retain_size) {
v.pre = vs;
- v.post = (ls > 1) ? vs*(ls - 1) : V0;
+ v.post = post_vs;
}
vertical_position += v.pre;
vertical_position += v.pre_extra;
@@ -448,7 +444,8 @@ trap::trap(symbol s, vunits n, trap *p)
void top_level_diversion::add_trap(symbol nm, vunits pos)
{
trap *first_free_slot = 0;
- for (trap **p = &page_trap_list; *p; p = &(*p)->next) {
+ trap **p;
+ for (p = &page_trap_list; *p; p = &(*p)->next) {
if ((*p)->nm.is_null()) {
if (first_free_slot == 0)
first_free_slot = *p;
diff --git a/troff/div.h b/troff/div.h
index ca5924f83..e97e0a776 100644
--- a/troff/div.h
+++ b/troff/div.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class diversion {
friend void do_divert(int append);
@@ -30,7 +30,8 @@ public:
vunits marked_place;
diversion(symbol s = NULL_SYMBOL);
virtual ~diversion();
- virtual void output(node *nd, int retain_size, vunits vs, int ls, hunits width) = 0;
+ virtual void output(node *nd, int retain_size, vunits vs, vunits post_vs,
+ hunits width) = 0;
virtual void transparent_output(unsigned char) = 0;
virtual void transparent_output(node *) = 0;
virtual void space(vunits distance, int forced = 0) = 0;
@@ -57,7 +58,8 @@ class macro_diversion : public diversion {
public:
macro_diversion(symbol, int);
~macro_diversion();
- void output(node *nd, int retain_size, vunits vs, int ls, hunits width);
+ void output(node *nd, int retain_size, vunits vs, vunits post_vs,
+ hunits width);
void transparent_output(unsigned char);
void transparent_output(node *);
void space(vunits distance, int forced = 0);
@@ -95,7 +97,8 @@ public:
int before_first_page;
int no_space_mode;
top_level_diversion();
- void output(node *nd, int retain_size, vunits vs, int ls, hunits width);
+ void output(node *nd, int retain_size, vunits vs, vunits post_vs,
+ hunits width);
void transparent_output(unsigned char);
void transparent_output(node *);
void space(vunits distance, int forced = 0);
diff --git a/troff/env.cc b/troff/env.cc
index 0d343ffc5..07093b01e 100644
--- a/troff/env.cc
+++ b/troff/env.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "troff.h"
#include "symbol.h"
@@ -61,7 +61,7 @@ class pending_output_line {
node *nd;
int no_fill;
vunits vs;
- int ls;
+ vunits post_vs;
hunits width;
#ifdef WIDOW_CONTROL
int last_line; // Is it the last line of the paragraph?
@@ -69,20 +69,20 @@ class pending_output_line {
public:
pending_output_line *next;
- pending_output_line(node *, int, vunits, int, hunits,
+ pending_output_line(node *, int, vunits, vunits, hunits,
pending_output_line * = 0);
~pending_output_line();
int output();
#ifdef WIDOW_CONTROL
friend void environment::mark_last_line();
- friend void environment::output(node *, int, vunits, int, hunits);
+ friend void environment::output(node *, int, vunits, vunits, hunits);
#endif /* WIDOW_CONTROL */
};
-pending_output_line::pending_output_line(node *n, int nf, vunits v, int l,
+pending_output_line::pending_output_line(node *n, int nf, vunits v, vunits pv,
hunits w, pending_output_line *p)
-: nd(n), no_fill(nf), vs(v), ls(l), width(w),
+: nd(n), no_fill(nf), vs(v), post_vs(pv), width(w),
#ifdef WIDOW_CONTROL
last_line(0),
#endif /* WIDOW_CONTROL */
@@ -101,19 +101,19 @@ int pending_output_line::output()
return 0;
#ifdef WIDOW_CONTROL
if (next && next->last_line && !no_fill) {
- curdiv->need(vs*ls + vunits(vresolution));
+ curdiv->need(vs + post_vs + vunits(vresolution));
if (trap_sprung_flag) {
next->last_line = 0; // Try to avoid infinite loops.
return 0;
}
}
#endif
- curdiv->output(nd, no_fill, vs, ls, width);
+ curdiv->output(nd, no_fill, vs, post_vs, width);
nd = 0;
return 1;
}
-void environment::output(node *nd, int no_fill, vunits vs, int ls,
+void environment::output(node *nd, int no_fill, vunits vs, vunits post_vs,
hunits width)
{
#ifdef WIDOW_CONTROL
@@ -134,23 +134,24 @@ void environment::output(node *nd, int no_fill, vunits vs, int ls,
&& (!widow_control || no_fill)
#endif /* WIDOW_CONTROL */
)
- curdiv->output(nd, no_fill, vs, ls, width);
+ curdiv->output(nd, no_fill, vs, post_vs, width);
else {
- for (pending_output_line **p = &pending_lines; *p; p = &(*p)->next)
+ pending_output_line **p;
+ for (p = &pending_lines; *p; p = &(*p)->next)
;
- *p = new pending_output_line(nd, no_fill, vs, ls, width);
+ *p = new pending_output_line(nd, no_fill, vs, post_vs, width);
}
}
// a line from .tl goes at the head of the queue
-void environment::output_title(node *nd, int no_fill, vunits vs, int ls,
- hunits width)
+void environment::output_title(node *nd, int no_fill, vunits vs,
+ vunits post_vs, hunits width)
{
if (!trap_sprung_flag)
- curdiv->output(nd, no_fill, vs, ls, width);
+ curdiv->output(nd, no_fill, vs, post_vs, width);
else
- pending_lines = new pending_output_line(nd, no_fill, vs, ls, width,
+ pending_lines = new pending_output_line(nd, no_fill, vs, post_vs, width,
pending_lines);
}
@@ -451,7 +452,7 @@ void environment::set_font(int n)
fontno = n;
}
else
- error("bad font number");
+ warning(WARN_FONT, "bad font number");
}
void environment::set_family(symbol fam)
@@ -531,6 +532,8 @@ environment::environment(symbol nm)
right_justify_lines(0),
prev_vertical_spacing(points_to_units(12)),
vertical_spacing(points_to_units(12)),
+ prev_post_vertical_spacing(0),
+ post_vertical_spacing(0),
prev_line_spacing(1),
line_spacing(1),
prev_indent(0),
@@ -606,6 +609,8 @@ environment::environment(const environment *e)
right_justify_lines(0),
prev_vertical_spacing(e->prev_vertical_spacing),
vertical_spacing(e->vertical_spacing),
+ prev_post_vertical_spacing(e->prev_post_vertical_spacing),
+ post_vertical_spacing(e->post_vertical_spacing),
prev_line_spacing(e->prev_line_spacing),
line_spacing(e->line_spacing),
prev_indent(e->prev_indent),
@@ -700,11 +705,24 @@ vunits environment::get_vertical_spacing()
return vertical_spacing;
}
+vunits environment::get_post_vertical_spacing()
+{
+ return post_vertical_spacing;
+}
+
int environment::get_line_spacing()
{
return line_spacing;
}
+vunits environment::total_post_vertical_spacing()
+{
+ vunits tem(post_vertical_spacing);
+ if (line_spacing > 1)
+ tem += (line_spacing - 1)*vertical_spacing;
+ return tem;
+}
+
int environment::get_bold()
{
return get_bold_fontno(fontno);
@@ -1076,6 +1094,23 @@ void vertical_spacing()
skip_line();
}
+void post_vertical_spacing()
+{
+ vunits temp;
+ if (has_arg() && get_vunits(&temp, 'p', curenv->post_vertical_spacing)) {
+ if (temp < V0) {
+ warning(WARN_RANGE,
+ "post vertical spacing must be greater than or equal to 0");
+ temp = V0;
+ }
+ }
+ else
+ temp = curenv->prev_post_vertical_spacing;
+ curenv->prev_post_vertical_spacing = curenv->post_vertical_spacing;
+ curenv->post_vertical_spacing = temp;
+ skip_line();
+}
+
void line_spacing()
{
int temp;
@@ -1180,9 +1215,14 @@ void no_break_control_char()
void margin_character()
{
- charinfo *ci = get_optional_char();
+ while (tok.space())
+ tok.next();
+ charinfo *ci = tok.get_char();
if (ci) {
+ // Call tok.next() only after making the node so that
+ // .mc \s+9\(br\s0 works.
node *nd = curenv->make_char_node(ci);
+ tok.next();
if (nd) {
delete curenv->margin_character_node;
curenv->margin_character_node = nd;
@@ -1194,6 +1234,7 @@ void margin_character()
}
}
else {
+ check_missing_character();
curenv->margin_character_flags &= ~MARGIN_CHARACTER_ON;
if (curenv->margin_character_flags == 0) {
delete curenv->margin_character_node;
@@ -1437,7 +1478,7 @@ void environment::output_line(node *n, hunits width)
width += w;
++next_line_number;
}
- output(nn, !fill, vertical_spacing, line_spacing, width);
+ output(nn, !fill, vertical_spacing, total_post_vertical_spacing(), width);
}
void environment::start_line()
@@ -1586,7 +1627,8 @@ void environment::hyphenate_line()
if (line == 0)
return;
hyphenation_type prev_type = line->get_hyphenation_type();
- for (node **startp = &line->next; *startp != 0; startp = &(*startp)->next) {
+ node **startp;
+ for (startp = &line->next; *startp != 0; startp = &(*startp)->next) {
hyphenation_type this_type = (*startp)->get_hyphenation_type();
if (prev_type == HYPHEN_BOUNDARY && this_type == HYPHEN_MIDDLE)
break;
@@ -1626,7 +1668,8 @@ void environment::hyphenate_line()
&& !inhibit
// this may not be right if we have extra space on this line
&& !((hyphenation_flags & HYPHEN_LAST_LINE)
- && curdiv->distance_to_next_trap() <= line_spacing*vertical_spacing)
+ && (curdiv->distance_to_next_trap()
+ <= vertical_spacing + total_post_vertical_spacing()))
&& i >= 4)
hyphenate(sl, hyphenation_flags);
while (forward != 0) {
@@ -1669,7 +1712,11 @@ void environment::possibly_break_line(int forced)
{
if (!fill || current_tab || current_field || dummy)
return;
- while (line != 0 && (forced || width_total > target_text_length)) {
+ while (line != 0
+ && (forced
+ // When a macro follows a paragraph in fill mode, the
+ // current line should not be empty.
+ || (width_total - line->width()) > target_text_length)) {
hyphenate_line();
breakpoint *bp = choose_breakpoint();
if (bp == 0)
@@ -1705,7 +1752,8 @@ void environment::possibly_break_line(int forced)
space_total = 0;
width_total = 0;
node *first_non_discardable = 0;
- for (node *tem = line; tem != 0; tem = tem->next)
+ node *tem;
+ for (tem = line; tem != 0; tem = tem->next)
if (!tem->discardable())
first_non_discardable = tem;
node *to_be_discarded;
@@ -1897,7 +1945,7 @@ void title()
n = tem;
}
curenv->output_title(n, !curenv->fill, curenv->vertical_spacing,
- curenv->line_spacing, title_length);
+ curenv->total_post_vertical_spacing(), title_length);
curenv->hyphen_line_count = 0;
tok.next();
}
@@ -2025,7 +2073,8 @@ tab_stops::~tab_stops()
tab_type tab_stops::distance_to_next_tab(hunits curpos, hunits *distance)
{
hunits lastpos = 0;
- for (tab *tem = initial_list; tem && tem->pos <= curpos; tem = tem->next)
+ tab *tem;
+ for (tem = initial_list; tem && tem->pos <= curpos; tem = tem->next)
lastpos = tem->pos;
if (tem) {
*distance = tem->pos - curpos;
@@ -2053,7 +2102,8 @@ const char *tab_stops::to_string()
static int buf_size = 0;
// figure out a maximum on the amount of space we can need
int count = 0;
- for (tab *p = initial_list; p; p = p->next)
+ tab *p;
+ for (p = initial_list; p; p = p->next)
++count;
for (p = repeated_list; p; p = p->next)
++count;
@@ -2149,7 +2199,8 @@ void tab_stops::clear()
void tab_stops::add_tab(hunits pos, tab_type type, int repeated)
{
- for (tab **p = repeated ? &repeated_list : &initial_list; *p; p = &(*p)->next)
+ tab **p;
+ for (p = repeated ? &repeated_list : &initial_list; *p; p = &(*p)->next)
;
*p = new tab(pos, type);
}
@@ -2282,7 +2333,8 @@ void environment::wrap_up_tab()
field_spaces += tab_field_spaces;
}
if (tab_contents != 0) {
- for (node *tem = tab_contents; tem->next != 0; tem = tem->next)
+ node *tem;
+ for (tem = tab_contents; tem->next != 0; tem = tem->next)
;
tem->next = line;
line = tab_contents;
@@ -2390,7 +2442,8 @@ void environment::wrap_up_field()
current_tab = TAB_NONE;
}
if (tab_contents != 0) {
- for (node *tem = tab_contents; tem->next != 0; tem = tem->next)
+ node *tem;
+ for (tem = tab_contents; tem->next != 0; tem = tem->next)
;
tem->next = line;
line = tab_contents;
@@ -2660,6 +2713,7 @@ void init_env_requests()
#endif
init_request("hys", hyphenation_space_request);
init_request("hym", hyphenation_margin_request);
+ init_request("pvs", post_vertical_spacing);
init_int_env_reg(".f", get_font);
init_int_env_reg(".b", get_bold);
init_hunits_env_reg(".i", get_indent);
@@ -2676,6 +2730,7 @@ void init_env_requests()
init_int_env_reg(".psr", get_requested_point_size);
init_int_env_reg(".u", get_fill);
init_vunits_env_reg(".v", get_vertical_spacing);
+ init_vunits_env_reg(".pvs", get_post_vertical_spacing);
init_hunits_env_reg(".w", get_prev_char_width);
init_int_env_reg(".ss", get_space_size);
init_int_env_reg(".sss", get_sentence_space_size);
@@ -2901,7 +2956,8 @@ void hyphen_trie::insert_pattern(const char *pat, int patlen, int *num)
void hyphen_trie::hyphenate(const char *word, int len, int *hyphens)
{
- for (int j = 0; j < len+1; j++)
+ int j;
+ for (j = 0; j < len+1; j++)
hyphens[j] = 0;
for (j = 0; j < len - 1; j++) {
h = hyphens + j;
@@ -2981,43 +3037,49 @@ void hyphenate(hyphen_list *h, unsigned flags)
{
if (!current_language)
return;
- while (h && h->hyphenation_code == 0)
- h = h->next;
- int len = 0;
- char hbuf[WORD_MAX+2];
- char *buf = hbuf + 1;
- for (hyphen_list *tem = h; tem && len < WORD_MAX; tem = tem->next) {
- if (tem->hyphenation_code != 0)
- buf[len++] = tem->hyphenation_code;
- else
- break;
- }
- if (len > 2) {
- buf[len] = 0;
- unsigned char *pos = (unsigned char *)current_language->exceptions.lookup(buf);
- if (pos != 0) {
- int j = 0;
- int i = 1;
- for (tem = h; tem != 0; tem = tem->next, i++)
- if (pos[j] == i) {
- tem->hyphen = 1;
- j++;
- }
+ while (h) {
+ while (h && h->hyphenation_code == 0)
+ h = h->next;
+ int len = 0;
+ char hbuf[WORD_MAX+2];
+ char *buf = hbuf + 1;
+ hyphen_list *tem;
+ for (tem = h; tem && len < WORD_MAX; tem = tem->next) {
+ if (tem->hyphenation_code != 0)
+ buf[len++] = tem->hyphenation_code;
+ else
+ break;
}
- else {
- hbuf[0] = hbuf[len+1] = '.';
- int num[WORD_MAX+3];
- current_language->patterns.hyphenate(hbuf, len+2, num);
- int i;
- num[2] = 0;
- if (flags & 8)
- num[3] = 0;
- if (flags & 4)
- --len;
- for (i = 2, tem = h; i < len && tem; tem = tem->next, i++)
- if (num[i] & 1)
- tem->hyphen = 1;
+ hyphen_list *nexth = tem;
+ if (len > 2) {
+ buf[len] = 0;
+ unsigned char *pos
+ = (unsigned char *)current_language->exceptions.lookup(buf);
+ if (pos != 0) {
+ int j = 0;
+ int i = 1;
+ for (tem = h; tem != 0; tem = tem->next, i++)
+ if (pos[j] == i) {
+ tem->hyphen = 1;
+ j++;
+ }
+ }
+ else {
+ hbuf[0] = hbuf[len+1] = '.';
+ int num[WORD_MAX+3];
+ current_language->patterns.hyphenate(hbuf, len+2, num);
+ int i;
+ num[2] = 0;
+ if (flags & 8)
+ num[3] = 0;
+ if (flags & 4)
+ --len;
+ for (i = 2, tem = h; i < len && tem; tem = tem->next, i++)
+ if (num[i] & 1)
+ tem->hyphen = 1;
+ }
}
+ h = nexth;
}
}
diff --git a/troff/env.h b/troff/env.h
index 14441e1f3..c0cc90da1 100644
--- a/troff/env.h
+++ b/troff/env.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct size_range {
int min;
@@ -124,6 +124,8 @@ class environment {
int right_justify_lines;
vunits prev_vertical_spacing;
vunits vertical_spacing;
+ vunits prev_post_vertical_spacing;
+ vunits post_vertical_spacing;
int prev_line_spacing;
int line_spacing;
hunits prev_indent;
@@ -180,8 +182,9 @@ class environment {
tab_type distance_to_next_tab(hunits *);
void start_line();
void output_line(node *, hunits);
- void output(node *nd, int retain_size, vunits vs, int ls, hunits width);
- void output_title(node *nd, int retain_size, vunits vs, int ls,
+ void output(node *nd, int retain_size, vunits vs, vunits post_vs,
+ hunits width);
+ void output_title(node *nd, int retain_size, vunits vs, vunits post_vs,
hunits width);
#ifdef WIDOW_CONTROL
void mark_last_line();
@@ -208,7 +211,9 @@ public:
int is_composite() { return composite; }
void set_composite() { composite = 1; }
vunits get_vertical_spacing(); // .v
+ vunits get_post_vertical_spacing(); // .pvs
int get_line_spacing(); // .L
+ vunits total_post_vertical_spacing();
int get_point_size() { return size.to_scaled_points(); }
font_size get_font_size() { return size; }
int get_size() { return size.to_units(); }
@@ -287,6 +292,7 @@ public:
friend void center();
friend void right_justify();
friend void vertical_spacing();
+ friend void post_vertical_spacing();
friend void line_spacing();
friend void line_length();
friend void indent();
diff --git a/troff/hvunits.h b/troff/hvunits.h
index 4a1c5fd6d..8efb5ab35 100644
--- a/troff/hvunits.h
+++ b/troff/hvunits.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class vunits {
diff --git a/troff/input.cc b/troff/input.cc
index 632a8fbd1..2f942c9ca 100644
--- a/troff/input.cc
+++ b/troff/input.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "troff.h"
#include "symbol.h"
@@ -94,6 +94,7 @@ static void disable_warning(const char *);
static int escape_char = '\\';
static symbol end_macro_name;
+static symbol blank_line_macro_name;
static int compatible_flag = 0;
int ascii_output_flag = 0;
int suppress_output_flag = 0;
@@ -120,6 +121,7 @@ static int get_line_arg(units *res, int si, charinfo **cp);
static int read_size(int *);
static symbol get_delim_name();
static void init_registers();
+static void trapping_blank_line();
struct input_iterator;
input_iterator *make_temp_iterator(const char *);
@@ -541,7 +543,8 @@ int input_stack::set_location(const char *filename, int lineno)
void input_stack::next_file(FILE *fp, const char *s)
{
- for (input_iterator **pp = &top; *pp != &nil_iterator; pp = &(*pp)->next)
+ input_iterator **pp;
+ for (pp = &top; *pp != &nil_iterator; pp = &(*pp)->next)
if ((*pp)->next_file(fp, s))
return;
if (++level > limit && limit > 0)
@@ -623,8 +626,10 @@ static int get_char_for_escape_name()
if (!illegal_input_char(c))
break;
// fall through
- case ' ':
case '\n':
+ if (c == '\n')
+ input_stack::push(make_temp_iterator("\n"));
+ case ' ':
case '\t':
case '\001':
case '\b':
@@ -1429,7 +1434,8 @@ void token::next()
symbol s = read_escape_name();
if (s.is_null())
break;
- for (const char *p = s.contents(); *p != '\0'; p++)
+ const char *p;
+ for (p = s.contents(); *p != '\0'; p++)
if (!csdigit(*p))
break;
if (*p)
@@ -1900,6 +1906,20 @@ void end_macro()
skip_line();
}
+void blank_line_macro()
+{
+ blank_line_macro_name = get_name();
+ skip_line();
+}
+
+static void trapping_blank_line()
+{
+ if (!blank_line_macro_name.is_null())
+ spring_trap(blank_line_macro_name);
+ else
+ blank_line();
+}
+
void do_request()
{
int saved_compatible_flag = compatible_flag;
@@ -2009,7 +2029,7 @@ int node::reread(int *)
int diverted_space_node::reread(int *bolp)
{
if (curenv->get_fill())
- blank_line();
+ trapping_blank_line();
else
curdiv->space(n);
*bolp = 1;
@@ -2090,7 +2110,7 @@ void process_input_stack()
case token::TOKEN_NEWLINE:
{
if (bol && !curenv->get_prev_line_interrupted())
- blank_line();
+ trapping_blank_line();
else {
curenv->newline();
bol = 1;
@@ -2134,7 +2154,7 @@ void process_input_stack()
tok.next();
} while (tok.space());
if (tok.newline())
- blank_line();
+ trapping_blank_line();
else {
push_token(tok);
curenv->do_break();
@@ -2731,7 +2751,7 @@ class macro_iterator : public string_iterator {
arg_list *args;
int argc;
public:
- macro_iterator(symbol, macro &);
+ macro_iterator(symbol, macro &, const char *how_invoked = "macro");
macro_iterator();
~macro_iterator();
int has_args() { return 1; }
@@ -2759,7 +2779,8 @@ input_iterator *macro_iterator::get_arg(int i)
void macro_iterator::add_arg(const macro &m)
{
- for (arg_list **p = &args; *p; p = &((*p)->next))
+ arg_list **p;
+ for (p = &args; *p; p = &((*p)->next))
;
*p = new arg_list(m);
++argc;
@@ -2829,7 +2850,8 @@ static void interpolate_macro(symbol nm)
macro *m = r->to_macro();
if (!m || !m->empty())
warned = warning(WARN_SPACE,
- "space required between `%1' and argument", buf);
+ "`%1' not defined (probable missing space after `%2')",
+ nm.contents(), buf);
}
}
if (!warned) {
@@ -2911,8 +2933,8 @@ int macro::empty()
return length == 0;
}
-macro_iterator::macro_iterator(symbol s, macro &m)
-: string_iterator(m, "macro", s), args(0), argc(0)
+macro_iterator::macro_iterator(symbol s, macro &m, const char *how_invoked)
+: string_iterator(m, how_invoked, s), args(0), argc(0)
{
}
@@ -2929,6 +2951,47 @@ macro_iterator::~macro_iterator()
}
}
+int trap_sprung_flag = 0;
+int postpone_traps_flag = 0;
+symbol postponed_trap;
+
+void spring_trap(symbol nm)
+{
+ assert(!nm.is_null());
+ trap_sprung_flag = 1;
+ if (postpone_traps_flag) {
+ postponed_trap = nm;
+ return;
+ }
+ static char buf[2] = { BEGIN_TRAP, 0 };
+ static char buf2[2] = { END_TRAP, '\0' };
+ input_stack::push(make_temp_iterator(buf2));
+ request_or_macro *p = lookup_request(nm);
+ macro *m = p->to_macro();
+ if (m)
+ input_stack::push(new macro_iterator(nm, *m, "trap-invoked macro"));
+ else
+ error("you can't invoke a request with a trap");
+ input_stack::push(make_temp_iterator(buf));
+}
+
+void postpone_traps()
+{
+ postpone_traps_flag = 1;
+}
+
+int unpostpone_traps()
+{
+ postpone_traps_flag = 0;
+ if (!postponed_trap.is_null()) {
+ spring_trap(postponed_trap);
+ postponed_trap = NULL_SYMBOL;
+ return 1;
+ }
+ else
+ return 0;
+}
+
void read_request()
{
macro_iterator *mi = new macro_iterator;
@@ -3147,7 +3210,8 @@ static void interpolate_arg(symbol nm)
}
}
else {
- for (const char *p = s; *p && csdigit(*p); p++)
+ const char *p;
+ for (p = s; *p && csdigit(*p); p++)
;
if (*p)
copy_mode_error("bad argument name `%1'", s);
@@ -3196,47 +3260,6 @@ void handle_initial_title()
handle_initial_request(TITLE_REQUEST);
}
-int trap_sprung_flag = 0;
-int postpone_traps_flag = 0;
-symbol postponed_trap;
-
-void spring_trap(symbol nm)
-{
- assert(!nm.is_null());
- trap_sprung_flag = 1;
- if (postpone_traps_flag) {
- postponed_trap = nm;
- return;
- }
- static char buf[2] = { BEGIN_TRAP, 0 };
- static char buf2[2] = { END_TRAP, '\0' };
- input_stack::push(make_temp_iterator(buf2));
- request_or_macro *p = lookup_request(nm);
- macro *m = p->to_macro();
- if (m)
- input_stack::push(new string_iterator(*m, "trap-invoked macro", nm));
- else
- error("you can't invoke a request with a trap");
- input_stack::push(make_temp_iterator(buf));
-}
-
-void postpone_traps()
-{
- postpone_traps_flag = 1;
-}
-
-int unpostpone_traps()
-{
- postpone_traps_flag = 0;
- if (!postponed_trap.is_null()) {
- spring_trap(postponed_trap);
- postponed_trap = NULL_SYMBOL;
- return 1;
- }
- else
- return 0;
-}
-
// this should be local to define_macro, but cfront 1.2 doesn't support that
static symbol dot_symbol(".");
@@ -3285,7 +3308,8 @@ void do_define_macro(define_mode mode)
const char *s = term.contents();
int d;
// see if it matches term
- for (int i = 0; s[i] != 0; i++) {
+ int i;
+ for (i = 0; s[i] != 0; i++) {
d = get_copy(&n);
if ((unsigned char)s[i] != d)
break;
@@ -3418,6 +3442,66 @@ void chop_macro()
skip_line();
}
+void substring_macro()
+{
+ int start;
+ symbol s = get_name(1);
+ if (!s.is_null() && get_integer(&start)) {
+ request_or_macro *p = lookup_request(s);
+ macro *m = p->to_macro();
+ if (!m)
+ error("cannot substring request");
+ else {
+ if (start <= 0)
+ start += m->length;
+ else
+ start--;
+ int end = 0;
+ if (!has_arg() || get_integer(&end)) {
+ if (end <= 0)
+ end += m->length;
+ else
+ end--;
+ if (start > end) {
+ int tem = start;
+ start = end;
+ end = tem;
+ }
+ if (start >= m->length || start == end) {
+ m->length = 0;
+ if (m->p) {
+ if (--(m->p->count) <= 0)
+ delete m->p;
+ m->p = 0;
+ }
+ }
+ else if (start == 0)
+ m->length = end;
+ else {
+ string_iterator iter(*m);
+ int i;
+ for (i = 0; i < start; i++)
+ if (iter.get(0) == EOF)
+ break;
+ macro mac;
+ for (; i < end; i++) {
+ node *nd;
+ int c = iter.get(&nd);
+ if (c == EOF)
+ break;
+ if (c == 0)
+ mac.append(nd);
+ else
+ mac.append((unsigned char)c);
+ }
+ *m = mac;
+ }
+ }
+ }
+ }
+ skip_line();
+}
+
void asciify_macro()
{
symbol s = get_name(1);
@@ -4060,8 +4144,8 @@ int do_if_request()
result = same_node_list(n1, n2);
delete_node_list(n1);
delete_node_list(n2);
- tok.next();
curenv = oldenv;
+ tok.next();
}
else {
units n;
@@ -4452,6 +4536,41 @@ void write_request()
tok.next();
}
+void write_macro_request()
+{
+ symbol stream = get_name(1);
+ if (stream.is_null()) {
+ skip_line();
+ return;
+ }
+ FILE *fp = (FILE *)stream_dictionary.lookup(stream);
+ if (!fp) {
+ error("no stream named `%1'", stream.contents());
+ skip_line();
+ return;
+ }
+ symbol s = get_name(1);
+ if (s.is_null()) {
+ skip_line();
+ return;
+ }
+ request_or_macro *p = lookup_request(s);
+ macro *m = p->to_macro();
+ if (!m)
+ error("cannot write request");
+ else {
+ string_iterator iter(*m);
+ for (;;) {
+ int c = iter.get(0);
+ if (c == EOF)
+ break;
+ fputs(asciify(c), fp);
+ }
+ fflush(fp);
+ }
+ skip_line();
+}
+
static void init_charset_table()
{
char buf[16];
@@ -4611,17 +4730,21 @@ charinfo *get_optional_char()
while (tok.space())
tok.next();
charinfo *ci = tok.get_char();
- if (!ci) {
- if (!tok.newline() && !tok.eof() && !tok.right_brace() && !tok.tab())
- error("normal or special character expected (got %1): "
- "treated as missing",
- tok.description());
- }
+ if (!ci)
+ check_missing_character();
else
tok.next();
return ci;
}
+void check_missing_character()
+{
+ if (!tok.newline() && !tok.eof() && !tok.right_brace() && !tok.tab())
+ error("normal or special character expected (got %1): "
+ "treated as missing",
+ tok.description());
+}
+
int token::add_to_node_list(node **pp)
{
hunits w;
@@ -5449,6 +5572,7 @@ void init_input_requests()
init_request("tm", terminal);
init_request("ex", exit_request);
init_request("em", end_macro);
+ init_request("blm", blank_line_macro);
init_request("tr", translate);
init_request("trnt", translate_no_transparent);
init_request("ab", abort_request);
@@ -5469,12 +5593,14 @@ void init_input_requests()
init_request("als", alias_macro);
init_request("backtrace", backtrace_request);
init_request("chop", chop_macro);
+ init_request("substring", substring_macro);
init_request("asciify", asciify_macro);
init_request("warn", warn_request);
init_request("open", open_request);
init_request("opena", opena_request);
init_request("close", close_request);
init_request("write", write_request);
+ init_request("writem", write_macro_request);
init_request("trf", transparent_file);
#ifdef WIDOW_CONTROL
init_request("fpl", flush_pending_lines);
diff --git a/troff/node.cc b/troff/node.cc
index 6fad470c6..bfbf7de70 100644
--- a/troff/node.cc
+++ b/troff/node.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "troff.h"
#include "symbol.h"
@@ -609,7 +609,8 @@ tfont::tfont(tfont_spec &spec) : tfont_spec(spec)
next = tfont_list;
tfont_list = this;
tfont_spec plain_spec = plain();
- for (tfont *p = tfont_list; p; p = p->next)
+ tfont *p;
+ for (p = tfont_list; p; p = p->next)
if (*p == plain_spec) {
plain_version = p;
break;
@@ -1312,10 +1313,44 @@ void suppress_output_file::really_transparent_char(unsigned char)
/* glyphs, ligatures, kerns, discretionary breaks */
-class glyph_node : public node {
- static glyph_node *free_list;
+class charinfo_node : public node {
protected:
charinfo *ci;
+public:
+ charinfo_node(charinfo *, node * = 0);
+ int ends_sentence();
+ int overlaps_vertically();
+ int overlaps_horizontally();
+};
+
+charinfo_node::charinfo_node(charinfo *c, node *x)
+: ci(c), node(x)
+{
+}
+
+int charinfo_node::ends_sentence()
+{
+ if (ci->ends_sentence())
+ return 1;
+ else if (ci->transparent())
+ return 2;
+ else
+ return 0;
+}
+
+int charinfo_node::overlaps_horizontally()
+{
+ return ci->overlaps_horizontally();
+}
+
+int charinfo_node::overlaps_vertically()
+{
+ return ci->overlaps_vertically();
+}
+
+class glyph_node : public charinfo_node {
+ static glyph_node *free_list;
+protected:
tfont *tf;
#ifdef STORE_WIDTH
hunits wid;
@@ -1343,9 +1378,6 @@ public:
void zero_width_tprint(troff_output_file *);
hyphen_list *get_hyphen_list(hyphen_list *ss = 0);
node *add_self(node *, hyphen_list **);
- int ends_sentence();
- int overlaps_vertically();
- int overlaps_horizontally();
void ascii_print(ascii_output_file *);
void asciify(macro *);
int character_type();
@@ -1398,6 +1430,7 @@ public:
void asciify(macro *);
int same(node *);
const char *type();
+ void vertical_extent(vunits *, vunits *);
};
class dbreak_node : public node {
@@ -1462,7 +1495,7 @@ void ligature_node::operator delete(void *p)
}
glyph_node::glyph_node(charinfo *c, tfont *t, node *x)
- : ci(c), tf(t), node(x)
+: charinfo_node(c, x), tf(t)
{
#ifdef STORE_WIDTH
wid = tf->get_width(ci);
@@ -1471,7 +1504,7 @@ glyph_node::glyph_node(charinfo *c, tfont *t, node *x)
#ifdef STORE_WIDTH
glyph_node::glyph_node(charinfo *c, tfont *t, hunits w, node *x)
- : ci(c), tf(t), wid(w), node(x)
+: charinfo_node(c, x), tf(t), wid(w)
{
}
#endif
@@ -1512,16 +1545,6 @@ node *glyph_node::add_self(node *n, hyphen_list **p)
return nn;
}
-int glyph_node::overlaps_horizontally()
-{
- return ci->overlaps_horizontally();
-}
-
-int glyph_node::overlaps_vertically()
-{
- return ci->overlaps_vertically();
-}
-
units glyph_node::size()
{
return tf->get_size().to_units();
@@ -1615,16 +1638,6 @@ hyphenation_type glyph_node::get_hyphenation_type()
return HYPHEN_MIDDLE;
}
-int glyph_node::ends_sentence()
-{
- if (ci->ends_sentence())
- return 1;
- else if (ci->transparent())
- return 2;
- else
- return 0;
-}
-
void glyph_node::ascii_print(ascii_output_file *ascii)
{
unsigned char c = ci->get_ascii_code();
@@ -1745,6 +1758,17 @@ hunits kern_pair_node::subscript_correction()
return n2->subscript_correction();
}
+void kern_pair_node::vertical_extent(vunits *min, vunits *max)
+{
+ n1->vertical_extent(min, max);
+ vunits min2, max2;
+ n2->vertical_extent(&min2, &max2);
+ if (min2 < *min)
+ *min = min2;
+ if (max2 > *max)
+ *max = max2;
+}
+
node *kern_pair_node::add_discretionary_hyphen()
{
tfont *tf = n2->get_tfont();
@@ -2380,7 +2404,8 @@ void overstrike_node::overstrike(node *n)
hunits w = n->width();
if (w > max_width)
max_width = w;
- for (node **p = &list; *p; p = &(*p)->next)
+ node **p;
+ for (p = &list; *p; p = &(*p)->next)
;
n->next = 0;
*p = n;
@@ -2974,7 +2999,8 @@ void dbreak_node::split(int where, node **prep, node **postp)
if (pre == 0)
*prep = next;
else {
- for (node *tem = pre; tem->next != 0; tem = tem->next)
+ node *tem;
+ for (tem = pre; tem->next != 0; tem = tem->next)
;
tem->next = next;
*prep = pre;
@@ -3060,8 +3086,7 @@ void special_node::tprint_end(troff_output_file *out)
/* composite_node */
-class composite_node : public node {
- charinfo *ci;
+class composite_node : public charinfo_node {
node *n;
tfont *tf;
public:
@@ -3073,8 +3098,6 @@ public:
units size();
void tprint(troff_output_file *);
hyphenation_type get_hyphenation_type();
- int overlaps_horizontally();
- int overlaps_vertically();
void ascii_print(ascii_output_file *);
void asciify(macro *);
hyphen_list *get_hyphen_list(hyphen_list *tail);
@@ -3087,7 +3110,7 @@ public:
};
composite_node::composite_node(node *p, charinfo *c, tfont *t, node *x)
-: node(x), n(p), ci(c), tf(t)
+: charinfo_node(c, x), n(p), tf(t)
{
}
@@ -3139,16 +3162,6 @@ hyphenation_type composite_node::get_hyphenation_type()
return HYPHEN_MIDDLE;
}
-int composite_node::overlaps_horizontally()
-{
- return ci->overlaps_horizontally();
-}
-
-int composite_node::overlaps_vertically()
-{
- return ci->overlaps_vertically();
-}
-
void composite_node::asciify(macro *m)
{
unsigned char c = ci->get_ascii_code();
@@ -3525,7 +3538,8 @@ void bracket_node::tprint(troff_output_file *out)
if (list == 0)
return;
int npieces = 0;
- for (node *tem = list; tem; tem = tem->next)
+ node *tem;
+ for (tem = list; tem; tem = tem->next)
++npieces;
vunits h = list->size();
vunits totalh = h*npieces;
@@ -4558,7 +4572,8 @@ void special_request()
int next_available_font_position()
{
- for (int i = 1; i < font_table_size && font_table[i] != 0; i++)
+ int i;
+ for (i = 1; i < font_table_size && font_table[i] != 0; i++)
;
return i;
}
diff --git a/troff/node.h b/troff/node.h
index 0ab9c9fd6..540ee5e2b 100644
--- a/troff/node.h
+++ b/troff/node.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct hyphen_list {
@@ -486,7 +486,7 @@ public:
font_family(symbol);
~font_family();
- make_definite(int);
+ int make_definite(int);
static void invalidate_fontno(int);
};
diff --git a/troff/number.cc b/troff/number.cc
index 3e695b527..b4e3d1dec 100644
--- a/troff/number.cc
+++ b/troff/number.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "troff.h"
diff --git a/troff/reg.cc b/troff/reg.cc
index cefeb87ed..a9eec052e 100644
--- a/troff/reg.cc
+++ b/troff/reg.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "troff.h"
#include "symbol.h"
diff --git a/troff/reg.h b/troff/reg.h
index 4ecbc9796..51d5b9a1e 100644
--- a/troff/reg.h
+++ b/troff/reg.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class reg : public object {
diff --git a/troff/request.h b/troff/request.h
index 2de9fb7c7..2334a4638 100644
--- a/troff/request.h
+++ b/troff/request.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
typedef void (*REQUEST_FUNCP)();
@@ -61,6 +61,7 @@ public:
int empty();
friend class string_iterator;
friend void chop_macro();
+ friend void substring_macro();
friend int operator==(const macro &, const macro &);
};
diff --git a/troff/symbol.cc b/troff/symbol.cc
index 933e5d9ba..ce09e393d 100644
--- a/troff/symbol.cc
+++ b/troff/symbol.cc
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "troff.h"
@@ -85,7 +85,8 @@ symbol::symbol(const char *p, int how)
table_used = 0;
}
unsigned int hc = hash_string(p);
- for (const char **pp = table + hc % table_size;
+ const char **pp;
+ for (pp = table + hc % table_size;
*pp != 0;
(pp == table ? pp = table + table_size - 1 : --pp))
if (strcmp(p, *pp) == 0) {
@@ -99,7 +100,8 @@ symbol::symbol(const char *p, int how)
if (table_used >= table_size - 1 || table_used >= table_size*FULL_MAX) {
const char **old_table = table;
unsigned int old_table_size = table_size;
- for (int i = 1; table_sizes[i] <= old_table_size; i++)
+ int i;
+ for (i = 1; table_sizes[i] <= old_table_size; i++)
if (table_sizes[i] == 0)
fatal("too many symbols");
table_size = table_sizes[i];
diff --git a/troff/symbol.h b/troff/symbol.h
index 37916742d..88e0fff39 100644
--- a/troff/symbol.h
+++ b/troff/symbol.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define DONT_STORE 1
#define MUST_ALREADY_EXIST 2
@@ -32,8 +32,8 @@ public:
symbol(const char *p, int how = 0);
symbol();
unsigned long hash() const;
- operator ==(symbol) const;
- operator !=(symbol) const;
+ int operator ==(symbol) const;
+ int operator !=(symbol) const;
const char *contents() const;
int is_null() const;
};
diff --git a/troff/token.h b/troff/token.h
index f8a319afe..5a7d44092 100644
--- a/troff/token.h
+++ b/troff/token.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
struct charinfo;
@@ -97,6 +97,7 @@ extern token tok; // the current token
extern symbol get_name(int required = 0);
extern symbol get_long_name(int required = 0);
extern charinfo *get_optional_char();
+extern void check_missing_character();
extern void skip_line();
extern void handle_initial_title();
diff --git a/troff/troff.h b/troff/troff.h
index 03bd38320..c55850166 100644
--- a/troff/troff.h
+++ b/troff/troff.h
@@ -16,7 +16,7 @@ for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
diff --git a/troff/troff.man b/troff/troff.man
index b9ff67984..46bf011f4 100644
--- a/troff/troff.man
+++ b/troff/troff.man
@@ -1,4 +1,21 @@
-.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
.\" define a string tx for the TeX logo
.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
.el .ds tx TeX
@@ -595,9 +612,9 @@ space when a line is adjusted.
Everything up to and including the next newline is ignored.
This is interpreted in copy mode.
This is like
-.B \e%
+.B \e"
except that
-.B \e%
+.B \e"
does not ignore the terminating newline.
.SS New requests
.TP
@@ -675,6 +692,13 @@ to 1.
.B .backtrace
Print a backtrace of the input stack on stderr.
.TP
+.BI .blm\ xx
+Set the blank line macro to
+.IR xx .
+If there is a blank line macro,
+it will be invoked when a blank line is encountered instead of the usual
+troff behaviour.
+.TP
.B .break
Break out of a while loop.
See also the
diff --git a/xditview/ChangeLog b/xditview/ChangeLog
index df19a85db..35a6924aa 100644
--- a/xditview/ChangeLog
+++ b/xditview/ChangeLog
@@ -1,3 +1,16 @@
+Mon Sep 11 10:40:33 1995 James Clark <jjc@jclark.com>
+
+ * device.c (INT_MIN, INT_MAX): Don't define if already defined.
+
+Mon Aug 8 11:14:11 1994 James Clark (jjc@jclark.com)
+
+ * DviChar.c (Adobe_Symbol_map): Use \(nb for notsubset.
+
+Tue Apr 19 04:41:16 1994 James Clark (jjc@jclark.com)
+
+ * Dvi.c (resources): Change default for background and foreground
+ to "XtDefaultBackground" and "XtDefaultForeground".
+
Sat Feb 12 10:38:47 1994 James Clark (jjc@jclark.com)
* DviChar.c (Adobe_Symbol_map): Rename radicalex to rn.
diff --git a/xditview/Dvi.c b/xditview/Dvi.c
index 1748509d4..fe4eee2c1 100644
--- a/xditview/Dvi.c
+++ b/xditview/Dvi.c
@@ -60,9 +60,9 @@ static XtResource resources[] = {
{XtNfontMap, XtCFontMap, XtRString, sizeof (char *),
offset(dvi.font_map_string), XtRString, default_font_map},
{XtNforeground, XtCForeground, XtRPixel, sizeof (unsigned long),
- offset(dvi.foreground), XtRString, "black"},
+ offset(dvi.foreground), XtRString, "XtDefaultForeground"},
{XtNbackground, XtCBackground, XtRPixel, sizeof (unsigned long),
- offset(dvi.background), XtRString, "white"},
+ offset(dvi.background), XtRString, "XtDefaultBackground"},
{XtNpageNumber, XtCPageNumber, XtRInt, sizeof (int),
offset(dvi.requested_page), XtRString, "1"},
{XtNlastPageNumber, XtCLastPageNumber, XtRInt, sizeof (int),
diff --git a/xditview/DviChar.c b/xditview/DviChar.c
index cd84d3530..90c636984 100644
--- a/xditview/DviChar.c
+++ b/xditview/DviChar.c
@@ -599,7 +599,7 @@ static DviCharNameMap Adobe_Symbol_map = {
{ "cu", /* 200 */},
{ "sp", /* 201 */},
{ "ip", /* 202 */},
-{ 0, /* 203 */},
+{ "nb", /* 203 */},
{ "sb", /* 204 */},
{ "ib", /* 205 */},
{ "mo", /* 206 */},
diff --git a/xditview/Makefile b/xditview/Makefile
index 6dea45fc8..1eb263d3d 100644
--- a/xditview/Makefile
+++ b/xditview/Makefile
@@ -1,5 +1,5 @@
# Makefile generated by imake - do not edit!
-# $XConsortium: imake.c,v 1.65 91/07/25 17:50:17 rws Exp $
+# $XConsortium: imake.c,v 1.72 92/09/14 11:44:22 rws Exp $
#
# The cpp used on this machine replaces all newlines and multiple tabs and
# spaces in a macro expansion with a single space. Imake tries to compensate
@@ -8,7 +8,7 @@
# -------------------------------------------------------------------------
# Makefile generated from "Imake.tmpl" and <Imakefile>
-# $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $
+# $XConsortium: Imake.tmpl,v 1.158 92/09/03 19:54:25 rws Exp $
#
# Platform-specific parameters may be set in the appropriate <vendor>.cf
# configuration files. Site-specific parameters should be set in the file
@@ -28,11 +28,16 @@
# -------------------------------------------------------------------------
# platform-specific configuration parameters - edit sun.cf to change
-# platform: $XConsortium: sun.cf,v 1.72.1.1 92/03/18 13:13:37 rws Exp $
+#
+# platform: $XConsortium: sun.cf,v 1.77 92/05/29 18:37:21 rws Exp $
+
+# operating system: SunOS 5.0
-# operating system: SunOS 4.1.1
+.INIT: Makefile
+REVCTLARCHFILE = SCCS/s.Imakefile
+REVCTLCMD = sccs get
-# $XConsortium: sunLib.rules,v 1.7 91/12/20 11:19:47 rws Exp $
+# $XConsortium: sv4Lib.rules,v 1.8 91/07/19 15:38:53 rws Exp $
# -------------------------------------------------------------------------
# site-specific configuration parameters that go after
@@ -45,41 +50,41 @@
TOP = .
CURRENT_DIR = .
- AR = ar clq
+ AR = ar cq
BOOTSTRAPCFLAGS =
CC = cc
AS = as
COMPRESS = compress
- CPP = /lib/cpp $(STD_CPP_DEFINES)
+ CPP = /usr/ccs/lib/cpp $(STD_CPP_DEFINES)
PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
- INSTALL = install
+ INSTALL = $(BINDIR)/bsdinst
LD = ld
+ LEX = lex
+ YACC = yacc
LINT = lint
- LINTLIBFLAG = -C
- LINTOPTS = -axz
+ LINTLIBFLAG = -o
+ LINTOPTS = -ax
LN = ln -s
MAKE = make
MV = mv
CP = cp
- RANLIB = ranlib
- RANLIBINSTFLAGS =
-
RM = rm -f
- TROFF = psroff
+ TROFF = psroff -t
MSMACROS = -ms
TBL = tbl
EQN = eqn
STD_INCLUDES =
- STD_CPP_DEFINES =
- STD_DEFINES =
+ STD_CPP_DEFINES = -DSVR4 -DSYSV
+ STD_DEFINES = -DSVR4 -DSYSV
EXTRA_LOAD_FLAGS =
- EXTRA_LIBRARIES =
+ EXTRA_LDOPTIONS =
+ EXTRA_LIBRARIES = -lsocket -lnsl
TAGS = ctags
- SHAREDCODEDEF = -DSHAREDCODE
- SHLIBDEF = -DSUNSHLIB
+ SHAREDCODEDEF =
+ SHLIBDEF =
PROTO_DEFINES =
@@ -91,27 +96,31 @@
INSTINCFLAGS = -m 0444
INSTMANFLAGS = -m 0444
INSTDATFLAGS = -m 0444
- INSTKMEMFLAGS = -g kmem -m 2755
+ INSTKMEMFLAGS = -m 4755
+
+ PROJECTROOT = $(OPENWINHOME)
+ DESTDIR =
TOP_INCLUDES = -I$(INCROOT)
- CDEBUGFLAGS = -O
- CCOPTIONS = -pipe
+ CDEBUGFLAGS = -O -xF
+ CCOPTIONS = -DSYSV -DSVR4 -xF -Wa,-cg92
ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
+ CCFLAGS = $(CDEBUGFLAGS) $(CCCOPTIONS) $(ALLDEFINES)
LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
- LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)
+ LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)
- LDCOMBINEFLAGS = -X -r
+ LDCOMBINEFLAGS = -r
DEPENDFLAGS =
MACROFILE = sun.cf
- RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
+ RM_CMD = $(RM) mapfile *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut *.O
IMAKE_DEFINES =
@@ -120,19 +129,22 @@
ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
- $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
+ $(IRULESRC)/$(MACROFILE) \
+ $(EXTRA_ICONFIGFILES)
# -------------------------------------------------------------------------
# X Window System Build Parameters
-# $XConsortium: Project.tmpl,v 1.138.1.1 92/11/11 09:49:19 rws Exp $
+# $XConsortium: Project.tmpl,v 1.152 92/08/10 17:47:45 eswu Exp $
# -------------------------------------------------------------------------
# X Window System make variables; this need to be coordinated with rules
PATHSEP = /
- USRLIBDIR = /local/lib
- BINDIR = /local/bin/X11
- INCROOT = /local/include
+ USRLIBDIR = $(OPENWINHOME)/lib
+ SHLIBDIR = $(OPENWINHOME)/lib
+ BINDIR = $(OPENWINHOME)/bin
+ DEMODIR = $(OPENWINHOME)/demo
+ INCROOT = $(OPENWINHOME)/include
BUILDINCROOT = $(TOP)
BUILDINCDIR = $(BUILDINCROOT)/X11
BUILDINCTOP = ..
@@ -146,9 +158,9 @@
XINITDIR = $(LIBDIR)/xinit
XDMDIR = $(LIBDIR)/xdm
TWMDIR = $(LIBDIR)/twm
- MANPATH = /local/man
+ MANPATH = $(OPENWINHOME)/man
MANSOURCEPATH = $(MANPATH)/man
- MANSUFFIX = 1
+ MANSUFFIX = n
LIBMANSUFFIX = 3
MANDIR = $(MANSOURCEPATH)$(MANSUFFIX)
LIBMANDIR = $(MANSOURCEPATH)$(LIBMANSUFFIX)
@@ -173,9 +185,10 @@
CLIENTSRC = $(TOP)/clients
DEMOSRC = $(TOP)/demos
LIBSRC = $(TOP)/lib
- FONTSRC = $(TOP)/fonts
+ FONTSRC = $(TOP)/../../../lib/libfont
INCLUDESRC = $(TOP)/X11
SERVERSRC = $(TOP)/server
+ DDXSRC = $(SERVERSRC)/ddx
UTILSRC = $(TOP)/util
SCRIPTSRC = $(UTILSRC)/scripts
EXAMPLESRC = $(TOP)/examples
@@ -191,55 +204,75 @@
AWIDGETSRC = $(LIBSRC)/Xaw
OLDXLIBSRC = $(LIBSRC)/oldX
XDMCPLIBSRC = $(LIBSRC)/Xdmcp
- BDFTOSNFSRC = $(FONTSRC)/bdftosnf
- BDFTOSNFSRC = $(FONTSRC)/clients/bdftosnf
+
BDFTOPCFSRC = $(FONTSRC)/clients/bdftopcf
+
MKFONTDIRSRC = $(FONTSRC)/clients/mkfontdir
FSLIBSRC = $(FONTSRC)/lib/fs
FONTSERVERSRC = $(FONTSRC)/server
EXTENSIONSRC = $(TOP)/extensions
- XILIBSRC = $(EXTENSIONSRC)/lib/xinput
+ XILIBSRC = $(TOP)/../../../lib/libXinput
+ XTESTLIBSRC = $(EXTENSIONSRC)/lib/xtest
PEXLIBSRC = $(EXTENSIONSRC)/lib/PEXlib
PHIGSLIBSRC = $(EXTENSIONSRC)/lib/PEX
+ DGALIBSRC = $(EXTENSIONSRC)/lib/dga
+
+# $XConsortium: sv4Lib.tmpl,v 1.8 92/06/28 17:43:23 rws Exp $
+
+ SERVERETC = $(OPENWINHOME)/server/etc
+
+ SERVERLIB = $(OPENWINHOME)/server/lib
-# $XConsortium: sunLib.tmpl,v 1.14.1.2 92/11/11 09:55:02 rws Exp $
+ SERVERMODULES = $(OPENWINHOME)/server/modules
-SHLIBLDFLAGS = -assert pure-text
-PICFLAGS = -pic
+SHLIBLDFLAGS = -G -z text -M mapfile
+PICFLAGS = -K PIC
+MAPFILE = mapfile
DEPEXTENSIONLIB =
EXTENSIONLIB = -lXext
DEPXLIB = $(DEPEXTENSIONLIB)
- XLIB = $(EXTENSIONLIB) -lX11
+ XLIBONLY = -lX11
+ XLIB = $(EXTENSIONLIB) $(XLIBONLY)
- DEPXMULIB = $(USRLIBDIR)/libXmu.sa.$(SOXMUREV)
+ DEPXMULIB =
XMULIBONLY = -lXmu
- XMULIB = -lXmu
+ XMULIB = $(XMULIBONLY) -z nodefs
DEPOLDXLIB =
OLDXLIB = -loldX
- DEPXTOOLLIB = $(USRLIBDIR)/libXt.sa.$(SOXTREV)
+ DEPXTOOLLIB =
XTOOLLIB = -lXt
- DEPXAWLIB = $(USRLIBDIR)/libXaw.sa.$(SOXAWREV)
+ DEPXAWLIB =
XAWLIB = -lXaw
DEPXILIB =
XILIB = -lXi
+ DEPXTESTLIB =
+ XTESTLIB = -lXtst
+
DEPPEXLIB =
- PEXLIB = -lPEX5
+ PEXLIB = -lPEX5
+
+ DEPDGALIB =
+ DGALIB = -ldga
- SOXLIBREV = 4.10
- SOXTREV = 4.10
+ SOXLIBREV = 5.0
+ SOXTREV = 5.0
SOXAWREV = 5.0
- SOOLDXREV = 4.10
- SOXMUREV = 4.10
- SOXEXTREV = 4.10
- SOXINPUTREV = 4.10
+ SOOLDXREV = 5.0
+ SOXMUREV = 5.0
+ SOXEXTREV = 5.0
+ SOXINPUTREV = 5.0
+ SOXTESTREV = 1.0
+ SOXTRAPREV = 1.0
SOPEXREV = 1.0
+ SODPSREV = 5
+ SODGAREV = 1
DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
XAUTHLIB = -lXau
@@ -260,6 +293,7 @@ PICFLAGS = -pic
LINTXI = $(LINTLIBDIR)/llib-lXi.ln
LINTPEX = $(LINTLIBDIR)/llib-lPEX5.ln
LINTPHIGS = $(LINTLIBDIR)/llib-lphigs.ln
+ LINTDGA = $(LINTLIBDIR)/llib-ldga.ln
DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
@@ -269,19 +303,19 @@ PICFLAGS = -pic
# -------------------------------------------------------------------------
# Imake rules for building libraries, programs, scripts, and data files
-# rules: $XConsortium: Imake.rules,v 1.123 91/09/16 20:12:16 rws Exp $
+# rules: $XConsortium: Imake.rules,v 1.129 92/05/29 17:01:19 rws Exp $
# -------------------------------------------------------------------------
# start of Imakefile
-GROFF_LIBDIR = /usr/local/lib/groff
+GROFF_LIBDIR = /opt/gnu/lib/groff
GROFF_FONTDIR = $(GROFF_LIBDIR)/font
-GROFF_FONTPATH = .:$(GROFF_FONTDIR):/usr/local/lib/font:/usr/lib/font
+GROFF_FONTPATH = .:$(GROFF_FONTDIR):/opt/gnu/lib/font:/usr/lib/font
DPIS = 75 100
PROGRAMS = gxditview xtotroff
DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
-LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+LOCAL_LIBRARIES = $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
SRCS1 = xditview.c Dvi.c draw.c font.c lex.c page.c \
parse.c XFontName.c DviChar.c device.c
OBJS1 = xditview.o Dvi.o draw.o font.o lex.o page.o \
@@ -301,7 +335,8 @@ gxditview: $(OBJS1) $(DEPLIBS1)
$(RM) $@
$(CC) -o $@ $(LDOPTIONS) $(OBJS1) $(LOCAL_LIBRARIES) $(LDLIBS) $(MATHLIB) $(EXTRA_LOAD_FLAGS)
-install:: gxditview
+install:: $(DESTDIR)$(BINDIR)/gxditview
+$(DESTDIR)$(BINDIR)/gxditview: gxditview
@if [ -d $(DESTDIR)$(BINDIR) ]; then set +x; \
else (set -x; $(MKDIRHIER) $(DESTDIR)$(BINDIR)); fi
$(INSTALL) -c $(INSTPGMFLAGS) gxditview $(DESTDIR)$(BINDIR)
@@ -311,13 +346,9 @@ install.man:: gxditview.man
else (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); fi
$(INSTALL) -c $(INSTMANFLAGS) gxditview.man $(DESTDIR)$(MANDIR)/gxditview.$(MANSUFFIX)
-saber_gxditview:: $(SRCS1)
- # load -C $(ALLDEFINES) $(SRCS1) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) $(MATHLIB)
-
-osaber_gxditview:: $(OBJS1)
- # load -C $(ALLDEFINES) $(OBJS1) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) $(MATHLIB)
-
-depend::
+depend:: $(SRCS) $(HEADERS)
+ $(DEPEND) $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
+dependlocal:: $(SRCS) $(HEADERS)
$(DEPEND) $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
lint:
@@ -375,25 +406,23 @@ FORCE:
emptyrule::
+dependlocal::
+includes:: $(HEADERS) $(OTHERFILES)
+
clean::
$(RM_CMD) "#"*
-Makefile::
+Makefile:: Imakefile
-@if [ -f Makefile ]; then set -x; \
$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
else exit 0; fi
$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
+ $(MAKE) $(MFLAGS) dependlocal
tags::
$(TAGS) -w *.[ch]
$(TAGS) -xw *.[ch] > TAGS
-saber:
- # load $(ALLDEFINES) $(SRCS)
-
-osaber:
- # load $(ALLDEFINES) $(OBJS)
-
# -------------------------------------------------------------------------
# empty rules for directories that do not have SUBDIRS - do not edit
@@ -412,166 +441,199 @@ includes::
# DO NOT DELETE
-xditview.o: /local/include/X11/Xatom.h /local/include/X11/Xlib.h
-xditview.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
-xditview.o: /usr/include/sys/sysmacros.h /local/include/X11/X.h
-xditview.o: /local/include/X11/Xfuncproto.h /local/include/X11/Xosdefs.h
-xditview.o: /usr/include/stddef.h /local/include/X11/Xos.h
-xditview.o: /usr/include/string.h /usr/include/fcntl.h
-xditview.o: /usr/include/sys/fcntlcom.h /usr/include/sys/stat.h
-xditview.o: /usr/include/unistd.h /usr/include/sys/time.h
-xditview.o: /usr/include/sys/time.h /local/include/X11/Intrinsic.h
-xditview.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
-xditview.o: /local/include/X11/Core.h /local/include/X11/Composite.h
-xditview.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
-xditview.o: /local/include/X11/RectObj.h /local/include/X11/StringDefs.h
-xditview.o: /local/include/X11/Shell.h /local/include/X11/Xaw/Paned.h
-xditview.o: /local/include/X11/Xmu/Converters.h
-xditview.o: /local/include/X11/Xaw/Viewport.h /local/include/X11/Xaw/Form.h
-xditview.o: /local/include/X11/Xaw/Reports.h /local/include/X11/Xaw/Box.h
-xditview.o: /local/include/X11/Xaw/Command.h /local/include/X11/Xaw/Label.h
-xditview.o: /local/include/X11/Xaw/Simple.h /local/include/X11/Xaw/Dialog.h
-xditview.o: /local/include/X11/Xaw/SimpleMenu.h
-xditview.o: /local/include/X11/Xaw/SmeBSB.h /local/include/X11/Xaw/Sme.h
-xditview.o: /usr/include/signal.h /usr/include/sys/signal.h
-xditview.o: /usr/include/vm/faultcode.h Dvi.h xdit.bm xdit_mask.bm
+xditview.o: /usr/openwin/include/X11/Xatom.h /usr/openwin/include/X11/Xlib.h
+xditview.o: /usr/include/sys/types.h /usr/include/sys/feature_tests.h
+xditview.o: /usr/include/sys/machtypes.h /usr/openwin/include/X11/X.h
+xditview.o: /usr/openwin/include/X11/Xfuncproto.h
+xditview.o: /usr/openwin/include/X11/Xosdefs.h /usr/include/stddef.h
+xditview.o: /usr/openwin/include/X11/Xos.h /usr/include/string.h
+xditview.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h
+xditview.o: /usr/include/unistd.h /usr/include/sys/unistd.h
+xditview.o: /usr/include/sys/time.h /usr/include/time.h
+xditview.o: /usr/openwin/include/X11/Intrinsic.h
+xditview.o: /usr/openwin/include/X11/Xutil.h
+xditview.o: /usr/openwin/include/X11/Xresource.h
+xditview.o: /usr/openwin/include/X11/Core.h
+xditview.o: /usr/openwin/include/X11/Composite.h
+xditview.o: /usr/openwin/include/X11/Constraint.h
+xditview.o: /usr/openwin/include/X11/Object.h
+xditview.o: /usr/openwin/include/X11/RectObj.h
+xditview.o: /usr/openwin/include/X11/StringDefs.h
+xditview.o: /usr/openwin/include/X11/Shell.h
+xditview.o: /usr/openwin/include/X11/Xaw/Paned.h
+xditview.o: /usr/openwin/include/X11/Xmu/Converters.h
+xditview.o: /usr/openwin/include/X11/Xaw/Viewport.h
+xditview.o: /usr/openwin/include/X11/Xaw/Form.h
+xditview.o: /usr/openwin/include/X11/Xaw/Reports.h
+xditview.o: /usr/openwin/include/X11/Xaw/Box.h
+xditview.o: /usr/openwin/include/X11/Xaw/Command.h
+xditview.o: /usr/openwin/include/X11/Xaw/Label.h
+xditview.o: /usr/openwin/include/X11/Xaw/Simple.h
+xditview.o: /usr/openwin/include/X11/Xaw/Dialog.h
+xditview.o: /usr/openwin/include/X11/Xaw/SimpleMenu.h
+xditview.o: /usr/openwin/include/X11/Xaw/SmeBSB.h
+xditview.o: /usr/openwin/include/X11/Xaw/Sme.h /usr/include/signal.h
+xditview.o: /usr/include/sys/signal.h Dvi.h xdit.bm xdit_mask.bm
xditview.o: /usr/include/stdio.h
-Dvi.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
-Dvi.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
-Dvi.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
-Dvi.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
-Dvi.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
-Dvi.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
-Dvi.o: /usr/include/string.h /local/include/X11/Core.h
-Dvi.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
-Dvi.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
-Dvi.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
-Dvi.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
-Dvi.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
-Dvi.o: /local/include/X11/Xmu/Converters.h /usr/include/stdio.h
+Dvi.o: /usr/openwin/include/X11/IntrinsicP.h
+Dvi.o: /usr/openwin/include/X11/Intrinsic.h /usr/openwin/include/X11/Xlib.h
+Dvi.o: /usr/include/sys/types.h /usr/include/sys/feature_tests.h
+Dvi.o: /usr/include/sys/machtypes.h /usr/openwin/include/X11/X.h
+Dvi.o: /usr/openwin/include/X11/Xfuncproto.h
+Dvi.o: /usr/openwin/include/X11/Xosdefs.h /usr/include/stddef.h
+Dvi.o: /usr/openwin/include/X11/Xutil.h /usr/openwin/include/X11/Xresource.h
+Dvi.o: /usr/include/string.h /usr/openwin/include/X11/Core.h
+Dvi.o: /usr/openwin/include/X11/Composite.h
+Dvi.o: /usr/openwin/include/X11/Constraint.h
+Dvi.o: /usr/openwin/include/X11/Object.h /usr/openwin/include/X11/RectObj.h
+Dvi.o: /usr/openwin/include/X11/CoreP.h /usr/openwin/include/X11/CompositeP.h
+Dvi.o: /usr/openwin/include/X11/ConstrainP.h
+Dvi.o: /usr/openwin/include/X11/ObjectP.h /usr/openwin/include/X11/RectObjP.h
+Dvi.o: /usr/openwin/include/X11/StringDefs.h
+Dvi.o: /usr/openwin/include/X11/Xmu/Converters.h /usr/include/stdio.h
Dvi.o: /usr/include/ctype.h DviP.h Dvi.h DviChar.h device.h
-Dvi.o: /local/include/X11/bitmaps/gray
-draw.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
-draw.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
-draw.o: /usr/include/sys/sysmacros.h /usr/include/string.h
-draw.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
-draw.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
-draw.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
-draw.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
-draw.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
-draw.o: /usr/include/stddef.h /local/include/X11/Xutil.h
-draw.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
-draw.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
-draw.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
-draw.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
-draw.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
-draw.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
-draw.o: /usr/include/stdio.h /usr/include/ctype.h /usr/include/math.h
-draw.o: /usr/include/floatingpoint.h /usr/include/sys/ieeefp.h DviP.h Dvi.h
-draw.o: DviChar.h device.h
-font.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
-font.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
-font.o: /usr/include/sys/sysmacros.h /usr/include/string.h
-font.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
-font.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
-font.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
-font.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
-font.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
-font.o: /usr/include/stddef.h /local/include/X11/Xutil.h
-font.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
-font.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
-font.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
-font.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
-font.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
-font.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
-font.o: /usr/include/stdio.h /usr/include/ctype.h DviP.h Dvi.h DviChar.h
-font.o: device.h XFontName.h
-lex.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
-lex.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
-lex.o: /usr/include/sys/sysmacros.h /usr/include/string.h
-lex.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
-lex.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
-lex.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
-lex.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
-lex.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
-lex.o: /usr/include/stddef.h /local/include/X11/Xutil.h
-lex.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
-lex.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
-lex.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
-lex.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
-lex.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
-lex.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
-lex.o: /usr/include/stdio.h DviP.h Dvi.h DviChar.h device.h
-page.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
-page.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
-page.o: /usr/include/sys/sysmacros.h /usr/include/string.h
-page.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
-page.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
-page.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
-page.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
-page.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
-page.o: /usr/include/stddef.h /local/include/X11/Xutil.h
-page.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
-page.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
-page.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
-page.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
-page.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
-page.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
-page.o: /usr/include/stdio.h /usr/include/ctype.h DviP.h Dvi.h DviChar.h
-page.o: device.h
-parse.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
-parse.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
-parse.o: /usr/include/sys/sysmacros.h /usr/include/string.h
-parse.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
-parse.o: /usr/include/sys/stat.h /usr/include/unistd.h
-parse.o: /usr/include/sys/time.h /usr/include/sys/time.h
-parse.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
-parse.o: /local/include/X11/Xlib.h /local/include/X11/X.h
-parse.o: /local/include/X11/Xfuncproto.h /usr/include/stddef.h
-parse.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
-parse.o: /local/include/X11/Core.h /local/include/X11/Composite.h
-parse.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
-parse.o: /local/include/X11/RectObj.h /local/include/X11/CoreP.h
-parse.o: /local/include/X11/CompositeP.h /local/include/X11/ConstrainP.h
-parse.o: /local/include/X11/ObjectP.h /local/include/X11/RectObjP.h
-parse.o: /local/include/X11/StringDefs.h /usr/include/stdio.h
+Dvi.o: /usr/openwin/include/X11/bitmaps/gray
+draw.o: /usr/openwin/include/X11/Xos.h /usr/openwin/include/X11/Xosdefs.h
+draw.o: /usr/include/sys/types.h /usr/include/sys/feature_tests.h
+draw.o: /usr/include/sys/machtypes.h /usr/include/string.h
+draw.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h /usr/include/unistd.h
+draw.o: /usr/include/sys/unistd.h /usr/include/sys/time.h /usr/include/time.h
+draw.o: /usr/openwin/include/X11/IntrinsicP.h
+draw.o: /usr/openwin/include/X11/Intrinsic.h /usr/openwin/include/X11/Xlib.h
+draw.o: /usr/openwin/include/X11/X.h /usr/openwin/include/X11/Xfuncproto.h
+draw.o: /usr/include/stddef.h /usr/openwin/include/X11/Xutil.h
+draw.o: /usr/openwin/include/X11/Xresource.h /usr/openwin/include/X11/Core.h
+draw.o: /usr/openwin/include/X11/Composite.h
+draw.o: /usr/openwin/include/X11/Constraint.h
+draw.o: /usr/openwin/include/X11/Object.h /usr/openwin/include/X11/RectObj.h
+draw.o: /usr/openwin/include/X11/CoreP.h
+draw.o: /usr/openwin/include/X11/CompositeP.h
+draw.o: /usr/openwin/include/X11/ConstrainP.h
+draw.o: /usr/openwin/include/X11/ObjectP.h
+draw.o: /usr/openwin/include/X11/RectObjP.h
+draw.o: /usr/openwin/include/X11/StringDefs.h /usr/include/stdio.h
+draw.o: /usr/include/ctype.h /usr/include/math.h DviP.h Dvi.h DviChar.h
+draw.o: device.h
+font.o: /usr/openwin/include/X11/Xos.h /usr/openwin/include/X11/Xosdefs.h
+font.o: /usr/include/sys/types.h /usr/include/sys/feature_tests.h
+font.o: /usr/include/sys/machtypes.h /usr/include/string.h
+font.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h /usr/include/unistd.h
+font.o: /usr/include/sys/unistd.h /usr/include/sys/time.h /usr/include/time.h
+font.o: /usr/openwin/include/X11/IntrinsicP.h
+font.o: /usr/openwin/include/X11/Intrinsic.h /usr/openwin/include/X11/Xlib.h
+font.o: /usr/openwin/include/X11/X.h /usr/openwin/include/X11/Xfuncproto.h
+font.o: /usr/include/stddef.h /usr/openwin/include/X11/Xutil.h
+font.o: /usr/openwin/include/X11/Xresource.h /usr/openwin/include/X11/Core.h
+font.o: /usr/openwin/include/X11/Composite.h
+font.o: /usr/openwin/include/X11/Constraint.h
+font.o: /usr/openwin/include/X11/Object.h /usr/openwin/include/X11/RectObj.h
+font.o: /usr/openwin/include/X11/CoreP.h
+font.o: /usr/openwin/include/X11/CompositeP.h
+font.o: /usr/openwin/include/X11/ConstrainP.h
+font.o: /usr/openwin/include/X11/ObjectP.h
+font.o: /usr/openwin/include/X11/RectObjP.h
+font.o: /usr/openwin/include/X11/StringDefs.h /usr/include/stdio.h
+font.o: /usr/include/ctype.h DviP.h Dvi.h DviChar.h device.h XFontName.h
+lex.o: /usr/openwin/include/X11/Xos.h /usr/openwin/include/X11/Xosdefs.h
+lex.o: /usr/include/sys/types.h /usr/include/sys/feature_tests.h
+lex.o: /usr/include/sys/machtypes.h /usr/include/string.h
+lex.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h /usr/include/unistd.h
+lex.o: /usr/include/sys/unistd.h /usr/include/sys/time.h /usr/include/time.h
+lex.o: /usr/openwin/include/X11/IntrinsicP.h
+lex.o: /usr/openwin/include/X11/Intrinsic.h /usr/openwin/include/X11/Xlib.h
+lex.o: /usr/openwin/include/X11/X.h /usr/openwin/include/X11/Xfuncproto.h
+lex.o: /usr/include/stddef.h /usr/openwin/include/X11/Xutil.h
+lex.o: /usr/openwin/include/X11/Xresource.h /usr/openwin/include/X11/Core.h
+lex.o: /usr/openwin/include/X11/Composite.h
+lex.o: /usr/openwin/include/X11/Constraint.h
+lex.o: /usr/openwin/include/X11/Object.h /usr/openwin/include/X11/RectObj.h
+lex.o: /usr/openwin/include/X11/CoreP.h /usr/openwin/include/X11/CompositeP.h
+lex.o: /usr/openwin/include/X11/ConstrainP.h
+lex.o: /usr/openwin/include/X11/ObjectP.h /usr/openwin/include/X11/RectObjP.h
+lex.o: /usr/openwin/include/X11/StringDefs.h /usr/include/stdio.h DviP.h
+lex.o: Dvi.h DviChar.h device.h
+page.o: /usr/openwin/include/X11/Xos.h /usr/openwin/include/X11/Xosdefs.h
+page.o: /usr/include/sys/types.h /usr/include/sys/feature_tests.h
+page.o: /usr/include/sys/machtypes.h /usr/include/string.h
+page.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h /usr/include/unistd.h
+page.o: /usr/include/sys/unistd.h /usr/include/sys/time.h /usr/include/time.h
+page.o: /usr/openwin/include/X11/IntrinsicP.h
+page.o: /usr/openwin/include/X11/Intrinsic.h /usr/openwin/include/X11/Xlib.h
+page.o: /usr/openwin/include/X11/X.h /usr/openwin/include/X11/Xfuncproto.h
+page.o: /usr/include/stddef.h /usr/openwin/include/X11/Xutil.h
+page.o: /usr/openwin/include/X11/Xresource.h /usr/openwin/include/X11/Core.h
+page.o: /usr/openwin/include/X11/Composite.h
+page.o: /usr/openwin/include/X11/Constraint.h
+page.o: /usr/openwin/include/X11/Object.h /usr/openwin/include/X11/RectObj.h
+page.o: /usr/openwin/include/X11/CoreP.h
+page.o: /usr/openwin/include/X11/CompositeP.h
+page.o: /usr/openwin/include/X11/ConstrainP.h
+page.o: /usr/openwin/include/X11/ObjectP.h
+page.o: /usr/openwin/include/X11/RectObjP.h
+page.o: /usr/openwin/include/X11/StringDefs.h /usr/include/stdio.h
+page.o: /usr/include/ctype.h DviP.h Dvi.h DviChar.h device.h
+parse.o: /usr/openwin/include/X11/Xos.h /usr/openwin/include/X11/Xosdefs.h
+parse.o: /usr/include/sys/types.h /usr/include/sys/feature_tests.h
+parse.o: /usr/include/sys/machtypes.h /usr/include/string.h
+parse.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h /usr/include/unistd.h
+parse.o: /usr/include/sys/unistd.h /usr/include/sys/time.h
+parse.o: /usr/include/time.h /usr/openwin/include/X11/IntrinsicP.h
+parse.o: /usr/openwin/include/X11/Intrinsic.h /usr/openwin/include/X11/Xlib.h
+parse.o: /usr/openwin/include/X11/X.h /usr/openwin/include/X11/Xfuncproto.h
+parse.o: /usr/include/stddef.h /usr/openwin/include/X11/Xutil.h
+parse.o: /usr/openwin/include/X11/Xresource.h /usr/openwin/include/X11/Core.h
+parse.o: /usr/openwin/include/X11/Composite.h
+parse.o: /usr/openwin/include/X11/Constraint.h
+parse.o: /usr/openwin/include/X11/Object.h /usr/openwin/include/X11/RectObj.h
+parse.o: /usr/openwin/include/X11/CoreP.h
+parse.o: /usr/openwin/include/X11/CompositeP.h
+parse.o: /usr/openwin/include/X11/ConstrainP.h
+parse.o: /usr/openwin/include/X11/ObjectP.h
+parse.o: /usr/openwin/include/X11/RectObjP.h
+parse.o: /usr/openwin/include/X11/StringDefs.h /usr/include/stdio.h
parse.o: /usr/include/ctype.h DviP.h Dvi.h DviChar.h device.h
-XFontName.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
-XFontName.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
-XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
-XFontName.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
-XFontName.o: /local/include/X11/Xos.h /usr/include/string.h
-XFontName.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
-XFontName.o: /usr/include/sys/stat.h /usr/include/unistd.h
-XFontName.o: /usr/include/sys/time.h /usr/include/sys/time.h XFontName.h
+XFontName.o: /usr/openwin/include/X11/Xlib.h /usr/include/sys/types.h
+XFontName.o: /usr/include/sys/feature_tests.h /usr/include/sys/machtypes.h
+XFontName.o: /usr/openwin/include/X11/X.h
+XFontName.o: /usr/openwin/include/X11/Xfuncproto.h
+XFontName.o: /usr/openwin/include/X11/Xosdefs.h /usr/include/stddef.h
+XFontName.o: /usr/openwin/include/X11/Xos.h /usr/include/string.h
+XFontName.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h
+XFontName.o: /usr/include/unistd.h /usr/include/sys/unistd.h
+XFontName.o: /usr/include/sys/time.h /usr/include/time.h XFontName.h
XFontName.o: /usr/include/ctype.h
DviChar.o: DviChar.h
-device.o: /usr/include/stdio.h /usr/include/ctype.h /local/include/X11/Xos.h
-device.o: /local/include/X11/Xosdefs.h /usr/include/sys/types.h
-device.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
-device.o: /usr/include/string.h /usr/include/fcntl.h
-device.o: /usr/include/sys/fcntlcom.h /usr/include/sys/stat.h
-device.o: /usr/include/unistd.h /usr/include/sys/time.h
-device.o: /usr/include/sys/time.h /local/include/X11/Intrinsic.h
-device.o: /local/include/X11/Xlib.h /local/include/X11/X.h
-device.o: /local/include/X11/Xfuncproto.h /usr/include/stddef.h
-device.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
-device.o: /local/include/X11/Core.h /local/include/X11/Composite.h
-device.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
-device.o: /local/include/X11/RectObj.h device.h
-xtotroff.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
-xtotroff.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
-xtotroff.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
-xtotroff.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
+device.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
+device.o: /usr/include/ctype.h /usr/openwin/include/X11/Xos.h
+device.o: /usr/openwin/include/X11/Xosdefs.h /usr/include/sys/types.h
+device.o: /usr/include/sys/machtypes.h /usr/include/string.h
+device.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h /usr/include/unistd.h
+device.o: /usr/include/sys/unistd.h /usr/include/sys/time.h
+device.o: /usr/include/time.h /usr/openwin/include/X11/Intrinsic.h
+device.o: /usr/openwin/include/X11/Xlib.h /usr/openwin/include/X11/X.h
+device.o: /usr/openwin/include/X11/Xfuncproto.h /usr/include/stddef.h
+device.o: /usr/openwin/include/X11/Xutil.h
+device.o: /usr/openwin/include/X11/Xresource.h
+device.o: /usr/openwin/include/X11/Core.h
+device.o: /usr/openwin/include/X11/Composite.h
+device.o: /usr/openwin/include/X11/Constraint.h
+device.o: /usr/openwin/include/X11/Object.h
+device.o: /usr/openwin/include/X11/RectObj.h device.h
+xtotroff.o: /usr/openwin/include/X11/Xlib.h /usr/include/sys/types.h
+xtotroff.o: /usr/include/sys/feature_tests.h /usr/include/sys/machtypes.h
+xtotroff.o: /usr/openwin/include/X11/X.h
+xtotroff.o: /usr/openwin/include/X11/Xfuncproto.h
+xtotroff.o: /usr/openwin/include/X11/Xosdefs.h /usr/include/stddef.h
xtotroff.o: /usr/include/stdio.h /usr/include/ctype.h XFontName.h DviChar.h
xtotroff.o: /usr/include/stdlib.h
-XFontName.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
-XFontName.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
-XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
-XFontName.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
-XFontName.o: /local/include/X11/Xos.h /usr/include/string.h
-XFontName.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
-XFontName.o: /usr/include/sys/stat.h /usr/include/unistd.h
-XFontName.o: /usr/include/sys/time.h /usr/include/sys/time.h XFontName.h
+XFontName.o: /usr/openwin/include/X11/Xlib.h /usr/include/sys/types.h
+XFontName.o: /usr/include/sys/feature_tests.h /usr/include/sys/machtypes.h
+XFontName.o: /usr/openwin/include/X11/X.h
+XFontName.o: /usr/openwin/include/X11/Xfuncproto.h
+XFontName.o: /usr/openwin/include/X11/Xosdefs.h /usr/include/stddef.h
+XFontName.o: /usr/openwin/include/X11/Xos.h /usr/include/string.h
+XFontName.o: /usr/include/fcntl.h /usr/include/sys/fcntl.h
+XFontName.o: /usr/include/unistd.h /usr/include/sys/unistd.h
+XFontName.o: /usr/include/sys/time.h /usr/include/time.h XFontName.h
XFontName.o: /usr/include/ctype.h
DviChar.o: DviChar.h
diff --git a/xditview/device.c b/xditview/device.c
index 26c0f2a39..399f0645b 100644
--- a/xditview/device.c
+++ b/xditview/device.c
@@ -26,9 +26,11 @@ searching for device and font description files. */
#define WS " \t\r\n"
+#ifndef INT_MIN
/* Minimum and maximum values a `signed int' can hold. */
#define INT_MIN (-INT_MAX-1)
#define INT_MAX 2147483647
+#endif
#define CHAR_TABLE_SIZE 307